From jack@suse.cz Wed Oct 1 04:45: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 0347F7F81 for ; Wed, 1 Oct 2014 04:45:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id C638A30406B for ; Wed, 1 Oct 2014 02:45:46 -0700 (PDT) X-ASG-Debug-ID: 1412156739-04bdf003a06a5d00001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id hWYuAog7beMPKxIc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 02:45:41 -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 5A4C7AC39 for ; Wed, 1 Oct 2014 09:45:39 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 20D0D81FBC; Wed, 1 Oct 2014 11:45:39 +0200 (CEST) Date: Wed, 1 Oct 2014 11:45:39 +0200 From: Jan Kara To: xfs@oss.sgi.com Subject: xfstests test xfs/030 failure Message-ID: <20141001094539.GD17405@quack.suse.cz> X-ASG-Orig-Subj: xfstests test xfs/030 failure 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: 1412156741 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.10089 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, I'm getting failure for text xfs/030 like: xfs/030 9s ... - output mismatch (see /var/lib/xfstests/results//xfs/030.out.bad) --- tests/xfs/030.out 2014-09-30 19:36:53.000000000 +0200 +++ /var/lib/xfstests/results//xfs/030.out.bad 2014-09-30 22:11:38.000000000 +0200 @@ -39,8 +39,8 @@ - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... -Note - stripe unit (0) and width (0) fields have been reset. -Please set with mount -o sunit=,swidth= +Note - stripe unit (0) and width (0) were copied from a backup superblock. +Please reset with mount -o sunit=,swidth= if necessary ... (Run 'diff -u tests/xfs/030.out /var/lib/xfstests/results//xfs/030.out.bad' to see the entire diff) Now obviously this is because I run xfsprogs 3.2.1 but xfstests have message from older version of xfsprogs. What is a standard solution for this? If I just replace the messages, then people with older xfsprogs will see failures. So some kind of a filter? Honza -- Jan Kara SUSE Labs, CR From bfoster@redhat.com Wed Oct 1 06:58: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=none 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 4BE6B7F78 for ; Wed, 1 Oct 2014 06:58:26 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 19911304064 for ; Wed, 1 Oct 2014 04:58:25 -0700 (PDT) X-ASG-Debug-ID: 1412164704-04bdf003a16aa070001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id jMP4DAtvaCuBSLYY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 04:58: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-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 s91BwK4a006562 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 1 Oct 2014 07:58: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 s91BwJFQ009073; Wed, 1 Oct 2014 07:58:19 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7F8C2120064; Wed, 1 Oct 2014 07:58:18 -0400 (EDT) Date: Wed, 1 Oct 2014 07:58:18 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com, iusty@k1024.org Subject: Re: [PATCH 1/2] xfs: project id inheritance is a directory only flag Message-ID: <20141001115817.GA53779@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs: project id inheritance is a directory only flag References: <1412041565-18873-1-git-send-email-david@fromorbit.com> <1412041565-18873-2-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412041565-18873-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.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1412164704 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 Tue, Sep 30, 2014 at 11:46:04AM +1000, Dave Chinner wrote: > From: Dave Chinner > > xfs_set_diflags() allows it to be set on non-directory inodes, and > this flags errors in xfs_repair. Further, inode allocation allows > the same directory-only flag to be inherited to non-directories. > Make sure directory inode flags don't appear on other types of > inodes. > > This fixes several xfstests scratch fileystem corruption reports > (e.g. xfs/050) now that xfstests checks scratch filesystems after > test completion. > > Signed-off-by: Dave Chinner > --- Reviewed-by: Brian Foster > fs/xfs/xfs_inode.c | 4 ++-- > fs/xfs/xfs_ioctl.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index f07b443..8ed049d 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -769,6 +769,8 @@ xfs_ialloc( > di_flags |= XFS_DIFLAG_EXTSZINHERIT; > ip->i_d.di_extsize = pip->i_d.di_extsize; > } > + if (pip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) > + di_flags |= XFS_DIFLAG_PROJINHERIT; > } else if (S_ISREG(mode)) { > if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) > di_flags |= XFS_DIFLAG_REALTIME; > @@ -789,8 +791,6 @@ xfs_ialloc( > if ((pip->i_d.di_flags & XFS_DIFLAG_NOSYMLINKS) && > xfs_inherit_nosymlinks) > di_flags |= XFS_DIFLAG_NOSYMLINKS; > - if (pip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) > - di_flags |= XFS_DIFLAG_PROJINHERIT; > if ((pip->i_d.di_flags & XFS_DIFLAG_NODEFRAG) && > xfs_inherit_nodefrag) > di_flags |= XFS_DIFLAG_NODEFRAG; > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 7a6b406..87c3bd1 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -968,8 +968,6 @@ xfs_set_diflags( > di_flags |= XFS_DIFLAG_NOATIME; > if (xflags & XFS_XFLAG_NODUMP) > di_flags |= XFS_DIFLAG_NODUMP; > - if (xflags & XFS_XFLAG_PROJINHERIT) > - di_flags |= XFS_DIFLAG_PROJINHERIT; > if (xflags & XFS_XFLAG_NODEFRAG) > di_flags |= XFS_DIFLAG_NODEFRAG; > if (xflags & XFS_XFLAG_FILESTREAM) > @@ -981,6 +979,8 @@ xfs_set_diflags( > di_flags |= XFS_DIFLAG_NOSYMLINKS; > if (xflags & XFS_XFLAG_EXTSZINHERIT) > di_flags |= XFS_DIFLAG_EXTSZINHERIT; > + if (xflags & XFS_XFLAG_PROJINHERIT) > + di_flags |= XFS_DIFLAG_PROJINHERIT; > } else if (S_ISREG(ip->i_d.di_mode)) { > if (xflags & XFS_XFLAG_REALTIME) > di_flags |= XFS_DIFLAG_REALTIME; > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Wed Oct 1 07:00: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 DA0777F78 for ; Wed, 1 Oct 2014 07:00:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id C7E1A8F8049 for ; Wed, 1 Oct 2014 05:00:05 -0700 (PDT) X-ASG-Debug-ID: 1412164804-04cb6c50e46265a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id c6mSlojTCUJtQiYE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 05:00: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-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 s91C00hV017971 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 1 Oct 2014 08:00: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 s91C00FI001732; Wed, 1 Oct 2014 08:00:00 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 74B9E120064; Wed, 1 Oct 2014 07:59:59 -0400 (EDT) Date: Wed, 1 Oct 2014 07:59:59 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com, iusty@k1024.org Subject: Re: [PATCH 2/2] xfs: only set extent size hint when asked Message-ID: <20141001115959.GB53779@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfs: only set extent size hint when asked References: <1412041565-18873-1-git-send-email-david@fromorbit.com> <1412041565-18873-3-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412041565-18873-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.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1412164804 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 Tue, Sep 30, 2014 at 11:46:05AM +1000, Dave Chinner wrote: > From: Dave Chinner > > Currently the extent size hint is set unconditionally in > xfs_ioctl_setattr(), even when the FSX_EXTSIZE flag is not set. This > means we can set values from uninitialised stack variables. Hence > only set the extent size hint from userspace when both the mask > falg is set and the inode has the XFS_DIFLAG_EXTSIZE flag set to > indicate that we should have an extent size hint set on the inode. > I'm not sure what you mean here by FSX_EXTSIZE not being checked. It looks like FSX_EXTSIZE is checked before and after the patch. Regardless, the fix looks Ok to me... Reviewed-by: Brian Foster > Signed-off-by: Dave Chinner > --- > fs/xfs/xfs_ioctl.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 87c3bd1..24c926b 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -1231,13 +1231,25 @@ xfs_ioctl_setattr( > > } > > - if (mask & FSX_EXTSIZE) > - ip->i_d.di_extsize = fa->fsx_extsize >> mp->m_sb.sb_blocklog; > if (mask & FSX_XFLAGS) { > xfs_set_diflags(ip, fa->fsx_xflags); > xfs_diflags_to_linux(ip); > } > > + /* > + * Only set the extent size hint if we've already determined that the > + * extent size hint should be set on the inode. If no extent size flags > + * are set on the inode then unconditionally clear the extent size hint. > + */ > + if (mask & FSX_EXTSIZE) { > + int extsize = 0; > + > + if (ip->i_d.di_flags & > + (XFS_DIFLAG_EXTSIZE | XFS_DIFLAG_EXTSZINHERIT)) > + extsize = fa->fsx_extsize >> mp->m_sb.sb_blocklog; > + ip->i_d.di_extsize = extsize; > + } > + > xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); > xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); > > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Wed Oct 1 08: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 0ABBF7F6A for ; Wed, 1 Oct 2014 08: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 DF09D8F8068 for ; Wed, 1 Oct 2014 06:34:13 -0700 (PDT) X-ASG-Debug-ID: 1412170449-04cb6c50e762ab10001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id P8wBYCjudfPvAC2G for ; Wed, 01 Oct 2014 06:34:09 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id DA13765B6397; Wed, 1 Oct 2014 08:34:08 -0500 (CDT) Message-ID: <542C02D1.3090809@sandeen.net> Date: Wed, 01 Oct 2014 08:34:09 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Jan Kara , xfs@oss.sgi.com Subject: Re: xfstests test xfs/030 failure References: <20141001094539.GD17405@quack.suse.cz> X-ASG-Orig-Subj: Re: xfstests test xfs/030 failure In-Reply-To: <20141001094539.GD17405@quack.suse.cz> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412170449 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.10093 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/1/14 4:45 AM, Jan Kara wrote: > Hello, > > I'm getting failure for text xfs/030 like: > xfs/030 9s ... - output mismatch (see /var/lib/xfstests/results//xfs/030.out.bad) > --- tests/xfs/030.out 2014-09-30 19:36:53.000000000 +0200 > +++ /var/lib/xfstests/results//xfs/030.out.bad 2014-09-30 22:11:38.000000000 +0200 > @@ -39,8 +39,8 @@ > - traversal finished ... > - moving disconnected inodes to lost+found ... > Phase 7 - verify and correct link counts... > -Note - stripe unit (0) and width (0) fields have been reset. > -Please set with mount -o sunit=,swidth= > +Note - stripe unit (0) and width (0) were copied from a backup superblock. > +Please reset with mount -o sunit=,swidth= if necessary > ... > (Run 'diff -u tests/xfs/030.out /var/lib/xfstests/results//xfs/030.out.bad' to see the entire diff) > > Now obviously this is because I run xfsprogs 3.2.1 but xfstests have > message from older version of xfsprogs. What is a standard solution for > this? If I just replace the messages, then people with older xfsprogs will > see failures. So some kind of a filter? > > Honza > Hi Jan, this should fix it, are you up to date? (Sorry to all involved for changing this output w/o fixing the tests myself at the same time...) commit f007c2b465e331317e91b5125e8da04826e57c82 Author: Dave Chinner Date: Mon Sep 8 20:48:59 2014 +1000 filter: update xfs_repair filter for new sunit/swidth warning New xfs_repair programs have a different sunit/swidth warning that is triggering failures such as: -Note - stripe unit (0) and width (0) fields have been reset. -Please set with mount -o sunit=,swidth= +Note - stripe unit (0) and width (0) were copied from a backup superblock. +Please reset with mount -o sunit=,swidth= if necessary Update the filter to catch both cases and output the old message so tests pass again. Signed-off-by: Dave Chinner Reviewed-by: Eric Sandeen Signed-off-by: Dave Chinner -Eric From jack@suse.cz Wed Oct 1 09:45: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BBF287F73 for ; Wed, 1 Oct 2014 09:45:38 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 578CFAC009 for ; Wed, 1 Oct 2014 07:45:38 -0700 (PDT) X-ASG-Debug-ID: 1412174735-04bdf003a06b2450001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id hAuxhvRz3bFsozM4 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 07:45:36 -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 8DB4DADA2; Wed, 1 Oct 2014 14:45:34 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0B2AB81FBC; Wed, 1 Oct 2014 16:45:34 +0200 (CEST) Date: Wed, 1 Oct 2014 16:45:34 +0200 From: Jan Kara To: Eric Sandeen Cc: Jan Kara , xfs@oss.sgi.com Subject: Re: xfstests test xfs/030 failure Message-ID: <20141001144534.GF17405@quack.suse.cz> X-ASG-Orig-Subj: Re: xfstests test xfs/030 failure References: <20141001094539.GD17405@quack.suse.cz> <542C02D1.3090809@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542C02D1.3090809@sandeen.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412174736 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.10094 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed 01-10-14 08:34:09, Eric Sandeen wrote: > On 10/1/14 4:45 AM, Jan Kara wrote: > > Hello, > > > > I'm getting failure for text xfs/030 like: > > xfs/030 9s ... - output mismatch (see /var/lib/xfstests/results//xfs/030.out.bad) > > --- tests/xfs/030.out 2014-09-30 19:36:53.000000000 +0200 > > +++ /var/lib/xfstests/results//xfs/030.out.bad 2014-09-30 22:11:38.000000000 +0200 > > @@ -39,8 +39,8 @@ > > - traversal finished ... > > - moving disconnected inodes to lost+found ... > > Phase 7 - verify and correct link counts... > > -Note - stripe unit (0) and width (0) fields have been reset. > > -Please set with mount -o sunit=,swidth= > > +Note - stripe unit (0) and width (0) were copied from a backup superblock. > > +Please reset with mount -o sunit=,swidth= if necessary > > ... > > (Run 'diff -u tests/xfs/030.out /var/lib/xfstests/results//xfs/030.out.bad' to see the entire diff) > > > > Now obviously this is because I run xfsprogs 3.2.1 but xfstests have > > message from older version of xfsprogs. What is a standard solution for > > this? If I just replace the messages, then people with older xfsprogs will > > see failures. So some kind of a filter? > > > > Honza > > > > > Hi Jan, this should fix it, are you up to date? > (Sorry to all involved for changing this output w/o fixing the tests myself > at the same time...) Ah, sorry. Mea culpa. My xfstests repository was checked out on some local branch so I didn't have the recent commit... Thanks for pointing me in the right direction. Honza > > commit f007c2b465e331317e91b5125e8da04826e57c82 > Author: Dave Chinner > Date: Mon Sep 8 20:48:59 2014 +1000 > > filter: update xfs_repair filter for new sunit/swidth warning > > New xfs_repair programs have a different sunit/swidth warning that > is triggering failures such as: > > -Note - stripe unit (0) and width (0) fields have been reset. > -Please set with mount -o sunit=,swidth= > +Note - stripe unit (0) and width (0) were copied from a backup superblock. > +Please reset with mount -o sunit=,swidth= if necessary > > Update the filter to catch both cases and output the old message so > tests pass again. > > Signed-off-by: Dave Chinner > Reviewed-by: Eric Sandeen > Signed-off-by: Dave Chinner > > > -Eric -- Jan Kara SUSE Labs, CR From sandeen@redhat.com Wed Oct 1 10:18: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 B8F4F7F5A for ; Wed, 1 Oct 2014 10:18:20 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A79ED8F8037 for ; Wed, 1 Oct 2014 08:18:17 -0700 (PDT) X-ASG-Debug-ID: 1412176695-04cb6c50e762fc60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YIQqBfjaAV0yQwHE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 08:18: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-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 s91FIEGs031045 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 1 Oct 2014 11:18:15 -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 s91FIDJa026451 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Wed, 1 Oct 2014 11:18:14 -0400 Message-ID: <542C1B36.5080804@redhat.com> Date: Wed, 01 Oct 2014 10:18:14 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH 0/2 RESEND] xfs: small bugfixes Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH 0/2 RESEND] xfs: small bugfixes 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: 1412176696 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 These are 2 patches which were already sent for kernel & userspace; they made it to userspace, but I don't see them in for-next, so resending. Thanks, -Eric From sandeen@sandeen.net Wed Oct 1 10:22: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 CA31B7F5A for ; Wed, 1 Oct 2014 10:22:23 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 61E52AC009 for ; Wed, 1 Oct 2014 08:22:19 -0700 (PDT) X-ASG-Debug-ID: 1412176938-04cbb073016bd320001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id TzQaPn3Ryn66R7Fu for ; Wed, 01 Oct 2014 08:22: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 389B265B63AA for ; Wed, 1 Oct 2014 10:22:18 -0500 (CDT) Message-ID: <542C1C2B.5020803@sandeen.net> Date: Wed, 01 Oct 2014 10:22:19 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH 1/2] xfs: don't send null bp to xfs_trans_brelse() References: <542C1B36.5080804@redhat.com> X-ASG-Orig-Subj: [PATCH 1/2] xfs: don't send null bp to xfs_trans_brelse() In-Reply-To: <542C1B36.5080804@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412176938 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.10095 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- In this case, if bp is NULL, error is set, and we send a NULL bp to xfs_trans_brelse, which will try to dereference it. Test whether we actually have a buffer before we try to free it. Coverity spotted this. Signed-off-by: Eric Sandeen --- diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c index 2c42ae2..fd82753 100644 --- a/fs/xfs/libxfs/xfs_da_btree.c +++ b/fs/xfs/libxfs/xfs_da_btree.c @@ -2563,7 +2563,8 @@ xfs_da_get_buf( mapp, nmap, 0); error = bp ? bp->b_error : -EIO; if (error) { - xfs_trans_brelse(trans, bp); + if (bp) + xfs_trans_brelse(trans, bp); goto out_free; } From jack@suse.cz Wed Oct 1 10:23: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 CC9E57F5A for ; Wed, 1 Oct 2014 10:23:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 89850304070 for ; Wed, 1 Oct 2014 08:23:18 -0700 (PDT) X-ASG-Debug-ID: 1412176995-04bdf003a06b4020001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 13HYKZJtAregUHvu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 08:23:16 -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 0F439AD35 for ; Wed, 1 Oct 2014 15:23:15 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id B6AC581FBC; Wed, 1 Oct 2014 17:23:14 +0200 (CEST) Date: Wed, 1 Oct 2014 17:23:14 +0200 From: Jan Kara To: xfs@oss.sgi.com Subject: Test xfs/287 failure Message-ID: <20141001152314.GH17405@quack.suse.cz> X-ASG-Orig-Subj: Test xfs/287 failure MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="/04w6evG8XlLl3ft" 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: 1412176996 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.10095 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, so after installing latest xfsdump (just pulled git repo at oss.sgi.com), I'm getting failure in test xfs/287. The failure is: xfs/287 2s ... 2s _check_xfs_filesystem: filesystem on /dev/vdb2 is inconsistent (r) (see /var/lib/xfstests/results//xfs/287.full) And the 287.full has: ... Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 directory flags set on non-directory inode 133 directory flags set on non-directory inode 134 directory flags set on non-directory inode 133 would fix bad flags. directory flags set on non-directory inode 134 would fix bad flags. ... Complete file is attached. I'm using also the latest xfsprogs from git and kernel 3.17.0-rc5 (plus couple of my patches but these should have no influence). Honza -- Jan Kara SUSE Labs, CR --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="287.full" meta-data=/dev/vdb2 isize=256 agcount=4, agsize=12800 blks = sectsz=512 attr=2, projid32bit=0 = crc=0 finobt=0 data = bsize=4096 blocks=51200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 MOUNT_OPTIONS = -o pquota Setting up project 1234 (path /mnt-scratch/pquota/16bit)... Processed 1 (/etc/projects and cmdline) paths for project 1234 with recursion depth infinite (-1). xfs_quota: cannot set project on /mnt-scratch/pquota/32bit: Invalid argument Setting up project 2123456789 (path /mnt-scratch/pquota/32bit)... Processed 1 (/etc/projects and cmdline) paths for project 2123456789 with recursion depth infinite (-1). writing all SBs versionnum [0xb4e4+0x8a] = V4,NLINK,QUOTA,ALIGN,DIRV2,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT MOUNT_OPTIONS = -o pquota -o pquota Setting up project 2123456789 (path /mnt-scratch/pquota/32bit)... Processed 1 (/etc/projects and cmdline) paths for project 2123456789 with recursion depth infinite (-1). /sbin/xfsdump: using file dump (drive_simple) strategy /sbin/xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control /sbin/xfsdump: saving project quota information for: /mnt-scratch /sbin/xfsdump: level 0 dump of kvm0:/mnt-scratch /sbin/xfsdump: dump date: Wed Oct 1 13:48:40 2014 /sbin/xfsdump: session id: 318309cb-194a-4668-befa-a3a76c343a23 /sbin/xfsdump: session label: "label" /sbin/xfsdump: ino map phase 1: constructing initial dump list /sbin/xfsdump: ino map phase 2: skipping (no pruning necessary) /sbin/xfsdump: ino map phase 3: skipping (only one dump stream) /sbin/xfsdump: ino map construction complete /sbin/xfsdump: estimated dump size: 22080 bytes /sbin/xfsdump: /var/lib/xfsdump/inventory created /sbin/xfsdump: creating dump session media file 0 (media 0, file 0) /sbin/xfsdump: dumping ino map /sbin/xfsdump: dumping directories /sbin/xfsdump: dumping non-directory files /sbin/xfsdump: ending media file /sbin/xfsdump: media file size 22280 bytes /sbin/xfsdump: dump size (non-dir files) : 0 bytes /sbin/xfsdump: dump complete: 1 seconds elapsed /sbin/xfsdump: Dump Summary: /sbin/xfsdump: stream 0 /tmp/28900.dump OK (success) /sbin/xfsdump: Dump Status: SUCCESS /sbin/xfsrestore: using file dump (drive_simple) strategy /sbin/xfsrestore: version 3.1.4 (dump format 3.0) - type ^C for status and control /sbin/xfsrestore: searching media for dump /sbin/xfsrestore: examining media file 0 /sbin/xfsrestore: dump description: /sbin/xfsrestore: hostname: kvm0 /sbin/xfsrestore: mount point: /mnt-scratch /sbin/xfsrestore: volume: /dev/vdb2 /sbin/xfsrestore: session time: Wed Oct 1 13:48:40 2014 /sbin/xfsrestore: level: 0 /sbin/xfsrestore: session label: "label" /sbin/xfsrestore: media label: "media" /sbin/xfsrestore: file system id: 22b25481-c3cc-40a8-aeae-ecfbf0698d57 /sbin/xfsrestore: session id: 318309cb-194a-4668-befa-a3a76c343a23 /sbin/xfsrestore: media id: 1cdf4371-50d9-4e9a-9484-5ae31c38f40b /sbin/xfsrestore: using online session inventory /sbin/xfsrestore: searching media for directory dump /sbin/xfsrestore: reading directories /sbin/xfsrestore: 2 directories and 4 entries processed /sbin/xfsrestore: directory post-processing /sbin/xfsrestore: restoring non-directory files /sbin/xfsrestore: project quota information written to '/mnt-scratch/restore/xfsdump_quotas_proj' /sbin/xfsrestore: use 'xfs_quota' to restore quotas /sbin/xfsrestore: restore complete: 0 seconds elapsed /sbin/xfsrestore: Restore Summary: /sbin/xfsrestore: stream 0 /tmp/28900.dump OK (success) /sbin/xfsrestore: Restore Status: SUCCESS Setting up project 2123456789 (path /mnt-scratch/restore/pquota/32bitv2)... Processed 1 (/etc/projects and cmdline) paths for project 2123456789 with recursion depth infinite (-1). _check_xfs_filesystem: filesystem on /dev/vdb2 is inconsistent *** xfs_repair -n output *** 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 directory flags set on non-directory inode 133 directory flags set on non-directory inode 134 directory flags set on non-directory inode 133 would fix bad flags. directory flags set on non-directory inode 134 would fix bad flags. - agno = 1 - agno = 2 - agno = 3 directory flags set on non-directory inode 786561 directory flags set on non-directory inode 786562 directory flags set on non-directory inode 786563 directory flags set on non-directory inode 786561 would fix bad flags. directory flags set on non-directory inode 786562 would fix bad flags. directory flags set on non-directory inode 786563 would fix bad flags. - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 directory flags set on non-directory inode 133 would fix bad flags. directory flags set on non-directory inode 134 would fix bad flags. - agno = 1 - agno = 2 - agno = 3 directory flags set on non-directory inode 786561 would fix bad flags. directory flags set on non-directory inode 786562 would fix bad flags. directory flags set on non-directory inode 786563 would fix bad flags. 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. *** end xfs_repair output *** mount output *** /dev/vda on / type ext3 (rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) debugfs on /sys/kernel/debug type debugfs (rw) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,mode=1777) devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000) /dev/vdb1 on /mnt type xfs (rw) *** end mount output --/04w6evG8XlLl3ft-- From sandeen@sandeen.net Wed Oct 1 10:24: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 D1ED77F5A for ; Wed, 1 Oct 2014 10:24:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id AEDDC8F8035 for ; Wed, 1 Oct 2014 08:24:41 -0700 (PDT) X-ASG-Debug-ID: 1412177079-04bdf003a26b4150001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 640jnRzCQf565FZc for ; Wed, 01 Oct 2014 08:24:39 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7EFCD65B63AA for ; Wed, 1 Oct 2014 10:24:39 -0500 (CDT) Message-ID: <542C1CB8.103@sandeen.net> Date: Wed, 01 Oct 2014 10:24:40 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk References: <542C1B36.5080804@redhat.com> X-ASG-Orig-Subj: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk In-Reply-To: <542C1B36.5080804@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412177079 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.10095 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 --- diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c index 8426e5e..5f902fa 100644 --- a/fs/xfs/libxfs/xfs_sb.c +++ b/fs/xfs/libxfs/xfs_sb.c @@ -445,6 +445,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); @@ -550,6 +552,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 BATV+eb187debd5e609e76ef0+4056+infradead.org+hch@bombadil.srs.infradead.org Wed Oct 1 10:55: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 A6E3E7F87 for ; Wed, 1 Oct 2014 10:55:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 85D0930406A for ; Wed, 1 Oct 2014 08:55:30 -0700 (PDT) X-ASG-Debug-ID: 1412178929-04cb6c50e4631a90001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id BZ5TAEgim7w193Z3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 08:55:29 -0700 (PDT) X-Barracuda-Envelope-From: BATV+eb187debd5e609e76ef0+4056+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 1XZMFV-0001Wc-4j; Wed, 01 Oct 2014 15:55:29 +0000 Date: Wed, 1 Oct 2014 08:55:29 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH 1/2] xfs: don't send null bp to xfs_trans_brelse() Message-ID: <20141001155529.GA787@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs: don't send null bp to xfs_trans_brelse() References: <542C1B36.5080804@redhat.com> <542C1C2B.5020803@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542C1C2B.5020803@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: bombadil.infradead.org[198.137.202.9] X-Barracuda-Start-Time: 1412178929 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.10096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 10:22:19AM -0500, Eric Sandeen wrote: > In this case, if bp is NULL, error is set, and we send a > NULL bp to xfs_trans_brelse, which will try to dereference it. > > Test whether we actually have a buffer before we try to > free it. > > Coverity spotted this. > > Signed-off-by: Eric Sandeen Looks good, Reviewed-by: Christoph Hellwig From BATV+eb187debd5e609e76ef0+4056+infradead.org+hch@bombadil.srs.infradead.org Wed Oct 1 10:56: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 352C07F87 for ; Wed, 1 Oct 2014 10:56:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2267A8F8037 for ; Wed, 1 Oct 2014 08:56:07 -0700 (PDT) X-ASG-Debug-ID: 1412178964-04cbb073036bee90001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id 7XSpSmnlL5f3HO66 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 08:56:05 -0700 (PDT) X-Barracuda-Envelope-From: BATV+eb187debd5e609e76ef0+4056+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 1XZMG4-0001jU-Me; Wed, 01 Oct 2014 15:56:04 +0000 Date: Wed, 1 Oct 2014 08:56:04 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk Message-ID: <20141001155604.GB787@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk References: <542C1B36.5080804@redhat.com> <542C1CB8.103@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542C1CB8.103@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: 1412178965 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.10096 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS Looks good (although it will conflict with Dave's sb_to_disk rework..) Reviewed-by: Christoph Hellwig From sandeen@redhat.com Wed Oct 1 11:16: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 2A87E7F73 for ; Wed, 1 Oct 2014 11:16:42 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0B0188F8035 for ; Wed, 1 Oct 2014 09:16:38 -0700 (PDT) X-ASG-Debug-ID: 1412180197-04cb6c50e7632e80001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CebfAFHMUFr39hHr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 09:16:38 -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-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 s91GGbgP014071 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 1 Oct 2014 12:16:37 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s91GGaAY024427 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Wed, 1 Oct 2014 12:16:37 -0400 Message-ID: <542C28E5.506@redhat.com> Date: Wed, 01 Oct 2014 11:16:37 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfs: check for null dquot in xfs_quota_calc_throttle() Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfs: check for null dquot in xfs_quota_calc_throttle() Content-Transfer-Encoding: 7bit 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: 1412180198 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 Coverity spotted this. Granted, we *just* checked xfs_inod_dquot() in the caller (by calling xfs_quota_need_throttle), but to be honest I don't know if this can race, and this is the only place we don't check the return value - and the check seems cheap and future-proof. Signed-off-by: Eric Sandeen --- Sorry for the handwavy commit log, if it's obvious that it can race, feel free to fix the description. ;) diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index e9c47b6..afcf3c9 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -404,8 +404,8 @@ xfs_quota_calc_throttle( int shift = 0; struct xfs_dquot *dq = xfs_inode_dquot(ip, type); - /* over hi wmark, squash the prealloc completely */ - if (dq->q_res_bcount >= dq->q_prealloc_hi_wmark) { + /* no dq, or over hi wmark, squash the prealloc completely */ + if (!dq || dq->q_res_bcount >= dq->q_prealloc_hi_wmark) { *qblocks = 0; *qfreesp = 0; return; From xfs@tlinx.org Wed Oct 1 12:42: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 77F997F73 for ; Wed, 1 Oct 2014 12:42:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 58751304062 for ; Wed, 1 Oct 2014 10:42:35 -0700 (PDT) X-ASG-Debug-ID: 1412185351-04cbb073036c5130001-NocioJ Received: from Ishtar.hs.tlinx.org (ishtar.tlinx.org [173.164.175.65]) by cuda.sgi.com with ESMTP id rmX9GFggvV97bvpn (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 10:42:33 -0700 (PDT) X-Barracuda-Envelope-From: xfs@tlinx.org X-Barracuda-Apparent-Source-IP: 173.164.175.65 Received: from [192.168.4.12] (Athenae [192.168.4.12]) by Ishtar.hs.tlinx.org (8.14.7/8.14.4/SuSE Linux 0.8) with ESMTP id s91HfY6x080212 for ; Wed, 1 Oct 2014 10:41:36 -0700 Message-ID: <542C3CCE.7020508@tlinx.org> Date: Wed, 01 Oct 2014 10:41:34 -0700 From: L Walsh User-Agent: Thunderbird MIME-Version: 1.0 To: xfs-oss Subject: configureQ: is -enable-static & -disable-shared supported? Content-Type: text/plain; charset=UTF-8; format=flowed X-ASG-Orig-Subj: configureQ: is -enable-static & -disable-shared supported? Content-Transfer-Encoding: 7bit X-Barracuda-Connect: ishtar.tlinx.org[173.164.175.65] X-Barracuda-Start-Time: 1412185352 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.10099 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Might be something in my (SuSE) gcc/ld setup, but trying to build static and disabled shared doesn't give an error -- it just builds shared. Is this expected (i.e. static not really supported?) tnx input to config: unset LDFLAGS unset CFLAGS export PKG_USER=root export PKG_GROUP=root configure -disable-shared --disable-gettext --enable-readline --enable-termcap --enable-static From jack@suse.cz Wed Oct 1 14:31: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 342E87F51 for ; Wed, 1 Oct 2014 14:31:46 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id EA9328F8035 for ; Wed, 1 Oct 2014 12:31:45 -0700 (PDT) X-ASG-Debug-ID: 1412191902-04bdf003a26c3480001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id aZetaQ6xKr183Saj (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:43 -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 F01F8AB1D; Wed, 1 Oct 2014 19:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 1E8AE81FBF; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports Date: Wed, 1 Oct 2014 21:31:23 +0200 X-ASG-Orig-Subj: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports Message-Id: <1412191894-9113-2-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191903 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Currently all filesystems supporting VFS quota support user and group quotas. With introduction of project quotas this is going to change so make sure filesystem isn't called for quota type it doesn't support by introduction of a bitmask determining which quota types each filesystem supports. Signed-off-by: Jan Kara --- fs/quota/quota.c | 13 +++++++++++-- fs/super.c | 7 +++++++ include/linux/quota.h | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/fs/quota/quota.c b/fs/quota/quota.c index 75621649dbd7..0f28eac6e638 100644 --- a/fs/quota/quota.c +++ b/fs/quota/quota.c @@ -47,8 +47,11 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd, static void quota_sync_one(struct super_block *sb, void *arg) { - if (sb->s_qcop && sb->s_qcop->quota_sync) - sb->s_qcop->quota_sync(sb, *(int *)arg); + int type = *(int *)arg; + + if (sb->s_qcop && sb->s_qcop->quota_sync && + (sb->s_dquot.allowed_types & (1 << type))) + sb->s_qcop->quota_sync(sb, type); } static int quota_sync_all(int type) @@ -297,8 +300,14 @@ static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, if (type >= (XQM_COMMAND(cmd) ? XQM_MAXQUOTAS : MAXQUOTAS)) return -EINVAL; + /* + * Quota not supported on this fs? Check this before allowed_types + * since they needn't be set if quota is not supported. + */ if (!sb->s_qcop) return -ENOSYS; + if (!(sb->s_dquot.allowed_types & (1 << type))) + return -EINVAL; ret = check_quotactl_permission(sb, type, cmd, id); if (ret < 0) diff --git a/fs/super.c b/fs/super.c index b9a214d2fe98..dc577370f5fd 100644 --- a/fs/super.c +++ b/fs/super.c @@ -215,6 +215,13 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); + /* + * For now MAXQUOTAS check in do_quotactl() will limit quota type + * appropriately. When each fs sets allowed_types, we can remove the + * line below + */ + s->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | + (1 << PRJQUOTA); mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; diff --git a/include/linux/quota.h b/include/linux/quota.h index 80d345a3524c..91f328971acc 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -388,6 +388,7 @@ static inline void quota_send_warning(struct kqid qid, dev_t dev, struct quota_info { unsigned int flags; /* Flags for diskquotas on this device */ + unsigned int allowed_types; /* Bitmask of quota types this fs supports */ struct mutex dqio_mutex; /* lock device while I/O in progress */ struct mutex dqonoff_mutex; /* Serialize quotaon & quotaoff */ struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C792E7F51 for ; Wed, 1 Oct 2014 14:31:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id A7CF330406B for ; Wed, 1 Oct 2014 12:31:46 -0700 (PDT) X-ASG-Debug-ID: 1412191904-04cb6c50e663ecd0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id XF3HmECzbl1rt5Zk (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:45 -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 90A5BACB5; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 3B82281FCB; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 10/12] reiserfs: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:32 +0200 X-ASG-Orig-Subj: [PATCH 10/12] reiserfs: Convert to private i_dquot field Message-Id: <1412191894-9113-11-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191905 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: reiserfs-devel@vger.kernel.org CC: Jeff Mahoney Signed-off-by: Jan Kara --- fs/reiserfs/reiserfs.h | 4 ++++ fs/reiserfs/super.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h index 735c2c2b4536..197e59cbeb1c 100644 --- a/fs/reiserfs/reiserfs.h +++ b/fs/reiserfs/reiserfs.h @@ -97,6 +97,10 @@ struct reiserfs_inode_info { #ifdef CONFIG_REISERFS_FS_XATTR struct rw_semaphore i_xattr_sem; #endif +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index d46e88a33b02..c39227ded8f2 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -594,6 +594,10 @@ static struct inode *reiserfs_alloc_inode(struct super_block *sb) return NULL; atomic_set(&ei->openers, 0); mutex_init(&ei->tailpack); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -771,6 +775,13 @@ static const struct super_operations reiserfs_sops = { #endif }; +static const int reiserfs_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct reiserfs_inode_info, i_dquot) - + (int)offsetof(struct reiserfs_inode_info, vfs_inode), +#endif +}; + #ifdef CONFIG_QUOTA #define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group") @@ -1633,7 +1644,9 @@ static int read_super_block(struct super_block *s, int offset) #ifdef CONFIG_QUOTA s->s_qcop = &reiserfs_qctl_operations; s->dq_op = &reiserfs_quota_operations; + sb_dqopt(s)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); #endif + sb_init_inode_fields(s, reiserfs_inode_fields); /* * new format is limited by the 32 bit wide i_blocks field, want to -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 EAF717F5A for ; Wed, 1 Oct 2014 14:31:46 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D9D3D30406B for ; Wed, 1 Oct 2014 12:31:46 -0700 (PDT) X-ASG-Debug-ID: 1412191904-04cbb073046cb8c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id sfWpnbVzCzzKcTaF (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:45 -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 93EEAAD35; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 2BE0381FC7; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 04/12] fs: Generic infrastructure for optional inode fields Date: Wed, 1 Oct 2014 21:31:26 +0200 X-ASG-Orig-Subj: [PATCH 04/12] fs: Generic infrastructure for optional inode fields Message-Id: <1412191894-9113-5-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191905 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.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_SC0_MISMATCH_TO, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header There are parts of struct inode which are used only by a few filesystems (e.g. i_dquot pointers, i_mapping->private_list, ...). Thus all the other filesystems are just wasting memory with these fields. On the other hand it isn't simple to just move these fields to filesystem specific part of inode because there is generic code which needs to peek into the fields and it is cumbersome to provide helpers into which fs has to stuff the field it is storing elsewhere. We create a simple infrastructure which allows for optional inode fields stored in the fs-specific part of the inode. Accessing these fields has a slightly worse performance as we have to lookup their offset in the offset table stored in the superblock but in most cases this is acceptable. Notably, this offset-table mechanism is faster than having fs-specific hook functions which would need to be called to provide pointers to desired fields. Signed-off-by: Jan Kara --- include/linux/fs.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index 94187721ad41..977f8fb6ca88 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -615,6 +615,11 @@ struct inode { void *i_private; /* fs or device private pointer */ }; +/* Optional inode fields (stored in filesystems inode if the fs needs them) */ +enum { + IF_FIELD_NR /* Number of optional inode fields */ +}; + static inline int inode_unhashed(struct inode *inode) { return hlist_unhashed(&inode->i_hash); @@ -1236,6 +1241,11 @@ struct super_block { void *s_fs_info; /* Filesystem private info */ unsigned int s_max_links; fmode_t s_mode; + /* + * We could have here just a pointer to the offsets array but this + * way we save one dereference when looking up field offsets + */ + int s_inode_fields[IF_FIELD_NR]; /* Granularity of c/m/atime in ns. Cannot be worse than a second */ @@ -1286,6 +1296,20 @@ struct super_block { struct rcu_head rcu; }; +static inline void *inode_field(const struct inode *inode, int field) +{ + int offset = inode->i_sb->s_inode_fields[field]; + + if (!offset) /* Field not present? */ + return NULL; + return ((char *)inode) + offset; +} + +static inline void sb_init_inode_fields(struct super_block *sb, int *fields) +{ + memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); +} + extern struct timespec current_fs_time(struct super_block *sb); /* -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 B89EF7F76 for ; Wed, 1 Oct 2014 14:31:47 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9EBF38F8054 for ; Wed, 1 Oct 2014 12:31:47 -0700 (PDT) X-ASG-Debug-ID: 1412191902-04cb6c50e763eca0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 4q0IMDds8NXLSD7I (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:43 -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 F0086AB0C; Wed, 1 Oct 2014 19:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0B5AB81FC0; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 0/12 RFC] Moving i_dquot out of struct inode Date: Wed, 1 Oct 2014 21:31:22 +0200 X-ASG-Orig-Subj: [PATCH 0/12 RFC] Moving i_dquot out of struct inode Message-Id: <1412191894-9113-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: 1412191903 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hello, this patch set moves i_dquot array from struct inode into filesystem private part of the inode. Thus filesystems which don't need it save 2 pointers in their inodes (would be 3 after we add project quota support into generic quota). I have patches to move inode->i_data.private_list into filesystem private part of the inode which is going to save another 2 pointers using the same mechanism. However I didn't want to mix those in. The patch series also contains a change to quotactl so that each filesystem can set quota types it supports. This is in the end unrelated change (originally it was necessary for i_dquot moving but in the end I changed things so that it's not anymore). I can move that into a separate series but I was somewhat reluctant to do that since that would mean another 6 one-line patches to the same files we are changing here... Comments are welcome. Honza From jack@suse.cz Wed Oct 1 14:31: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 723A17F76 for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id F01FCAC010 for ; Wed, 1 Oct 2014 12:31:47 -0700 (PDT) X-ASG-Debug-ID: 1412191902-04cb6c50e663eca0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id Xe4yJjhrNuAdQW4s (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:43 -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 F2187AC39; Wed, 1 Oct 2014 19:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 16BD581FC2; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 02/12] gfs2: Set allowed quota types Date: Wed, 1 Oct 2014 21:31:24 +0200 X-ASG-Orig-Subj: [PATCH 02/12] gfs2: Set allowed quota types Message-Id: <1412191894-9113-3-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191903 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user and group quotas. Tell vfs about it. CC: Steven Whitehouse CC: cluster-devel@redhat.com Signed-off-by: Jan Kara --- fs/gfs2/ops_fstype.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index d3eae244076e..3032e6d069b5 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -1083,6 +1083,7 @@ static int fill_super(struct super_block *sb, struct gfs2_args *args, int silent sb->s_xattr = gfs2_xattr_handlers; sb->s_qcop = &gfs2_quotactl_ops; sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); sb->s_time_gran = 1; sb->s_maxbytes = MAX_LFS_FILESIZE; -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 8081F7F81 for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6A2A130406B for ; Wed, 1 Oct 2014 12:31:48 -0700 (PDT) X-ASG-Debug-ID: 1412191906-04cbb073046cb8d0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id ZMkwtjn5QvuJfqGX (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:47 -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 9E400AD55; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 3D99181FCA; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 09/12] ocfs2: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:31 +0200 X-ASG-Orig-Subj: [PATCH 09/12] ocfs2: Convert to private i_dquot field Message-Id: <1412191894-9113-10-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191906 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Mark Fasheh CC: Joel Becker CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara --- fs/ocfs2/inode.h | 4 ++++ fs/ocfs2/super.c | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index a6c991c0fc98..aed65d3aff57 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h @@ -80,6 +80,10 @@ struct ocfs2_inode_info */ tid_t i_sync_tid; tid_t i_datasync_tid; + +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index ddb662b32447..190dc8620ae0 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -157,6 +157,13 @@ static const struct super_operations ocfs2_sops = { .quota_write = ocfs2_quota_write, }; +static const int ocfs2_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ocfs2_inode_info, i_dquot) - + offsetof(struct ocfs2_inode_info, vfs_inode), +#endif +}; + enum { Opt_barrier, Opt_err_panic, @@ -563,6 +570,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) oi->i_sync_tid = 0; oi->i_datasync_tid = 0; +#ifdef CONFIG_QUOTA + memset(&oi->i_dquot, 0, sizeof(oi->i_dquot)); +#endif jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); return &oi->vfs_inode; @@ -2069,7 +2079,9 @@ static int ocfs2_initialize_super(struct super_block *sb, sb->s_export_op = &ocfs2_export_ops; sb->s_qcop = &ocfs2_quotactl_ops; sb->dq_op = &ocfs2_quota_operations; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); sb->s_xattr = ocfs2_xattr_handlers; + sb_init_inode_fields(sb, ocfs2_inode_fields); sb->s_time_gran = 1; sb->s_flags |= MS_NOATIME; /* this is needed to support O_LARGEFILE */ -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 7DB627F7C for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 07B3EAC011 for ; Wed, 1 Oct 2014 12:31:47 -0700 (PDT) X-ASG-Debug-ID: 1412191902-04cb6c50e463ec90001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id HoNNuLY4lUfUevBj (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:43 -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 F03C5ABA6; Wed, 1 Oct 2014 19:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 1138F80BA9; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 03/12] xfs: Set allowed quota types Date: Wed, 1 Oct 2014 21:31:25 +0200 X-ASG-Orig-Subj: [PATCH 03/12] xfs: Set allowed quota types Message-Id: <1412191894-9113-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191903 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user, group, and project quotas. Tell VFS about it. CC: xfs@oss.sgi.com CC: Dave Chinner Signed-off-by: Jan Kara --- fs/xfs/xfs_super.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index b194652033cd..b32e998e8cbc 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( sb->s_export_op = &xfs_export_operations; #ifdef CONFIG_XFS_QUOTA sb->s_qcop = &xfs_quotactl_operations; + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | + (1 << PRJQUOTA); #endif sb->s_op = &xfs_super_operations; -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 896007F83 for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 579E030406A for ; Wed, 1 Oct 2014 12:31:45 -0700 (PDT) X-ASG-Debug-ID: 1412191902-04bdf0039f6c3470001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id l3rMMSeKXBcZUAgN (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:43 -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 EFFB8AAEF; Wed, 1 Oct 2014 19:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 2529181FBC; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 06/12] ext2: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:28 +0200 X-ASG-Orig-Subj: [PATCH 06/12] ext2: Convert to private i_dquot field Message-Id: <1412191894-9113-7-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191903 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext2/ext2.h | 3 +++ fs/ext2/super.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index d9a17d0b124d..e4279ead4a05 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -689,6 +689,9 @@ struct ext2_inode_info { struct mutex truncate_mutex; struct inode vfs_inode; struct list_head i_orphan; /* unlinked but open inodes */ +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ext2/super.c b/fs/ext2/super.c index b88edc05c230..f43b2f28b9bc 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -166,6 +166,10 @@ static struct inode *ext2_alloc_inode(struct super_block *sb) return NULL; ei->i_block_alloc_info = NULL; ei->vfs_inode.i_version = 1; +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -323,6 +327,13 @@ static const struct super_operations ext2_sops = { #endif }; +static const int ext2_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ext2_inode_info, i_dquot) - + offsetof(struct ext2_inode_info, vfs_inode), +#endif +}; + static struct inode *ext2_nfs_get_inode(struct super_block *sb, u64 ino, u32 generation) { @@ -1090,7 +1101,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); #endif + sb_init_inode_fields(sb, ext2_inode_fields); root = ext2_iget(sb, EXT2_ROOT_INO); if (IS_ERR(root)) { -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DEB517F88 for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 84F0BAC015 for ; Wed, 1 Oct 2014 12:31:48 -0700 (PDT) X-ASG-Debug-ID: 1412191906-04bdf003a26c3490001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 7pIdOnDgPGYmB2GN (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:47 -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 9F029AD5E; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 410F581FC9; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 08/12] ext4: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:30 +0200 X-ASG-Orig-Subj: [PATCH 08/12] ext4: Convert to private i_dquot field Message-Id: <1412191894-9113-9-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191907 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org CC: "Theodore Ts'o" Signed-off-by: Jan Kara --- fs/ext4/ext4.h | 4 ++++ fs/ext4/super.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index b0c225cdb52c..571a9f409e94 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -940,6 +940,10 @@ struct ext4_inode_info { tid_t i_sync_tid; tid_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + /* Precomputed uuid+inum+igen checksum for seeding inode checksums */ __u32 i_csum_seed; }; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 0b28b36e7915..a4cccf9fba60 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -895,6 +895,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb) spin_lock_init(&(ei->i_block_reservation_lock)); #ifdef CONFIG_QUOTA ei->i_reserved_quota = 0; + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); #endif ei->jinode = NULL; INIT_LIST_HEAD(&ei->i_rsv_conversion_list); @@ -1143,6 +1144,13 @@ static const struct super_operations ext4_nojournal_sops = { .bdev_try_to_free_page = bdev_try_to_free_page, }; +static const int ext4_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ext4_inode_info, i_dquot) - + offsetof(struct ext4_inode_info, vfs_inode), +#endif +}; + static const struct export_operations ext4_export_ops = { .fh_to_dentry = ext4_fh_to_dentry, .fh_to_parent = ext4_fh_to_parent, @@ -3916,7 +3924,9 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &ext4_qctl_sysfile_operations; else sb->s_qcop = &ext4_qctl_operations; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); #endif + sb_init_inode_fields(sb, ext4_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 9ACEB7F84 for ; Wed, 1 Oct 2014 14:31:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 863958F804C for ; Wed, 1 Oct 2014 12:31:48 -0700 (PDT) X-ASG-Debug-ID: 1412191906-04cb6c50e663ecf0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id PDnB68gePPjXfkld (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:47 -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 AE04EAD6F; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 42A1281FC8; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 12/12] vfs: Remove i_dquot field from inode Date: Wed, 1 Oct 2014 21:31:34 +0200 X-ASG-Orig-Subj: [PATCH 12/12] vfs: Remove i_dquot field from inode Message-Id: <1412191894-9113-13-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191906 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header All filesystems using VFS quotas are now converted to use their private i_dquot fields. Remove the i_dquot field from generic inode structure. Signed-off-by: Jan Kara --- fs/inode.c | 3 --- fs/super.c | 10 ---------- include/linux/fs.h | 3 --- 3 files changed, 16 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index 26753ba7b6d6..2ed95f7caa4f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -143,9 +143,6 @@ int inode_init_always(struct super_block *sb, struct inode *inode) inode->i_blocks = 0; inode->i_bytes = 0; inode->i_generation = 0; -#ifdef CONFIG_QUOTA - memset(&inode->i_dquot, 0, sizeof(inode->i_dquot)); -#endif inode->i_pipe = NULL; inode->i_bdev = NULL; inode->i_cdev = NULL; diff --git a/fs/super.c b/fs/super.c index 3e70f2e22ea3..b9a214d2fe98 100644 --- a/fs/super.c +++ b/fs/super.c @@ -215,22 +215,12 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); - /* - * For now MAXQUOTAS check in do_quotactl() will limit quota type - * appropriately. When each fs sets allowed_types, we can remove the - * line below - */ - s->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | - (1 << PRJQUOTA); mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; s->s_op = &default_op; s->s_time_gran = 1000000000; s->cleancache_poolid = -1; -#ifdef CONFIG_QUOTA - s->s_inode_fields[IF_DQUOTS] = offsetof(struct inode, i_dquot); -#endif s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index d49434866da5..fb669113c37c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -595,9 +595,6 @@ struct inode { const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ struct file_lock *i_flock; struct address_space i_data; -#ifdef CONFIG_QUOTA - struct dquot *i_dquot[MAXQUOTAS]; -#endif struct list_head i_devices; union { struct pipe_inode_info *i_pipe; -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 92C3F7FA0 for ; Wed, 1 Oct 2014 14:31:50 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0E420AC012 for ; Wed, 1 Oct 2014 12:31:46 -0700 (PDT) X-ASG-Debug-ID: 1412191904-04cbb073026cb8c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 9HW53c4tcqZ9YTGo (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:45 -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 99C62AD54; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 3483281FC5; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 11/12] jfs: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:33 +0200 X-ASG-Orig-Subj: [PATCH 11/12] jfs: Convert to private i_dquot field Message-Id: <1412191894-9113-12-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191905 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Dave Kleikamp CC: jfs-discussion@lists.sourceforge.net Signed-off-by: Jan Kara --- fs/jfs/jfs_incore.h | 3 +++ fs/jfs/super.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index cf47f09e8ac8..fa7e795bd8ae 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h @@ -94,6 +94,9 @@ struct jfs_inode_info { unchar _inline_ea[128]; /* 128: inline extended attr */ } link; } u; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif u32 dev; /* will die when we get wide dev_t */ struct inode vfs_inode; }; diff --git a/fs/jfs/super.c b/fs/jfs/super.c index adf8cb045b9e..d32b1ee9836d 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -54,6 +54,7 @@ static struct kmem_cache *jfs_inode_cachep; static const struct super_operations jfs_super_operations; static const struct export_operations jfs_export_operations; +static const int jfs_inode_fields[IF_FIELD_NR]; static struct file_system_type jfs_fs_type; #define MAX_COMMIT_THREADS 64 @@ -117,6 +118,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); if (!jfs_inode) return NULL; +#ifdef CONFIG_QUOTA + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); +#endif return &jfs_inode->vfs_inode; } @@ -537,7 +541,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); #endif + sb_init_inode_fields(sb, jfs_inode_fields); /* * Initialize direct-mapping inode/address-space @@ -857,6 +863,13 @@ static const struct super_operations jfs_super_operations = { #endif }; +static const int jfs_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct js_inode_info, i_dquot) - + (int)offsetof(struct jfs_inode_info, vfs_inode), +#endif +}; + static const struct export_operations jfs_export_operations = { .fh_to_dentry = jfs_fh_to_dentry, .fh_to_parent = jfs_fh_to_parent, -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 92B107F9F for ; Wed, 1 Oct 2014 14:31:50 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0D871AC011 for ; Wed, 1 Oct 2014 12:31:46 -0700 (PDT) X-ASG-Debug-ID: 1412191904-04cb6c50e763ece0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id PpvEHbpFvUHo88sd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:45 -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 94CCAAD37; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 298D381FC6; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 07/12] ext3: Convert to private i_dquot field Date: Wed, 1 Oct 2014 21:31:29 +0200 X-ASG-Orig-Subj: [PATCH 07/12] ext3: Convert to private i_dquot field Message-Id: <1412191894-9113-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191905 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext3/ext3.h | 4 ++++ fs/ext3/super.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fs/ext3/ext3.h b/fs/ext3/ext3.h index e85ff15a060e..04f30a1f96cb 100644 --- a/fs/ext3/ext3.h +++ b/fs/ext3/ext3.h @@ -613,6 +613,10 @@ struct ext3_inode_info { atomic_t i_sync_tid; atomic_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 622e88249024..93373aaa9b77 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -485,6 +485,10 @@ static struct inode *ext3_alloc_inode(struct super_block *sb) ei->vfs_inode.i_version = 1; atomic_set(&ei->i_datasync_tid, 0); atomic_set(&ei->i_sync_tid, 0); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -807,6 +811,13 @@ static const struct super_operations ext3_sops = { .bdev_try_to_free_page = bdev_try_to_free_page, }; +static const int ext3_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct ext3_inode_info, i_dquot) - + (int)offsetof(struct ext3_inode_info, vfs_inode), +#endif +}; + static const struct export_operations ext3_export_ops = { .fh_to_dentry = ext3_fh_to_dentry, .fh_to_parent = ext3_fh_to_parent, @@ -2008,7 +2019,9 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->s_qcop = &ext3_qctl_operations; sb->dq_op = &ext3_quota_operations; + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); #endif + sb_init_inode_fields(sb, ext3_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ mutex_init(&sbi->s_orphan_lock); -- 1.8.1.4 From jack@suse.cz Wed Oct 1 14:31: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 887307F9E for ; Wed, 1 Oct 2014 14:31:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4F34030406B for ; Wed, 1 Oct 2014 12:31:50 -0700 (PDT) X-ASG-Debug-ID: 1412191906-04bdf003a16c3490001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 777sl8H38AeXo3TY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 12:31:47 -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 A715FAD64; Wed, 1 Oct 2014 19:31:42 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 3275581FC4; Wed, 1 Oct 2014 21:31:41 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, Jan Kara Subject: [PATCH 05/12] quota: Use optional inode field for i_dquot pointers Date: Wed, 1 Oct 2014 21:31:27 +0200 X-ASG-Orig-Subj: [PATCH 05/12] quota: Use optional inode field for i_dquot pointers Message-Id: <1412191894-9113-6-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412191894-9113-1-git-send-email-jack@suse.cz> References: <1412191894-9113-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412191907 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.10102 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header i_dquot is a first candidate for using optional inode fields since it is used by relatively few filesystems (ext?, ocfs2, jfs, reiserfs). We cannot just pass quota pointers from filesystems to quota functions because during quotaon and quotaoff we have to traverse list of all inodes and manipulate i_dquot pointers for each inode. Firstly, we setup optional inode field so that it points at i_dquot array in struct inode and convert quota code to use the accessor function. Signed-off-by: Jan Kara --- fs/quota/dquot.c | 51 ++++++++++++++++++++++++++++----------------------- fs/super.c | 3 +++ include/linux/fs.h | 1 + 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index f2d0eee9d1f1..ecb8732fe299 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -893,6 +893,11 @@ out: } EXPORT_SYMBOL(dqget); +static inline struct dquot **i_dquot(const struct inode *inode) +{ + return ((struct dquot **)inode_field(inode, IF_DQUOTS)); +} + static int dqinit_needed(struct inode *inode, int type) { int cnt; @@ -900,9 +905,9 @@ static int dqinit_needed(struct inode *inode, int type) if (IS_NOQUOTA(inode)) return 0; if (type != -1) - return !inode->i_dquot[type]; + return !i_dquot(inode)[type]; for (cnt = 0; cnt < MAXQUOTAS; cnt++) - if (!inode->i_dquot[cnt]) + if (!i_dquot(inode)[cnt]) return 1; return 0; } @@ -965,9 +970,9 @@ static void add_dquot_ref(struct super_block *sb, int type) static void remove_inode_dquot_ref(struct inode *inode, int type, struct list_head *tofree_head) { - struct dquot *dquot = inode->i_dquot[type]; + struct dquot *dquot = i_dquot(inode)[type]; - inode->i_dquot[type] = NULL; + i_dquot(inode)[type] = NULL; if (!dquot) return; @@ -1402,7 +1407,7 @@ static void __dquot_initialize(struct inode *inode, int type) * we check it without locking here to avoid unnecessary * dqget()/dqput() calls. */ - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) continue; init_needed = 1; @@ -1433,8 +1438,8 @@ static void __dquot_initialize(struct inode *inode, int type) /* We could race with quotaon or dqget() could have failed */ if (!got[cnt]) continue; - if (!inode->i_dquot[cnt]) { - inode->i_dquot[cnt] = got[cnt]; + if (!i_dquot(inode)[cnt]) { + i_dquot(inode)[cnt] = got[cnt]; got[cnt] = NULL; /* * Make quota reservation system happy if someone @@ -1442,7 +1447,7 @@ static void __dquot_initialize(struct inode *inode, int type) */ rsv = inode_get_rsv_space(inode); if (unlikely(rsv)) - dquot_resv_space(inode->i_dquot[cnt], rsv); + dquot_resv_space(i_dquot(inode)[cnt], rsv); } } out_err: @@ -1472,8 +1477,8 @@ static void __dquot_drop(struct inode *inode) spin_lock(&dq_data_lock); for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - put[cnt] = inode->i_dquot[cnt]; - inode->i_dquot[cnt] = NULL; + put[cnt] = i_dquot(inode)[cnt]; + i_dquot(inode)[cnt] = NULL; } spin_unlock(&dq_data_lock); dqput_all(put); @@ -1494,7 +1499,7 @@ void dquot_drop(struct inode *inode) * add quota pointers back anyway. */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) break; } @@ -1595,7 +1600,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE; if (!dquot_active(inode)) { @@ -1647,7 +1652,7 @@ int dquot_alloc_inode(const struct inode *inode) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); if (!dquot_active(inode)) return 0; @@ -1696,14 +1701,14 @@ int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_claim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_claim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_claim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return 0; } @@ -1725,14 +1730,14 @@ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_reclaim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_reclaim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_reclaim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return; } @@ -1745,7 +1750,7 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE, index; if (!dquot_active(inode)) { @@ -1788,7 +1793,7 @@ void dquot_free_inode(const struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); int index; if (!dquot_active(inode)) @@ -1865,7 +1870,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) if (!sb_has_quota_active(inode->i_sb, cnt)) continue; is_valid[cnt] = 1; - transfer_from[cnt] = inode->i_dquot[cnt]; + transfer_from[cnt] = i_dquot(inode)[cnt]; ret = check_idq(transfer_to[cnt], 1, &warn_to[cnt]); if (ret) goto over_quota; @@ -1901,7 +1906,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) dquot_incr_space(transfer_to[cnt], cur_space); dquot_resv_space(transfer_to[cnt], rsv_space); - inode->i_dquot[cnt] = transfer_to[cnt]; + i_dquot(inode)[cnt] = transfer_to[cnt]; } spin_unlock(&dq_data_lock); diff --git a/fs/super.c b/fs/super.c index dc577370f5fd..3e70f2e22ea3 100644 --- a/fs/super.c +++ b/fs/super.c @@ -228,6 +228,9 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) s->s_op = &default_op; s->s_time_gran = 1000000000; s->cleancache_poolid = -1; +#ifdef CONFIG_QUOTA + s->s_inode_fields[IF_DQUOTS] = offsetof(struct inode, i_dquot); +#endif s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index 977f8fb6ca88..d49434866da5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -617,6 +617,7 @@ struct inode { /* Optional inode fields (stored in filesystems inode if the fs needs them) */ enum { + IF_DQUOTS, /* Quota pointers: struct dquot *foo[MAXQUOTAS] */ IF_FIELD_NR /* Number of optional inode fields */ }; -- 1.8.1.4 From BATV+82c6f521b188fe4c5c81+4056+infradead.org+hch@casper.srs.infradead.org Wed Oct 1 16:02: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 AD0467F72 for ; Wed, 1 Oct 2014 16:02:34 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 89EFD304081 for ; Wed, 1 Oct 2014 14:02:34 -0700 (PDT) X-ASG-Debug-ID: 1412197349-04bdf0039f6c7e40001-NocioJ Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by cuda.sgi.com with ESMTP id PDTwyNbr5acSdgzy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 14:02:30 -0700 (PDT) X-Barracuda-Envelope-From: BATV+82c6f521b188fe4c5c81+4056+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 1XZR2a-0001bN-9z; Wed, 01 Oct 2014 21:02:28 +0000 From: Christoph Hellwig To: Milosz Tanski Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: preadv2/pwritev2 updates Date: Wed, 1 Oct 2014 23:04:51 +0200 X-ASG-Orig-Subj: preadv2/pwritev2 updates Message-Id: <1412197494-7655-1-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.9.1 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: 1412197350 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.10104 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi Miklos, attached are the patches that go on top of your "[RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only)" series. The first one adds RWF_NONBLOCK to XFS, the other two add a new RWF_DSYNC flag that adds a per-operation O_DSYNC flag. From BATV+82c6f521b188fe4c5c81+4056+infradead.org+hch@casper.srs.infradead.org Wed Oct 1 16:02: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 9D8867F6F for ; Wed, 1 Oct 2014 16:02:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 89CF0304077 for ; Wed, 1 Oct 2014 14:02:34 -0700 (PDT) X-ASG-Debug-ID: 1412197349-04cbb073026cfd30001-NocioJ Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by cuda.sgi.com with ESMTP id v7sZFVrKiaRz7Mzb (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 14:02:30 -0700 (PDT) X-Barracuda-Envelope-From: BATV+82c6f521b188fe4c5c81+4056+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 1XZR2b-0001bR-7N; Wed, 01 Oct 2014 21:02:29 +0000 From: Christoph Hellwig To: Milosz Tanski Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: [PATCH 1/3] xfs: add RWF_NONBLOCK support Date: Wed, 1 Oct 2014 23:04:52 +0200 X-ASG-Orig-Subj: [PATCH 1/3] xfs: add RWF_NONBLOCK support Message-Id: <1412197494-7655-2-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1412197494-7655-1-git-send-email-hch@lst.de> References: <1412197494-7655-1-git-send-email-hch@lst.de> 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: 1412197350 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.10104 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_file.c | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index cf61271..f9efffc 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -61,6 +61,23 @@ xfs_rw_ilock( xfs_ilock(ip, type); } +static inline bool +xfs_rw_ilock_nowait( + struct xfs_inode *ip, + int type) +{ + if (type & XFS_IOLOCK_EXCL) { + if (!mutex_trylock(&VFS_I(ip)->i_mutex)) + return false; + } + if (!xfs_ilock_nowait(ip, type)) { + mutex_unlock(&VFS_I(ip)->i_mutex); + return false; + } + + return true; +} + static inline void xfs_rw_iunlock( struct xfs_inode *ip, @@ -246,10 +263,6 @@ xfs_file_read_iter( XFS_STATS_INC(xs_read_calls); - /* XXX: need a non-blocking iolock helper, shouldn't be too hard */ - if (iocb->ki_rwflags & RWF_NONBLOCK) - return -EAGAIN; - if (unlikely(file->f_flags & O_DIRECT)) ioflags |= XFS_IO_ISDIRECT; if (file->f_mode & FMODE_NOCMTIME) @@ -287,7 +300,14 @@ xfs_file_read_iter( * This allows the normal direct IO case of no page cache pages to * proceeed concurrently without serialisation. */ - xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); + if (iocb->ki_rwflags & RWF_NONBLOCK) { + if (ioflags & XFS_IO_ISDIRECT) + return -EAGAIN; + if (!xfs_rw_ilock_nowait(ip, XFS_IOLOCK_SHARED)) + return -EAGAIN; + } else { + xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); + } if ((ioflags & XFS_IO_ISDIRECT) && inode->i_mapping->nrpages) { xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); xfs_rw_ilock(ip, XFS_IOLOCK_EXCL); -- 1.9.1 From BATV+82c6f521b188fe4c5c81+4056+infradead.org+hch@casper.srs.infradead.org Wed Oct 1 16:02: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 7DDD77F83 for ; Wed, 1 Oct 2014 16:02:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6C7CA8F8035 for ; Wed, 1 Oct 2014 14:02:34 -0700 (PDT) X-ASG-Debug-ID: 1412197351-04cbb073046cfd50001-NocioJ Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by cuda.sgi.com with ESMTP id 4khp9U2AFyWDJG9E (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 14:02:32 -0700 (PDT) X-Barracuda-Envelope-From: BATV+82c6f521b188fe4c5c81+4056+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 1XZR2d-0001bg-5g; Wed, 01 Oct 2014 21:02:31 +0000 From: Christoph Hellwig To: Milosz Tanski Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: [PATCH 3/3] fs: add a flag for per-operation O_DSYNC semantics Date: Wed, 1 Oct 2014 23:04:54 +0200 X-ASG-Orig-Subj: [PATCH 3/3] fs: add a flag for per-operation O_DSYNC semantics Message-Id: <1412197494-7655-4-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1412197494-7655-1-git-send-email-hch@lst.de> References: <1412197494-7655-1-git-send-email-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: 1412197352 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.10104 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- With the new read/write with flags syscalls we can support a flag to enable O_DSYNC semantics on a per-operation basis. This Ñ–s useful to implement protocols like SMB, NFS or SCSI that have such per-operation flags. Example program below: cat > pwritev2.c << EOF (off_t) val, \ (off_t) ((((uint64_t) (val)) >> (sizeof (long) * 4)) >> (sizeof (long) * 4)) static ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags) { return syscall(__NR_pwritev2, fd, iov, iovcnt, LO_HI_LONG(offset), flags); } int main(int argc, char **argv) { int fd = open(argv[1], O_WRONLY|O_CREAT|O_TRUNC, 0666); char buf[1024]; struct iovec iov = { .iov_base = buf, .iov_len = 1024 }; int ret; if (fd < 0) { perror("open"); return 0; } memset(buf, 0xfe, sizeof(buf)); ret = pwritev2(fd, &iov, 1, 0, RWF_DSYNC); if (ret < 0) perror("pwritev2"); else printf("ret = %d\n", ret); return 0; } EOF Signed-off-by: Christoph Hellwig --- fs/ceph/file.c | 4 +++- fs/fuse/file.c | 2 ++ fs/nfs/file.c | 10 ++++++---- fs/ocfs2/file.c | 6 ++++-- fs/read_write.c | 11 ++++++++--- include/linux/fs.h | 3 ++- mm/filemap.c | 4 +++- 7 files changed, 28 insertions(+), 12 deletions(-) diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 2eb02f8..e59f1f1 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -968,7 +968,9 @@ retry_snap: ceph_put_cap_refs(ci, got); if (written >= 0 && - ((file->f_flags & O_SYNC) || IS_SYNC(file->f_mapping->host) || + ((file->f_flags & O_SYNC) || + IS_SYNC(file->f_mapping->host) || + (iocb->ki_rwflags & RWF_DSYNC) || ceph_osdmap_flag(osdc->osdmap, CEPH_OSDMAP_NEARFULL))) { err = vfs_fsync_range(file, pos, pos + written - 1, 1); if (err < 0) diff --git a/fs/fuse/file.c b/fs/fuse/file.c index caa8d95..bb4fb23 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -1248,6 +1248,8 @@ static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from) written += written_buffered; iocb->ki_pos = pos + written_buffered; } else { + if (iocb->ki_rwflags & RWF_DSYNC) + return -EINVAL; written = fuse_perform_write(file, mapping, from, pos); if (written >= 0) iocb->ki_pos = pos + written; diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 524dd80..a9e6cc4 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -621,13 +621,15 @@ static const struct vm_operations_struct nfs_file_vm_ops = { .remap_pages = generic_file_remap_pages, }; -static int nfs_need_sync_write(struct file *filp, struct inode *inode) +static int nfs_need_sync_write(struct kiocb *iocb, struct inode *inode) { struct nfs_open_context *ctx; - if (IS_SYNC(inode) || (filp->f_flags & O_DSYNC)) + if (IS_SYNC(inode) || + (iocb->ki_filp->f_flags & O_DSYNC) || + (iocb->ki_rwflags & RWF_DSYNC)) return 1; - ctx = nfs_file_open_context(filp); + ctx = nfs_file_open_context(iocb->ki_filp); if (test_bit(NFS_CONTEXT_ERROR_WRITE, &ctx->flags) || nfs_ctx_key_to_expire(ctx)) return 1; @@ -674,7 +676,7 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) written = result; /* Return error values for O_DSYNC and IS_SYNC() */ - if (result >= 0 && nfs_need_sync_write(file, inode)) { + if (result >= 0 && nfs_need_sync_write(iocb, inode)) { int err = vfs_fsync(file, 0); if (err < 0) result = err; diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index d96f60d..8f29714 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -2375,8 +2375,10 @@ out_dio: /* buffered aio wouldn't have proper lock coverage today */ BUG_ON(ret == -EIOCBQUEUED && !(file->f_flags & O_DIRECT)); - if (((file->f_flags & O_DSYNC) && !direct_io) || IS_SYNC(inode) || - ((file->f_flags & O_DIRECT) && !direct_io)) { + if (((file->f_flags & O_DSYNC) && !direct_io) || + IS_SYNC(inode) || + ((file->f_flags & O_DIRECT) && !direct_io) || + (iocb->ki_rwflags & RWF_DSYNC)) { ret = filemap_fdatawrite_range(file->f_mapping, *ppos, *ppos + count - 1); if (ret < 0) diff --git a/fs/read_write.c b/fs/read_write.c index 5592a18..8af8925 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -837,8 +837,13 @@ static ssize_t do_readv_writev(int type, struct file *file, ret = do_iter_readv_writev(file, type, iov, nr_segs, tot_len, pos, iter_fn, flags); } else { - if (type == READ && (flags & RWF_NONBLOCK)) - return -EAGAIN; + if (type == READ) { + if (flags & RWF_NONBLOCK) + return -EAGAIN; + } else { + if (flags & RWF_DSYNC) + return -EINVAL; + } if (fnv) ret = do_sync_readv_writev(file, iov, nr_segs, tot_len, @@ -886,7 +891,7 @@ ssize_t vfs_writev(struct file *file, const struct iovec __user *vec, return -EBADF; if (!(file->f_mode & FMODE_CAN_WRITE)) return -EINVAL; - if (flags & ~0) + if (flags & ~RWF_DSYNC) return -EINVAL; return do_readv_writev(WRITE, file, vec, vlen, pos, flags); diff --git a/include/linux/fs.h b/include/linux/fs.h index cf759fa..005e7c8 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1478,7 +1478,8 @@ struct block_device_operations; #define HAVE_UNLOCKED_IOCTL 1 /* These flags are used for the readv/writev syscalls with flags. */ -#define RWF_NONBLOCK 0x00000001 +#define RWF_NONBLOCK 0x00000001 +#define RWF_DSYNC 0x00000002 struct iov_iter; diff --git a/mm/filemap.c b/mm/filemap.c index f9ffb6f..40831ae 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2659,7 +2659,9 @@ int generic_write_sync(struct kiocb *iocb, loff_t count) struct file *file = iocb->ki_filp; if (count > 0 && - ((file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host))) { + ((file->f_flags & O_DSYNC) || + (iocb->ki_rwflags & RWF_DSYNC) || + IS_SYNC(file->f_mapping->host))) { bool fdatasync = !(file->f_flags & __O_SYNC); ssize_t ret = 0; -- 1.9.1 From BATV+82c6f521b188fe4c5c81+4056+infradead.org+hch@casper.srs.infradead.org Wed Oct 1 16:02: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2044A7F84 for ; Wed, 1 Oct 2014 16:02:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id A354AAC003 for ; Wed, 1 Oct 2014 14:02:34 -0700 (PDT) X-ASG-Debug-ID: 1412197350-04cb6c50e7643820001-NocioJ Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by cuda.sgi.com with ESMTP id 66HNlRJ8NpWuHzhv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Oct 2014 14:02:31 -0700 (PDT) X-Barracuda-Envelope-From: BATV+82c6f521b188fe4c5c81+4056+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 1XZR2c-0001ba-71; Wed, 01 Oct 2014 21:02:30 +0000 From: Christoph Hellwig To: Milosz Tanski Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: [PATCH 2/3] fs: pass iocb to generic_write_sync Date: Wed, 1 Oct 2014 23:04:53 +0200 X-ASG-Orig-Subj: [PATCH 2/3] fs: pass iocb to generic_write_sync Message-Id: <1412197494-7655-3-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1412197494-7655-1-git-send-email-hch@lst.de> References: <1412197494-7655-1-git-send-email-hch@lst.de> 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: 1412197351 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.10104 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Clean up the generic_write_sync by just passing an iocb and a bytes written / negative errno argument. In addition to simplifying the callers this also prepares for passing a per-operation O_DSYNC flag. Two callers didn't quite fit that scheme: - dio_complete didn't both to update ki_pos as we don't need it on a iocb that is about to be freed, so we had to add it. Additionally it also synced out written data in the error case, which has been changed to operate like the other callers. - gfs2 also used generic_write_sync to implement a crude version of fallocate. It has been switched to use an open coded variant instead. Signed-off-by: Christoph Hellwig --- fs/block_dev.c | 8 +------- fs/btrfs/file.c | 7 ++----- fs/cifs/file.c | 8 +------- fs/direct-io.c | 8 ++------ fs/ext4/file.c | 8 +------- fs/gfs2/file.c | 9 +++++++-- fs/ntfs/file.c | 8 ++------ fs/udf/file.c | 11 ++--------- fs/xfs/xfs_file.c | 8 +------- include/linux/fs.h | 8 +------- mm/filemap.c | 30 ++++++++++++++++++++---------- 11 files changed, 40 insertions(+), 73 deletions(-) diff --git a/fs/block_dev.c b/fs/block_dev.c index 6d72746..79ed323 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -1574,18 +1574,12 @@ static long block_ioctl(struct file *file, unsigned cmd, unsigned long arg) */ ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from) { - struct file *file = iocb->ki_filp; struct blk_plug plug; ssize_t ret; blk_start_plug(&plug); ret = __generic_file_write_iter(iocb, from); - if (ret > 0) { - ssize_t err; - err = generic_write_sync(file, iocb->ki_pos - ret, ret); - if (err < 0) - ret = err; - } + ret = generic_write_sync(iocb, ret); blk_finish_plug(&plug); return ret; } diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index ff1cc03..e77f599 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1823,11 +1823,8 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb, */ BTRFS_I(inode)->last_trans = root->fs_info->generation + 1; BTRFS_I(inode)->last_sub_trans = root->log_transid; - if (num_written > 0) { - err = generic_write_sync(file, pos, num_written); - if (err < 0) - num_written = err; - } + + num_written = generic_write_sync(iocb, num_written); if (sync) atomic_dec(&BTRFS_I(inode)->sync_writers); diff --git a/fs/cifs/file.c b/fs/cifs/file.c index e7169ba..2dca0da 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -2706,13 +2706,7 @@ cifs_writev(struct kiocb *iocb, struct iov_iter *from) rc = __generic_file_write_iter(iocb, from); mutex_unlock(&inode->i_mutex); - if (rc > 0) { - ssize_t err; - - err = generic_write_sync(file, iocb->ki_pos - rc, rc); - if (err < 0) - rc = err; - } + rc = generic_write_sync(iocb, rc); } else { mutex_unlock(&inode->i_mutex); } diff --git a/fs/direct-io.c b/fs/direct-io.c index e181b6b..b72ac83 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -257,12 +257,8 @@ static ssize_t dio_complete(struct dio *dio, loff_t offset, ssize_t ret, inode_dio_done(dio->inode); if (is_async) { if (dio->rw & WRITE) { - int err; - - err = generic_write_sync(dio->iocb->ki_filp, offset, - transferred); - if (err < 0 && ret > 0) - ret = err; + dio->iocb->ki_pos = offset + transferred; + ret = generic_write_sync(dio->iocb, ret); } aio_complete(dio->iocb, ret, 0); diff --git a/fs/ext4/file.c b/fs/ext4/file.c index aca7b24..79b000c 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -175,13 +175,7 @@ ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from) ret = __generic_file_write_iter(iocb, from); mutex_unlock(&inode->i_mutex); - if (ret > 0) { - ssize_t err; - - err = generic_write_sync(file, iocb->ki_pos - ret, ret); - if (err < 0) - ret = err; - } + ret = generic_write_sync(iocb, ret); if (o_direct) blk_finish_plug(&plug); diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 7f4ed3d..34e3d36 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -895,8 +895,13 @@ retry: gfs2_quota_unlock(ip); } - if (error == 0) - error = generic_write_sync(file, pos, count); + if (error) + goto out_unlock; + + if ((file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host)) { + error = vfs_fsync_range(file, pos, pos + count - 1, + (file->f_flags & __O_SYNC) ? 0 : 1); + } goto out_unlock; out_trans_fail: diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c index f5ec1ce..eaf2ce6 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c @@ -2126,12 +2126,8 @@ static ssize_t ntfs_file_aio_write(struct kiocb *iocb, const struct iovec *iov, mutex_lock(&inode->i_mutex); ret = ntfs_file_aio_write_nolock(iocb, iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); - if (ret > 0) { - int err = generic_write_sync(file, iocb->ki_pos - ret, ret); - if (err < 0) - ret = err; - } - return ret; + + return generic_write_sync(iocb, ret); } /** diff --git a/fs/udf/file.c b/fs/udf/file.c index 86c6743..9fe6bb1 100644 --- a/fs/udf/file.c +++ b/fs/udf/file.c @@ -155,16 +155,9 @@ static ssize_t udf_file_write_iter(struct kiocb *iocb, struct iov_iter *from) retval = __generic_file_write_iter(iocb, from); mutex_unlock(&inode->i_mutex); - if (retval > 0) { - ssize_t err; - + if (retval > 0) mark_inode_dirty(inode); - err = generic_write_sync(file, iocb->ki_pos - retval, retval); - if (err < 0) - retval = err; - } - - return retval; + return generic_write_sync(iocb, retval); } long udf_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index f9efffc..986965a 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -790,14 +790,8 @@ xfs_file_write_iter( ret = xfs_file_buffered_aio_write(iocb, from); if (ret > 0) { - ssize_t err; - XFS_STATS_ADD(xs_write_bytes, ret); - - /* Handle various SYNC-type writes */ - err = generic_write_sync(file, iocb->ki_pos - ret, ret); - if (err < 0) - ret = err; + ret = generic_write_sync(iocb, ret); } return ret; } diff --git a/include/linux/fs.h b/include/linux/fs.h index b884975..cf759fa 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2259,13 +2259,7 @@ extern int filemap_fdatawrite_range(struct address_space *mapping, extern int vfs_fsync_range(struct file *file, loff_t start, loff_t end, int datasync); extern int vfs_fsync(struct file *file, int datasync); -static inline int generic_write_sync(struct file *file, loff_t pos, loff_t count) -{ - if (!(file->f_flags & O_DSYNC) && !IS_SYNC(file->f_mapping->host)) - return 0; - return vfs_fsync_range(file, pos, pos + count - 1, - (file->f_flags & __O_SYNC) ? 0 : 1); -} +extern int generic_write_sync(struct kiocb *iocb, loff_t count); extern void emergency_sync(void); extern void emergency_remount(void); #ifdef CONFIG_BLOCK diff --git a/mm/filemap.c b/mm/filemap.c index 86ed6f7..f9ffb6f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2654,6 +2654,24 @@ out: } EXPORT_SYMBOL(__generic_file_write_iter); +int generic_write_sync(struct kiocb *iocb, loff_t count) +{ + struct file *file = iocb->ki_filp; + + if (count > 0 && + ((file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host))) { + bool fdatasync = !(file->f_flags & __O_SYNC); + ssize_t ret = 0; + + ret = vfs_fsync_range(file, iocb->ki_pos - count, + iocb->ki_pos - 1, fdatasync); + if (ret < 0) + return ret; + } + return count; +} +EXPORT_SYMBOL(generic_write_sync); + /** * generic_file_write_iter - write data to a file * @iocb: IO state structure @@ -2665,22 +2683,14 @@ EXPORT_SYMBOL(__generic_file_write_iter); */ ssize_t generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) { - struct file *file = iocb->ki_filp; - struct inode *inode = file->f_mapping->host; + struct inode *inode = iocb->ki_filp->f_mapping->host; ssize_t ret; mutex_lock(&inode->i_mutex); ret = __generic_file_write_iter(iocb, from); mutex_unlock(&inode->i_mutex); - if (ret > 0) { - ssize_t err; - - err = generic_write_sync(file, iocb->ki_pos - ret, ret); - if (err < 0) - ret = err; - } - return ret; + return generic_write_sync(iocb, ret); } EXPORT_SYMBOL(generic_file_write_iter); -- 1.9.1 From adilger@dilger.ca Wed Oct 1 16:05: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C1DCC7F72 for ; Wed, 1 Oct 2014 16:05:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9EF1E8F8035 for ; Wed, 1 Oct 2014 14:05:48 -0700 (PDT) X-ASG-Debug-ID: 1412197546-04cbb073036cff90001-NocioJ Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) by cuda.sgi.com with ESMTP id W5Jzy6yRFdlAVyUc (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Oct 2014 14:05:46 -0700 (PDT) X-Barracuda-Envelope-From: adilger@dilger.ca X-Barracuda-Apparent-Source-IP: 209.85.220.46 Received: by mail-pa0-f46.google.com with SMTP id fa1so934484pad.5 for ; Wed, 01 Oct 2014 14:05: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:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=peLQzGZjiklxqx0E7FlA4J0rXKIC4RUkMhh9M1sBOTE=; b=eIeXm1PNmkSwvJjGSp0cmhqMN/kh7a2jttq2+y598rzDBjQ4qCxSvVxertgYlySwFk CE4xmlj/6C01GBKgZwnjqLbMZt6NNM+27FAzvjt67VffaUojpeFOxY98DLVJvV3RKIxE Rw6Ng7dL4RhQQzc0DGSNmBAfMmlvvT9aojT44Mi8P00o8M+7FY15AbuIjHn343n2eAjr W8ER0N6fqgYlvLGnYRMY6VinZ7xi0PYbJZFoGfG0S7eqRQI/gVhj4GE1Usq++ul9EqKz cnyHNVzHY4gr6a5ue/O6v8i3MR3ounGmD2zIQSDxvW532NEegMl0BbKzjLMffTaRKNaN U0Vg== X-Gm-Message-State: ALoCoQljOmrOkIzV0N/AHFlsV/D1LZw00+tnvJUXNKkoLeTgdjKhahChJ/GuCplbHnDNJd/DwBja X-Received: by 10.66.144.195 with SMTP id so3mr16536796pab.156.1412197545952; Wed, 01 Oct 2014 14:05:45 -0700 (PDT) Received: from cabot-100.adilger.int (S0106002191d9348b.cg.shawcable.net. [96.51.76.157]) by mx.google.com with ESMTPSA id td4sm1833298pab.19.2014.10.01.14.05.44 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 01 Oct 2014 14:05:45 -0700 (PDT) Content-Type: multipart/signed; boundary="Apple-Mail=_4CB239A5-51E1-4A1D-8055-1AAFD25DB4DA"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [PATCH 04/12] fs: Generic infrastructure for optional inode fields From: Andreas Dilger X-ASG-Orig-Subj: Re: [PATCH 04/12] fs: Generic infrastructure for optional inode fields In-Reply-To: <1412191894-9113-5-git-send-email-jack@suse.cz> Date: Wed, 1 Oct 2014 15:05:46 -0600 Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Message-Id: <3BFF1023-E198-4797-A96A-EA158137157E@dilger.ca> References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-5-git-send-email-jack@suse.cz> To: Jan Kara X-Mailer: Apple Mail (2.1878.6) X-Barracuda-Connect: mail-pa0-f46.google.com[209.85.220.46] X-Barracuda-Start-Time: 1412197546 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.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=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10104 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words --Apple-Mail=_4CB239A5-51E1-4A1D-8055-1AAFD25DB4DA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Oct 1, 2014, at 1:31 PM, Jan Kara wrote: > There are parts of struct inode which are used only by a few = filesystems > (e.g. i_dquot pointers, i_mapping->private_list, ...). Thus all the > other filesystems are just wasting memory with these fields. On the > other hand it isn't simple to just move these fields to filesystem > specific part of inode because there is generic code which needs to = peek > into the fields and it is cumbersome to provide helpers into which fs > has to stuff the field it is storing elsewhere. >=20 > We create a simple infrastructure which allows for optional inode = fields > stored in the fs-specific part of the inode. Accessing these fields = has > a slightly worse performance as we have to lookup their offset in the > offset table stored in the superblock but in most cases this is > acceptable. Notably, this offset-table mechanism is faster than having > fs-specific hook functions which would need to be called to provide > pointers to desired fields. >=20 > Signed-off-by: Jan Kara > --- > include/linux/fs.h | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) >=20 > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 94187721ad41..977f8fb6ca88 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -615,6 +615,11 @@ struct inode { > void *i_private; /* fs or device private = pointer */ > }; >=20 > +/* Optional inode fields (stored in filesystems inode if the fs needs = them) */ > +enum { This should be a named enum, like "enum inode_field" or similar, so it can be referenced below. > + IF_FIELD_NR /* Number of optional inode fields */ > +}; > + > static inline int inode_unhashed(struct inode *inode) > { > return hlist_unhashed(&inode->i_hash); > @@ -1236,6 +1241,11 @@ struct super_block { > void *s_fs_info; /* Filesystem private = info */ > unsigned int s_max_links; > fmode_t s_mode; > + /* > + * We could have here just a pointer to the offsets array but = this > + * way we save one dereference when looking up field offsets > + */ > + int s_inode_fields[IF_FIELD_NR]; >=20 > /* Granularity of c/m/atime in ns. > Cannot be worse than a second */ > @@ -1286,6 +1296,20 @@ struct super_block { > struct rcu_head rcu; > }; >=20 > +static inline void *inode_field(const struct inode *inode, int field) This should use "enum inode_field" instead of int, so the compiler could warn about invalid parameter values. It might make sense to add a = check: if (field < IF_FIELD_NR) but I'm not sure if the overhead is worthwhile, unless it can always be resolved at compile time. That might be possible since this is a static inline function. Cheers, Andreas > +{ > + int offset =3D inode->i_sb->s_inode_fields[field]; > + > + if (!offset) /* Field not present? */ > + return NULL; > + return ((char *)inode) + offset; > +} > + > +static inline void sb_init_inode_fields(struct super_block *sb, int = *fields) > +{ > + memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); > +} > + > extern struct timespec current_fs_time(struct super_block *sb); >=20 > /* > --=20 > 1.8.1.4 >=20 > -- > 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 Cheers, Andreas --Apple-Mail=_4CB239A5-51E1-4A1D-8055-1AAFD25DB4DA Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIVAwUBVCxsq3Kl2rkXzB/gAQK7DhAAg3ag4acKmQyynoKDAwfPBBgZ5l/zZ1PP rpSmjKWN2iqW0CuA8fZqLBzJqSH7p1SKznutS+ivQfrMicLjy0fnwY30YddBmoeZ 2p29hh1F1g1cWTdw8JeQB+VrJcvXKGIAIskysYUuF5bix6Btltp/TjAHOTV8xS0O sK7ZCRt6foheGufOQdfiuTWRJyloy8RyL4FOVn/UFGeuU7t9Ynh78wM+Qx/LrSQT 5ZnpFcE3GIFNKcn7SKhAkfve4KqFji1EzMutWmhkJRt14AGYE+kwrBlvZM+F+Xex Pt+z0p/K5xMDiTFPsqFOITpHbx1QUoLVhXFsgb1+3HoYMTiJX+yYj3QDI9Ac0+kq PcuYJ3RAfW/FHAiZ2GAeCDLwDFA44+/n77hsrWWi/3ne3G1de8o/fDhM5W5gWsBP u6pFEv5Fu8912YbmBvJecMYpMr6VQbsm+BMm6HwZx4IYcqgNde87ZlYGfs4svSzY QBNas2XXwWUR9pdnWyqdraQODQbAoPTqH9KIMveUh01HNffh6dU40/6Q/lZXg/wE hvIV45qBTdF88aEaBDDAUT5Jgr8I+9YrFHgVAwhwGAXZvaPpVGC1MqIU4Pcypl3o 79a1zmZK0msglR0NA0PN+kr6nsCvpjNg23UwzSLJBP0HZEOiHDShDZrydsaXRxG8 iSQpGDVjxhg= =ONs2 -----END PGP SIGNATURE----- --Apple-Mail=_4CB239A5-51E1-4A1D-8055-1AAFD25DB4DA-- From tinguely@dhcp-128-162-232-226.americas.sgi.com Wed Oct 1 16:18: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 5D38C7F6F for ; Wed, 1 Oct 2014 16:18:16 -0500 (CDT) Received: from dhcp-128-162-232-226.americas.sgi.com (dhcp-128-162-232-226.americas.sgi.com [128.162.232.226]) by relay3.corp.sgi.com (Postfix) with ESMTP id E0509AC001 for ; Wed, 1 Oct 2014 14:18:15 -0700 (PDT) Received: from dhcp-128-162-232-226.americas.sgi.com (localhost [127.0.0.1]) by dhcp-128-162-232-226.americas.sgi.com (8.14.5/8.14.5) with ESMTP id s91LIIGS003059 for ; Wed, 1 Oct 2014 16:18:18 -0500 (CDT) (envelope-from tinguely@dhcp-128-162-232-226.americas.sgi.com) Received: (from tinguely@localhost) by dhcp-128-162-232-226.americas.sgi.com (8.14.5/8.14.5/Submit) id s91LIIPF003058; Wed, 1 Oct 2014 16:18:18 -0500 (CDT) (envelope-from tinguely) Message-Id: <20141001191803.153063401@sgi.com> User-Agent: quilt/0.51-1 Date: Wed, 01 Oct 2014 16:18:02 -0500 From: Mark Tinguely To: xfs@oss.sgi.com Subject: [PATCH] xfs: fix the xfs_iflush_done callback search Content-Disposition: inline; filename=xfs-fix-xfs_iflush_done-callback-search.patch Commit "xfs: remove all the inodes on a buffer from the AIL in bulk" made the xfs inode flush callback more efficient by combining all the inode writes on the buffer and the deletions of the inode log item from AIL. The initial loop in this patch should be looping through all the log items on the buffer to see which items have xfs_iflush_done as their callback function. But currently, only the log item passed to the function has its callback compared to xfs_iflush_done. If the log item pointer passed to the function does have the xfs_iflush_done callback function, then all the log items on the buffer are removed from the li_bio_list on the buffer b_fspriv and could be removed from the AIL eventhough they may have not been written yet. Signed-off-by: Mark Tinguely --- fs/xfs/xfs_inode_item.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: b/fs/xfs/xfs_inode_item.c =================================================================== --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c @@ -615,7 +615,7 @@ xfs_iflush_done( blip = bp->b_fspriv; prev = NULL; while (blip != NULL) { - if (lip->li_cb != xfs_iflush_done) { + if (blip->li_cb != xfs_iflush_done) { prev = blip; blip = blip->li_bio_list; continue; From david@fromorbit.com Wed Oct 1 17:23: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 763B37F6F for ; Wed, 1 Oct 2014 17:23:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 65333304048 for ; Wed, 1 Oct 2014 15:23:43 -0700 (PDT) X-ASG-Debug-ID: 1412202220-04cb6c50e4647200001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id UUz1242yir2zhvpp for ; Wed, 01 Oct 2014 15:23:41 -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: Apc7ACx+LFR5LDjw/2dsb2JhbABfgw6BLLY2BpVchWoCAgEBAoEOFwF7hAQBAQQnExwjEAgDDgoJJQ8FJQMhE4g9vCwYGIV9ihEHhEsFnTKMSokqg3UrL4JKAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 07:53:40 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSIx-0002c1-NT; Thu, 02 Oct 2014 08:23:27 +1000 Date: Thu, 2 Oct 2014 08:23:27 +1000 From: Dave Chinner To: Christoph Hellwig Cc: Milosz Tanski , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH 1/3] xfs: add RWF_NONBLOCK support Message-ID: <20141001222327.GT4758@dastard> X-ASG-Orig-Subj: Re: [PATCH 1/3] xfs: add RWF_NONBLOCK support References: <1412197494-7655-1-git-send-email-hch@lst.de> <1412197494-7655-2-git-send-email-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412197494-7655-2-git-send-email-hch@lst.de> 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: 1412202220 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.10106 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 11:04:52PM +0200, Christoph Hellwig wrote: > Add support for non-blocking reads. The guts are handled by the generic > code, the only addition is a non-blocking variant of xfs_rw_ilock. > > Signed-off-by: Christoph Hellwig > --- > fs/xfs/xfs_file.c | 30 +++++++++++++++++++++++++----- > 1 file changed, 25 insertions(+), 5 deletions(-) > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index cf61271..f9efffc 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -61,6 +61,23 @@ xfs_rw_ilock( > xfs_ilock(ip, type); > } > > +static inline bool > +xfs_rw_ilock_nowait( > + struct xfs_inode *ip, > + int type) > +{ > + if (type & XFS_IOLOCK_EXCL) { > + if (!mutex_trylock(&VFS_I(ip)->i_mutex)) > + return false; > + } > + if (!xfs_ilock_nowait(ip, type)) { > + mutex_unlock(&VFS_I(ip)->i_mutex); Shouldn't that be: if (type & XFS_IOLOCK_EXCL) { mutex_unlock(&VFS_I(ip)->i_mutex); Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17:27: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 75CAE7F6F for ; Wed, 1 Oct 2014 17:27:16 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 62A9D304032 for ; Wed, 1 Oct 2014 15:27:15 -0700 (PDT) X-ASG-Debug-ID: 1412202434-04cb6c50e4647460001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 53VzFxl1s6uY1Fe3 for ; Wed, 01 Oct 2014 15:27:14 -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: Ak0jAEh/LFR5LDjw/2dsb2JhbABfgw6BLLY2BpVchWoEAgKBDhcBe4QEAQEEOhwjEAgDDgoJJQ8FJQMhE4g9vC0YGIV9ihEHhEsBBJ0ylXSDdSsvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 07:56:50 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSM1-0002cM-Mv; Thu, 02 Oct 2014 08:26:37 +1000 Date: Thu, 2 Oct 2014 08:26:37 +1000 From: Dave Chinner To: Christoph Hellwig Cc: Milosz Tanski , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: preadv2/pwritev2 updates Message-ID: <20141001222637.GU4758@dastard> X-ASG-Orig-Subj: Re: preadv2/pwritev2 updates References: <1412197494-7655-1-git-send-email-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412197494-7655-1-git-send-email-hch@lst.de> 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: 1412202434 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.10106 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 11:04:51PM +0200, Christoph Hellwig wrote: > Hi Miklos, > > attached are the patches that go on top of your > "[RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only)" > series. The first one adds RWF_NONBLOCK to XFS, the other two > add a new RWF_DSYNC flag that adds a per-operation O_DSYNC flag. Christoph, any plans to add these new syscalls to xfs_io and data integrity tests for the new RWF_DSYNC flag? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17: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=0.0 required=5.0 tests=none 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 9D7357F6F for ; Wed, 1 Oct 2014 17: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 3CE19AC003 for ; Wed, 1 Oct 2014 15:35:12 -0700 (PDT) X-ASG-Debug-ID: 1412202909-04cbb073046d39e0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id Tgf7zrWU0uD22otW for ; Wed, 01 Oct 2014 15:35:10 -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: Apk7AHKALFR5LDjw/2dsb2JhbABfgw6BLLY2BpVchWoCAgEBAoEMFwF7hAMBAQEDAScTHCMFCwgDGAklDwUlAyETiDYHvEkYhX2JLRZOB4RLBY8/jXOIZINmiSqDdSsvgQaBRAEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:05:09 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSU4-0002dZ-DP; Thu, 02 Oct 2014 08:34:56 +1000 Date: Thu, 2 Oct 2014 08:34:56 +1000 From: Dave Chinner To: Mark Tinguely Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix the xfs_iflush_done callback search Message-ID: <20141001223456.GV4758@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix the xfs_iflush_done callback search References: <20141001191803.153063401@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001191803.153063401@sgi.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: 1412202909 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.10106 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 04:18:02PM -0500, Mark Tinguely wrote: > Commit "xfs: remove all the inodes on a buffer from the AIL in bulk" > made the xfs inode flush callback more efficient by combining all > the inode writes on the buffer and the deletions of the inode log > item from AIL. > > The initial loop in this patch should be looping through all > the log items on the buffer to see which items have > xfs_iflush_done as their callback function. But currently, > only the log item passed to the function has its callback > compared to xfs_iflush_done. If the log item pointer passed to > the function does have the xfs_iflush_done callback function, > then all the log items on the buffer are removed from the > li_bio_list on the buffer b_fspriv and could be removed from > the AIL eventhough they may have not been written yet. Looks like a bug, but what I don't know from this description is the symptoms and impact of this bug being hit? Is there a risk of filesystem corruption on crash or power loss? Perhaps it's a data loss issue? I can't tell, and for anyone scanning the commit logs to determine if they need to backport the fix will be asking the same questions. Also, is there a reproducable test case for it? > Signed-off-by: Mark Tinguely > --- > fs/xfs/xfs_inode_item.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: b/fs/xfs/xfs_inode_item.c > =================================================================== > --- a/fs/xfs/xfs_inode_item.c > +++ b/fs/xfs/xfs_inode_item.c > @@ -615,7 +615,7 @@ xfs_iflush_done( > blip = bp->b_fspriv; > prev = NULL; > while (blip != NULL) { > - if (lip->li_cb != xfs_iflush_done) { > + if (blip->li_cb != xfs_iflush_done) { Looks correct, but more info needed... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17:42: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 7D27B7F6F for ; Wed, 1 Oct 2014 17:42:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5969B8F8037 for ; Wed, 1 Oct 2014 15:42:29 -0700 (PDT) X-ASG-Debug-ID: 1412203341-04bdf0039f6cc140001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id ypfTla1USai935pK for ; Wed, 01 Oct 2014 15:42:22 -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: ApAwAMqCLFR5LDjw/2dsb2JhbABfgw5TWY1qqDoSBpN/gV2FagQCAoEHFwF7hAQBAQQ6HCMQCAMOCgklDwUlAyETiD0OvB4YGIV9h36CEweESwWWKYcJlXSDdSsvAYJJAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:12:08 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSap-0002ef-9t; Thu, 02 Oct 2014 08:41:55 +1000 Date: Thu, 2 Oct 2014 08:41:55 +1000 From: Dave Chinner To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: Test xfs/287 failure Message-ID: <20141001224155.GW4758@dastard> X-ASG-Orig-Subj: Re: Test xfs/287 failure References: <20141001152314.GH17405@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001152314.GH17405@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: 1412203341 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.10106 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 05:23:14PM +0200, Jan Kara wrote: > Hello, > > so after installing latest xfsdump (just pulled git repo at oss.sgi.com), > I'm getting failure in test xfs/287. The failure is: > xfs/287 2s ... 2s > _check_xfs_filesystem: filesystem on /dev/vdb2 is inconsistent (r) (see > /var/lib/xfstests/results//xfs/287.full) > > And the 287.full has: > ... > Phase 3 - for each AG... > - scan (but don't clear) agi unlinked lists... > - process known inodes and perform inode discovery... > - agno = 0 > directory flags set on non-directory inode 133 > directory flags set on non-directory inode 134 > directory flags set on non-directory inode 133 > would fix bad flags. > directory flags set on non-directory inode 134 > would fix bad flags. > ... > > Complete file is attached. I'm using also the latest xfsprogs from git and > kernel 3.17.0-rc5 (plus couple of my patches but these should have no > influence). It's a bug, but a minor inconvenience at worst. I sent patches to fix this a couple of days ago: http://oss.sgi.com/archives/xfs/2014-09/msg00510.html $ sudo ./check xfs/287 FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 test4 3.17.0-rc7-dgc+ MKFS_OPTIONS -- -f -bsize=4096 /dev/ram1 MOUNT_OPTIONS -- /dev/ram1 /mnt/scr xfs/287 1s ... 1s Ran: xfs/287 Passed all 1 tests $ -Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17:52: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 4DB7A7F6F for ; Wed, 1 Oct 2014 17:52:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id CEFE0AC001 for ; Wed, 1 Oct 2014 15:52:37 -0700 (PDT) X-ASG-Debug-ID: 1412203955-04cb6c50e4648400001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 6agLvnf1Ne5QWqbP for ; Wed, 01 Oct 2014 15:52:35 -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: Apg7AFyFLFR5LDjw/2dsb2JhbABfgw6BLLY2BpVchWoCAgEBAoEGFwF7hAMBAQEEOhwjEAgDDgcDCSUPBSUDIROIPbwrGBiFfYoRB4MugR0BBJ0ylXSDdSsvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:22:34 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSkv-0002gP-W6; Thu, 02 Oct 2014 08:52:22 +1000 Date: Thu, 2 Oct 2014 08:52:21 +1000 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: kill time.h Message-ID: <20141001225221.GA10298@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: kill time.h References: <1411954911-12278-1-git-send-email-david@fromorbit.com> <20140929104443.GB10847@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140929104443.GB10847@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: 1412203955 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.10108 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Sep 29, 2014 at 03:44:43AM -0700, Christoph Hellwig wrote: > On Mon, Sep 29, 2014 at 11:41:51AM +1000, Dave Chinner wrote: > > From: Dave Chinner > > > > The typedef for timespecs and nanotime() are completely unnecessary, > > and delay() can be moved to fs/xfs/linux.h, which means this file > > can go away. > > Looks good, but shouldn't we just kill delay(), too? There's just > 11 callers, and none of them in libxfs. Eventually, yes. ;) Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17:54: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id BFB487F6F for ; Wed, 1 Oct 2014 17:54:35 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9C2E38F8037 for ; Wed, 1 Oct 2014 15:54:35 -0700 (PDT) X-ASG-Debug-ID: 1412204073-04cb6c50e66484c0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id teAzBHhWiuhN40Fd for ; Wed, 01 Oct 2014 15:54:33 -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: Apg7AFyFLFR5LDjw/2dsb2JhbABfgw6BLLY2BpVchWoCAgEBAoEGFwF7hAMBAQEEOhwjEAgDDgcDCSUPBSUDIROIPbwrGBiFfYktZAeDLoEdBZ0yjEqJKoN1Ky+BBoFEAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:24:32 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSmq-0002h0-7Z; Thu, 02 Oct 2014 08:54:20 +1000 Date: Thu, 2 Oct 2014 08:54:20 +1000 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: compat_xfs_bstat does not have forkoff Message-ID: <20141001225420.GB10298@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: compat_xfs_bstat does not have forkoff References: <1411954886-12200-1-git-send-email-david@fromorbit.com> <20140929104318.GA10847@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140929104318.GA10847@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: 1412204073 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.10108 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Sep 29, 2014 at 03:43:18AM -0700, Christoph Hellwig wrote: > On Mon, Sep 29, 2014 at 11:41:26AM +1000, Dave Chinner wrote: > > From: Dave Chinner > > > > struct compat_xfs_bstat is missing the di_forkoff field and so does > > not fully translate the structure correctly. Fix it. > > > > Signed-off-by: Dave Chinner > > --- > > fs/xfs/xfs_ioctl32.c | 2 ++ > > fs/xfs/xfs_ioctl32.h | 3 ++- > > 2 files changed, 4 insertions(+), 1 deletion(-) > > Looks good, > > Reviewed-by: Christoph Hellwig > > Any chance to get an xfstests test that verifies the forkoff value? > Even if it would only reproduce this bug when running 32-bit userspace > on a 64-bit kernel it would be useful I think. There are already xfs_fsr tests that are dependent on forkoff being set to correctly defrag a file successfully. The fact that nobody has noticed that these fail tends to imply nobody runs xfstests with a 32 bit userspace on 64 bit kernels.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 17:57: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E776C7F63 for ; Wed, 1 Oct 2014 17:57:15 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id C62F18F8035 for ; Wed, 1 Oct 2014 15:57:15 -0700 (PDT) X-ASG-Debug-ID: 1412204232-04cb6c50e4648610001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id pVXXuqhwjInurNzR for ; Wed, 01 Oct 2014 15:57: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: Ak0jAImGLFR5LDjw/2dsb2JhbABggw6BLLY2BpVchWoEAgKBBhcBe4QEAQEEOhwjEAgDDgoJJQ8FJQMhE4g9vC8YGIV9ihEHgy6BHQWdMoxKiSqDdSsvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:26:49 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSp2-0002hJ-AC; Thu, 02 Oct 2014 08:56:36 +1000 Date: Thu, 2 Oct 2014 08:56:36 +1000 From: Dave Chinner To: Christoph Hellwig Cc: Eric Sandeen , xfs-oss Subject: Re: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk Message-ID: <20141001225636.GC10298@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfs: fix crc field handling in xfs_sb_to/from_disk References: <542C1B36.5080804@redhat.com> <542C1CB8.103@sandeen.net> <20141001155604.GB787@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001155604.GB787@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: 1412204232 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.10108 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 08:56:04AM -0700, Christoph Hellwig wrote: > Looks good (although it will conflict with Dave's sb_to_disk rework..) That's ok. I'm slipping that superblock logging change to the next merge window as I haven't had a chance to look at the problems you reported yet and it's too close to the next merge window to be debugging changes to on-disk format handling code... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 18: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 711127F6A for ; Wed, 1 Oct 2014 18:04:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0D812AC011 for ; Wed, 1 Oct 2014 16:03:57 -0700 (PDT) X-ASG-Debug-ID: 1412204635-04cb6c50e56489f0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id aF4qHAHckOAD5A1x for ; Wed, 01 Oct 2014 16:03: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: ApY7ALWHLFR5LDjw/2dsb2JhbABggw6BLLY2BpVchWoCAgEBAoEGFwF7hAQBAQQ6HCMQCAMOCgklDwUlAyETiD28LxgYhX2KEQeDLoEdAQSdMoxKiSqDdSsvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:33:55 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZSvu-0002jE-Hi; Thu, 02 Oct 2014 09:03:42 +1000 Date: Thu, 2 Oct 2014 09:03:42 +1000 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [PATCH 09/11] xfs: introduce xfs_buf_submit[_wait] Message-ID: <20141001230342.GD10298@dastard> X-ASG-Orig-Subj: Re: [PATCH 09/11] xfs: introduce xfs_buf_submit[_wait] References: <1411648461-29003-1-git-send-email-david@fromorbit.com> <1411648461-29003-10-git-send-email-david@fromorbit.com> <20140926123338.GA18558@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140926123338.GA18558@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: 1412204635 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.10108 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Sep 26, 2014 at 05:33:38AM -0700, Christoph Hellwig wrote: > Looks good, although I still think this would benefit from a helper > like the one below (patch lightly tested). > > Reviewed-by: Christoph Hellwig Thanks. I'll queue the helper patch up for after the next merge window. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 18:21: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 D06F77F6B for ; Wed, 1 Oct 2014 18:21:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7EBC8AC003 for ; Wed, 1 Oct 2014 16:21:45 -0700 (PDT) X-ASG-Debug-ID: 1412205700-04bdf003a26cdda0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id EcUYBRECH6iwusBU for ; Wed, 01 Oct 2014 16:21:40 -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: Apo7AECLLFR5LDjw/2dsb2JhbABggw6BLLY2BpVchWoCAgEBAoEGFwF7hAMBAQEDATocIwULCAMOBwMJJQ8FJQMhE4g2B7wwGBiFfYoRB4MugR0Fj1ONX5V0g3UrL4JKAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:51:40 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZTD4-0002md-OK; Thu, 02 Oct 2014 09:21:26 +1000 Date: Thu, 2 Oct 2014 09:21:26 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com, iusty@k1024.org Subject: Re: [PATCH 2/2] xfs: only set extent size hint when asked Message-ID: <20141001232126.GE10298@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfs: only set extent size hint when asked References: <1412041565-18873-1-git-send-email-david@fromorbit.com> <1412041565-18873-3-git-send-email-david@fromorbit.com> <20141001115959.GB53779@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001115959.GB53779@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: 1412205700 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.10109 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 07:59:59AM -0400, Brian Foster wrote: > On Tue, Sep 30, 2014 at 11:46:05AM +1000, Dave Chinner wrote: > > From: Dave Chinner > > > > Currently the extent size hint is set unconditionally in > > xfs_ioctl_setattr(), even when the FSX_EXTSIZE flag is not set. This > > means we can set values from uninitialised stack variables. Hence > > only set the extent size hint from userspace when both the mask > > falg is set and the inode has the XFS_DIFLAG_EXTSIZE flag set to > > indicate that we should have an extent size hint set on the inode. > > > > I'm not sure what you mean here by FSX_EXTSIZE not being checked. It > looks like FSX_EXTSIZE is checked before and after the patch. Yup, I wrote the commit message, then did the fix and forgot to update the message after I realised it was wrong. I've fixed the commit message. > Regardless, the fix looks Ok to me... > > Reviewed-by: Brian Foster Thanks! -Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 18:23: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 D5DA17F6B for ; Wed, 1 Oct 2014 18:23:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id B8B208F8037 for ; Wed, 1 Oct 2014 16:23:40 -0700 (PDT) X-ASG-Debug-ID: 1412205818-04cb6c50e56498e0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id ICznqigctrQ5bm0m for ; Wed, 01 Oct 2014 16:23: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: AqE7AGOMLFR5LDjw/2dsb2JhbABggw6BLLY2BoFGlBaFagICAQECgQYXAXuEBAEBBCcTHCMQCAMOCgklDwUlAyETiD28LwEXGIV9iS1kB4MugR0Fj1ONX4xKiSqBaiCBaysvgQaBRAEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:53:38 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZTEz-0002mr-B3; Thu, 02 Oct 2014 09:23:25 +1000 Date: Thu, 2 Oct 2014 09:23:25 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: check for inode size overflow in xfs_new_eof() Message-ID: <20141001232325.GF10298@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: check for inode size overflow in xfs_new_eof() References: <1412104883-6151-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412104883-6151-1-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: 1412205818 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.10109 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Sep 30, 2014 at 03:21:23PM -0400, Brian Foster wrote: > If we write to the maximum file offset (2^63-2), XFS fails to log the > inode size update when the page is flushed. For example: > > $ xfs_io -fc "pwrite `echo "2^63-1-1" | bc` 1" /mnt/file > wrote 1/1 bytes at offset 9223372036854775806 > 1.000000 bytes, 1 ops; 0.0000 sec (22.711 KiB/sec and 23255.8140 ops/sec) > $ stat -c %s /mnt/file > 9223372036854775807 > $ umount /mnt ; mount /mnt/ > $ stat -c %s /mnt/file > 0 > > This occurs because XFS calculates the new file size as io_offset + > io_size, I/O occurs in block sized requests, and the maximum supported > file size is not block aligned. Therefore, a write to the max allowable > offset on a 4k blocksize fs results in a write of size 4k to offset > 2^63-4096 (e.g., equivalent to round_down(2^63-1, 4096), or IOW the > offset of the block that contains the max file size). The offset plus > size calculation (2^63 - 4096 + 4096 == 2^63) overflows the signed > 64-bit variable which goes negative and causes the > comparison to the > on-disk inode size to fail. This returns 0 from xfs_new_eof() and > results in no change to the inode on-disk. > > Update xfs_new_eof() to explicitly detect overflow of the local > calculation and use the VFS inode size in this scenario. The VFS inode > size is capped to the maximum and thus XFS writes the correct inode size > to disk. > > Signed-off-by: Brian Foster > --- > > Hi all, > > This was also discovered while playing around with xfs/071, though it > doesn't cause a failure. FWIW, I started off fixing this by converting > xfs_new_eof() to use xfs_ufsize_t. That worked, but this seemed more > explicit. > > Brian > > fs/xfs/xfs_inode.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h > index c10e3fa..9af2882 100644 > --- a/fs/xfs/xfs_inode.h > +++ b/fs/xfs/xfs_inode.h > @@ -102,7 +102,7 @@ xfs_new_eof(struct xfs_inode *ip, xfs_fsize_t new_size) > { > xfs_fsize_t i_size = i_size_read(VFS_I(ip)); > > - if (new_size > i_size) > + if (new_size > i_size || new_size < 0) > new_size = i_size; > return new_size > ip->i_d.di_size ? new_size : 0; > } Looks good. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 1 18:26: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 B34A17F6B for ; Wed, 1 Oct 2014 18:26:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 809628F8037 for ; Wed, 1 Oct 2014 16:26:14 -0700 (PDT) X-ASG-Debug-ID: 1412205972-04bdf003a26ce150001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id Eu1konBVhNonQaCy for ; Wed, 01 Oct 2014 16:26:12 -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: ApU7AGOMLFR5LDjw/2dsb2JhbABggw6BLLY2BpVchWoCAgEBAoEGFwF7hAQBAQQ6HCMQCAMYCSUPBSUDIROIPbxHGIV9ihEHhEsBBJ0yjEqJKoN1Ky+CSgEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail07.adl2.internode.on.net with ESMTP; 02 Oct 2014 08:56:12 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZTHT-0002nc-FN; Thu, 02 Oct 2014 09:25:59 +1000 Date: Thu, 2 Oct 2014 09:25:59 +1000 From: Dave Chinner To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfs: check for null dquot in xfs_quota_calc_throttle() Message-ID: <20141001232559.GG10298@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: check for null dquot in xfs_quota_calc_throttle() References: <542C28E5.506@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542C28E5.506@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: 1412205972 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.10109 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 11:16:37AM -0500, Eric Sandeen wrote: > Coverity spotted this. > > Granted, we *just* checked xfs_inod_dquot() in the caller (by calling > xfs_quota_need_throttle), but to be honest I don't know if this can > race, and this is the only place we don't check the return value - > and the check seems cheap and future-proof. > > Signed-off-by: Eric Sandeen > --- > > Sorry for the handwavy commit log, if it's obvious that it can > race, feel free to fix the description. ;) Description changed simply to say: ... this is the only place we don't check the return value, but the check is cheap and future-proof, so add it. And so: Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From tytso@thunk.org Wed Oct 1 21:06: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 235237F6F for ; Wed, 1 Oct 2014 21:06:29 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id C1A34AC001 for ; Wed, 1 Oct 2014 19:06:25 -0700 (PDT) X-ASG-Debug-ID: 1412215583-04bdf003a06d38e0001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id aPIDD8NLGOOhxVBy (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Wed, 01 Oct 2014 19:06:23 -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=/UxifbJSGf4D9Ql8weGW9qceelWIJ0yskxe3iY/RmWg=; b=DD8zfHGhQBU30pB9hBrGEmjbQs3RYYQiiyf4jGQSrOetKkC4dC3/NKCralDfUC0dkD5BUDl31Alnf49lKGy5obFsAUQ340CYghnUH1nswMHPFRce0PhpS2ZTRBXmJPNJqDbz9LtzocHxxOU/VTwzc9I0NNf0nFAf57FVV/Z1TCM=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1XZVme-00054K-MO; Thu, 02 Oct 2014 02:06:20 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id D060B5801E3; Wed, 1 Oct 2014 22:06:19 -0400 (EDT) Date: Wed, 1 Oct 2014 22:06:19 -0400 From: Theodore Ts'o To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, xfs@oss.sgi.com, Dave Chinner Subject: Re: [PATCH 1/2] vfs: Fix data corruption when blocksize < pagesize for mmaped data Message-ID: <20141002020619.GA16766@thunk.org> X-ASG-Orig-Subj: Re: [PATCH 1/2] vfs: Fix data corruption when blocksize < pagesize for mmaped data References: <1411648916-16773-1-git-send-email-jack@suse.cz> <1411648916-16773-2-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1411648916-16773-2-git-send-email-jack@suse.cz> 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: 1412215583 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.10113 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 Thu, Sep 25, 2014 at 02:41:55PM +0200, Jan Kara wrote: > ->page_mkwrite() is used by filesystems to allocate blocks under a page > which is becoming writeably mmapped in some process' address space. This > allows a filesystem to return a page fault if there is not enough space > available, user exceeds quota or similar problem happens, rather than > silently discarding data later when writepage is called. > > However VFS fails to call ->page_mkwrite() in all the cases where > filesystems need it when blocksize < pagesize. For example when > blocksize = 1024, pagesize = 4096 the following is problematic: > ftruncate(fd, 0); > pwrite(fd, buf, 1024, 0); > map = mmap(NULL, 1024, PROT_WRITE, MAP_SHARED, fd, 0); > map[0] = 'a'; ----> page_mkwrite() for index 0 is called > ftruncate(fd, 10000); /* or even pwrite(fd, buf, 1, 10000) */ > mremap(map, 1024, 10000, 0); > map[4095] = 'a'; ----> no page_mkwrite() called > > At the moment ->page_mkwrite() is called, filesystem can allocate only > one block for the page because i_size == 1024. Otherwise it would create > blocks beyond i_size which is generally undesirable. But later at > ->writepage() time, we also need to store data at offset 4095 but we > don't have block allocated for it. > > This patch introduces a helper function filesystems can use to have > ->page_mkwrite() called at all the necessary moments. > > Signed-off-by: Jan Kara Applied to the ext4 tree, thanks. - Ted From tytso@thunk.org Wed Oct 1 21:06: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 6ABE27F76 for ; Wed, 1 Oct 2014 21:06:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 150E6AC003 for ; Wed, 1 Oct 2014 19:06:36 -0700 (PDT) X-ASG-Debug-ID: 1412215595-04cb6c50e664f060001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id GhGhyUoz929rOW8q (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Wed, 01 Oct 2014 19:06:35 -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=X9CM0OmQQDFou1fvUcqOdAjoi/GA4mnPuznxoWLcnqQ=; b=DXNCQpy6j1ySCKSq8g0OZAUGbumN79BBI3nyJ6yOnEzUE0CBRE/0Vzzhz5ufSGRHnu4fxw6vmjg2cR0v5m3J37alaEhCUfjnBPw7xOUkB+iDjHnchktPKC8fhQ+mTofaXI+TRH0OC3EJuippYj2v4v1Z8EHUh5Cf7kJxXfpmehI=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1XZVms-00054h-Ou; Thu, 02 Oct 2014 02:06:34 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id 180385801E3; Wed, 1 Oct 2014 22:06:34 -0400 (EDT) Date: Wed, 1 Oct 2014 22:06:33 -0400 From: Theodore Ts'o To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, xfs@oss.sgi.com, Dave Chinner Subject: Re: [PATCH 2/2] ext4: Fix mmap data corruption when blocksize < pagesize Message-ID: <20141002020633.GB16766@thunk.org> X-ASG-Orig-Subj: Re: [PATCH 2/2] ext4: Fix mmap data corruption when blocksize < pagesize References: <1411648916-16773-1-git-send-email-jack@suse.cz> <1411648916-16773-3-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1411648916-16773-3-git-send-email-jack@suse.cz> 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: 1412215595 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.10113 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 Thu, Sep 25, 2014 at 02:41:56PM +0200, Jan Kara wrote: > Use truncate_isize_extended() when hole is being created in a file so that > ->page_mkwrite() will get called for the partial tail page if it is > mmaped (see the first patch in the series for details). > > Signed-off-by: Jan Kara Applied to the ext4 tree, thanks. - Ted From jack@suse.cz Thu Oct 2 02:45: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 5C27F7F63 for ; Thu, 2 Oct 2014 02:45:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id DB2EAAC00E for ; Thu, 2 Oct 2014 00:45:43 -0700 (PDT) X-ASG-Debug-ID: 1412235937-04cbb073036e4b90001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id zN8afQdQSYTadSSr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 00:45: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 AFFFDAAF3; Thu, 2 Oct 2014 07:45:36 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DFCEA81FBC; Thu, 2 Oct 2014 09:45:34 +0200 (CEST) Date: Thu, 2 Oct 2014 09:45:34 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , xfs@oss.sgi.com Subject: Re: Test xfs/287 failure Message-ID: <20141002074534.GA19748@quack.suse.cz> X-ASG-Orig-Subj: Re: Test xfs/287 failure References: <20141001152314.GH17405@quack.suse.cz> <20141001224155.GW4758@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001224155.GW4758@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412235937 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.10121 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu 02-10-14 08:41:55, Dave Chinner wrote: > On Wed, Oct 01, 2014 at 05:23:14PM +0200, Jan Kara wrote: > > Hello, > > > > so after installing latest xfsdump (just pulled git repo at oss.sgi.com), > > I'm getting failure in test xfs/287. The failure is: > > xfs/287 2s ... 2s > > _check_xfs_filesystem: filesystem on /dev/vdb2 is inconsistent (r) (see > > /var/lib/xfstests/results//xfs/287.full) > > > > And the 287.full has: > > ... > > Phase 3 - for each AG... > > - scan (but don't clear) agi unlinked lists... > > - process known inodes and perform inode discovery... > > - agno = 0 > > directory flags set on non-directory inode 133 > > directory flags set on non-directory inode 134 > > directory flags set on non-directory inode 133 > > would fix bad flags. > > directory flags set on non-directory inode 134 > > would fix bad flags. > > ... > > > > Complete file is attached. I'm using also the latest xfsprogs from git and > > kernel 3.17.0-rc5 (plus couple of my patches but these should have no > > influence). > > It's a bug, but a minor inconvenience at worst. I sent patches to > fix this a couple of days ago: > > http://oss.sgi.com/archives/xfs/2014-09/msg00510.html Ah, OK. Thanks for info. I was just going through xfstests failures in my test VM and fixing xfstests / my setup and I wasn't able to figure out this one... Honza -- Jan Kara SUSE Labs, CR From swhiteho@redhat.com Thu Oct 2 05:42: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 97BC37F63 for ; Thu, 2 Oct 2014 05:42:23 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 77C298F8033 for ; Thu, 2 Oct 2014 03:42:20 -0700 (PDT) X-ASG-Debug-ID: 1412246539-04bdf003a06e3c70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id KWJVyOcwqPLxkAan (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 03:42:19 -0700 (PDT) X-Barracuda-Envelope-From: swhiteho@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 s92AfW5S005916 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 2 Oct 2014 06:41:32 -0400 Received: from [10.10.56.253] (vpn-56-253.rdu2.redhat.com [10.10.56.253]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s92AfSWS005206; Thu, 2 Oct 2014 06:41:28 -0400 Message-ID: <542D2BD7.8020704@redhat.com> Date: Thu, 02 Oct 2014 11:41:27 +0100 From: Steven Whitehouse User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1 MIME-Version: 1.0 To: Jan Kara , linux-fsdevel@vger.kernel.org CC: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 02/12] gfs2: Set allowed quota types References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-3-git-send-email-jack@suse.cz> X-ASG-Orig-Subj: Re: [PATCH 02/12] gfs2: Set allowed quota types In-Reply-To: <1412191894-9113-3-git-send-email-jack@suse.cz> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit 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: 1412246539 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 Hi, On 01/10/14 20:31, Jan Kara wrote: > We support user and group quotas. Tell vfs about it. > > CC: Steven Whitehouse > CC: cluster-devel@redhat.com > Signed-off-by: Jan Kara > --- > fs/gfs2/ops_fstype.c | 1 + > 1 file changed, 1 insertion(+) Acked-by: Steven Whitehouse Steve. > diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c > index d3eae244076e..3032e6d069b5 100644 > --- a/fs/gfs2/ops_fstype.c > +++ b/fs/gfs2/ops_fstype.c > @@ -1083,6 +1083,7 @@ static int fill_super(struct super_block *sb, struct gfs2_args *args, int silent > sb->s_xattr = gfs2_xattr_handlers; > sb->s_qcop = &gfs2_quotactl_ops; > sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE; > + sb_dqopt(sb)->allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA); > sb->s_time_gran = 1; > sb->s_maxbytes = MAX_LFS_FILESIZE; > From sdray@espial.com Thu Oct 2 06:05: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=2.0 required=5.0 tests=DEAR_SOMETHING,T_FRT_STOCK2 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 B95187F63 for ; Thu, 2 Oct 2014 06:05:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 835E08F8035 for ; Thu, 2 Oct 2014 04:05:31 -0700 (PDT) X-ASG-Debug-ID: 1412247918-04bdf003a26e4660001-NocioJ Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0126.outbound.protection.outlook.com [207.46.100.126]) by cuda.sgi.com with ESMTP id rmtdA36psoX2enAW (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 04:05:19 -0700 (PDT) X-Barracuda-Envelope-From: sdray@Espial.com X-Barracuda-Apparent-Source-IP: 207.46.100.126 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com (25.160.170.28) by BN1PR0301MB0628.namprd03.prod.outlook.com (25.160.171.13) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Thu, 2 Oct 2014 11:05:15 +0000 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) by BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) with mapi id 15.00.1039.011; Thu, 2 Oct 2014 11:05:15 +0000 From: Simon Dray To: Dave Chinner CC: "xfs@oss.sgi.com" Subject: RE: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Topic: XFS issue xfs goes offline with various messages drive not recoverable without reboot X-ASG-Orig-Subj: RE: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Index: AQHP2JiOlCHFKVSF30yUfVq4ZEQPRJwcrPTw Date: Thu, 2 Oct 2014 11:05:14 +0000 Message-ID: References: <20140925081254.GH4758@dastard> In-Reply-To: <20140925081254.GH4758@dastard> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [212.44.45.165] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0628; x-forefront-prvs: 03524FBD26 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(13464003)(51704005)(69234005)(189002)(54094003)(24454002)(199003)(85306004)(92566001)(108616004)(99936001)(80022003)(15202345003)(15395725005)(66066001)(85852003)(64706001)(21056001)(20776003)(99286002)(86362001)(16799955002)(76176999)(33646002)(15975445006)(50986999)(54356999)(97736003)(31966008)(76482002)(77096002)(101416001)(106356001)(87936001)(2656002)(120916001)(106116001)(4396001)(105586002)(19580405001)(74316001)(95666004)(110136001)(76576001)(99396003)(107046002)(46102003)(19580395003)(10300001)(24736002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR0301MB0628;H:BN1PR0301MB0625.namprd03.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Content-Type: multipart/mixed; boundary="_002_dcbe632f22434828866c744247fcad08BN1PR0301MB0625namprd03_" MIME-Version: 1.0 X-OriginatorOrg: Espial.com X-Barracuda-Connect: mail-by2on0126.outbound.protection.outlook.com[207.46.100.126] X-Barracuda-Start-Time: 1412247919 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.12 X-Barracuda-Spam-Status: No, SCORE=0.12 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10125 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.10 BSF_SC0_SA085 Custom Rule SA085 --_002_dcbe632f22434828866c744247fcad08BN1PR0301MB0625namprd03_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Dave Hi Not sure if I should send this to you direct or not, I now have further inf= ormation on the issue as per the reporting xfs issues page I would appreciate any insight you can give on the issue, I believe it to a= hardware issue but need confirmation either way Best regards Simon -----Original Message----- From: Dave Chinner [mailto:david@fromorbit.com]=20 Sent: 25 September 2014 09:13 To: Simon Dray Cc: xfs@oss.sgi.com Subject: Re: XFS issue xfs goes offline with various messages drive not rec= overable without reboot On Thu, Sep 25, 2014 at 07:30:23AM +0000, Simon Dray wrote: > Dear Sirs >=20 > I wonder if you can help with an issue we see re-occuring on a regular=20 > basis with one of our HP systems which uses a HP 420 Raid controller tl;dr: more information is needed about your system to make sense of the pr= oblem. See here: http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_= reporting_a_problem.3F > Action taken >=20 > We first saw the following: > [root@ content]# ls > ls: cannot open directory .: Input/output error The filesystem has shut down due to a fatal error. > We try to run: > [root@ /]# xfs_check /dev/md0 > xfs_check: /dev/md0 contains a mounted and writable filesystem fatal=20 > error -- couldn't initialize XFS library FYI, xfs_check was deprecated a quite a while ago. It no longer exists in c= urrent releases.... > We also tried to umount the /dev/md0 before runniing xfs_check but no=20 > luck. We received the error: device is in use That can happen if the storage has gone bad and IOs have been lost. > We use xfs for one of our large raid file systems and we are seeing=20 > the xfs filesystem go offline with the following messages in dmesg >=20 > messages-20140921:Sep 18 23:01: kernel: XFS (md0): Device md0:=20 > metadata write error block 0x5e28623d8 What messages occurred before this? Something reported an IO error back to = XFS, and so that something should have logged an error message... > messages-20140921:Sep 18 23:01:04 kernel: XFS (md0): I/O error=20 > occurred: meta-data dev md0 block 0x445cccc40 ("xlog_iodone") error 5=20 > buf count 32768 messages-20140921:Sep 18 23:01:04 kernel: XFS (md0):=20 > xfs_do_force_shutdown(0x2) called from line 891 of file=20 > fs/xfs/xfs_log.c. Return address =3D 0xffffffffa2c428dc messages-20140921= :Sep 18 23:01:04 kernel: XFS (md0): Log I/O Error Detected. Shutting down f= ilesystem messages-20140921:Sep 18 23:01:04 kernel: XFS (md0): Please umoun= t the filesystem and rectify the problem(s) messages-20140921:Sep 18 23:01:= 04 kernel: XFS (md0): xfs_imap_to_bp: xfs_trans_read_buf() returned error 5= . > messages-20140921:Sep 18 23:01:04 kernel: XFS (md0): xfs_iunlink_remove: = xfs_itobp() returned error 5. Yup, kernel code is at least 2 years old, because we removed xfs_itobp in m= id 2012... ;) > In all occurrences the only way to recover from this is to reboot the=20 > system and allow xfs_repair to run during boot this clears the issue=20 > until next time >=20 > We have checked the RAID health and nothing seems to be amiss, if you=20 > could help with this it would be much appreciated That's par for the course when hardware raid goes AWOL - they almost never = report that they had a problem when they hang (e.g. firmware crashes so can= 't log an event to say it crashed). But really, more information about your system and more complete logs are n= eeded to be able to make any progress triaging the problem. Cheers, Dave. -- Dave Chinner david@fromorbit.com --_002_dcbe632f22434828866c744247fcad08BN1PR0301MB0625namprd03_ Content-Type: text/plain; name="logs.txt" Content-Description: logs.txt Content-Disposition: attachment; filename="logs.txt"; size=272481; creation-date="Thu, 02 Oct 2014 10:58:03 GMT"; modification-date="Thu, 02 Oct 2014 11:03:45 GMT" Content-Transfer-Encoding: base64 DQotIGNvbnRlbnRzIG9mIC9wcm9jL21lbWluZm8NCk1lbVRvdGFsOiAgICAgICA0OTM3MjkzNiBr Qg0KTWVtRnJlZTogICAgICAgICA0MTU5NzgwIGtCDQpCdWZmZXJzOiAgICAgICAgICAzMjQyNzYg a0INCkNhY2hlZDogICAgICAgICAxNTE0MTc0OCBrQg0KU3dhcENhY2hlZDogICAgICAgICAgICAw IGtCDQpBY3RpdmU6ICAgICAgICAgMTMwNjA1OTYga0INCkluYWN0aXZlOiAgICAgICAgNDI5MDc4 MCBrQg0KQWN0aXZlKGFub24pOiAgICAxOTQ4NDg4IGtCDQpJbmFjdGl2ZShhbm9uKTogICAgICAg IDgga0INCkFjdGl2ZShmaWxlKTogICAxMTExMjEwOCBrQg0KSW5hY3RpdmUoZmlsZSk6ICA0Mjkw NzcyIGtCDQpVbmV2aWN0YWJsZTogICAgICAxODc4NjAga0INCk1sb2NrZWQ6ICAgICAgICAgIDEx MDE4OCBrQg0KU3dhcFRvdGFsOiAgICAgICA0MzAwNzkyIGtCDQpTd2FwRnJlZTogICAgICAgIDQz MDA3OTIga0INCkRpcnR5OiAgICAgICAgICAgICAgMTI3NiBrQg0KV3JpdGViYWNrOiAgICAgICAg ICAgICAwIGtCDQpBbm9uUGFnZXM6ICAgICAgIDIxMjQxMDQga0INCk1hcHBlZDogICAgICAgICAg ICA4MDM0NCBrQg0KU2htZW06ICAgICAgICAgICAgICAgMjQwIGtCDQpTbGFiOiAgICAgICAgICAg IDIwMjQ5MjQga0INClNSZWNsYWltYWJsZTogICAgMTQ2OTU5MiBrQg0KU1VucmVjbGFpbTogICAg ICAgNTU1MzMyIGtCDQpLZXJuZWxTdGFjazogICAgICAgMTA2MDAga0INClBhZ2VUYWJsZXM6ICAg ICAgICAxMjA1NiBrQg0KTkZTX1Vuc3RhYmxlOiAgICAgICAgICAwIGtCDQpCb3VuY2U6ICAgICAg ICAgICAgICAgIDAga0INCldyaXRlYmFja1RtcDogICAgICAgICAgMCBrQg0KQ29tbWl0TGltaXQ6 ICAgIDE2NDg4MzE2IGtCDQpDb21taXR0ZWRfQVM6ICAgIDE1NzE2MDQga0INClZtYWxsb2NUb3Rh bDogICAzNDM1OTczODM2NyBrQg0KVm1hbGxvY1VzZWQ6ICAgICAgMzk3MzM2IGtCDQpWbWFsbG9j Q2h1bms6ICAgMzQzMTY4ODM2OTYga0INCkhhcmR3YXJlQ29ycnVwdGVkOiAgICAgMCBrQg0KQW5v bkh1Z2VQYWdlczogICAxMTE4MjA4IGtCDQpIdWdlUGFnZXNfVG90YWw6ICAgMTIyMDYNCkh1Z2VQ YWdlc19GcmVlOiAgICAgICAgMA0KSHVnZVBhZ2VzX1JzdmQ6ICAgICAgICAwDQpIdWdlUGFnZXNf U3VycDogICAgICAgIDANCkh1Z2VwYWdlc2l6ZTogICAgICAgMjA0OCBrQg0KRGlyZWN0TWFwNGs6 ICAgICAgIDEwMTAwIGtCDQpEaXJlY3RNYXAyTTogICAgIDQxMzI4NjQga0INCkRpcmVjdE1hcDFH OiAgICA0NjEzNzM0NCBrQg0KDQoNCi0gY29udGVudHMgb2YgL3Byb2MvbW91bnRzDQpyb290ZnMg LyByb290ZnMgcncgMCAwDQpwcm9jIC9wcm9jIHByb2Mgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxy ZWxhdGltZSAwIDANCnN5c2ZzIC9zeXMgc3lzZnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxh dGltZSAwIDANCmRldnRtcGZzIC9kZXYgZGV2dG1wZnMgcncsbm9zdWlkLHJlbGF0aW1lLHNpemU9 MjQ2NzYxNDBrLG5yX2lub2Rlcz02MTY5MDM1LG1vZGU9NzU1IDAgMA0KZGV2cHRzIC9kZXYvcHRz IGRldnB0cyBydyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAgMCAwDQp0bXBm cyAvZGV2L3NobSB0bXBmcyBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgMCAwDQovZGV2L3NkYTIg LyBleHQ0IHJ3LHJlbGF0aW1lLGJhcnJpZXI9MSxzdHJpcGU9ODk2LGRhdGE9b3JkZXJlZCAwIDAN Ci9wcm9jL2J1cy91c2IgL3Byb2MvYnVzL3VzYiB1c2JmcyBydyxyZWxhdGltZSAwIDANCi9kZXYv c2RhMSAvYm9vdCBleHQ0IHJ3LHJlbGF0aW1lLGJhcnJpZXI9MSxzdHJpcGU9MzU4NCxkYXRhPW9y ZGVyZWQgMCAwDQovZGV2L3NkYTQgL3VzciBleHQ0IHJ3LHJlbGF0aW1lLGJhcnJpZXI9MSxzdHJp cGU9ODk2LGRhdGE9b3JkZXJlZCAwIDANCi9kZXYvbWQwIC9jb250ZW50IHhmcyBydyxub2F0aW1l LGF0dHIyLGRlbGF5bG9nLHN1bml0PTcxNjgsc3dpZHRoPTcxNjgsbm9xdW90YSAwIDANCm5vbmUg L3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIGJpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIDAgMA0Kc3Vu cnBjIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJwY19waXBlZnMgcncscmVsYXRpbWUgMCAwDQov ZXRjL2F1dG8ubWlzYyAvbWlzYyBhdXRvZnMgcncscmVsYXRpbWUsZmQ9NyxwZ3JwPTQ1NTQsdGlt ZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGluZGlyZWN0IDAgMA0KLWhvc3RzIC9uZXQg YXV0b2ZzIHJ3LHJlbGF0aW1lLGZkPTEzLHBncnA9NDU1NCx0aW1lb3V0PTMwMCxtaW5wcm90bz01 LG1heHByb3RvPTUsaW5kaXJlY3QgMCAwDQoNCg0KLSBjb250ZW50cyBvZiAvcHJvYy9wYXJ0aXRp b25zDQptYWpvciBtaW5vciAgI2Jsb2NrcyAgbmFtZQ0KDQogICA4ICAgICAgIDE2ICAgMzc3NDgx NjAgc2RiDQogICA4ICAgICAgIDMyICAgMzc3NDgxNjAgc2RjDQogICA4ICAgICAgIDQ4IDYxMTU2 MzAzNjAgc2RkDQogICA4ICAgICAgIDY0IDYxMTU2MzAzNjAgc2RlDQogICA4ICAgICAgIDgwIDYx MTU2MzAzNjAgc2RmDQogICA4ICAgICAgICAwICAgMzc3NDgxNjAgc2RhDQogICA4ICAgICAgICAx ICAgICAyNjE2MzIgc2RhMQ0KICAgOCAgICAgICAgMiAgICA4NjAxNjAwIHNkYTINCiAgIDggICAg ICAgIDMgICAgNDMwMDgwMCBzZGEzDQogICA4ICAgICAgICA0ICAgMjQ1NzkwNzIgc2RhNA0KICAg OSAgICAgICAgMCAxODM0Njg3OTQ4OCBtZDANCg0KLSB4ZnNfaW5mbyBvdXRwdXQgb24gdGhlIGZp bGVzeXN0ZW0gaW4gcXVlc3Rpb24NCltyb290QCB+XSMgIHhmc19pbmZvIC9jb250ZW50Lw0KeGZz X2luZm86IC9jb250ZW50LyBpcyBub3QgYSBtb3VudGVkIFhGUyBmaWxlc3lzdGVtDQpbcm9vdEAg fl0jIGxzIC9jb250ZW50DQpsczogY2Fubm90IGFjY2VzcyAvY29udGVudA0KW3Jvb3RAIH5dIyBt b3VudA0KL2Rldi9zZGEyIG9uIC8gdHlwZSBleHQ0IChydykNCnByb2Mgb24gL3Byb2MgdHlwZSBw cm9jIChydykNCnN5c2ZzIG9uIC9zeXMgdHlwZSBzeXNmcyAocncpDQpkZXZwdHMgb24gL2Rldi9w dHMgdHlwZSBkZXZwdHMgKHJ3LGdpZD01LG1vZGU9NjIwKQ0KdG1wZnMgb24gL2Rldi9zaG0gdHlw ZSB0bXBmcyAocncpDQovZGV2L3NkYTEgb24gL2Jvb3QgdHlwZSBleHQ0IChydykNCi9kZXYvc2Rh NCBvbiAvdXNyIHR5cGUgZXh0NCAocncpDQovZGV2L21kMCBvbiAvY29udGVudCB0eXBlIHhmcyAo cncsbm9hdGltZSkNCm5vbmUgb24gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHR5cGUgYmluZm10 X21pc2MgKHJ3KQ0Kc3VucnBjIG9uIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHR5cGUgcnBjX3Bp cGVmcyAocncpDQoNCg0KLWRtZXNnDQpbcm9vdEAgfl0jIGRtZXNnDQpJbml0aWFsaXppbmcgY2dy b3VwIHN1YnN5cyBjcHVzZXQNCkluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdQ0KTGludXgg dmVyc2lvbiAyLjYuMzItMjc5LmVsNi54ODZfNjQgKHJvb3RAYnVpbGQ2Lmthc2VubmEud2FuKSAo Z2NjIHZlcnNpb24gNC40LjQgMjAxMDA3MjYgKFJlZCBIYXQgNC40LjQtMTMpIChHQ0MpICkgIzEg U01QIFdlZCBNYXIgMjAgMDY6MzY6MzEgUERUIDIwMTMNCkNvbW1hbmQgbGluZTogcm8gcm9vdD1V VUlEPTJhNTllMGM2LTdjNmEtNDViNC05NzNlLTI4ZTE4MzczNTdhOSByZF9OT19MVUtTIHJkX05P X0xWTSBMQU5HPWVuX1VTLlVURi04IHJkX05PX01EIFNZU0ZPTlQ9bGF0YXJjeXJoZWItc3VuMTYg Y3Jhc2hrZXJuZWw9YXV0byAgS0VZQk9BUkRUWVBFPXBjIEtFWVRBQkxFPXVzIHJkX05PX0RNIHJo Z2IgcXVpZXQgZXhjbHVkZV9jcHVzPTMxLDI3LDIzLDE5LDI5LDI1LDIxLDE3IGh1Z2VwYWdlcz0x MjIwNg0KS0VSTkVMIHN1cHBvcnRlZCBjcHVzOg0KICBJbnRlbCBHZW51aW5lSW50ZWwNCiAgQU1E IEF1dGhlbnRpY0FNRA0KICBDZW50YXVyIENlbnRhdXJIYXVscw0KQklPUy1wcm92aWRlZCBwaHlz aWNhbCBSQU0gbWFwOg0KIEJJT1MtZTgyMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAw OWY0MDAgKHVzYWJsZSkNCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAwOWY0MDAgLSAwMDAwMDAwMDAw MGEwMDAwIChyZXNlcnZlZCkNCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAwZjAwMDAgLSAwMDAwMDAw MDAwMTAwMDAwIChyZXNlcnZlZCkNCiBCSU9TLWU4MjA6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAw MDAwMGJkZGRlMDAwICh1c2FibGUpDQogQklPUy1lODIwOiAwMDAwMDAwMGJkZGRlMDAwIC0gMDAw MDAwMDBiZGUwZTAwMCAoQUNQSSBkYXRhKQ0KIEJJT1MtZTgyMDogMDAwMDAwMDBiZGUwZTAwMCAt IDAwMDAwMDAwZDAwMDAwMDAgKHJlc2VydmVkKQ0KIEJJT1MtZTgyMDogMDAwMDAwMDBmZWMwMDAw MCAtIDAwMDAwMDAwZmVlMTAwMDAgKHJlc2VydmVkKQ0KIEJJT1MtZTgyMDogMDAwMDAwMDBmZjgw MDAwMCAtIDAwMDAwMDAxMDAwMDAwMDAgKHJlc2VydmVkKQ0KIEJJT1MtZTgyMDogMDAwMDAwMDEw MDAwMDAwMCAtIDAwMDAwMDBjM2VmZmYwMDAgKHVzYWJsZSkNCkRNSSAyLjcgcHJlc2VudC4NClNN QklPUyB2ZXJzaW9uIDIuNyBAIDB4RjRGMjANCkRNSTogSFAgUHJvTGlhbnQgREwzODVwIEdlbjgs IEJJT1MgQTI4IDEyLzA4LzIwMTINCmU4MjAgdXBkYXRlIHJhbmdlOiAwMDAwMDAwMDAwMDAwMDAw IC0gMDAwMDAwMDAwMDAwMTAwMCAodXNhYmxlKSA9PT4gKHJlc2VydmVkKQ0KZTgyMCByZW1vdmUg cmFuZ2U6IDAwMDAwMDAwMDAwYTAwMDAgLSAwMDAwMDAwMDAwMTAwMDAwICh1c2FibGUpDQpsYXN0 X3BmbiA9IDB4YzNlZmZmIG1heF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAwDQpNVFJSIGRlZmF1bHQg dHlwZTogdW5jYWNoYWJsZQ0KTVRSUiBmaXhlZCByYW5nZXMgZW5hYmxlZDoNCiAgMDAwMDAtOUZG RkYgd3JpdGUtYmFjaw0KICBBMDAwMC1CRkZGRiB1bmNhY2hhYmxlDQogIEMwMDAwLUZGRkZGIHdy aXRlLWJhY2sNCk1UUlIgdmFyaWFibGUgcmFuZ2VzIGVuYWJsZWQ6DQogIDAgYmFzZSAwMDAwMDAw MDAwMDAgbWFzayBGRkZGODAwMDAwMDAgd3JpdGUtYmFjaw0KICAxIGJhc2UgMDAwMDgwMDAwMDAw IG1hc2sgRkZGRkMwMDAwMDAwIHdyaXRlLWJhY2sNCiAgMiBkaXNhYmxlZA0KICAzIGRpc2FibGVk DQogIDQgZGlzYWJsZWQNCiAgNSBkaXNhYmxlZA0KICA2IGRpc2FibGVkDQogIDcgZGlzYWJsZWQN ClRPTTI6IDAwMDAwMDBjM2YwMDAwMDAgYWthIDUwMTYwTQ0KeDg2IFBBVCBlbmFibGVkOiBjcHUg MCwgb2xkIDB4NzA0MDYwMDA3MDQwNiwgbmV3IDB4NzAxMDYwMDA3MDEwNg0KZTgyMCB1cGRhdGUg cmFuZ2U6IDAwMDAwMDAwYzAwMDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwICh1c2FibGUpID09PiAo cmVzZXJ2ZWQpDQpsYXN0X3BmbiA9IDB4YmRkZGUgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAN CmluaXRpYWwgbWVtb3J5IG1hcHBlZCA6IDAgLSAyMDAwMDAwMA0KVXNpbmcgR0IgcGFnZXMgZm9y IGRpcmVjdCBtYXBwaW5nDQppbml0X21lbW9yeV9tYXBwaW5nOiAwMDAwMDAwMDAwMDAwMDAwLTAw MDAwMDAwYmRkZGUwMDANCiAwMDAwMDAwMDAwIC0gMDA4MDAwMDAwMCBwYWdlIDFHDQogMDA4MDAw MDAwMCAtIDAwYmRjMDAwMDAgcGFnZSAyTQ0KIDAwYmRjMDAwMDAgLSAwMGJkZGRlMDAwIHBhZ2Ug NGsNCmtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gYmRkZGUwMDAgQCA4MDAwLWIw MDANCmluaXRfbWVtb3J5X21hcHBpbmc6IDAwMDAwMDAxMDAwMDAwMDAtMDAwMDAwMGMzZWZmZjAw MA0KIDAxMDAwMDAwMDAgLSAwYzAwMDAwMDAwIHBhZ2UgMUcNCiAwYzAwMDAwMDAwIC0gMGMzZWUw MDAwMCBwYWdlIDJNDQogMGMzZWUwMDAwMCAtIDBjM2VmZmYwMDAgcGFnZSA0aw0Ka2VybmVsIGRp cmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byBjM2VmZmYwMDAgQCBhMDAwLWQwMDANClJBTURJU0s6 IDM2ZmEzMDAwIC0gMzdmZWYyNGYNCkFDUEk6IFJTRFAgMDAwMDAwMDAwMDBmNGVlMCAwMDAyNCAo djAyIEhQICAgICkNCkFDUEk6IFhTRFQgMDAwMDAwMDBiZGRlMTg4MCAwMDBENCAodjAxIEhQICAg ICBQcm9MaWFudCAwMDAwMDAwMiAgINI/IDAwMDAxNjJFKQ0KQUNQSTogRkFDUCAwMDAwMDAwMGJk ZGUxOTgwIDAwMEY0ICh2MDMgSFAgICAgIFByb0xpYW50IDAwMDAwMDAyICAg0j8gMDAwMDE2MkUp DQpBQ1BJOiBEU0RUIDAwMDAwMDAwYmRkZTFhODAgMEQyRjcgKHYwMSBIUCAgICAgICAgIERTRFQg MDAwMDAwMDEgSU5UTCAyMDA2MTEwOSkNCkFDUEk6IEZBQ1MgMDAwMDAwMDBiZGRkZTE0MCAwMDA0 MA0KQUNQSTogU1BDUiAwMDAwMDAwMGJkZGRlMTgwIDAwMDUwICh2MDEgSFAgICAgIFNQQ1JSQlNV IDAwMDAwMDAxICAg0j8gMDAwMDE2MkUpDQpBQ1BJOiBNQ0ZHIDAwMDAwMDAwYmRkZGUyMDAgMDAw M0MgKHYwMSBIUCAgICAgUHJvTGlhbnQgMDAwMDAwMDEgICAgICAwMDAwMDAwMCkNCkFDUEk6IEhQ RVQgMDAwMDAwMDBiZGRkZTI0MCAwMDAzOCAodjAxIEhQICAgICBQcm9MaWFudCAwMDAwMDAwMiAg INI/IDAwMDAxNjJFKQ0KQUNQSTogU1BNSSAwMDAwMDAwMGJkZGRlMjgwIDAwMDQwICh2MDUgSFAg ICAgIFByb0xpYW50IDAwMDAwMDAxICAg0j8gMDAwMDE2MkUpDQpBQ1BJOiBFUlNUIDAwMDAwMDAw YmRkZGUyYzAgMDAyMzAgKHYwMSBIUCAgICAgUHJvTGlhbnQgMDAwMDAwMDEgICDSPyAwMDAwMTYy RSkNCkFDUEk6IEFQSUMgMDAwMDAwMDBiZGRkZTUwMCAwMDE2QSAodjAxIEhQICAgICBQcm9MaWFu dCAwMDAwMDAwMiAgICAgIDAwMDAwMDAwKQ0KQUNQSTogU1JBVCAwMDAwMDAwMGJkZGRlODAwIDAw MzIwICh2MDIgQU1EICAgIEFHRVNBICAgIDAwMDAwMDAxIEFNRCAgMDAwMDAwMDEpDQpBQ1BJOiBG RkZGIDAwMDAwMDAwYmRkZGYwMDAgMDAxNzYgKHYwMSBIUCAgICAgUHJvTGlhbnQgMDAwMDAwMDEg ICDSPyAwMDAwMTYyRSkNCkFDUEk6IEJFUlQgMDAwMDAwMDBiZGRkZjE4MCAwMDAzMCAodjAxIEhQ ICAgICBQcm9MaWFudCAwMDAwMDAwMSAgINI/IDAwMDAxNjJFKQ0KQUNQSTogSEVTVCAwMDAwMDAw MGJkZGRmMWMwIDAwMThDICh2MDEgSFAgICAgIFByb0xpYW50IDAwMDAwMDAxICAg0j8gMDAwMDE2 MkUpDQpBQ1BJOiBGRkZGIDAwMDAwMDAwYmRkZGYzODAgMDAwNjQgKHYwMiBIUCAgICAgUHJvTGlh bnQgMDAwMDAwMDIgICDSPyAwMDAwMTYyRSkNCkFDUEk6IFNMSVQgMDAwMDAwMDBiZGRkZjQwMCAw MDAzQyAodjAxIEFNRCAgICBBR0VTQSAgICAwMDAwMDAwMSBBTUQgIDAwMDAwMDAxKQ0KQUNQSTog UENDVCAwMDAwMDAwMGJkZGUxODAwIDAwMDZFICh2MDEgSFAgICAgIFByb2xpYW50IDAwMDAwMDAx ICAgUEggMDAwMDUwNEQpDQpBQ1BJOiBJVlJTIDAwMDAwMDAwYmRkZGY4MDAgMDAxQzggKHYwMSAg QU1EICAgICBSRDg5MFMgMDAyMDIwMzEgQU1EICAwMDAwMDAwMCkNCkFDUEk6IFNTRFQgMDAwMDAw MDBiZGRlZWQ4MCAwMDEyNSAodjAzICAgICBIUCAgQ1JTUENJMCAwMDAwMDAwMiAgIEhQIDAwMDAw MDAxKQ0KQUNQSTogU1NEVCAwMDAwMDAwMGJkZGVlZWMwIDBCRjA2ICh2MDMgSFAgICAgICBwY2kx Y21uIDAwMDAwMDAyIElOVEwgMjAxMjA1MDMpDQpBQ1BJOiBTU0RUIDAwMDAwMDAwYmRkZmFlMDAg MDAwNzYgKHYwMyAgICAgSFAgIENSU1BDSTEgMDAwMDAwMDIgICBIUCAwMDAwMDAwMSkNCkFDUEk6 IFNTRFQgMDAwMDAwMDBiZGRmYWU4MCAwMDcwMSAodjAxICAgICBIUCAgICAgIHBjYyAwMDAwMDAw MSBJTlRMIDIwMTIwNTAzKQ0KQUNQSTogU1NEVCAwMDAwMDAwMGJkZGZiNWMwIDAwMzc3ICh2MDEg ICAgIEhQICAgICBwbWFiIDAwMDAwMDAxIElOVEwgMjAxMjA1MDMpDQpBQ1BJOiBTU0RUIDAwMDAw MDAwYmRkZmI5NDAgMDU1MjQgKHYwMSAgICAgSFAgICAgIHBjYzIgMDAwMDAwMDEgSU5UTCAyMDEy MDUwMykNCkFDUEk6IFNTRFQgMDAwMDAwMDBiZGUwMGU4MCAwMEJBNCAodjAyIEFNRCAgICBQT1dF Uk5PVyAwMDAwMDAwMSBBTUQgIDAwMDAwMDAxKQ0KQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4 ZmVlMDAwMDANClNSQVQ6IFBYTSAwIC0+IEFQSUMgMzIgLT4gTm9kZSAwDQpTUkFUOiBQWE0gMCAt PiBBUElDIDMzIC0+IE5vZGUgMA0KU1JBVDogUFhNIDAgLT4gQVBJQyAzNCAtPiBOb2RlIDANClNS QVQ6IFBYTSAwIC0+IEFQSUMgMzUgLT4gTm9kZSAwDQpTUkFUOiBQWE0gMCAtPiBBUElDIDM2IC0+ IE5vZGUgMA0KU1JBVDogUFhNIDAgLT4gQVBJQyAzNyAtPiBOb2RlIDANClNSQVQ6IFBYTSAwIC0+ IEFQSUMgMzggLT4gTm9kZSAwDQpTUkFUOiBQWE0gMCAtPiBBUElDIDM5IC0+IE5vZGUgMA0KU1JB VDogUFhNIDEgLT4gQVBJQyA0MCAtPiBOb2RlIDENClNSQVQ6IFBYTSAxIC0+IEFQSUMgNDEgLT4g Tm9kZSAxDQpTUkFUOiBQWE0gMSAtPiBBUElDIDQyIC0+IE5vZGUgMQ0KU1JBVDogUFhNIDEgLT4g QVBJQyA0MyAtPiBOb2RlIDENClNSQVQ6IFBYTSAxIC0+IEFQSUMgNDQgLT4gTm9kZSAxDQpTUkFU OiBQWE0gMSAtPiBBUElDIDQ1IC0+IE5vZGUgMQ0KU1JBVDogUFhNIDEgLT4gQVBJQyA0NiAtPiBO b2RlIDENClNSQVQ6IFBYTSAxIC0+IEFQSUMgNDcgLT4gTm9kZSAxDQpTUkFUOiBQWE0gMiAtPiBB UElDIDY0IC0+IE5vZGUgMg0KU1JBVDogUFhNIDIgLT4gQVBJQyA2NSAtPiBOb2RlIDINClNSQVQ6 IFBYTSAyIC0+IEFQSUMgNjYgLT4gTm9kZSAyDQpTUkFUOiBQWE0gMiAtPiBBUElDIDY3IC0+IE5v ZGUgMg0KU1JBVDogUFhNIDIgLT4gQVBJQyA2OCAtPiBOb2RlIDINClNSQVQ6IFBYTSAyIC0+IEFQ SUMgNjkgLT4gTm9kZSAyDQpTUkFUOiBQWE0gMiAtPiBBUElDIDcwIC0+IE5vZGUgMg0KU1JBVDog UFhNIDIgLT4gQVBJQyA3MSAtPiBOb2RlIDINClNSQVQ6IFBYTSAzIC0+IEFQSUMgNzIgLT4gTm9k ZSAzDQpTUkFUOiBQWE0gMyAtPiBBUElDIDczIC0+IE5vZGUgMw0KU1JBVDogUFhNIDMgLT4gQVBJ QyA3NCAtPiBOb2RlIDMNClNSQVQ6IFBYTSAzIC0+IEFQSUMgNzUgLT4gTm9kZSAzDQpTUkFUOiBQ WE0gMyAtPiBBUElDIDc2IC0+IE5vZGUgMw0KU1JBVDogUFhNIDMgLT4gQVBJQyA3NyAtPiBOb2Rl IDMNClNSQVQ6IFBYTSAzIC0+IEFQSUMgNzggLT4gTm9kZSAzDQpTUkFUOiBQWE0gMyAtPiBBUElD IDc5IC0+IE5vZGUgMw0KU1JBVDogTm9kZSAwIFBYTSAwIDAtYTAwMDANClNSQVQ6IE5vZGUgMCBQ WE0gMCAxMDAwMDAtYzAwMDAwMDANClNSQVQ6IE5vZGUgMCBQWE0gMCAxMDAwMDAwMDAtNDQwMDAw MDAwDQpTUkFUOiBOb2RlIDEgUFhNIDEgNDQwMDAwMDAwLTY0MDAwMDAwMA0KU1JBVDogTm9kZSAy IFBYTSAyIDY0MDAwMDAwMC1hNDAwMDAwMDANClNSQVQ6IE5vZGUgMyBQWE0gMyBhNDAwMDAwMDAt YzNmMDAwMDAwDQpOVU1BOiBBbGxvY2F0ZWQgbWVtbm9kZW1hcCBmcm9tIGMwMDAgLSAyNDgwMA0K TlVNQTogVXNpbmcgMjAgZm9yIHRoZSBoYXNoIHNoaWZ0Lg0KQm9vdG1lbSBzZXR1cCBub2RlIDAg MDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwNDQwMDAwMDAwDQogIE5PREVfREFUQSBbMDAwMDAwMDAw MDAyNDgwMCAtIDAwMDAwMDAwMDAwNTg3ZmZdDQogIGJvb3RtYXAgWzAwMDAwMDAwMDAxMDAwMDAg LSAgMDAwMDAwMDAwMDE4N2ZmZl0gcGFnZXMgODgNCigxMCBlYXJseSByZXNlcnZhdGlvbnMpID09 PiBib290bWVtIFswMDAwMDAwMDAwIC0gMDQ0MDAwMDAwMF0NCiAgIzAgWzAwMDAwMDAwMDAgLSAw MDAwMDAxMDAwXSAgIEJJT1MgZGF0YSBwYWdlID09PiBbMDAwMDAwMDAwMCAtIDAwMDAwMDEwMDBd DQogICMxIFswMDAwMDA2MDAwIC0gMDAwMDAwODAwMF0gICAgICAgVFJBTVBPTElORSA9PT4gWzAw MDAwMDYwMDAgLSAwMDAwMDA4MDAwXQ0KICAjMiBbMDAwMTAwMDAwMCAtIDAwMDIwMTIyMjRdICAg IFRFWFQgREFUQSBCU1MgPT0+IFswMDAxMDAwMDAwIC0gMDAwMjAxMjIyNF0NCiAgIzMgWzAwMzZm YTMwMDAgLSAwMDM3ZmVmMjRmXSAgICAgICAgICBSQU1ESVNLID09PiBbMDAzNmZhMzAwMCAtIDAw MzdmZWYyNGZdDQogICM0IFswMDAwMDlmNDAwIC0gMDAwMDEwMDAwMF0gICAgQklPUyByZXNlcnZl ZCA9PT4gWzAwMDAwOWY0MDAgLSAwMDAwMTAwMDAwXQ0KICAjNSBbMDAwMjAxMzAwMCAtIDAwMDIw MTMzZjNdICAgICAgICAgICAgICBCUksgPT0+IFswMDAyMDEzMDAwIC0gMDAwMjAxMzNmM10NCiAg IzYgWzAwMDAwMDgwMDAgLSAwMDAwMDBhMDAwXSAgICAgICAgICBQR1RBQkxFID09PiBbMDAwMDAw ODAwMCAtIDAwMDAwMGEwMDBdDQogICM3IFswMDAwMDBhMDAwIC0gMDAwMDAwYzAwMF0gICAgICAg ICAgUEdUQUJMRSA9PT4gWzAwMDAwMGEwMDAgLSAwMDAwMDBjMDAwXQ0KICAjOCBbMDAwMDAwMTAw MCAtIDAwMDAwMDEwM2NdICAgICAgICBBQ1BJIFNMSVQgPT0+IFswMDAwMDAxMDAwIC0gMDAwMDAw MTAzY10NCiAgIzkgWzAwMDAwMGMwMDAgLSAwMDAwMDI0ODAwXSAgICAgICBNRU1OT0RFTUFQID09 PiBbMDAwMDAwYzAwMCAtIDAwMDAwMjQ4MDBdDQpCb290bWVtIHNldHVwIG5vZGUgMSAwMDAwMDAw NDQwMDAwMDAwLTAwMDAwMDA2NDAwMDAwMDANCiAgTk9ERV9EQVRBIFswMDAwMDAwNDQwMDAwMDQw IC0gMDAwMDAwMDQ0MDAzNDAzZl0NCiAgYm9vdG1hcCBbMDAwMDAwMDQ0MDAzNTAwMCAtICAwMDAw MDAwNDQwMDc0ZmZmXSBwYWdlcyA0MA0KKDEwIGVhcmx5IHJlc2VydmF0aW9ucykgPT0+IGJvb3Rt ZW0gWzA0NDAwMDAwMDAgLSAwNjQwMDAwMDAwXQ0KICAjMCBbMDAwMDAwMDAwMCAtIDAwMDAwMDEw MDBdICAgQklPUyBkYXRhIHBhZ2UNCiAgIzEgWzAwMDAwMDYwMDAgLSAwMDAwMDA4MDAwXSAgICAg ICBUUkFNUE9MSU5FDQogICMyIFswMDAxMDAwMDAwIC0gMDAwMjAxMjIyNF0gICAgVEVYVCBEQVRB IEJTUw0KICAjMyBbMDAzNmZhMzAwMCAtIDAwMzdmZWYyNGZdICAgICAgICAgIFJBTURJU0sNCiAg IzQgWzAwMDAwOWY0MDAgLSAwMDAwMTAwMDAwXSAgICBCSU9TIHJlc2VydmVkDQogICM1IFswMDAy MDEzMDAwIC0gMDAwMjAxMzNmM10gICAgICAgICAgICAgIEJSSw0KICAjNiBbMDAwMDAwODAwMCAt IDAwMDAwMGEwMDBdICAgICAgICAgIFBHVEFCTEUNCiAgIzcgWzAwMDAwMGEwMDAgLSAwMDAwMDBj MDAwXSAgICAgICAgICBQR1RBQkxFDQogICM4IFswMDAwMDAxMDAwIC0gMDAwMDAwMTAzY10gICAg ICAgIEFDUEkgU0xJVA0KICAjOSBbMDAwMDAwYzAwMCAtIDAwMDAwMjQ4MDBdICAgICAgIE1FTU5P REVNQVANCkJvb3RtZW0gc2V0dXAgbm9kZSAyIDAwMDAwMDA2NDAwMDAwMDAtMDAwMDAwMGE0MDAw MDAwMA0KICBOT0RFX0RBVEEgWzAwMDAwMDA2NDAwMDAwODAgLSAwMDAwMDAwNjQwMDM0MDdmXQ0K ICBib290bWFwIFswMDAwMDAwNjQwMDM1MDAwIC0gIDAwMDAwMDA2NDAwYjRmZmZdIHBhZ2VzIDgw DQooMTAgZWFybHkgcmVzZXJ2YXRpb25zKSA9PT4gYm9vdG1lbSBbMDY0MDAwMDAwMCAtIDBhNDAw MDAwMDBdDQogICMwIFswMDAwMDAwMDAwIC0gMDAwMDAwMTAwMF0gICBCSU9TIGRhdGEgcGFnZQ0K ICAjMSBbMDAwMDAwNjAwMCAtIDAwMDAwMDgwMDBdICAgICAgIFRSQU1QT0xJTkUNCiAgIzIgWzAw MDEwMDAwMDAgLSAwMDAyMDEyMjI0XSAgICBURVhUIERBVEEgQlNTDQogICMzIFswMDM2ZmEzMDAw IC0gMDAzN2ZlZjI0Zl0gICAgICAgICAgUkFNRElTSw0KICAjNCBbMDAwMDA5ZjQwMCAtIDAwMDAx MDAwMDBdICAgIEJJT1MgcmVzZXJ2ZWQNCiAgIzUgWzAwMDIwMTMwMDAgLSAwMDAyMDEzM2YzXSAg ICAgICAgICAgICAgQlJLDQogICM2IFswMDAwMDA4MDAwIC0gMDAwMDAwYTAwMF0gICAgICAgICAg UEdUQUJMRQ0KICAjNyBbMDAwMDAwYTAwMCAtIDAwMDAwMGMwMDBdICAgICAgICAgIFBHVEFCTEUN CiAgIzggWzAwMDAwMDEwMDAgLSAwMDAwMDAxMDNjXSAgICAgICAgQUNQSSBTTElUDQogICM5IFsw MDAwMDBjMDAwIC0gMDAwMDAyNDgwMF0gICAgICAgTUVNTk9ERU1BUA0KQm9vdG1lbSBzZXR1cCBu b2RlIDMgMDAwMDAwMGE0MDAwMDAwMC0wMDAwMDAwYzNlZmZmMDAwDQogIE5PREVfREFUQSBbMDAw MDAwMGE0MDAwMDBjMCAtIDAwMDAwMDBhNDAwMzQwYmZdDQogIGJvb3RtYXAgWzAwMDAwMDBhNDAw MzUwMDAgLSAgMDAwMDAwMGE0MDA3NGRmZl0gcGFnZXMgNDANCigxMCBlYXJseSByZXNlcnZhdGlv bnMpID09PiBib290bWVtIFswYTQwMDAwMDAwIC0gMGMzZWZmZjAwMF0NCiAgIzAgWzAwMDAwMDAw MDAgLSAwMDAwMDAxMDAwXSAgIEJJT1MgZGF0YSBwYWdlDQogICMxIFswMDAwMDA2MDAwIC0gMDAw MDAwODAwMF0gICAgICAgVFJBTVBPTElORQ0KICAjMiBbMDAwMTAwMDAwMCAtIDAwMDIwMTIyMjRd ICAgIFRFWFQgREFUQSBCU1MNCiAgIzMgWzAwMzZmYTMwMDAgLSAwMDM3ZmVmMjRmXSAgICAgICAg ICBSQU1ESVNLDQogICM0IFswMDAwMDlmNDAwIC0gMDAwMDEwMDAwMF0gICAgQklPUyByZXNlcnZl ZA0KICAjNSBbMDAwMjAxMzAwMCAtIDAwMDIwMTMzZjNdICAgICAgICAgICAgICBCUksNCiAgIzYg WzAwMDAwMDgwMDAgLSAwMDAwMDBhMDAwXSAgICAgICAgICBQR1RBQkxFDQogICM3IFswMDAwMDBh MDAwIC0gMDAwMDAwYzAwMF0gICAgICAgICAgUEdUQUJMRQ0KICAjOCBbMDAwMDAwMTAwMCAtIDAw MDAwMDEwM2NdICAgICAgICBBQ1BJIFNMSVQNCiAgIzkgWzAwMDAwMGMwMDAgLSAwMDAwMDI0ODAw XSAgICAgICBNRU1OT0RFTUFQDQpmb3VuZCBTTVAgTVAtdGFibGUgYXQgW2ZmZmY4ODAwMDAwZjRm NjBdIGY0ZjYwDQpSZXNlcnZpbmcgMTMyTUIgb2YgbWVtb3J5IGF0IDQ4TUIgZm9yIGNyYXNoa2Vy bmVsIChTeXN0ZW0gUkFNOiA1MDE1OU1CKQ0KIFtmZmZmZWEwMDAwMDAwMDAwLWZmZmZlYTAwMGVk ZmZmZmZdIFBNRCAtPiBbZmZmZjg4MDAyODYwMDAwMC1mZmZmODgwMDM2NWZmZmZmXSBvbiBub2Rl IDANCiBbZmZmZmVhMDAwZWUwMDAwMC1mZmZmZWEwMDE1ZGZmZmZmXSBQTUQgLT4gW2ZmZmY4ODA0 NDAyMDAwMDAtZmZmZjg4MDQ0NzFmZmZmZl0gb24gbm9kZSAxDQogW2ZmZmZlYTAwMTVlMDAwMDAt ZmZmZmVhMDAyM2RmZmZmZl0gUE1EIC0+IFtmZmZmODgwNjQwMjAwMDAwLWZmZmY4ODA2NGUxZmZm ZmZdIG9uIG5vZGUgMg0KIFtmZmZmZWEwMDIzZTAwMDAwLWZmZmZlYTAwMmFkZmZmZmZdIFBNRCAt PiBbZmZmZjg4MGE0MDIwMDAwMC1mZmZmODgwYTQ3MWZmZmZmXSBvbiBub2RlIDMNClpvbmUgUEZO IHJhbmdlczoNCiAgRE1BICAgICAgMHgwMDAwMDAwMSAtPiAweDAwMDAxMDAwDQogIERNQTMyICAg IDB4MDAwMDEwMDAgLT4gMHgwMDEwMDAwMA0KICBOb3JtYWwgICAweDAwMTAwMDAwIC0+IDB4MDBj M2VmZmYNCk1vdmFibGUgem9uZSBzdGFydCBQRk4gZm9yIGVhY2ggbm9kZQ0KZWFybHlfbm9kZV9t YXBbNl0gYWN0aXZlIFBGTiByYW5nZXMNCiAgICAwOiAweDAwMDAwMDAxIC0+IDB4MDAwMDAwOWYN CiAgICAwOiAweDAwMDAwMTAwIC0+IDB4MDAwYmRkZGUNCiAgICAwOiAweDAwMTAwMDAwIC0+IDB4 MDA0NDAwMDANCiAgICAxOiAweDAwNDQwMDAwIC0+IDB4MDA2NDAwMDANCiAgICAyOiAweDAwNjQw MDAwIC0+IDB4MDBhNDAwMDANCiAgICAzOiAweDAwYTQwMDAwIC0+IDB4MDBjM2VmZmYNCk9uIG5v ZGUgMCB0b3RhbHBhZ2VzOiA0MTg1NDY4DQogIERNQSB6b25lOiA1NiBwYWdlcyB1c2VkIGZvciBt ZW1tYXANCiAgRE1BIHpvbmU6IDEyNyBwYWdlcyByZXNlcnZlZA0KICBETUEgem9uZTogMzgxNSBw YWdlcywgTElGTyBiYXRjaDowDQogIERNQTMyIHpvbmU6IDE0MjgwIHBhZ2VzIHVzZWQgZm9yIG1l bW1hcA0KICBETUEzMiB6b25lOiA3NTkzMTggcGFnZXMsIExJRk8gYmF0Y2g6MzENCiAgTm9ybWFs IHpvbmU6IDQ2NTkyIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcA0KICBOb3JtYWwgem9uZTogMzM2MTI4 MCBwYWdlcywgTElGTyBiYXRjaDozMQ0KT24gbm9kZSAxIHRvdGFscGFnZXM6IDIwOTcxNTINCiAg Tm9ybWFsIHpvbmU6IDI4NjcyIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcA0KICBOb3JtYWwgem9uZTog MjA2ODQ4MCBwYWdlcywgTElGTyBiYXRjaDozMQ0KT24gbm9kZSAyIHRvdGFscGFnZXM6IDQxOTQz MDQNCiAgTm9ybWFsIHpvbmU6IDU3MzQ0IHBhZ2VzIHVzZWQgZm9yIG1lbW1hcA0KICBOb3JtYWwg em9uZTogNDEzNjk2MCBwYWdlcywgTElGTyBiYXRjaDozMQ0KT24gbm9kZSAzIHRvdGFscGFnZXM6 IDIwOTMwNTUNCiAgTm9ybWFsIHpvbmU6IDI4NjE2IHBhZ2VzIHVzZWQgZm9yIG1lbW1hcA0KICBO b3JtYWwgem9uZTogMjA2NDQzOSBwYWdlcywgTElGTyBiYXRjaDozMQ0KQUNQSTogUE0tVGltZXIg SU8gUG9ydDogMHg5MjANCkFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwDQpBQ1BJ OiBMQVBJQyAoYWNwaV9pZFsweDAwXSBsYXBpY19pZFsweDIwXSBlbmFibGVkKQ0KQUNQSTogTEFQ SUMgKGFjcGlfaWRbMHgxMF0gbGFwaWNfaWRbMHg0MF0gZW5hYmxlZCkNCkFDUEk6IExBUElDIChh Y3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MjFdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9p ZFsweDExXSBsYXBpY19pZFsweDQxXSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgw Ml0gbGFwaWNfaWRbMHgyMl0gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MTJdIGxh cGljX2lkWzB4NDJdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAzXSBsYXBpY19p ZFsweDIzXSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgxM10gbGFwaWNfaWRbMHg0 M10gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MjRdIGVu YWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDE0XSBsYXBpY19pZFsweDQ0XSBlbmFibGVk KQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgyNV0gZW5hYmxlZCkNCkFD UEk6IExBUElDIChhY3BpX2lkWzB4MTVdIGxhcGljX2lkWzB4NDVdIGVuYWJsZWQpDQpBQ1BJOiBM QVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDI2XSBlbmFibGVkKQ0KQUNQSTogTEFQSUMg KGFjcGlfaWRbMHgxNl0gbGFwaWNfaWRbMHg0Nl0gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3Bp X2lkWzB4MDddIGxhcGljX2lkWzB4MjddIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsw eDE3XSBsYXBpY19pZFsweDQ3XSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwOF0g bGFwaWNfaWRbMHgyOF0gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MThdIGxhcGlj X2lkWzB4NDhdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA5XSBsYXBpY19pZFsw eDI5XSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgxOV0gbGFwaWNfaWRbMHg0OV0g ZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MGFdIGxhcGljX2lkWzB4MmFdIGVuYWJs ZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDFhXSBsYXBpY19pZFsweDRhXSBlbmFibGVkKQ0K QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwYl0gbGFwaWNfaWRbMHgyYl0gZW5hYmxlZCkNCkFDUEk6 IExBUElDIChhY3BpX2lkWzB4MWJdIGxhcGljX2lkWzB4NGJdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJ QyAoYWNwaV9pZFsweDBjXSBsYXBpY19pZFsweDJjXSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFj cGlfaWRbMHgxY10gbGFwaWNfaWRbMHg0Y10gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lk WzB4MGRdIGxhcGljX2lkWzB4MmRdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDFk XSBsYXBpY19pZFsweDRkXSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwZV0gbGFw aWNfaWRbMHgyZV0gZW5hYmxlZCkNCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MWVdIGxhcGljX2lk WzB4NGVdIGVuYWJsZWQpDQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDBmXSBsYXBpY19pZFsweDJm XSBlbmFibGVkKQ0KQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgxZl0gbGFwaWNfaWRbMHg0Zl0gZW5h YmxlZCkNCkFDUEk6IExBUElDX05NSSAoYWNwaV9pZFsweGZmXSBkZmwgZGZsIGxpbnRbMHgxXSkN CkFDUEk6IElPQVBJQyAoaWRbMHgwOF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkN CklPQVBJQ1swXTogYXBpY19pZCA4LCB2ZXJzaW9uIDMzLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdT SSAwLTIzDQpBQ1BJOiBJT0FQSUMgKGlkWzB4MDldIGFkZHJlc3NbMHhmYWZmYzAwMF0gZ3NpX2Jh c2VbMjRdKQ0KSU9BUElDWzFdOiBhcGljX2lkIDksIHZlcnNpb24gMzMsIGFkZHJlc3MgMHhmYWZm YzAwMCwgR1NJIDI0LTU1DQpBQ1BJOiBJT0FQSUMgKGlkWzB4MGFdIGFkZHJlc3NbMHhmZDdmYzAw MF0gZ3NpX2Jhc2VbNTZdKQ0KSU9BUElDWzJdOiBhcGljX2lkIDEwLCB2ZXJzaW9uIDMzLCBhZGRy ZXNzIDB4ZmQ3ZmMwMDAsIEdTSSA1Ni04Nw0KQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19p cnEgMCBnbG9iYWxfaXJxIDIgaGlnaCBlZGdlKQ0KQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1 c19pcnEgOSBnbG9iYWxfaXJxIDkgbG93IGxldmVsKQ0KQUNQSTogSVJRMCB1c2VkIGJ5IG92ZXJy aWRlLg0KQUNQSTogSVJRMiB1c2VkIGJ5IG92ZXJyaWRlLg0KQUNQSTogSVJROSB1c2VkIGJ5IG92 ZXJyaWRlLg0KVXNpbmcgQUNQSSAoTUFEVCkgZm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0 aW9uDQpBQ1BJOiBIUEVUIGlkOiAweDExNjZhMjAxIGJhc2U6IDB4ZmVkMDAwMDANClNNUDogQWxs b3dpbmcgMzIgQ1BVcywgMCBob3RwbHVnIENQVXMNCm5yX2lycXNfZ3NpOiA4OA0KUE06IFJlZ2lz dGVyZWQgbm9zYXZlIG1lbW9yeTogMDAwMDAwMDAwMDA5ZjAwMCAtIDAwMDAwMDAwMDAwYTAwMDAN ClBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwMDAwYTAwMDAgLSAwMDAwMDAw MDAwMGYwMDAwDQpQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiAwMDAwMDAwMDAwMGYwMDAw IC0gMDAwMDAwMDAwMDEwMDAwMA0KUE06IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogMDAwMDAw MDBiZGRkZTAwMCAtIDAwMDAwMDAwYmRlMGUwMDANClBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1v cnk6IDAwMDAwMDAwYmRlMGUwMDAgLSAwMDAwMDAwMGQwMDAwMDAwDQpQTTogUmVnaXN0ZXJlZCBu b3NhdmUgbWVtb3J5OiAwMDAwMDAwMGQwMDAwMDAwIC0gMDAwMDAwMDBmZWMwMDAwMA0KUE06IFJl Z2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogMDAwMDAwMDBmZWMwMDAwMCAtIDAwMDAwMDAwZmVlMTAw MDANClBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAwZmVlMTAwMDAgLSAwMDAw MDAwMGZmODAwMDAwDQpQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiAwMDAwMDAwMGZmODAw MDAwIC0gMDAwMDAwMDEwMDAwMDAwMA0KQWxsb2NhdGluZyBQQ0kgcmVzb3VyY2VzIHN0YXJ0aW5n IGF0IGQwMDAwMDAwIChnYXA6IGQwMDAwMDAwOjJlYzAwMDAwKQ0KQm9vdGluZyBwYXJhdmlydHVh bGl6ZWQga2VybmVsIG9uIGJhcmUgaGFyZHdhcmUNCk5SX0NQVVM6NDA5NiBucl9jcHVtYXNrX2Jp dHM6MzIgbnJfY3B1X2lkczozMiBucl9ub2RlX2lkczo0DQpQRVJDUFU6IEVtYmVkZGVkIDMxIHBh Z2VzL2NwdSBAZmZmZjg4MDAyODIwMDAwMCBzOTQ0MjQgcjgxOTIgZDI0MzYwIHUyNjIxNDQNCnBj cHUtYWxsb2M6IHM5NDQyNCByODE5MiBkMjQzNjAgdTI2MjE0NCBhbGxvYz0xKjIwOTcxNTINCnBj cHUtYWxsb2M6IFswXSAwMCAwMiAwNCAwNiAwOCAxMCAxMiAxNCBbMV0gMDEgMDMgMDUgMDcgMDkg MTEgMTMgMTUNCnBjcHUtYWxsb2M6IFsyXSAxNiAxOCAyMCAyMiAyNCAyNiAyOCAzMCBbM10gMTcg MTkgMjEgMjMgMjUgMjcgMjkgMzENCkJ1aWx0IDQgem9uZWxpc3RzIGluIFpvbmUgb3JkZXIsIG1v YmlsaXR5IGdyb3VwaW5nIG9uLiAgVG90YWwgcGFnZXM6IDEyMzk0MjkyDQpQb2xpY3kgem9uZTog Tm9ybWFsDQpLZXJuZWwgY29tbWFuZCBsaW5lOiBybyByb290PVVVSUQ9MmE1OWUwYzYtN2M2YS00 NWI0LTk3M2UtMjhlMTgzNzM1N2E5IHJkX05PX0xVS1MgcmRfTk9fTFZNIExBTkc9ZW5fVVMuVVRG LTggcmRfTk9fTUQgU1lTRk9OVD1sYXRhcmN5cmhlYi1zdW4xNiBjcmFzaGtlcm5lbD0xMzJNQDBN ICBLRVlCT0FSRFRZUEU9cGMgS0VZVEFCTEU9dXMgcmRfTk9fRE0gcmhnYiBxdWlldCBleGNsdWRl X2NwdXM9MzEsMjcsMjMsMTksMjksMjUsMjEsMTcgaHVnZXBhZ2VzPTEyMjA2DQpQSUQgaGFzaCB0 YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRlcjogMywgMzI3NjggYnl0ZXMpDQp4c2F2ZS94cnN0b3I6 IGVuYWJsZWQgeHN0YXRlX2J2IDB4NywgY250eHQgc2l6ZSAweDM0MA0KQ2hlY2tpbmcgYXBlcnR1 cmUuLi4NCk5vIEFHUCBicmlkZ2UgZm91bmQNCk5vZGUgMDogYXBlcnR1cmUgQCAyMDAwMDAwMCBz aXplIDMyIE1CDQpBcGVydHVyZSBwb2ludGluZyB0byBlODIwIFJBTS4gSWdub3JpbmcuDQpZb3Vy IEJJT1MgZG9lc24ndCBsZWF2ZSBhIGFwZXJ0dXJlIG1lbW9yeSBob2xlDQpQbGVhc2UgZW5hYmxl IHRoZSBJT01NVSBvcHRpb24gaW4gdGhlIEJJT1Mgc2V0dXANClRoaXMgY29zdHMgeW91IDY0IE1C IG9mIFJBTQ0KTWFwcGluZyBhcGVydHVyZSBvdmVyIDY1NTM2IEtCIG9mIFJBTSBAIDIwMDAwMDAw DQpQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiAwMDAwMDAwMDIwMDAwMDAwIC0gMDAwMDAw MDAyNDAwMDAwMA0KQU1ELVZpIGRpc2FibGVkIGJ5IGRlZmF1bHQ6IHBhc3MgYW1kX2lvbW11PW9u IHRvIGVuYWJsZQ0KTWVtb3J5OiA0OTM1MjI4NGsvNTEzNjM4MzZrIGF2YWlsYWJsZSAoNTE1NWsg a2VybmVsIGNvZGUsIDEwODM5MjBrIGFic2VudCwgOTI3NjMyayByZXNlcnZlZCwgNzE2NGsgZGF0 YSwgMTI2MGsgaW5pdCkNCkhpZXJhcmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uDQpOUl9JUlFT OjMzMDI0IG5yX2lycXM6MTc1Mg0KRXh0ZW5kZWQgQ01PUyB5ZWFyOiAyMDAwDQpDb25zb2xlOiBj b2xvdXIgVkdBKyA4MHgyNQ0KY29uc29sZSBbdHR5MF0gZW5hYmxlZA0KYWxsb2NhdGVkIDQwMjY1 MzE4NCBieXRlcyBvZiBwYWdlX2Nncm91cA0KcGxlYXNlIHRyeSAnY2dyb3VwX2Rpc2FibGU9bWVt b3J5JyBvcHRpb24gaWYgeW91IGRvbid0IHdhbnQgbWVtb3J5IGNncm91cHMNCmhwZXQgY2xvY2tl dmVudCByZWdpc3RlcmVkDQpGYXN0IFRTQyBjYWxpYnJhdGlvbiB1c2luZyBQSVQNCkRldGVjdGVk IDIwOTQuODU0IE1IeiBwcm9jZXNzb3IuDQpDYWxpYnJhdGluZyBkZWxheSBsb29wIChza2lwcGVk KSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1lciBmcmVxdWVuY3kuLiA0MTg5LjcwIEJvZ29N SVBTIChscGo9MjA5NDg1NCkNCnBpZF9tYXg6IGRlZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQ0K U2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemVkDQpTRUxpbnV4OiAgSW5pdGlhbGl6aW5nLg0K U0VMaW51eDogIFN0YXJ0aW5nIGluIHBlcm1pc3NpdmUgbW9kZQ0KRGVudHJ5IGNhY2hlIGhhc2gg dGFibGUgZW50cmllczogODM4ODYwOCAob3JkZXI6IDE0LCA2NzEwODg2NCBieXRlcykNCklub2Rl LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNDE5NDMwNCAob3JkZXI6IDEzLCAzMzU1NDQzMiBi eXRlcykNCk1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjU2DQpJbml0aWFsaXppbmcg Y2dyb3VwIHN1YnN5cyBucw0KSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1YWNjdA0KSW5p dGlhbGl6aW5nIGNncm91cCBzdWJzeXMgbWVtb3J5DQpJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5 cyBkZXZpY2VzDQpJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBmcmVlemVyDQpJbml0aWFsaXpp bmcgY2dyb3VwIHN1YnN5cyBuZXRfY2xzDQpJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBibGtp bw0KSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgcGVyZl9ldmVudA0KSW5pdGlhbGl6aW5nIGNn cm91cCBzdWJzeXMgbmV0X3ByaW8NCnRzZWc6IDAwYmUwMDAwMDANCkNQVTogUGh5c2ljYWwgUHJv Y2Vzc29yIElEOiAwDQpDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwDQptY2U6IENQVSBzdXBwb3J0 cyA3IE1DRSBiYW5rcw0KQUNQSTogQ29yZSByZXZpc2lvbiAyMDA5MDkwMw0KZnRyYWNlOiBjb252 ZXJ0aW5nIG1jb3VudCBjYWxscyB0byAwZiAxZiA0NCAwMCAwMA0KZnRyYWNlOiBhbGxvY2F0aW5n IDIxMDQxIGVudHJpZXMgaW4gODMgcGFnZXMNClNldHRpbmcgQVBJQyByb3V0aW5nIHRvIHBoeXNp Y2FsIGZsYXQNCi4uVElNRVI6IHZlY3Rvcj0weDMwIGFwaWMxPTAgcGluMT0yIGFwaWMyPS0xIHBp bjI9LTENCkNQVTA6IEFNRCBPcHRlcm9uKFRNKSBQcm9jZXNzb3IgNjI3MiAgICAgICAgICAgICAg ICAgIHN0ZXBwaW5nIDAyDQpQZXJmb3JtYW5jZSBFdmVudHM6IEJyb2tlbiBCSU9TIGRldGVjdGVk LCBjb21wbGFpbiB0byB5b3VyIGhhcmR3YXJlIHZlbmRvci4NCltGaXJtd2FyZSBCdWddOiB0aGUg QklPUyBoYXMgY29ycnVwdGVkIGh3LVBNVSByZXNvdXJjZXMgKE1TUiBjMDAxMDIwMiBpcyA0MzAw NzYpDQpBTUQgRmFtaWx5IDE1aCBQTVUgZHJpdmVyLg0KLi4uIHZlcnNpb246ICAgICAgICAgICAg ICAgIDANCi4uLiBiaXQgd2lkdGg6ICAgICAgICAgICAgICA0OA0KLi4uIGdlbmVyaWMgcmVnaXN0 ZXJzOiAgICAgIDYNCi4uLiB2YWx1ZSBtYXNrOiAgICAgICAgICAgICAwMDAwZmZmZmZmZmZmZmZm DQouLi4gbWF4IHBlcmlvZDogICAgICAgICAgICAgMDAwMDdmZmZmZmZmZmZmZg0KLi4uIGZpeGVk LXB1cnBvc2UgZXZlbnRzOiAgIDANCi4uLiBldmVudCBtYXNrOiAgICAgICAgICAgICAwMDAwMDAw MDAwMDAwMDNmDQpOTUkgd2F0Y2hkb2cgZW5hYmxlZCwgdGFrZXMgb25lIGh3LXBtdSBjb3VudGVy Lg0KQm9vdGluZyBOb2RlICAgMiwgUHJvY2Vzc29ycyAgIzEgT2suDQpCb290aW5nIE5vZGUgICAw LCBQcm9jZXNzb3JzICAjMiBPay4NCkJvb3RpbmcgTm9kZSAgIDIsIFByb2Nlc3NvcnMgICMzIE9r Lg0KQm9vdGluZyBOb2RlICAgMCwgUHJvY2Vzc29ycyAgIzQgT2suDQpCb290aW5nIE5vZGUgICAy LCBQcm9jZXNzb3JzICAjNSBPay4NCkJvb3RpbmcgTm9kZSAgIDAsIFByb2Nlc3NvcnMgICM2IE9r Lg0KQm9vdGluZyBOb2RlICAgMiwgUHJvY2Vzc29ycyAgIzcgT2suDQpCb290aW5nIE5vZGUgICAw LCBQcm9jZXNzb3JzICAjOCBPay4NCkJvb3RpbmcgTm9kZSAgIDIsIFByb2Nlc3NvcnMgICM5IE9r Lg0KQm9vdGluZyBOb2RlICAgMCwgUHJvY2Vzc29ycyAgIzEwIE9rLg0KQm9vdGluZyBOb2RlICAg MiwgUHJvY2Vzc29ycyAgIzExIE9rLg0KQm9vdGluZyBOb2RlICAgMCwgUHJvY2Vzc29ycyAgIzEy IE9rLg0KQm9vdGluZyBOb2RlICAgMiwgUHJvY2Vzc29ycyAgIzEzIE9rLg0KQm9vdGluZyBOb2Rl ICAgMCwgUHJvY2Vzc29ycyAgIzE0IE9rLg0KQm9vdGluZyBOb2RlICAgMiwgUHJvY2Vzc29ycyAg IzE1IE9rLg0KQm9vdGluZyBOb2RlICAgMSwgUHJvY2Vzc29ycyAgIzE2IE9rLg0KQm9vdGluZyBO b2RlICAgMywgUHJvY2Vzc29ycyAgIzE3IE9rLg0KQm9vdGluZyBOb2RlICAgMSwgUHJvY2Vzc29y cyAgIzE4IE9rLg0KQm9vdGluZyBOb2RlICAgMywgUHJvY2Vzc29ycyAgIzE5IE9rLg0KQm9vdGlu ZyBOb2RlICAgMSwgUHJvY2Vzc29ycyAgIzIwIE9rLg0KQm9vdGluZyBOb2RlICAgMywgUHJvY2Vz c29ycyAgIzIxIE9rLg0KQm9vdGluZyBOb2RlICAgMSwgUHJvY2Vzc29ycyAgIzIyIE9rLg0KQm9v dGluZyBOb2RlICAgMywgUHJvY2Vzc29ycyAgIzIzIE9rLg0KQm9vdGluZyBOb2RlICAgMSwgUHJv Y2Vzc29ycyAgIzI0IE9rLg0KQm9vdGluZyBOb2RlICAgMywgUHJvY2Vzc29ycyAgIzI1IE9rLg0K Qm9vdGluZyBOb2RlICAgMSwgUHJvY2Vzc29ycyAgIzI2IE9rLg0KQm9vdGluZyBOb2RlICAgMywg UHJvY2Vzc29ycyAgIzI3IE9rLg0KQm9vdGluZyBOb2RlICAgMSwgUHJvY2Vzc29ycyAgIzI4IE9r Lg0KQm9vdGluZyBOb2RlICAgMywgUHJvY2Vzc29ycyAgIzI5IE9rLg0KQm9vdGluZyBOb2RlICAg MSwgUHJvY2Vzc29ycyAgIzMwIE9rLg0KQm9vdGluZyBOb2RlICAgMywgUHJvY2Vzc29ycyAgIzMx IE9rLg0KQnJvdWdodCB1cCAzMiBDUFVzDQpUb3RhbCBvZiAzMiBwcm9jZXNzb3JzIGFjdGl2YXRl ZCAoMTM0MDU5LjU4IEJvZ29NSVBTKS4NCnNpemVvZih2bWEpPTIwMCBieXRlcw0Kc2l6ZW9mKHBh Z2UpPTU2IGJ5dGVzDQpzaXplb2YoaW5vZGUpPTU5MiBieXRlcw0Kc2l6ZW9mKGRlbnRyeSk9MTky IGJ5dGVzDQpzaXplb2YoZXh0M2lub2RlKT04MDAgYnl0ZXMNCnNpemVvZihidWZmZXJfaGVhZCk9 MTA0IGJ5dGVzDQpzaXplb2Yoc2tidWZmKT0yMzIgYnl0ZXMNCnNpemVvZih0YXNrX3N0cnVjdCk9 MjY0OCBieXRlcw0KZGV2dG1wZnM6IGluaXRpYWxpemVkDQpyZWd1bGF0b3I6IGNvcmUgdmVyc2lv biAwLjUNCk5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTYNCkFDUEkgRkFEVCBkZWNs YXJlcyB0aGUgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCBQQ0llIEFTUE0sIHNvIGRpc2FibGUgaXQN CkFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVkDQpQQ0k6IE1DRkcgY29uZmlndXJhdGlvbiAw OiBiYXNlIGMwMDAwMDAwIHNlZ21lbnQgMCBidXNlcyAwIC0gMjU1DQpQQ0k6IE1DRkcgYXJlYSBh dCBjMDAwMDAwMCByZXNlcnZlZCBpbiBFODIwDQpQQ0k6IFVzaW5nIE1NQ09ORklHIGF0IGMwMDAw MDAwIC0gY2ZmZmZmZmYNClBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGJhc2Ug YWNjZXNzDQpiaW86IGNyZWF0ZSBzbGFiIDxiaW8tMD4gYXQgMA0KQUNQSTogRUM6IExvb2sgdXAg RUMgaW4gRFNEVA0KQUNQSTogSW50ZXJwcmV0ZXIgZW5hYmxlZA0KQUNQSTogKHN1cHBvcnRzIFMw IFM0IFM1KQ0KQUNQSTogVXNpbmcgSU9BUElDIGZvciBpbnRlcnJ1cHQgcm91dGluZw0KQUNQSTog Tm8gZG9jayBkZXZpY2VzIGZvdW5kLg0KSEVTVDogVGFibGUgcGFyc2luZyBoYXMgYmVlbiBpbml0 aWFsaXplZC4NClBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5l Y2Vzc2FyeSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcNCkFDUEk6IFBDSSBSb290 IEJyaWRnZSBbUENJMF0gKGRvbWFpbiAwMDAwIFtidXMgMDAtM2ZdKQ0KcGNpX3Jvb3QgUE5QMEEw ODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHhmYWYwMDAwMC0weGZkNmZmZmZmXQ0KcGNp X3Jvb3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFtpbyAgMHgxMDAwLTB4ZmZmZl0N CnBjaV9yb290IFBOUDBBMDg6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbaW8gIDB4MDAwMC0weDAz YWZdDQpwY2lfcm9vdCBQTlAwQTA4OjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lvICAweDAzZTAt MHgwY2Y3XQ0KcGNpX3Jvb3QgUE5QMEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFtpbyAgMHgw ZDAwLTB4MGZmZl0NCnBjaV9yb290IFBOUDBBMDg6MDA6IGhvc3QgYnJpZGdlIHdpbmRvdyBbbWVt IDB4ZmVkMDAwMDAtMHhmZWQwM2ZmZl0NCnBjaV9yb290IFBOUDBBMDg6MDA6IGhvc3QgYnJpZGdl IHdpbmRvdyBbbWVtIDB4ZmVkNDAwMDAtMHhmZWQ0NGZmZl0NCnBjaV9yb290IFBOUDBBMDg6MDA6 IGhvc3QgYnJpZGdlIHdpbmRvdyBbaW8gIDB4MDNiMC0weDAzYmJdDQpwY2lfcm9vdCBQTlAwQTA4 OjAwOiBob3N0IGJyaWRnZSB3aW5kb3cgW2lvICAweDAzYzAtMHgwM2RmXQ0KcGNpX3Jvb3QgUE5Q MEEwODowMDogaG9zdCBicmlkZ2Ugd2luZG93IFttZW0gMHgwMDBhMDAwMC0weDAwMGJmZmZmXQ0K cGNpIDAwMDA6MDA6MDIuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBj aSAwMDAwOjAwOjAyLjA6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjAwOjBhLjA6IFBNRSMgc3Vw cG9ydGVkIGZyb20gRDAgRDNob3QgRDNjb2xkDQpwY2kgMDAwMDowMDowYS4wOiBQTUUjIGRpc2Fi bGVkDQpwY2kgMDAwMDowMDowYi4wOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29s ZA0KcGNpIDAwMDA6MDA6MGIuMDogUE1FIyBkaXNhYmxlZA0KcGNpIDAwMDA6MDA6MGMuMDogUE1F IyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjAwOjBjLjA6IFBNRSMg ZGlzYWJsZWQNCnBjaSAwMDAwOjAwOjExLjA6IHJlZyAxMDogW2lvICAweDEwMDAtMHgxMDA3XQ0K cGNpIDAwMDA6MDA6MTEuMDogcmVnIDE0OiBbaW8gIDB4MTAwOC0weDEwMGJdDQpwY2kgMDAwMDow MDoxMS4wOiByZWcgMTg6IFtpbyAgMHgxMDEwLTB4MTAxN10NCnBjaSAwMDAwOjAwOjExLjA6IHJl ZyAxYzogW2lvICAweDEwMTgtMHgxMDFiXQ0KcGNpIDAwMDA6MDA6MTEuMDogcmVnIDIwOiBbaW8g IDB4MTAyMC0weDEwMmZdDQpwY2kgMDAwMDowMDoxMS4wOiByZWcgMjQ6IFttZW0gMHhmYzRmMDAw MC0weGZjNGYwM2ZmXQ0KcGNpIDAwMDA6MDA6MTEuMDogc2V0IFNBVEEgdG8gQUhDSSBtb2RlDQpw Y2kgMDAwMDowMDoxMi4wOiByZWcgMTA6IFttZW0gMHhmYzRlMDAwMC0weGZjNGUwZmZmXQ0KcGNp IDAwMDA6MDA6MTIuMTogcmVnIDEwOiBbbWVtIDB4ZmM0ZDAwMDAtMHhmYzRkMGZmZl0NCnBjaSAw MDAwOjAwOjEyLjI6IHJlZyAxMDogW21lbSAweGZjNGMwMDAwLTB4ZmM0YzAwZmZdDQpwY2kgMDAw MDowMDoxMi4yOiBzdXBwb3J0cyBEMSBEMg0KcGNpIDAwMDA6MDA6MTIuMjogUE1FIyBzdXBwb3J0 ZWQgZnJvbSBEMCBEMSBEMiBEM2hvdA0KcGNpIDAwMDA6MDA6MTIuMjogUE1FIyBkaXNhYmxlZA0K cGNpIDAwMDA6MDA6MTMuMDogcmVnIDEwOiBbbWVtIDB4ZmM0YjAwMDAtMHhmYzRiMGZmZl0NCnBj aSAwMDAwOjAwOjEzLjE6IHJlZyAxMDogW21lbSAweGZjNGEwMDAwLTB4ZmM0YTBmZmZdDQpwY2kg MDAwMDowMDoxMy4yOiByZWcgMTA6IFttZW0gMHhmYzQ5MDAwMC0weGZjNDkwMGZmXQ0KcGNpIDAw MDA6MDA6MTMuMjogc3VwcG9ydHMgRDEgRDINCnBjaSAwMDAwOjAwOjEzLjI6IFBNRSMgc3VwcG9y dGVkIGZyb20gRDAgRDEgRDIgRDNob3QNCnBjaSAwMDAwOjAwOjEzLjI6IFBNRSMgZGlzYWJsZWQN CnBjaSAwMDAwOjAwOjE0LjE6IHJlZyAxMDogW2lvICAweDAxZjAtMHgwMWY3XQ0KcGNpIDAwMDA6 MDA6MTQuMTogcmVnIDE0OiBbaW8gIDB4MDNmNC0weDAzZjddDQpwY2kgMDAwMDowMDoxNC4xOiBy ZWcgMTg6IFtpbyAgMHgwMTcwLTB4MDE3N10NCnBjaSAwMDAwOjAwOjE0LjE6IHJlZyAxYzogW2lv ICAweDAzNzQtMHgwMzc3XQ0KcGNpIDAwMDA6MDA6MTQuMTogcmVnIDIwOiBbaW8gIDB4MDUwMC0w eDA1MGZdDQpwY2kgMDAwMDowMzowMC4wOiByZWcgMTA6IFttZW0gMHhmZDIwMDAwMC0weGZkMmZm ZmZmIDY0Yml0XQ0KcGNpIDAwMDA6MDM6MDAuMDogcmVnIDE4OiBbbWVtIDB4ZmQxZjAwMDAtMHhm ZDFmMDNmZiA2NGJpdF0NCnBjaSAwMDAwOjAzOjAwLjA6IHJlZyAyMDogW2lvICAweDQwMDAtMHg0 MGZmXQ0KcGNpIDAwMDA6MDM6MDAuMDogcmVnIDMwOiBbbWVtIDB4MDAwMDAwMDAtMHgwMDA3ZmZm ZiBwcmVmXQ0KcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEMSBEM2hv dA0KcGNpIDAwMDA6MDM6MDAuMDogUE1FIyBkaXNhYmxlZA0KcGNpIDAwMDA6MDA6MDIuMDogUENJ IGJyaWRnZSB0byBbYnVzIDAzLTAzXQ0KcGNpIDAwMDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93 IFtpbyAgMHg0MDAwLTB4NGZmZl0NCnBjaSAwMDAwOjAwOjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBb bWVtIDB4ZmQxMDAwMDAtMHhmZDJmZmZmZl0NCnBjaSAwMDAwOjAwOjAyLjA6ICAgYnJpZGdlIHdp bmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZiBwcmVmXSAoZGlzYWJsZWQpDQpwY2kgMDAw MDowMjowMC4wOiByZWcgMTA6IFtpbyAgMHgzMDAwLTB4MzBmZl0NCnBjaSAwMDAwOjAyOjAwLjA6 IHJlZyAxNDogW21lbSAweGZkMGYwMDAwLTB4ZmQwZjAxZmZdDQpwY2kgMDAwMDowMjowMC4wOiBy ZWcgMTg6IFtpbyAgMHgzNDAwLTB4MzRmZl0NCnBjaSAwMDAwOjAyOjAwLjE6IHJlZyAxMDogW21l bSAweGZiMDAwMDAwLTB4ZmJmZmZmZmYgcHJlZl0NCnBjaSAwMDAwOjAyOjAwLjE6IHJlZyAxNDog W21lbSAweGZkMGUwMDAwLTB4ZmQwZTNmZmZdDQpwY2kgMDAwMDowMjowMC4xOiByZWcgMTg6IFtt ZW0gMHhmYzgwMDAwMC0weGZjZmZmZmZmXQ0KcGNpIDAwMDA6MDI6MDAuMjogcmVnIDEwOiBbaW8g IDB4MzgwMC0weDM4ZmZdDQpwY2kgMDAwMDowMjowMC4yOiByZWcgMTQ6IFttZW0gMHhmYzdmMDAw MC0weGZjN2YwMGZmXQ0KcGNpIDAwMDA6MDI6MDAuMjogcmVnIDE4OiBbbWVtIDB4ZmM2MDAwMDAt MHhmYzZmZmZmZl0NCnBjaSAwMDAwOjAyOjAwLjI6IHJlZyAxYzogW21lbSAweGZjNTgwMDAwLTB4 ZmM1ZmZmZmZdDQpwY2kgMDAwMDowMjowMC4yOiByZWcgMjA6IFttZW0gMHhmYzU3MDAwMC0weGZj NTc3ZmZmXQ0KcGNpIDAwMDA6MDI6MDAuMjogcmVnIDI0OiBbbWVtIDB4ZmM1NjAwMDAtMHhmYzU2 N2ZmZl0NCnBjaSAwMDAwOjAyOjAwLjI6IHJlZyAzMDogW21lbSAweDAwMDAwMDAwLTB4MDAwMGZm ZmYgcHJlZl0NCnBjaSAwMDAwOjAyOjAwLjI6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3Qg RDNjb2xkDQpwY2kgMDAwMDowMjowMC4yOiBQTUUjIGRpc2FibGVkDQpwY2kgMDAwMDowMjowMC40 OiByZWcgMjA6IFtpbyAgMHgzYzAwLTB4M2MxZl0NCnBjaSAwMDAwOjAwOjBhLjA6IFBDSSBicmlk Z2UgdG8gW2J1cyAwMi0wMl0NCnBjaSAwMDAwOjAwOjBhLjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8g IDB4MzAwMC0weDNmZmZdDQpwY2kgMDAwMDowMDowYS4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAw eGZjNTAwMDAwLTB4ZmQwZmZmZmZdDQpwY2kgMDAwMDowMDowYS4wOiAgIGJyaWRnZSB3aW5kb3cg W21lbSAweGZiMDAwMDAwLTB4ZmJmZmZmZmYgNjRiaXQgcHJlZl0NCnBjaSAwMDAwOjA4OjAwLjA6 IHJlZyAxMDogW21lbSAweGZkNjgwMDAwLTB4ZmQ2ZmZmZmYgNjRiaXRdDQpwY2kgMDAwMDowODow MC4wOiByZWcgMjA6IFttZW0gMHhmZDY3MDAwMC0weGZkNjczZmZmIDY0Yml0XQ0KcGNpIDAwMDA6 MDg6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjA4 OjAwLjA6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjA4OjAwLjE6IHJlZyAxMDogW21lbSAweGZk NTgwMDAwLTB4ZmQ1ZmZmZmYgNjRiaXRdDQpwY2kgMDAwMDowODowMC4xOiByZWcgMjA6IFttZW0g MHhmZDU3MDAwMC0weGZkNTczZmZmIDY0Yml0XQ0KcGNpIDAwMDA6MDg6MDAuMTogUE1FIyBzdXBw b3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjA4OjAwLjE6IFBNRSMgZGlzYWJs ZWQNCnBjaSAwMDAwOjA4OjAwLjI6IHJlZyAxMDogW21lbSAweGZkNDgwMDAwLTB4ZmQ0ZmZmZmYg NjRiaXRdDQpwY2kgMDAwMDowODowMC4yOiByZWcgMjA6IFttZW0gMHhmZDQ3MDAwMC0weGZkNDcz ZmZmIDY0Yml0XQ0KcGNpIDAwMDA6MDg6MDAuMjogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hv dCBEM2NvbGQNCnBjaSAwMDAwOjA4OjAwLjI6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjA4OjAw LjM6IHJlZyAxMDogW21lbSAweGZkMzgwMDAwLTB4ZmQzZmZmZmYgNjRiaXRdDQpwY2kgMDAwMDow ODowMC4zOiByZWcgMjA6IFttZW0gMHhmZDM3MDAwMC0weGZkMzczZmZmIDY0Yml0XQ0KcGNpIDAw MDA6MDg6MDAuMzogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAw OjA4OjAwLjM6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjAwOjBiLjA6IFBDSSBicmlkZ2UgdG8g W2J1cyAwOC0wYV0NCnBjaSAwMDAwOjAwOjBiLjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4ZmZm ZmZmZmZmZmZmZjAwMC0weDAwMDBdIChkaXNhYmxlZCkNCnBjaSAwMDAwOjAwOjBiLjA6ICAgYnJp ZGdlIHdpbmRvdyBbbWVtIDB4ZmQzMDAwMDAtMHhmZDZmZmZmZl0NCnBjaSAwMDAwOjAwOjBiLjA6 ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZiBwcmVmXSAoZGlzYWJs ZWQpDQpwY2kgMDAwMDowNDowMC4wOiByZWcgMTA6IFttZW0gMHhmYzNmMDAwMC0weGZjM2ZmZmZm IDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDowMC4wOiByZWcgMTg6IFttZW0gMHhmYzNlMDAwMC0w eGZjM2VmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDowMC4wOiByZWcgMjA6IFttZW0gMHhm YzNkMDAwMC0weGZjM2RmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDowMC4wOiByZWcgMzA6 IFttZW0gMHgwMDAwMDAwMC0weDAwMDFmZmZmIHByZWZdDQpwY2kgMDAwMDowNDowMC4wOiBQTUUj IHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29sZA0KcGNpIDAwMDA6MDQ6MDAuMDogUE1FIyBk aXNhYmxlZA0KcGNpIDAwMDA6MDQ6MDAuMTogcmVnIDEwOiBbbWVtIDB4ZmMzYzAwMDAtMHhmYzNj ZmZmZiA2NGJpdCBwcmVmXQ0KcGNpIDAwMDA6MDQ6MDAuMTogcmVnIDE4OiBbbWVtIDB4ZmMzYjAw MDAtMHhmYzNiZmZmZiA2NGJpdCBwcmVmXQ0KcGNpIDAwMDA6MDQ6MDAuMTogcmVnIDIwOiBbbWVt IDB4ZmMzYTAwMDAtMHhmYzNhZmZmZiA2NGJpdCBwcmVmXQ0KcGNpIDAwMDA6MDQ6MDAuMTogcmVn IDMwOiBbbWVtIDB4MDAwMDAwMDAtMHgwMDAxZmZmZiBwcmVmXQ0KcGNpIDAwMDA6MDQ6MDAuMTog UE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjA0OjAwLjE6IFBN RSMgZGlzYWJsZWQNCnBjaSAwMDAwOjA0OjAwLjI6IHJlZyAxMDogW21lbSAweGZjMzkwMDAwLTB4 ZmMzOWZmZmYgNjRiaXQgcHJlZl0NCnBjaSAwMDAwOjA0OjAwLjI6IHJlZyAxODogW21lbSAweGZj MzgwMDAwLTB4ZmMzOGZmZmYgNjRiaXQgcHJlZl0NCnBjaSAwMDAwOjA0OjAwLjI6IHJlZyAyMDog W21lbSAweGZjMzcwMDAwLTB4ZmMzN2ZmZmYgNjRiaXQgcHJlZl0NCnBjaSAwMDAwOjA0OjAwLjI6 IHJlZyAzMDogW21lbSAweDAwMDAwMDAwLTB4MDAwMWZmZmYgcHJlZl0NCnBjaSAwMDAwOjA0OjAw LjI6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3QgRDNjb2xkDQpwY2kgMDAwMDowNDowMC4y OiBQTUUjIGRpc2FibGVkDQpwY2kgMDAwMDowNDowMC4zOiByZWcgMTA6IFttZW0gMHhmYzM2MDAw MC0weGZjMzZmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDowMC4zOiByZWcgMTg6IFttZW0g MHhmYzM1MDAwMC0weGZjMzVmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDowMC4zOiByZWcg MjA6IFttZW0gMHhmYzM0MDAwMC0weGZjMzRmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowNDow MC4zOiByZWcgMzA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDFmZmZmIHByZWZdDQpwY2kgMDAwMDow NDowMC4zOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29sZA0KcGNpIDAwMDA6MDQ6 MDAuMzogUE1FIyBkaXNhYmxlZA0KcGNpIDAwMDA6MDA6MGMuMDogUENJIGJyaWRnZSB0byBbYnVz IDA0LTA0XQ0KcGNpIDAwMDA6MDA6MGMuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHhmZmZmZmZm ZmZmZmZmMDAwLTB4MDAwMF0gKGRpc2FibGVkKQ0KcGNpIDAwMDA6MDA6MGMuMDogICBicmlkZ2Ug d2luZG93IFttZW0gMHhmZmYwMDAwMC0weDAwMGZmZmZmXSAoZGlzYWJsZWQpDQpwY2kgMDAwMDow MDowYy4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZjMzAwMDAwLTB4ZmMzZmZmZmYgNjRiaXQg cHJlZl0NCnBjaSAwMDAwOjAwOjE0LjQ6IFBDSSBicmlkZ2UgdG8gW2J1cyAwMS0wMV0gKHN1YnRy YWN0aXZlIGRlY29kZSkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIDB4 ZjAwMC0weDAwMDBdIChkaXNhYmxlZCkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJpZGdlIHdpbmRv dyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZl0gKGRpc2FibGVkKQ0KcGNpIDAwMDA6MDA6MTQu NDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZmYwMDAwMC0weDAwMGZmZmZmIHByZWZdIChkaXNh YmxlZCkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmFmMDAwMDAt MHhmZDZmZmZmZl0gKHN1YnRyYWN0aXZlIGRlY29kZSkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJp ZGdlIHdpbmRvdyBbaW8gIDB4MTAwMC0weGZmZmZdIChzdWJ0cmFjdGl2ZSBkZWNvZGUpDQpwY2kg MDAwMDowMDoxNC40OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDAwMDAtMHgwM2FmXSAoc3VidHJh Y3RpdmUgZGVjb2RlKQ0KcGNpIDAwMDA6MDA6MTQuNDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHgw M2UwLTB4MGNmN10gKHN1YnRyYWN0aXZlIGRlY29kZSkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJp ZGdlIHdpbmRvdyBbaW8gIDB4MGQwMC0weDBmZmZdIChzdWJ0cmFjdGl2ZSBkZWNvZGUpDQpwY2kg MDAwMDowMDoxNC40OiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZlZDAwMDAwLTB4ZmVkMDNmZmZd IChzdWJ0cmFjdGl2ZSBkZWNvZGUpDQpwY2kgMDAwMDowMDoxNC40OiAgIGJyaWRnZSB3aW5kb3cg W21lbSAweGZlZDQwMDAwLTB4ZmVkNDRmZmZdIChzdWJ0cmFjdGl2ZSBkZWNvZGUpDQpwY2kgMDAw MDowMDoxNC40OiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDAzYjAtMHgwM2JiXSAoc3VidHJhY3Rp dmUgZGVjb2RlKQ0KcGNpIDAwMDA6MDA6MTQuNDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHgwM2Mw LTB4MDNkZl0gKHN1YnRyYWN0aXZlIGRlY29kZSkNCnBjaSAwMDAwOjAwOjE0LjQ6ICAgYnJpZGdl IHdpbmRvdyBbbWVtIDB4MDAwYTAwMDAtMHgwMDBiZmZmZl0gKHN1YnRyYWN0aXZlIGRlY29kZSkN CkFDUEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5fUFJUXQ0KQUNQ STogUENJIEludGVycnVwdCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kwLkcxM0EuX1BSVF0NCkFD UEk6IFBDSSBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5HMTEyLl9QUlRdDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuRzEyQy5fUFJUXQ0K QUNQSTogUENJIEludGVycnVwdCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kwLkcxMkIuX1BSVF0N CiBwY2kwMDAwOjAwOiBSZXF1ZXN0aW5nIEFDUEkgX09TQyBjb250cm9sICgweDFkKQ0KRmlybXdh cmUgZGlkIG5vdCBncmFudCByZXF1ZXN0ZWQgX09TQyBjb250cm9sDQpVbmFibGUgdG8gYXNzdW1l IF9PU0MgUENJZSBjb250cm9sLiBEaXNhYmxpbmcgQVNQTQ0KQUNQSTogUENJIFJvb3QgQnJpZGdl IFtQQ0kxXSAoZG9tYWluIDAwMDAgW2J1cyA0MC03Zl0pDQpwY2lfcm9vdCBQTlAwQTA4OjAxOiBo b3N0IGJyaWRnZSB3aW5kb3cgW21lbSAweGZkNzAwMDAwLTB4ZmRmZmZmZmZdDQpwY2kgMDAwMDo0 MDowMy4wOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQzaG90IEQzY29sZA0KcGNpIDAwMDA6NDA6 MDMuMDogUE1FIyBkaXNhYmxlZA0KcGNpIDAwMDA6NDA6MGIuMDogUE1FIyBzdXBwb3J0ZWQgZnJv bSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjQwOjBiLjA6IFBNRSMgZGlzYWJsZWQNCnBjaSAw MDAwOjQ0OjAwLjA6IHJlZyAxMDogW21lbSAweGZkZjgwMDAwLTB4ZmRmZmZmZmYgNjRiaXRdDQpw Y2kgMDAwMDo0NDowMC4wOiByZWcgMjA6IFttZW0gMHhmZGY3MDAwMC0weGZkZjczZmZmIDY0Yml0 XQ0KcGNpIDAwMDA6NDQ6MDAuMDogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQN CnBjaSAwMDAwOjQ0OjAwLjA6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjQ0OjAwLjE6IHJlZyAx MDogW21lbSAweGZkZTgwMDAwLTB4ZmRlZmZmZmYgNjRiaXRdDQpwY2kgMDAwMDo0NDowMC4xOiBy ZWcgMjA6IFttZW0gMHhmZGU3MDAwMC0weGZkZTczZmZmIDY0Yml0XQ0KcGNpIDAwMDA6NDQ6MDAu MTogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjQ0OjAwLjE6 IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjQ0OjAwLjI6IHJlZyAxMDogW21lbSAweGZkZDgwMDAw LTB4ZmRkZmZmZmYgNjRiaXRdDQpwY2kgMDAwMDo0NDowMC4yOiByZWcgMjA6IFttZW0gMHhmZGQ3 MDAwMC0weGZkZDczZmZmIDY0Yml0XQ0KcGNpIDAwMDA6NDQ6MDAuMjogUE1FIyBzdXBwb3J0ZWQg ZnJvbSBEMCBEM2hvdCBEM2NvbGQNCnBjaSAwMDAwOjQ0OjAwLjI6IFBNRSMgZGlzYWJsZWQNCnBj aSAwMDAwOjQ0OjAwLjM6IHJlZyAxMDogW21lbSAweGZkYzgwMDAwLTB4ZmRjZmZmZmYgNjRiaXRd DQpwY2kgMDAwMDo0NDowMC4zOiByZWcgMjA6IFttZW0gMHhmZGM3MDAwMC0weGZkYzczZmZmIDY0 Yml0XQ0KcGNpIDAwMDA6NDQ6MDAuMzogUE1FIyBzdXBwb3J0ZWQgZnJvbSBEMCBEM2hvdCBEM2Nv bGQNCnBjaSAwMDAwOjQ0OjAwLjM6IFBNRSMgZGlzYWJsZWQNCnBjaSAwMDAwOjQwOjAzLjA6IFBD SSBicmlkZ2UgdG8gW2J1cyA0NC00Nl0NCnBjaSAwMDAwOjQwOjAzLjA6ICAgYnJpZGdlIHdpbmRv dyBbaW8gIDB4ZmZmZmZmZmZmZmZmZjAwMC0weDAwMDBdIChkaXNhYmxlZCkNCnBjaSAwMDAwOjQw OjAzLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmRjMDAwMDAtMHhmZGZmZmZmZl0NCnBjaSAw MDAwOjQwOjAzLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmZmMDAwMDAtMHgwMDBmZmZmZiBw cmVmXSAoZGlzYWJsZWQpDQpwY2kgMDAwMDo0MTowMC4wOiByZWcgMTA6IFttZW0gMHhmZGI4MDAw MC0weGZkYmZmZmZmIDY0Yml0XQ0KcGNpIDAwMDA6NDE6MDAuMDogcmVnIDIwOiBbbWVtIDB4ZmRi NzAwMDAtMHhmZGI3M2ZmZiA2NGJpdF0NCnBjaSAwMDAwOjQxOjAwLjA6IFBNRSMgc3VwcG9ydGVk IGZyb20gRDAgRDNob3QgRDNjb2xkDQpwY2kgMDAwMDo0MTowMC4wOiBQTUUjIGRpc2FibGVkDQpw Y2kgMDAwMDo0MTowMC4xOiByZWcgMTA6IFttZW0gMHhmZGE4MDAwMC0weGZkYWZmZmZmIDY0Yml0 XQ0KcGNpIDAwMDA6NDE6MDAuMTogcmVnIDIwOiBbbWVtIDB4ZmRhNzAwMDAtMHhmZGE3M2ZmZiA2 NGJpdF0NCnBjaSAwMDAwOjQxOjAwLjE6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3QgRDNj b2xkDQpwY2kgMDAwMDo0MTowMC4xOiBQTUUjIGRpc2FibGVkDQpwY2kgMDAwMDo0MTowMC4yOiBy ZWcgMTA6IFttZW0gMHhmZDk4MDAwMC0weGZkOWZmZmZmIDY0Yml0XQ0KcGNpIDAwMDA6NDE6MDAu MjogcmVnIDIwOiBbbWVtIDB4ZmQ5NzAwMDAtMHhmZDk3M2ZmZiA2NGJpdF0NCnBjaSAwMDAwOjQx OjAwLjI6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3QgRDNjb2xkDQpwY2kgMDAwMDo0MTow MC4yOiBQTUUjIGRpc2FibGVkDQpwY2kgMDAwMDo0MTowMC4zOiByZWcgMTA6IFttZW0gMHhmZDg4 MDAwMC0weGZkOGZmZmZmIDY0Yml0XQ0KcGNpIDAwMDA6NDE6MDAuMzogcmVnIDIwOiBbbWVtIDB4 ZmQ4NzAwMDAtMHhmZDg3M2ZmZiA2NGJpdF0NCnBjaSAwMDAwOjQxOjAwLjM6IFBNRSMgc3VwcG9y dGVkIGZyb20gRDAgRDNob3QgRDNjb2xkDQpwY2kgMDAwMDo0MTowMC4zOiBQTUUjIGRpc2FibGVk DQpwY2kgMDAwMDo0MDowYi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgNDEtNDNdDQpwY2kgMDAwMDo0 MDowYi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweGZmZmZmZmZmZmZmZmYwMDAtMHgwMDAwXSAo ZGlzYWJsZWQpDQpwY2kgMDAwMDo0MDowYi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGZkODAw MDAwLTB4ZmRiZmZmZmZdDQpwY2kgMDAwMDo0MDowYi4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAw eGZmZjAwMDAwLTB4MDAwZmZmZmYgcHJlZl0gKGRpc2FibGVkKQ0KQUNQSTogUENJIEludGVycnVw dCBSb3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kxLl9QUlRdDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IFJv dXRpbmcgVGFibGUgW1xfU0JfLlBDSTEuRzIyQi5fUFJUXQ0KQUNQSTogUENJIEludGVycnVwdCBS b3V0aW5nIFRhYmxlIFtcX1NCXy5QQ0kxLkcyMTMuX1BSVF0NCiBwY2kwMDAwOjQwOiBSZXF1ZXN0 aW5nIEFDUEkgX09TQyBjb250cm9sICgweDFkKQ0KRmlybXdhcmUgZGlkIG5vdCBncmFudCByZXF1 ZXN0ZWQgX09TQyBjb250cm9sDQpVbmFibGUgdG8gYXNzdW1lIF9PU0MgUENJZSBjb250cm9sLiBE aXNhYmxpbmcgQVNQTQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDIwXSAoSVJRcyAqMjQp DQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwMjFdIChJUlFzICoyNSkNCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbSTAyMl0gKElSUXMgKjI2KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5r IFtJMDIzXSAoSVJRcyAqMjcpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwMzBdIChJUlFz ICoyOCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTAzMV0gKElSUXMgKjI5KQ0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtJMDMyXSAoSVJRcyAqMzApDQpBQ1BJOiBQQ0kgSW50ZXJydXB0 IExpbmsgW0kwMzNdIChJUlFzICozMSkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA0MF0g KElSUXMgKjQ0KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDQxXSAoSVJRcyAqNDUpDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNDJdIChJUlFzICo0NikNCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbSTA0M10gKElSUXMgKjQ3KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJ MDUwXSAoSVJRcyAqNDgpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNTFdIChJUlFzICo0 OSkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA1Ml0gKElSUXMgKjUwKQ0KQUNQSTogUENJ IEludGVycnVwdCBMaW5rIFtJMDUzXSAoSVJRcyAqNTEpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExp bmsgW0kwNjBdIChJUlFzICo0NykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA2MV0gKElS UXMgKjQ0KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDYyXSAoSVJRcyAqNDUpDQpBQ1BJ OiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNjNdIChJUlFzICo0NikNCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbSTA3MF0gKElSUXMgKjI0KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDcx XSAoSVJRcyAqMjUpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNzJdIChJUlFzICoyNikN CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA3M10gKElSUXMgKjI3KQ0KQUNQSTogUENJIElu dGVycnVwdCBMaW5rIFtJMDkwXSAoSVJRcyAqMjQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0kwOTFdIChJUlFzICoyNCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA5Ml0gKElSUXMg KjI0KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDkzXSAoSVJRcyAqMjQpDQpBQ1BJOiBQ Q0kgSW50ZXJydXB0IExpbmsgW0kwQTBdIChJUlFzICoyNCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQg TGluayBbSTBBMV0gKElSUXMgKjI1KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEEyXSAo SVJRcyAqMjYpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwQTNdIChJUlFzICoyNykNCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBCMF0gKElSUXMgKjMyKQ0KQUNQSTogUENJIEludGVy cnVwdCBMaW5rIFtJMEIxXSAoSVJRcyAqMzMpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kw QjJdIChJUlFzICozNCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBCM10gKElSUXMgKjM1 KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEMwXSAoSVJRcyAqMzYpDQpBQ1BJOiBQQ0kg SW50ZXJydXB0IExpbmsgW0kwQzFdIChJUlFzICozNykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbSTBDMl0gKElSUXMgKjM4KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEMzXSAoSVJR cyAqMzkpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwRDBdIChJUlFzICo0MCkNCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBEMV0gKElSUXMgKjQxKQ0KQUNQSTogUENJIEludGVycnVw dCBMaW5rIFtJMEQyXSAoSVJRcyAqNDIpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwRDNd IChJUlFzICo0MykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbQkkwMl0gKElSUXMgKjUyKQ0K QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtCSTAzXSAoSVJRcyAqNTIpDQpBQ1BJOiBQQ0kgSW50 ZXJydXB0IExpbmsgW0JJMDRdIChJUlFzICo1MikNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb QkkwNV0gKElSUXMgKjUyKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtCSTA2XSAoSVJRcyAq NTQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMDddIChJUlFzICoyNCkNCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbQkkwOF0gKElSUXMgKjI0KQ0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtCSTA5XSAoSVJRcyAqMjQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMEFdIChJ UlFzICoyNCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbQkkwQl0gKElSUXMgKjU0KQ0KQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtCSTBDXSAoSVJRcyAqNTQpDQpBQ1BJOiBQQ0kgSW50ZXJy dXB0IExpbmsgW0JJMERdIChJUlFzICo1NCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEky MF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb UEkyMV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbUEkyMl0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQg TGluayBbUEkyM10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbUEkzMF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbUEkzMV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbUEkzMl0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbUEkzM10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk0MF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk0MV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4N CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk0Ml0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxl ZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk0M10gKElSUXMgMTAgMTEpICowLCBkaXNh YmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk1MF0gKElSUXMgMTAgMTEpICowLCBk aXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk1MV0gKElSUXMgMTAgMTEpICow LCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk1Ml0gKElSUXMgMTAgMTEp ICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk1M10gKElSUXMgMTAg MTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk2MF0gKElSUXMg MTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk2MV0gKElS UXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk2Ml0g KElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk2 M10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb UEk3MF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbUEk3MV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQg TGluayBbUEk3Ml0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbUEk3M10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbUEk5MF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbUEk5MV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbUEk5Ml0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbUEk5M10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElBMF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4N CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElBMV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxl ZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElBMl0gKElSUXMgMTAgMTEpICowLCBkaXNh YmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElBM10gKElSUXMgMTAgMTEpICowLCBk aXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElCMF0gKElSUXMgMTAgMTEpICow LCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElCMV0gKElSUXMgMTAgMTEp ICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElCMl0gKElSUXMgMTAg MTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElCM10gKElSUXMg MTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElDMF0gKElS UXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElDMV0g KElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElD Ml0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb UElDM10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbUElEMF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQg TGluayBbUElEMV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbUElEMl0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbUElEM10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbUElSMl0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbUElSM10gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSNF0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSNV0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxlZC4N CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSNl0gKElSUXMgMTAgMTEpICowLCBkaXNhYmxl ZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSN10gKElSUXMgMTAgMTEpICowLCBkaXNh YmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSOF0gKElSUXMgMTAgMTEpICowLCBk aXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSOV0gKElSUXMgMTAgMTEpICow LCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSQV0gKElSUXMgMTAgMTEp ICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSQl0gKElSUXMgMTAg MTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSQ10gKElSUXMg MTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbUElSRF0gKElS UXMgMTAgMTEpICowLCBkaXNhYmxlZC4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbVVNCMV0g KElSUXMgKjIyKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtVU0IyXSAoSVJRcyAqMjMpDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW1VTQjNdIChJUlFzICoyMykNCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbVVNCNF0gKElSUXMgKjIyKQ0KQUNQSTogSW52YWxpZCBfUFJTIElSUSAwDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW1UxUEldIChJUlFzKSAqMA0KQUNQSTogSW52YWxpZCBf UFJTIElSUSAwDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW1UyUEldIChJUlFzKSAqMA0KQUNQ STogSW52YWxpZCBfUFJTIElSUSAwDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW1UzUEldIChJ UlFzKSAqMA0KQUNQSTogSW52YWxpZCBfUFJTIElSUSAwDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExp bmsgW1U0UEldIChJUlFzKSAqMA0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtTQVRBXSAoSVJR cyAqMTYpDQpBQ1BJOiBJbnZhbGlkIF9QUlMgSVJRIDANCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbU0FUUF0gKElSUXMpICowDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwMjBdIChJUlFz ICo1NikNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTAyMV0gKElSUXMgKjU3KQ0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtJMDIyXSAoSVJRcyAqNTgpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0 IExpbmsgW0kwMjNdIChJUlFzICo1OSkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTAzMF0g KElSUXMgKjYwKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDMxXSAoSVJRcyAqNjEpDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwMzJdIChJUlFzICo2MikNCkFDUEk6IFBDSSBJbnRl cnJ1cHQgTGluayBbSTAzM10gKElSUXMgKjYzKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJ MDQwXSAoSVJRcyAqNzYpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNDFdIChJUlFzICo3 NykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA0Ml0gKElSUXMgKjc4KQ0KQUNQSTogUENJ IEludGVycnVwdCBMaW5rIFtJMDQzXSAoSVJRcyAqNzkpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExp bmsgW0kwNTBdIChJUlFzICo4MCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA1MV0gKElS UXMgKjgxKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDUyXSAoSVJRcyAqODIpDQpBQ1BJ OiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNTNdIChJUlFzICo4MykNCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbSTA2MF0gKElSUXMgKjc5KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDYx XSAoSVJRcyAqNzYpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwNjJdIChJUlFzICo3NykN CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA2M10gKElSUXMgKjc4KQ0KQUNQSTogUENJIElu dGVycnVwdCBMaW5rIFtJMDcwXSAoSVJRcyAqNTYpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0kwNzFdIChJUlFzICo1NykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTA3Ml0gKElSUXMg KjU4KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDczXSAoSVJRcyAqNTkpDQpBQ1BJOiBQ Q0kgSW50ZXJydXB0IExpbmsgW0kwOTBdIChJUlFzICoyNCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQg TGluayBbSTA5MV0gKElSUXMgKjI0KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDkyXSAo SVJRcyAqMjQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwOTNdIChJUlFzICoyNCkNCkFD UEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBBMF0gKElSUXMgKjU2KQ0KQUNQSTogUENJIEludGVy cnVwdCBMaW5rIFtJMEExXSAoSVJRcyAqNTcpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kw QTJdIChJUlFzICo1OCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBBM10gKElSUXMgKjU5 KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEIwXSAoSVJRcyAqNjQpDQpBQ1BJOiBQQ0kg SW50ZXJydXB0IExpbmsgW0kwQjFdIChJUlFzICo2NSkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGlu ayBbSTBCMl0gKElSUXMgKjY2KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEIzXSAoSVJR cyAqNjcpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwQzBdIChJUlFzICo1NikNCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBDMV0gKElSUXMgKjU3KQ0KQUNQSTogUENJIEludGVycnVw dCBMaW5rIFtJMEMyXSAoSVJRcyAqNTgpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwQzNd IChJUlFzICo1OSkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBEMF0gKElSUXMgKjcyKQ0K QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEQxXSAoSVJRcyAqNzMpDQpBQ1BJOiBQQ0kgSW50 ZXJydXB0IExpbmsgW0kwRDJdIChJUlFzICo3NCkNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb STBEM10gKElSUXMgKjc1KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtCSTAyXSAoSVJRcyAq ODQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMDNdIChJUlFzICo4NCkNCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbQkkwNF0gKElSUXMgKjg0KQ0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtCSTA1XSAoSVJRcyAqODQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMDZdIChJ UlFzICo4NikNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbQkkwN10gKElSUXMgKjU2KQ0KQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtCSTA4XSAoSVJRcyAqNTYpDQpBQ1BJOiBQQ0kgSW50ZXJy dXB0IExpbmsgW0JJMDldIChJUlFzICo1NikNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbQkkw QV0gKElSUXMgKjU2KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtCSTBCXSAoSVJRcyAqODYp DQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMENdIChJUlFzICo4NikNCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbQkkwRF0gKElSUXMgKjg2KQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5r IFtQSTIwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtQSTIxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVw dCBMaW5rIFtQSTIyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVy cnVwdCBMaW5rIFtQSTIzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIElu dGVycnVwdCBMaW5rIFtQSTMwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJ IEludGVycnVwdCBMaW5rIFtQSTMxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtQSTMyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtQSTMzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0K QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTQwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVk Lg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTQxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2Fi bGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTQyXSAoSVJRcyAxMCAxMSkgKjAsIGRp c2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTQzXSAoSVJRcyAxMCAxMSkgKjAs IGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTUwXSAoSVJRcyAxMCAxMSkg KjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTUxXSAoSVJRcyAxMCAx MSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTUyXSAoSVJRcyAx MCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTUzXSAoSVJR cyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTYwXSAo SVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTYx XSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQ STYyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5r IFtQSTYzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtQSTcwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVw dCBMaW5rIFtQSTcxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVy cnVwdCBMaW5rIFtQSTcyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIElu dGVycnVwdCBMaW5rIFtQSTczXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJ IEludGVycnVwdCBMaW5rIFtQSTkwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtQSTkxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtQSTkyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0K QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSTkzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVk Lg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUEwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2Fi bGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUExXSAoSVJRcyAxMCAxMSkgKjAsIGRp c2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUEyXSAoSVJRcyAxMCAxMSkgKjAs IGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUEzXSAoSVJRcyAxMCAxMSkg KjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUIwXSAoSVJRcyAxMCAx MSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUIxXSAoSVJRcyAx MCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUIyXSAoSVJR cyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUIzXSAo SVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSUMw XSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQ SUMxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5r IFtQSUMyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtQSUMzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVw dCBMaW5rIFtQSUQwXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVy cnVwdCBMaW5rIFtQSUQxXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIElu dGVycnVwdCBMaW5rIFtQSUQyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJ IEludGVycnVwdCBMaW5rIFtQSUQzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtQSVIyXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQ STogUENJIEludGVycnVwdCBMaW5rIFtQSVIzXSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0K QUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI0XSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVk Lg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI1XSAoSVJRcyAxMCAxMSkgKjAsIGRpc2Fi bGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI2XSAoSVJRcyAxMCAxMSkgKjAsIGRp c2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI3XSAoSVJRcyAxMCAxMSkgKjAs IGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI4XSAoSVJRcyAxMCAxMSkg KjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVI5XSAoSVJRcyAxMCAx MSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVJBXSAoSVJRcyAx MCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVJCXSAoSVJR cyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVJDXSAo SVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtQSVJE XSAoSVJRcyAxMCAxMSkgKjAsIGRpc2FibGVkLg0KdmdhYXJiOiBkZXZpY2UgYWRkZWQ6IFBDSTow MDAwOjAyOjAwLjEsZGVjb2Rlcz1pbyttZW0sb3ducz1pbyttZW0sbG9ja3M9bm9uZQ0KdmdhYXJi OiBsb2FkZWQNCnZnYWFyYjogYnJpZGdlIGNvbnRyb2wgcG9zc2libGUgMDAwMDowMjowMC4xDQpT Q1NJIHN1YnN5c3RlbSBpbml0aWFsaXplZA0KbGliYXRhIHZlcnNpb24gMy4wMCBsb2FkZWQuDQp1 c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmZzDQp1c2Jjb3JlOiBy ZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGh1Yg0KdXNiY29yZTogcmVnaXN0ZXJlZCBu ZXcgZGV2aWNlIGRyaXZlciB1c2INClBDSTogVXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRpbmcNClBD STogcGNpX2NhY2hlX2xpbmVfc2l6ZSBzZXQgdG8gNjQgYnl0ZXMNCk5ldExhYmVsOiBJbml0aWFs aXppbmcNCk5ldExhYmVsOiAgZG9tYWluIGhhc2ggc2l6ZSA9IDEyOA0KTmV0TGFiZWw6ICBwcm90 b2NvbHMgPSBVTkxBQkVMRUQgQ0lQU092NA0KTmV0TGFiZWw6ICB1bmxhYmVsZWQgdHJhZmZpYyBh bGxvd2VkIGJ5IGRlZmF1bHQNCmhwZXQwOiBhdCBNTUlPIDB4ZmVkMDAwMDAsIElSUXMgMiwgOCwg MCwgMA0KaHBldDA6IDQgY29tcGFyYXRvcnMsIDMyLWJpdCAxNC4zMTgxODAgTUh6IGNvdW50ZXIN ClN3aXRjaGluZyB0byBjbG9ja3NvdXJjZSBocGV0DQpwbnA6IFBuUCBBQ1BJIGluaXQNCkFDUEk6 IGJ1cyB0eXBlIHBucCByZWdpc3RlcmVkDQpwbnAgMDA6MDA6IFBsdWcgYW5kIFBsYXkgQUNQSSBk ZXZpY2UsIElEcyBQTlAwYTA4IFBOUDBhMDMgKGFjdGl2ZSkNCnBucCAwMDowMTogW2lvICAweDAw MTAtMHgwMDFmXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MDAyMC0weDAwM2ZdDQpwbnAgMDA6MDE6IFtp byAgMHgwMGEwLTB4MDBiZl0NCnBucCAwMDowMTogW2lvICAweDAwNTAtMHgwMDUzXQ0KcG5wIDAw OjAxOiBbaW8gIDB4MDA3MC0weDAwNzldDQpwbnAgMDA6MDE6IFtpbyAgMHgwMDkwLTB4MDA5Zl0N CnBucCAwMDowMTogW2lvICAweDAwZjBdDQpwbnAgMDA6MDE6IFtpbyAgMHgwMzc5LTB4MDM3YV0N CnBucCAwMDowMTogW2lvICAweDA0MDAtMHgwNDNmXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MDRkMC0w eDA0ZDFdDQpwbnAgMDA6MDE6IFtpbyAgMHgwNGQ2XQ0KcG5wIDAwOjAxOiBbaW8gIDB4MDUyMF0N CnBucCAwMDowMTogW2lvICAweDA1ODAtMHgwNTlmXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MDYwMC0w eDA2N2ZdDQpwbnAgMDA6MDE6IFtpbyAgMHgwNzAwLTB4MDcwM10NCnBucCAwMDowMTogW2lvICAw eDA4MjAtMHgwODJmXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MDkwMC0weDA5ZmVdDQpwbnAgMDA6MDE6 IFtpbyAgMHgwYzA2LTB4MGMwN10NCnBucCAwMDowMTogW2lvICAweDBjMTRdDQpwbnAgMDA6MDE6 IFtpbyAgMHgwYzRhXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MGM1MC0weDBjNTJdDQpwbnAgMDA6MDE6 IFtpbyAgMHgwYzZjXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MGM2Zl0NCnBucCAwMDowMTogW2lvICAw eDBjODAtMHgwYzgzXQ0KcG5wIDAwOjAxOiBbaW8gIDB4MGM5MC0weDBjOWZdDQpwbnAgMDA6MDE6 IFtpbyAgMHgwY2EwLTB4MGNhNV0NCnBucCAwMDowMTogW2lvICAweDBjZDAtMHgwY2RmXQ0KcG5w IDAwOjAxOiBbaW8gIDB4MGY1MC0weDBmNThdDQpwbnAgMDA6MDE6IFtpbyAgMHgwYjAwLTB4MGIz Zl0NCnBucCAwMDowMTogW2lvICAweDAyZjgtMHgwMmZmXQ0KcG5wIDAwOjAxOiBbbWVtIDB4YzAw MDAwMDAtMHhjZmZmZmZmZl0NCnBucCAwMDowMTogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwg SURzIFBOUDBjMDIgKGFjdGl2ZSkNCnBucCAwMDowMjogW2lvICAweDBjYTItMHgwY2EzXQ0KcG5w IDAwOjAyOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgSVBJMDAwMSAoYWN0aXZlKQ0K cG5wIDAwOjAzOiBbbWVtIDB4ZmVkMDAwMDAtMHhmZWQwMDNmZl0NCnBucCAwMDowMzogUGx1ZyBh bmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDAxMDMgKGFjdGl2ZSkNCnBucCAwMDowNDogW2Rt YSA3XQ0KcG5wIDAwOjA0OiBbaW8gIDB4MDAwMC0weDAwMGZdDQpwbnAgMDA6MDQ6IFtpbyAgMHgw MDgwLTB4MDA4Zl0NCnBucCAwMDowNDogW2lvICAweDAwYzAtMHgwMGRmXQ0KcG5wIDAwOjA0OiBQ bHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMDIwMCAoYWN0aXZlKQ0KcG5wIDAwOjA1 OiBbaW8gIDB4MDA2MV0NCnBucCAwMDowNTogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURz IFBOUDA4MDAgKGFjdGl2ZSkNCnBucCAwMDowNjogW2lvICAweDAwNjBdDQpwbnAgMDA6MDY6IFtp byAgMHgwMDY0XQ0KcG5wIDAwOjA2OiBbaXJxIDFdDQpwbnAgMDA6MDY6IFBsdWcgYW5kIFBsYXkg QUNQSSBkZXZpY2UsIElEcyBQTlAwMzAzIChhY3RpdmUpDQpwbnAgMDA6MDc6IFtpcnEgMTJdDQpw bnAgMDA6MDc6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwZjEzIFBOUDBmMGUg KGFjdGl2ZSkNCnBucCAwMDowODogW2lvICAweDAwMmUtMHgwMDJmXQ0KcG5wIDAwOjA4OiBbaW8g IDB4MDYyMC0weDA2NWZdDQpwbnAgMDA6MDg6IFtpbyAgMHgwNjgwLTB4MDY5Zl0NCnBucCAwMDow ODogW2lvICAweDA2MDAtMHgwNjFmXQ0KcG5wIDAwOjA4OiBbaW8gIDB4MDY2MC0weDA2N2ZdDQpw bnAgMDA6MDg6IFtpbyAgMHgwMzAwLTB4MDMxZl0NCnBucCAwMDowODogUGx1ZyBhbmQgUGxheSBB Q1BJIGRldmljZSwgSURzIFBOUDBhMDYgKGFjdGl2ZSkNCnBucCAwMDowOTogW2lycSA0XQ0KcG5w IDAwOjA5OiBbaW8gIDB4MDNmOC0weDAzZmZdDQpwbnAgMDA6MDk6IFBsdWcgYW5kIFBsYXkgQUNQ SSBkZXZpY2UsIElEcyBQTlAwNTAxIFBOUDA1MDAgKGFjdGl2ZSkNCnBucCAwMDowYTogW2lvICAw eDAwNzAtMHgwMDcxXQ0KcG5wIDAwOjBhOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMg UE5QMGIwMCAoYWN0aXZlKQ0KcG5wIDAwOjBiOiBbbWVtIDB4ZmFmZjQwMDAtMHhmYWZmN2ZmZl0N CnBucCAwMDowYjogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDBjMDIgKGFjdGl2 ZSkNCnBucCAwMDowYzogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDBhMDggUE5Q MGEwMyAoYWN0aXZlKQ0KcG5wIDAwOjBkOiBbbWVtIDB4ZmQ3ZjQwMDAtMHhmZDdmN2ZmZl0NCnBu cCAwMDowZDogUGx1ZyBhbmQgUGxheSBBQ1BJIGRldmljZSwgSURzIFBOUDBjMDIgKGFjdGl2ZSkN CnBucDogUG5QIEFDUEk6IGZvdW5kIDE0IGRldmljZXMNCkFDUEk6IEFDUEkgYnVzIHR5cGUgcG5w IHVucmVnaXN0ZXJlZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDM3OS0weDAzN2FdIGhhcyBiZWVu IHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwNDAwLTB4MDQzZl0gaGFzIGJlZW4gcmVz ZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDA0ZDAtMHgwNGQxXSBoYXMgYmVlbiByZXNlcnZl ZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDRkNl0gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAw MDowMTogW2lvICAweDA1MjBdIGhhcyBiZWVuIHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAg MHgwNTgwLTB4MDU5Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDA2 MDAtMHgwNjdmXSBoYXMgYmVlbiByZXNlcnZlZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MDcwMC0w eDA3MDNdIGhhcyBiZWVuIHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwODIwLTB4MDgy Zl0gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDA5MDAtMHgwOWZlXSBo YXMgYmVlbiByZXNlcnZlZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MGMwNi0weDBjMDddIGhhcyBi ZWVuIHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwYzE0XSBoYXMgYmVlbiByZXNlcnZl ZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MGM0YV0gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAw MDowMTogW2lvICAweDBjNTAtMHgwYzUyXSBoYXMgYmVlbiByZXNlcnZlZA0Kc3lzdGVtIDAwOjAx OiBbaW8gIDB4MGM2Y10gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDBj NmZdIGhhcyBiZWVuIHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwYzgwLTB4MGM4M10g aGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDBjOTAtMHgwYzlmXSBoYXMg YmVlbiByZXNlcnZlZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MGNhMC0weDBjYTVdIGhhcyBiZWVu IHJlc2VydmVkDQpzeXN0ZW0gMDA6MDE6IFtpbyAgMHgwY2QwLTB4MGNkZl0gaGFzIGJlZW4gcmVz ZXJ2ZWQNCnN5c3RlbSAwMDowMTogW2lvICAweDBmNTAtMHgwZjU4XSBoYXMgYmVlbiByZXNlcnZl ZA0Kc3lzdGVtIDAwOjAxOiBbaW8gIDB4MGIwMC0weDBiM2ZdIGhhcyBiZWVuIHJlc2VydmVkDQpz eXN0ZW0gMDA6MDE6IFtpbyAgMHgwMmY4LTB4MDJmZl0gaGFzIGJlZW4gcmVzZXJ2ZWQNCnN5c3Rl bSAwMDowMTogW21lbSAweGMwMDAwMDAwLTB4Y2ZmZmZmZmZdIGhhcyBiZWVuIHJlc2VydmVkDQpz eXN0ZW0gMDA6MGI6IFttZW0gMHhmYWZmNDAwMC0weGZhZmY3ZmZmXSBoYXMgYmVlbiByZXNlcnZl ZA0Kc3lzdGVtIDAwOjBkOiBbbWVtIDB4ZmQ3ZjQwMDAtMHhmZDdmN2ZmZl0gaGFzIGJlZW4gcmVz ZXJ2ZWQNClBDSTogbWF4IGJ1cyBkZXB0aDogMSBwY2lfdHJ5X251bTogMg0KcGNpIDAwMDA6MDA6 MDIuMDogQkFSIDE1OiBhc3NpZ25lZCBbbWVtIDB4ZmMwMDAwMDAtMHhmYzBmZmZmZiBwcmVmXQ0K cGNpIDAwMDA6MDA6MGMuMDogQkFSIDE0OiBhc3NpZ25lZCBbbWVtIDB4ZmMxMDAwMDAtMHhmYzFm ZmZmZl0NCnBjaSAwMDAwOjAzOjAwLjA6IEJBUiA2OiBhc3NpZ25lZCBbbWVtIDB4ZmMwMDAwMDAt MHhmYzA3ZmZmZiBwcmVmXQ0KcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRnZSB0byBbYnVzIDAz LTAzXQ0KcGNpIDAwMDA6MDA6MDIuMDogUENJIGJyaWRnZSB0byBbYnVzIDAzLTAzXQ0KcGNpIDAw MDA6MDA6MDIuMDogICBicmlkZ2Ugd2luZG93IFtpbyAgMHg0MDAwLTB4NGZmZl0NCnBjaSAwMDAw OjAwOjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmQxMDAwMDAtMHhmZDJmZmZmZl0NCnBj aSAwMDAwOjAwOjAyLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmMwMDAwMDAtMHhmYzBmZmZm ZiBwcmVmXQ0KcGNpIDAwMDA6MDI6MDAuMjogQkFSIDY6IGFzc2lnbmVkIFttZW0gMHhmYzUwMDAw MC0weGZjNTBmZmZmIHByZWZdDQpwY2kgMDAwMDowMDowYS4wOiBQQ0kgYnJpZGdlIHRvIFtidXMg MDItMDJdDQpwY2kgMDAwMDowMDowYS4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDItMDJdDQpwY2kg MDAwMDowMDowYS4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICAweDMwMDAtMHgzZmZmXQ0KcGNpIDAw MDA6MDA6MGEuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmYzUwMDAwMC0weGZkMGZmZmZmXQ0K cGNpIDAwMDA6MDA6MGEuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmYjAwMDAwMC0weGZiZmZm ZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowMDowYi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDgt MGFdDQpwY2kgMDAwMDowMDowYi4wOiBQQ0kgYnJpZGdlIHRvIFtidXMgMDgtMGFdDQpwY2kgMDAw MDowMDowYi4wOiAgIGJyaWRnZSB3aW5kb3cgW2lvICBkaXNhYmxlZF0NCnBjaSAwMDAwOjAwOjBi LjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmQzMDAwMDAtMHhmZDZmZmZmZl0NCnBjaSAwMDAw OjAwOjBiLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIHByZWYgZGlzYWJsZWRdDQpwY2kgMDAwMDow NDowMC4wOiBCQVIgNjogYXNzaWduZWQgW21lbSAweGZjMzAwMDAwLTB4ZmMzMWZmZmYgcHJlZl0N CnBjaSAwMDAwOjA0OjAwLjE6IEJBUiA2OiBhc3NpZ25lZCBbbWVtIDB4ZmMzMjAwMDAtMHhmYzMz ZmZmZiBwcmVmXQ0KcGNpIDAwMDA6MDQ6MDAuMjogQkFSIDY6IGFzc2lnbmVkIFttZW0gMHhmYzEw MDAwMC0weGZjMTFmZmZmIHByZWZdDQpwY2kgMDAwMDowNDowMC4zOiBCQVIgNjogYXNzaWduZWQg W21lbSAweGZjMTIwMDAwLTB4ZmMxM2ZmZmYgcHJlZl0NCnBjaSAwMDAwOjAwOjBjLjA6IFBDSSBi cmlkZ2UgdG8gW2J1cyAwNC0wNF0NCnBjaSAwMDAwOjAwOjBjLjA6IFBDSSBicmlkZ2UgdG8gW2J1 cyAwNC0wNF0NCnBjaSAwMDAwOjAwOjBjLjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRpc2FibGVk XQ0KcGNpIDAwMDA6MDA6MGMuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmYzEwMDAwMC0weGZj MWZmZmZmXQ0KcGNpIDAwMDA6MDA6MGMuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmYzMwMDAw MC0weGZjM2ZmZmZmIDY0Yml0IHByZWZdDQpwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRv IFtidXMgMDEtMDFdDQpwY2kgMDAwMDowMDoxNC40OiBQQ0kgYnJpZGdlIHRvIFtidXMgMDEtMDFd DQpwY2kgMDAwMDowMDoxNC40OiAgIGJyaWRnZSB3aW5kb3cgW2lvICBkaXNhYmxlZF0NCnBjaSAw MDAwOjAwOjE0LjQ6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIGRpc2FibGVkXQ0KcGNpIDAwMDA6MDA6 MTQuNDogICBicmlkZ2Ugd2luZG93IFttZW0gcHJlZiBkaXNhYmxlZF0NCnBjaSAwMDAwOjQwOjAz LjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA0NC00Nl0NCnBjaSAwMDAwOjQwOjAzLjA6IFBDSSBicmlk Z2UgdG8gW2J1cyA0NC00Nl0NCnBjaSAwMDAwOjQwOjAzLjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8g IGRpc2FibGVkXQ0KcGNpIDAwMDA6NDA6MDMuMDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZGMw MDAwMC0weGZkZmZmZmZmXQ0KcGNpIDAwMDA6NDA6MDMuMDogICBicmlkZ2Ugd2luZG93IFttZW0g cHJlZiBkaXNhYmxlZF0NCnBjaSAwMDAwOjQwOjBiLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA0MS00 M10NCnBjaSAwMDAwOjQwOjBiLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA0MS00M10NCnBjaSAwMDAw OjQwOjBiLjA6ICAgYnJpZGdlIHdpbmRvdyBbaW8gIGRpc2FibGVkXQ0KcGNpIDAwMDA6NDA6MGIu MDogICBicmlkZ2Ugd2luZG93IFttZW0gMHhmZDgwMDAwMC0weGZkYmZmZmZmXQ0KcGNpIDAwMDA6 NDA6MGIuMDogICBicmlkZ2Ugd2luZG93IFttZW0gcHJlZiBkaXNhYmxlZF0NCkFDUEk6IFBDSSBJ bnRlcnJ1cHQgTGluayBbQkkwMl0gZW5hYmxlZCBhdCBJUlEgNTINCiAgYWxsb2MgaXJxX2Rlc2Mg Zm9yIDUyIG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQpwY2kgMDAw MDowMDowMi4wOiBQQ0kgSU5UIEEgLT4gTGlua1tCSTAyXSAtPiBHU0kgNTIgKGxldmVsLCBoaWdo KSAtPiBJUlEgNTINCnBjaSAwMDAwOjAwOjAyLjA6IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2 NA0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtCSTBBXSBlbmFibGVkIGF0IElSUSAyNA0KICBh bGxvYyBpcnFfZGVzYyBmb3IgMjQgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5v ZGUgLTENCnBjaSAwMDAwOjAwOjBhLjA6IFBDSSBJTlQgQSAtPiBMaW5rW0JJMEFdIC0+IEdTSSAy NCAobGV2ZWwsIGhpZ2gpIC0+IElSUSAyNA0KcGNpIDAwMDA6MDA6MGEuMDogc2V0dGluZyBsYXRl bmN5IHRpbWVyIHRvIDY0DQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0JJMEJdIGVuYWJsZWQg YXQgSVJRIDU0DQogIGFsbG9jIGlycV9kZXNjIGZvciA1NCBvbiBub2RlIC0xDQogIGFsbG9jIGtz dGF0X2lycXMgb24gbm9kZSAtMQ0KcGNpIDAwMDA6MDA6MGIuMDogUENJIElOVCBBIC0+IExpbmtb QkkwQl0gLT4gR1NJIDU0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDU0DQpwY2kgMDAwMDowMDowYi4w OiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb QkkwQ10gZW5hYmxlZCBhdCBJUlEgNTQNCnBjaSAwMDAwOjAwOjBjLjA6IFBDSSBJTlQgQSAtPiBM aW5rW0JJMENdIC0+IEdTSSA1NCAobGV2ZWwsIGhpZ2gpIC0+IElSUSA1NA0KcGNpIDAwMDA6MDA6 MGMuMDogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExp bmsgW0JJMDNdIGVuYWJsZWQgYXQgSVJRIDg0DQogIGFsbG9jIGlycV9kZXNjIGZvciA4NCBvbiBu b2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KcGNpIDAwMDA6NDA6MDMuMDog UENJIElOVCBBIC0+IExpbmtbQkkwM10gLT4gR1NJIDg0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDg0 DQpwY2kgMDAwMDo0MDowMy4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbQkkwQl0gZW5hYmxlZCBhdCBJUlEgODYNCiAgYWxsb2MgaXJxX2Rl c2MgZm9yIDg2IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQpwY2kg MDAwMDo0MDowYi4wOiBQQ0kgSU5UIEEgLT4gTGlua1tCSTBCXSAtPiBHU0kgODYgKGxldmVsLCBo aWdoKSAtPiBJUlEgODYNCnBjaSAwMDAwOjQwOjBiLjA6IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0 byA2NA0KcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA0IFttZW0gMHhmYWYwMDAwMC0weGZkNmZm ZmZmXQ0KcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA1IFtpbyAgMHgxMDAwLTB4ZmZmZl0NCnBj aV9idXMgMDAwMDowMDogcmVzb3VyY2UgNiBbaW8gIDB4MDAwMC0weDAzYWZdDQpwY2lfYnVzIDAw MDA6MDA6IHJlc291cmNlIDcgW2lvICAweDAzZTAtMHgwY2Y3XQ0KcGNpX2J1cyAwMDAwOjAwOiBy ZXNvdXJjZSA4IFtpbyAgMHgwZDAwLTB4MGZmZl0NCnBjaV9idXMgMDAwMDowMDogcmVzb3VyY2Ug OSBbbWVtIDB4ZmVkMDAwMDAtMHhmZWQwM2ZmZl0NCnBjaV9idXMgMDAwMDowMDogcmVzb3VyY2Ug MTAgW21lbSAweGZlZDQwMDAwLTB4ZmVkNDRmZmZdDQpwY2lfYnVzIDAwMDA6MDA6IHJlc291cmNl IDExIFtpbyAgMHgwM2IwLTB4MDNiYl0NCnBjaV9idXMgMDAwMDowMDogcmVzb3VyY2UgMTIgW2lv ICAweDAzYzAtMHgwM2RmXQ0KcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSAxMyBbbWVtIDB4MDAw YTAwMDAtMHgwMDBiZmZmZl0NCnBjaV9idXMgMDAwMDowMzogcmVzb3VyY2UgMCBbaW8gIDB4NDAw MC0weDRmZmZdDQpwY2lfYnVzIDAwMDA6MDM6IHJlc291cmNlIDEgW21lbSAweGZkMTAwMDAwLTB4 ZmQyZmZmZmZdDQpwY2lfYnVzIDAwMDA6MDM6IHJlc291cmNlIDIgW21lbSAweGZjMDAwMDAwLTB4 ZmMwZmZmZmYgcHJlZl0NCnBjaV9idXMgMDAwMDowMjogcmVzb3VyY2UgMCBbaW8gIDB4MzAwMC0w eDNmZmZdDQpwY2lfYnVzIDAwMDA6MDI6IHJlc291cmNlIDEgW21lbSAweGZjNTAwMDAwLTB4ZmQw ZmZmZmZdDQpwY2lfYnVzIDAwMDA6MDI6IHJlc291cmNlIDIgW21lbSAweGZiMDAwMDAwLTB4ZmJm ZmZmZmYgNjRiaXQgcHJlZl0NCnBjaV9idXMgMDAwMDowODogcmVzb3VyY2UgMSBbbWVtIDB4ZmQz MDAwMDAtMHhmZDZmZmZmZl0NCnBjaV9idXMgMDAwMDowNDogcmVzb3VyY2UgMSBbbWVtIDB4ZmMx MDAwMDAtMHhmYzFmZmZmZl0NCnBjaV9idXMgMDAwMDowNDogcmVzb3VyY2UgMiBbbWVtIDB4ZmMz MDAwMDAtMHhmYzNmZmZmZiA2NGJpdCBwcmVmXQ0KcGNpX2J1cyAwMDAwOjAxOiByZXNvdXJjZSA0 IFttZW0gMHhmYWYwMDAwMC0weGZkNmZmZmZmXQ0KcGNpX2J1cyAwMDAwOjAxOiByZXNvdXJjZSA1 IFtpbyAgMHgxMDAwLTB4ZmZmZl0NCnBjaV9idXMgMDAwMDowMTogcmVzb3VyY2UgNiBbaW8gIDB4 MDAwMC0weDAzYWZdDQpwY2lfYnVzIDAwMDA6MDE6IHJlc291cmNlIDcgW2lvICAweDAzZTAtMHgw Y2Y3XQ0KcGNpX2J1cyAwMDAwOjAxOiByZXNvdXJjZSA4IFtpbyAgMHgwZDAwLTB4MGZmZl0NCnBj aV9idXMgMDAwMDowMTogcmVzb3VyY2UgOSBbbWVtIDB4ZmVkMDAwMDAtMHhmZWQwM2ZmZl0NCnBj aV9idXMgMDAwMDowMTogcmVzb3VyY2UgMTAgW21lbSAweGZlZDQwMDAwLTB4ZmVkNDRmZmZdDQpw Y2lfYnVzIDAwMDA6MDE6IHJlc291cmNlIDExIFtpbyAgMHgwM2IwLTB4MDNiYl0NCnBjaV9idXMg MDAwMDowMTogcmVzb3VyY2UgMTIgW2lvICAweDAzYzAtMHgwM2RmXQ0KcGNpX2J1cyAwMDAwOjAx OiByZXNvdXJjZSAxMyBbbWVtIDB4MDAwYTAwMDAtMHgwMDBiZmZmZl0NCnBjaV9idXMgMDAwMDo0 MDogcmVzb3VyY2UgNCBbbWVtIDB4ZmQ3MDAwMDAtMHhmZGZmZmZmZl0NCnBjaV9idXMgMDAwMDo0 NDogcmVzb3VyY2UgMSBbbWVtIDB4ZmRjMDAwMDAtMHhmZGZmZmZmZl0NCnBjaV9idXMgMDAwMDo0 MTogcmVzb3VyY2UgMSBbbWVtIDB4ZmQ4MDAwMDAtMHhmZGJmZmZmZl0NCk5FVDogUmVnaXN0ZXJl ZCBwcm90b2NvbCBmYW1pbHkgMg0KSVAgcm91dGUgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA1 MjQyODggKG9yZGVyOiAxMCwgNDE5NDMwNCBieXRlcykNClRDUCBlc3RhYmxpc2hlZCBoYXNoIHRh YmxlIGVudHJpZXM6IDUyNDI4OCAob3JkZXI6IDExLCA4Mzg4NjA4IGJ5dGVzKQ0KVENQIGJpbmQg aGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpDQpUQ1A6 IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDUyNDI4OCBiaW5kIDY1NTM2KQ0K VENQIHJlbm8gcmVnaXN0ZXJlZA0KTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxDQpB Q1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW1VTQjFdIGVuYWJsZWQgYXQgSVJRIDIyDQogIGFsbG9j IGlycV9kZXNjIGZvciAyMiBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAt MQ0KcGNpIDAwMDA6MDA6MTIuMDogUENJIElOVCBBIC0+IExpbmtbVVNCMV0gLT4gR1NJIDIyIChs ZXZlbCwgbG93KSAtPiBJUlEgMjINCnBjaSAwMDAwOjAwOjEyLjA6IFBDSSBJTlQgQSBkaXNhYmxl ZA0KcGNpIDAwMDA6MDA6MTIuMTogUENJIElOVCBBIC0+IExpbmtbVVNCMV0gLT4gR1NJIDIyIChs ZXZlbCwgbG93KSAtPiBJUlEgMjINCnBjaSAwMDAwOjAwOjEyLjE6IFBDSSBJTlQgQSBkaXNhYmxl ZA0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtVU0IyXSBlbmFibGVkIGF0IElSUSAyMw0KICBh bGxvYyBpcnFfZGVzYyBmb3IgMjMgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5v ZGUgLTENCnBjaSAwMDAwOjAwOjEyLjI6IFBDSSBJTlQgQiAtPiBMaW5rW1VTQjJdIC0+IEdTSSAy MyAobGV2ZWwsIGxvdykgLT4gSVJRIDIzDQpwY2kgMDAwMDowMDoxMi4yOiBQQ0kgSU5UIEIgZGlz YWJsZWQNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbVVNCM10gZW5hYmxlZCBhdCBJUlEgMjMN CnBjaSAwMDAwOjAwOjEzLjA6IFBDSSBJTlQgQSAtPiBMaW5rW1VTQjNdIC0+IEdTSSAyMyAobGV2 ZWwsIGxvdykgLT4gSVJRIDIzDQpwY2kgMDAwMDowMDoxMy4wOiBQQ0kgSU5UIEEgZGlzYWJsZWQN CnBjaSAwMDAwOjAwOjEzLjE6IFBDSSBJTlQgQSAtPiBMaW5rW1VTQjNdIC0+IEdTSSAyMyAobGV2 ZWwsIGxvdykgLT4gSVJRIDIzDQpwY2kgMDAwMDowMDoxMy4xOiBQQ0kgSU5UIEEgZGlzYWJsZWQN CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbVVNCNF0gZW5hYmxlZCBhdCBJUlEgMjINCnBjaSAw MDAwOjAwOjEzLjI6IFBDSSBJTlQgQiAtPiBMaW5rW1VTQjRdIC0+IEdTSSAyMiAobGV2ZWwsIGxv dykgLT4gSVJRIDIyDQpwY2kgMDAwMDowMDoxMy4yOiBQQ0kgSU5UIEIgZGlzYWJsZWQNCnBjaSAw MDAwOjAyOjAwLjE6IEJvb3QgdmlkZW8gZGV2aWNlDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0kwNjFdIGVuYWJsZWQgYXQgSVJRIDQ0DQogIGFsbG9jIGlycV9kZXNjIGZvciA0NCBvbiBub2Rl IC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KcGNpIDAwMDA6MDI6MDAuNDogUENJ IElOVCBCIC0+IExpbmtbSTA2MV0gLT4gR1NJIDQ0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDQ0DQpw Y2kgMDAwMDowMjowMC40OiBQQ0kgSU5UIEIgZGlzYWJsZWQNClRyeWluZyB0byB1bnBhY2sgcm9v dGZzIGltYWdlIGFzIGluaXRyYW1mcy4uLg0KRnJlZWluZyBpbml0cmQgbWVtb3J5OiAxNjY4OGsg ZnJlZWQNClBDSS1ETUE6IERpc2FibGluZyBBR1AuDQpQQ0ktRE1BOiBhcGVydHVyZSBiYXNlIEAg MjAwMDAwMDAgc2l6ZSA2NTUzNiBLQg0KUENJLURNQTogdXNpbmcgR0FSVCBJT01NVS4NClBDSS1E TUE6IFJlc2VydmluZyA2NE1CIG9mIElPTU1VIGFyZWEgaW4gdGhlIEFHUCBhcGVydHVyZQ0KYXVk aXQ6IGluaXRpYWxpemluZyBuZXRsaW5rIHNvY2tldCAoZGlzYWJsZWQpDQp0eXBlPTIwMDAgYXVk aXQoMTQxMTEyMzQ1Ni41MjA6MSk6IGluaXRpYWxpemVkDQpIdWdlVExCIHJlZ2lzdGVyZWQgMiBN QiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMTIyMDYgcGFnZXMNClZGUzogRGlzayBxdW90YXMg ZHF1b3RfNi41LjINCkRxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAw LCA0MDk2IGJ5dGVzKQ0KbXNnbW5pIGhhcyBiZWVuIHNldCB0byAzMjc2OA0KU0VMaW51eDogIFJl Z2lzdGVyaW5nIG5ldGZpbHRlciBob29rcw0KYWxnOiBObyB0ZXN0IGZvciBzdGRybmcgKGtybmcp DQprc2lnbjogSW5zdGFsbGluZyBwdWJsaWMga2V5IGRhdGENCkxvYWRpbmcga2V5cmluZw0KLSBB ZGRlZCBwdWJsaWMga2V5IDg3OTNBOThDNTA1N0FEOUENCi0gVXNlciBJRDogUmVkIEhhdCwgSW5j LiAoS2VybmVsIE1vZHVsZSBHUEcga2V5KQ0KLSBBZGRlZCBwdWJsaWMga2V5IEQ0QTI2QzlDQ0Qw OUJFREENCi0gVXNlciBJRDogUmVkIEhhdCBFbnRlcnByaXNlIExpbnV4IERyaXZlciBVcGRhdGUg UHJvZ3JhbSA8c2VjYWxlcnRAcmVkaGF0LmNvbT4NCkJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAo YnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNTIpDQppbyBzY2hlZHVsZXIg bm9vcCByZWdpc3RlcmVkDQppbyBzY2hlZHVsZXIgYW50aWNpcGF0b3J5IHJlZ2lzdGVyZWQNCmlv IHNjaGVkdWxlciBkZWFkbGluZSByZWdpc3RlcmVkDQppbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVy ZWQgKGRlZmF1bHQpDQppbyBzY2hlZHVsZXIgcHJpbyByZWdpc3RlcmVkDQpwY2lfaG90cGx1Zzog UENJIEhvdCBQbHVnIFBDSSBDb3JlIHZlcnNpb246IDAuNQ0KcGNpZWhwOiBQQ0kgRXhwcmVzcyBI b3QgUGx1ZyBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjQNCmFjcGlwaHA6IEFDUEkgSG90 IFBsdWcgUENJIENvbnRyb2xsZXIgRHJpdmVyIHZlcnNpb246IDAuNQ0KaW5wdXQ6IFBvd2VyIEJ1 dHRvbiBhcyAvZGV2aWNlcy9MTlhTWVNUTTowMC9MTlhQV1JCTjowMC9pbnB1dC9pbnB1dDANCkFD UEk6IFBvd2VyIEJ1dHRvbiBbUFdSRl0NCkFDUEk6IGFjcGlfaWRsZSByZWdpc3RlcmVkIHdpdGgg Y3B1aWRsZQ0KRVJTVDogQ291bGQgbm90IHJlZ2lzdGVyIHdpdGggcGVyc2lzdGVudCBzdG9yZQ0K RVJTVDogRXJyb3IgUmVjb3JkIFNlcmlhbGl6YXRpb24gVGFibGUgKEVSU1QpIHN1cHBvcnQgaXMg aW5pdGlhbGl6ZWQuDQpHSEVTOiBBUEVJIGZpcm13YXJlIGZpcnN0IG1vZGUgaXMgZW5hYmxlZCBi eSBBUEVJIGJpdCBhbmQgV0hFQSBfT1NDLg0KTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEu Mw0KTGludXggYWdwZ2FydCBpbnRlcmZhY2UgdjAuMTAzDQpjcmFzaCBtZW1vcnkgZHJpdmVyOiB2 ZXJzaW9uIDEuMQ0KU2VyaWFsOiA4MjUwLzE2NTUwIGRyaXZlciwgNCBwb3J0cywgSVJRIHNoYXJp bmcgZW5hYmxlZA0KUmVmaW5lZCBUU0MgY2xvY2tzb3VyY2UgY2FsaWJyYXRpb246IDIwOTQuNzQ5 IE1Iei4NClN3aXRjaGluZyB0byBjbG9ja3NvdXJjZSB0c2MNCnNlcmlhbDgyNTA6IHR0eVMwIGF0 IEkvTyAweDNmOCAoaXJxID0gNCkgaXMgYSAxNjU1MEENCnNlcmlhbDgyNTA6IHR0eVMxIGF0IEkv TyAweDJmOCAoaXJxID0gMykgaXMgYSAxNjU1MEENCjAwOjA5OiB0dHlTMCBhdCBJL08gMHgzZjgg KGlycSA9IDQpIGlzIGEgMTY1NTBBDQpicmQ6IG1vZHVsZSBsb2FkZWQNCmxvb3A6IG1vZHVsZSBs b2FkZWQNCmlucHV0OiBNYWNpbnRvc2ggbW91c2UgYnV0dG9uIGVtdWxhdGlvbiBhcyAvZGV2aWNl cy92aXJ0dWFsL2lucHV0L2lucHV0MQ0KRml4ZWQgTURJTyBCdXM6IHByb2JlZA0KZWhjaV9oY2Q6 IFVTQiAyLjAgJ0VuaGFuY2VkJyBIb3N0IENvbnRyb2xsZXIgKEVIQ0kpIERyaXZlcg0KZWhjaV9o Y2QgMDAwMDowMDoxMi4yOiBQQ0kgSU5UIEIgLT4gTGlua1tVU0IyXSAtPiBHU0kgMjMgKGxldmVs LCBsb3cpIC0+IElSUSAyMw0KZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBFSENJIEhvc3QgQ29udHJv bGxlcg0KZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3Np Z25lZCBidXMgbnVtYmVyIDENCmVoY2lfaGNkIDAwMDA6MDA6MTIuMjogYXBwbHlpbmcgQU1EIFNC NzAwL1NCODAwL0h1ZHNvbi0yLzMgRUhDSSBkdW1teSBxaCB3b3JrYXJvdW5kDQplaGNpX2hjZCAw MDAwOjAwOjEyLjI6IGRlYnVnIHBvcnQgMQ0KZWhjaV9oY2QgMDAwMDowMDoxMi4yOiBpcnEgMjMs IGlvIG1lbSAweGZjNGMwMDAwDQplaGNpX2hjZCAwMDAwOjAwOjEyLjI6IFVTQiAyLjAgc3RhcnRl ZCwgRUhDSSAxLjAwDQp1c2IgdXNiMTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFk NmIsIGlkUHJvZHVjdD0wMDAyDQp1c2IgdXNiMTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZy PTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTENCnVzYiB1c2IxOiBQcm9kdWN0OiBFSENJIEhv c3QgQ29udHJvbGxlcg0KdXNiIHVzYjE6IE1hbnVmYWN0dXJlcjogTGludXggMi42LjMyLTI3OS5l bDYueDg2XzY0IGVoY2lfaGNkDQp1c2IgdXNiMTogU2VyaWFsTnVtYmVyOiAwMDAwOjAwOjEyLjIN CnVzYiB1c2IxOiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlDQpodWIgMS0w OjEuMDogVVNCIGh1YiBmb3VuZA0KaHViIDEtMDoxLjA6IDYgcG9ydHMgZGV0ZWN0ZWQNCmVoY2lf aGNkIDAwMDA6MDA6MTMuMjogUENJIElOVCBCIC0+IExpbmtbVVNCNF0gLT4gR1NJIDIyIChsZXZl bCwgbG93KSAtPiBJUlEgMjINCmVoY2lfaGNkIDAwMDA6MDA6MTMuMjogRUhDSSBIb3N0IENvbnRy b2xsZXINCmVoY2lfaGNkIDAwMDA6MDA6MTMuMjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz aWduZWQgYnVzIG51bWJlciAyDQplaGNpX2hjZCAwMDAwOjAwOjEzLjI6IGFwcGx5aW5nIEFNRCBT QjcwMC9TQjgwMC9IdWRzb24tMi8zIEVIQ0kgZHVtbXkgcWggd29ya2Fyb3VuZA0KZWhjaV9oY2Qg MDAwMDowMDoxMy4yOiBkZWJ1ZyBwb3J0IDENCmVoY2lfaGNkIDAwMDA6MDA6MTMuMjogaXJxIDIy LCBpbyBtZW0gMHhmYzQ5MDAwMA0KZWhjaV9oY2QgMDAwMDowMDoxMy4yOiBVU0IgMi4wIHN0YXJ0 ZWQsIEVIQ0kgMS4wMA0KdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0x ZDZiLCBpZFByb2R1Y3Q9MDAwMg0KdXNiIHVzYjI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1m cj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xDQp1c2IgdXNiMjogUHJvZHVjdDogRUhDSSBI b3N0IENvbnRyb2xsZXINCnVzYiB1c2IyOiBNYW51ZmFjdHVyZXI6IExpbnV4IDIuNi4zMi0yNzku ZWw2Lng4Nl82NCBlaGNpX2hjZA0KdXNiIHVzYjI6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMy4y DQp1c2IgdXNiMjogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQ0KaHViIDIt MDoxLjA6IFVTQiBodWIgZm91bmQNCmh1YiAyLTA6MS4wOiA2IHBvcnRzIGRldGVjdGVkDQpvaGNp X2hjZDogVVNCIDEuMSAnT3BlbicgSG9zdCBDb250cm9sbGVyIChPSENJKSBEcml2ZXINCm9oY2lf aGNkIDAwMDA6MDA6MTIuMDogUENJIElOVCBBIC0+IExpbmtbVVNCMV0gLT4gR1NJIDIyIChsZXZl bCwgbG93KSAtPiBJUlEgMjINCm9oY2lfaGNkIDAwMDA6MDA6MTIuMDogT0hDSSBIb3N0IENvbnRy b2xsZXINCm9oY2lfaGNkIDAwMDA6MDA6MTIuMDogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz aWduZWQgYnVzIG51bWJlciAzDQpvaGNpX2hjZCAwMDAwOjAwOjEyLjA6IGlycSAyMiwgaW8gbWVt IDB4ZmM0ZTAwMDANCnVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2 YiwgaWRQcm9kdWN0PTAwMDENCnVzYiB1c2IzOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9 MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQ0KdXNiIHVzYjM6IFByb2R1Y3Q6IE9IQ0kgSG9z dCBDb250cm9sbGVyDQp1c2IgdXNiMzogTWFudWZhY3R1cmVyOiBMaW51eCAyLjYuMzItMjc5LmVs Ni54ODZfNjQgb2hjaV9oY2QNCnVzYiB1c2IzOiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTIuMA0K dXNiIHVzYjM6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UNCmh1YiAzLTA6 MS4wOiBVU0IgaHViIGZvdW5kDQpodWIgMy0wOjEuMDogMyBwb3J0cyBkZXRlY3RlZA0Kb2hjaV9o Y2QgMDAwMDowMDoxMi4xOiBQQ0kgSU5UIEEgLT4gTGlua1tVU0IxXSAtPiBHU0kgMjIgKGxldmVs LCBsb3cpIC0+IElSUSAyMg0Kb2hjaV9oY2QgMDAwMDowMDoxMi4xOiBPSENJIEhvc3QgQ29udHJv bGxlcg0Kb2hjaV9oY2QgMDAwMDowMDoxMi4xOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3Np Z25lZCBidXMgbnVtYmVyIDQNCm9oY2lfaGNkIDAwMDA6MDA6MTIuMTogaXJxIDIyLCBpbyBtZW0g MHhmYzRkMDAwMA0KdXNiIHVzYjQ6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZi LCBpZFByb2R1Y3Q9MDAwMQ0KdXNiIHVzYjQ6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0z LCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xDQp1c2IgdXNiNDogUHJvZHVjdDogT0hDSSBIb3N0 IENvbnRyb2xsZXINCnVzYiB1c2I0OiBNYW51ZmFjdHVyZXI6IExpbnV4IDIuNi4zMi0yNzkuZWw2 Lng4Nl82NCBvaGNpX2hjZA0KdXNiIHVzYjQ6IFNlcmlhbE51bWJlcjogMDAwMDowMDoxMi4xDQp1 c2IgdXNiNDogY29uZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQ0KaHViIDQtMDox LjA6IFVTQiBodWIgZm91bmQNCmh1YiA0LTA6MS4wOiAzIHBvcnRzIGRldGVjdGVkDQpvaGNpX2hj ZCAwMDAwOjAwOjEzLjA6IFBDSSBJTlQgQSAtPiBMaW5rW1VTQjNdIC0+IEdTSSAyMyAobGV2ZWws IGxvdykgLT4gSVJRIDIzDQpvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IE9IQ0kgSG9zdCBDb250cm9s bGVyDQpvaGNpX2hjZCAwMDAwOjAwOjEzLjA6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2ln bmVkIGJ1cyBudW1iZXIgNQ0Kb2hjaV9oY2QgMDAwMDowMDoxMy4wOiBpcnEgMjMsIGlvIG1lbSAw eGZjNGIwMDAwDQp1c2IgMS0yOiBuZXcgaGlnaCBzcGVlZCBVU0IgZGV2aWNlIG51bWJlciAyIHVz aW5nIGVoY2lfaGNkDQp1c2IgdXNiNTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFk NmIsIGlkUHJvZHVjdD0wMDAxDQp1c2IgdXNiNTogTmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZy PTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTENCnVzYiB1c2I1OiBQcm9kdWN0OiBPSENJIEhv c3QgQ29udHJvbGxlcg0KdXNiIHVzYjU6IE1hbnVmYWN0dXJlcjogTGludXggMi42LjMyLTI3OS5l bDYueDg2XzY0IG9oY2lfaGNkDQp1c2IgdXNiNTogU2VyaWFsTnVtYmVyOiAwMDAwOjAwOjEzLjAN CnVzYiB1c2I1OiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlDQpodWIgNS0w OjEuMDogVVNCIGh1YiBmb3VuZA0KaHViIDUtMDoxLjA6IDMgcG9ydHMgZGV0ZWN0ZWQNCm9oY2lf aGNkIDAwMDA6MDA6MTMuMTogUENJIElOVCBBIC0+IExpbmtbVVNCM10gLT4gR1NJIDIzIChsZXZl bCwgbG93KSAtPiBJUlEgMjMNCm9oY2lfaGNkIDAwMDA6MDA6MTMuMTogT0hDSSBIb3N0IENvbnRy b2xsZXINCm9oY2lfaGNkIDAwMDA6MDA6MTMuMTogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNz aWduZWQgYnVzIG51bWJlciA2DQpvaGNpX2hjZCAwMDAwOjAwOjEzLjE6IGlycSAyMywgaW8gbWVt IDB4ZmM0YTAwMDANCnVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2 YiwgaWRQcm9kdWN0PTAwMDENCnVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9 MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQ0KdXNiIHVzYjY6IFByb2R1Y3Q6IE9IQ0kgSG9z dCBDb250cm9sbGVyDQp1c2IgdXNiNjogTWFudWZhY3R1cmVyOiBMaW51eCAyLjYuMzItMjc5LmVs Ni54ODZfNjQgb2hjaV9oY2QNCnVzYiB1c2I2OiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MTMuMQ0K dXNiIHVzYjY6IGNvbmZpZ3VyYXRpb24gIzEgY2hvc2VuIGZyb20gMSBjaG9pY2UNCmh1YiA2LTA6 MS4wOiBVU0IgaHViIGZvdW5kDQpodWIgNi0wOjEuMDogMyBwb3J0cyBkZXRlY3RlZA0KdWhjaV9o Y2Q6IFVTQiBVbml2ZXJzYWwgSG9zdCBDb250cm9sbGVyIEludGVyZmFjZSBkcml2ZXINCnVoY2lf aGNkIDAwMDA6MDI6MDAuNDogUENJIElOVCBCIC0+IExpbmtbSTA2MV0gLT4gR1NJIDQ0IChsZXZl bCwgaGlnaCkgLT4gSVJRIDQ0DQp1aGNpX2hjZCAwMDAwOjAyOjAwLjQ6IHNldHRpbmcgbGF0ZW5j eSB0aW1lciB0byA2NA0KdWhjaV9oY2QgMDAwMDowMjowMC40OiBVSENJIEhvc3QgQ29udHJvbGxl cg0KdWhjaV9oY2QgMDAwMDowMjowMC40OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25l ZCBidXMgbnVtYmVyIDcNCnVoY2lfaGNkIDAwMDA6MDI6MDAuNDogcG9ydCBjb3VudCBtaXNkZXRl Y3RlZD8gZm9yY2luZyB0byAyIHBvcnRzDQp1aGNpX2hjZCAwMDAwOjAyOjAwLjQ6IGlycSA0NCwg aW8gYmFzZSAweDAwMDAzYzAwDQp1c2IgdXNiNzogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVu ZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxDQp1c2IgdXNiNzogTmV3IFVTQiBkZXZpY2Ugc3RyaW5n czogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTENCnVzYiB1c2I3OiBQcm9kdWN0OiBV SENJIEhvc3QgQ29udHJvbGxlcg0KdXNiIHVzYjc6IE1hbnVmYWN0dXJlcjogTGludXggMi42LjMy LTI3OS5lbDYueDg2XzY0IHVoY2lfaGNkDQp1c2IgdXNiNzogU2VyaWFsTnVtYmVyOiAwMDAwOjAy OjAwLjQNCnVzYiB1c2I3OiBjb25maWd1cmF0aW9uICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlDQpo dWIgNy0wOjEuMDogVVNCIGh1YiBmb3VuZA0KaHViIDctMDoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQN ClBOUDogUFMvMiBDb250cm9sbGVyIFtQTlAwMzAzOktCRCxQTlAwZjBlOlBTMk1dIGF0IDB4NjAs MHg2NCBpcnEgMSwxMg0Kc2VyaW86IGk4MDQyIEtCRCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEgMQ0K c2VyaW86IGk4MDQyIEFVWCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEgMTINCm1pY2U6IFBTLzIgbW91 c2UgZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UNCnJ0Y19jbW9zIDAwOjBhOiBSVEMgY2FuIHdh a2UgZnJvbSBTNA0KcnRjX2Ntb3MgMDA6MGE6IHJ0YyBjb3JlOiByZWdpc3RlcmVkIHJ0Y19jbW9z IGFzIHJ0YzANCnJ0YzA6IGFsYXJtcyB1cCB0byBvbmUgbW9udGgsIHkzaywgMTE0IGJ5dGVzIG52 cmFtLCBocGV0IGlycXMNCmNwdWlkbGU6IHVzaW5nIGdvdmVybm9yIGxhZGRlcg0KY3B1aWRsZTog dXNpbmcgZ292ZXJub3IgbWVudQ0KRUZJIFZhcmlhYmxlcyBGYWNpbGl0eSB2MC4wOCAyMDA0LU1h eS0xNw0KdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBoaWRkZXYNCnVz YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkDQp1c2JoaWQ6IHYy LjY6VVNCIEhJRCBjb3JlIGRyaXZlcg0KVENQIGN1YmljIHJlZ2lzdGVyZWQNCkluaXRpYWxpemlu ZyBYRlJNIG5ldGxpbmsgc29ja2V0DQpORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE3 DQpyZWdpc3RlcmVkIHRhc2tzdGF0cyB2ZXJzaW9uIDENCnJ0Y19jbW9zIDAwOjBhOiBzZXR0aW5n IHN5c3RlbSBjbG9jayB0byAyMDE0LTA5LTE5IDEwOjQ0OjIxIFVUQyAoMTQxMTEyMzQ2MSkNCklu aXRhbGl6aW5nIG5ldHdvcmsgZHJvcCBtb25pdG9yIHNlcnZpY2UNCkZyZWVpbmcgdW51c2VkIGtl cm5lbCBtZW1vcnk6IDEyNjBrIGZyZWVkDQpXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVh ZC1vbmx5IGRhdGE6IDEwMjQwaw0KRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogOTY4ayBm cmVlZA0KRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogMTczMmsgZnJlZWQNCmRyYWN1dDog ZHJhY3V0LTAwNC0yODMuZWw2DQp1c2IgMS0yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5k b3I9MDQyNCwgaWRQcm9kdWN0PTI2NjANCnVzYiAxLTI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6 IE1mcj0wLCBQcm9kdWN0PTAsIFNlcmlhbE51bWJlcj0wDQp1c2IgMS0yOiBjb25maWd1cmF0aW9u ICMxIGNob3NlbiBmcm9tIDEgY2hvaWNlDQpodWIgMS0yOjEuMDogVVNCIGh1YiBmb3VuZA0KaHVi IDEtMjoxLjA6IDIgcG9ydHMgZGV0ZWN0ZWQNCmRyYWN1dDogcmRfTk9fTFVLUzogcmVtb3Zpbmcg Y3J5cHRvbHVrcyBhY3RpdmF0aW9uDQpkcmFjdXQ6IHJkX05PX0xWTTogcmVtb3ZpbmcgTFZNIGFj dGl2YXRpb24NCmRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lvbiAxLjAuMw0KZGV2aWNlLW1h cHBlcjogaW9jdGw6IDQuMjIuNi1pb2N0bCAoMjAxMS0xMC0xOSkgaW5pdGlhbGlzZWQ6IGRtLWRl dmVsQHJlZGhhdC5jb20NCnVkZXY6IHN0YXJ0aW5nIHZlcnNpb24gMTQ3DQpkcmFjdXQ6IFN0YXJ0 aW5nIHBseW1vdXRoIGRhZW1vbg0KZHJhY3V0OiByZF9OT19ETTogcmVtb3ZpbmcgRE0gUkFJRCBh Y3RpdmF0aW9uDQpkcmFjdXQ6IHJkX05PX01EOiByZW1vdmluZyBNRCBSQUlEIGFjdGl2YXRpb24N CmFoY2kgMDAwMDowMDoxMS4wOiB2ZXJzaW9uIDMuMA0KQUNQSTogUENJIEludGVycnVwdCBMaW5r IFtTQVRBXSBlbmFibGVkIGF0IElSUSAxNg0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTYgb24gbm9k ZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmFoY2kgMDAwMDowMDoxMS4wOiBQ Q0kgSU5UIEEgLT4gTGlua1tTQVRBXSAtPiBHU0kgMTYgKGxldmVsLCBsb3cpIC0+IElSUSAxNg0K YWhjaSAwMDAwOjAwOjExLjA6IEFIQ0kgMDAwMS4wMTAwIDMyIHNsb3RzIDEgcG9ydHMgMyBHYnBz IDB4MSBpbXBsIFNBVEEgbW9kZQ0KYWhjaSAwMDAwOjAwOjExLjA6IGZsYWdzOiA2NGJpdCBuY3Eg c250ZiBpbGNrIHBtIGxlZCBjbG8gcG1wIHBpbyBzbHVtIHBhcnQgY2NjDQpzY3NpMCA6IGFoY2kN CmF0YTE6IFNBVEEgbWF4IFVETUEvMTMzIGFiYXIgbTEwMjRAMHhmYzRmMDAwMCBwb3J0IDB4ZmM0 ZjAxMDAgaXJxIDE2DQphdGExOiBTQVRBIGxpbmsgZG93biAoU1N0YXR1cyAwIFNDb250cm9sIDMw MCkNCnBhdGFfYXRpaXhwIDAwMDA6MDA6MTQuMTogY2FuJ3QgZGVyaXZlIHJvdXRpbmcgZm9yIFBD SSBJTlQgQQ0KcGF0YV9hdGlpeHAgMDAwMDowMDoxNC4xOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIg dG8gNjQNCnNjc2kxIDogcGF0YV9hdGlpeHANCnNjc2kyIDogcGF0YV9hdGlpeHANCmF0YTI6IFBB VEEgbWF4IFVETUEvMTAwIGNtZCAweDFmMCBjdGwgMHgzZjYgYm1kbWEgMHg1MDAgaXJxIDE0DQph dGEzOiBQQVRBIG1heCBVRE1BLzEwMCBjbWQgMHgxNzAgY3RsIDB4Mzc2IGJtZG1hIDB4NTA4IGly cSAxNQ0KdWhjaV9oY2QgMDAwMDowMjowMC40OiBDb250cm9sbGVyIG5vdCBzdG9wcGVkIHlldCEN CkhQIEhQU0EgRHJpdmVyICh2IDMuMS4wLTQpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kw MjBdIGVuYWJsZWQgYXQgSVJRIDI0DQpocHNhIDAwMDA6MDM6MDAuMDogUENJIElOVCBBIC0+IExp bmtbSTAyMF0gLT4gR1NJIDI0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDI0DQpocHNhIDAwMDA6MDM6 MDAuMDogTVNJWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgODggb24gbm9kZSAtMQ0KICBhbGxvYyBr c3RhdF9pcnFzIG9uIG5vZGUgLTENCmhwc2EgMDAwMDowMzowMC4wOiBpcnEgODggZm9yIE1TSS9N U0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgODkgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9p cnFzIG9uIG5vZGUgLTENCmhwc2EgMDAwMDowMzowMC4wOiBpcnEgODkgZm9yIE1TSS9NU0ktWA0K ICBhbGxvYyBpcnFfZGVzYyBmb3IgOTAgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9u IG5vZGUgLTENCmhwc2EgMDAwMDowMzowMC4wOiBpcnEgOTAgZm9yIE1TSS9NU0ktWA0KICBhbGxv YyBpcnFfZGVzYyBmb3IgOTEgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUg LTENCmhwc2EgMDAwMDowMzowMC4wOiBpcnEgOTEgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFf ZGVzYyBmb3IgOTIgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmhw c2EgMDAwMDowMzowMC4wOiBpcnEgOTIgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBm b3IgOTMgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmhwc2EgMDAw MDowMzowMC4wOiBpcnEgOTMgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgOTQg b24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmhwc2EgMDAwMDowMzow MC4wOiBpcnEgOTQgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgOTUgb24gbm9k ZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmhwc2EgMDAwMDowMzowMC4wOiBp cnEgOTUgZm9yIE1TSS9NU0ktWA0KaHBzYSAwMDAwOjAzOjAwLjA6IGhwc2EwOiA8MHgzMjNiPiBh dCBJUlEgODggdXNpbmcgREFDDQpzY3NpMyA6IGhwc2ENCmhwc2EgMDAwMDowMzowMC4wOiBSQUlE ICAgICAgICAgICAgICBkZXZpY2UgYzNiM3QwbDAgYWRkZWQuDQpocHNhIDAwMDA6MDM6MDAuMDog RGlyZWN0LUFjY2VzcyAgICAgZGV2aWNlIGMzYjB0MGwwIGFkZGVkLg0KaHBzYSAwMDAwOjAzOjAw LjA6IERpcmVjdC1BY2Nlc3MgICAgIGRldmljZSBjM2IwdDBsMSBhZGRlZC4NCmhwc2EgMDAwMDow MzowMC4wOiBEaXJlY3QtQWNjZXNzICAgICBkZXZpY2UgYzNiMHQwbDIgYWRkZWQuDQpocHNhIDAw MDA6MDM6MDAuMDogRGlyZWN0LUFjY2VzcyAgICAgZGV2aWNlIGMzYjB0MGwzIGFkZGVkLg0KaHBz YSAwMDAwOjAzOjAwLjA6IERpcmVjdC1BY2Nlc3MgICAgIGRldmljZSBjM2IwdDBsNCBhZGRlZC4N Cmhwc2EgMDAwMDowMzowMC4wOiBEaXJlY3QtQWNjZXNzICAgICBkZXZpY2UgYzNiMHQwbDUgYWRk ZWQuDQpzY3NpIDM6MzowOjA6IFJBSUQgICAgICAgICAgICAgIEhQICAgICAgIFA0MjBpICAgICAg ICAgICAgMy40MiBQUTogMCBBTlNJOiA1DQpzY3NpIDM6MDowOjA6IERpcmVjdC1BY2Nlc3MgICAg IEhQICAgICAgIExPR0lDQUwgVk9MVU1FICAgMy40MiBQUTogMCBBTlNJOiA1DQpzY3NpIDM6MDow OjE6IERpcmVjdC1BY2Nlc3MgICAgIEhQICAgICAgIExPR0lDQUwgVk9MVU1FICAgMy40MiBQUTog MCBBTlNJOiA1DQpzY3NpIDM6MDowOjI6IERpcmVjdC1BY2Nlc3MgICAgIEhQICAgICAgIExPR0lD QUwgVk9MVU1FICAgMy40MiBQUTogMCBBTlNJOiA1DQpzY3NpIDM6MDowOjM6IERpcmVjdC1BY2Nl c3MgICAgIEhQICAgICAgIExPR0lDQUwgVk9MVU1FICAgMy40MiBQUTogMCBBTlNJOiA1DQpzY3Np IDM6MDowOjQ6IERpcmVjdC1BY2Nlc3MgICAgIEhQICAgICAgIExPR0lDQUwgVk9MVU1FICAgMy40 MiBQUTogMCBBTlNJOiA1DQpzY3NpIDM6MDowOjU6IERpcmVjdC1BY2Nlc3MgICAgIEhQICAgICAg IExPR0lDQUwgVk9MVU1FICAgMy40MiBQUTogMCBBTlNJOiA1DQpzZCAzOjA6MDoxOiBbc2RiXSA3 NTQ5NjMyMCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDM4LjYgR0IvMzUuOSBHaUIpDQpzZCAz OjA6MDowOiBbc2RhXSA3NTQ5NjMyMCA1MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDM4LjYgR0Iv MzUuOSBHaUIpDQpzZCAzOjA6MDoyOiBbc2RjXSA3NTQ5NjMyMCA1MTItYnl0ZSBsb2dpY2FsIGJs b2NrczogKDM4LjYgR0IvMzUuOSBHaUIpDQpzZCAzOjA6MDozOiBbc2RkXSAxMjIzMTI2MDcyMCA1 MTItYnl0ZSBsb2dpY2FsIGJsb2NrczogKDYuMjYgVEIvNS42OSBUaUIpDQpzZCAzOjA6MDoxOiBb c2RiXSBXcml0ZSBQcm90ZWN0IGlzIG9mZg0Kc2QgMzowOjA6MTogW3NkYl0gTW9kZSBTZW5zZTog NzMgMDAgMDAgMDgNCnNkIDM6MDowOjI6IFtzZGNdIFdyaXRlIFByb3RlY3QgaXMgb2ZmDQpzZCAz OjA6MDoyOiBbc2RjXSBNb2RlIFNlbnNlOiA3MyAwMCAwMCAwOA0Kc2QgMzowOjA6NDogW3NkZV0g MTIyMzEyNjA3MjAgNTEyLWJ5dGUgbG9naWNhbCBibG9ja3M6ICg2LjI2IFRCLzUuNjkgVGlCKQ0K c2QgMzowOjA6MTogW3NkYl0gV3JpdGUgY2FjaGU6IGRpc2FibGVkLCByZWFkIGNhY2hlOiBlbmFi bGVkLCBkb2Vzbid0IHN1cHBvcnQgRFBPIG9yIEZVQQ0Kc2QgMzowOjA6NTogW3NkZl0gMTIyMzEy NjA3MjAgNTEyLWJ5dGUgbG9naWNhbCBibG9ja3M6ICg2LjI2IFRCLzUuNjkgVGlCKQ0Kc2QgMzow OjA6MjogW3NkY10gV3JpdGUgY2FjaGU6IGRpc2FibGVkLCByZWFkIGNhY2hlOiBlbmFibGVkLCBk b2Vzbid0IHN1cHBvcnQgRFBPIG9yIEZVQQ0Kc2QgMzowOjA6MDogW3NkYV0gV3JpdGUgUHJvdGVj dCBpcyBvZmYNCnNkIDM6MDowOjA6IFtzZGFdIE1vZGUgU2Vuc2U6IDczIDAwIDAwIDA4DQpzZCAz OjA6MDozOiBbc2RkXSBXcml0ZSBQcm90ZWN0IGlzIG9mZg0Kc2QgMzowOjA6MzogW3NkZF0gTW9k ZSBTZW5zZTogNzMgMDAgMDAgMDgNCnNkIDM6MDowOjQ6IFtzZGVdIFdyaXRlIFByb3RlY3QgaXMg b2ZmDQpzZCAzOjA6MDo0OiBbc2RlXSBNb2RlIFNlbnNlOiA3MyAwMCAwMCAwOA0Kc2QgMzowOjA6 NTogW3NkZl0gV3JpdGUgUHJvdGVjdCBpcyBvZmYNCnNkIDM6MDowOjU6IFtzZGZdIE1vZGUgU2Vu c2U6IDczIDAwIDAwIDA4DQpzZCAzOjA6MDozOiBbc2RkXSBXcml0ZSBjYWNoZTogZGlzYWJsZWQs IHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBDQpzZCAzOjA6 MDo0OiBbc2RlXSBXcml0ZSBjYWNoZTogZGlzYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRv ZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBDQpzZCAzOjA6MDo1OiBbc2RmXSBXcml0ZSBjYWNoZTog ZGlzYWJsZWQsIHJlYWQgY2FjaGU6IGVuYWJsZWQsIGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVB DQpzZCAzOjA6MDowOiBbc2RhXSBXcml0ZSBjYWNoZTogZGlzYWJsZWQsIHJlYWQgY2FjaGU6IGVu YWJsZWQsIGRvZXNuJ3Qgc3VwcG9ydCBEUE8gb3IgRlVBDQogc2RjOg0KIHNkYjoNCiBzZGQ6DQog c2RlOg0KIHNkZjogdW5rbm93biBwYXJ0aXRpb24gdGFibGUNCiB1bmtub3duIHBhcnRpdGlvbiB0 YWJsZQ0KIHNkYTogdW5rbm93biBwYXJ0aXRpb24gdGFibGUNCiB1bmtub3duIHBhcnRpdGlvbiB0 YWJsZQ0Kc2QgMzowOjA6MjogW3NkY10gQXR0YWNoZWQgU0NTSSBkaXNrDQpzZCAzOjA6MDoxOiBb c2RiXSBBdHRhY2hlZCBTQ1NJIGRpc2sNCiBzZGExIHNkYTIgc2RhMyBzZGE0DQogdW5rbm93biBw YXJ0aXRpb24gdGFibGUNCnNkIDM6MDowOjU6IFtzZGZdIEF0dGFjaGVkIFNDU0kgZGlzaw0Kc2Qg MzowOjA6MzogW3NkZF0gQXR0YWNoZWQgU0NTSSBkaXNrDQpzZCAzOjA6MDo0OiBbc2RlXSBBdHRh Y2hlZCBTQ1NJIGRpc2sNCnNkIDM6MDowOjA6IFtzZGFdIEF0dGFjaGVkIFNDU0kgZGlzaw0KRVhU NC1mcyAoc2RhMik6IElORk86IHJlY292ZXJ5IHJlcXVpcmVkIG9uIHJlYWRvbmx5IGZpbGVzeXN0 ZW0NCkVYVDQtZnMgKHNkYTIpOiB3cml0ZSBhY2Nlc3Mgd2lsbCBiZSBlbmFibGVkIGR1cmluZyBy ZWNvdmVyeQ0KRVhUNC1mcyAoc2RhMik6IHJlY292ZXJ5IGNvbXBsZXRlDQpFWFQ0LWZzIChzZGEy KTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6DQpkcmFj dXQ6IE1vdW50ZWQgcm9vdCBmaWxlc3lzdGVtIC9kZXYvc2RhMg0KU0VMaW51eDogIERpc2FibGVk IGF0IHJ1bnRpbWUuDQpTRUxpbnV4OiAgVW5yZWdpc3RlcmluZyBuZXRmaWx0ZXIgaG9va3MNCnR5 cGU9MTQwNCBhdWRpdCgxNDExMTIzNDYzLjY0MDoyKTogc2VsaW51eD0wIGF1aWQ9NDI5NDk2NzI5 NSBzZXM9NDI5NDk2NzI5NQ0KZHJhY3V0Og0KZHJhY3V0OiBTd2l0Y2hpbmcgcm9vdA0KdWRldjog c3RhcnRpbmcgdmVyc2lvbiAxNDcNCnNocGNocDogU3RhbmRhcmQgSG90IFBsdWcgUENJIENvbnRy b2xsZXIgRHJpdmVyIHZlcnNpb246IDAuNA0KcGlpeDRfc21idXMgMDAwMDowMDoxNC4wOiBTTUJ1 cyBIb3N0IENvbnRyb2xsZXIgYXQgMHhiMDAsIHJldmlzaW9uIDANCk1DRTogSW4ta2VybmVsIE1D RSBkZWNvZGluZyBlbmFibGVkLg0KRURBQyBNQzogVmVyOiAyLjEuMCBKdW4gMTMgMjAxMg0KQU1E NjQgRURBQyBkcml2ZXIgdjMuNC4wDQpFREFDIGFtZDY0OiBEUkFNIEVDQyBlbmFibGVkLg0KRURB QyBhbWQ2NDogRjE1aCBkZXRlY3RlZCAobm9kZSAwKS4NCkVEQUMgTUM6IERDVDAgY2hpcCBzZWxl Y3RzOg0KRURBQyBhbWQ2NDogTUM6IDA6ICAgICAwTUIgMTogICAgIDBNQg0KRURBQyBhbWQ2NDog TUM6IDI6ICAgICAwTUIgMzogICAgIDBNQg0KRURBQyBhbWQ2NDogTUM6IDQ6ICA0MDk2TUIgNTog IDQwOTZNQg0KRURBQyBhbWQ2NDogTUM6IDY6ICAgICAwTUIgNzogICAgIDBNQg0KRURBQyBNQzog RENUMSBjaGlwIHNlbGVjdHM6DQpFREFDIGFtZDY0OiBNQzogMDogICAgIDBNQiAxOiAgICAgME1C DQpFREFDIGFtZDY0OiBNQzogMjogICAgIDBNQiAzOiAgICAgME1CDQpFREFDIGFtZDY0OiBNQzog NDogIDQwOTZNQiA1OiAgNDA5Nk1CDQpFREFDIGFtZDY0OiBNQzogNjogICAgIDBNQiA3OiAgICAg ME1CDQpFREFDIGFtZDY0OiB1c2luZyB4OCBzeW5kcm9tZXMuDQpFREFDIGFtZDY0OiBNQ1QgY2hh bm5lbCBjb3VudDogMg0KRURBQyBhbWQ2NDogQ1M0OiBSZWdpc3RlcmVkIEREUjMgUkFNDQpFREFD IGFtZDY0OiBDUzU6IFJlZ2lzdGVyZWQgRERSMyBSQU0NCkVEQUMgTUMwOiBHaXZpbmcgb3V0IGRl dmljZSB0byAnYW1kNjRfZWRhYycgJ0YxNWgnOiBERVYgMDAwMDowMDoxOC4yDQpFREFDIGFtZDY0 OiBEUkFNIEVDQyBlbmFibGVkLg0KRURBQyBhbWQ2NDogRjE1aCBkZXRlY3RlZCAobm9kZSAxKS4N CkVEQUMgTUM6IERDVDAgY2hpcCBzZWxlY3RzOg0KRURBQyBhbWQ2NDogTUM6IDA6ICAgICAwTUIg MTogICAgIDBNQg0KRURBQyBhbWQ2NDogTUM6IDI6ICAgICAwTUIgMzogICAgIDBNQg0KRURBQyBh bWQ2NDogTUM6IDQ6ICA0MDk2TUIgNTogIDQwOTZNQg0KRURBQyBhbWQ2NDogTUM6IDY6ICAgICAw TUIgNzogICAgIDBNQg0KRURBQyBNQzogRENUMSBjaGlwIHNlbGVjdHM6DQpFREFDIGFtZDY0OiBN QzogMDogICAgIDBNQiAxOiAgICAgME1CDQpFREFDIGFtZDY0OiBNQzogMjogICAgIDBNQiAzOiAg ICAgME1CDQpFREFDIGFtZDY0OiBNQzogNDogICAgIDBNQiA1OiAgICAgME1CDQpFREFDIGFtZDY0 OiBNQzogNjogICAgIDBNQiA3OiAgICAgME1CDQpFREFDIGFtZDY0OiB1c2luZyB4OCBzeW5kcm9t ZXMuDQpFREFDIGFtZDY0OiBNQ1QgY2hhbm5lbCBjb3VudDogMQ0KRURBQyBhbWQ2NDogQ1M0OiBS ZWdpc3RlcmVkIEREUjMgUkFNDQpFREFDIGFtZDY0OiBDUzU6IFJlZ2lzdGVyZWQgRERSMyBSQU0N CkVEQUMgTUMxOiBHaXZpbmcgb3V0IGRldmljZSB0byAnYW1kNjRfZWRhYycgJ0YxNWgnOiBERVYg MDAwMDowMDoxOS4yDQpFREFDIGFtZDY0OiBEUkFNIEVDQyBlbmFibGVkLg0KRURBQyBhbWQ2NDog RjE1aCBkZXRlY3RlZCAobm9kZSAyKS4NCkVEQUMgTUM6IERDVDAgY2hpcCBzZWxlY3RzOg0KRURB QyBhbWQ2NDogTUM6IDA6ICAgICAwTUIgMTogICAgIDBNQg0KRURBQyBhbWQ2NDogTUM6IDI6ICAg ICAwTUIgMzogICAgIDBNQg0KRURBQyBhbWQ2NDogTUM6IDQ6ICA0MDk2TUIgNTogIDQwOTZNQg0K RURBQyBhbWQ2NDogTUM6IDY6ICAgICAwTUIgNzogICAgIDBNQg0KRURBQyBNQzogRENUMSBjaGlw IHNlbGVjdHM6DQpFREFDIGFtZDY0OiBNQzogMDogICAgIDBNQiAxOiAgICAgME1CDQpFREFDIGFt ZDY0OiBNQzogMjogICAgIDBNQiAzOiAgICAgME1CDQpFREFDIGFtZDY0OiBNQzogNDogIDQwOTZN QiA1OiAgNDA5Nk1CDQpFREFDIGFtZDY0OiBNQzogNjogICAgIDBNQiA3OiAgICAgME1CDQpFREFD IGFtZDY0OiB1c2luZyB4OCBzeW5kcm9tZXMuDQpFREFDIGFtZDY0OiBNQ1QgY2hhbm5lbCBjb3Vu dDogMg0KRURBQyBhbWQ2NDogQ1M0OiBSZWdpc3RlcmVkIEREUjMgUkFNDQpFREFDIGFtZDY0OiBD UzU6IFJlZ2lzdGVyZWQgRERSMyBSQU0NCkVEQUMgTUMyOiBHaXZpbmcgb3V0IGRldmljZSB0byAn YW1kNjRfZWRhYycgJ0YxNWgnOiBERVYgMDAwMDowMDoxYS4yDQpFREFDIGFtZDY0OiBEUkFNIEVD QyBlbmFibGVkLg0KRURBQyBhbWQ2NDogRjE1aCBkZXRlY3RlZCAobm9kZSAzKS4NCkVEQUMgTUM6 IERDVDAgY2hpcCBzZWxlY3RzOg0KRURBQyBhbWQ2NDogTUM6IDA6ICAgICAwTUIgMTogICAgIDBN Qg0KRURBQyBhbWQ2NDogTUM6IDI6ICAgICAwTUIgMzogICAgIDBNQg0KRURBQyBhbWQ2NDogTUM6 IDQ6ICA0MDk2TUIgNTogIDQwOTZNQg0KRURBQyBhbWQ2NDogTUM6IDY6ICAgICAwTUIgNzogICAg IDBNQg0KRURBQyBNQzogRENUMSBjaGlwIHNlbGVjdHM6DQpFREFDIGFtZDY0OiBNQzogMDogICAg IDBNQiAxOiAgICAgME1CDQpFREFDIGFtZDY0OiBNQzogMjogICAgIDBNQiAzOiAgICAgME1CDQpF REFDIGFtZDY0OiBNQzogNDogICAgIDBNQiA1OiAgICAgME1CDQpFREFDIGFtZDY0OiBNQzogNjog ICAgIDBNQiA3OiAgICAgME1CDQpFREFDIGFtZDY0OiB1c2luZyB4OCBzeW5kcm9tZXMuDQpFREFD IGFtZDY0OiBNQ1QgY2hhbm5lbCBjb3VudDogMQ0KRURBQyBhbWQ2NDogQ1M0OiBSZWdpc3RlcmVk IEREUjMgUkFNDQpFREFDIGFtZDY0OiBDUzU6IFJlZ2lzdGVyZWQgRERSMyBSQU0NCkVEQUMgTUMz OiBHaXZpbmcgb3V0IGRldmljZSB0byAnYW1kNjRfZWRhYycgJ0YxNWgnOiBERVYgMDAwMDowMDox Yi4yDQpFREFDIFBDSTA6IEdpdmluZyBvdXQgZGV2aWNlIHRvIG1vZHVsZSAnYW1kNjRfZWRhYycg Y29udHJvbGxlciAnRURBQyBQQ0kgY29udHJvbGxlcic6IERFViAnMDAwMDowMDoxOC4yJyAoUE9M TEVEKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDYwXSBlbmFibGVkIGF0IElSUSA0Nw0K ICBhbGxvYyBpcnFfZGVzYyBmb3IgNDcgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9u IG5vZGUgLTENCmhwd2R0IDAwMDA6MDI6MDAuMDogUENJIElOVCBBIC0+IExpbmtbSTA2MF0gLT4g R1NJIDQ3IChsZXZlbCwgaGlnaCkgLT4gSVJRIDQ3DQpocHdkdDogTmV3IHRpbWVyIHBhc3NlZCBp biBpcyAzMCBzZWNvbmRzLg0KaHB3ZHQgMDAwMDowMjowMC4wOiBIUCBXYXRjaGRvZyBUaW1lciBE cml2ZXI6IE5NSSBkZWNvZGluZyBpbml0aWFsaXplZCwgYWxsb3cga2VybmVsIGR1bXA6IE9GRiAo ZGVmYXVsdCA9IDAvT0ZGKSwgcHJpb3JpdHk6IExBU1QgKGRlZmF1bHQgPSAwL0xBU1QpLg0KaHB3 ZHQgMDAwMDowMjowMC4wOiBIUCBXYXRjaGRvZyBUaW1lciBEcml2ZXI6IDEuMy4wLCB0aW1lciBt YXJnaW46IDMwIHNlY29uZHMgKG5vd2F5b3V0PTApLg0KaHBpbG8gMDAwMDowMjowMC4yOiBQQ0kg SU5UIEIgLT4gTGlua1tJMDYxXSAtPiBHU0kgNDQgKGxldmVsLCBoaWdoKSAtPiBJUlEgNDQNCmhw aWxvIDAwMDA6MDI6MDAuMjogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQpzY3NpIDM6Mzow OjA6IEF0dGFjaGVkIHNjc2kgZ2VuZXJpYyBzZzAgdHlwZSAxMg0Kc2QgMzowOjA6MDogQXR0YWNo ZWQgc2NzaSBnZW5lcmljIHNnMSB0eXBlIDANCnNkIDM6MDowOjE6IEF0dGFjaGVkIHNjc2kgZ2Vu ZXJpYyBzZzIgdHlwZSAwDQpzZCAzOjA6MDoyOiBBdHRhY2hlZCBzY3NpIGdlbmVyaWMgc2czIHR5 cGUgMA0Kc2QgMzowOjA6MzogQXR0YWNoZWQgc2NzaSBnZW5lcmljIHNnNCB0eXBlIDANCnNkIDM6 MDowOjQ6IEF0dGFjaGVkIHNjc2kgZ2VuZXJpYyBzZzUgdHlwZSAwDQpzZCAzOjA6MDo1OiBBdHRh Y2hlZCBzY3NpIGdlbmVyaWMgc2c2IHR5cGUgMA0KZGNhIHNlcnZpY2Ugc3RhcnRlZCwgdmVyc2lv biAxLjEyLjENCm1kOiBiaW5kPHNkZT4NCm1kOiBzZGMgZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHYx LjIgc3VwZXJibG9jaywgbm90IGltcG9ydGluZyENCm1kOiBtZF9pbXBvcnRfZGV2aWNlIHJldHVy bmVkIC0yMg0KbWQ6IG1kMTI3IHN0b3BwZWQuDQptZDogYmluZDxzZGQ+DQptZDogc2RiIGRvZXMg bm90IGhhdmUgYSB2YWxpZCB2MS4yIHN1cGVyYmxvY2ssIG5vdCBpbXBvcnRpbmchDQptZDogbWRf aW1wb3J0X2RldmljZSByZXR1cm5lZCAtMjINCm1kOiBtZDEyNyBzdG9wcGVkLg0KbWQ6IGJpbmQ8 c2RmPg0KbWQ6IHJhaWQwIHBlcnNvbmFsaXR5IHJlZ2lzdGVyZWQgZm9yIGxldmVsIDANCmJpbzog Y3JlYXRlIHNsYWIgPGJpby0xPiBhdCAxDQptZC9yYWlkMDptZDA6IG1kX3NpemUgaXMgMzY2OTM3 NTg5NzYgc2VjdG9ycy4NCm1kOiBSQUlEMCBjb25maWd1cmF0aW9uIGZvciBtZDAgLSAxIHpvbmUN Cm1kOiB6b25lMD1bc2RkL3NkZS9zZGZdDQogICAgICB6b25lLW9mZnNldD0gICAgICAgICAwS0Is IGRldmljZS1vZmZzZXQ9ICAgICAgICAgMEtCLCBzaXplPTE4MzQ2ODc5NDg4S0INCg0KbWQwOiBk ZXRlY3RlZCBjYXBhY2l0eSBjaGFuZ2UgZnJvbSAwIHRvIDE4Nzg3MjA0NTk1NzEyDQogbWQwOiB1 bmtub3duIHBhcnRpdGlvbiB0YWJsZQ0KSW50ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3Jr IERyaXZlciAtIHZlcnNpb24gMy4wLjIyDQpDb3B5cmlnaHQgKGMpIDIwMDctMjAxMCBJbnRlbCBD b3Jwb3JhdGlvbi4NCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBCM10gZW5hYmxlZCBhdCBJ UlEgMzUNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDM1IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRf aXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDowODowMC4wOiBQQ0kgSU5UIEQgLT4gTGlua1tJMEIz XSAtPiBHU0kgMzUgKGxldmVsLCBoaWdoKSAtPiBJUlEgMzUNCmlnYiAwMDAwOjA4OjAwLjA6IHNl dHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgOTYgb24gbm9k ZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjA4OjAwLjA6IGly cSA5NiBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZvciA5NyBvbiBub2RlIC0xDQog IGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6MDg6MDAuMDogaXJxIDk3IGZv ciBNU0kvTVNJLVgNCmlnYiAwMDAwOjA4OjAwLjA6IEludGVsKFIpIEdpZ2FiaXQgRXRoZXJuZXQg TmV0d29yayBDb25uZWN0aW9uDQppZ2IgMDAwMDowODowMC4wOiBldGgwOiAoUENJZTo1LjBHVC9z OldpZHRoIHg0KSBhYzoxNjoyZDo5NDplZTpmYw0KaWdiIDAwMDA6MDg6MDAuMDogZXRoMDogUEJB IE5vOiBFODQwNjktMDEwDQppZ2IgMDAwMDowODowMC4wOiBVc2luZyBNU0ktWCBpbnRlcnJ1cHRz LiAxIHJ4IHF1ZXVlKHMpLCAxIHR4IHF1ZXVlKHMpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0kwQjJdIGVuYWJsZWQgYXQgSVJRIDM0DQogIGFsbG9jIGlycV9kZXNjIGZvciAzNCBvbiBub2Rl IC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6MDg6MDAuMTogUENJ IElOVCBDIC0+IExpbmtbSTBCMl0gLT4gR1NJIDM0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDM0DQpp Z2IgMDAwMDowODowMC4xOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCiAgYWxsb2MgaXJx X2Rlc2MgZm9yIDk4IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQpp Z2IgMDAwMDowODowMC4xOiBpcnEgOTggZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBm b3IgOTkgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAw OjA4OjAwLjE6IGlycSA5OSBmb3IgTVNJL01TSS1YDQppZ2IgMDAwMDowODowMC4xOiBJbnRlbChS KSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlvbg0KaWdiIDAwMDA6MDg6MDAuMTog ZXRoMTogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6OTQ6ZWU6ZmQNCmlnYiAwMDAw OjA4OjAwLjE6IGV0aDE6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAwMDA6MDg6MDAuMTogVXNp bmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBxdWV1ZShzKQ0KQUNQSTog UENJIEludGVycnVwdCBMaW5rIFtJMEIxXSBlbmFibGVkIGF0IElSUSAzMw0KICBhbGxvYyBpcnFf ZGVzYyBmb3IgMzMgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmln YiAwMDAwOjA4OjAwLjI6IFBDSSBJTlQgQiAtPiBMaW5rW0kwQjFdIC0+IEdTSSAzMyAobGV2ZWws IGhpZ2gpIC0+IElSUSAzMw0KaWdiIDAwMDA6MDg6MDAuMjogc2V0dGluZyBsYXRlbmN5IHRpbWVy IHRvIDY0DQogIGFsbG9jIGlycV9kZXNjIGZvciAxMDAgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3Rh dF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjA4OjAwLjI6IGlycSAxMDAgZm9yIE1TSS9NU0kt WA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTAxIG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJx cyBvbiBub2RlIC0xDQppZ2IgMDAwMDowODowMC4yOiBpcnEgMTAxIGZvciBNU0kvTVNJLVgNCmln YiAwMDAwOjA4OjAwLjI6IEludGVsKFIpIEdpZ2FiaXQgRXRoZXJuZXQgTmV0d29yayBDb25uZWN0 aW9uDQppZ2IgMDAwMDowODowMC4yOiBldGgyOiAoUENJZTo1LjBHVC9zOldpZHRoIHg0KSBhYzox NjoyZDo5NDplZTpmZQ0KaWdiIDAwMDA6MDg6MDAuMjogZXRoMjogUEJBIE5vOiBFODQwNjktMDEw DQppZ2IgMDAwMDowODowMC4yOiBVc2luZyBNU0ktWCBpbnRlcnJ1cHRzLiAxIHJ4IHF1ZXVlKHMp LCAxIHR4IHF1ZXVlKHMpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwQjBdIGVuYWJsZWQg YXQgSVJRIDMyDQogIGFsbG9jIGlycV9kZXNjIGZvciAzMiBvbiBub2RlIC0xDQogIGFsbG9jIGtz dGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6MDg6MDAuMzogUENJIElOVCBBIC0+IExpbmtb STBCMF0gLT4gR1NJIDMyIChsZXZlbCwgaGlnaCkgLT4gSVJRIDMyDQppZ2IgMDAwMDowODowMC4z OiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDEwMiBv biBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6MDg6MDAu MzogaXJxIDEwMiBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZvciAxMDMgb24gbm9k ZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjA4OjAwLjM6IGly cSAxMDMgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6MDg6MDAuMzogSW50ZWwoUikgR2lnYWJpdCBF dGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjA4OjAwLjM6IGV0aDM6IChQQ0ll OjUuMEdUL3M6V2lkdGggeDQpIGFjOjE2OjJkOjk0OmVlOmZmDQppZ2IgMDAwMDowODowMC4zOiBl dGgzOiBQQkEgTm86IEU4NDA2OS0wMTANCmlnYiAwMDAwOjA4OjAwLjM6IFVzaW5nIE1TSS1YIGlu dGVycnVwdHMuIDEgcnggcXVldWUocyksIDEgdHggcXVldWUocykNCkFDUEk6IFBDSSBJbnRlcnJ1 cHQgTGluayBbSTAzM10gZW5hYmxlZCBhdCBJUlEgNjMNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDYz IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDo0NDow MC4wOiBQQ0kgSU5UIEQgLT4gTGlua1tJMDMzXSAtPiBHU0kgNjMgKGxldmVsLCBoaWdoKSAtPiBJ UlEgNjMNCmlnYiAwMDAwOjQ0OjAwLjA6IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0byA2NA0KICBh bGxvYyBpcnFfZGVzYyBmb3IgMTA0IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBu b2RlIC0xDQppZ2IgMDAwMDo0NDowMC4wOiBpcnEgMTA0IGZvciBNU0kvTVNJLVgNCiAgYWxsb2Mg aXJxX2Rlc2MgZm9yIDEwNSBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAt MQ0KaWdiIDAwMDA6NDQ6MDAuMDogaXJxIDEwNSBmb3IgTVNJL01TSS1YDQppZ2IgMDAwMDo0NDow MC4wOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlvbg0KaWdiIDAw MDA6NDQ6MDAuMDogZXRoNDogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6OTQ6ZWY6 MzANCmlnYiAwMDAwOjQ0OjAwLjA6IGV0aDQ6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAwMDA6 NDQ6MDAuMDogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBxdWV1 ZShzKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMDMyXSBlbmFibGVkIGF0IElSUSA2Mg0K ICBhbGxvYyBpcnFfZGVzYyBmb3IgNjIgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9u IG5vZGUgLTENCmlnYiAwMDAwOjQ0OjAwLjE6IFBDSSBJTlQgQyAtPiBMaW5rW0kwMzJdIC0+IEdT SSA2MiAobGV2ZWwsIGhpZ2gpIC0+IElSUSA2Mg0KaWdiIDAwMDA6NDQ6MDAuMTogc2V0dGluZyBs YXRlbmN5IHRpbWVyIHRvIDY0DQogIGFsbG9jIGlycV9kZXNjIGZvciAxMDYgb24gbm9kZSAtMQ0K ICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjQ0OjAwLjE6IGlycSAxMDYg Zm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTA3IG9uIG5vZGUgLTENCiAgYWxs b2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDo0NDowMC4xOiBpcnEgMTA3IGZvciBN U0kvTVNJLVgNCmlnYiAwMDAwOjQ0OjAwLjE6IEludGVsKFIpIEdpZ2FiaXQgRXRoZXJuZXQgTmV0 d29yayBDb25uZWN0aW9uDQppZ2IgMDAwMDo0NDowMC4xOiBldGg1OiAoUENJZTo1LjBHVC9zOldp ZHRoIHg0KSBhYzoxNjoyZDo5NDplZjozMQ0KaWdiIDAwMDA6NDQ6MDAuMTogZXRoNTogUEJBIE5v OiBFODQwNjktMDEwDQppZ2IgMDAwMDo0NDowMC4xOiBVc2luZyBNU0ktWCBpbnRlcnJ1cHRzLiAx IHJ4IHF1ZXVlKHMpLCAxIHR4IHF1ZXVlKHMpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kw MzFdIGVuYWJsZWQgYXQgSVJRIDYxDQogIGFsbG9jIGlycV9kZXNjIGZvciA2MSBvbiBub2RlIC0x DQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6NDQ6MDAuMjogUENJIElO VCBCIC0+IExpbmtbSTAzMV0gLT4gR1NJIDYxIChsZXZlbCwgaGlnaCkgLT4gSVJRIDYxDQppZ2Ig MDAwMDo0NDowMC4yOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCiAgYWxsb2MgaXJxX2Rl c2MgZm9yIDEwOCBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdi IDAwMDA6NDQ6MDAuMjogaXJxIDEwOCBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZv ciAxMDkgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAw OjQ0OjAwLjI6IGlycSAxMDkgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6NDQ6MDAuMjogSW50ZWwo UikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjQ0OjAwLjI6 IGV0aDY6IChQQ0llOjUuMEdUL3M6V2lkdGggeDQpIGFjOjE2OjJkOjk0OmVmOjMyDQppZ2IgMDAw MDo0NDowMC4yOiBldGg2OiBQQkEgTm86IEU4NDA2OS0wMTANCmlnYiAwMDAwOjQ0OjAwLjI6IFVz aW5nIE1TSS1YIGludGVycnVwdHMuIDEgcnggcXVldWUocyksIDEgdHggcXVldWUocykNCkFDUEk6 IFBDSSBJbnRlcnJ1cHQgTGluayBbSTAzMF0gZW5hYmxlZCBhdCBJUlEgNjANCiAgYWxsb2MgaXJx X2Rlc2MgZm9yIDYwIG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQpp Z2IgMDAwMDo0NDowMC4zOiBQQ0kgSU5UIEEgLT4gTGlua1tJMDMwXSAtPiBHU0kgNjAgKGxldmVs LCBoaWdoKSAtPiBJUlEgNjANCmlnYiAwMDAwOjQ0OjAwLjM6IHNldHRpbmcgbGF0ZW5jeSB0aW1l ciB0byA2NA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTEwIG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0 YXRfaXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDo0NDowMC4zOiBpcnEgMTEwIGZvciBNU0kvTVNJ LVgNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDExMSBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2ly cXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6NDQ6MDAuMzogaXJxIDExMSBmb3IgTVNJL01TSS1YDQpp Z2IgMDAwMDo0NDowMC4zOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVj dGlvbg0KaWdiIDAwMDA6NDQ6MDAuMzogZXRoNzogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6 MTY6MmQ6OTQ6ZWY6MzMNCmlnYiAwMDAwOjQ0OjAwLjM6IGV0aDc6IFBCQSBObzogRTg0MDY5LTAx MA0KaWdiIDAwMDA6NDQ6MDAuMzogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShz KSwgMSB0eCBxdWV1ZShzKQ0KQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtJMEIzXSBlbmFibGVk IGF0IElSUSA2Nw0KICBhbGxvYyBpcnFfZGVzYyBmb3IgNjcgb24gbm9kZSAtMQ0KICBhbGxvYyBr c3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjQxOjAwLjA6IFBDSSBJTlQgRCAtPiBMaW5r W0kwQjNdIC0+IEdTSSA2NyAobGV2ZWwsIGhpZ2gpIC0+IElSUSA2Nw0KaWdiIDAwMDA6NDE6MDAu MDogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQogIGFsbG9jIGlycV9kZXNjIGZvciAxMTIg b24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAwMDAwOjQxOjAw LjA6IGlycSAxMTIgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTEzIG9uIG5v ZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDo0MTowMC4wOiBp cnEgMTEzIGZvciBNU0kvTVNJLVgNCmlnYiAwMDAwOjQxOjAwLjA6IEludGVsKFIpIEdpZ2FiaXQg RXRoZXJuZXQgTmV0d29yayBDb25uZWN0aW9uDQppZ2IgMDAwMDo0MTowMC4wOiBldGg4OiAoUENJ ZTo1LjBHVC9zOldpZHRoIHg0KSBhYzoxNjoyZDo5NDpmMjo5OA0KaWdiIDAwMDA6NDE6MDAuMDog ZXRoODogUEJBIE5vOiBFODQwNjktMDEwDQppZ2IgMDAwMDo0MTowMC4wOiBVc2luZyBNU0ktWCBp bnRlcnJ1cHRzLiAxIHJ4IHF1ZXVlKHMpLCAxIHR4IHF1ZXVlKHMpDQpBQ1BJOiBQQ0kgSW50ZXJy dXB0IExpbmsgW0kwQjJdIGVuYWJsZWQgYXQgSVJRIDY2DQogIGFsbG9jIGlycV9kZXNjIGZvciA2 NiBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6NDE6 MDAuMTogUENJIElOVCBDIC0+IExpbmtbSTBCMl0gLT4gR1NJIDY2IChsZXZlbCwgaGlnaCkgLT4g SVJRIDY2DQppZ2IgMDAwMDo0MTowMC4xOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCiAg YWxsb2MgaXJxX2Rlc2MgZm9yIDExNCBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24g bm9kZSAtMQ0KaWdiIDAwMDA6NDE6MDAuMTogaXJxIDExNCBmb3IgTVNJL01TSS1YDQogIGFsbG9j IGlycV9kZXNjIGZvciAxMTUgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUg LTENCmlnYiAwMDAwOjQxOjAwLjE6IGlycSAxMTUgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6NDE6 MDAuMTogSW50ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAw MDAwOjQxOjAwLjE6IGV0aDk6IChQQ0llOjUuMEdUL3M6V2lkdGggeDQpIGFjOjE2OjJkOjk0OmYy Ojk5DQppZ2IgMDAwMDo0MTowMC4xOiBldGg5OiBQQkEgTm86IEU4NDA2OS0wMTANCmlnYiAwMDAw OjQxOjAwLjE6IFVzaW5nIE1TSS1YIGludGVycnVwdHMuIDEgcnggcXVldWUocyksIDEgdHggcXVl dWUocykNCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbSTBCMV0gZW5hYmxlZCBhdCBJUlEgNjUN CiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDY1IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBv biBub2RlIC0xDQppZ2IgMDAwMDo0MTowMC4yOiBQQ0kgSU5UIEIgLT4gTGlua1tJMEIxXSAtPiBH U0kgNjUgKGxldmVsLCBoaWdoKSAtPiBJUlEgNjUNCmlnYiAwMDAwOjQxOjAwLjI6IHNldHRpbmcg bGF0ZW5jeSB0aW1lciB0byA2NA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTE2IG9uIG5vZGUgLTEN CiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQppZ2IgMDAwMDo0MTowMC4yOiBpcnEgMTE2 IGZvciBNU0kvTVNJLVgNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDExNyBvbiBub2RlIC0xDQogIGFs bG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6NDE6MDAuMjogaXJxIDExNyBmb3Ig TVNJL01TSS1YDQppZ2IgMDAwMDo0MTowMC4yOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5l dHdvcmsgQ29ubmVjdGlvbg0KaWdiIDAwMDA6NDE6MDAuMjogZXRoMTA6IChQQ0llOjUuMEdUL3M6 V2lkdGggeDQpIGFjOjE2OjJkOjk0OmYyOjlhDQppZ2IgMDAwMDo0MTowMC4yOiBldGgxMDogUEJB IE5vOiBFODQwNjktMDEwDQppZ2IgMDAwMDo0MTowMC4yOiBVc2luZyBNU0ktWCBpbnRlcnJ1cHRz LiAxIHJ4IHF1ZXVlKHMpLCAxIHR4IHF1ZXVlKHMpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0kwQjBdIGVuYWJsZWQgYXQgSVJRIDY0DQogIGFsbG9jIGlycV9kZXNjIGZvciA2NCBvbiBub2Rl IC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KaWdiIDAwMDA6NDE6MDAuMzogUENJ IElOVCBBIC0+IExpbmtbSTBCMF0gLT4gR1NJIDY0IChsZXZlbCwgaGlnaCkgLT4gSVJRIDY0DQpp Z2IgMDAwMDo0MTowMC4zOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCiAgYWxsb2MgaXJx X2Rlc2MgZm9yIDExOCBvbiBub2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0K aWdiIDAwMDA6NDE6MDAuMzogaXJxIDExOCBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNj IGZvciAxMTkgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCmlnYiAw MDAwOjQxOjAwLjM6IGlycSAxMTkgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6NDE6MDAuMzogSW50 ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjQxOjAw LjM6IGV0aDExOiAoUENJZTo1LjBHVC9zOldpZHRoIHg0KSBhYzoxNjoyZDo5NDpmMjo5Yg0KaWdi IDAwMDA6NDE6MDAuMzogZXRoMTE6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAwMDA6NDE6MDAu MzogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBxdWV1ZShzKQ0K cG93ZXJfbWV0ZXIgQUNQSTAwMEQ6MDA6IEZvdW5kIEFDUEkgcG93ZXIgbWV0ZXIuDQp0ZzMuYzp2 My4xMjIgKERlY2VtYmVyIDcsIDIwMTEpDQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0kwQzBd IGVuYWJsZWQgYXQgSVJRIDM2DQogIGFsbG9jIGlycV9kZXNjIGZvciAzNiBvbiBub2RlIC0xDQog IGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KdGczIDAwMDA6MDQ6MDAuMDogUENJIElOVCBB IC0+IExpbmtbSTBDMF0gLT4gR1NJIDM2IChsZXZlbCwgaGlnaCkgLT4gSVJRIDM2DQp0ZzMgMDAw MDowNDowMC4wOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCnRnMyAwMDAwOjA0OjAwLjA6 IGV0aDEyOiBUaWdvbjMgW3BhcnRubyg2MjkxMzMtMDAxKSByZXYgNTcxOTAwMV0gKFBDSSBFeHBy ZXNzKSBNQUMgYWRkcmVzcyBhYzoxNjoyZDo3Nzo4YzplOA0KdGczIDAwMDA6MDQ6MDAuMDogZXRo MTI6IGF0dGFjaGVkIFBIWSBpcyA1NzE5QyAoMTAvMTAwLzEwMDBCYXNlLVQgRXRoZXJuZXQpIChX aXJlU3BlZWRbMV0sIEVFRVsxXSkNCnRnMyAwMDAwOjA0OjAwLjA6IGV0aDEyOiBSWGNzdW1zWzBd IExpbmtDaGdSRUdbMF0gTUlpcnFbMF0gQVNGWzFdIFRTT2NhcFsxXQ0KdGczIDAwMDA6MDQ6MDAu MDogZXRoMTI6IGRtYV9yd2N0cmxbMDAwMDAwMDFdIGRtYV9tYXNrWzY0LWJpdF0NCkFDUEk6IFBD SSBJbnRlcnJ1cHQgTGluayBbSTBDMV0gZW5hYmxlZCBhdCBJUlEgMzcNCiAgYWxsb2MgaXJxX2Rl c2MgZm9yIDM3IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQp0ZzMg MDAwMDowNDowMC4xOiBQQ0kgSU5UIEIgLT4gTGlua1tJMEMxXSAtPiBHU0kgMzcgKGxldmVsLCBo aWdoKSAtPiBJUlEgMzcNCnRnMyAwMDAwOjA0OjAwLjE6IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0 byA2NA0KdGczIDAwMDA6MDQ6MDAuMTogZXRoMTM6IFRpZ29uMyBbcGFydG5vKDYyOTEzMy0wMDEp IHJldiA1NzE5MDAxXSAoUENJIEV4cHJlc3MpIE1BQyBhZGRyZXNzIGFjOjE2OjJkOjc3OjhjOmU5 DQp0ZzMgMDAwMDowNDowMC4xOiBldGgxMzogYXR0YWNoZWQgUEhZIGlzIDU3MTlDICgxMC8xMDAv MTAwMEJhc2UtVCBFdGhlcm5ldCkgKFdpcmVTcGVlZFsxXSwgRUVFWzFdKQ0KdGczIDAwMDA6MDQ6 MDAuMTogZXRoMTM6IFJYY3N1bXNbMF0gTGlua0NoZ1JFR1swXSBNSWlycVswXSBBU0ZbMV0gVFNP Y2FwWzFdDQp0ZzMgMDAwMDowNDowMC4xOiBldGgxMzogZG1hX3J3Y3RybFswMDAwMDAwMV0gZG1h X21hc2tbNjQtYml0XQ0KdGczIDAwMDA6MDQ6MDAuMjogUENJIElOVCBBIC0+IExpbmtbSTBDMF0g LT4gR1NJIDM2IChsZXZlbCwgaGlnaCkgLT4gSVJRIDM2DQp0ZzMgMDAwMDowNDowMC4yOiBzZXR0 aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCnRnMyAwMDAwOjA0OjAwLjI6IGV0aDE0OiBUaWdvbjMg W3BhcnRubyg2MjkxMzMtMDAxKSByZXYgNTcxOTAwMV0gKFBDSSBFeHByZXNzKSBNQUMgYWRkcmVz cyBhYzoxNjoyZDo3Nzo4YzplYQ0KdGczIDAwMDA6MDQ6MDAuMjogZXRoMTQ6IGF0dGFjaGVkIFBI WSBpcyA1NzE5QyAoMTAvMTAwLzEwMDBCYXNlLVQgRXRoZXJuZXQpIChXaXJlU3BlZWRbMV0sIEVF RVsxXSkNCnRnMyAwMDAwOjA0OjAwLjI6IGV0aDE0OiBSWGNzdW1zWzBdIExpbmtDaGdSRUdbMF0g TUlpcnFbMF0gQVNGWzFdIFRTT2NhcFsxXQ0KdGczIDAwMDA6MDQ6MDAuMjogZXRoMTQ6IGRtYV9y d2N0cmxbMDAwMDAwMDFdIGRtYV9tYXNrWzY0LWJpdF0NCnRnMyAwMDAwOjA0OjAwLjM6IFBDSSBJ TlQgQiAtPiBMaW5rW0kwQzFdIC0+IEdTSSAzNyAobGV2ZWwsIGhpZ2gpIC0+IElSUSAzNw0KdGcz IDAwMDA6MDQ6MDAuMzogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQp0ZzMgMDAwMDowNDow MC4zOiBldGgxNTogVGlnb24zIFtwYXJ0bm8oNjI5MTMzLTAwMSkgcmV2IDU3MTkwMDFdIChQQ0kg RXhwcmVzcykgTUFDIGFkZHJlc3MgYWM6MTY6MmQ6Nzc6OGM6ZWINCnRnMyAwMDAwOjA0OjAwLjM6 IGV0aDE1OiBhdHRhY2hlZCBQSFkgaXMgNTcxOUMgKDEwLzEwMC8xMDAwQmFzZS1UIEV0aGVybmV0 KSAoV2lyZVNwZWVkWzFdLCBFRUVbMV0pDQp0ZzMgMDAwMDowNDowMC4zOiBldGgxNTogUlhjc3Vt c1swXSBMaW5rQ2hnUkVHWzBdIE1JaXJxWzBdIEFTRlsxXSBUU09jYXBbMV0NCnRnMyAwMDAwOjA0 OjAwLjM6IGV0aDE1OiBkbWFfcndjdHJsWzAwMDAwMDAxXSBkbWFfbWFza1s2NC1iaXRdDQp1ZGV2 OiByZW5hbWVkIG5ldHdvcmsgaW50ZXJmYWNlIGV0aDEyIHRvIHJlbmFtZTE0DQpwbGF0Zm9ybSBt aWNyb2NvZGU6IGZpcm13YXJlOiByZXF1ZXN0aW5nIGFtZC11Y29kZS9taWNyb2NvZGVfYW1kX2Zh bTE1aC5iaW4NCm1pY3JvY29kZTogQ1BVMDogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQptaWNyb2Nv ZGU6IENQVTE6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFUyOiBwYXRjaF9s ZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVMzogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQpt aWNyb2NvZGU6IENQVTQ6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFU1OiBw YXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVNjogcGF0Y2hfbGV2ZWw9MHg2MDAw NjJlDQptaWNyb2NvZGU6IENQVTc6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBD UFU4OiBwYXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVOTogcGF0Y2hfbGV2ZWw9 MHg2MDAwNjJlDQptaWNyb2NvZGU6IENQVTEwOiBwYXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3Jv Y29kZTogQ1BVMTE6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFUxMjogcGF0 Y2hfbGV2ZWw9MHg2MDAwNjJlDQptaWNyb2NvZGU6IENQVTEzOiBwYXRjaF9sZXZlbD0weDYwMDA2 MmUNCm1pY3JvY29kZTogQ1BVMTQ6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBD UFUxNTogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQptaWNyb2NvZGU6IENQVTE2OiBwYXRjaF9sZXZl bD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVMTc6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWlj cm9jb2RlOiBDUFUxODogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQptaWNyb2NvZGU6IENQVTE5OiBw YXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVMjA6IHBhdGNoX2xldmVsPTB4NjAw MDYyZQ0KbWljcm9jb2RlOiBDUFUyMTogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQptaWNyb2NvZGU6 IENQVTIyOiBwYXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVMjM6IHBhdGNoX2xl dmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFUyNDogcGF0Y2hfbGV2ZWw9MHg2MDAwNjJlDQpt aWNyb2NvZGU6IENQVTI1OiBwYXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29kZTogQ1BVMjY6 IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFUyNzogcGF0Y2hfbGV2ZWw9MHg2 MDAwNjJlDQptaWNyb2NvZGU6IENQVTI4OiBwYXRjaF9sZXZlbD0weDYwMDA2MmUNCm1pY3JvY29k ZTogQ1BVMjk6IHBhdGNoX2xldmVsPTB4NjAwMDYyZQ0KbWljcm9jb2RlOiBDUFUzMDogcGF0Y2hf bGV2ZWw9MHg2MDAwNjJlDQptaWNyb2NvZGU6IENQVTMxOiBwYXRjaF9sZXZlbD0weDYwMDA2MmUN Ck1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2Mi4wMCA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNv LnVrPiwgUGV0ZXIgT3J1YmENCnJlYWRhaGVhZDogc3RhcnRpbmcNCjgwMi4xUSBWTEFOIFN1cHBv cnQgdjEuOCBCZW4gR3JlZWFyIDxncmVlYXJiQGNhbmRlbGF0ZWNoLmNvbT4NCkFsbCBidWdzIGFk ZGVkIGJ5IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AcmVkaGF0LmNvbT4NCk5FVDogUmVnaXN0ZXJl ZCBwcm90b2NvbCBmYW1pbHkgMTANCmxvOiBEaXNhYmxlZCBQcml2YWN5IEV4dGVuc2lvbnMNCkV0 aGVybmV0IENoYW5uZWwgQm9uZGluZyBEcml2ZXI6IHYzLjYuMCAoU2VwdGVtYmVyIDI2LCAyMDA5 KQ0KTG9hZGluZyBrZXJuZWwgbW9kdWxlIGZvciBhIG5ldHdvcmsgZGV2aWNlIHdpdGggQ0FQX1NZ U19NT0RVTEUgKGRlcHJlY2F0ZWQpLiAgVXNlIENBUF9ORVRfQURNSU4gYW5kIGFsaWFzIG5ldGRl di1ib25kMCBpbnN0ZWFkDQp0ZzMgMDAwMDowNDowMC4zOiBQQ0kgSU5UIEIgZGlzYWJsZWQNCnRn MyAwMDAwOjA0OjAwLjI6IFBDSSBJTlQgQSBkaXNhYmxlZA0KdGczIDAwMDA6MDQ6MDAuMTogUENJ IElOVCBCIGRpc2FibGVkDQp0ZzMgMDAwMDowNDowMC4wOiBQQ0kgSU5UIEEgZGlzYWJsZWQNCmln YiAwMDAwOjQxOjAwLjM6IFBDSSBJTlQgQSBkaXNhYmxlZA0KaWdiIDAwMDA6NDE6MDAuMjogUENJ IElOVCBCIGRpc2FibGVkDQppZ2IgMDAwMDo0MTowMC4xOiBQQ0kgSU5UIEMgZGlzYWJsZWQNCmln YiAwMDAwOjQxOjAwLjA6IFBDSSBJTlQgRCBkaXNhYmxlZA0KaWdiIDAwMDA6NDQ6MDAuMzogUENJ IElOVCBBIGRpc2FibGVkDQppZ2IgMDAwMDo0NDowMC4yOiBQQ0kgSU5UIEIgZGlzYWJsZWQNCmln YiAwMDAwOjQ0OjAwLjE6IFBDSSBJTlQgQyBkaXNhYmxlZA0KaWdiIDAwMDA6NDQ6MDAuMDogUENJ IElOVCBEIGRpc2FibGVkDQppZ2IgMDAwMDowODowMC4zOiBQQ0kgSU5UIEEgZGlzYWJsZWQNCmln YiAwMDAwOjA4OjAwLjI6IFBDSSBJTlQgQiBkaXNhYmxlZA0KaWdiIDAwMDA6MDg6MDAuMTogUENJ IElOVCBDIGRpc2FibGVkDQppZ2IgMDAwMDowODowMC4wOiBQQ0kgSU5UIEQgZGlzYWJsZWQNCnRn My5jOnYzLjEyMiAoRGVjZW1iZXIgNywgMjAxMSkNCnRnMyAwMDAwOjA0OjAwLjA6IFBDSSBJTlQg QSAtPiBMaW5rW0kwQzBdIC0+IEdTSSAzNiAobGV2ZWwsIGhpZ2gpIC0+IElSUSAzNg0KdGczIDAw MDA6MDQ6MDAuMDogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQp0ZzMgMDAwMDowNDowMC4w OiBldGgwOiBUaWdvbjMgW3BhcnRubyg2MjkxMzMtMDAxKSByZXYgNTcxOTAwMV0gKFBDSSBFeHBy ZXNzKSBNQUMgYWRkcmVzcyBhYzoxNjoyZDo3Nzo4YzplOA0KdGczIDAwMDA6MDQ6MDAuMDogZXRo MDogYXR0YWNoZWQgUEhZIGlzIDU3MTlDICgxMC8xMDAvMTAwMEJhc2UtVCBFdGhlcm5ldCkgKFdp cmVTcGVlZFsxXSwgRUVFWzFdKQ0KdGczIDAwMDA6MDQ6MDAuMDogZXRoMDogUlhjc3Vtc1swXSBM aW5rQ2hnUkVHWzBdIE1JaXJxWzBdIEFTRlsxXSBUU09jYXBbMV0NCnRnMyAwMDAwOjA0OjAwLjA6 IGV0aDA6IGRtYV9yd2N0cmxbMDAwMDAwMDFdIGRtYV9tYXNrWzY0LWJpdF0NCnRnMyAwMDAwOjA0 OjAwLjE6IFBDSSBJTlQgQiAtPiBMaW5rW0kwQzFdIC0+IEdTSSAzNyAobGV2ZWwsIGhpZ2gpIC0+ IElSUSAzNw0KdGczIDAwMDA6MDQ6MDAuMTogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQp1 ZGV2OiByZW5hbWVkIG5ldHdvcmsgaW50ZXJmYWNlIGV0aDAgdG8gZXRoMTMNCnRnMyAwMDAwOjA0 OjAwLjE6IGV0aDA6IFRpZ29uMyBbcGFydG5vKDYyOTEzMy0wMDEpIHJldiA1NzE5MDAxXSAoUENJ IEV4cHJlc3MpIE1BQyBhZGRyZXNzIGFjOjE2OjJkOjc3OjhjOmU5DQp0ZzMgMDAwMDowNDowMC4x OiBldGgwOiBhdHRhY2hlZCBQSFkgaXMgNTcxOUMgKDEwLzEwMC8xMDAwQmFzZS1UIEV0aGVybmV0 KSAoV2lyZVNwZWVkWzFdLCBFRUVbMV0pDQp0ZzMgMDAwMDowNDowMC4xOiBldGgwOiBSWGNzdW1z WzBdIExpbmtDaGdSRUdbMF0gTUlpcnFbMF0gQVNGWzFdIFRTT2NhcFsxXQ0KdGczIDAwMDA6MDQ6 MDAuMTogZXRoMDogZG1hX3J3Y3RybFswMDAwMDAwMV0gZG1hX21hc2tbNjQtYml0XQ0KdGczIDAw MDA6MDQ6MDAuMjogUENJIElOVCBBIC0+IExpbmtbSTBDMF0gLT4gR1NJIDM2IChsZXZlbCwgaGln aCkgLT4gSVJRIDM2DQp0ZzMgMDAwMDowNDowMC4yOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8g NjQNCnVkZXY6IHJlbmFtZWQgbmV0d29yayBpbnRlcmZhY2UgZXRoMCB0byByZW5hbWUyMQ0KdGcz IDAwMDA6MDQ6MDAuMjogZXRoMDogVGlnb24zIFtwYXJ0bm8oNjI5MTMzLTAwMSkgcmV2IDU3MTkw MDFdIChQQ0kgRXhwcmVzcykgTUFDIGFkZHJlc3MgYWM6MTY6MmQ6Nzc6OGM6ZWENCnRnMyAwMDAw OjA0OjAwLjI6IGV0aDA6IGF0dGFjaGVkIFBIWSBpcyA1NzE5QyAoMTAvMTAwLzEwMDBCYXNlLVQg RXRoZXJuZXQpIChXaXJlU3BlZWRbMV0sIEVFRVsxXSkNCnRnMyAwMDAwOjA0OjAwLjI6IGV0aDA6 IFJYY3N1bXNbMF0gTGlua0NoZ1JFR1swXSBNSWlycVswXSBBU0ZbMV0gVFNPY2FwWzFdDQp0ZzMg MDAwMDowNDowMC4yOiBldGgwOiBkbWFfcndjdHJsWzAwMDAwMDAxXSBkbWFfbWFza1s2NC1iaXRd DQp0ZzMgMDAwMDowNDowMC4zOiBQQ0kgSU5UIEIgLT4gTGlua1tJMEMxXSAtPiBHU0kgMzcgKGxl dmVsLCBoaWdoKSAtPiBJUlEgMzcNCnRnMyAwMDAwOjA0OjAwLjM6IHNldHRpbmcgbGF0ZW5jeSB0 aW1lciB0byA2NA0KdWRldjogcmVuYW1lZCBuZXR3b3JrIGludGVyZmFjZSBldGgwIHRvIGV0aDE0 DQp0ZzMgMDAwMDowNDowMC4zOiBldGgwOiBUaWdvbjMgW3BhcnRubyg2MjkxMzMtMDAxKSByZXYg NTcxOTAwMV0gKFBDSSBFeHByZXNzKSBNQUMgYWRkcmVzcyBhYzoxNjoyZDo3Nzo4YzplYg0KdGcz IDAwMDA6MDQ6MDAuMzogZXRoMDogYXR0YWNoZWQgUEhZIGlzIDU3MTlDICgxMC8xMDAvMTAwMEJh c2UtVCBFdGhlcm5ldCkgKFdpcmVTcGVlZFsxXSwgRUVFWzFdKQ0KdGczIDAwMDA6MDQ6MDAuMzog ZXRoMDogUlhjc3Vtc1swXSBMaW5rQ2hnUkVHWzBdIE1JaXJxWzBdIEFTRlsxXSBUU09jYXBbMV0N CnRnMyAwMDAwOjA0OjAwLjM6IGV0aDA6IGRtYV9yd2N0cmxbMDAwMDAwMDFdIGRtYV9tYXNrWzY0 LWJpdF0NCnVkZXY6IHJlbmFtZWQgbmV0d29yayBpbnRlcmZhY2UgZXRoMCB0byBldGgxNQ0KSW50 ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIERyaXZlciAtIHZlcnNpb24gMy4wLjIyDQpD b3B5cmlnaHQgKGMpIDIwMDctMjAxMCBJbnRlbCBDb3Jwb3JhdGlvbi4NCmlnYiAwMDAwOjA4OjAw LjA6IFBDSSBJTlQgRCAtPiBMaW5rW0kwQjNdIC0+IEdTSSAzNSAobGV2ZWwsIGhpZ2gpIC0+IElS USAzNQ0KaWdiIDAwMDA6MDg6MDAuMDogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQppZ2Ig MDAwMDowODowMC4wOiBpcnEgOTYgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6MDg6MDAuMDogaXJx IDk3IGZvciBNU0kvTVNJLVgNCmhwbjogaHBuX3RpY2tfcGVyX21zZWMgMjA5NDg1NCBocG5fdGlj a19wZXJfc2xvdCA1MjM3MTMgaHBuX3RpY2tfcGVyX3BhY2VfY3ljbGUgMjE0NTEyODQ0OA0KaHBu OiBocG5fc2VnbWVudF90IDI0IGhwbl9mcmFtZV90IDg4IGhwbl9mcmFnIDE2IGhwbl9wYWNrZXRf ZGVzYyAxODQvMTg0DQpocG46IHJlZ2lzdGVyX2hwbmRldjogZGV2PWV0aDAgdGFnPWlnYiBsaW5r IHNsZWVwIDEvMA0KaWdiIDAwMDA6MDg6MDAuMDogSW50ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBO ZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjA4OjAwLjA6IGV0aDA6IChQQ0llOjUuMEdUL3M6 V2lkdGggeDQpIGFjOjE2OjJkOjk0OmVlOmZjDQppZ2IgMDAwMDowODowMC4wOiBldGgwOiBQQkEg Tm86IEU4NDA2OS0wMTANCmlnYiAwMDAwOjA4OjAwLjA6IFVzaW5nIE1TSS1YIGludGVycnVwdHMu IDEgcnggcXVldWUocyksIDEgdHggcXVldWUocykNCmlnYiAwMDAwOjA4OjAwLjE6IFBDSSBJTlQg QyAtPiBMaW5rW0kwQjJdIC0+IEdTSSAzNCAobGV2ZWwsIGhpZ2gpIC0+IElSUSAzNA0KaWdiIDAw MDA6MDg6MDAuMTogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRvIDY0DQppZ2IgMDAwMDowODowMC4x OiBpcnEgOTggZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6MDg6MDAuMTogaXJxIDk5IGZvciBNU0kv TVNJLVgNCmhwbjogcmVnaXN0ZXJfaHBuZGV2OiBkZXY9ZXRoMSB0YWc9aWdiIGxpbmsgc2xlZXAg MS8wDQppZ2IgMDAwMDowODowMC4xOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsg Q29ubmVjdGlvbg0KaWdiIDAwMDA6MDg6MDAuMTogZXRoMTogKFBDSWU6NS4wR1QvczpXaWR0aCB4 NCkgYWM6MTY6MmQ6OTQ6ZWU6ZmQNCmlnYiAwMDAwOjA4OjAwLjE6IGV0aDE6IFBCQSBObzogRTg0 MDY5LTAxMA0KaWdiIDAwMDA6MDg6MDAuMTogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBx dWV1ZShzKSwgMSB0eCBxdWV1ZShzKQ0KaWdiIDAwMDA6MDg6MDAuMjogUENJIElOVCBCIC0+IExp bmtbSTBCMV0gLT4gR1NJIDMzIChsZXZlbCwgaGlnaCkgLT4gSVJRIDMzDQppZ2IgMDAwMDowODow MC4yOiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjA4OjAwLjI6IGlycSAx MDAgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6MDg6MDAuMjogaXJxIDEwMSBmb3IgTVNJL01TSS1Y DQppZ2IgMDAwMDowODowMC4yOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29u bmVjdGlvbg0KaWdiIDAwMDA6MDg6MDAuMjogZXRoMjogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkg YWM6MTY6MmQ6OTQ6ZWU6ZmUNCmlnYiAwMDAwOjA4OjAwLjI6IGV0aDI6IFBCQSBObzogRTg0MDY5 LTAxMA0KaWdiIDAwMDA6MDg6MDAuMjogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1 ZShzKSwgMSB0eCBxdWV1ZShzKQ0KaWdiIDAwMDA6MDg6MDAuMzogUENJIElOVCBBIC0+IExpbmtb STBCMF0gLT4gR1NJIDMyIChsZXZlbCwgaGlnaCkgLT4gSVJRIDMyDQppZ2IgMDAwMDowODowMC4z OiBzZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjA4OjAwLjM6IGlycSAxMDIg Zm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6MDg6MDAuMzogaXJxIDEwMyBmb3IgTVNJL01TSS1YDQpp Z2IgMDAwMDowODowMC4zOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVj dGlvbg0KaWdiIDAwMDA6MDg6MDAuMzogZXRoMzogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6 MTY6MmQ6OTQ6ZWU6ZmYNCmlnYiAwMDAwOjA4OjAwLjM6IGV0aDM6IFBCQSBObzogRTg0MDY5LTAx MA0KaWdiIDAwMDA6MDg6MDAuMzogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShz KSwgMSB0eCBxdWV1ZShzKQ0KaWdiIDAwMDA6NDQ6MDAuMDogUENJIElOVCBEIC0+IExpbmtbSTAz M10gLT4gR1NJIDYzIChsZXZlbCwgaGlnaCkgLT4gSVJRIDYzDQppZ2IgMDAwMDo0NDowMC4wOiBz ZXR0aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjQ0OjAwLjA6IGlycSAxMDQgZm9y IE1TSS9NU0ktWA0KaWdiIDAwMDA6NDQ6MDAuMDogaXJxIDEwNSBmb3IgTVNJL01TSS1YDQppZ2Ig MDAwMDo0NDowMC4wOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlv bg0KaWdiIDAwMDA6NDQ6MDAuMDogZXRoNDogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6 MmQ6OTQ6ZWY6MzANCmlnYiAwMDAwOjQ0OjAwLjA6IGV0aDQ6IFBCQSBObzogRTg0MDY5LTAxMA0K aWdiIDAwMDA6NDQ6MDAuMDogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwg MSB0eCBxdWV1ZShzKQ0KaWdiIDAwMDA6NDQ6MDAuMTogUENJIElOVCBDIC0+IExpbmtbSTAzMl0g LT4gR1NJIDYyIChsZXZlbCwgaGlnaCkgLT4gSVJRIDYyDQppZ2IgMDAwMDo0NDowMC4xOiBzZXR0 aW5nIGxhdGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjQ0OjAwLjE6IGlycSAxMDYgZm9yIE1T SS9NU0ktWA0KaWdiIDAwMDA6NDQ6MDAuMTogaXJxIDEwNyBmb3IgTVNJL01TSS1YDQppZ2IgMDAw MDo0NDowMC4xOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlvbg0K aWdiIDAwMDA6NDQ6MDAuMTogZXRoNTogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6 OTQ6ZWY6MzENCmlnYiAwMDAwOjQ0OjAwLjE6IGV0aDU6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdi IDAwMDA6NDQ6MDAuMTogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0 eCBxdWV1ZShzKQ0KaWdiIDAwMDA6NDQ6MDAuMjogUENJIElOVCBCIC0+IExpbmtbSTAzMV0gLT4g R1NJIDYxIChsZXZlbCwgaGlnaCkgLT4gSVJRIDYxDQppZ2IgMDAwMDo0NDowMC4yOiBzZXR0aW5n IGxhdGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjQ0OjAwLjI6IGlycSAxMDggZm9yIE1TSS9N U0ktWA0KaWdiIDAwMDA6NDQ6MDAuMjogaXJxIDEwOSBmb3IgTVNJL01TSS1YDQppZ2IgMDAwMDo0 NDowMC4yOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlvbg0KaWdi IDAwMDA6NDQ6MDAuMjogZXRoNjogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6OTQ6 ZWY6MzINCmlnYiAwMDAwOjQ0OjAwLjI6IGV0aDY6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAw MDA6NDQ6MDAuMjogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBx dWV1ZShzKQ0KaWdiIDAwMDA6NDQ6MDAuMzogUENJIElOVCBBIC0+IExpbmtbSTAzMF0gLT4gR1NJ IDYwIChsZXZlbCwgaGlnaCkgLT4gSVJRIDYwDQppZ2IgMDAwMDo0NDowMC4zOiBzZXR0aW5nIGxh dGVuY3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjQ0OjAwLjM6IGlycSAxMTAgZm9yIE1TSS9NU0kt WA0KaWdiIDAwMDA6NDQ6MDAuMzogaXJxIDExMSBmb3IgTVNJL01TSS1YDQppZ2IgMDAwMDo0NDow MC4zOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgQ29ubmVjdGlvbg0KaWdiIDAw MDA6NDQ6MDAuMzogZXRoNzogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6OTQ6ZWY6 MzMNCmlnYiAwMDAwOjQ0OjAwLjM6IGV0aDc6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAwMDA6 NDQ6MDAuMzogVXNpbmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBxdWV1 ZShzKQ0KaWdiIDAwMDA6NDE6MDAuMDogUENJIElOVCBEIC0+IExpbmtbSTBCM10gLT4gR1NJIDY3 IChsZXZlbCwgaGlnaCkgLT4gSVJRIDY3DQppZ2IgMDAwMDo0MTowMC4wOiBzZXR0aW5nIGxhdGVu Y3kgdGltZXIgdG8gNjQNCmlnYiAwMDAwOjQxOjAwLjA6IGlycSAxMTIgZm9yIE1TSS9NU0ktWA0K aWdiIDAwMDA6NDE6MDAuMDogaXJxIDExMyBmb3IgTVNJL01TSS1YDQpocG46IHJlZ2lzdGVyX2hw bmRldjogZGV2PWV0aDggdGFnPWlnYiBsaW5rIHNsZWVwIDEvMA0KaWdiIDAwMDA6NDE6MDAuMDog SW50ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjQx OjAwLjA6IGV0aDg6IChQQ0llOjUuMEdUL3M6V2lkdGggeDQpIGFjOjE2OjJkOjk0OmYyOjk4DQpp Z2IgMDAwMDo0MTowMC4wOiBldGg4OiBQQkEgTm86IEU4NDA2OS0wMTANCmlnYiAwMDAwOjQxOjAw LjA6IFVzaW5nIE1TSS1YIGludGVycnVwdHMuIDEgcnggcXVldWUocyksIDEgdHggcXVldWUocykN CmlnYiAwMDAwOjQxOjAwLjE6IFBDSSBJTlQgQyAtPiBMaW5rW0kwQjJdIC0+IEdTSSA2NiAobGV2 ZWwsIGhpZ2gpIC0+IElSUSA2Ng0KaWdiIDAwMDA6NDE6MDAuMTogc2V0dGluZyBsYXRlbmN5IHRp bWVyIHRvIDY0DQppZ2IgMDAwMDo0MTowMC4xOiBpcnEgMTE0IGZvciBNU0kvTVNJLVgNCmlnYiAw MDAwOjQxOjAwLjE6IGlycSAxMTUgZm9yIE1TSS9NU0ktWA0KaHBuOiByZWdpc3Rlcl9ocG5kZXY6 IGRldj1ldGg5IHRhZz1pZ2IgbGluayBzbGVlcCAxLzANCmlnYiAwMDAwOjQxOjAwLjE6IEludGVs KFIpIEdpZ2FiaXQgRXRoZXJuZXQgTmV0d29yayBDb25uZWN0aW9uDQppZ2IgMDAwMDo0MTowMC4x OiBldGg5OiAoUENJZTo1LjBHVC9zOldpZHRoIHg0KSBhYzoxNjoyZDo5NDpmMjo5OQ0KaWdiIDAw MDA6NDE6MDAuMTogZXRoOTogUEJBIE5vOiBFODQwNjktMDEwDQppZ2IgMDAwMDo0MTowMC4xOiBV c2luZyBNU0ktWCBpbnRlcnJ1cHRzLiAxIHJ4IHF1ZXVlKHMpLCAxIHR4IHF1ZXVlKHMpDQppZ2Ig MDAwMDo0MTowMC4yOiBQQ0kgSU5UIEIgLT4gTGlua1tJMEIxXSAtPiBHU0kgNjUgKGxldmVsLCBo aWdoKSAtPiBJUlEgNjUNCmlnYiAwMDAwOjQxOjAwLjI6IHNldHRpbmcgbGF0ZW5jeSB0aW1lciB0 byA2NA0KaWdiIDAwMDA6NDE6MDAuMjogaXJxIDExNiBmb3IgTVNJL01TSS1YDQppZ2IgMDAwMDo0 MTowMC4yOiBpcnEgMTE3IGZvciBNU0kvTVNJLVgNCmlnYiAwMDAwOjQxOjAwLjI6IEludGVsKFIp IEdpZ2FiaXQgRXRoZXJuZXQgTmV0d29yayBDb25uZWN0aW9uDQppZ2IgMDAwMDo0MTowMC4yOiBl dGgxMDogKFBDSWU6NS4wR1QvczpXaWR0aCB4NCkgYWM6MTY6MmQ6OTQ6ZjI6OWENCmlnYiAwMDAw OjQxOjAwLjI6IGV0aDEwOiBQQkEgTm86IEU4NDA2OS0wMTANCmlnYiAwMDAwOjQxOjAwLjI6IFVz aW5nIE1TSS1YIGludGVycnVwdHMuIDEgcnggcXVldWUocyksIDEgdHggcXVldWUocykNCmlnYiAw MDAwOjQxOjAwLjM6IFBDSSBJTlQgQSAtPiBMaW5rW0kwQjBdIC0+IEdTSSA2NCAobGV2ZWwsIGhp Z2gpIC0+IElSUSA2NA0KaWdiIDAwMDA6NDE6MDAuMzogc2V0dGluZyBsYXRlbmN5IHRpbWVyIHRv IDY0DQppZ2IgMDAwMDo0MTowMC4zOiBpcnEgMTE4IGZvciBNU0kvTVNJLVgNCmlnYiAwMDAwOjQx OjAwLjM6IGlycSAxMTkgZm9yIE1TSS9NU0ktWA0KaWdiIDAwMDA6NDE6MDAuMzogSW50ZWwoUikg R2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24NCmlnYiAwMDAwOjQxOjAwLjM6IGV0 aDExOiAoUENJZTo1LjBHVC9zOldpZHRoIHg0KSBhYzoxNjoyZDo5NDpmMjo5Yg0KaWdiIDAwMDA6 NDE6MDAuMzogZXRoMTE6IFBCQSBObzogRTg0MDY5LTAxMA0KaWdiIDAwMDA6NDE6MDAuMzogVXNp bmcgTVNJLVggaW50ZXJydXB0cy4gMSByeCBxdWV1ZShzKSwgMSB0eCBxdWV1ZShzKQ0KZTEwMDBl OiBJbnRlbChSKSBQUk8vMTAwMCBOZXR3b3JrIERyaXZlciAtIDEuMy4xNw0KZTEwMDBlOiBDb3B5 cmlnaHQoYykgMTk5OSAtIDIwMTEgSW50ZWwgQ29ycG9yYXRpb24uDQpJbnRlbChSKSAxMCBHaWdh Yml0IFBDSSBFeHByZXNzIE5ldHdvcmsgRHJpdmVyIC0gdmVyc2lvbiAzLjguMjENCkNvcHlyaWdo dCAoYykgMTk5OS0yMDEyIEludGVsIENvcnBvcmF0aW9uLg0KbG86IERpc2FibGVkIFByaXZhY3kg RXh0ZW5zaW9ucw0KYm9uZGluZzogYm9uZDA6IFNldHRpbmcgTUlJIG1vbml0b3JpbmcgaW50ZXJ2 YWwgdG8gMTAwLg0KYm9uZGluZzogYm9uZDA6IHNldHRpbmcgbW9kZSB0byBhY3RpdmUtYmFja3Vw ICgxKS4NCjgwMjFxOiBhZGRpbmcgVkxBTiAwIHRvIEhXIGZpbHRlciBvbiBkZXZpY2UgYm9uZDAN CkFERFJDT05GKE5FVERFVl9VUCk6IGJvbmQwOiBsaW5rIGlzIG5vdCByZWFkeQ0KYm9uZGluZzog Ym9uZDA6IEFkZGluZyBzbGF2ZSBldGgxMy4NCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDEyMCBvbiBu b2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KdGczIDAwMDA6MDQ6MDAuMDog aXJxIDEyMCBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZvciAxMjEgb24gbm9kZSAt MQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCnRnMyAwMDAwOjA0OjAwLjA6IGlycSAx MjEgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTIyIG9uIG5vZGUgLTENCiAg YWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQp0ZzMgMDAwMDowNDowMC4wOiBpcnEgMTIyIGZv ciBNU0kvTVNJLVgNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDEyMyBvbiBub2RlIC0xDQogIGFsbG9j IGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KdGczIDAwMDA6MDQ6MDAuMDogaXJxIDEyMyBmb3IgTVNJ L01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZvciAxMjQgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3Rh dF9pcnFzIG9uIG5vZGUgLTENCnRnMyAwMDAwOjA0OjAwLjA6IGlycSAxMjQgZm9yIE1TSS9NU0kt WA0KYm9uZGluZzogYm9uZDA6IGVuc2xhdmluZyBldGgxMyBhcyBhIGJhY2t1cCBpbnRlcmZhY2Ug d2l0aCBhIGRvd24gbGluay4NCmJvbmRpbmc6IGJvbmQwOiBVbmFibGUgdG8gc2V0IGV0aDEyIGFz IHByaW1hcnkgc2xhdmUuDQp0ZzMgMDAwMDowNDowMC4wOiBldGgxMzogTGluayBpcyB1cCBhdCAx MDAwIE1icHMsIGZ1bGwgZHVwbGV4DQp0ZzMgMDAwMDowNDowMC4wOiBldGgxMzogRmxvdyBjb250 cm9sIGlzIG9uIGZvciBUWCBhbmQgb24gZm9yIFJYDQp0ZzMgMDAwMDowNDowMC4wOiBldGgxMzog RUVFIGlzIGRpc2FibGVkDQpib25kMDogbGluayBzdGF0dXMgZGVmaW5pdGVseSB1cCBmb3IgaW50 ZXJmYWNlIGV0aDEzLCAxMDAwIE1icHMgZnVsbCBkdXBsZXguDQpib25kaW5nOiBib25kMDogbWFr aW5nIGludGVyZmFjZSBldGgxMyB0aGUgbmV3IGFjdGl2ZSBvbmUuDQpib25kaW5nOiBib25kMDog Zmlyc3QgYWN0aXZlIGludGVyZmFjZSB1cCENCkFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBib25k MDogbGluayBiZWNvbWVzIHJlYWR5DQpib25kaW5nOiBib25kMTogU2V0dGluZyBNSUkgbW9uaXRv cmluZyBpbnRlcnZhbCB0byAxMDAuDQpib25kaW5nOiBib25kMTogc2V0dGluZyBtb2RlIHRvIDgw Mi4zYWQgKDQpLg0KYm9uZGluZzogYm9uZDE6IFNldHRpbmcgTEFDUCByYXRlIHRvIGZhc3QgKDEp Lg0KODAyMXE6IGFkZGluZyBWTEFOIDAgdG8gSFcgZmlsdGVyIG9uIGRldmljZSBib25kMQ0KQURE UkNPTkYoTkVUREVWX1VQKTogYm9uZDE6IGxpbmsgaXMgbm90IHJlYWR5DQpib25kaW5nOiBib25k MTogQWRkaW5nIHNsYXZlIGV0aDEwLg0KODAyMXE6IGFkZGluZyBWTEFOIDAgdG8gSFcgZmlsdGVy IG9uIGRldmljZSBldGgxMA0KYm9uZGluZzogYm9uZDE6IGVuc2xhdmluZyBldGgxMCBhcyBhIGJh Y2t1cCBpbnRlcmZhY2Ugd2l0aCBhIGRvd24gbGluay4NCmJvbmRpbmc6IGJvbmQxOiBBZGRpbmcg c2xhdmUgZXRoMTEuDQo4MDIxcTogYWRkaW5nIFZMQU4gMCB0byBIVyBmaWx0ZXIgb24gZGV2aWNl IGV0aDExDQpib25kaW5nOiBib25kMTogZW5zbGF2aW5nIGV0aDExIGFzIGEgYmFja3VwIGludGVy ZmFjZSB3aXRoIGEgZG93biBsaW5rLg0KYm9uZGluZzogYm9uZDE6IEFkZGluZyBzbGF2ZSBldGg0 Lg0KODAyMXE6IGFkZGluZyBWTEFOIDAgdG8gSFcgZmlsdGVyIG9uIGRldmljZSBldGg0DQpib25k aW5nOiBib25kMTogZW5zbGF2aW5nIGV0aDQgYXMgYSBiYWNrdXAgaW50ZXJmYWNlIHdpdGggYSBk b3duIGxpbmsuDQpib25kaW5nOiBib25kMTogQWRkaW5nIHNsYXZlIGV0aDUuDQo4MDIxcTogYWRk aW5nIFZMQU4gMCB0byBIVyBmaWx0ZXIgb24gZGV2aWNlIGV0aDUNCmJvbmRpbmc6IGJvbmQxOiBl bnNsYXZpbmcgZXRoNSBhcyBhIGJhY2t1cCBpbnRlcmZhY2Ugd2l0aCBhIGRvd24gbGluay4NCmJv bmRpbmc6IGJvbmQxOiBBZGRpbmcgc2xhdmUgZXRoNi4NCjgwMjFxOiBhZGRpbmcgVkxBTiAwIHRv IEhXIGZpbHRlciBvbiBkZXZpY2UgZXRoNg0KYm9uZGluZzogYm9uZDE6IGVuc2xhdmluZyBldGg2 IGFzIGEgYmFja3VwIGludGVyZmFjZSB3aXRoIGEgZG93biBsaW5rLg0KYm9uZGluZzogYm9uZDE6 IEFkZGluZyBzbGF2ZSBldGg3Lg0KODAyMXE6IGFkZGluZyBWTEFOIDAgdG8gSFcgZmlsdGVyIG9u IGRldmljZSBldGg3DQpib25kaW5nOiBib25kMTogZW5zbGF2aW5nIGV0aDcgYXMgYSBiYWNrdXAg aW50ZXJmYWNlIHdpdGggYSBkb3duIGxpbmsuDQppZ2I6IGV0aDExIE5JQyBMaW5rIGlzIFVwIDEw MDAgTWJwcyBGdWxsIER1cGxleCwgRmxvdyBDb250cm9sOiBSWA0KYm9uZDE6IGxpbmsgc3RhdHVz IGRlZmluaXRlbHkgdXAgZm9yIGludGVyZmFjZSBldGgxMSwgMTAwMCBNYnBzIGZ1bGwgZHVwbGV4 Lg0KQUREUkNPTkYoTkVUREVWX0NIQU5HRSk6IGJvbmQxOiBsaW5rIGJlY29tZXMgcmVhZHkNCmln YjogZXRoNiBOSUMgTGluayBpcyBVcCAxMDAwIE1icHMgRnVsbCBEdXBsZXgsIEZsb3cgQ29udHJv bDogUlgNCmJvbmQxOiBsaW5rIHN0YXR1cyBkZWZpbml0ZWx5IHVwIGZvciBpbnRlcmZhY2UgZXRo NiwgMTAwMCBNYnBzIGZ1bGwgZHVwbGV4Lg0KaWdiOiBldGg3IE5JQyBMaW5rIGlzIFVwIDEwMDAg TWJwcyBGdWxsIER1cGxleCwgRmxvdyBDb250cm9sOiBSWA0KYm9uZDE6IGxpbmsgc3RhdHVzIGRl ZmluaXRlbHkgdXAgZm9yIGludGVyZmFjZSBldGg3LCAxMDAwIE1icHMgZnVsbCBkdXBsZXguDQpp Z2I6IGV0aDEwIE5JQyBMaW5rIGlzIFVwIDEwMDAgTWJwcyBGdWxsIER1cGxleCwgRmxvdyBDb250 cm9sOiBSWA0KYm9uZDE6IGxpbmsgc3RhdHVzIGRlZmluaXRlbHkgdXAgZm9yIGludGVyZmFjZSBl dGgxMCwgMTAwMCBNYnBzIGZ1bGwgZHVwbGV4Lg0KaWdiOiBldGg0IE5JQyBMaW5rIGlzIFVwIDEw MDAgTWJwcyBGdWxsIER1cGxleCwgRmxvdyBDb250cm9sOiBSWA0KYm9uZDE6IGxpbmsgc3RhdHVz IGRlZmluaXRlbHkgdXAgZm9yIGludGVyZmFjZSBldGg0LCAxMDAwIE1icHMgZnVsbCBkdXBsZXgu DQppZ2I6IGV0aDUgTklDIExpbmsgaXMgVXAgMTAwMCBNYnBzIEZ1bGwgRHVwbGV4LCBGbG93IENv bnRyb2w6IFJYDQpib25kMTogbGluayBzdGF0dXMgZGVmaW5pdGVseSB1cCBmb3IgaW50ZXJmYWNl IGV0aDUsIDEwMDAgTWJwcyBmdWxsIGR1cGxleC4NCmlnYiAwMDAwOjA4OjAwLjA6IGNoYW5naW5n IE1UVSBmcm9tIDE1MDAgdG8gOTAwMA0KODAyMXE6IGFkZGluZyBWTEFOIDAgdG8gSFcgZmlsdGVy IG9uIGRldmljZSBldGgwDQpBRERSQ09ORihORVRERVZfVVApOiBldGgwOiBsaW5rIGlzIG5vdCBy ZWFkeQ0KaWdiOiBldGgwIE5JQyBMaW5rIGlzIFVwIDEwMDAgTWJwcyBGdWxsIER1cGxleCwgRmxv dyBDb250cm9sOiBSWA0KQUREUkNPTkYoTkVUREVWX0NIQU5HRSk6IGV0aDA6IGxpbmsgYmVjb21l cyByZWFkeQ0KYm9uZDA6IG5vIElQdjYgcm91dGVycyBwcmVzZW50DQppZ2IgMDAwMDowODowMC4x OiBjaGFuZ2luZyBNVFUgZnJvbSAxNTAwIHRvIDkwMDANCjgwMjFxOiBhZGRpbmcgVkxBTiAwIHRv IEhXIGZpbHRlciBvbiBkZXZpY2UgZXRoMQ0KQUREUkNPTkYoTkVUREVWX1VQKTogZXRoMTogbGlu ayBpcyBub3QgcmVhZHkNCmlnYjogZXRoMSBOSUMgTGluayBpcyBVcCAxMDAwIE1icHMgRnVsbCBE dXBsZXgsIEZsb3cgQ29udHJvbDogUlgNCkFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBldGgxOiBs aW5rIGJlY29tZXMgcmVhZHkNCmlnYiAwMDAwOjQxOjAwLjA6IGNoYW5naW5nIE1UVSBmcm9tIDE1 MDAgdG8gOTAwMA0KYm9uZDE6IG5vIElQdjYgcm91dGVycyBwcmVzZW50DQo4MDIxcTogYWRkaW5n IFZMQU4gMCB0byBIVyBmaWx0ZXIgb24gZGV2aWNlIGV0aDgNCkFERFJDT05GKE5FVERFVl9VUCk6 IGV0aDg6IGxpbmsgaXMgbm90IHJlYWR5DQppZ2I6IGV0aDggTklDIExpbmsgaXMgVXAgMTAwMCBN YnBzIEZ1bGwgRHVwbGV4LCBGbG93IENvbnRyb2w6IFJYDQpBRERSQ09ORihORVRERVZfQ0hBTkdF KTogZXRoODogbGluayBiZWNvbWVzIHJlYWR5DQppZ2IgMDAwMDo0MTowMC4xOiBjaGFuZ2luZyBN VFUgZnJvbSAxNTAwIHRvIDkwMDANCjgwMjFxOiBhZGRpbmcgVkxBTiAwIHRvIEhXIGZpbHRlciBv biBkZXZpY2UgZXRoOQ0KQUREUkNPTkYoTkVUREVWX1VQKTogZXRoOTogbGluayBpcyBub3QgcmVh ZHkNCmV0aDA6IG5vIElQdjYgcm91dGVycyBwcmVzZW50DQppZ2I6IGV0aDkgTklDIExpbmsgaXMg VXAgMTAwMCBNYnBzIEZ1bGwgRHVwbGV4LCBGbG93IENvbnRyb2w6IFJYDQpBRERSQ09ORihORVRE RVZfQ0hBTkdFKTogZXRoOTogbGluayBiZWNvbWVzIHJlYWR5DQogIGFsbG9jIGlycV9kZXNjIGZv ciAxMjUgb24gbm9kZSAtMQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCnRnMyAwMDAw OjA0OjAwLjI6IGlycSAxMjUgZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTI2 IG9uIG5vZGUgLTENCiAgYWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQp0ZzMgMDAwMDowNDow MC4yOiBpcnEgMTI2IGZvciBNU0kvTVNJLVgNCiAgYWxsb2MgaXJxX2Rlc2MgZm9yIDEyNyBvbiBu b2RlIC0xDQogIGFsbG9jIGtzdGF0X2lycXMgb24gbm9kZSAtMQ0KdGczIDAwMDA6MDQ6MDAuMjog aXJxIDEyNyBmb3IgTVNJL01TSS1YDQogIGFsbG9jIGlycV9kZXNjIGZvciAxMjggb24gbm9kZSAt MQ0KICBhbGxvYyBrc3RhdF9pcnFzIG9uIG5vZGUgLTENCnRnMyAwMDAwOjA0OjAwLjI6IGlycSAx MjggZm9yIE1TSS9NU0ktWA0KICBhbGxvYyBpcnFfZGVzYyBmb3IgMTI5IG9uIG5vZGUgLTENCiAg YWxsb2Mga3N0YXRfaXJxcyBvbiBub2RlIC0xDQp0ZzMgMDAwMDowNDowMC4yOiBpcnEgMTI5IGZv ciBNU0kvTVNJLVgNCkFERFJDT05GKE5FVERFVl9VUCk6IGV0aDE0OiBsaW5rIGlzIG5vdCByZWFk eQ0KZXRoMTogbm8gSVB2NiByb3V0ZXJzIHByZXNlbnQNCnRnMyAwMDAwOjA0OjAwLjI6IGV0aDE0 OiBMaW5rIGlzIHVwIGF0IDEwMDAgTWJwcywgZnVsbCBkdXBsZXgNCnRnMyAwMDAwOjA0OjAwLjI6 IGV0aDE0OiBGbG93IGNvbnRyb2wgaXMgb2ZmIGZvciBUWCBhbmQgb2ZmIGZvciBSWA0KdGczIDAw MDA6MDQ6MDAuMjogZXRoMTQ6IEVFRSBpcyBkaXNhYmxlZA0KQUREUkNPTkYoTkVUREVWX0NIQU5H RSk6IGV0aDE0OiBsaW5rIGJlY29tZXMgcmVhZHkNCmV0aDg6IG5vIElQdjYgcm91dGVycyBwcmVz ZW50DQpFWFQ0LWZzIChzZGExKTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRh IG1vZGUuIE9wdHM6DQpFWFQ0LWZzIChzZGE0KTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3Jk ZXJlZCBkYXRhIG1vZGUuIE9wdHM6DQpTR0kgWEZTIHdpdGggQUNMcywgc2VjdXJpdHkgYXR0cmli dXRlcywgbGFyZ2UgYmxvY2svaW5vZGUgbnVtYmVycywgbm8gZGVidWcgZW5hYmxlZA0KU0dJIFhG UyBRdW90YSBNYW5hZ2VtZW50IHN1YnN5c3RlbQ0KWEZTIChtZDApOiBNb3VudGluZyBGaWxlc3lz dGVtDQpYRlMgKG1kMCk6IEVuZGluZyBjbGVhbiBtb3VudA0KQWRkaW5nIDQzMDA3OTJrIHN3YXAg b24gL2Rldi9zZGEzLiAgUHJpb3JpdHk6LTEgZXh0ZW50czoxIGFjcm9zczo0MzAwNzkyaw0KcHJv Y2VzcyBgc25tcHRyYXBkJyBpcyB1c2luZyBvYnNvbGV0ZSBzZXRzb2Nrb3B0IFNPX0JTRENPTVBB VA0KYm9uZGluZzogYm9uZDA6IFNldHRpbmcgTUlJIG1vbml0b3JpbmcgaW50ZXJ2YWwgdG8gMTAw Lg0KdW5hYmxlIHRvIHVwZGF0ZSBtb2RlIG9mIGJvbmQwIGJlY2F1c2UgaXQgaGFzIHNsYXZlcy4N CjgwMjFxOiBhZGRpbmcgVkxBTiAwIHRvIEhXIGZpbHRlciBvbiBkZXZpY2UgYm9uZDANCmJvbmRp bmc6IGJvbmQwOiBVbmFibGUgdG8gc2V0IGV0aDEyIGFzIHByaW1hcnkgc2xhdmUuDQpib25kaW5n OiBib25kMTogU2V0dGluZyBNSUkgbW9uaXRvcmluZyBpbnRlcnZhbCB0byAxMDAuDQp1bmFibGUg dG8gdXBkYXRlIG1vZGUgb2YgYm9uZDEgYmVjYXVzZSBpdCBoYXMgc2xhdmVzLg0KYm9uZGluZzog Ym9uZDE6IFNldHRpbmcgTEFDUCByYXRlIHRvIGZhc3QgKDEpLg0KODAyMXE6IGFkZGluZyBWTEFO IDAgdG8gSFcgZmlsdGVyIG9uIGRldmljZSBib25kMQ0KZXRoOTogbm8gSVB2NiByb3V0ZXJzIHBy ZXNlbnQNClJQQzogUmVnaXN0ZXJlZCBuYW1lZCBVTklYIHNvY2tldCB0cmFuc3BvcnQgbW9kdWxl Lg0KUlBDOiBSZWdpc3RlcmVkIHVkcCB0cmFuc3BvcnQgbW9kdWxlLg0KUlBDOiBSZWdpc3RlcmVk IHRjcCB0cmFuc3BvcnQgbW9kdWxlLg0KUlBDOiBSZWdpc3RlcmVkIHRjcCBORlN2NC4xIGJhY2tj aGFubmVsIHRyYW5zcG9ydCBtb2R1bGUuDQpldGgxNDogbm8gSVB2NiByb3V0ZXJzIHByZXNlbnQN CmJvbmQwOiBubyBJUHY2IHJvdXRlcnMgcHJlc2VudA0KYm9uZDE6IG5vIElQdjYgcm91dGVycyBw cmVzZW50DQpwcm9jZXNzIGBpc2MnIGlzIHVzaW5nIG9ic29sZXRlIHNldHNvY2tvcHQgU09fQlNE Q09NUEFUDQpwcm9jZXNzIGBub2RlYWdlbnQnIGlzIHVzaW5nIG9ic29sZXRlIHNldHNvY2tvcHQg U09fQlNEQ09NUEFUDQpwcm9jZXNzIGBpc2MnIGlzIHVzaW5nIG9ic29sZXRlIHNldHNvY2tvcHQg U09fQlNEQ09NUEFUDQpwcm9jZXNzIGBzbm1wZCcgaXMgdXNpbmcgb2Jzb2xldGUgc2V0c29ja29w dCBTT19CU0RDT01QQVQNCmRldmljZSBib25kMCBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRl dmljZSBldGgxMyBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBib25kMCBsZWZ0IHBy b21pc2N1b3VzIG1vZGUNCmRldmljZSBldGgxMyBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmlj ZSBib25kMCBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBldGgxMyBlbnRlcmVkIHBy b21pc2N1b3VzIG1vZGUNCmRldmljZSBib25kMCBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmlj ZSBldGgxMyBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBib25kMCBlbnRlcmVkIHByb21p c2N1b3VzIG1vZGUNCmRldmljZSBldGgxMyBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmlj ZSBib25kMCBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBldGgxMyBsZWZ0IHByb21pc2N1 b3VzIG1vZGUNCmRldmljZSBib25kMCBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBl dGgxMyBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBib25kMCBsZWZ0IHByb21pc2N1 b3VzIG1vZGUNCmRldmljZSBldGgxMyBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBib25k MCBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBldGgxMyBlbnRlcmVkIHByb21pc2N1 b3VzIG1vZGUNCmRldmljZSBib25kMCBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCmRldmljZSBldGgx MyBsZWZ0IHByb21pc2N1b3VzIG1vZGUNCkNFOiBocGV0IGluY3JlYXNpbmcgbWluX2RlbHRhX25z IHRvIDQwMjI2IG5zZWMNCmhwc2EgMDAwMDowMzowMC4wOiBBYm9ydCByZXF1ZXN0IG9uIEMzOkIw OlQwOkw0DQpocHNhIDAwMDA6MDM6MDAuMDogY3AgZmZmZjg4MDBiZDNlZTAwMCBpcyByZXBvcnRl ZCBpbnZhbGlkIChwcm9iYWJseSBtZWFucyB0YXJnZXQgZGV2aWNlIG5vIGxvbmdlciBwcmVzZW50 KQ0KaHBzYSAwMDAwOjAzOjAwLjA6IGNwIGZmZmY4ODAwYmQzZWUwMDAgaXMgcmVwb3J0ZWQgaW52 YWxpZCAocHJvYmFibHkgbWVhbnMgdGFyZ2V0IGRldmljZSBubyBsb25nZXIgcHJlc2VudCkNCmhw c2EgMDAwMDowMzowMC4wOiBGQUlMRUQgYWJvcnQgb24gZGV2aWNlIEMzOkIwOlQwOkw0DQpocHNh IDAwMDA6MDM6MDAuMDogcmVzZXR0aW5nIGRldmljZSAzOjA6MDo0DQpocHNhIDAwMDA6MDM6MDAu MDogY3AgZmZmZjg4MDBiZDNlZTAwMCBpcyByZXBvcnRlZCBpbnZhbGlkIChwcm9iYWJseSBtZWFu cyB0YXJnZXQgZGV2aWNlIG5vIGxvbmdlciBwcmVzZW50KQ0KaHBzYSAwMDAwOjAzOjAwLjA6IHJl c2V0dGluZyBkZXZpY2UgZmFpbGVkLg0Kc2QgMzowOjA6NDogRGV2aWNlIG9mZmxpbmVkIC0gbm90 IHJlYWR5IGFmdGVyIGVycm9yIHJlY292ZXJ5DQpzZCAzOjA6MDo0OiBbc2RlXSBVbmhhbmRsZWQg ZXJyb3IgY29kZQ0Kc2QgMzowOjA6NDogW3NkZV0gUmVzdWx0OiBob3N0Ynl0ZT1ESURfT0sgZHJp dmVyYnl0ZT1EUklWRVJfVElNRU9VVA0Kc2QgMzowOjA6NDogW3NkZV0gQ0RCOiBXcml0ZSgxNik6 IDhhIDAwIDAwIDAwIDAwIDAyIDM5IDkwIGU5IDYwIDAwIDAwIDBjIDA4IDAwIDAwDQpzZCAzOjA6 MDo0OiByZWplY3RpbmcgSS9PIHRvIG9mZmxpbmUgZGV2aWNlDQpzZCAzOjA6MDo0OiBbc2RlXSBr aWxsaW5nIHJlcXVlc3QNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IFtzZGVdIFVuaGFuZGxlZCBlcnJvciBjb2RlDQpzZCAzOjA6MDo0OiBbc2RlXSBS ZXN1bHQ6IGhvc3RieXRlPURJRF9OT19DT05ORUNUIGRyaXZlcmJ5dGU9RFJJVkVSX09LDQpzZCAz OjA6MDo0OiBbc2RlXSBDREI6IFdyaXRlKDEwKTogMmEgMDAgYjYgNDMgMjggMDAgMDAgMGMgOTgg MDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3 OTMyDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08g ZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTMzDQpsb3N0IHBhZ2Ug d3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNl IG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTM0DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkv TyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBi bG9jayAzNTgzMzk3OTM1DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDAN CkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTM2 DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJy b3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTM3DQpsb3N0IHBhZ2Ugd3Jp dGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1k MCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTM4DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBl cnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9j ayAzNTgzMzk3OTM5DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1 ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzNTgzMzk3OTQwDQps b3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANClhGUyAobWQwKTogRGV2aWNl IG1kMDogbWV0YWRhdGEgd3JpdGUgZXJyb3IgYmxvY2sgMHgzNzk0MjYzZjgNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCl9fcmF0ZWxpbWl0OiA5Nzcx IGNhbGxiYWNrcyBzdXBwcmVzc2VkDQpCdWZmZXIgSS9PIGVycm9yIG9uIGRldmljZSBtZDAsIGxv Z2ljYWwgYmxvY2sgNTczMzgxMDAwDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBv biBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayA1NzMz ODEwMDENCmxvc3QgcGFnZSB3cml0ZSBkdWUgdG8gSS9PIGVycm9yIG9uIG1kMA0KQnVmZmVyIEkv TyBlcnJvciBvbiBkZXZpY2UgbWQwLCBsb2dpY2FsIGJsb2NrIDU3MzM4MTAwMg0KbG9zdCBwYWdl IHdyaXRlIGR1ZSB0byBJL08gZXJyb3Igb24gbWQwDQpCdWZmZXIgSS9PIGVycm9yIG9uIGRldmlj ZSBtZDAsIGxvZ2ljYWwgYmxvY2sgNTczMzgxMDAzDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkv TyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBi bG9jayA1NzMzODEwMDQNCmxvc3QgcGFnZSB3cml0ZSBkdWUgdG8gSS9PIGVycm9yIG9uIG1kMA0K QnVmZmVyIEkvTyBlcnJvciBvbiBkZXZpY2UgbWQwLCBsb2dpY2FsIGJsb2NrIDU3MzM4MTAwNQ0K bG9zdCBwYWdlIHdyaXRlIGR1ZSB0byBJL08gZXJyb3Igb24gbWQwDQpCdWZmZXIgSS9PIGVycm9y IG9uIGRldmljZSBtZDAsIGxvZ2ljYWwgYmxvY2sgNTczMzgxMDA2DQpsb3N0IHBhZ2Ugd3JpdGUg ZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwg bG9naWNhbCBibG9jayA1NzMzODEwMDcNCmxvc3QgcGFnZSB3cml0ZSBkdWUgdG8gSS9PIGVycm9y IG9uIG1kMA0KQnVmZmVyIEkvTyBlcnJvciBvbiBkZXZpY2UgbWQwLCBsb2dpY2FsIGJsb2NrIDU3 MzM4MTAwOA0KbG9zdCBwYWdlIHdyaXRlIGR1ZSB0byBJL08gZXJyb3Igb24gbWQwDQpCdWZmZXIg SS9PIGVycm9yIG9uIGRldmljZSBtZDAsIGxvZ2ljYWwgYmxvY2sgNTczMzgxMDA5DQpsb3N0IHBh Z2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNClhGUyAo bWQwKTogRGV2aWNlIG1kMDogbWV0YWRhdGEgd3JpdGUgZXJyb3IgYmxvY2sgMHgxYzAyMA0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0KX19yYXRlbGltaXQ6IDEyOTEgY2FsbGJhY2tzIHN1cHByZXNzZWQNCkJ1 ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1Mjg0DQps b3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Ig b24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1Mjg1DQpsb3N0IHBhZ2Ugd3JpdGUg ZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwg bG9naWNhbCBibG9jayAzMTUzMzg1Mjg2DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJv ciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAz MTUzMzg1Mjg3DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZl ciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1Mjg4DQpsb3N0 IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24g ZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1Mjg5DQpsb3N0IHBhZ2Ugd3JpdGUgZHVl IHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9n aWNhbCBibG9jayAzMTUzMzg1MjkwDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBv biBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUz Mzg1MjkxDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJ L08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1MjkyDQpsb3N0IHBh Z2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2 aWNlIG1kMCwgbG9naWNhbCBibG9jayAzMTUzMzg1MjkzDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRv IEkvTyBlcnJvciBvbiBtZDANCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNClhGUyAobWQwKTogRGV2aWNlIG1kMDogbWV0YWRhdGEgd3JpdGUg ZXJyb3IgYmxvY2sgMHgxMTgyMA0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0 aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBv ZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmlj ZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6 NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5n IEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZs aW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0K c2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDog cmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkv TyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5l IGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2Qg MzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVq ZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0 byBvZmZsaW5lIGRldmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRl dmljZQ0Kc2QgMzowOjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0Kc2QgMzow OjA6NDogcmVqZWN0aW5nIEkvTyB0byBvZmZsaW5lIGRldmljZQ0KX19yYXRlbGltaXQ6IDI3OTEg Y2FsbGJhY2tzIHN1cHByZXNzZWQNCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9n aWNhbCBibG9jayAyODY2OTg0NTYzDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBv biBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2 OTg0NTY0DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJ L08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0NTY1DQpsb3N0IHBh Z2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2 aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0NTY2DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRv IEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNh bCBibG9jayAyODY2OTg0NTY3DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBt ZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0 NTY4DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08g ZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0NTY5DQpsb3N0IHBhZ2Ug d3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNl IG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0NTcwDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkv TyBlcnJvciBvbiBtZDANCkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBi bG9jayAyODY2OTg0NTcxDQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDAN CkJ1ZmZlciBJL08gZXJyb3Igb24gZGV2aWNlIG1kMCwgbG9naWNhbCBibG9jayAyODY2OTg0NTcy DQpsb3N0IHBhZ2Ugd3JpdGUgZHVlIHRvIEkvTyBlcnJvciBvbiBtZDANCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6 MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVj dGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8g b2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZp Y2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDow OjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGlu ZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2Zm bGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UN CnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6 IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJ L08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGlu ZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNk IDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJl amVjdGluZyBJL08gdG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08g dG8gb2ZmbGluZSBkZXZpY2UNCnNkIDM6MDowOjQ6IHJlamVjdGluZyBJL08gdG8gb2ZmbGluZSBk ZXZpY2UNClhGUyAobWQwKTogSS9PIGVycm9yIG9jY3VycmVkOiBtZXRhLWRhdGEgZGV2IG1kMCBi bG9jayAweDI2ODcwICAgICAgICgieGZzX3RyYW5zX3JlYWRfYnVmIikgZXJyb3IgNSBidWYgY291 bnQgODE5Mg0KWEZTIChtZDApOiB4ZnNfZG9fZm9yY2Vfc2h1dGRvd24oMHgxKSBjYWxsZWQgZnJv bSBsaW5lIDM5NiBvZiBmaWxlIGZzL3hmcy94ZnNfdHJhbnNfYnVmLmMuICBSZXR1cm4gYWRkcmVz cyA9IDB4ZmZmZmZmZmZhMmM0NDk2ZA0KWEZTIChtZDApOiBJL08gRXJyb3IgRGV0ZWN0ZWQuIFNo dXR0aW5nIGRvd24gZmlsZXN5c3RlbQ0KWEZTIChtZDApOiBQbGVhc2UgdW1vdW50IHRoZSBmaWxl c3lzdGVtIGFuZCByZWN0aWZ5IHRoZSBwcm9ibGVtKHMpDQpYRlMgKG1kMCk6IHhmc19pbWFwX3Rv X2JwOiB4ZnNfdHJhbnNfcmVhZF9idWYoKSByZXR1cm5lZCBlcnJvciA1Lg0KWEZTIChtZDApOiB4 ZnNfaXVubGlua19yZW1vdmU6IHhmc19pdG9icCgpIHJldHVybmVkIGVycm9yIDUuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpDRTogaHBldCBpbmNyZWFzaW5nIG1pbl9kZWx0YV9ucyB0byA2 MDMzOCBuc2VjDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6 IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0 dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMg KG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19s b2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVy cm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJu ZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1k MCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2df Zm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9y IDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQu DQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6 IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9y Y2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUg cmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpY RlMgKG1kMCk6IHhmc19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQpYRlMgKG1kMCk6IHhm c19sb2dfZm9yY2U6IGVycm9yIDUgcmV0dXJuZWQuDQppcF90YWJsZXM6IChDKSAyMDAwLTIwMDYg TmV0ZmlsdGVyIENvcmUgVGVhbQ0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJl dHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZT IChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNf bG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBl cnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVy bmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTICht ZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9n X2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJv ciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVk Lg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDAp OiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2Zv cmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1 IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0K WEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4 ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNl OiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJl dHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZT IChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNf bG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBl cnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVy bmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTICht ZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9n X2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNlOiBlcnJv ciA1IHJldHVybmVkLg0KU3lzUnEgOiBTaG93IEJsb2NrZWQgU3RhdGUNCiAgdGFzayAgICAgICAg ICAgICAgICAgICAgICAgIFBDIHN0YWNrICAgcGlkIGZhdGhlcg0KdWRzNjQgICAgICAgICBEIDAw MDAwMDAwMDAwMDAwMWYgICAgIDAgIDYyNDYgICA1MDc1IDB4MDAwMDAwODANCiBmZmZmODgwODlh ZWM3YzQ4IDAwMDAwMDAwMDAwMDAwODIgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgwODlhZWM3YzBj DQogZmZmZjg4MDYwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMjg2IGZmZmY4ODA4OWFlYzdiZTggZmZm ZmZmZmY4MTA3ZTBjYw0KIGZmZmY4ODA4OWFlYWRhYjggZmZmZjg4MDg5YWVjN2ZkOCAwMDAwMDAw MDAwMDBmYjg4IGZmZmY4ODA4OWFlYWRhYjgNCkNhbGwgVHJhY2U6DQogWzxmZmZmZmZmZjgxMDdl MGNjPl0gPyBsb2NrX3RpbWVyX2Jhc2UrMHgzYy8weDcwDQogWzxmZmZmZmZmZjgxNGZmMmQyPl0g c2NoZWR1bGVfdGltZW91dCsweDE5Mi8weDJlMA0KIFs8ZmZmZmZmZmY4MTA3ZTFlMD5dID8gcHJv Y2Vzc190aW1lb3V0KzB4MC8weDEwDQogWzxmZmZmZmZmZjgxNGZmNDNlPl0gc2NoZWR1bGVfdGlt ZW91dF91bmludGVycnVwdGlibGUrMHgxZS8weDIwDQogWzxmZmZmZmZmZjgxMDdmMjgwPl0gbXNs ZWVwKzB4MjAvMHgzMA0KIFs8ZmZmZmZmZmZhMDE2OTY0YT5dIGhwbl9jb3B5X2NvbXBsZXRpb24r MHgxYmEvMHgzODAgW3hocG5dDQogWzxmZmZmZmZmZjgxMDBiYzBlPl0gPyBhcGljX3RpbWVyX2lu dGVycnVwdCsweGUvMHgyMA0KIFs8ZmZmZmZmZmZhMDE2YTA4Mz5dIGhwbl9pb2N0bCsweDZmMy8w eDljMCBbeGhwbl0NCiBbPGZmZmZmZmZmODEwYTY0MTA+XSA/IGRvX2Z1dGV4KzB4MTAwLzB4YjAw DQogWzxmZmZmZmZmZjgxMDBiYzBlPl0gPyBhcGljX3RpbWVyX2ludGVycnVwdCsweGUvMHgyMA0K IFs8ZmZmZmZmZmY4MTA0NDU2Yz5dID8gX19kb19wYWdlX2ZhdWx0KzB4MWVjLzB4NDgwDQogWzxm ZmZmZmZmZjgxMThkNjQyPl0gdmZzX2lvY3RsKzB4MjIvMHhhMA0KIFs8ZmZmZmZmZmY4MTE4ZDdl ND5dIGRvX3Zmc19pb2N0bCsweDg0LzB4NTgwDQogWzxmZmZmZmZmZjgxMTYzOTk4Pl0gPyBrZnJl ZSsweDgvMHgzMjANCiBbPGZmZmZmZmZmODExOGRkNjE+XSBzeXNfaW9jdGwrMHg4MS8weGEwDQog WzxmZmZmZmZmZjgxMDBiMGYyPl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgxNi8weDFiDQp1ZHM2 NCAgICAgICAgIEQgMDAwMDAwMDAwMDAwMDAxYiAgICAgMCAgNjI1OCAgIDUwNzUgMHgwMDAwMDA4 MA0KIGZmZmY4ODA0OGZhNzljNDggMDAwMDAwMDAwMDAwMDA4MiAwMDAwMDAwMDAwMDAwMDAwIGZm ZmY4ODA0OGZhNzljMGMNCiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAyODYgZmZmZjg4 MDQ4ZmE3OWJlOCBmZmZmZmZmZjgxMDdlMGNjDQogZmZmZjg4MDRiYjBjNzA5OCBmZmZmODgwNDhm YTc5ZmQ4IDAwMDAwMDAwMDAwMGZiODggZmZmZjg4MDRiYjBjNzA5OA0KQ2FsbCBUcmFjZToNCiBb PGZmZmZmZmZmODEwN2UwY2M+XSA/IGxvY2tfdGltZXJfYmFzZSsweDNjLzB4NzANCiBbPGZmZmZm ZmZmODE0ZmYyZDI+XSBzY2hlZHVsZV90aW1lb3V0KzB4MTkyLzB4MmUwDQogWzxmZmZmZmZmZjgx MDdlMWUwPl0gPyBwcm9jZXNzX3RpbWVvdXQrMHgwLzB4MTANCiBbPGZmZmZmZmZmODE0ZmY0M2U+ XSBzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZSsweDFlLzB4MjANCiBbPGZmZmZmZmZm ODEwN2YyODA+XSBtc2xlZXArMHgyMC8weDMwDQogWzxmZmZmZmZmZmEwMTY5NjRhPl0gaHBuX2Nv cHlfY29tcGxldGlvbisweDFiYS8weDM4MCBbeGhwbl0NCiBbPGZmZmZmZmZmODEwMGJjMGU+XSA/ IGFwaWNfdGltZXJfaW50ZXJydXB0KzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMTZhMDgzPl0gaHBu X2lvY3RsKzB4NmYzLzB4OWMwIFt4aHBuXQ0KIFs8ZmZmZmZmZmY4MTBhNjQxMD5dID8gZG9fZnV0 ZXgrMHgxMDAvMHhiMDANCiBbPGZmZmZmZmZmODEwMGJjMGU+XSA/IGFwaWNfdGltZXJfaW50ZXJy dXB0KzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMTY5OTkwPl0gPyBocG5faW9jdGwrMHgwLzB4OWMw IFt4aHBuXQ0KIFs8ZmZmZmZmZmY4MTE4ZDY0Mj5dIHZmc19pb2N0bCsweDIyLzB4YTANCiBbPGZm ZmZmZmZmODExOGQ3ZDM+XSA/IGRvX3Zmc19pb2N0bCsweDczLzB4NTgwDQogWzxmZmZmZmZmZjgx MThkN2U0Pl0gZG9fdmZzX2lvY3RsKzB4ODQvMHg1ODANCiBbPGZmZmZmZmZmODExOGRkNjE+XSBz eXNfaW9jdGwrMHg4MS8weGEwDQogWzxmZmZmZmZmZjgxMDBiMGYyPl0gc3lzdGVtX2NhbGxfZmFz dHBhdGgrMHgxNi8weDFiDQpTY2hlZCBEZWJ1ZyBWZXJzaW9uOiB2MC4wOSwgMi42LjMyLTI3OS5l bDYueDg2XzY0ICMxDQpub3cgYXQgMTEyMTY3ODcxMy45MzA4MzQgbXNlY3MNCiAgLmppZmZpZXMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDU0MTYzNDYwMDkNCiAgLnN5c2N0bF9z Y2hlZF9sYXRlbmN5ICAgICAgICAgICAgICAgICAgICA6IDIwLjAwMDAwMA0KICAuc3lzY3RsX3Nj aGVkX21pbl9ncmFudWxhcml0eSAgICAgICAgICAgIDogNC4wMDAwMDANCiAgLnN5c2N0bF9zY2hl ZF93YWtldXBfZ3JhbnVsYXJpdHkgICAgICAgICA6IDQuMDAwMDAwDQogIC5zeXNjdGxfc2NoZWRf Y2hpbGRfcnVuc19maXJzdCAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3lzY3RsX3NjaGVkX2Zl YXR1cmVzICAgICAgICAgICAgICAgICAgIDogMzE4Mw0KICAuc3lzY3RsX3NjaGVkX3R1bmFibGVf c2NhbGluZyAgICAgICAgICAgIDogMSAobG9nYXJpdG1pYykNCg0KY3B1IzAsIDIwOTQuODU0IE1I eg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAg ICAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDog NDAxMzYwOTUwMQ0KICAubnJfbG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAzOTU4MjcxODQN CiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAg ICAgICAgICAgICAgICAgOiA1NDE2LjM0NjAwOA0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAg ICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MTAu MDQ5NTY0DQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2Fk WzFdICAgICAgICAgICAgICAgICAgIDogNjUNCiAgLmNwdV9sb2FkWzJdICAgICAgICAgICAgICAg ICAgIDogMTQ0DQogIC5jcHVfbG9hZFszXSAgICAgICAgICAgICAgICAgICA6IDIyMw0KICAuY3B1 X2xvYWRbNF0gICAgICAgICAgICAgICAgICAgOiAyODkNCiAgLnlsZF9jb3VudCAgICAgICAgICAg ICAgICAgICAgIDogMzM5NDI5NTUNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDog MA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiAtMjE5MjUxMjg3DQogIC5zY2hl ZF9nb2lkbGUgICAgICAgICAgICAgICAgICA6IDE4MjI3ODIyNjYNCiAgLmF2Z19pZGxlICAgICAg ICAgICAgICAgICAgICAgIDogOTgwMzI2DQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAg ICA6IC0yMTIwMzk1NjkyDQogIC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDIwOTk0 NjQxOTINCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogNzM2NA0KDQpjZnNfcnFb MF06Lw0KICAuZXhlY19jbG9jayAgICAgICAgICAgICAgICAgICAgOiAxMDgzMTU4NDMuMTQ4MDIz DQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1 bnRpbWUgICAgICAgICAgICAgICAgICA6IDQ4NTA1ODEwLjU0MDgwNw0KICAubWF4X3ZydW50aW1l ICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAg ICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAw MDAwMA0KICAubnJfc3ByZWFkX292ZXIgICAgICAgICAgICAgICAgOiA1Mw0KICAubnJfcnVubmlu ZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAg ICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxv YWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJpYiAg ICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAgOiAw DQoNCnJ0X3JxWzBdOi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAgICAgIDogMA0KICAu cnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1lICAgICAgICAgICAg ICAgICAgICAgICA6IDAuMjE2NTIwDQogIC5ydF9ydW50aW1lICAgICAgICAgICAgICAgICAgICA6 IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0YXNrICAgUElEICAg ICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBz dW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMxLCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcg ICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAg OiAwDQogIC5ucl9zd2l0Y2hlcyAgICAgICAgICAgICAgICAgICA6IDIxMDAxMzg2Nw0KICAubnJf bG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxMTIxNDg0NzAxDQogIC5ucl91bmludGVycnVw dGlibGUgICAgICAgICAgICA6IDANCiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDog NTQxNi4zNDYwMTENCiAgLmN1cnItPnBpZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xv Y2sgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMTIxNjc4NzE0LjEzODMyNw0KICAuY3B1X2xv YWRbMF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAg ICAgICA6IDIxNA0KICAuY3B1X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAzODYNCiAgLmNw dV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDogNDU5DQogIC5jcHVfbG9hZFs0XSAgICAgICAg ICAgICAgICAgICA6IDUxNQ0KICAueWxkX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiA0MjQy OTYzOA0KICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3Vu dCAgICAgICAgICAgICAgICAgICA6IDI1MTM4NDg1OQ0KICAuc2NoZWRfZ29pZGxlICAgICAgICAg ICAgICAgICAgOiA5ODU4NjM1Mw0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAgOiA4 NzUxNjANCiAgLnR0d3VfY291bnQgICAgICAgICAgICAgICAgICAgIDogMTA3MDQ1NzkwDQogIC50 dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDMzMDU4NjA4DQogIC5ia2xfY291bnQgICAg ICAgICAgICAgICAgICAgICA6IDc0MQ0KDQpjZnNfcnFbMV06Lw0KICAuZXhlY19jbG9jayAgICAg ICAgICAgICAgICAgICAgOiA1MDExOTE3NC40NDk3OTANCiAgLk1JTl92cnVudGltZSAgICAgICAg ICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDog NDA3MzExOTUuNDk2ODU3DQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAw MDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5zcHJl YWQwICAgICAgICAgICAgICAgICAgICAgICA6IC03Nzc0NjE1LjA0Mzk1MA0KICAubnJfc3ByZWFk X292ZXIgICAgICAgICAgICAgICAgOiAxDQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAg ICA6IDENCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTAyNA0KICAubG9hZF9h dmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAg OiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbMV06Lw0K ICAucnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAg ICAgICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4z NDAwNTQNCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpy dW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAg c3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBz dW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KY3B1IzIsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAg ICAgOiAxDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwMjQNCiAgLm5yX3N3 aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMTE3NzIwOTYwOQ0KICAubnJfbG9hZF91cGRhdGVz ICAgICAgICAgICAgICAgOiAyMDc1NjUxNDcNCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAg ICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NjAwOA0K ICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAxMTQwDQogIC5jbG9jayAgICAgICAg ICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MTAuMDQzNDgxDQogIC5jcHVfbG9hZFswXSAgICAg ICAgICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDog NTE1DQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDMxMw0KICAuY3B1X2xvYWRb M10gICAgICAgICAgICAgICAgICAgOiAyNjQNCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAg ICAgIDogMjYxDQogIC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDMzOTYzODQxDQog IC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAg ICAgICAgICAgICAgIDogMTIxNDQ2OTg5NQ0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAg ICAgOiA1ODAxNjE5MjcNCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAwMDAw MA0KICAudHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiA1OTE0NDk2MjINCiAgLnR0d3Vf bG9jYWwgICAgICAgICAgICAgICAgICAgIDogMzQwMjUxNTcNCiAgLmJrbF9jb3VudCAgICAgICAg ICAgICAgICAgICAgIDogNjk2DQoNCmNmc19ycVsyXTovDQogIC5leGVjX2Nsb2NrICAgICAgICAg ICAgICAgICAgICA6IDQyNzA5NzQ5LjYyMjU3Nw0KICAuTUlOX3ZydW50aW1lICAgICAgICAgICAg ICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAyNDcz NTk3OS4xOTMxNTANCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDEN CiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnNwcmVhZDAg ICAgICAgICAgICAgICAgICAgICAgIDogLTIzNzY5ODMxLjM0NzY1Nw0KICAubnJfc3ByZWFkX292 ZXIgICAgICAgICAgICAgICAgOiAxNDU5DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAg ICA6IDENCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTAyNA0KICAubG9hZF9h dmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAg OiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbMl06Lw0K ICAucnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAg ICAgICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4w Mjk1NDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpy dW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAg c3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBz dW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NClIgICAgICAgICAgIGJhc2ggIDExNDAgIDI0NzM1OTY5LjE5MzE1MCAgICAgICAxNDUgICAx MjAgIDI0NzM1OTY5LjE5MzE1MCAgICAgICAgNTkuMzk4ODgyICAgIDE4NDEwNC4xMjk5MTEgLw0K DQpjcHUjMywgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6 IDENCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTAyNA0KICAubnJfc3dpdGNo ZXMgICAgICAgICAgICAgICAgICAgOiAxNzEzMjk1NDANCiAgLm5yX2xvYWRfdXBkYXRlcyAgICAg ICAgICAgICAgIDogMTMzNDE5NzU5DQogIC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6 IDANCiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDogNTQxNi4zNDU5NzANCiAgLmN1 cnItPnBpZCAgICAgICAgICAgICAgICAgICAgIDogNjAxNA0KICAuY2xvY2sgICAgICAgICAgICAg ICAgICAgICAgICAgOiAxMTIxNjc4NzE0LjIwMTMyNg0KICAuY3B1X2xvYWRbMF0gICAgICAgICAg ICAgICAgICAgOiAxMDI0DQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAgICAgICA6IDEwMjMN CiAgLmNwdV9sb2FkWzJdICAgICAgICAgICAgICAgICAgIDogOTU4DQogIC5jcHVfbG9hZFszXSAg ICAgICAgICAgICAgICAgICA6IDgyNA0KICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAgICAg OiA3MTENCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogNDE4ODQ5MTINCiAgLnNj aGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAg ICAgICAgICAgOiAyMTIwMTY5ODINCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAgICAgICAgIDog ODEzNDkwMzgNCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogODk3NTg0DQogIC50 dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDg2Mzk1Nzc2DQogIC50dHd1X2xvY2FsICAg ICAgICAgICAgICAgICAgICA6IDE3NzQ2OTU1DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAg ICAgICA6IDQ5Ng0KDQpjZnNfcnFbM106Lw0KICAuZXhlY19jbG9jayAgICAgICAgICAgICAgICAg ICAgOiA0ODIyMTYzNy45MzczNjcNCiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogNDEyOTMzMTAuNzQ5 MTUxDQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJl YWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAg ICAgICAgICAgICAgICA6IC03MjEyNDk5Ljc5MTY1Ng0KICAubnJfc3ByZWFkX292ZXIgICAgICAg ICAgICAgICAgOiAyDQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxv YWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTAyNA0KICAubG9hZF9hdmcgICAgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAg OiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2Fk X3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbM106Lw0KICAucnRfbnJfcnVu bmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAgICAgICAgICAg ICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMjkyNTINCiAgLnJ0 X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNr czoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHBy aW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClIgICAgICAg bWJfcHJveHkgIDYwMTQgIDQxMjkzMzEwLjc0OTE1MSAgMTUyNjczOTMgICAxMjAgIDQxMjkzMzEw Ljc0OTE1MSAgIDIzNzAzNTcuOTc5OTA1IDExMTkwNDY3MDguMjI0OTgxIC8NCg0KY3B1IzQsIDIw OTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2Fk ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAg ICAgICAgIDogNzg0MjM0NTMNCiAgLm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogOTkw NTM1MTENCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxh bmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NjAxMQ0KICAuY3Vyci0+cGlkICAgICAgICAg ICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2 Nzg3MTQuMjQ5NzQ0DQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNw dV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMl0gICAgICAgICAg ICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFszXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNw dV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMw0KICAueWxkX2NvdW50ICAgICAgICAgICAg ICAgICAgICAgOiAzNDEzNDc5NQ0KICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAw DQogIC5zY2hlZF9jb3VudCAgICAgICAgICAgICAgICAgICA6IDExMTU2NjcwNA0KICAuc2NoZWRf Z29pZGxlICAgICAgICAgICAgICAgICAgOiAzNzYwMjQzNA0KICAuYXZnX2lkbGUgICAgICAgICAg ICAgICAgICAgICAgOiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6 IDM4NzE4Mjc3DQogIC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDE2NDkyMjI3DQog IC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDI0NA0KDQpjZnNfcnFbNF06Lw0KICAu ZXhlY19jbG9jayAgICAgICAgICAgICAgICAgICAgOiAxNDUzOTk0My4xMDA4NjcNCiAgLk1JTl92 cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAg ICAgICAgICAgICAgIDogMTEzODU5MzcuOTYzMzY0DQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAu MDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC0zNzExOTg3Mi41Nzc0 NDMNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMzANCiAgLm5yX3J1bm5pbmcg ICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAg OiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2Fk X3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAg ICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0K DQpydF9ycVs0XTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0 X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAgICAgICAg ICAgICAgICAgOiAwLjM2NTEyNA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAgICAgOiA5 NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJRCAgICAg ICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAgICAgc3Vt LWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjNSwgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5nICAg ICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDog MA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiA1OTY5NDQyOA0KICAubnJfbG9h ZF91cGRhdGVzICAgICAgICAgICAgICAgOiA1NzI0MzU3Ng0KICAubnJfdW5pbnRlcnJ1cHRpYmxl ICAgICAgICAgICAgOiAwDQogIC5uZXh0X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDU0MTYu MzQ2MDU2DQogIC5jdXJyLT5waWQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNsb2NrICAg ICAgICAgICAgICAgICAgICAgICAgIDogMTEyMTY3ODcxNC4yOTA3ODUNCiAgLmNwdV9sb2FkWzBd ICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAgICAg OiA4DQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDQ1DQogIC5jcHVfbG9hZFsz XSAgICAgICAgICAgICAgICAgICA6IDY0DQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAgICAg ICA6IDY1DQogIC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDM0NTg5Mjg5DQogIC5z Y2hlZF9zd2l0Y2ggICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAg ICAgICAgICAgIDogOTMwOTEzODcNCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAgICAgICAgIDog Mjg0NjM2NDkNCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAwMDAwMA0KICAu dHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiAyOTQ3MTkxMg0KICAudHR3dV9sb2NhbCAg ICAgICAgICAgICAgICAgICAgOiAxNDMyMTMwMQ0KICAuYmtsX2NvdW50ICAgICAgICAgICAgICAg ICAgICAgOiAxNTkNCg0KY2ZzX3JxWzVdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAg ICAgIDogMTEwODIyMTkuNjEyMDE1DQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6 IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDkyNDM3MTYuMDE4 MTgzDQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJl YWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAg ICAgICAgICAgICAgICA6IC0zOTI2MjA5NC41MjI2MjQNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAg ICAgICAgICAgIDogMQ0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5s b2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAg ICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDANCiAgLmxvYWRfY29udHJpYiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90 ZyAgICAgICAgICAgICAgICAgICAgICAgOiAwDQoNCnJ0X3JxWzVdOi8NCiAgLnJ0X25yX3J1bm5p bmcgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAg OiAwDQogIC5ydF90aW1lICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5ydF9y dW50aW1lICAgICAgICAgICAgICAgICAgICA6IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6 DQogICAgICAgICAgICB0YXNrICAgUElEICAgICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlv ICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBzdW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSM2LCAy MDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9h ZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hlcyAgICAgICAgICAg ICAgICAgICA6IDYzOTY1MzcyDQogIC5ucl9sb2FkX3VwZGF0ZXMgICAgICAgICAgICAgICA6IDk3 MzEwMTMxDQogIC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDANCiAgLm5leHRfYmFs YW5jZSAgICAgICAgICAgICAgICAgIDogNTQxNi4zNDU4OTgNCiAgLmN1cnItPnBpZCAgICAgICAg ICAgICAgICAgICAgIDogMA0KICAuY2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMTIx Njc4NzA2LjU2MDgzNw0KICAuY3B1X2xvYWRbMF0gICAgICAgICAgICAgICAgICAgOiAxMDI0DQog IC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAgICAgICA6IDc3Ng0KICAuY3B1X2xvYWRbMl0gICAg ICAgICAgICAgICAgICAgOiA0OTMNCiAgLmNwdV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDog Mjk4DQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAgICAgICA6IDE3Ng0KICAueWxkX2NvdW50 ICAgICAgICAgICAgICAgICAgICAgOiAzMTQ0OTc1Ng0KICAuc2NoZWRfc3dpdGNoICAgICAgICAg ICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAgICAgICAgICAgICAgICAgICA6IDk0MjM5ODIw DQogIC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAgICA6IDI5NzY3ODcwDQogIC5hdmdfaWRs ZSAgICAgICAgICAgICAgICAgICAgICA6IDEwMDAwMDANCiAgLnR0d3VfY291bnQgICAgICAgICAg ICAgICAgICAgIDogMjg4ODk0NTINCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDog MTg0MDk3MTUNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMTM2DQoNCmNmc19y cVs2XTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDE5ODIyMTM3LjA3NzIz OQ0KICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3Zy dW50aW1lICAgICAgICAgICAgICAgICAgOiA4NDI1NTExMy44NTcwMzANCiAgLm1heF92cnVudGlt ZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAg ICAgICAgIDogMC4wMDAwMDANCiAgLnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogMzU3 NDkzMDMuMzE2MjIzDQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDE1NDMNCiAg Lm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAg ICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAw MDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2Fk X2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAgICAg ICAgICAgIDogMA0KDQpydF9ycVs2XTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAg ICA6IDANCiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAg ICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAg ICAgICAgICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFz ayAgIFBJRCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1l ICAgICAgICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjNywgMjA5NC44NTQgTUh6DQogIC5u cl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAg ICAgICAgICAgIDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiA0Nzg5MzIz Ng0KICAubnJfbG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxMjcxOTkwMzENCiAgLm5yX3Vu aW50ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAg ICAgICAgOiA1NDE2LjM0NTk5Nw0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAw DQogIC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDYuMzE0ODgxDQog IC5jcHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzFdICAg ICAgICAgICAgICAgICAgIDogNTEyDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6 IDI1OA0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAxNDINCiAgLmNwdV9sb2Fk WzRdICAgICAgICAgICAgICAgICAgIDogOTINCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAg ICAgIDogMzI1Mjc4OTENCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAu c2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiA3OTExNDE1MA0KICAuc2NoZWRfZ29pZGxl ICAgICAgICAgICAgICAgICAgOiAyMTc1MDUwOQ0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAg ICAgICAgOiA5MzE2OTANCiAgLnR0d3VfY291bnQgICAgICAgICAgICAgICAgICAgIDogMjAwODY1 MzMNCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDogMTI2NDQyNzgNCiAgLmJrbF9j b3VudCAgICAgICAgICAgICAgICAgICAgIDogNzYNCg0KY2ZzX3JxWzddOi8NCiAgLmV4ZWNfY2xv Y2sgICAgICAgICAgICAgICAgICAgIDogNDU0ODU2MzkuMTc1MjY1DQogIC5NSU5fdnJ1bnRpbWUg ICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAg ICAgICA6IDM0MDM4MTU0MS45Mzk4MzMNCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAg IDogMC4wMDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDAN CiAgLnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogMjkxODc1NzMxLjM5OTAyNg0KICAu bnJfc3ByZWFkX292ZXIgICAgICAgICAgICAgICAgOiAxNzkwDQogIC5ucl9ydW5uaW5nICAgICAg ICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0K ICAubG9hZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJp b2QgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAg ICAgICAgICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRf cnFbN106Lw0KICAucnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJv dHRsZWQgICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAg ICAgIDogMC40NTcwOTkNCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAw MDAwMA0KDQpydW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0 cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVj ICAgICAgICBzdW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0KY3B1IzgsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAg ICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAg Lm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMjczODQ2MDENCiAgLm5yX2xvYWRfdXBk YXRlcyAgICAgICAgICAgICAgIDogMjgyNzkwMTENCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAg ICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTkz Mw0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAg ICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDYuNDQzMDI1DQogIC5jcHVfbG9hZFswXSAgICAg ICAgICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDog NTEyDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDI1OQ0KICAuY3B1X2xvYWRb M10gICAgICAgICAgICAgICAgICAgOiAxNDUNCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAg ICAgIDogOTMNCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMzA4MTY5ODkNCiAg LnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAg ICAgICAgICAgICAgOiA1NzM4NzI2Ng0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAg OiAxMjk3MDc1NQ0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDAwDQog IC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDEzMjM4MzE1DQogIC50dHd1X2xvY2Fs ICAgICAgICAgICAgICAgICAgICA6IDkyNjQ0NTMNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAg ICAgICAgIDogMTkNCg0KY2ZzX3JxWzhdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAg ICAgIDogNTI5NzQxOS40NjY0MjYNCiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogNDg2OTcyNS45NTM4 MTgNCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLnNwcmVh ZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnNwcmVhZDAgICAgICAgICAg ICAgICAgICAgICAgIDogLTQzNjM2MDg0LjU4Njk4OQ0KICAubnJfc3ByZWFkX292ZXIgICAgICAg ICAgICAgICAgOiAwDQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxv YWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF9hdmcgICAgICAgICAgICAg ICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAgOiAw LjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX3Rn ICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbOF06Lw0KICAucnRfbnJfcnVubmlu ZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAgICAgICAgICAgICA6 IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMzQxNjQNCiAgLnJ0X3J1 bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNrczoN CiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8g ICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY3B1IzksIDIw OTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2Fk ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAg ICAgICAgIDogMjQxMjIzMzYNCiAgLm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogMjQ4 MzQ3MjgNCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxh bmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTg5OA0KICAuY3Vyci0+cGlkICAgICAgICAg ICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2 Nzg2OTYuNzU5MjYyDQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDEwMjQNCiAg LmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogNTEyDQogIC5jcHVfbG9hZFsyXSAgICAg ICAgICAgICAgICAgICA6IDI1Ng0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAx MjgNCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogNjQNCiAgLnlsZF9jb3VudCAg ICAgICAgICAgICAgICAgICAgIDogMzE2OTA5NDgNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAg ICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiA1NDgxOTU4Nw0K ICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiAxMTMwMjA2NQ0KICAuYXZnX2lkbGUg ICAgICAgICAgICAgICAgICAgICAgOiA4ODg3MTkNCiAgLnR0d3VfY291bnQgICAgICAgICAgICAg ICAgICAgIDogMTE2MjM2OTkNCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDogODAw ODE1OQ0KICAuYmtsX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAyNA0KDQpjZnNfcnFbOV06 Lw0KICAuZXhlY19jbG9jayAgICAgICAgICAgICAgICAgICAgOiA2NTI4MzU1LjkyNjMzMQ0KICAu TUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50aW1l ICAgICAgICAgICAgICAgICAgOiA2MTkzNDYwLjcwMDM3Mg0KICAubWF4X3ZydW50aW1lICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAg OiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAgOiAtNDIzMTIzNDku ODQwNDM1DQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3J1bm5p bmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAg ICAgOiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5s b2FkX3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIg ICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDog MA0KDQpydF9ycVs5XTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDANCiAg LnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAgICAg OiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJRCAg ICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAgICAg c3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjMTAsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVubmlu ZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAg ICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMjQ3MTYzNTMNCiAgLm5y X2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogMjQwMDU3OTINCiAgLm5yX3VuaW50ZXJydXB0 aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1 NDE2LjM0NTcyNA0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5jbG9j ayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDYuNDgzNzQ2DQogIC5jcHVfbG9h ZFswXSAgICAgICAgICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAg ICAgICAgIDogNTEyDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDI1Ng0KICAu Y3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAxMjgNCiAgLmNwdV9sb2FkWzRdICAgICAg ICAgICAgICAgICAgIDogNjQNCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMzAy MDEwOTkNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRfY291 bnQgICAgICAgICAgICAgICAgICAgOiA1NDAzODM5Ng0KICAuc2NoZWRfZ29pZGxlICAgICAgICAg ICAgICAgICAgOiAxMTY2MDIzMA0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAgOiAx MDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDExOTY2NjQ2DQogIC50 dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDkwOTk4MDgNCiAgLmJrbF9jb3VudCAgICAg ICAgICAgICAgICAgICAgIDogMTINCg0KY2ZzX3JxWzEwXTovDQogIC5leGVjX2Nsb2NrICAgICAg ICAgICAgICAgICAgICA6IDM4MTE1MDcuNTA5MTgyDQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDY0 MDc4NTQuNzg1NTM4DQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAx DQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5zcHJlYWQw ICAgICAgICAgICAgICAgICAgICAgICA6IC00MjA5Nzk1NS43NTUyNjkNCiAgLm5yX3NwcmVhZF9v dmVyICAgICAgICAgICAgICAgIDogMzcNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAg ICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDAN CiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVsxMF06Lw0KICAu cnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAg ICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMjE3 NTMNCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5u YWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dp dGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0t c2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KY3B1IzExLCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hl cyAgICAgICAgICAgICAgICAgICA6IDIwODUwMzUwDQogIC5ucl9sb2FkX3VwZGF0ZXMgICAgICAg ICAgICAgICA6IDIyMDUyODQzDQogIC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDAN CiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDogNTQxNi4zNDUwMjkNCiAgLmN1cnIt PnBpZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xvY2sgICAgICAgICAgICAgICAgICAg ICAgICAgOiAxMTIxNjc4NzA0LjY1OTc0NQ0KICAuY3B1X2xvYWRbMF0gICAgICAgICAgICAgICAg ICAgOiAxMDI0DQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAgICAgICA6IDUxMg0KICAuY3B1 X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAyNTYNCiAgLmNwdV9sb2FkWzNdICAgICAgICAg ICAgICAgICAgIDogMTI4DQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAgICAgICA6IDY0DQog IC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDMwODUxNzYwDQogIC5zY2hlZF9zd2l0 Y2ggICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAgICAgICAgICAg IDogNTA2NTc3NjgNCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAgICAgICAgIDogOTY4NjcyOA0K ICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDAwDQogIC50dHd1X2NvdW50 ICAgICAgICAgICAgICAgICAgICA6IDk5MTk5MDYNCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAg ICAgICAgIDogNzM2MTgzMA0KICAuYmtsX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiA0DQoN CmNmc19ycVsxMV06Lw0KICAuZXhlY19jbG9jayAgICAgICAgICAgICAgICAgICAgOiA1MzUzNjQx Ljc1MTIyMw0KICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAu bWluX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiA5MDMxMjIxLjg5OTE5NA0KICAubWF4X3Zy dW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAg OiAtMzk0NzQ1ODguNjQxNjEzDQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDMy DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAg ICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAw LjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAu bG9hZF9jb250cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAg ICAgICAgICAgICA6IDANCg0KcnRfcnFbMTFdOi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAg ICAgICAgIDogMA0KICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90 aW1lICAgICAgICAgICAgICAgICAgICAgICA6IDAuMTk4Njc5DQogIC5ydF9ydW50aW1lICAgICAg ICAgICAgICAgICAgICA6IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAg ICB0YXNrICAgUElEICAgICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1 bnRpbWUgICAgICAgICBzdW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMxMiwgMjA5NC44NTQgTUh6 DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAg ICAgICAgICAgICAgICAgIDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiAy MDQxOTQwNg0KICAubnJfbG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAyMTk0MDM1Ng0KICAu bnJfdW5pbnRlcnJ1cHRpYmxlICAgICAgICAgICAgOiAwDQogIC5uZXh0X2JhbGFuY2UgICAgICAg ICAgICAgICAgICA6IDU0MTYuMzQ1MDI3DQogIC5jdXJyLT5waWQgICAgICAgICAgICAgICAgICAg ICA6IDANCiAgLmNsb2NrICAgICAgICAgICAgICAgICAgICAgICAgIDogMTEyMTY3ODI3Ny42MDEx NDYNCiAgLmNwdV9sb2FkWzBdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMV0g ICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6 IDANCiAgLmNwdV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbNF0g ICAgICAgICAgICAgICAgICAgOiAwDQogIC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6 IDI4ODEzMjU5DQogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVk X2NvdW50ICAgICAgICAgICAgICAgICAgIDogNDg2NTc1ODkNCiAgLnNjaGVkX2dvaWRsZSAgICAg ICAgICAgICAgICAgIDogOTY2NjU3OA0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAg OiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDk4Njc1MzgNCiAg LnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDogNjg0NjQyMw0KICAuYmtsX2NvdW50ICAg ICAgICAgICAgICAgICAgICAgOiAyDQoNCmNmc19ycVsxMl06Lw0KICAuZXhlY19jbG9jayAgICAg ICAgICAgICAgICAgICAgOiA1NzY1MTkxLjU1MjY3Mg0KICAuTUlOX3ZydW50aW1lICAgICAgICAg ICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiA1 NTc1ODc4LjM4NjYyMg0KICAubWF4X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAw MQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFk MCAgICAgICAgICAgICAgICAgICAgICAgOiAtNDI5Mjk5MzIuMTU0MTg1DQogIC5ucl9zcHJlYWRf b3ZlciAgICAgICAgICAgICAgICA6IDQNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAg ICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDAN CiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVsxMl06Lw0KICAu cnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAg ICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAw MDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5u YWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dp dGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0t c2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KY3B1IzEzLCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hl cyAgICAgICAgICAgICAgICAgICA6IDE3NzkyMjI4DQogIC5ucl9sb2FkX3VwZGF0ZXMgICAgICAg ICAgICAgICA6IDE3MTA2ODMxDQogIC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDAN CiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDogNTQxNi4zNDU0MjMNCiAgLmN1cnIt PnBpZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xvY2sgICAgICAgICAgICAgICAgICAg ICAgICAgOiAxMTIxNjc4MjY4LjAyOTY0NQ0KICAuY3B1X2xvYWRbMF0gICAgICAgICAgICAgICAg ICAgOiAwDQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2Fk WzJdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAg ICAgOiAwDQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAgICAgICA6IDANCiAgLnlsZF9jb3Vu dCAgICAgICAgICAgICAgICAgICAgIDogMjk5NDg0MzUNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAg ICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiA0NzAyOTUw MQ0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiA4MzIyMDM5DQogIC5hdmdfaWRs ZSAgICAgICAgICAgICAgICAgICAgICA6IDEwMDAwMDANCiAgLnR0d3VfY291bnQgICAgICAgICAg ICAgICAgICAgIDogODU4OTc5Nw0KICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiA1 NzY5MDA4DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDINCg0KY2ZzX3JxWzEz XTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDUxNjI0MzUuMzc2NDc1DQog IC5NSU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRp bWUgICAgICAgICAgICAgICAgICA6IDUwMjA4NzAuNjM0Njk5DQogIC5tYXhfdnJ1bnRpbWUgICAg ICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAg ICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC00MzQ4NDkz OS45MDYxMDgNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMA0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAg LmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJp YiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAg OiAwDQoNCnJ0X3JxWzEzXTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDAN CiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAg ICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJ RCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAg ICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjMTQsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMjExMzMwMTgNCiAg Lm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogMTg4MjY0MTENCiAgLm5yX3VuaW50ZXJy dXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAg OiA1NDE2LjM0NTAyNw0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5j bG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzc2NjIuMzYxODIxDQogIC5jcHVf bG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAg ICAgICAgIDogMA0KICAuY3B1X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVf bG9hZFszXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAg ICAgICAgIDogMA0KICAueWxkX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAyODk3NDE5OQ0K ICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAgICAg ICAgICAgICAgICAgICA6IDQ5NDc1NzQxDQogIC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAg ICA6IDEwMDUzNzIwDQogIC5hdmdfaWRsZSAgICAgICAgICAgICAgICAgICAgICA6IDc5ODE1OA0K ICAudHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiAxMDMyMDg0OQ0KICAudHR3dV9sb2Nh bCAgICAgICAgICAgICAgICAgICAgOiA5MDEyNjU0DQogIC5ia2xfY291bnQgICAgICAgICAgICAg ICAgICAgICA6IDENCg0KY2ZzX3JxWzE0XTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAg ICAgICA6IDMyMTA4NzguMjE4MDc3DQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6 IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDMwNjM2NDEuMzI1 MjkxDQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJl YWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAg ICAgICAgICAgICAgICA6IC00NTQ0MjE2OS4yMTU1MTYNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAg ICAgICAgICAgIDogMw0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5s b2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAg ICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDANCiAgLmxvYWRfY29udHJpYiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90 ZyAgICAgICAgICAgICAgICAgICAgICAgOiAwDQoNCnJ0X3JxWzE0XTovDQogIC5ydF9ucl9ydW5u aW5nICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAg IDogMA0KICAucnRfdGltZSAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRf cnVudGltZSAgICAgICAgICAgICAgICAgICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tz Og0KICAgICAgICAgICAgdGFzayAgIFBJRCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJp byAgICAgZXhlYy1ydW50aW1lICAgICAgICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjMTUs IDIwOTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5s b2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAg ICAgICAgICAgIDogMTcyMzkzNTINCiAgLm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDog MTUzMTgxMjkNCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9i YWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTAyNw0KICAuY3Vyci0+cGlkICAgICAg ICAgICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDEx MjE2Nzg3MDYuNDU3NDYwDQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDEwMjQN CiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogNTI4DQogIC5jcHVfbG9hZFsyXSAg ICAgICAgICAgICAgICAgICA6IDMxNg0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAg OiAxOTYNCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMTIxDQogIC55bGRfY291 bnQgICAgICAgICAgICAgICAgICAgICA6IDI5ODE0NzQ3DQogIC5zY2hlZF9zd2l0Y2ggICAgICAg ICAgICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAgICAgICAgICAgIDogNDYzMTU0 MTYNCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAgICAgICAgIDogODA4ODUxMQ0KICAuYXZnX2lk bGUgICAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAg ICAgICAgICAgICA6IDgyODU2MTENCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDog NzAzMjAzOA0KICAuYmtsX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAxDQoNCmNmc19ycVsx NV06Lw0KICAuZXhlY19jbG9jayAgICAgICAgICAgICAgICAgICAgOiA0MDU0NDQwLjg5MjE5OA0K ICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50 aW1lICAgICAgICAgICAgICAgICAgOiAzOTc5Njg0LjM1ODA0OA0KICAubWF4X3ZydW50aW1lICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAg ICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAgOiAtNDQ1MjYx MjYuMTgyNzU5DQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDYNCiAgLm5yX3J1 bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAg ICAgICAgOiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQog IC5sb2FkX3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRy aWIgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAg IDogMA0KDQpydF9ycVsxNV06Lw0KICAucnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAw DQogIC5ydF90aHJvdHRsZWQgICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAg ICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAg ICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQ SUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAg ICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY3B1IzE2LCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1 bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAg ICAgICAgOiAwDQogIC5ucl9zd2l0Y2hlcyAgICAgICAgICAgICAgICAgICA6IDE5OTEwMzY3MA0K ICAubnJfbG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxMzE5MDA4NzgNCiAgLm5yX3VuaW50 ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAg ICAgOiA1NDE2LjM0NjAwNg0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQog IC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDkuNDM0MDQ5DQogIC5j cHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAg ICAgICAgICAgIDogMTI4DQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDE1MQ0K ICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAxMjINCiAgLmNwdV9sb2FkWzRdICAg ICAgICAgICAgICAgICAgIDogODQNCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDog Mzk0NzQ1NTgNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRf Y291bnQgICAgICAgICAgICAgICAgICAgOiAyMzc0NzQzOTINCiAgLnNjaGVkX2dvaWRsZSAgICAg ICAgICAgICAgICAgIDogOTMxOTAyMDENCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAg IDogODc3OTgwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDEwMjIxMDg2NA0K ICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiAyODM5MDQzMA0KICAuYmtsX2NvdW50 ICAgICAgICAgICAgICAgICAgICAgOiA4NjcNCg0KY2ZzX3JxWzE2XTovDQogIC5leGVjX2Nsb2Nr ICAgICAgICAgICAgICAgICAgICA6IDM3MTI0MTQ5LjYyNzM3Nw0KICAuTUlOX3ZydW50aW1lICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50aW1lICAgICAgICAgICAgICAg ICAgOiAyNzMwNzM3MC41MjkwMjUNCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAg LnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogLTIxMTk4NDQwLjAxMTc4Mg0KICAubnJf c3ByZWFkX292ZXIgICAgICAgICAgICAgICAgOiA0DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAg ICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9h ZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAg ICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbMTZd Oi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGhyb3R0bGVk ICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1lICAgICAgICAgICAgICAgICAgICAgICA6 IDAuMDAwMDAwDQogIC5ydF9ydW50aW1lICAgICAgICAgICAgICAgICAgICA6IDk1MC4wMDAwMDAN Cg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0YXNrICAgUElEICAgICAgICAgdHJlZS1r ZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBzdW0tZXhlYyAgICAg ICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCmNwdSMxNywgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAg ICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubnJf c3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiAyMjcwNDA1MQ0KICAubnJfbG9hZF91cGRhdGVz ICAgICAgICAgICAgICAgOiAxNzc2OTMzNA0KICAubnJfdW5pbnRlcnJ1cHRpYmxlICAgICAgICAg ICAgOiAwDQogIC5uZXh0X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDU0MTYuMzQ1MDI5DQog IC5jdXJyLT5waWQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNsb2NrICAgICAgICAgICAg ICAgICAgICAgICAgIDogMTEyMTY3Nzc1MS43NDM0ODcNCiAgLmNwdV9sb2FkWzBdICAgICAgICAg ICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5j cHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzNdICAgICAgICAg ICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC55 bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX3N3aXRjaCAgICAgICAg ICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiAyMjc3NzU1 OQ0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiAxMDUzNjIxMA0KICAuYXZnX2lk bGUgICAgICAgICAgICAgICAgICAgICAgOiA4ODE0NTUNCiAgLnR0d3VfY291bnQgICAgICAgICAg ICAgICAgICAgIDogMTIwMzc1NzkNCiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDog MTE3NDIwNTMNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpjZnNfcnFb MTddOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogMTYwNzY1Ni43OTg4ODIN CiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVu dGltZSAgICAgICAgICAgICAgICAgIDogMTI3MTI5Mi4wMTg3OTMNCiAgLm1heF92cnVudGltZSAg ICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAg ICAgIDogMC4wMDAwMDANCiAgLnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogLTQ3MjM0 NTE4LjUyMjAxNA0KICAubnJfc3ByZWFkX292ZXIgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9y dW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAg ICAgICAgIDogMA0KICAubG9hZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0K ICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250 cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAg ICA6IDANCg0KcnRfcnFbMTddOi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAgICAgIDog MA0KICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1lICAgICAg ICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5ydF9ydW50aW1lICAgICAgICAgICAgICAg ICAgICA6IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0YXNrICAg UElEICAgICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRpbWUgICAg ICAgICBzdW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMxOCwgMjA5NC44NTQgTUh6DQogIC5ucl9y dW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAg ICAgICAgIDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiAxNzE0MjA2ODUN CiAgLm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogOTU5MjMwNDINCiAgLm5yX3VuaW50 ZXJydXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAg ICAgOiA1NDE2LjM0NTk1Mg0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQog IC5jbG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDcuNjY2NjM5DQogIC5j cHVfbG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAg ICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5j cHVfbG9hZFszXSAgICAgICAgICAgICAgICAgICA6IDUNCiAgLmNwdV9sb2FkWzRdICAgICAgICAg ICAgICAgICAgIDogMzANCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMzc4MDU3 MjkNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQg ICAgICAgICAgICAgICAgICAgOiAyMDgzNDAzNjMNCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAg ICAgICAgIDogODEzMTY4OTINCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogOTQy MzA5DQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDg2NzU0NzkxDQogIC50dHd1 X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDE4ODY0MzQ3DQogIC5ia2xfY291bnQgICAgICAg ICAgICAgICAgICAgICA6IDQ3Ng0KDQpjZnNfcnFbMThdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAg ICAgICAgICAgICAgIDogMzA4MTQzNjQuODY1NDYyDQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDIz NzcwODgzLjQ2NjYzMw0KICAubWF4X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAw MQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFk MCAgICAgICAgICAgICAgICAgICAgICAgOiAtMjQ3MzQ5MjcuMDc0MTc0DQogIC5ucl9zcHJlYWRf b3ZlciAgICAgICAgICAgICAgICA6IDMNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAg ICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDAN CiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVsxOF06Lw0KICAu cnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAg ICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAw MDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5u YWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dp dGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0t c2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KY3B1IzE5LCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hl cyAgICAgICAgICAgICAgICAgICA6IDU3MzI0NzEwNw0KICAubnJfbG9hZF91cGRhdGVzICAgICAg ICAgICAgICAgOiA0MDYyNTY0MjANCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDog MA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTAyNw0KICAuY3Vy ci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAg ICAgICAgICA6IDExMjE2Nzc2NDcuMjQ0MjEwDQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xv YWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFszXSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMA0KICAueWxkX2Nv dW50ICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAg ICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAgICAgICAgICAgIDogNTczMzE0MzYzDQog IC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAgICA6IDI4MzU5OTg2OQ0KICAuYXZnX2lkbGUg ICAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAg ICAgICAgICA6IDI4OTYwODg3OA0KICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiAy ODk1NzI3NzYNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpjZnNfcnFb MTldOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogMzM4NDI1LjcwNTY0Mw0K ICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50 aW1lICAgICAgICAgICAgICAgICAgOiAyNzMyNzguOTQ5NjQxDQogIC5tYXhfdnJ1bnRpbWUgICAg ICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAg ICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC00ODIzMjUz MS41OTExNjYNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMA0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAg LmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJp YiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAg OiAwDQoNCnJ0X3JxWzE5XTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDAN CiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAg ICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJ RCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAg ICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjMjAsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogNjI4NzUwNzUNCiAg Lm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogNTAzNjU0NDgNCiAgLm5yX3VuaW50ZXJy dXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAg OiA1NDE2LjM0NTM0Mg0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5j bG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzg3MDUuOTA3MTMyDQogIC5jcHVf bG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzFdICAgICAgICAg ICAgICAgICAgIDogNTEyDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDI1Ng0K ICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAxMjgNCiAgLmNwdV9sb2FkWzRdICAg ICAgICAgICAgICAgICAgIDogNjQNCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDog MzM5MDQxMjUNCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRf Y291bnQgICAgICAgICAgICAgICAgICAgOiA5NTUxNjUxNg0KICAuc2NoZWRfZ29pZGxlICAgICAg ICAgICAgICAgICAgOiAyOTk2MjQ5Mg0KICAuYXZnX2lkbGUgICAgICAgICAgICAgICAgICAgICAg OiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6IDMxMTAxMTI5DQog IC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDE1Nzg2MDc2DQogIC5ia2xfY291bnQg ICAgICAgICAgICAgICAgICAgICA6IDEyOA0KDQpjZnNfcnFbMjBdOi8NCiAgLmV4ZWNfY2xvY2sg ICAgICAgICAgICAgICAgICAgIDogNzkyMTQwMi4yNjg2MjENCiAgLk1JTl92cnVudGltZSAgICAg ICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAg IDogNjAwMDIwNy42ODQyNDMNCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4w MDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnNw cmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogLTQyNTA1NjAyLjg1NjU2NA0KICAubnJfc3By ZWFkX292ZXIgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF9h dmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAg OiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbMjBdOi8N CiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGhyb3R0bGVkICAg ICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1lICAgICAgICAgICAgICAgICAgICAgICA6IDAu MDAwMDAwDQogIC5ydF9ydW50aW1lICAgICAgICAgICAgICAgICAgICA6IDk1MC4wMDAwMDANCg0K cnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0YXNrICAgUElEICAgICAgICAgdHJlZS1rZXkg IHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBzdW0tZXhlYyAgICAgICAg c3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQoNCmNwdSMyMSwgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubnJfc3dp dGNoZXMgICAgICAgICAgICAgICAgICAgOiAxMTU4MzEyMw0KICAubnJfbG9hZF91cGRhdGVzICAg ICAgICAgICAgICAgOiAxMzg2OTMxMw0KICAubnJfdW5pbnRlcnJ1cHRpYmxlICAgICAgICAgICAg OiAwDQogIC5uZXh0X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDU0MTYuMzQ1ODEyDQogIC5j dXJyLT5waWQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNsb2NrICAgICAgICAgICAgICAg ICAgICAgICAgIDogMTEyMTY3ODUxNC4zNzA0NDcNCiAgLmNwdV9sb2FkWzBdICAgICAgICAgICAg ICAgICAgIDogMA0KICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVf bG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzNdICAgICAgICAgICAg ICAgICAgIDogMA0KICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC55bGRf Y291bnQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAg ICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiAxMTY1MzEyOA0K ICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiA1NjQ3MDUxDQogIC5hdmdfaWRsZSAg ICAgICAgICAgICAgICAgICAgICA6IDEwMDAwMDANCiAgLnR0d3VfY291bnQgICAgICAgICAgICAg ICAgICAgIDogNTkxOTM2Nw0KICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiA1ODk2 NDM3DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDANCg0KY2ZzX3JxWzIxXTov DQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDU0MzcyMi44MDU3MzcNCiAgLk1J Tl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAg ICAgICAgICAgICAgICAgIDogNTI0MjE5LjUyNDg0NQ0KICAubWF4X3ZydW50aW1lICAgICAgICAg ICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAgOiAw LjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAgOiAtNDc5ODE1OTEuMDE1 OTYyDQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3J1bm5pbmcg ICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAg OiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2Fk X3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAg ICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0K DQpydF9ycVsyMV06Lw0KICAucnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5y dF90aHJvdHRsZWQgICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAg ICAgICAgICAgIDogMC4wMDAwMDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDog OTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAg ICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1 bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCg0KY3B1IzIyLCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcg ICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAg OiAwDQogIC5ucl9zd2l0Y2hlcyAgICAgICAgICAgICAgICAgICA6IDU5MjM1NTMxDQogIC5ucl9s b2FkX3VwZGF0ZXMgICAgICAgICAgICAgICA6IDkyNDU4NTcxDQogIC5ucl91bmludGVycnVwdGli bGUgICAgICAgICAgICA6IDANCiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDogNTQx Ni4zNDU4ODkNCiAgLmN1cnItPnBpZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xvY2sg ICAgICAgICAgICAgICAgICAgICAgICAgOiAxMTIxNjc4NzA3LjI1MTU4Mw0KICAuY3B1X2xvYWRb MF0gICAgICAgICAgICAgICAgICAgOiAxMDI0DQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAg ICAgICA6IDUxMg0KICAuY3B1X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAyNTYNCiAgLmNw dV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDogMTI4DQogIC5jcHVfbG9hZFs0XSAgICAgICAg ICAgICAgICAgICA6IDY0DQogIC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDMyMzEw ODI4DQogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50 ICAgICAgICAgICAgICAgICAgIDogOTA1MzE4ODkNCiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAg ICAgICAgIDogMjcyMzQ0MjINCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAw MDAwMA0KICAudHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiAyNTMzNTI5MQ0KICAudHR3 dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiAxNjY2OTk1MA0KICAuYmtsX2NvdW50ICAgICAg ICAgICAgICAgICAgICAgOiA4Mw0KDQpjZnNfcnFbMjJdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAg ICAgICAgICAgICAgIDogMTM0NDQwODIuMTcyNzY0DQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDQ5 MDkzMjU3LjU1NzIwOA0KICAubWF4X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAw MQ0KICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFk MCAgICAgICAgICAgICAgICAgICAgICAgOiA1ODc0NDcuMDE2NDAxDQogIC5ucl9zcHJlYWRfb3Zl ciAgICAgICAgICAgICAgICA6IDE2OTkNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAg ICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDAN CiAgLmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVsyMl06Lw0KICAu cnRfbnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAg ICAgICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAw MDANCiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5u YWJsZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dp dGNoZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0t c2xlZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KY3B1IzIzLCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hl cyAgICAgICAgICAgICAgICAgICA6IDU3MDk1MzYyNQ0KICAubnJfbG9hZF91cGRhdGVzICAgICAg ICAgICAgICAgOiA0MDYyNTY5NzgNCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAgIDog MA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTAyNw0KICAuY3Vy ci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAgICAg ICAgICAgICA6IDExMjE2Nzc2MzUuNDMzNDkwDQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xv YWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFszXSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMA0KICAueWxkX2Nv dW50ICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAg ICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAgICAgICAgICAgIDogNTcxMDIxMjY4DQog IC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAgICA6IDI4MjgzMTcyNA0KICAuYXZnX2lkbGUg ICAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDAwDQogIC50dHd1X2NvdW50ICAgICAgICAgICAg ICAgICAgICA6IDI4ODExNjAxMg0KICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiAy ODgwOTc3NTgNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpjZnNfcnFb MjNdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogMjQyODI2LjgxNzUxNg0K ICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50 aW1lICAgICAgICAgICAgICAgICAgOiAyMDM5ODkuNTAxNDY3DQogIC5tYXhfdnJ1bnRpbWUgICAg ICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAg ICA6IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC00ODMwMTgy MS4wMzkzNDANCiAgLm5yX3NwcmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMA0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmxvYWRfYXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAg LmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJp YiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAg OiAwDQoNCnJ0X3JxWzIzXTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDAN CiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAg ICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJ RCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAg ICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjcHUjMjQsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVu bmluZyAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDANCiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMjE1OTI4MDUNCiAg Lm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogMTc3ODUwMzgNCiAgLm5yX3VuaW50ZXJy dXB0aWJsZSAgICAgICAgICAgIDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAg OiA1NDE2LjM0NTAyOQ0KICAuY3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5j bG9jayAgICAgICAgICAgICAgICAgICAgICAgICA6IDExMjE2Nzc2MzIuNDE3OTQ3DQogIC5jcHVf bG9hZFswXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAg ICAgICAgIDogMA0KICAuY3B1X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVf bG9hZFszXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAg ICAgICAgIDogMA0KICAueWxkX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAzMTU2MjAzMg0K ICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAgICAg ICAgICAgICAgICAgICA6IDUyMTAwNjU4DQogIC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAg ICA6IDEwMDAyOTg2DQogIC5hdmdfaWRsZSAgICAgICAgICAgICAgICAgICAgICA6IDEwMDAwMDAN CiAgLnR0d3VfY291bnQgICAgICAgICAgICAgICAgICAgIDogMTAzNjA2NTcNCiAgLnR0d3VfbG9j YWwgICAgICAgICAgICAgICAgICAgIDogNzExMTk5OA0KICAuYmtsX2NvdW50ICAgICAgICAgICAg ICAgICAgICAgOiAxNA0KDQpjZnNfcnFbMjRdOi8NCiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAg ICAgICAgIDogMzcyMTk5Ny4zMjI0ODUNCiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAg IDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMzM3NDc1NC43 OTY5ODcNCiAgLm1heF92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLnNw cmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnNwcmVhZDAgICAgICAg ICAgICAgICAgICAgICAgIDogLTQ1MTMxMDU1Ljc0MzgyMA0KICAubnJfc3ByZWFkX292ZXIgICAg ICAgICAgICAgICAgOiAwDQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAg LmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF9hdmcgICAgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAg OiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2Fk X3RnICAgICAgICAgICAgICAgICAgICAgICA6IDANCg0KcnRfcnFbMjRdOi8NCiAgLnJ0X25yX3J1 bm5pbmcgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAg ICAgOiAwDQogIC5ydF90aW1lICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5y dF9ydW50aW1lICAgICAgICAgICAgICAgICAgICA6IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFz a3M6DQogICAgICAgICAgICB0YXNrICAgUElEICAgICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBw cmlvICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBzdW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMy NSwgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAg LmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgIDogMA0KICAubnJfc3dpdGNoZXMgICAgICAg ICAgICAgICAgICAgOiAxMTQxNzI5NA0KICAubnJfbG9hZF91cGRhdGVzICAgICAgICAgICAgICAg OiAxMzgxNTEwNQ0KICAubnJfdW5pbnRlcnJ1cHRpYmxlICAgICAgICAgICAgOiAwDQogIC5uZXh0 X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDU0MTYuMzQ1MDI3DQogIC5jdXJyLT5waWQgICAg ICAgICAgICAgICAgICAgICA6IDANCiAgLmNsb2NrICAgICAgICAgICAgICAgICAgICAgICAgIDog MTEyMTY3NzYyOS40MzU1MTcNCiAgLmNwdV9sb2FkWzBdICAgICAgICAgICAgICAgICAgIDogMA0K ICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFsyXSAgICAg ICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDogMA0K ICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC55bGRfY291bnQgICAgICAg ICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAgICAgICAgIDogMA0K ICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiAxMTQ4Mjg5NA0KICAuc2NoZWRfZ29p ZGxlICAgICAgICAgICAgICAgICAgOiA1NTM5Njg0DQogIC5hdmdfaWRsZSAgICAgICAgICAgICAg ICAgICAgICA6IDk5NDA2MA0KICAudHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiA1ODU5 MzEwDQogIC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDU4NDI1MjUNCiAgLmJrbF9j b3VudCAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpjZnNfcnFbMjVdOi8NCiAgLmV4ZWNfY2xv Y2sgICAgICAgICAgICAgICAgICAgIDogNTQ4NjAzLjY5NDk3Mw0KICAuTUlOX3ZydW50aW1lICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAubWluX3ZydW50aW1lICAgICAgICAgICAgICAg ICAgOiA0ODExODAuMTY1MDc4DQogIC5tYXhfdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAu MDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5z cHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC00ODAyNDYzMC4zNzU3MjkNCiAgLm5yX3Nw cmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMA0KICAubnJfcnVubmluZyAgICAgICAgICAgICAg ICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRf YXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfcGVyaW9kICAgICAg ICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJpYiAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAgOiAwDQoNCnJ0X3JxWzI1XTov DQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3Rocm90dGxlZCAg ICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAgICAgICAgICAgICAgICAgOiAw LjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAgICAgOiA5NTAuMDAwMDAwDQoN CnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJRCAgICAgICAgIHRyZWUta2V5 ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAgICAgc3VtLWV4ZWMgICAgICAg IHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KDQpjcHUjMjYsIDIwOTQuODU0IE1Ieg0KICAubnJfcnVubmluZyAgICAgICAgICAgICAg ICAgICAgOiAwDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3N3 aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMTk5MjI0OTUNCiAgLm5yX2xvYWRfdXBkYXRlcyAg ICAgICAgICAgICAgIDogMjAzMTg2ODYNCiAgLm5yX3VuaW50ZXJydXB0aWJsZSAgICAgICAgICAg IDogMA0KICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA1NDE2LjM0NTE1Mw0KICAu Y3Vyci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5jbG9jayAgICAgICAgICAgICAg ICAgICAgICAgICA6IDExMjE2Nzc3MzEuNjYyMjkxDQogIC5jcHVfbG9hZFswXSAgICAgICAgICAg ICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1 X2xvYWRbMl0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFszXSAgICAgICAgICAg ICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMA0KICAueWxk X2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAzMTAyMzQ5Nw0KICAuc2NoZWRfc3dpdGNoICAg ICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAgICAgICAgICAgICAgICAgICA6IDQ5 ODU4NzYzDQogIC5zY2hlZF9nb2lkbGUgICAgICAgICAgICAgICAgICA6IDkxODY4MDANCiAgLmF2 Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAwMDAwMA0KICAudHR3dV9jb3VudCAgICAg ICAgICAgICAgICAgICAgOiA5NDI5NTQwDQogIC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAg ICA6IDcyMDI0MDcNCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMTUNCg0KY2Zz X3JxWzI2XTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDQ0ODIwNTEuNTgx OTI4DQogIC5NSU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5f dnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDExMzMxMTYyLjUyMjE0OA0KICAubWF4X3ZydW50 aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAgICAg ICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAgOiAt MzcxNzQ2NDguMDQzMDQwDQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDMzDQog IC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAg ICAgICAgICAgICAgIDogMA0KICAubG9hZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAw MDAwMA0KICAubG9hZF9wZXJpb2QgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9h ZF9jb250cmliICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAg ICAgICAgICA6IDANCg0KcnRfcnFbMjZdOi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAg ICAgIDogMA0KICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1l ICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5ydF9ydW50aW1lICAgICAgICAg ICAgICAgICAgICA6IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0 YXNrICAgUElEICAgICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRp bWUgICAgICAgICBzdW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMyNywgMjA5NC44NTQgTUh6DQog IC5ucl9ydW5uaW5nICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAg ICAgICAgICAgICAgIDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiA1OTE0 NDE5NjgNCiAgLm5yX2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogNDM0NzcxODU3DQogIC5u cl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDENCiAgLm5leHRfYmFsYW5jZSAgICAgICAg ICAgICAgICAgIDogNTQxNi4zNDUwMjgNCiAgLmN1cnItPnBpZCAgICAgICAgICAgICAgICAgICAg IDogMA0KICAuY2xvY2sgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMTIxNjc4NzE3LjIwNzg0 Ng0KICAuY3B1X2xvYWRbMF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFsxXSAg ICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzJdICAgICAgICAgICAgICAgICAgIDog MA0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFs0XSAg ICAgICAgICAgICAgICAgICA6IDANCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDog MA0KICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAg ICAgICAgICAgICAgICAgICA6IDU5MTUwODcwNw0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAg ICAgICAgOiAyOTI4MTgyNDANCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAw MDAwMA0KICAudHR3dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiAyOTg2MjE3MDgNCiAgLnR0 d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDogMjk4NjA0NjAwDQogIC5ia2xfY291bnQgICAg ICAgICAgICAgICAgICAgICA6IDANCg0KY2ZzX3JxWzI3XTovDQogIC5leGVjX2Nsb2NrICAgICAg ICAgICAgICAgICAgICA6IDIyMjEzMS45NDgyNTINCiAgLk1JTl92cnVudGltZSAgICAgICAgICAg ICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMTgz NjA0Ljg2NjgyNg0KICAubWF4X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0K ICAuc3ByZWFkICAgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAg ICAgICAgICAgICAgICAgICAgICAgOiAtNDgzMjIyMDUuNjk4MzYyDQogIC5ucl9zcHJlYWRfb3Zl ciAgICAgICAgICAgICAgICA6IDANCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDog MA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAgICAg ICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAgICAg ICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDANCiAg LmxvYWRfdGcgICAgICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVsyN106Lw0KICAucnRf bnJfcnVubmluZyAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAgICAg ICAgICAgICA6IDANCiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogNC4zOTczNjcN CiAgLnJ0X3J1bnRpbWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJs ZSB0YXNrczoNCiAgICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNo ZXMgIHByaW8gICAgIGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xl ZXANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K Y3B1IzI4LCAyMDk0Ljg1NCBNSHoNCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDog MA0KICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9zd2l0Y2hlcyAg ICAgICAgICAgICAgICAgICA6IDIwMTQ3NzE2DQogIC5ucl9sb2FkX3VwZGF0ZXMgICAgICAgICAg ICAgICA6IDE4NjI3MDg2DQogIC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDANCiAg Lm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDogNTQxNi4zNDUwMjcNCiAgLmN1cnItPnBp ZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xvY2sgICAgICAgICAgICAgICAgICAgICAg ICAgOiAxMTIxNjc4NzEyLjgzMDE0OQ0KICAuY3B1X2xvYWRbMF0gICAgICAgICAgICAgICAgICAg OiAwDQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2FkWzJd ICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbM10gICAgICAgICAgICAgICAgICAg OiAwDQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAgICAgICA6IDANCiAgLnlsZF9jb3VudCAg ICAgICAgICAgICAgICAgICAgIDogMzA0NzEyNzINCiAgLnNjaGVkX3N3aXRjaCAgICAgICAgICAg ICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiA0OTg4MjI0MA0K ICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiA5NDg2ODc1DQogIC5hdmdfaWRsZSAg ICAgICAgICAgICAgICAgICAgICA6IDg3NjgyNA0KICAudHR3dV9jb3VudCAgICAgICAgICAgICAg ICAgICAgOiA5NzkwNTk3DQogIC50dHd1X2xvY2FsICAgICAgICAgICAgICAgICAgICA6IDc1NDY1 NzANCiAgLmJrbF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogNg0KDQpjZnNfcnFbMjhdOi8N CiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogNDMzODgwNC44NzAxNzQNCiAgLk1J Tl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAgLm1pbl92cnVudGltZSAg ICAgICAgICAgICAgICAgIDogNDE2Nzk5Ni45MDUxODUNCiAgLm1heF92cnVudGltZSAgICAgICAg ICAgICAgICAgIDogMC4wMDAwMDENCiAgLnNwcmVhZCAgICAgICAgICAgICAgICAgICAgICAgIDog MC4wMDAwMDANCiAgLnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogLTQ0MzM3ODEzLjY2 MDAwMw0KICAubnJfc3ByZWFkX292ZXIgICAgICAgICAgICAgICAgOiAwDQogIC5ucl9ydW5uaW5n ICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAg IDogMA0KICAubG9hZF9hdmcgICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9h ZF9wZXJpb2QgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAubG9hZF9jb250cmliICAg ICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX3RnICAgICAgICAgICAgICAgICAgICAgICA6IDAN Cg0KcnRfcnFbMjhdOi8NCiAgLnJ0X25yX3J1bm5pbmcgICAgICAgICAgICAgICAgIDogMA0KICAu cnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aW1lICAgICAgICAgICAg ICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5ydF9ydW50aW1lICAgICAgICAgICAgICAgICAgICA6 IDk1MC4wMDAwMDANCg0KcnVubmFibGUgdGFza3M6DQogICAgICAgICAgICB0YXNrICAgUElEICAg ICAgICAgdHJlZS1rZXkgIHN3aXRjaGVzICBwcmlvICAgICBleGVjLXJ1bnRpbWUgICAgICAgICBz dW0tZXhlYyAgICAgICAgc3VtLXNsZWVwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNwdSMyOSwgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5n ICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAg IDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiAxMTIxMDIzNQ0KICAubnJf bG9hZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxMzQ5NjE2OQ0KICAubnJfdW5pbnRlcnJ1cHRp YmxlICAgICAgICAgICAgOiAwDQogIC5uZXh0X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDU0 MTYuMzQ1MDMyDQogIC5jdXJyLT5waWQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNsb2Nr ICAgICAgICAgICAgICAgICAgICAgICAgIDogMTEyMTY3ODYyNC4yMTI3NDMNCiAgLmNwdV9sb2Fk WzBdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAg ICAgOiAwDQogIC5jcHVfbG9hZFsyXSAgICAgICAgICAgICAgICAgICA6IDANCiAgLmNwdV9sb2Fk WzNdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAg ICAgOiAwDQogIC55bGRfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDANCiAgLnNjaGVkX3N3 aXRjaCAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRfY291bnQgICAgICAgICAgICAgICAg ICAgOiAxMTI4MDAyMg0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiA1NDczMjQw DQogIC5hdmdfaWRsZSAgICAgICAgICAgICAgICAgICAgICA6IDEwMDAwMDANCiAgLnR0d3VfY291 bnQgICAgICAgICAgICAgICAgICAgIDogNTczMzc2Nw0KICAudHR3dV9sb2NhbCAgICAgICAgICAg ICAgICAgICAgOiA1NzE2MTI5DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDAN Cg0KY2ZzX3JxWzI5XTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDUxMzQ5 NS4yNDg0MDkNCiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDENCiAg Lm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogNTE2MTYwLjkwMTk3MQ0KICAubWF4X3Zy dW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAgICAgICAgICAg ICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAgICAgICAgICAg OiAtNDc5ODk2NDkuODM0NTA0DQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAgICAgICA6IDAN CiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAgICAgICAgICAg ICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAgICAgICA6IDAu MDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwDQogIC5s b2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAgICAgICAgICAg ICAgICAgICAgIDogMA0KDQpydF9ycVsyOV06Lw0KICAucnRfbnJfcnVubmluZyAgICAgICAgICAg ICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAgICAgICAgICAgICA6IDANCiAgLnJ0X3Rp bWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLnJ0X3J1bnRpbWUgICAgICAg ICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNrczoNCiAgICAgICAgICAg IHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVu dGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY3B1IzMwLCAyMDk0Ljg1NCBNSHoN CiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMQ0KICAubG9hZCAgICAgICAgICAg ICAgICAgICAgICAgICAgOiAxMDI0DQogIC5ucl9zd2l0Y2hlcyAgICAgICAgICAgICAgICAgICA6 IDE4MjU1NjMxDQogIC5ucl9sb2FkX3VwZGF0ZXMgICAgICAgICAgICAgICA6IDE1MTI1NDQ2DQog IC5ucl91bmludGVycnVwdGlibGUgICAgICAgICAgICA6IDANCiAgLm5leHRfYmFsYW5jZSAgICAg ICAgICAgICAgICAgIDogNTQxNi4zNDYxMTkNCiAgLmN1cnItPnBpZCAgICAgICAgICAgICAgICAg ICAgIDogMjc0NDgNCiAgLmNsb2NrICAgICAgICAgICAgICAgICAgICAgICAgIDogMTEyMTY3ODcx Ny40NzAxMTINCiAgLmNwdV9sb2FkWzBdICAgICAgICAgICAgICAgICAgIDogMTAyNA0KICAuY3B1 X2xvYWRbMV0gICAgICAgICAgICAgICAgICAgOiAxMDI0DQogIC5jcHVfbG9hZFsyXSAgICAgICAg ICAgICAgICAgICA6IDEwMjQNCiAgLmNwdV9sb2FkWzNdICAgICAgICAgICAgICAgICAgIDogMTAy NA0KICAuY3B1X2xvYWRbNF0gICAgICAgICAgICAgICAgICAgOiAxMDI0DQogIC55bGRfY291bnQg ICAgICAgICAgICAgICAgICAgICA6IDMwMTc5NTIyDQogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAg ICAgICAgICA6IDANCiAgLnNjaGVkX2NvdW50ICAgICAgICAgICAgICAgICAgIDogNDc2NTQ4NzMN CiAgLnNjaGVkX2dvaWRsZSAgICAgICAgICAgICAgICAgIDogODU2NTU5OA0KICAuYXZnX2lkbGUg ICAgICAgICAgICAgICAgICAgICAgOiA1ODAxODQNCiAgLnR0d3VfY291bnQgICAgICAgICAgICAg ICAgICAgIDogODgwMTIyNg0KICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiA2OTY1 NDg5DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDINCg0KY2ZzX3JxWzMwXTov DQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAgICA6IDI1OTIzMzQuMjkxOTc4DQogIC5N SU5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5taW5fdnJ1bnRpbWUg ICAgICAgICAgICAgICAgICA6IDI3NTkwMjkuMTgzMjc3DQogIC5tYXhfdnJ1bnRpbWUgICAgICAg ICAgICAgICAgICA6IDAuMDAwMDAxDQogIC5zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICA6 IDAuMDAwMDAwDQogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAgICA6IC00NTc0Njc4MS41 NTMxOTgNCiAgLm5yX3NwcmVhZF9vdmVyICAgICAgICAgICAgICAgIDogMw0KICAubnJfcnVubmlu ZyAgICAgICAgICAgICAgICAgICAgOiAxDQogIC5sb2FkICAgICAgICAgICAgICAgICAgICAgICAg ICA6IDEwMjQNCiAgLmxvYWRfYXZnICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAg LmxvYWRfcGVyaW9kICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDANCiAgLmxvYWRfY29udHJp YiAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZF90ZyAgICAgICAgICAgICAgICAgICAgICAg OiAwDQoNCnJ0X3JxWzMwXTovDQogIC5ydF9ucl9ydW5uaW5nICAgICAgICAgICAgICAgICA6IDAN CiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMA0KICAucnRfdGltZSAgICAgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAucnRfcnVudGltZSAgICAgICAgICAgICAgICAg ICAgOiA5NTAuMDAwMDAwDQoNCnJ1bm5hYmxlIHRhc2tzOg0KICAgICAgICAgICAgdGFzayAgIFBJ RCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1ydW50aW1lICAgICAg ICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KUiAgICAgICAgICAgamF2YSAyNzQ0OCAgIDI3NTkwMjku MTgzMjc3ICAgIDkzNDE3NyAgIDEyMCAgIDI3NTkwMjkuMTgzMjc3ICA4NzI4MjI5NC4wNDY1NDYg IDczOTc5MDg5Ljc1Mjc4OSAvDQoNCmNwdSMzMSwgMjA5NC44NTQgTUh6DQogIC5ucl9ydW5uaW5n ICAgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWQgICAgICAgICAgICAgICAgICAgICAgICAg IDogMA0KICAubnJfc3dpdGNoZXMgICAgICAgICAgICAgICAgICAgOiA1OTA1NjA4NTgNCiAgLm5y X2xvYWRfdXBkYXRlcyAgICAgICAgICAgICAgIDogNDI5MTA5Njg5DQogIC5ucl91bmludGVycnVw dGlibGUgICAgICAgICAgICA6IDENCiAgLm5leHRfYmFsYW5jZSAgICAgICAgICAgICAgICAgIDog NTQxNi4zNDUwMjcNCiAgLmN1cnItPnBpZCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuY2xv Y2sgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMTIxNjc4NzE4LjIxMDg2Ng0KICAuY3B1X2xv YWRbMF0gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFsxXSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLmNwdV9sb2FkWzJdICAgICAgICAgICAgICAgICAgIDogMA0KICAuY3B1X2xv YWRbM10gICAgICAgICAgICAgICAgICAgOiAwDQogIC5jcHVfbG9hZFs0XSAgICAgICAgICAgICAg ICAgICA6IDANCiAgLnlsZF9jb3VudCAgICAgICAgICAgICAgICAgICAgIDogMA0KICAuc2NoZWRf c3dpdGNoICAgICAgICAgICAgICAgICAgOiAwDQogIC5zY2hlZF9jb3VudCAgICAgICAgICAgICAg ICAgICA6IDU5MDYyODE2MA0KICAuc2NoZWRfZ29pZGxlICAgICAgICAgICAgICAgICAgOiAyOTI0 MzM2ODYNCiAgLmF2Z19pZGxlICAgICAgICAgICAgICAgICAgICAgIDogMTAwMDAwMA0KICAudHR3 dV9jb3VudCAgICAgICAgICAgICAgICAgICAgOiAyOTgxNDEwODYNCiAgLnR0d3VfbG9jYWwgICAg ICAgICAgICAgICAgICAgIDogMjk4MTIzNjg2DQogIC5ia2xfY291bnQgICAgICAgICAgICAgICAg ICAgICA6IDANCg0KY2ZzX3JxWzMxXTovDQogIC5leGVjX2Nsb2NrICAgICAgICAgICAgICAgICAg ICA6IDE5NDUzMS4xNzA4NTQNCiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4w MDAwMDENCiAgLm1pbl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMTU3ODk0Ljg4MzU3MA0K ICAubWF4X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQ0KICAuc3ByZWFkICAg ICAgICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMA0KICAuc3ByZWFkMCAgICAgICAgICAgICAg ICAgICAgICAgOiAtNDgzNDc5MTYuMTIzMTY2DQogIC5ucl9zcHJlYWRfb3ZlciAgICAgICAgICAg ICAgICA6IDANCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMA0KICAubG9hZCAg ICAgICAgICAgICAgICAgICAgICAgICAgOiAwDQogIC5sb2FkX2F2ZyAgICAgICAgICAgICAgICAg ICAgICA6IDAuMDAwMDAwDQogIC5sb2FkX3BlcmlvZCAgICAgICAgICAgICAgICAgICA6IDAuMDAw MDAwDQogIC5sb2FkX2NvbnRyaWIgICAgICAgICAgICAgICAgICA6IDANCiAgLmxvYWRfdGcgICAg ICAgICAgICAgICAgICAgICAgIDogMA0KDQpydF9ycVszMV06Lw0KICAucnRfbnJfcnVubmluZyAg ICAgICAgICAgICAgICAgOiAwDQogIC5ydF90aHJvdHRsZWQgICAgICAgICAgICAgICAgICA6IDAN CiAgLnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogNC4zMzc4MTkNCiAgLnJ0X3J1bnRp bWUgICAgICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMA0KDQpydW5uYWJsZSB0YXNrczoNCiAg ICAgICAgICAgIHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAg IGV4ZWMtcnVudGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXANCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KWEZTIChtZDApOiB4 ZnNfbG9nX2ZvcmNlOiBlcnJvciA1IHJldHVybmVkLg0KWEZTIChtZDApOiB4ZnNfbG9nX2ZvcmNl OiBlcnJvciA1IHJldHVybmVkLg0K --_002_dcbe632f22434828866c744247fcad08BN1PR0301MB0625namprd03_-- From hch@lst.de Thu Oct 2 06:29: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 47F2B7F63 for ; Thu, 2 Oct 2014 06:29:59 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 25D66304077 for ; Thu, 2 Oct 2014 04:29:58 -0700 (PDT) X-ASG-Debug-ID: 1412249393-04cb6c50e565f310001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id 8pcJr8N1Eyl1NKzI (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 04:29:54 -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 352F3144D6; Thu, 2 Oct 2014 13:29:52 +0200 (CEST) Date: Thu, 2 Oct 2014 13:29:52 +0200 From: Christoph Hellwig To: Dave Chinner Cc: Christoph Hellwig , Milosz Tanski , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH 1/3] xfs: add RWF_NONBLOCK support Message-ID: <20141002112952.GA32112@lst.de> X-ASG-Orig-Subj: Re: [PATCH 1/3] xfs: add RWF_NONBLOCK support References: <1412197494-7655-1-git-send-email-hch@lst.de> <1412197494-7655-2-git-send-email-hch@lst.de> <20141001222327.GT4758@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001222327.GT4758@dastard> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1412249394 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.10126 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 02, 2014 at 08:23:27AM +1000, Dave Chinner wrote: > Shouldn't that be: > > if (type & XFS_IOLOCK_EXCL) { > mutex_unlock(&VFS_I(ip)->i_mutex); Yes, I will resend the fixed version. From hch@lst.de Thu Oct 2 06:31: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=none 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 6AC787F63 for ; Thu, 2 Oct 2014 06:31:26 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0B2B5AC00E for ; Thu, 2 Oct 2014 04:31:25 -0700 (PDT) X-ASG-Debug-ID: 1412249483-04bdf003a26e4ff0001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id HMfynBAgbC09Hi5T (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 04:31:24 -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 4547F144D6; Thu, 2 Oct 2014 13:31:23 +0200 (CEST) Date: Thu, 2 Oct 2014 13:31:23 +0200 From: Christoph Hellwig To: Dave Chinner Cc: Christoph Hellwig , Milosz Tanski , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: preadv2/pwritev2 updates Message-ID: <20141002113123.GB32112@lst.de> X-ASG-Orig-Subj: Re: preadv2/pwritev2 updates References: <1412197494-7655-1-git-send-email-hch@lst.de> <20141001222637.GU4758@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141001222637.GU4758@dastard> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1412249484 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.10126 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 02, 2014 at 08:26:37AM +1000, Dave Chinner wrote: > On Wed, Oct 01, 2014 at 11:04:51PM +0200, Christoph Hellwig wrote: > > Hi Miklos, > > > > attached are the patches that go on top of your > > "[RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only)" > > series. The first one adds RWF_NONBLOCK to XFS, the other two > > add a new RWF_DSYNC flag that adds a per-operation O_DSYNC flag. > > Christoph, any plans to add these new syscalls to xfs_io and > data integrity tests for the new RWF_DSYNC flag? I've got some hacked up xfs_io support, but Milosz was planning a slight revision of the syscall interface that I'm still waiting for. How would you want to automatically test for data integrity? That requires a powerfail or crash unfortunately and we don't have good infrastructure for that yet. I've tested it by adding a printk that RWF_DSYNC triggers the same code path as O_DSYNC. From jack@suse.cz Thu Oct 2 06:32: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 160887F4E for ; Thu, 2 Oct 2014 06:32:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 03EF78F8033 for ; Thu, 2 Oct 2014 04:32:08 -0700 (PDT) X-ASG-Debug-ID: 1412249526-04cbb073036eb2b0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 48ZKkfc5W6AGnx76 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 04:32:07 -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 2A3B6AB12; Thu, 2 Oct 2014 11:32:06 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8207D81FBC; Thu, 2 Oct 2014 13:32:05 +0200 (CEST) Date: Thu, 2 Oct 2014 13:32:05 +0200 From: Jan Kara To: "Carlos E. R." Cc: XFS mailing list Subject: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. Message-ID: <20141002113205.GE19748@quack.suse.cz> X-ASG-Orig-Subj: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. References: <20141001004514.GH24490@dastard> <542B6B8A.2060309@opensuse.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542B6B8A.2060309@opensuse.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412249527 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.10126 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Wed 01-10-14 04:48:42, Carlos E. R. wrote: > On 2014-10-01 02:45, Dave Chinner wrote: > >On Wed, Oct 01, 2014 at 12:27:20AM +0200, Carlos E. R. wrote: > > >We've already got the fix in our upstream repository: > > > >8018ec0 xfs: mark all internal workqueues as freezable > > > >It's currently in linux-next, queued for the next merge window. You > >shoul dprobably talk to your distro about getting it backported. > > Wow, thanks. I'll tell them. > > Question: where does it apply, kernel, xfsprogs? They will know, but > I don't, and I need that info for the bugzilla "component" field ;-) Feel free to assign that bug to me (jack@suse.com in bugzilla) and I'll take care of it. Honza -- Jan Kara SUSE Labs, CR From robin.listas@gmail.com Thu Oct 2 06:46: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=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 0AE8D7F56 for ; Thu, 2 Oct 2014 06:46:25 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id CEC298F8037 for ; Thu, 2 Oct 2014 04:46:24 -0700 (PDT) X-ASG-Debug-ID: 1412250382-04bdf003a26e54e0001-NocioJ Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by cuda.sgi.com with ESMTP id Yo4GhR7nYLAOTWbQ (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 02 Oct 2014 04:46:23 -0700 (PDT) X-Barracuda-Envelope-From: robin.listas@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.174 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.174] Received: by mail-wi0-f174.google.com with SMTP id cc10so3646391wib.13 for ; Thu, 02 Oct 2014 04:46:21 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.174] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.174] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=LmIQFHHcJiFNcGl6fMC3Tq2bm/Dd9OUidFxV4L8XBBU=; b=jIDNMX0JZPoPQyR1VP8hK7D+CaHPh4OOUHRzfOJBa+1EoYrNNpZIsPurVGweS1qewS J7QvL/8EUSK1d9o64c3ypWML6SZwf83SdWhxAOceWCoqApH8WpagHHwQyCiN7h//yWSx QyyYkUHKaTvxstoG9oh/G1somIhCSfo5RRKjejAarywY7g4vLTiuiD5r9MhLcXUp967F 36ssJcuyJvn5IpQyenYulyb6RdXE7FsulIA0ulKX2R+N0YxHP2RK2iIe/qhOWOsWyEFl RBZAVSv2pgwmno1Rt6VQNjFqauRWS9S4i4zSrZlzDdA5SkIyJbt8CozEdjCawfj3gZKT ReiA== X-Received: by 10.194.222.232 with SMTP id qp8mr6730882wjc.94.1412250381690; Thu, 02 Oct 2014 04:46:21 -0700 (PDT) Received: from Telcontar.valinor (177.Red-79-159-63.staticIP.rima-tde.net. [79.159.63.177]) by mx.google.com with ESMTPSA id g6sm4341934wjf.13.2014.10.02.04.46.20 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Oct 2014 04:46:21 -0700 (PDT) Sender: Carlos Robinson Received: from localhost (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id ABE7A606A6 for ; Thu, 2 Oct 2014 13:46:18 +0200 (CEST) X-Virus-Scanned: amavisd-new at valinor Received: from Telcontar.valinor ([127.0.0.1]) by localhost (Telcontar.valinor [127.0.0.1]) (amavisd-new, port 10024) with LMTP id JHHmRf7BExMK for ; Thu, 2 Oct 2014 13:46:18 +0200 (CEST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id 8D5AF606A5 for ; Thu, 2 Oct 2014 13:46:18 +0200 (CEST) Message-ID: <542D3B0A.5030600@opensuse.org> Date: Thu, 02 Oct 2014 13:46:18 +0200 From: "Carlos E. R." User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 To: XFS mailing list Subject: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. References: <20141001004514.GH24490@dastard> <542B6B8A.2060309@opensuse.org> <20141002113205.GE19748@quack.suse.cz> X-ASG-Orig-Subj: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. In-Reply-To: <20141002113205.GE19748@quack.suse.cz> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wi0-f174.google.com[209.85.212.174] X-Barracuda-Start-Time: 1412250382 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.10126 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: SHA1 On 2014-10-02 13:32, Jan Kara wrote: > On Wed 01-10-14 04:48:42, Carlos E. R. wrote: >> Question: where does it apply, kernel, xfsprogs? They will know, >> but I don't, and I need that info for the bugzilla "component" >> field ;-) > Feel free to assign that bug to me (jack at suse.com in bugzilla) > and I'll take care of it. Sure, thanks. I'm busy with other things right now, will do as soon as I can. Yesterday I was restoring the machine. - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlQtOv8ACgkQtTMYHG2NR9Ux/QCdExQvegQEierd/9RiFwvjQ+6z wBcAmgOdaaeWY3iZaTo4HogjuxqUSsMg =8lRj -----END PGP SIGNATURE----- From bfoster@redhat.com Thu Oct 2 08:12: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 388D87F63 for ; Thu, 2 Oct 2014 08:12:21 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 27522304077 for ; Thu, 2 Oct 2014 06:12:18 -0700 (PDT) X-ASG-Debug-ID: 1412255536-04cb6c50e7662e20001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id nUlcSxuyJf0Csr36 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 06:12:17 -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 s92DCFBw012809 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 2 Oct 2014 09:12:16 -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 s92DCEpa005908 for ; Thu, 2 Oct 2014 09:12:15 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id F15CA120064; Thu, 2 Oct 2014 09:12:13 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH] xfs: fix zero range i_size problems Date: Thu, 2 Oct 2014 09:12:13 -0400 X-ASG-Orig-Subj: [PATCH] xfs: fix zero range i_size problems Message-Id: <1412255533-8357-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: 1412255537 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 The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). Update xfs_zero_file_space() to forego using buffered I/O for partial pages. Instead, convert the block aligned (rather than page aligned) range to unwritten extents, update the partial blocks on disk and use existing pagecache functionality to ensure cached pages are consistent with data on disk. Signed-off-by: Brian Foster --- This passes xfstests and survived an overnight fsx run (+300m ops) on a 1k fsb fs. The tradeoff that I've observed from this implementation is that fzero is now also likely to trigger the problem described in the recently posted xfs/053 test: http://oss.sgi.com/archives/xfs/2014-09/msg00473.html This is slightly unfortunate, but as I understand it that problem is more fundamentally associated with extent conversion and writeback vs. any particular fs operation that might expose it. Brian fs/xfs/xfs_bmap_util.c | 110 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 78 insertions(+), 32 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index d8b77b5..f2d58e2 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1364,7 +1364,17 @@ xfs_free_file_space( goto out; } - +/* + * Preallocate and zero a range of a file. This mechanism has the allocation + * semantics of fallocate and in addition converts data in the range to zeroes. + * This is done using unwritten extent conversion for complete blocks within the + * range. Partial start/end blocks cannot be converted to unwritten as they + * contain valid data. Therefore, partial blocks are preallocated and explicitly + * zeroed on-disk. + * + * Note that all allocation occurs in file sequential order (e.g., partial + * start, middle, partial end) to help the allocator create contiguous extents. + */ int xfs_zero_file_space( struct xfs_inode *ip, @@ -1372,63 +1382,99 @@ xfs_zero_file_space( xfs_off_t len) { struct xfs_mount *mp = ip->i_mount; - uint granularity; + uint blksize; xfs_off_t start_boundary; xfs_off_t end_boundary; int error; + loff_t eof; + xfs_off_t endoffset; trace_xfs_zero_file_space(ip); - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); + blksize = 1 << mp->m_sb.sb_blocklog; /* - * Round the range of extents we are going to convert inwards. If the - * offset is aligned, then it doesn't get changed so we zero from the - * start of the block offset points to. + * Align the range inward to blocksize. This represents the range that + * can be converted to unwritten extents. */ - start_boundary = round_up(offset, granularity); - end_boundary = round_down(offset + len, granularity); + start_boundary = round_up(offset, blksize); + end_boundary = round_down(offset + len, blksize); ASSERT(start_boundary >= offset); ASSERT(end_boundary <= offset + len); - if (start_boundary < end_boundary - 1) { + /* + * Flush the eof page before we start so we don't lose an i_size update + * due to discarding an appending I/O in cache. + */ + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); + if (eof >= start_boundary && eof <= end_boundary) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); + + /* + * Writeback the partial pages if either the start or end is not page + * aligned to prevent writeback races with partial block zeroing. + * truncate_pagecache_range() handles partial page zeroing if the pages + * are cached. + */ + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, + start_boundary); + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, + offset + len); + } + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); + + /* handle a partial start block */ + if (offset < start_boundary) { + /* don't go past the end offset if it's within the block */ + endoffset = min_t(xfs_off_t, start_boundary, offset + len); + + /* preallocate the block and zero the partial range on disk */ + error = xfs_alloc_file_space(ip, offset, + start_boundary - offset, XFS_BMAPI_PREALLOC); + if (error) + goto out; + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); + if (error) + goto out; + + /* if we've hit the end offset, we're done */ + if (endoffset == offset + len) + goto out; + } + + /* handle complete blocks */ + if (end_boundary > start_boundary) { /* - * punch out delayed allocation blocks and the page cache over - * the conversion range + * Punch out any delalloc extents first. We don't need the data + * and this is more efficient than converting them all to + * written->unwritten. */ xfs_ilock(ip, XFS_ILOCK_EXCL); error = xfs_bmap_punch_delalloc_range(ip, XFS_B_TO_FSBT(mp, start_boundary), - XFS_B_TO_FSB(mp, end_boundary - start_boundary)); + XFS_B_TO_FSB(mp, + end_boundary - start_boundary)); xfs_iunlock(ip, XFS_ILOCK_EXCL); - truncate_pagecache_range(VFS_I(ip), start_boundary, - end_boundary - 1); - /* convert the blocks */ + /* convert the range to unwritten extents */ error = xfs_alloc_file_space(ip, start_boundary, end_boundary - start_boundary - 1, XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); if (error) goto out; + } - /* We've handled the interior of the range, now for the edges */ - if (start_boundary != offset) { - error = xfs_iozero(ip, offset, start_boundary - offset); - if (error) - goto out; - } - - if (end_boundary != offset + len) - error = xfs_iozero(ip, end_boundary, - offset + len - end_boundary); - - } else { - /* - * It's either a sub-granularity range or the range spanned lies - * partially across two adjacent blocks. - */ - error = xfs_iozero(ip, offset, len); + /* handle a partial end block */ + if (offset + len > end_boundary) { + error = xfs_alloc_file_space(ip, end_boundary, + offset + len - end_boundary, + XFS_BMAPI_PREALLOC); + if (error) + goto out; + error = xfs_zero_remaining_bytes(ip, end_boundary, + offset + len - 1); } out: -- 1.8.3.1 From tinguely@sgi.com Thu Oct 2 08:27: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=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 F1EF27F67 for ; Thu, 2 Oct 2014 08:27:55 -0500 (CDT) Received: from dhcp-128-162-232-226.americas.sgi.com (dhcp-128-162-232-226.americas.sgi.com [128.162.232.226]) by relay1.corp.sgi.com (Postfix) with ESMTP id C83568F8037; Thu, 2 Oct 2014 06:27:52 -0700 (PDT) Message-ID: <542D52DB.6090709@sgi.com> Date: Thu, 02 Oct 2014 08:27:55 -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: [PATCH] xfs: fix the xfs_iflush_done callback search References: <20141001191803.153063401@sgi.com> <20141001223456.GV4758@dastard> In-Reply-To: <20141001223456.GV4758@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 10/01/14 17:34, Dave Chinner wrote: > On Wed, Oct 01, 2014 at 04:18:02PM -0500, Mark Tinguely wrote: >> Commit "xfs: remove all the inodes on a buffer from the AIL in bulk" >> made the xfs inode flush callback more efficient by combining all >> the inode writes on the buffer and the deletions of the inode log >> item from AIL. >> >> The initial loop in this patch should be looping through all >> the log items on the buffer to see which items have >> xfs_iflush_done as their callback function. But currently, >> only the log item passed to the function has its callback >> compared to xfs_iflush_done. If the log item pointer passed to >> the function does have the xfs_iflush_done callback function, >> then all the log items on the buffer are removed from the >> li_bio_list on the buffer b_fspriv and could be removed from >> the AIL eventhough they may have not been written yet. > > Looks like a bug, but what I don't know from this description is > the symptoms and impact of this bug being hit? Is there a risk of > filesystem corruption on crash or power loss? Perhaps it's a data > loss issue? I can't tell, and for anyone scanning the commit logs to > determine if they need to backport the fix will be asking the same > questions. > > Also, is there a reproducable test case for it? I was looking in this code for a way an inode could be removed from the AIL but not written to disk. I have a metadata dump that shows a truncate on two inodes just before a clean unmount. The free space btrees are updated but neither inode has been updated. A clean shutdown will wait until the AIL is empty, so something removed the inode from the AIL but did not write the latest changes to disk. Yes, there were earlier changes to inode/chunk in previous pushes. This results in the blocks being both free and allocated....if we are lucky, we get a XFS_WANT_CORRUPTED_GOTO forced shutdowns because of partial frees in xfs_free_ag_extent(). Most of the time it is reallocated and that leads to all kinds of data/metadata corruption. I tried to recreate the problem with truncates on files while unmounting but have not gotten the correct combination. I have been chasing the ghost of the duplicate allocation corruption problem for months and I did not want to over state my beliefs until I could replicate the problem. I would advise an xfs_repair in addition to the patch, the corruption could have happened a long time ago and could be waiting to trigger. --Mark. From sandeen@sandeen.net Thu Oct 2 10:37: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 7FC7D7F55 for ; Thu, 2 Oct 2014 10:37:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5CFDB8F8059 for ; Thu, 2 Oct 2014 08:37:18 -0700 (PDT) X-ASG-Debug-ID: 1412264236-04bdf003a06f27f0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id NhYyiXXCqgU9Uvp2 for ; Thu, 02 Oct 2014 08:37: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 06A2965B6837; Thu, 2 Oct 2014 10:37:15 -0500 (CDT) Message-ID: <542D712E.7050903@sandeen.net> Date: Thu, 02 Oct 2014 10:37:18 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Simon Dray , Dave Chinner CC: "xfs@oss.sgi.com" Subject: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot References: <20140925081254.GH4758@dastard> X-ASG-Orig-Subj: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412264236 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.10131 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/2/14 6:05 AM, Simon Dray wrote: ... > CE: hpet increasing min_delta_ns to 40226 nsec > hpsa 0000:03:00.0: Abort request on C3:B0:T0:L4 > hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) > hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) > hpsa 0000:03:00.0: FAILED abort on device C3:B0:T0:L4 > hpsa 0000:03:00.0: resetting device 3:0:0:4 > hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) > hpsa 0000:03:00.0: resetting device failed. > sd 3:0:0:4: Device offlined - not ready after error recovery > sd 3:0:0:4: [sde] Unhandled error code > sd 3:0:0:4: [sde] Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT > sd 3:0:0:4: [sde] CDB: Write(16): 8a 00 00 00 00 02 39 90 e9 60 00 00 0c 08 00 00 > sd 3:0:0:4: rejecting I/O to offline device > sd 3:0:0:4: [sde] killing request > sd 3:0:0:4: rejecting I/O to offline device > sd 3:0:0:4: rejecting I/O to offline device > sd 3:0:0:4: rejecting I/O to offline device > sd 3:0:0:4: rejecting I/O to offline device ... > sd 3:0:0:4: [sde] Unhandled error code > sd 3:0:0:4: [sde] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK > sd 3:0:0:4: [sde] CDB: Write(10): 2a 00 b6 43 28 00 00 0c 98 00 > Buffer I/O error on device md0, logical block 3583397932 > lost page write due to I/O error on md0 > Buffer I/O error on device md0, logical block 3583397933 > lost page write due to I/O error on md0 ... It looks like you need to address your storage issues first, and then see what if any repair needs to be done on the xfs filesystem. -Eric From sdray@espial.com Thu Oct 2 12:30: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 69E537F67 for ; Thu, 2 Oct 2014 12:30:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id ECD48AC014 for ; Thu, 2 Oct 2014 10:30:09 -0700 (PDT) X-ASG-Debug-ID: 1412271007-04cb6c50e5671470001-NocioJ Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0131.outbound.protection.outlook.com [157.56.111.131]) by cuda.sgi.com with ESMTP id Pqe8YoD9zHBGABoi (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 10:30:08 -0700 (PDT) X-Barracuda-Envelope-From: sdray@Espial.com X-Barracuda-Apparent-Source-IP: 157.56.111.131 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com (25.160.170.28) by BN1PR0301MB0626.namprd03.prod.outlook.com (25.160.171.11) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Thu, 2 Oct 2014 17:30:06 +0000 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) by BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) with mapi id 15.00.1039.011; Thu, 2 Oct 2014 17:30:06 +0000 From: Simon Dray To: Eric Sandeen CC: Dave Chinner , "xfs@oss.sgi.com" Subject: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Topic: XFS issue xfs goes offline with various messages drive not recoverable without reboot X-ASG-Orig-Subj: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Index: AQHP2JiOlCHFKVSF30yUfVq4ZEQPRJwcrPTwgABPWgCAAAzyAA== Date: Thu, 2 Oct 2014 17:30:06 +0000 Message-ID: References: <20140925081254.GH4758@dastard> <542D712E.7050903@sandeen.net> In-Reply-To: <542D712E.7050903@sandeen.net> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [85.255.233.122] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0626; x-forefront-prvs: 03524FBD26 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(51704005)(52604005)(24454002)(479174003)(377454003)(199003)(189002)(4396001)(85852003)(64706001)(33656002)(80022003)(10300001)(83716003)(2656002)(87936001)(46102003)(76482002)(120916001)(19580405001)(95666004)(86362001)(50986999)(36756003)(99286002)(54356999)(106116001)(97736003)(92566001)(20776003)(77096002)(82746002)(110136001)(66066001)(85306004)(92726001)(93886004)(19580395003)(31966008)(101416001)(99396003)(76176999)(106356001)(21056001)(105586002)(107046002)(104396001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR0301MB0626;H:BN1PR0301MB0625.namprd03.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-ID: <0181D425478F0C41B95099411A2D42A3@Espial.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Espial.com X-Barracuda-Connect: mail-bn1bon0131.outbound.protection.outlook.com[157.56.111.131] X-Barracuda-Start-Time: 1412271008 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.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=THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10134 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... Eric So would you say this is hardware Thanks for looking=20 Regards Simon Simon Dray Espial (UK) sdray@espial.com Tel: +441223716476 > On 2 Oct 2014, at 16:37, Eric Sandeen wrote: >=20 > On 10/2/14 6:05 AM, Simon Dray wrote: >=20 > ... >> CE: hpet increasing min_delta_ns to 40226 nsec >> hpsa 0000:03:00.0: Abort request on C3:B0:T0:L4 >> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably mea= ns target device no longer present) >> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably mea= ns target device no longer present) >> hpsa 0000:03:00.0: FAILED abort on device C3:B0:T0:L4 >> hpsa 0000:03:00.0: resetting device 3:0:0:4 >> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably mea= ns target device no longer present) >> hpsa 0000:03:00.0: resetting device failed. >> sd 3:0:0:4: Device offlined - not ready after error recovery >> sd 3:0:0:4: [sde] Unhandled error code >> sd 3:0:0:4: [sde] Result: hostbyte=3DDID_OK driverbyte=3DDRIVER_TIMEOUT >> sd 3:0:0:4: [sde] CDB: Write(16): 8a 00 00 00 00 02 39 90 e9 60 00 00 0c= 08 00 00 >> sd 3:0:0:4: rejecting I/O to offline device >> sd 3:0:0:4: [sde] killing request >> sd 3:0:0:4: rejecting I/O to offline device >> sd 3:0:0:4: rejecting I/O to offline device >> sd 3:0:0:4: rejecting I/O to offline device >> sd 3:0:0:4: rejecting I/O to offline device > ... >> sd 3:0:0:4: [sde] Unhandled error code >> sd 3:0:0:4: [sde] Result: hostbyte=3DDID_NO_CONNECT driverbyte=3DDRIVER_= OK >> sd 3:0:0:4: [sde] CDB: Write(10): 2a 00 b6 43 28 00 00 0c 98 00 >> Buffer I/O error on device md0, logical block 3583397932 >> lost page write due to I/O error on md0 >> Buffer I/O error on device md0, logical block 3583397933 >> lost page write due to I/O error on md0 > ... >=20 > It looks like you need to address your storage issues first, and then see= what if any repair needs to be done on the xfs filesystem. >=20 > -Eric From hch@lst.de Thu Oct 2 12:33: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 4EF777F6B for ; Thu, 2 Oct 2014 12:33:52 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id EE19EAC012 for ; Thu, 2 Oct 2014 10:33:51 -0700 (PDT) X-ASG-Debug-ID: 1412271228-04bdf0039f6f9840001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id uSSVspGgoGwkrqK6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 10:33:50 -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 53F17144E0; Thu, 2 Oct 2014 19:33:47 +0200 (CEST) Date: Thu, 2 Oct 2014 19:33:47 +0200 From: Christoph Hellwig To: Milosz Tanski Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com, Dave Chinner Subject: [PATCH 1/3 v2] xfs: add RWF_NONBLOCK support Message-ID: <20141002173347.GA28846@lst.de> X-ASG-Orig-Subj: [PATCH 1/3 v2] xfs: add RWF_NONBLOCK support References: <1412197494-7655-1-git-send-email-hch@lst.de> <1412197494-7655-2-git-send-email-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412197494-7655-2-git-send-email-hch@lst.de> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1412271229 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.10134 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_file.c | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index cf61271..6981b10 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -61,6 +61,25 @@ xfs_rw_ilock( xfs_ilock(ip, type); } +static inline bool +xfs_rw_ilock_nowait( + struct xfs_inode *ip, + int type) +{ + if (type & XFS_IOLOCK_EXCL) { + if (!mutex_trylock(&VFS_I(ip)->i_mutex)) + return false; + if (!xfs_ilock_nowait(ip, type)) { + mutex_unlock(&VFS_I(ip)->i_mutex); + return false; + } + } else { + if (!xfs_ilock_nowait(ip, type)) + return false; + } + return true; +} + static inline void xfs_rw_iunlock( struct xfs_inode *ip, @@ -246,10 +265,6 @@ xfs_file_read_iter( XFS_STATS_INC(xs_read_calls); - /* XXX: need a non-blocking iolock helper, shouldn't be too hard */ - if (iocb->ki_rwflags & RWF_NONBLOCK) - return -EAGAIN; - if (unlikely(file->f_flags & O_DIRECT)) ioflags |= XFS_IO_ISDIRECT; if (file->f_mode & FMODE_NOCMTIME) @@ -287,7 +302,14 @@ xfs_file_read_iter( * This allows the normal direct IO case of no page cache pages to * proceeed concurrently without serialisation. */ - xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); + if (iocb->ki_rwflags & RWF_NONBLOCK) { + if (ioflags & XFS_IO_ISDIRECT) + return -EAGAIN; + if (!xfs_rw_ilock_nowait(ip, XFS_IOLOCK_SHARED)) + return -EAGAIN; + } else { + xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); + } if ((ioflags & XFS_IO_ISDIRECT) && inode->i_mapping->nrpages) { xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); xfs_rw_ilock(ip, XFS_IOLOCK_EXCL); -- 1.9.1 From last@guiasamerica.info Thu Oct 2 13:09: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 75E077F6D for ; Thu, 2 Oct 2014 13:09:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 059C7AC015 for ; Thu, 2 Oct 2014 11:09:20 -0700 (PDT) X-ASG-Debug-ID: 1412273359-04cb6c50e46744f0001-NocioJ Received: from mail.key1.guiasamerica.info.pem (mail.guiasamerica.info [68.168.96.160]) by cuda.sgi.com with ESMTP id IjmUdUQhfuP4bVTu for ; Thu, 02 Oct 2014 11:09:19 -0700 (PDT) X-Barracuda-Envelope-From: last@guiasamerica.info X-Barracuda-Apparent-Source-IP: 68.168.96.160 Received: from 68-168-96-196 (68.168.96.160) by mail.key1.guiasamerica.info.pem id h5ma8k0our09 for ; Thu, 2 Oct 2014 13:08:10 -0500 (envelope-from ) pinzel: 29925 Message-ID: <8d019373afceea3838cc8da40014f6ca@guiasamerica.info> From: "Cuentas por Cobrar" To: Subject: Programa de Especializacion en Cobranza Date: Thu, 2 Oct 2014 13:08:10 -0500 X-ASG-Orig-Subj: Programa de Especializacion en Cobranza MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail.guiasamerica.info[68.168.96.160] X-Barracuda-Start-Time: 1412273359 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.10134 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- C=C3=B3mo Cobrar como un Experto Guadalajara, 15 de octubre 2014 Monterrey 17 de octubre 2014 Obtenga la informaci=C3=B3n completa(temario, precios, rese=C3=B1a del = instructor), solo responda la palabra "Experto + Sede" Mayores informes e inscripci=C3=B3n, - Solic=C3=ADtala Ya L=C3=ADnea directa Guadalajara: 01 331 809 8213=20 L=C3=ADnea directa D.F. y MTY: 01 800 212 0660.=2E Dirigido a: Cobradores, Representantes de Cuentas, Representantes de = Servicio al Cliente, Gerentes y Supervisores de Cobranza.=20 Aprenda:=20 =E2=80=A2 Transmita el mensaje indicado de la manera m=C3=A1s efectiva=2E =E2=80=A2 Aprenda a hacer buenas preguntas y a responder con confianza=2E =E2=80=A2 Desarrolle una actitud profesional y no acosadora al hablar por = tel=C3=A9fono=2E =E2=80=A2 Controle todos sus contactos estableciendo una relaci=C3=B3n con = sus clientes=2E =E2=80=A2 Desarrolle un plan de acci=C3=B3n personal para darle = seguimiento a cada actividad y resultado=2E =E2=80=A2 Aprenda a identificar los diferentes tipos de clientes para = as=C3=AD desarrollar estrategias =E2=80=A2 Aprenda a resolver las cuentas por cobrar con estrategias = efectivas de comunicaci=C3=B3n=2E si deseas ser borrado: xfs@oss.sgi.com de nuestro listado de env=C3=ADos = s=C3=B3lo responda con la palabra (Expo) y su solicitud ser=C3=A1 = procesada en las pr=C3=B3ximas 48 Hrs. From sandeen@sandeen.net Thu Oct 2 14:40: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 90B417F50 for ; Thu, 2 Oct 2014 14:40:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 21257AC014 for ; Thu, 2 Oct 2014 12:40:35 -0700 (PDT) X-ASG-Debug-ID: 1412278834-04cb6c50e4679140001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 3feTG9svOL1yLVni for ; Thu, 02 Oct 2014 12:40: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id B36A961295A5; Thu, 2 Oct 2014 14:40:33 -0500 (CDT) Message-ID: <542DAA34.4090701@sandeen.net> Date: Thu, 02 Oct 2014 14:40:36 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Simon Dray CC: "xfs@oss.sgi.com" Subject: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot References: <20140925081254.GH4758@dastard> <542D712E.7050903@sandeen.net> X-ASG-Orig-Subj: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412278834 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.10136 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Yes, something went wrong w/ storage, lost IOs, and xfs is reacting - telling you about the problems it encountered as a result. -Eric On 10/2/14 12:30 PM, Simon Dray wrote: > Eric > > So would you say this is hardware > > Thanks for looking > > Regards Simon > > Simon Dray > Espial (UK) > sdray@espial.com > Tel: +441223716476 > > >> On 2 Oct 2014, at 16:37, Eric Sandeen wrote: >> >> On 10/2/14 6:05 AM, Simon Dray wrote: >> >> ... >>> CE: hpet increasing min_delta_ns to 40226 nsec >>> hpsa 0000:03:00.0: Abort request on C3:B0:T0:L4 >>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) >>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) >>> hpsa 0000:03:00.0: FAILED abort on device C3:B0:T0:L4 >>> hpsa 0000:03:00.0: resetting device 3:0:0:4 >>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably means target device no longer present) >>> hpsa 0000:03:00.0: resetting device failed. >>> sd 3:0:0:4: Device offlined - not ready after error recovery >>> sd 3:0:0:4: [sde] Unhandled error code >>> sd 3:0:0:4: [sde] Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT >>> sd 3:0:0:4: [sde] CDB: Write(16): 8a 00 00 00 00 02 39 90 e9 60 00 00 0c 08 00 00 >>> sd 3:0:0:4: rejecting I/O to offline device >>> sd 3:0:0:4: [sde] killing request >>> sd 3:0:0:4: rejecting I/O to offline device >>> sd 3:0:0:4: rejecting I/O to offline device >>> sd 3:0:0:4: rejecting I/O to offline device >>> sd 3:0:0:4: rejecting I/O to offline device >> ... >>> sd 3:0:0:4: [sde] Unhandled error code >>> sd 3:0:0:4: [sde] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK >>> sd 3:0:0:4: [sde] CDB: Write(10): 2a 00 b6 43 28 00 00 0c 98 00 >>> Buffer I/O error on device md0, logical block 3583397932 >>> lost page write due to I/O error on md0 >>> Buffer I/O error on device md0, logical block 3583397933 >>> lost page write due to I/O error on md0 >> ... >> >> It looks like you need to address your storage issues first, and then see what if any repair needs to be done on the xfs filesystem. >> >> -Eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sdray@espial.com Thu Oct 2 14:42: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 A20CF7F50 for ; Thu, 2 Oct 2014 14:42:18 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2F065AC005 for ; Thu, 2 Oct 2014 12:42:18 -0700 (PDT) X-ASG-Debug-ID: 1412278935-04cb6c50e76792c0001-NocioJ Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0114.outbound.protection.outlook.com [157.56.110.114]) by cuda.sgi.com with ESMTP id gOsuuEtwoRHQvNcW (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Oct 2014 12:42:16 -0700 (PDT) X-Barracuda-Envelope-From: sdray@Espial.com X-Barracuda-Apparent-Source-IP: 157.56.110.114 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com (25.160.170.28) by BN1PR0301MB0626.namprd03.prod.outlook.com (25.160.171.11) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Thu, 2 Oct 2014 19:42:14 +0000 Received: from BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) by BN1PR0301MB0625.namprd03.prod.outlook.com ([25.160.170.28]) with mapi id 15.00.1039.011; Thu, 2 Oct 2014 19:42:14 +0000 From: Simon Dray To: Eric Sandeen CC: "xfs@oss.sgi.com" Subject: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Topic: XFS issue xfs goes offline with various messages drive not recoverable without reboot X-ASG-Orig-Subj: Re: XFS issue xfs goes offline with various messages drive not recoverable without reboot Thread-Index: AQHP2JiOlCHFKVSF30yUfVq4ZEQPRJwcrPTwgABPWgCAAAzyAIAANwgAgAAAdY4= Date: Thu, 2 Oct 2014 19:42:14 +0000 Message-ID: <3F39336F-7FE2-4FB5-815A-A0A6ACF0ACCB@Espial.com> References: <20140925081254.GH4758@dastard> <542D712E.7050903@sandeen.net> ,<542DAA34.4090701@sandeen.net> In-Reply-To: <542DAA34.4090701@sandeen.net> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [81.155.130.102] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR0301MB0626; x-forefront-prvs: 03524FBD26 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(377454003)(199003)(189002)(52604005)(51704005)(479174003)(24454002)(97736003)(106116001)(54356999)(20776003)(92566001)(50986999)(99286002)(36756003)(76176999)(106356001)(107046002)(21056001)(15975445006)(105586002)(85306004)(77096002)(82746002)(110136001)(19580395003)(99396003)(101416001)(66066001)(31966008)(92726001)(93886004)(64706001)(33656002)(10300001)(80022003)(85852003)(4396001)(120916001)(76482002)(86362001)(19580405001)(95666004)(87936001)(2656002)(83716003)(15202345003)(46102003)(104396001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR0301MB0626;H:BN1PR0301MB0625.namprd03.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Espial.com X-Barracuda-Connect: mail-bn1on0114.outbound.protection.outlook.com[157.56.110.114] X-Barracuda-Start-Time: 1412278935 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.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=THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10136 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... Eric thanks appreciate your time Regards Simon > On 2 Oct 2014, at 20:40, Eric Sandeen wrote: >=20 > Yes, something went wrong w/ storage, lost IOs, and xfs is reacting -=20 > telling you about the problems it encountered as a result. >=20 > -Eric >=20 >> On 10/2/14 12:30 PM, Simon Dray wrote: >> Eric >>=20 >> So would you say this is hardware >>=20 >> Thanks for looking=20 >>=20 >> Regards Simon >>=20 >> Simon Dray >> Espial (UK) >> sdray@espial.com >> Tel: +441223716476 >>=20 >>=20 >>> On 2 Oct 2014, at 16:37, Eric Sandeen wrote: >>>=20 >>> On 10/2/14 6:05 AM, Simon Dray wrote: >>>=20 >>> ... >>>> CE: hpet increasing min_delta_ns to 40226 nsec >>>> hpsa 0000:03:00.0: Abort request on C3:B0:T0:L4 >>>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably m= eans target device no longer present) >>>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably m= eans target device no longer present) >>>> hpsa 0000:03:00.0: FAILED abort on device C3:B0:T0:L4 >>>> hpsa 0000:03:00.0: resetting device 3:0:0:4 >>>> hpsa 0000:03:00.0: cp ffff8800bd3ee000 is reported invalid (probably m= eans target device no longer present) >>>> hpsa 0000:03:00.0: resetting device failed. >>>> sd 3:0:0:4: Device offlined - not ready after error recovery >>>> sd 3:0:0:4: [sde] Unhandled error code >>>> sd 3:0:0:4: [sde] Result: hostbyte=3DDID_OK driverbyte=3DDRIVER_TIMEOU= T >>>> sd 3:0:0:4: [sde] CDB: Write(16): 8a 00 00 00 00 02 39 90 e9 60 00 00 = 0c 08 00 00 >>>> sd 3:0:0:4: rejecting I/O to offline device >>>> sd 3:0:0:4: [sde] killing request >>>> sd 3:0:0:4: rejecting I/O to offline device >>>> sd 3:0:0:4: rejecting I/O to offline device >>>> sd 3:0:0:4: rejecting I/O to offline device >>>> sd 3:0:0:4: rejecting I/O to offline device >>> ... >>>> sd 3:0:0:4: [sde] Unhandled error code >>>> sd 3:0:0:4: [sde] Result: hostbyte=3DDID_NO_CONNECT driverbyte=3DDRIVE= R_OK >>>> sd 3:0:0:4: [sde] CDB: Write(10): 2a 00 b6 43 28 00 00 0c 98 00 >>>> Buffer I/O error on device md0, logical block 3583397932 >>>> lost page write due to I/O error on md0 >>>> Buffer I/O error on device md0, logical block 3583397933 >>>> lost page write due to I/O error on md0 >>> ... >>>=20 >>> It looks like you need to address your storage issues first, and then s= ee what if any repair needs to be done on the xfs filesystem. >>>=20 >>> -Eric >>=20 >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs >>=20 >=20 From david@fromorbit.com Thu Oct 2 16:05: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 1444C7F4E for ; Thu, 2 Oct 2014 16:05:36 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E7F8B8F8064 for ; Thu, 2 Oct 2014 14:05:32 -0700 (PDT) X-ASG-Debug-ID: 1412283927-04bdf003a0706da0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id gQNy4l1pjOwiIgmU for ; Thu, 02 Oct 2014 14:05: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: AmkrABa9LVR5LDjwPGdsb2JhbABfgw6BK4IyhQevKgaVaYVqBAICgQwXAQYBAQEBODmEBAEBBDocIxAIAw4KCSUPBSUDBxoTiD2+JRgYhX2KEQeDLYEeBZ06gS2Ga4llh3QrL4JKAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl6.internode.on.net with ESMTP; 03 Oct 2014 06:35:26 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZnYz-0005gH-N8; Fri, 03 Oct 2014 07:05:25 +1000 Date: Fri, 3 Oct 2014 07:05:25 +1000 From: Dave Chinner To: Christoph Hellwig Cc: Milosz Tanski , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: preadv2/pwritev2 updates Message-ID: <20141002210525.GB12693@dastard> X-ASG-Orig-Subj: Re: preadv2/pwritev2 updates References: <1412197494-7655-1-git-send-email-hch@lst.de> <20141001222637.GU4758@dastard> <20141002113123.GB32112@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141002113123.GB32112@lst.de> 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: 1412283927 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.10141 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 02, 2014 at 01:31:23PM +0200, Christoph Hellwig wrote: > On Thu, Oct 02, 2014 at 08:26:37AM +1000, Dave Chinner wrote: > > On Wed, Oct 01, 2014 at 11:04:51PM +0200, Christoph Hellwig wrote: > > > Hi Miklos, > > > > > > attached are the patches that go on top of your > > > "[RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only)" > > > series. The first one adds RWF_NONBLOCK to XFS, the other two > > > add a new RWF_DSYNC flag that adds a per-operation O_DSYNC flag. > > > > Christoph, any plans to add these new syscalls to xfs_io and > > data integrity tests for the new RWF_DSYNC flag? > > I've got some hacked up xfs_io support, but Milosz was planning a > slight revision of the syscall interface that I'm still waiting for. > > How would you want to automatically test for data integrity? That requires > a powerfail or crash unfortunately and we don't have good infrastructure > for that yet. I've tested it by adding a printk that RWF_DSYNC triggers > the same code path as O_DSYNC. We have the infrastructure in xfstests to do this in a generic way: use dm-flakey. The fsync tests (generic/311, generic/32[23]) that Josef wrote that use dm-flakey to prevent writes after the IOs have completed and check that the data is there after remount. Similarly, for xfs specific tests we have older tests that use the shutdown ioctl (e.g. xfs/137-139) by using the godown function to shut the filesystem down and prevent unmount from writing metadata. On remount the data should be present. So there's a couple of different ways you can do this... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 2 18:00: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id F16107F51 for ; Thu, 2 Oct 2014 18:00:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id CE4BC304032 for ; Thu, 2 Oct 2014 16:00:05 -0700 (PDT) X-ASG-Debug-ID: 1412290801-04cb6c50e5683520001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id o0EbI2txmiCGaoZv for ; Thu, 02 Oct 2014 16:00:01 -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: AmsrAETYLVR5LDjwPGdsb2JhbABegw6BK4IyhQevKgaVaYVqBAICgQwXAQYBAQEBODmEAwEBAQMBJxMcIwULCAMYCSUPBSUDBxoTiDYHviQBFxiFfYlDTgeDLYEeBY9EjXaIaYNmjSIrL4JKAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl6.internode.on.net with ESMTP; 03 Oct 2014 08:30:00 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XZpLq-0005wR-Iu; Fri, 03 Oct 2014 08:59:58 +1000 Date: Fri, 3 Oct 2014 08:59:58 +1000 From: Dave Chinner To: Mark Tinguely Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix the xfs_iflush_done callback search Message-ID: <20141002225958.GC12693@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix the xfs_iflush_done callback search References: <20141001191803.153063401@sgi.com> <20141001223456.GV4758@dastard> <542D52DB.6090709@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542D52DB.6090709@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: 1412290801 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.10141 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 02, 2014 at 08:27:55AM -0500, Mark Tinguely wrote: > On 10/01/14 17:34, Dave Chinner wrote: > >On Wed, Oct 01, 2014 at 04:18:02PM -0500, Mark Tinguely wrote: > >>Commit "xfs: remove all the inodes on a buffer from the AIL in bulk" > >>made the xfs inode flush callback more efficient by combining all > >>the inode writes on the buffer and the deletions of the inode log > >>item from AIL. > >> > >>The initial loop in this patch should be looping through all > >>the log items on the buffer to see which items have > >>xfs_iflush_done as their callback function. But currently, > >>only the log item passed to the function has its callback > >>compared to xfs_iflush_done. If the log item pointer passed to > >>the function does have the xfs_iflush_done callback function, > >>then all the log items on the buffer are removed from the > >>li_bio_list on the buffer b_fspriv and could be removed from > >>the AIL eventhough they may have not been written yet. > > > >Looks like a bug, but what I don't know from this description is > >the symptoms and impact of this bug being hit? Is there a risk of > >filesystem corruption on crash or power loss? Perhaps it's a data > >loss issue? I can't tell, and for anyone scanning the commit logs to > >determine if they need to backport the fix will be asking the same > >questions. > > > >Also, is there a reproducable test case for it? > > I was looking in this code for a way an inode could be removed from > the AIL but not written to disk. > > I have a metadata dump that shows a truncate on two inodes just > before a clean unmount. The free space btrees are updated but > neither inode has been updated. A clean shutdown will wait until the > AIL is empty, And until all the inodes are reclaimed and buffers written. If the inode is dirty in reclaim (i.e. has outstanding dirty fields in the log item) then it will be written - the presence in the AIL is not necessary for this to occur. These dirty flags are only cleared when the inode is flushed to the buffer and attached to it, so the presence of these fields assumes the inode is in the AIL. i.e. if reclaim didn't write the inodes out, it means the last operation that happened on these inodes was xfs_iflush() and they were cleaned and written to disk correctly. > so something removed the inode from the AIL but did > not write the latest changes to disk. Yes, there were earlier > changes to inode/chunk in previous pushes. Let's look at this from a different perspective: how does the inode get attached to the buffer in the first place so it can be removed from the AIL in xfs_iflush_done()? The only way inodes get attached to the buffer through xfs_buf_attach_iodone() via either xfs_iflush() or xfs_ifree_cluster(). xfs_iflush() is only called when an inode is either being pushed from the AIL or being reclaimed and it is dirty. xfs_ifree_cluster() is only called when an inode chunk is being deallocated. Hence, any inode on the buffer iodone list is either currently being written or the extent it lies in has just been freed and it will never get written. When an inode chunk is being freed via xfs_ifree_cluster(), all the inodes attached to the buffer have their iodone functions changed to xfs_istale_done(). Hence we have the situation where all the inodes on a buffer have the same callbacks: either xfs_istale_done() or xfs_iflush_done(). And on buffer IO completion, all the inodes on the buffer should be cleaned at the same time, and hence all should have their completions run. If the inode is modified by another transaction while the push is in progress, the inode will be moved forward in the AIL. It will have a more recent LSN than the flush in progress. Hence this check in xfs_iflush_done() when determining if the inode should be removed from the AIL: if (iip->ili_logged && blip->li_lsn == iip->ili_flush_lsn) { log_items[i++] = blip; } i.e. it only removes the item from the AIL if the flush LSN is unchanged from when the inode was flushed to the buffer. Hence I can't see how the existing code can result in removing a dirty inode from the AIL without it being written to the buffer first (and hence cleaned), nor if such a problem occurred how such a dirty inode can make it through reclaim during unmount without being seen as dirty and written to disk. I agree that we should fix the code to be exactly correct, but I can't see how the code as is stands behaves any differently from the fixed version, nor how it would be responsible for the problem in the metadump you analysed.... I'll rework the commit message appropriately. Cheers, Dave. -- Dave Chinner david@fromorbit.com From dgc@oss.sgi.com Thu Oct 2 18:24: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=NO_RELAYS,T_FRT_FOLLOW2 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 D7CC17F51; Thu, 2 Oct 2014 18:24:32 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-buf-iosubmit, created. v3.16-11807-g8c15612 X-Git-Refname: refs/heads/xfs-buf-iosubmit X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 8c15612546bce1ecafb7dee3cce8a2a9b560e15e Message-Id: <20141002232432.D7CC17F51@oss.sgi.com> Date: Thu, 2 Oct 2014 18:24:32 -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-buf-iosubmit has been created at 8c15612546bce1ecafb7dee3cce8a2a9b560e15e (commit) - Log ----------------------------------------------------------------- commit 8c15612546bce1ecafb7dee3cce8a2a9b560e15e Author: Christoph Hellwig Date: Thu Oct 2 09:05:44 2014 +1000 xfs: simplify xfs_zero_remaining_bytes xfs_zero_remaining_bytes() open codes a log of buffer manupulations to do a read forllowed by a write. It can simply be replaced by an uncached read followed by a xfs_bwrite() call. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit ba3726742c1712c43c5a18245476f3fe9fe74773 Author: Dave Chinner Date: Thu Oct 2 09:05:32 2014 +1000 xfs: check xfs_buf_read_uncached returns correctly xfs_buf_read_uncached() has two failure modes. If can either return NULL or bp->b_error != 0 depending on the type of failure, and not all callers check for both. Fix it so that xfs_buf_read_uncached() always returns the error status, and the buffer is returned as a function parameter. The buffer will only be returned on success. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 595bff75dce51e0d6d94877b4b6d11b4747a63fd Author: Dave Chinner Date: Thu Oct 2 09:05:14 2014 +1000 xfs: introduce xfs_buf_submit[_wait] There is a lot of cookie-cutter code that looks like: if (shutdown) handle buffer error xfs_buf_iorequest(bp) error = xfs_buf_iowait(bp) if (error) handle buffer error spread through XFS. There's significant complexity now in xfs_buf_iorequest() to specifically handle this sort of synchronous IO pattern, but there's all sorts of nasty surprises in different error handling code dependent on who owns the buffer references and the locks. Pull this pattern into a single helper, where we can hide all the synchronous IO warts and hence make the error handling for all the callers much saner. This removes the need for a special extra reference to protect IO completion processing, as we can now hold a single reference across dispatch and waiting, simplifying the sync IO smeantics and error handling. In doing this, also rename xfs_buf_iorequest to xfs_buf_submit and make it explicitly handle on asynchronous IO. This forces all users to be switched specifically to one interface or the other and removes any ambiguity between how the interfaces are to be used. It also means that xfs_buf_iowait() goes away. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 8b131973d1628f1a0c5a36fe02269d696bbe60a3 Author: Dave Chinner Date: Thu Oct 2 09:05:05 2014 +1000 xfs: kill xfs_bioerror_relse There is only one caller now - xfs_trans_read_buf_map() - and it has very well defined call semantics - read, synchronous, and b_iodone is NULL. Hence it's pretty clear what error handling is necessary for this case. The bigger problem of untangling xfs_trans_read_buf_map error handling is left to a future patch. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 2718775469a521c8b35442db5d665ac0c8c3c8ac Author: Dave Chinner Date: Thu Oct 2 09:04:56 2014 +1000 xfs: xfs_bioerror can die. Internal buffer write error handling is a mess due to the unnatural split between xfs_bioerror and xfs_bioerror_relse(). xfs_bwrite() only does sync IO and determines the handler to call based on b_iodone, so for this caller the only difference between xfs_bioerror() and xfs_bioerror_release() is the XBF_DONE flag. We don't care what the XBF_DONE flag state is because we stale the buffer in both paths - the next buffer lookup will clear XBF_DONE because XBF_STALE is set. Hence we can use common error handling for xfs_bwrite(). __xfs_buf_delwri_submit() is a similar - it's only ever called on writes - all sync or async - and again there's no reason to handle them any differently at all. Clean up the nasty error handling and remove xfs_bioerror(). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 8dac39219827113f14e97507646a610ca426b69e Author: Dave Chinner Date: Thu Oct 2 09:04:40 2014 +1000 xfs: kill xfs_bdstrat_cb Only has two callers, and is just a shutdown check and error handler around xfs_buf_iorequest. However, the error handling is a mess of read and write semantics, and both internal callers only call it for writes. Hence kill the wrapper, and follow up with a patch to sanitise the error handling. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 61be9c529a4a715ab8679e9ca82bc3790c7ab66c Author: Dave Chinner Date: Thu Oct 2 09:04:31 2014 +1000 xfs: rework xfs_buf_bio_endio error handling Currently the report of a bio error from completion immediately marks the buffer with an error. The issue is that this is racy w.r.t. synchronous IO - the submitter can see b_error being set before the IO is complete, and hence we cannot differentiate between submission failures and completion failures. Add an internal b_io_error field protected by the b_lock to catch IO completion errors, and only propagate that to the buffer during final IO completion handling. Hence we can tell in xfs_buf_iorequest if we've had a submission failure bey checking bp->b_error before dropping our b_io_remaining reference - that reference will prevent b_io_error values from being propagated to b_error in the event that completion races with submission. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit e8aaba9a783c8e5d2c58ebe69650ea31b91bb745 Author: Dave Chinner Date: Thu Oct 2 09:04:22 2014 +1000 xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality We do some work in xfs_buf_ioend, and some work in xfs_buf_iodone_work, but much of that functionality is the same. This work can all be done in a single function, leaving xfs_buf_iodone just a wrapper to determine if we should execute it by workqueue or directly. hence rename xfs_buf_iodone_work to xfs_buf_ioend(), and add a new xfs_buf_ioend_async() for places that need async processing. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit e11bb8052c3f500e66142f33579cc054d691a8fb Author: Dave Chinner Date: Thu Oct 2 09:04:11 2014 +1000 xfs: synchronous buffer IO needs a reference When synchronous IO runs IO completion work, it does so without an IO reference or a hold reference on the buffer. The IO "hold reference" is owned by the submitter, and released when the submission is complete. The IO reference is released when both the submitter and the bio end_io processing is run, and so if the io completion work is run from IO completion context, it is run without an IO reference. Hence we can get the situation where the submitter can submit the IO, see an error on the buffer and unlock and free the buffer while there is still IO in progress. This leads to use-after-free and memory corruption. Fix this by taking a "sync IO hold" reference that is owned by the IO and not released until after the buffer completion calls are run to wake up synchronous waiters. This means that the buffer will not be freed in any circumstance until all IO processing is completed. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit cf53e99d192171a58791136d33fd3fea5d8bab35 Author: Dave Chinner Date: Thu Oct 2 09:04:01 2014 +1000 xfs: Don't use xfs_buf_iowait in the delwri buffer code For the special case of delwri buffer submission and waiting, we don't need to issue IO synchronously at all. The second pass to call xfs_buf_iowait() can be replaced with blocking on xfs_buf_lock() - the buffer will be unlocked when the async IO is complete. This formalises a sane the method of waiting for async IO - take an extra reference, submit the IO, call xfs_buf_lock() when you want to wait for IO completion. i.e.: bp = xfs_buf_find(); xfs_buf_hold(bp); bp->b_flags |= XBF_ASYNC; xfs_buf_iosubmit(bp); xfs_buf_lock(bp) error = bp->b_error; .... xfs_buf_relse(bp); While this is somewhat racy for gathering IO errors, none of the code that calls xfs_buf_delwri_submit() will race against other users of the buffers being submitted. Even if they do, we don't really care if the error is detected by the delwri code or the user we raced against. Either way, the error will be detected and handled. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit a870fe6dfaba1cc67424cde4cfd2cd3eee62bf35 Author: Dave Chinner Date: Thu Oct 2 09:02:28 2014 +1000 xfs: force the log before shutting down When we have marked the filesystem for shutdown, we want to prevent any further buffer IO from being submitted. However, we currently force the log after marking the filesystem as shut down, hence allowing IO to the log *after* we have marked both the filesystem and the log as in an error state. Clean this up by forcing the log before we mark the filesytem with an error. This replaces the pure CIL flush that we currently have which works around this same issue (i.e the CIL can't be flushed once the shutdown flags are set) and hence enables us to clean up the logic substantially. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Thu Oct 2 18:25: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=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 4B83C7F51; Thu, 2 Oct 2014 18:25:51 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-misc-fixes-for-3.18-3, created. v3.16-11825-g5217793 X-Git-Refname: refs/heads/xfs-misc-fixes-for-3.18-3 X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 52177937e9ac4573391143065b250403d3a6ae4b Message-Id: <20141002232551.4B83C7F51@oss.sgi.com> Date: Thu, 2 Oct 2014 18:25:50 -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-for-3.18-3 has been created at 52177937e9ac4573391143065b250403d3a6ae4b (commit) - Log ----------------------------------------------------------------- commit 52177937e9ac4573391143065b250403d3a6ae4b Author: Mark Tinguely Date: Fri Oct 3 09:09:50 2014 +1000 xfs: xfs_iflush_done checks the wrong log item callback Commit 3013683 ("xfs: remove all the inodes on a buffer from the AIL in bulk") made the xfs inode flush callback more efficient by combining all the inode writes on the buffer and the deletions of the inode log item from AIL. The initial loop in this patch should be looping through all the log items on the buffer to see which items have xfs_iflush_done as their callback function. But currently, only the log item passed to the function has its callback compared to xfs_iflush_done. If the log item pointer passed to the function does have the xfs_iflush_done callback function, then all the log items on the buffer are removed from the li_bio_list on the buffer b_fspriv and could be removed from the AIL even though they may have not been written yet. This problem is masked by the fact that currently all inodes on a buffer will have the same calback function - either xfs_iflush_done or xfs_istale_done - and hence the bug cannot manifest in any way. Still, we need to remove the landmine so that if we add new callbacks in future this doesn't cause us problems. Signed-off-by: Mark Tinguely Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit da5f10969d54006a24777a84ed3eaeeb2a21047f Author: Brian Foster Date: Thu Oct 2 09:44:54 2014 +1000 xfs: flush the range before zero range conversion XFS currently discards delalloc blocks within the target range of a zero range request. Unaligned start and end offsets are zeroed through the page cache and the internal, aligned blocks are converted to unwritten extents. If EOF is page aligned and covered by a delayed allocation extent. The inode size is not updated until I/O completion. If a zero range request discards a delalloc range that covers page aligned EOF as such, the inode size update never occurs. For example: $ rm -f /mnt/file $ xfs_io -fc "pwrite 0 64k" -c "zero 60k 4k" /mnt/file $ stat -c "%s" /mnt/file 65536 $ umount /mnt $ mount /mnt $ stat -c "%s" /mnt/file 61440 Update xfs_zero_file_space() to flush the range rather than discard delalloc blocks to ensure that inode size updates occur appropriately. [dchinner: Note that this is really a workaround to avoid the underlying problems. More work is needed (and ongoing) to fix those issues so this fix is being added as a temporary stop-gap measure. ] Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 07d08681d26e99d8ba3bc4e56380f2cc04d3ff3b Author: Brian Foster Date: Thu Oct 2 09:42:06 2014 +1000 xfs: restore buffer_head unwritten bit on ioend cancel xfs_vm_writepage() walks each buffer_head on the page, maps to the block on disk and attaches to a running ioend structure that represents the I/O submission. A new ioend is created when the type of I/O (unwritten, delayed allocation or overwrite) required for a particular buffer_head differs from the previous. If a buffer_head is a delalloc or unwritten buffer, the associated bits are cleared by xfs_map_at_offset() once the buffer_head is added to the ioend. The process of mapping each buffer_head occurs in xfs_map_blocks() and acquires the ilock in blocking or non-blocking mode, depending on the type of writeback in progress. If the lock cannot be acquired for non-blocking writeback, we cancel the ioend, redirty the page and return. Writeback will revisit the page at some later point. Note that we acquire the ilock for each buffer on the page. Therefore during non-blocking writeback, it is possible to add an unwritten buffer to the ioend, clear the unwritten state, fail to acquire the ilock when mapping a subsequent buffer and cancel the ioend. If this occurs, the unwritten status of the buffer sitting in the ioend has been lost. The page will eventually hit writeback again, but xfs_vm_writepage() submits overwrite I/O instead of unwritten I/O and does not perform unwritten extent conversion at I/O completion. This leads to data corruption because unwritten extents are treated as holes on reads and zeroes are returned instead of reading from disk. Modify xfs_cancel_ioend() to restore the buffer unwritten bit for ioends of type XFS_IO_UNWRITTEN. This ensures that unwritten extent conversion occurs once the page is eventually written back. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 5cca3f611d159e5a4a5ec60413bd09948ef40aea Author: Eric Sandeen Date: Thu Oct 2 09:27:09 2014 +1000 xfs: check for null dquot in xfs_quota_calc_throttle() Coverity spotted this. Granted, we *just* checked xfs_inod_dquot() in the caller (by calling xfs_quota_need_throttle). However, this is the only place we don't check the return value but the check is cheap and future-proof so add it. Signed-off-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 04dd1a0d4b17a71220eae4fb313218f15a49bcdd Author: Eric Sandeen Date: Thu Oct 2 09:24:11 2014 +1000 xfs: fix crc field handling in xfs_sb_to/from_disk 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 Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 6ee49a20c13b4b4e79a3bba406df8106cff284a1 Author: Eric Sandeen Date: Thu Oct 2 09:23:49 2014 +1000 xfs: don't send null bp to xfs_trans_brelse() In this case, if bp is NULL, error is set, and we send a NULL bp to xfs_trans_brelse, which will try to dereference it. Test whether we actually have a buffer before we try to free it. Coverity spotted this. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit ce57bcf6b81caf1e9f780e98e8d23d3555746d74 Author: Brian Foster Date: Thu Oct 2 09:21:53 2014 +1000 xfs: check for inode size overflow in xfs_new_eof() If we write to the maximum file offset (2^63-2), XFS fails to log the inode size update when the page is flushed. For example: $ xfs_io -fc "pwrite `echo "2^63-1-1" | bc` 1" /mnt/file wrote 1/1 bytes at offset 9223372036854775806 1.000000 bytes, 1 ops; 0.0000 sec (22.711 KiB/sec and 23255.8140 ops/sec) $ stat -c %s /mnt/file 9223372036854775807 $ umount /mnt ; mount /mnt/ $ stat -c %s /mnt/file 0 This occurs because XFS calculates the new file size as io_offset + io_size, I/O occurs in block sized requests, and the maximum supported file size is not block aligned. Therefore, a write to the max allowable offset on a 4k blocksize fs results in a write of size 4k to offset 2^63-4096 (e.g., equivalent to round_down(2^63-1, 4096), or IOW the offset of the block that contains the max file size). The offset plus size calculation (2^63 - 4096 + 4096 == 2^63) overflows the signed 64-bit variable which goes negative and causes the > comparison to the on-disk inode size to fail. This returns 0 from xfs_new_eof() and results in no change to the inode on-disk. Update xfs_new_eof() to explicitly detect overflow of the local calculation and use the VFS inode size in this scenario. The VFS inode size is capped to the maximum and thus XFS writes the correct inode size to disk. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit a872703f34cd6033d0b174fa598f63f1a57145bb Author: Dave Chinner Date: Thu Oct 2 09:20:30 2014 +1000 xfs: only set extent size hint when asked Currently the extent size hint is set unconditionally in xfs_ioctl_setattr() when the FSX_EXTSIZE flag is set. Hence we can set hints when the inode flags indicating the hint should be used are not set. Hence only set the extent size hint from userspace when the inode has the XFS_DIFLAG_EXTSIZE flag set to indicate that we should have an extent size hint set on the inode. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 9336e3a765b68d4a7fdd8256f393ebce95ecb0a7 Author: Dave Chinner Date: Thu Oct 2 09:18:40 2014 +1000 xfs: project id inheritance is a directory only flag xfs_set_diflags() allows it to be set on non-directory inodes, and this flags errors in xfs_repair. Further, inode allocation allows the same directory-only flag to be inherited to non-directories. Make sure directory inode flags don't appear on other types of inodes. This fixes several xfstests scratch fileystem corruption reports (e.g. xfs/050) now that xfstests checks scratch filesystems after test completion. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit e076b0f3a5c472e77c0a0e163188f2761e8b4fed Author: Dave Chinner Date: Thu Oct 2 09:18:13 2014 +1000 xfs: kill time.h The typedef for timespecs and nanotime() are completely unnecessary, and delay() can be moved to fs/xfs/linux.h, which means this file can go away. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit b1d6cc02f2f6a590c4d8dc2c3bcf7be3b9419945 Author: Dave Chinner Date: Thu Oct 2 09:17:58 2014 +1000 xfs: compat_xfs_bstat does not have forkoff struct compat_xfs_bstat is missing the di_forkoff field and so does not fully translate the structure correctly. Fix it. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Thu Oct 2 18:26: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=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 10E007F5A; Thu, 2 Oct 2014 18:26:10 -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.17-rc3-62-gbdb119b X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: bd438f825f7badafe56d117ed906488c8541f95f X-Git-Newrev: bdb119bb6e9d11ee7cd5a28503de060172c3db56 Message-Id: <20141002232610.10E007F5A@oss.sgi.com> Date: Thu, 2 Oct 2014 18:26:09 -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 bdb119b Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next 5217793 xfs: xfs_iflush_done checks the wrong log item callback da5f109 xfs: flush the range before zero range conversion 07d0868 xfs: restore buffer_head unwritten bit on ioend cancel 5cca3f6 xfs: check for null dquot in xfs_quota_calc_throttle() 04dd1a0 xfs: fix crc field handling in xfs_sb_to/from_disk 6ee49a2 xfs: don't send null bp to xfs_trans_brelse() ce57bcf xfs: check for inode size overflow in xfs_new_eof() a872703 xfs: only set extent size hint when asked 9336e3a xfs: project id inheritance is a directory only flag e076b0f xfs: kill time.h b1d6cc0 xfs: compat_xfs_bstat does not have forkoff 75e58ce Merge branch 'xfs-buf-iosubmit' into for-next 8c15612 xfs: simplify xfs_zero_remaining_bytes ba37267 xfs: check xfs_buf_read_uncached returns correctly 595bff7 xfs: introduce xfs_buf_submit[_wait] 8b13197 xfs: kill xfs_bioerror_relse 2718775 xfs: xfs_bioerror can die. 8dac392 xfs: kill xfs_bdstrat_cb 61be9c5 xfs: rework xfs_buf_bio_endio error handling e8aaba9 xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality e11bb80 xfs: synchronous buffer IO needs a reference cf53e99 xfs: Don't use xfs_buf_iowait in the delwri buffer code a870fe6d xfs: force the log before shutting down from bd438f825f7badafe56d117ed906488c8541f95f (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 bdb119bb6e9d11ee7cd5a28503de060172c3db56 Merge: 75e58ce 5217793 Author: Dave Chinner Date: Fri Oct 3 09:10:09 2014 +1000 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next commit 75e58ce4c8f354f1a68a8bb8a9692827cdaf3d21 Merge: bd438f8 8c15612 Author: Dave Chinner Date: Thu Oct 2 09:11:14 2014 +1000 Merge branch 'xfs-buf-iosubmit' into for-next ----------------------------------------------------------------------- Summary of changes: fs/xfs/kmem.c | 1 - fs/xfs/libxfs/xfs_da_btree.c | 3 +- fs/xfs/libxfs/xfs_sb.c | 5 + fs/xfs/time.h | 36 ----- fs/xfs/xfs_aops.c | 7 + fs/xfs/xfs_bmap_util.c | 70 +++------ fs/xfs/xfs_buf.c | 353 ++++++++++++++++++++++--------------------- fs/xfs/xfs_buf.h | 15 +- fs/xfs/xfs_buf_item.c | 8 +- fs/xfs/xfs_fsops.c | 11 +- fs/xfs/xfs_inode.c | 10 +- fs/xfs/xfs_inode.h | 2 +- fs/xfs/xfs_inode_item.c | 2 +- fs/xfs/xfs_ioctl.c | 20 ++- fs/xfs/xfs_ioctl32.c | 2 + fs/xfs/xfs_ioctl32.h | 3 +- fs/xfs/xfs_iomap.c | 4 +- fs/xfs/xfs_linux.h | 6 +- fs/xfs/xfs_log.c | 59 +++----- fs/xfs/xfs_log_recover.c | 32 ++-- fs/xfs/xfs_mount.c | 55 ++++--- fs/xfs/xfs_rtalloc.c | 30 ++-- fs/xfs/xfs_trace.h | 3 +- fs/xfs/xfs_trans_buf.c | 16 +- fs/xfs/xfs_trans_inode.c | 2 +- 25 files changed, 337 insertions(+), 418 deletions(-) delete mode 100644 fs/xfs/time.h hooks/post-receive -- XFS development tree From MAILER-DAEMON Fri Oct 3 00:02: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=2.6 required=5.0 tests=FH_FROMEML_NOTLD,FROM_NO_USER, 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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 48DD67F53 for ; Fri, 3 Oct 2014 00:02:51 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1968D8F8052 for ; Thu, 2 Oct 2014 22:02:48 -0700 (PDT) X-ASG-Debug-ID: 1412312559-04bdf003a27197f0001-NocioJ Received: from mail.mail229.cn4e.com (mail229.cn4e.com [211.152.42.229]) by cuda.sgi.com with ESMTP id HnFrybtonJfLdlRx; Thu, 02 Oct 2014 22:02:40 -0700 (PDT) X-Barracuda-Envelope-From: X-Barracuda-Apparent-Source-IP: 211.152.42.229 Received: by mail.mail229.cn4e.com (Postfix, from userid 12346) id 636FB51949C; Fri, 3 Oct 2014 12:55:55 +0800 (CST) Received: from [162.248.75.211] (localhost.localdomain [127.0.0.1]) by mail.mail229.cn4e.com (Postfix) with SMTP id 159D6518EC4; Fri, 3 Oct 2014 12:53:55 +0800 (CST) Received: from [162.248.75.211] (unknown [162.248.75.211]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.mail229.cn4e.com (Postfix) with ESMTPSA; Fri, 3 Oct 2014 12:53:46 +0800 (CST) Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: Your prompt response is being awaited. To: Recipients <> X-ASG-Orig-Subj: Your prompt response is being awaited. From: Dave Dawes <> Date: Fri, 03 Oct 2014 05:53:38 +0100 Reply-To: d_dawes@foxmail.com Message-Id: <20141003045355.159D6518EC4@mail.mail229.cn4e.com> X-Barracuda-Connect: mail229.cn4e.com[211.152.42.229] X-Barracuda-Start-Time: 1412312559 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=ANY_BOUNCE_MESSAGE, BOUNCE_MESSAGE, BSF_SC3_MJ5788, BSF_SC7_SA298e, EMPTY_ENV_FROM, FROM_NO_USER, TO_MALFORMED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10143 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 TO_MALFORMED To: has a malformed address 0.00 EMPTY_ENV_FROM Empty Envelope From Address 0.50 FROM_NO_USER From: has no local-part before @ sign 1.50 BSF_SC3_MJ5788 Custom Rule MJ5788 0.20 BSF_SC7_SA298e Custom Rule SA298e 0.00 BOUNCE_MESSAGE MTA bounce message 0.00 ANY_BOUNCE_MESSAGE Message is some kind of bounce message My wife and i have a donation check for you, please reply back for more det= ails. From laboquit@w1.cpserver.net Fri Oct 3 05:00: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=4.3 required=5.0 tests=FILL_THIS_FORM, FREEMAIL_FORGED_REPLYTO,FREEMAIL_REPLYTO_END_DIGIT,HK_SCAM_S7,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 32CEE7F53 for ; Fri, 3 Oct 2014 05:00:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 120E98F8049 for ; Fri, 3 Oct 2014 03:00:07 -0700 (PDT) X-ASG-Debug-ID: 1412330401-04cbb073027264b0001-NocioJ Received: from sp36.cpserver.net (sp36.cpserver.net [178.238.222.36]) by cuda.sgi.com with ESMTP id ybfdlxzbX202UEmf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 03 Oct 2014 03:00:02 -0700 (PDT) X-Barracuda-Envelope-From: laboquit@w1.cpserver.net X-Barracuda-Apparent-Source-IP: 178.238.222.36 Received: from laboquit by w1.cpserver.net with local (Exim 4.82) (envelope-from ) id 1XZzeQ-000A7g-DP for xfs@oss.sgi.com; Fri, 03 Oct 2014 11:59:50 +0200 To: xfs@oss.sgi.com Subject: RE: BUSINESS PROPOSAL X-PHP-Script: laboquita.hu/logs/mail.php for 46.165.236.209 X-ASG-Orig-Subj: RE: BUSINESS PROPOSAL From: Ramesh Barman Reply-To: rebar247@hotmail.com MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit Message-Id: Date: Fri, 03 Oct 2014 11:59:50 +0200 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - w1.cpserver.net X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [679 504] / [47 12] X-AntiAbuse: Sender Address Domain - w1.cpserver.net X-Get-Message-Sender-Via: w1.cpserver.net: authenticated_id: laboquit/only user confirmed/virtual account not confirmed X-Source: X-Source-Args: /usr/sbin/proxyexec -q -d -s /var/run/proxyexec/cagefs.sock/socket /bin/cagefs.server X-Source-Dir: laboquita.hu:/public_html/logs X-Barracuda-Connect: sp36.cpserver.net[178.238.222.36] X-Barracuda-Start-Time: 1412330402 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.83 X-Barracuda-Spam-Status: No, SCORE=1.83 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC7_SA298e, SUBJ_ALL_CAPS, SUBJ_ALL_CAPS_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10150 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 SUBJ_ALL_CAPS Subject is all capitals 0.20 BSF_SC7_SA298e Custom Rule SA298e 1.62 SUBJ_ALL_CAPS_2 SUBJ_ALL_CAPS_2 Hello, I am writing to you regarding investments opportunities in your company, I am a UK Investor, I'll like to know more about what you are into perhaps I can Invest some money in your business on long term basis. Get back to me so we see how we can collaborate, in your response please furnish me with the informations' below; Company name: Address: Nationality: Nature of investment: Phone Numbers: Email: I wait for you to send further details. Kind regards Ramesh Barman From bpm@sgi.com Fri Oct 3 16:48: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=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 5DE887F37 for ; Fri, 3 Oct 2014 16:48:02 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2A7808F8065; Fri, 3 Oct 2014 14:47:59 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id D582B4266DC; Fri, 3 Oct 2014 16:47:58 -0500 (CDT) Date: Fri, 3 Oct 2014 16:47:58 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com, bpm@sgi.com Subject: [RFC v3] Unicode/UTF-8 support for XFS Message-ID: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Hi, I'm posting this RFC for Unicode support in XFS on Olaf's behalf, as he is busy with other projects. This is the third revision of the series. The others are available here: http://oss.sgi.com/archives/xfs/2014-09/msg00260.html http://oss.sgi.com/archives/xfs/2014-09/msg00169.html In response to feedback for v2, the changes in v3 include: ** trie size is reduced from 245kB to 90kB by using algorithmic decomposition * robustness fixes to the trie generator mkutf8data.c * mkutf8data.c moved to scripts/, utf8 normalization module moved to lib/, and compiled under CONFIG_UTF8_NORMALIZATION * removed CONFIG_XFS_UTF8_DEMAND_LOAD, now it is unconditional * the unicode version is stored in the superblock, checked at mount time, and passed through to the normalization module. * add a versioned fsgeometry ioctl, and xfs_info bits to print the unicode version * TODO don't overload asciici feature bit * TODO fix patch klunkiness in xfs_da_mount In response to the initial feedback, the changes in version 2 include: * linux-fsdevel in the To: line, * Updated design notes, * Separation of the fs-independent trie and support code into utf8norm.ko, * A mechanism for loading the normalization module only when necessary. I'll post the whole series for completeness sake. Many on -fsdevel will not be interested in the xfs-specific bits, but it may be helpful to have the full series as an example and for testing purposes. First there is a set of kernel bits, then some libxfs/xfsprogs stuff, and finally a test. (Note: I am not posting the unicode database files due to their large size. There are scripts to download them from unicode.org in the relevant commit headers.) Thanks, Ben Here are Olaf's design notes: ----------------------------------------------------------------------------- Unicode/UTF-8 support for XFS So we had a customer request proper unicode support... * What does "supporting unicode" actually mean? >From a text processing point of view, what a filesystem does with filenames is simple: it stores and retrieves them, and compares them for equality. It may reject certain byte sequences as invalid filenames (for example, no filename can contain an ASCII NUL). I've been taking it as a given that when a file is created with a certain byte sequence as its name, then a subsequent directory listing will contain that same byte sequence among the names listed. That things ought to work like that is either obvious to the point of being axiomatic, or -- I suppose -- not. The reader gets one (1) guess as to which camp I'm in. This leaves comparing names for equality, and in my view this is what "supporting unicode" revolves about. The present state of affairs is that different byte sequences are different filenames. This amounts to tolerating unicode without actually supporting it. To support unicode we have to interpret filenames. What happens when (part of) a filename cannot be interpreted? We can reject the filename, interpret the parts we can, or punt and accept it as an uninterpreted blob. Rejecting ill-formed filenames was my first choice, but I came around on the issue: there are too many ways in which you can end up with having to deal with ill-formed filenames that would leave a user with no recourse but to move whatever they're doing to a different filesystem. Unpacking a tarball with filenames in a different encoding is an example. Partial interpretation of an ill-formed filename just strikes me as the kind of bad idea that most half-houses are. I admit that I have no stronger objection to this than the fact that it makes the code even more complicated and fragile. Which leaves "blob" as the preferred option by default for coping with ill-formed filenames. When comparing well-formed filenames, the question now becomes which byte sequences are considered to be alternative spellings of the same filename. This is where normalization forms come into play, and the unicode standard has quite a bit to say about the subject. If all you're doing is comparison, then choosing NFD over NFC is easy, because the former is easier to calculate than the latter. If you want various spellings of "office" to compare equal, then picking NFKD over NFD for comparison is also an obvious choice. (Hand-picking individual compatibility forms is truly a bad idea.) Ways to spell "office": "o_f_f_i_c_e", "o_f_fi_c_e", and "o_ffi_c_e", using no ligatures, the fi ligature, or the ffi ligature. (Some fool thought it a good idea to add these ligatures to unicode, all we get to decide is how to cope.) The most contentious part is (should be) ignoring the codepoints with the Default_Ignorable_Code_Point property. I've included the list below. My argument, such as it is, is that these code points either have no visible rendering, or in cases like the soft hyphen, are only conditionally visible. The problem with these (as I see it) is that on seeing a filename that might contain them you cannot tell whether they are present. So I propose to ignore them for the purpose of comparing filenames for equality. Finally, case folding. First of all, it is optional. Then the issue is that you either go the language-specific route, or simplify the task by "just" doing a full casefold (C+F, in unicode parlance). Looking around the net I tend to find that if you're going to do casefolding at all, then a language-independent full casefold is preferred because it is the most predictable option. See http://www.w3.org/TR/charmod-norm/ for an example of that kind of reasoning. All of these choices can be argued with, but I do believe that the particular combination of choices I made is a defensible one. The code refers to these normalization forms as nfkdi and nfkdicf. * XFS-specific design notes. XFS uses byte strings for filenames, so UTF-8 is the expected format for unicode filenames. This does raise the question what criteria a byte string must meet to be UTF-8. We settled on the following: - Valid unicode code points are 0..0x10FFFF, except that - The surrogates 0xD800..0xDFFF are not valid code points, and - Valid UTF-8 must be a shortest encoding of a valid unicode code point. In addition, U+0 (ASCII NUL, '\0') is used to terminate byte strings (and is itself not part of the string). Moreover strings may be length-limited in addition to being NUL-terminated (there is no such thing as an embedded NUL in a length-limited string). The code uses ("leverages", in corp-speak) the existing XFS infrastructure for case-insensitive filenames. Like the CI code, the name used to create a file is stored on disk, and returned in a lookup. When comparing filenames the normalized forms of the names being compared are generated on the fly from the non-normalized forms stored on disk. If the borgbit (the bit enabling legacy ASCII-based CI in XFS) is set in the superblock, then case folding is added into the mix. This is the nfkdicf normalization form mentioned above. It allows for the creation of case-insensitive filesystems with UTF-8 support. * Implementation notes. Strings are normalized using a trie that stores the relevant information. The trie itself is about 250kB in size, and lives in a separate module. The trie is not checked in: instead we add the source files from the Unicode Character Database and a program that creates the header containing the trie. The key for a lookup in the trie is a UTF-8 sequence. Each valid UTF-8 sequence leads to a leaf. No invalid sequence does. This means that trie lookups can be used to validate UTF-8 sequences, which why there is no specialized code for the same purpose. The trie contains information for the version of unicode in which each code point was defined. This matters because non-normalized strings are stored on disk, and newer versions of unicode may introduce new normalized forms. Ideally, the version of unicode used by the filesystem is stored in the filesystem. The trie also accounts for corrections made in the past to normalizations. This has little value today, because any newly created filesystem would be using unicode version 7.0.0. It is included in order to show, not tell, that such corrections can be handled if they are added in future revisions. The algorithm used to calculate the sequences of bytes for the normalized form of a UTF-8 string is tricky. The core is found in utf8byte(), with an explanation in the preceeding comment. The non-XFS-specific supporting code functions have the prefix 'utf8n' if they handle length-limited strings, and 'utf8' if they handle NUL-terminated strings. ---- # Derived Property: Default_Ignorable_Code_Point # Generated from # Other_Default_Ignorable_Code_Point # + Cf (Format characters) # + Variation_Selector # - White_Space # - FFF9..FFFB (Annotation Characters) # - 0600..0605, 06DD, 070F, 110BD (exceptional Cf characters that should be visible) 00AD ; Default_Ignorable_Code_Point # Cf SOFT HYPHEN 034F ; Default_Ignorable_Code_Point # Mn COMBINING GRAPHEME JOINER 061C ; Default_Ignorable_Code_Point # Cf ARABIC LETTER MARK 115F..1160 ; Default_Ignorable_Code_Point # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER 17B4..17B5 ; Default_Ignorable_Code_Point # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA 180B..180D ; Default_Ignorable_Code_Point # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE 180E ; Default_Ignorable_Code_Point # Cf MONGOLIAN VOWEL SEPARATOR 200B..200F ; Default_Ignorable_Code_Point # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK 202A..202E ; Default_Ignorable_Code_Point # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE 2060..2064 ; Default_Ignorable_Code_Point # Cf [5] WORD JOINER..INVISIBLE PLUS 2065 ; Default_Ignorable_Code_Point # Cn 2066..206F ; Default_Ignorable_Code_Point # Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES 3164 ; Default_Ignorable_Code_Point # Lo HANGUL FILLER FE00..FE0F ; Default_Ignorable_Code_Point # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 FEFF ; Default_Ignorable_Code_Point # Cf ZERO WIDTH NO-BREAK SPACE FFA0 ; Default_Ignorable_Code_Point # Lo HALFWIDTH HANGUL FILLER FFF0..FFF8 ; Default_Ignorable_Code_Point # Cn [9] .. 1BCA0..1BCA3 ; Default_Ignorable_Code_Point # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP 1D173..1D17A ; Default_Ignorable_Code_Point # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE E0000 ; Default_Ignorable_Code_Point # Cn E0001 ; Default_Ignorable_Code_Point # Cf LANGUAGE TAG E0002..E001F ; Default_Ignorable_Code_Point # Cn [30] .. E0020..E007F ; Default_Ignorable_Code_Point # Cf [96] TAG SPACE..CANCEL TAG E0080..E00FF ; Default_Ignorable_Code_Point # Cn [128] .. E0100..E01EF ; Default_Ignorable_Code_Point # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 E01F0..E0FFF ; Default_Ignorable_Code_Point # Cn [3600] .. # Total code points: 4173 ---- From bpm@sgi.com Fri Oct 3 16:50: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=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 483867F47 for ; Fri, 3 Oct 2014 16:50:22 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1C7228F8065; Fri, 3 Oct 2014 14:50:22 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id DE9B24266DC; Fri, 3 Oct 2014 16:50:21 -0500 (CDT) Date: Fri, 3 Oct 2014 16:50:21 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 01/16] lib: add unicode character database files Message-ID: <20141003215021.GZ1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Add files from the Unicode Character Database, version 7.0.0, to the source. A helper program that generates a trie used for normalization from these files is part of a separate commit. Signed-off-by: Olaf Weber --- [v2: Removed large unicode files prior to posting. Get them as below. -bpm] [v3: Moved files to ucd8norm directory. -bpm] [v4: Moved to lib/ucd. -bpm] cd lib/ucd wget http://www.unicode.org/Public/7.0.0/ucd/CaseFolding.txt wget http://www.unicode.org/Public/7.0.0/ucd/DerivedAge.txt wget http://www.unicode.org/Public/7.0.0/ucd/extracted/DerivedCombiningClass.txt wget http://www.unicode.org/Public/7.0.0/ucd/DerivedCoreProperties.txt wget http://www.unicode.org/Public/7.0.0/ucd/NormalizationCorrections.txt wget http://www.unicode.org/Public/7.0.0/ucd/NormalizationTest.txt wget http://www.unicode.org/Public/7.0.0/ucd/UnicodeData.txt for e in *.txt do base=`basename $e .txt` mv $e $base-7.0.0.txt done --- lib/ucd/README | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/ucd/README diff --git a/lib/ucd/README b/lib/ucd/README new file mode 100644 index 0000000..d713e66 --- /dev/null +++ b/lib/ucd/README @@ -0,0 +1,33 @@ +The files in this directory are part of the Unicode Character Database +for version 7.0.0 of the Unicode standard. + +The full set of files can be found here: + + http://www.unicode.org/Public/7.0.0/ucd/ + +The latest released version of the UCD can be found here: + + http://www.unicode.org/Public/UCD/latest/ + +The files in this directory are identical, except that they have been +renamed with a suffix indicating the unicode version. + +Individual source links: + + http://www.unicode.org/Public/7.0.0/ucd/CaseFolding.txt + http://www.unicode.org/Public/7.0.0/ucd/DerivedAge.txt + http://www.unicode.org/Public/7.0.0/ucd/extracted/DerivedCombiningClass.txt + http://www.unicode.org/Public/7.0.0/ucd/DerivedCoreProperties.txt + http://www.unicode.org/Public/7.0.0/ucd/NormalizationCorrections.txt + http://www.unicode.org/Public/7.0.0/ucd/NormalizationTest.txt + http://www.unicode.org/Public/7.0.0/ucd/UnicodeData.txt + +md5sums + + 9a92b2bfe56c6719def926bab524fefd CaseFolding-7.0.0.txt + 07b8b1027eb824cf0835314e94f23d2e DerivedAge-7.0.0.txt + 90c3340b16821e2f2153acdbe6fc6180 DerivedCombiningClass-7.0.0.txt + c41c0601f808116f623de47110ed4f93 DerivedCoreProperties-7.0.0.txt + 522720ddfc150d8e63a2518634829bce NormalizationCorrections-7.0.0.txt + 1f35175eba4a2ad795db489f789ae352 NormalizationTest-7.0.0.txt + c8355655731d75e6a3de8c20d7e601ba UnicodeData-7.0.0.txt -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:52: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, T_FILL_THIS_FORM_SHORT 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 B041B7F47 for ; Fri, 3 Oct 2014 16:52:01 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6161C304048; Fri, 3 Oct 2014 14:51:58 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id B39514266DC; Fri, 3 Oct 2014 16:51:57 -0500 (CDT) Date: Fri, 3 Oct 2014 16:51:57 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 02/16] scripts: add trie generator for UTF-8. Message-ID: <20141003215157.GA1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber mkutf8data.c is the source for a program that generates utf8data.h, which contains the trie that utf8norm.c uses. The trie is generated from the Unicode 7.0.0 data files. The format of the utf8data[] table is described in utf8norm.c, which is added in the next patch. Signed-off-by: Olaf Weber --- [v2: the trie is now separated into utf8norm.ko; utf8version is now a function and exported; introduced CONFIG_XFS_UTF8; removed supporting code due to vger size constraint. --bpm] [v3: moved trie generator to scripts/; introduced CONFIG_UTF8_NORMALIZATION. --bpm] --- lib/Kconfig | 8 + lib/Makefile | 13 + scripts/Makefile | 1 + scripts/mkutf8data.c | 3239 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 3261 insertions(+) create mode 100644 scripts/mkutf8data.c diff --git a/lib/Kconfig b/lib/Kconfig index a5ce0c7..c92dfd8 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -515,4 +515,12 @@ source "lib/fonts/Kconfig" config ARCH_HAS_SG_CHAIN def_bool n +# +# utf8 normalization module +# +config UTF8_NORMALIZATION + tristate "UTF-8 normalization support" + help + Say Y here to enable utf8 normalization support. + endmenu diff --git a/lib/Makefile b/lib/Makefile index d6b4bc4..b0b0d57 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -196,3 +196,16 @@ quiet_cmd_build_OID_registry = GEN $@ clean-files += oid_registry_data.c obj-$(CONFIG_UCS2_STRING) += ucs2_string.o + +$(obj)/utf8data.h: $(src)/ucd/*.txt $(objtree)/scripts/mkutf8data FORCE + $(call cmd,mkutf8data) +quiet_cmd_mkutf8data = MKUTF8DATA $@ + cmd_mkutf8data = $(objtree)/scripts/mkutf8data \ + -a $(src)/ucd/DerivedAge-7.0.0.txt \ + -c $(src)/ucd/DerivedCombiningClass-7.0.0.txt \ + -p $(src)/ucd/DerivedCoreProperties-7.0.0.txt \ + -d $(src)/ucd/UnicodeData-7.0.0.txt \ + -f $(src)/ucd/CaseFolding-7.0.0.txt \ + -n $(src)/ucd/NormalizationCorrections-7.0.0.txt \ + -t $(src)/ucd/NormalizationTest-7.0.0.txt \ + -o $@ diff --git a/scripts/Makefile b/scripts/Makefile index 72902b5..80fcf43 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -16,6 +16,7 @@ hostprogs-$(CONFIG_VT) += conmakehash hostprogs-$(BUILD_C_RECORDMCOUNT) += recordmcount hostprogs-$(CONFIG_BUILDTIME_EXTABLE_SORT) += sortextable hostprogs-$(CONFIG_ASN1) += asn1_compiler +hostprogs-$(CONFIG_UTF8_NORMALIZATION) += mkutf8data HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include diff --git a/scripts/mkutf8data.c b/scripts/mkutf8data.c new file mode 100644 index 0000000..1d6ec02 --- /dev/null +++ b/scripts/mkutf8data.c @@ -0,0 +1,3239 @@ +/* + * Copyright (c) 2014 SGI. + * 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 + */ + +/* Generator for a compact trie for unicode normalization */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Default names of the in- and output files. */ + +#define AGE_NAME "DerivedAge.txt" +#define CCC_NAME "DerivedCombiningClass.txt" +#define PROP_NAME "DerivedCoreProperties.txt" +#define DATA_NAME "UnicodeData.txt" +#define FOLD_NAME "CaseFolding.txt" +#define NORM_NAME "NormalizationCorrections.txt" +#define TEST_NAME "NormalizationTest.txt" +#define UTF8_NAME "utf8data.h" + +const char *age_name = AGE_NAME; +const char *ccc_name = CCC_NAME; +const char *prop_name = PROP_NAME; +const char *data_name = DATA_NAME; +const char *fold_name = FOLD_NAME; +const char *norm_name = NORM_NAME; +const char *test_name = TEST_NAME; +const char *utf8_name = UTF8_NAME; + +int verbose = 0; + +/* An arbitrary line size limit on input lines. */ + +#define LINESIZE 1024 +char line[LINESIZE]; +char buf0[LINESIZE]; +char buf1[LINESIZE]; +char buf2[LINESIZE]; +char buf3[LINESIZE]; + +const char *argv0; + +/* ------------------------------------------------------------------ */ + +/* + * Unicode version numbers consist of three parts: major, minor, and a + * revision. These numbers are packed into an unsigned int to obtain + * a single version number. + * + * To save space in the generated trie, the unicode version is not + * stored directly, instead we calculate a generation number from the + * unicode versions seen in the DerivedAge file, and use that as an + * index into a table of unicode versions. + */ +#define UNICODE_MAJ_SHIFT (16) +#define UNICODE_MIN_SHIFT (8) + +#define UNICODE_MAJ_MAX ((unsigned short)-1) +#define UNICODE_MIN_MAX ((unsigned char)-1) +#define UNICODE_REV_MAX ((unsigned char)-1) + +#define UNICODE_AGE(MAJ,MIN,REV) \ + (((unsigned int)(MAJ) << UNICODE_MAJ_SHIFT) | \ + ((unsigned int)(MIN) << UNICODE_MIN_SHIFT) | \ + ((unsigned int)(REV))) + +unsigned int *ages; +int ages_count; + +unsigned int unicode_maxage; + +static int +age_valid(unsigned int major, unsigned int minor, unsigned int revision) +{ + if (major > UNICODE_MAJ_MAX) + return 0; + if (minor > UNICODE_MIN_MAX) + return 0; + if (revision > UNICODE_REV_MAX) + return 0; + return 1; +} + +/* ------------------------------------------------------------------ */ + +/* + * utf8trie_t + * + * A compact binary tree, used to decode UTF-8 characters. + * + * Internal nodes are one byte for the node itself, and up to three + * bytes for an offset into the tree. The first byte contains the + * following information: + * NEXTBYTE - flag - advance to next byte if set + * BITNUM - 3 bit field - the bit number to tested + * OFFLEN - 2 bit field - number of bytes in the offset + * if offlen == 0 (non-branching node) + * RIGHTPATH - 1 bit field - set if the following node is for the + * right-hand path (tested bit is set) + * TRIENODE - 1 bit field - set if the following node is an internal + * node, otherwise it is a leaf node + * if offlen != 0 (branching node) + * LEFTNODE - 1 bit field - set if the left-hand node is internal + * RIGHTNODE - 1 bit field - set if the right-hand node is internal + * + * Due to the way utf8 works, there cannot be branching nodes with + * NEXTBYTE set, and moreover those nodes always have a righthand + * descendant. + */ +typedef unsigned char utf8trie_t; +#define BITNUM 0x07 +#define NEXTBYTE 0x08 +#define OFFLEN 0x30 +#define OFFLEN_SHIFT 4 +#define RIGHTPATH 0x40 +#define TRIENODE 0x80 +#define RIGHTNODE 0x40 +#define LEFTNODE 0x80 + +/* + * utf8leaf_t + * + * The leaves of the trie are embedded in the trie, and so the same + * underlying datatype, unsigned char. + * + * leaf[0]: The unicode version, stored as a generation number that is + * an index into utf8agetab[]. With this we can filter code + * points based on the unicode version in which they were + * defined. The CCC of a non-defined code point is 0. + * leaf[1]: Canonical Combining Class. During normalization, we need + * to do a stable sort into ascending order of all characters + * with a non-zero CCC that occur between two characters with + * a CCC of 0, or at the begin or end of a string. + * The unicode standard guarantees that all CCC values are + * between 0 and 254 inclusive, which leaves 255 available as + * a special value. + * Code points with CCC 0 are known as stoppers. + * leaf[2]: Decomposition. If leaf[1] == 255, then leaf[2] is the + * start of a NUL-terminated string that is the decomposition + * of the character. + * The CCC of a decomposable character is the same as the CCC + * of the first character of its decomposition. + * Some characters decompose as the empty string: these are + * characters with the Default_Ignorable_Code_Point property. + * These do affect normalization, as they all have CCC 0. + * + * The decompositions in the trie have been fully expanded. + * + * Casefolding, if applicable, is also done using decompositions. + */ +typedef unsigned char utf8leaf_t; + +#define LEAF_GEN(LEAF) ((LEAF)[0]) +#define LEAF_CCC(LEAF) ((LEAF)[1]) +#define LEAF_STR(LEAF) ((const char*)((LEAF) + 2)) + +#define MAXGEN (255) + +#define MINCCC (0) +#define MAXCCC (254) +#define STOPPER (0) +#define DECOMPOSE (255) + +struct tree; +static utf8leaf_t *utf8nlookup(struct tree *, const char *, size_t); +static utf8leaf_t *utf8lookup(struct tree *, const char *); + +unsigned char *utf8data; +size_t utf8data_size; + +utf8trie_t *nfkdi; +utf8trie_t *nfkdicf; + +/* ------------------------------------------------------------------ */ + +/* + * UTF8 valid ranges. + * + * The UTF-8 encoding spreads the bits of a 32bit word over several + * bytes. This table gives the ranges that can be held and how they'd + * be represented. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000000 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000000 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * There is an additional requirement on UTF-8, in that only the + * shortest representation of a 32bit value is to be used. A decoder + * must not decode sequences that do not satisfy this requirement. + * Thus the allowed ranges have a lower bound. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000080 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000800 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00010000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00200000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x04000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Actual unicode characters are limited to the range 0x0 - 0x10FFFF, + * 17 planes of 65536 values. This limits the sequences actually seen + * even more, to just the following. + * + * 0 - 0x7f: 0 0x7f + * 0x80 - 0x7ff: 0xc2 0x80 0xdf 0xbf + * 0x800 - 0xffff: 0xe0 0xa0 0x80 0xef 0xbf 0xbf + * 0x10000 - 0x10ffff: 0xf0 0x90 0x80 0x80 0xf4 0x8f 0xbf 0xbf + * + * Even within those ranges not all values are allowed: the surrogates + * 0xd800 - 0xdfff should never be seen. + * + * Note that the longest sequence seen with valid usage is 4 bytes, + * the same a single UTF-32 character. This makes the UTF-8 + * representation of Unicode strictly smaller than UTF-32. + * + * The shortest sequence requirement was introduced by: + * Corrigendum #1: UTF-8 Shortest Form + * It can be found here: + * http://www.unicode.org/versions/corrigendum1.html + * + */ + +#define UTF8_2_BITS 0xC0 +#define UTF8_3_BITS 0xE0 +#define UTF8_4_BITS 0xF0 +#define UTF8_N_BITS 0x80 +#define UTF8_2_MASK 0xE0 +#define UTF8_3_MASK 0xF0 +#define UTF8_4_MASK 0xF8 +#define UTF8_N_MASK 0xC0 +#define UTF8_V_MASK 0x3F +#define UTF8_V_SHIFT 6 + +static int +utf8key(unsigned int key, char keyval[]) +{ + int keylen; + + if (key < 0x80) { + keyval[0] = key; + keylen = 1; + } else if (key < 0x800) { + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_2_BITS; + keylen = 2; + } else if (key < 0x10000) { + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_3_BITS; + keylen = 3; + } else if (key < 0x110000) { + keyval[3] = key & UTF8_V_MASK; + keyval[3] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_4_BITS; + keylen = 4; + } else { + printf("%#x: illegal key\n", key); + keylen = 0; + } + return keylen; +} + +static unsigned int +utf8code(const char *str) +{ + const unsigned char *s = (const unsigned char*)str; + unsigned int unichar = 0; + + if (*s < 0x80) { + unichar = *s; + } else if (*s < UTF8_3_BITS) { + unichar = *s++ & 0x1F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else if (*s < UTF8_4_BITS) { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } + return unichar; +} + +static int +utf32valid(unsigned int unichar) +{ + return unichar < 0x110000; +} + +#define NODE 1 +#define LEAF 0 + +struct tree { + void *root; + int childnode; + const char *type; + unsigned int maxage; + struct tree *next; + int (*leaf_equal)(void *, void *); + void (*leaf_print)(void *, int); + int (*leaf_mark)(void *); + int (*leaf_size)(void *); + int *(*leaf_index)(struct tree *, void *); + unsigned char *(*leaf_emit)(void *, unsigned char *); + int leafindex[0x110000]; + int index; +}; + +struct node { + int index; + int offset; + int mark; + int size; + struct node *parent; + void *left; + void *right; + unsigned char bitnum; + unsigned char nextbyte; + unsigned char leftnode; + unsigned char rightnode; + unsigned int keybits; + unsigned int keymask; +}; + +/* + * Example lookup function for a tree. + */ +static void * +lookup(struct tree *tree, const char *key) +{ + struct node *node; + void *leaf = NULL; + + node = tree->root; + while (!leaf && node) { + if (node->nextbyte) + key++; + if (*key & (1 << (node->bitnum & 7))) { + /* Right leg */ + if (node->rightnode == NODE) { + node = node->right; + } else if (node->rightnode == LEAF) { + leaf = node->right; + } else { + node = NULL; + } + } else { + /* Left leg */ + if (node->leftnode == NODE) { + node = node->left; + } else if (node->leftnode == LEAF) { + leaf = node->left; + } else { + node = NULL; + } + } + } + + return leaf; +} + +/* + * A simple non-recursive tree walker: keep track of visits to the + * left and right branches in the leftmask and rightmask. + */ +static void +tree_walk(struct tree *tree) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int indent = 1; + int nodes, singletons, leaves; + + nodes = singletons = leaves = 0; + + printf("%s_%x root %p\n", tree->type, tree->maxage, tree->root); + if (tree->childnode == LEAF) { + assert(tree->root); + tree->leaf_print(tree->root, indent); + leaves = 1; + } else { + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + printf("%*snode @ %p bitnum %d nextbyte %d" + " left %p right %p mask %x bits %x\n", + indent, "", node, + node->bitnum, node->nextbyte, + node->left, node->right, + node->keymask, node->keybits); + nodes += 1; + if (!(node->left && node->right)) + singletons += 1; + + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + tree->leaf_print(node->left, + indent+1); + leaves += 1; + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + tree->leaf_print(node->right, + indent+1); + leaves += 1; + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } + } + printf("nodes %d leaves %d singletons %d\n", + nodes, leaves, singletons); +} + +/* + * Allocate an initialize a new internal node. + */ +static struct node * +alloc_node(struct node *parent) +{ + struct node *node; + int bitnum; + + node = malloc(sizeof(*node)); + node->left = node->right = NULL; + node->parent = parent; + node->leftnode = NODE; + node->rightnode = NODE; + node->keybits = 0; + node->keymask = 0; + node->mark = 0; + node->index = 0; + node->offset = -1; + node->size = 4; + + if (node->parent) { + bitnum = parent->bitnum; + if ((bitnum & 7) == 0) { + node->bitnum = bitnum + 7 + 8; + node->nextbyte = 1; + } else { + node->bitnum = bitnum - 1; + node->nextbyte = 0; + } + } else { + node->bitnum = 7; + node->nextbyte = 0; + } + + return node; +} + +/* + * Insert a new leaf into the tree, and collapse any subtrees that are + * fully populated and end in identical leaves. A nextbyte tagged + * internal node will not be removed to preserve the tree's integrity. + * Note that due to the structure of utf8, no nextbyte tagged node + * will be a candidate for removal. + */ +static int +insert(struct tree *tree, char *key, int keylen, void *leaf) +{ + struct node *node; + struct node *parent; + void **cursor; + int keybits; + + assert(keylen >= 1 && keylen <= 4); + + node = NULL; + cursor = &tree->root; + keybits = 8 * keylen; + + /* Insert, creating path along the way. */ + while (keybits) { + if (!*cursor) + *cursor = alloc_node(node); + node = *cursor; + if (node->nextbyte) + key++; + if (*key & (1 << (node->bitnum & 7))) + cursor = &node->right; + else + cursor = &node->left; + keybits--; + } + *cursor = leaf; + + /* Merge subtrees if possible. */ + while (node) { + if (*key & (1 << (node->bitnum & 7))) + node->rightnode = LEAF; + else + node->leftnode = LEAF; + if (node->nextbyte) + break; + if (node->leftnode == NODE || node->rightnode == NODE) + break; + assert(node->left); + assert(node->right); + /* Compare */ + if (! tree->leaf_equal(node->left, node->right)) + break; + /* Keep left, drop right leaf. */ + leaf = node->left; + /* Check in parent */ + parent = node->parent; + if (!parent) { + /* root of tree! */ + tree->root = leaf; + tree->childnode = LEAF; + } else if (parent->left == node) { + parent->left = leaf; + parent->leftnode = LEAF; + if (parent->right) { + parent->keymask = 0; + parent->keybits = 0; + } else { + parent->keymask |= (1 << node->bitnum); + } + } else if (parent->right == node) { + parent->right = leaf; + parent->rightnode = LEAF; + if (parent->left) { + parent->keymask = 0; + parent->keybits = 0; + } else { + parent->keymask |= (1 << node->bitnum); + parent->keybits |= (1 << node->bitnum); + } + } else { + /* internal tree error */ + assert(0); + } + free(node); + node = parent; + } + + /* Propagate keymasks up along singleton chains. */ + while (node) { + parent = node->parent; + if (!parent) + break; + /* Nix the mask for parents with two children. */ + if (node->keymask == 0) { + parent->keymask = 0; + parent->keybits = 0; + } else if (parent->left && parent->right) { + parent->keymask = 0; + parent->keybits = 0; + } else { + assert((parent->keymask & node->keymask) == 0); + parent->keymask |= node->keymask; + parent->keymask |= (1 << parent->bitnum); + parent->keybits |= node->keybits; + if (parent->right) + parent->keybits |= (1 << parent->bitnum); + } + node = parent; + } + + return 0; +} + +/* + * Prune internal nodes. + * + * Fully populated subtrees that end at the same leaf have already + * been collapsed. There are still internal nodes that have for both + * their left and right branches a sequence of singletons that make + * identical choices and end in identical leaves. The keymask and + * keybits collected in the nodes describe the choices made in these + * singleton chains. When they are identical for the left and right + * branch of a node, and the two leaves comare identical, the node in + * question can be removed. + * + * Note that nodes with the nextbyte tag set will not be removed by + * this to ensure tree integrity. Note as well that the structure of + * utf8 ensures that these nodes would not have been candidates for + * removal in any case. + */ +static void +prune(struct tree *tree) +{ + struct node *node; + struct node *left; + struct node *right; + struct node *parent; + void *leftleaf; + void *rightleaf; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int count; + + if (verbose > 0) + printf("Pruning %s_%x\n", tree->type, tree->maxage); + + count = 0; + if (tree->childnode == LEAF) + return; + if (!tree->root) + return; + + leftmask = rightmask = 0; + node = tree->root; + while (node) { + if (node->nextbyte) + goto advance; + if (node->leftnode == LEAF) + goto advance; + if (node->rightnode == LEAF) + goto advance; + if (!node->left) + goto advance; + if (!node->right) + goto advance; + left = node->left; + right = node->right; + if (left->keymask == 0) + goto advance; + if (right->keymask == 0) + goto advance; + if (left->keymask != right->keymask) + goto advance; + if (left->keybits != right->keybits) + goto advance; + leftleaf = NULL; + while (!leftleaf) { + assert(left->left || left->right); + if (left->leftnode == LEAF) + leftleaf = left->left; + else if (left->rightnode == LEAF) + leftleaf = left->right; + else if (left->left) + left = left->left; + else if (left->right) + left = left->right; + else + assert(0); + } + rightleaf = NULL; + while (!rightleaf) { + assert(right->left || right->right); + if (right->leftnode == LEAF) + rightleaf = right->left; + else if (right->rightnode == LEAF) + rightleaf = right->right; + else if (right->left) + right = right->left; + else if (right->right) + right = right->right; + else + assert(0); + } + if (! tree->leaf_equal(leftleaf, rightleaf)) + goto advance; + /* + * This node has identical singleton-only subtrees. + * Remove it. + */ + parent = node->parent; + left = node->left; + right = node->right; + if (parent->left == node) + parent->left = left; + else if (parent->right == node) + parent->right = left; + else + assert(0); + left->parent = parent; + left->keymask |= (1 << node->bitnum); + node->left = NULL; + while (node) { + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + if (node->leftnode == NODE && node->left) { + left = node->left; + free(node); + count++; + node = left; + } else if (node->rightnode == NODE && node->right) { + right = node->right; + free(node); + count++; + node = right; + } else { + node = NULL; + } + } + /* Propagate keymasks up along singleton chains. */ + node = parent; + /* Force re-check */ + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + for (;;) { + if (node->left && node->right) + break; + if (node->left) { + left = node->left; + node->keymask |= left->keymask; + node->keybits |= left->keybits; + } + if (node->right) { + right = node->right; + node->keymask |= right->keymask; + node->keybits |= right->keybits; + } + node->keymask |= (1 << node->bitnum); + node = node->parent; + /* Force re-check */ + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + } + advance: + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0 && + node->leftnode == NODE && + node->left) { + leftmask |= bitmask; + node = node->left; + } else if ((rightmask & bitmask) == 0 && + node->rightnode == NODE && + node->right) { + rightmask |= bitmask; + node = node->right; + } else { + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } + } + if (verbose > 0) + printf("Pruned %d nodes\n", count); +} + +/* + * Mark the nodes in the tree that lead to leaves that must be + * emitted. + */ +static void +mark_nodes(struct tree *tree) +{ + struct node *node; + struct node *n; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int marked; + + marked = 0; + if (verbose > 0) + printf("Marking %s_%x\n", tree->type, tree->maxage); + if (tree->childnode == LEAF) + goto done; + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + if (tree->leaf_mark(node->left)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->left) { + assert(node->leftnode == NODE); + node = node->left; + continue; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + if (tree->leaf_mark(node->right)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->right) { + assert(node->rightnode==NODE); + node = node->right; + continue; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } + + /* second pass: left siblings and singletons */ + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + if (tree->leaf_mark(node->left)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->left) { + assert(node->leftnode == NODE); + node = node->left; + if (!node->mark && node->parent->mark) { + marked++; + node->mark = 1; + } + continue; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + if (tree->leaf_mark(node->right)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->right) { + assert(node->rightnode==NODE); + node = node->right; + if (!node->mark && node->parent->mark && + !node->parent->left) { + marked++; + node->mark = 1; + } + continue; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } +done: + if (verbose > 0) + printf("Marked %d nodes\n", marked); +} + +/* + * Compute the index of each node and leaf, which is the offset in the + * emitted trie. These value must be pre-computed because relative + * offsets between nodes are used to navigate the tree. + */ +static int +index_nodes(struct tree *tree, int index) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int count; + int indent; + + /* Align to a cache line (or half a cache line?). */ + while (index % 64) + index++; + tree->index = index; + indent = 1; + count = 0; + + if (verbose > 0) + printf("Indexing %s_%x: %d", tree->type, tree->maxage, index); + if (tree->childnode == LEAF) { + index += tree->leaf_size(tree->root); + goto done; + } + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + count++; + if (node->index != index) + node->index = index; + index += node->size; +skip: + while (node) { + bitmask = 1 << node->bitnum; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + *tree->leaf_index(tree, node->left) = + index; + index += tree->leaf_size(node->left); + count++; + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + *tree->leaf_index(tree, node->right) = index; + index += tree->leaf_size(node->right); + count++; + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +done: + /* Round up to a multiple of 16 */ + while (index % 16) + index++; + if (verbose > 0) + printf("Final index %d\n", index); + return index; +} + +/* + * Compute the size of nodes and leaves. We start by assuming that + * each node needs to store a three-byte offset. The indexes of the + * nodes are calculated based on that, and then this function is + * called to see if the sizes of some nodes can be reduced. This is + * repeated until no more changes are seen. + */ +static int +size_nodes(struct tree *tree) +{ + struct tree *next; + struct node *node; + struct node *right; + struct node *n; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + unsigned int pathbits; + unsigned int pathmask; + int changed; + int offset; + int size; + int indent; + + indent = 1; + changed = 0; + size = 0; + + if (verbose > 0) + printf("Sizing %s_%x", tree->type, tree->maxage); + if (tree->childnode == LEAF) + goto done; + + assert(tree->childnode == NODE); + pathbits = 0; + pathmask = 0; + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + offset = 0; + if (!node->left || !node->right) { + size = 1; + } else { + if (node->rightnode == NODE) { + right = node->right; + next = tree->next; + while (!right->mark) { + assert(next); + n = next->root; + while (n->bitnum != node->bitnum) { + if (pathbits & (1<bitnum)) + n = n->right; + else + n = n->left; + } + n = n->right; + assert(right->bitnum == n->bitnum); + right = n; + next = next->next; + } + offset = right->index - node->index; + } else { + offset = *tree->leaf_index(tree, node->right); + offset -= node->index; + } + assert(offset >= 0); + assert(offset <= 0xffffff); + if (offset <= 0xff) { + size = 2; + } else if (offset <= 0xffff) { + size = 3; + } else { /* offset <= 0xffffff */ + size = 4; + } + } + if (node->size != size || node->offset != offset) { + node->size = size; + node->offset = offset; + changed++; + } +skip: + while (node) { + bitmask = 1 << node->bitnum; + pathmask |= bitmask; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + pathbits |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + pathmask &= ~bitmask; + pathbits &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +done: + if (verbose > 0) + printf("Found %d changes\n", changed); + return changed; +} + +/* + * Emit a trie for the given tree into the data array. + */ +static void +emit(struct tree *tree, unsigned char *data) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int offlen; + int offset; + int index; + int indent; + unsigned char byte; + + index = tree->index; + data += index; + indent = 1; + if (verbose > 0) + printf("Emitting %s_%x\n", tree->type, tree->maxage); + if (tree->childnode == LEAF) { + assert(tree->root); + tree->leaf_emit(tree->root, data); + return; + } + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + assert(node->offset != -1); + assert(node->index == index); + + byte = 0; + if (node->nextbyte) + byte |= NEXTBYTE; + byte |= (node->bitnum & BITNUM); + if (node->left && node->right) { + if (node->leftnode == NODE) + byte |= LEFTNODE; + if (node->rightnode == NODE) + byte |= RIGHTNODE; + if (node->offset <= 0xff) + offlen = 1; + else if (node->offset <= 0xffff) + offlen = 2; + else + offlen = 3; + offset = node->offset; + byte |= offlen << OFFLEN_SHIFT; + *data++ = byte; + index++; + while (offlen--) { + *data++ = offset & 0xff; + index++; + offset >>= 8; + } + } else if (node->left) { + if (node->leftnode == NODE) + byte |= TRIENODE; + *data++ = byte; + index++; + } else if (node->right) { + byte |= RIGHTNODE; + if (node->rightnode == NODE) + byte |= TRIENODE; + *data++ = byte; + index++; + } else { + assert(0); + } +skip: + while (node) { + bitmask = 1 << node->bitnum; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + data = tree->leaf_emit(node->left, + data); + index += tree->leaf_size(node->left); + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + data = tree->leaf_emit(node->right, + data); + index += tree->leaf_size(node->right); + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +} + +/* ------------------------------------------------------------------ */ + +/* + * Unicode data. + * + * We need to keep track of the Canonical Combining Class, the Age, + * and decompositions for a code point. + * + * For the Age, we store the index into the ages table. Effectively + * this is a generation number that the table maps to a unicode + * version. + * + * The correction field is used to indicate that this entry is in the + * corrections array, which contains decompositions that were + * corrected in later revisions. The value of the correction field is + * the Unicode version in which the mapping was corrected. + */ +struct unicode_data { + unsigned int code; + int ccc; + int gen; + int correction; + unsigned int *utf32nfkdi; + unsigned int *utf32nfkdicf; + char *utf8nfkdi; + char *utf8nfkdicf; +}; + +struct unicode_data unicode_data[0x110000]; +struct unicode_data *corrections; +int corrections_count; + +struct tree *nfkdi_tree; +struct tree *nfkdicf_tree; + +struct tree *trees; +int trees_count; + +/* + * Check the corrections array to see if this entry was corrected at + * some point. + */ +static struct unicode_data * +corrections_lookup(struct unicode_data *u) +{ + int i; + + for (i = 0; i != corrections_count; i++) + if (u->code == corrections[i].code) + return &corrections[i]; + return u; +} + +static int +nfkdi_equal(void *l, void *r) +{ + struct unicode_data *left = l; + struct unicode_data *right = r; + + if (left->gen != right->gen) + return 0; + if (left->ccc != right->ccc) + return 0; + if (left->utf8nfkdi && right->utf8nfkdi && + strcmp(left->utf8nfkdi, right->utf8nfkdi) == 0) + return 1; + if (left->utf8nfkdi || right->utf8nfkdi) + return 0; + return 1; +} + +static int +nfkdicf_equal(void *l, void *r) +{ + struct unicode_data *left = l; + struct unicode_data *right = r; + + if (left->gen != right->gen) + return 0; + if (left->ccc != right->ccc) + return 0; + if (left->utf8nfkdicf && right->utf8nfkdicf && + strcmp(left->utf8nfkdicf, right->utf8nfkdicf) == 0) + return 1; + if (left->utf8nfkdicf && right->utf8nfkdicf) + return 0; + if (left->utf8nfkdicf || right->utf8nfkdicf) + return 0; + if (left->utf8nfkdi && right->utf8nfkdi && + strcmp(left->utf8nfkdi, right->utf8nfkdi) == 0) + return 1; + if (left->utf8nfkdi || right->utf8nfkdi) + return 0; + return 1; +} + +static void +nfkdi_print(void *l, int indent) +{ + struct unicode_data *leaf = l; + + printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, + leaf->code, leaf->ccc, leaf->gen); + if (leaf->utf8nfkdi) + printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); + printf("\n"); +} + +static void +nfkdicf_print(void *l, int indent) +{ + struct unicode_data *leaf = l; + + printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, + leaf->code, leaf->ccc, leaf->gen); + if (leaf->utf8nfkdicf) + printf(" nfkdicf \"%s\"", (const char*)leaf->utf8nfkdicf); + else if (leaf->utf8nfkdi) + printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); + printf("\n"); +} + +static int +nfkdi_mark(void *l) +{ + return 1; +} + +static int +nfkdicf_mark(void *l) +{ + struct unicode_data *leaf = l; + + if (leaf->utf8nfkdicf) + return 1; + return 0; +} + +static int +correction_mark(void *l) +{ + struct unicode_data *leaf = l; + + return leaf->correction; +} + +static int +nfkdi_size(void *l) +{ + struct unicode_data *leaf = l; + + int size = 2; + if (leaf->utf8nfkdi) + size += strlen(leaf->utf8nfkdi) + 1; + return size; +} + +static int +nfkdicf_size(void *l) +{ + struct unicode_data *leaf = l; + + int size = 2; + if (leaf->utf8nfkdicf) + size += strlen(leaf->utf8nfkdicf) + 1; + else if (leaf->utf8nfkdi) + size += strlen(leaf->utf8nfkdi) + 1; + return size; +} + +static int * +nfkdi_index(struct tree *tree, void *l) +{ + struct unicode_data *leaf = l; + + return &tree->leafindex[leaf->code]; +} + +static int * +nfkdicf_index(struct tree *tree, void *l) +{ + struct unicode_data *leaf = l; + + return &tree->leafindex[leaf->code]; +} + +static unsigned char * +nfkdi_emit(void *l, unsigned char *data) +{ + struct unicode_data *leaf = l; + unsigned char *s; + + *data++ = leaf->gen; + if (leaf->utf8nfkdi) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdi; + while ((*data++ = *s++) != 0) + ; + } else { + *data++ = leaf->ccc; + } + return data; +} + +static unsigned char * +nfkdicf_emit(void *l, unsigned char *data) +{ + struct unicode_data *leaf = l; + unsigned char *s; + + *data++ = leaf->gen; + if (leaf->utf8nfkdicf) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdicf; + while ((*data++ = *s++) != 0) + ; + } else if (leaf->utf8nfkdi) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdi; + while ((*data++ = *s++) != 0) + ; + } else { + *data++ = leaf->ccc; + } + return data; +} + +static void +utf8_create(struct unicode_data *data) +{ + char utf[18*4+1]; + char *u; + unsigned int *um; + int i; + + u = utf; + um = data->utf32nfkdi; + if (um) { + for (i = 0; um[i]; i++) + u += utf8key(um[i], u); + *u = '\0'; + data->utf8nfkdi = strdup((char*)utf); + } + u = utf; + um = data->utf32nfkdicf; + if (um) { + for (i = 0; um[i]; i++) + u += utf8key(um[i], u); + *u = '\0'; + if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, (char*)utf)) + data->utf8nfkdicf = strdup((char*)utf); + } +} + +static void +utf8_init(void) +{ + unsigned int unichar; + int i; + + for (unichar = 0; unichar != 0x110000; unichar++) + utf8_create(&unicode_data[unichar]); + + for (i = 0; i != corrections_count; i++) + utf8_create(&corrections[i]); +} + +static void +trees_init(void) +{ + struct unicode_data *data; + unsigned int maxage; + unsigned int nextage; + int count; + int i; + int j; + + /* Count the number of different ages. */ + count = 0; + nextage = (unsigned int)-1; + do { + maxage = nextage; + nextage = 0; + for (i = 0; i <= corrections_count; i++) { + data = &corrections[i]; + if (nextage < data->correction && + data->correction < maxage) + nextage = data->correction; + } + count++; + } while (nextage); + + /* Two trees per age: nfkdi and nfkdicf */ + trees_count = count * 2; + trees = calloc(trees_count, sizeof(struct tree)); + + /* Assign ages to the trees. */ + count = trees_count; + nextage = (unsigned int)-1; + do { + maxage = nextage; + trees[--count].maxage = maxage; + trees[--count].maxage = maxage; + nextage = 0; + for (i = 0; i <= corrections_count; i++) { + data = &corrections[i]; + if (nextage < data->correction && + data->correction < maxage) + nextage = data->correction; + } + } while (nextage); + + /* The ages assigned above are off by one. */ + for (i = 0; i != trees_count; i++) { + j = 0; + while (ages[j] < trees[i].maxage) + j++; + trees[i].maxage = ages[j-1]; + } + + /* Set up the forwarding between trees. */ + trees[trees_count-2].next = &trees[trees_count-1]; + trees[trees_count-1].leaf_mark = nfkdi_mark; + trees[trees_count-2].leaf_mark = nfkdicf_mark; + for (i = 0; i != trees_count-2; i += 2) { + trees[i].next = &trees[trees_count-2]; + trees[i].leaf_mark = correction_mark; + trees[i+1].next = &trees[trees_count-1]; + trees[i+1].leaf_mark = correction_mark; + } + + /* Assign the callouts. */ + for (i = 0; i != trees_count; i += 2) { + trees[i].type = "nfkdicf"; + trees[i].leaf_equal = nfkdicf_equal; + trees[i].leaf_print = nfkdicf_print; + trees[i].leaf_size = nfkdicf_size; + trees[i].leaf_index = nfkdicf_index; + trees[i].leaf_emit = nfkdicf_emit; + + trees[i+1].type = "nfkdi"; + trees[i+1].leaf_equal = nfkdi_equal; + trees[i+1].leaf_print = nfkdi_print; + trees[i+1].leaf_size = nfkdi_size; + trees[i+1].leaf_index = nfkdi_index; + trees[i+1].leaf_emit = nfkdi_emit; + } + + /* Finish init. */ + for (i = 0; i != trees_count; i++) + trees[i].childnode = NODE; +} + +static void +trees_populate(void) +{ + struct unicode_data *data; + unsigned int unichar; + char keyval[4]; + int keylen; + int i; + + for (i = 0; i != trees_count; i++) { + if (verbose > 0) { + printf("Populating %s_%x\n", + trees[i].type, trees[i].maxage); + } + for (unichar = 0; unichar != 0x110000; unichar++) { + if (unicode_data[unichar].gen < 0) + continue; + keylen = utf8key(unichar, keyval); + data = corrections_lookup(&unicode_data[unichar]); + if (data->correction <= trees[i].maxage) + data = &unicode_data[unichar]; + insert(&trees[i], keyval, keylen, data); + } + } +} + +static void +trees_reduce(void) +{ + int i; + int size; + int changed; + + for (i = 0; i != trees_count; i++) + prune(&trees[i]); + for (i = 0; i != trees_count; i++) + mark_nodes(&trees[i]); + do { + size = 0; + for (i = 0; i != trees_count; i++) + size = index_nodes(&trees[i], size); + changed = 0; + for (i = 0; i != trees_count; i++) + changed += size_nodes(&trees[i]); + } while (changed); + + utf8data = calloc(size, 1); + utf8data_size = size; + for (i = 0; i != trees_count; i++) + emit(&trees[i], utf8data); + + if (verbose > 0) { + for (i = 0; i != trees_count; i++) { + printf("%s_%x idx %d\n", + trees[i].type, trees[i].maxage, trees[i].index); + } + } + + nfkdi = utf8data + trees[trees_count-1].index; + nfkdicf = utf8data + trees[trees_count-2].index; + + nfkdi_tree = &trees[trees_count-1]; + nfkdicf_tree = &trees[trees_count-2]; +} + +static void +verify(struct tree *tree) +{ + struct unicode_data *data; + utf8leaf_t *leaf; + unsigned int unichar; + char key[4]; + int report; + int nocf; + + if (verbose > 0) + printf("Verifying %s_%x\n", tree->type, tree->maxage); + nocf = strcmp(tree->type, "nfkdicf"); + + for (unichar = 0; unichar != 0x110000; unichar++) { + report = 0; + data = corrections_lookup(&unicode_data[unichar]); + if (data->correction <= tree->maxage) + data = &unicode_data[unichar]; + utf8key(unichar, key); + leaf = utf8lookup(tree, key); + if (!leaf) { + if (data->gen != -1) + report++; + if (unichar < 0xd800 || unichar > 0xdfff) + report++; + } else { + if (unichar >= 0xd800 && unichar <= 0xdfff) + report++; + if (data->gen == -1) + report++; + if (data->gen != LEAF_GEN(leaf)) + report++; + if (LEAF_CCC(leaf) == DECOMPOSE) { + if (nocf) { + if (!data->utf8nfkdi) { + report++; + } else if (strcmp(data->utf8nfkdi, + LEAF_STR(leaf))) { + report++; + } + } else { + if (!data->utf8nfkdicf && + !data->utf8nfkdi) { + report++; + } else if (data->utf8nfkdicf) { + if (strcmp(data->utf8nfkdicf, + LEAF_STR(leaf))) + report++; + } else if (strcmp(data->utf8nfkdi, + LEAF_STR(leaf))) { + report++; + } + } + } else if (data->ccc != LEAF_CCC(leaf)) { + report++; + } + } + if (report) { + printf("%X code %X gen %d ccc %d" + " nfdki -> \"%s\"", + unichar, data->code, data->gen, + data->ccc, + data->utf8nfkdi); + if (leaf) { + printf(" age %d ccc %d" + " nfdki -> \"%s\"\n", + LEAF_GEN(leaf), + LEAF_CCC(leaf), + LEAF_CCC(leaf) == DECOMPOSE ? + LEAF_STR(leaf) : ""); + } + printf("\n"); + } + } +} + +static void +trees_verify(void) +{ + int i; + + for (i = 0; i != trees_count; i++) + verify(&trees[i]); +} + +/* ------------------------------------------------------------------ */ + +static void +help(void) +{ + printf("Usage: %s [options]\n", argv0); + printf("\n"); + printf("This program creates an a data trie used for parsing and\n"); + printf("normalization of UTF-8 strings. The trie is derived from\n"); + printf("a set of input files from the Unicode character database\n"); + printf("found at: http://www.unicode.org/Public/UCD/latest/ucd/\n"); + printf("\n"); + printf("The generated tree supports two normalization forms:\n"); + printf("\n"); + printf("\tnfkdi:\n"); + printf("\t- Apply unicode normalization form NFKD.\n"); + printf("\t- Remove any Default_Ignorable_Code_Point.\n"); + printf("\n"); + printf("\tnfkdicf:\n"); + printf("\t- Apply unicode normalization form NFKD.\n"); + printf("\t- Remove any Default_Ignorable_Code_Point.\n"); + printf("\t- Apply a full casefold (C + F).\n"); + printf("\n"); + printf("These forms were chosen as being most useful when dealing\n"); + printf("with file names: NFKD catches most cases where characters\n"); + printf("should be considered equivalent. The ignorables are mostly\n"); + printf("invisible, making names hard to type.\n"); + printf("\n"); + printf("The options to specify the files to be used are listed\n"); + printf("below with their default values, which are the names used\n"); + printf("by version 7.0.0 of the Unicode Character Database.\n"); + printf("\n"); + printf("The input files:\n"); + printf("\t-a %s\n", AGE_NAME); + printf("\t-c %s\n", CCC_NAME); + printf("\t-p %s\n", PROP_NAME); + printf("\t-d %s\n", DATA_NAME); + printf("\t-f %s\n", FOLD_NAME); + printf("\t-n %s\n", NORM_NAME); + printf("\n"); + printf("Additionally, the generated tables are tested using:\n"); + printf("\t-t %s\n", TEST_NAME); + printf("\n"); + printf("Finally, the output file:\n"); + printf("\t-o %s\n", UTF8_NAME); + printf("\n"); +} + +static void +usage(void) +{ + help(); + exit(1); +} + +static void +open_fail(const char *name, int error) +{ + printf("Error %d opening %s: %s\n", error, name, strerror(error)); + exit(1); +} + +static void +file_fail(const char *filename) +{ + printf("Error parsing %s\n", filename); + exit(1); +} + +static void +line_fail(const char *filename, const char *line) +{ + printf("Error parsing %s:%s\n", filename, line); + exit(1); +} + +/* ------------------------------------------------------------------ */ + +static void +print_utf32(unsigned int *utf32str) +{ + int i; + + for (i = 0; utf32str[i]; i++) + printf(" %X", utf32str[i]); +} + +static void +print_utf32nfkdi(unsigned int unichar) +{ + printf(" %X ->", unichar); + print_utf32(unicode_data[unichar].utf32nfkdi); + printf("\n"); +} + +static void +print_utf32nfkdicf(unsigned int unichar) +{ + printf(" %X ->", unichar); + print_utf32(unicode_data[unichar].utf32nfkdicf); + printf("\n"); +} + +/* ------------------------------------------------------------------ */ + +static void +age_init(void) +{ + FILE *file; + unsigned int first; + unsigned int last; + unsigned int unichar; + unsigned int major; + unsigned int minor; + unsigned int revision; + int gen; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", age_name); + + file = fopen(age_name, "r"); + if (!file) + open_fail(age_name, errno); + count = 0; + + gen = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "# Age=V%d_%d_%d", + &major, &minor, &revision); + if (ret == 3) { + ages_count++; + if (verbose > 1) + printf(" Age V%d_%d_%d\n", + major, minor, revision); + if (!age_valid(major, minor, revision)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "# Age=V%d_%d", &major, &minor); + if (ret == 2) { + ages_count++; + if (verbose > 1) + printf(" Age V%d_%d\n", major, minor); + if (!age_valid(major, minor, 0)) + line_fail(age_name, line); + continue; + } + } + + /* We must have found something above. */ + if (verbose > 1) + printf("%d age entries\n", ages_count); + if (ages_count == 0 || ages_count > MAXGEN) + file_fail(age_name); + + /* There is a 0 entry. */ + ages_count++; + ages = calloc(ages_count + 1, sizeof(*ages)); + /* And a guard entry. */ + ages[ages_count] = (unsigned int)-1; + + rewind(file); + count = 0; + gen = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "# Age=V%d_%d_%d", + &major, &minor, &revision); + if (ret == 3) { + ages[++gen] = + UNICODE_AGE(major, minor, revision); + if (verbose > 1) + printf(" Age V%d_%d_%d = gen %d\n", + major, minor, revision, gen); + if (!age_valid(major, minor, revision)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "# Age=V%d_%d", &major, &minor); + if (ret == 2) { + ages[++gen] = UNICODE_AGE(major, minor, 0); + if (verbose > 1) + printf(" Age V%d_%d = %d\n", + major, minor, gen); + if (!age_valid(major, minor, 0)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "%X..%X ; %d.%d #", + &first, &last, &major, &minor); + if (ret == 4) { + for (unichar = first; unichar <= last; unichar++) + unicode_data[unichar].gen = gen; + count += 1 + last - first; + if (verbose > 1) + printf(" %X..%X gen %d\n", first, last, gen); + if (!utf32valid(first) || !utf32valid(last)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "%X ; %d.%d #", &unichar, &major, &minor); + if (ret == 3) { + unicode_data[unichar].gen = gen; + count++; + if (verbose > 1) + printf(" %X gen %d\n", unichar, gen); + if (!utf32valid(unichar)) + line_fail(age_name, line); + continue; + } + } + unicode_maxage = ages[gen]; + fclose(file); + + /* Nix surrogate block */ + if (verbose > 1) + printf(" Removing surrogate block D800..DFFF\n"); + for (unichar = 0xd800; unichar <= 0xdfff; unichar++) + unicode_data[unichar].gen = -1; + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(age_name); +} + +static void +ccc_init(void) +{ + FILE *file; + unsigned int first; + unsigned int last; + unsigned int unichar; + unsigned int value; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", ccc_name); + + file = fopen(ccc_name, "r"); + if (!file) + open_fail(ccc_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X..%X ; %d #", &first, &last, &value); + if (ret == 3) { + for (unichar = first; unichar <= last; unichar++) { + unicode_data[unichar].ccc = value; + count++; + } + if (verbose > 1) + printf(" %X..%X ccc %d\n", first, last, value); + if (!utf32valid(first) || !utf32valid(last)) + line_fail(ccc_name, line); + continue; + } + ret = sscanf(line, "%X ; %d #", &unichar, &value); + if (ret == 2) { + unicode_data[unichar].ccc = value; + count++; + if (verbose > 1) + printf(" %X ccc %d\n", unichar, value); + if (!utf32valid(unichar)) + line_fail(ccc_name, line); + continue; + } + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(ccc_name); +} + +static void +nfkdi_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char *s; + unsigned int *um; + int count; + int i; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", data_name); + file = fopen(data_name, "r"); + if (!file) + open_fail(data_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%*[^;];%*[^;];%*[^;];%*[^;];%[^;];", + &unichar, buf0); + if (ret != 2) + continue; + if (!utf32valid(unichar)) + line_fail(data_name, line); + + s = buf0; + /* skip over */ + if (*s == '<') + while (*s++ != ' ') + ; + /* decode the decomposition into UTF-32 */ + i = 0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(data_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + + if (verbose > 1) + print_utf32nfkdi(unichar); + count++; + } + fclose(file); + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(data_name); +} + +static void +nfkdicf_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char status; + char *s; + unsigned int *um; + int i; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", fold_name); + file = fopen(fold_name, "r"); + if (!file) + open_fail(fold_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X; %c; %[^;];", &unichar, &status, buf0); + if (ret != 3) + continue; + if (!utf32valid(unichar)) + line_fail(fold_name, line); + /* Use the C+F casefold. */ + if (status != 'C' && status != 'F') + continue; + s = buf0; + if (*s == '<') + while (*s++ != ' ') + ; + i = 0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(fold_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + + if (verbose > 1) + print_utf32nfkdicf(unichar); + count++; + } + fclose(file); + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(fold_name); +} + +static void +ignore_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int first; + unsigned int last; + unsigned int *um; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", prop_name); + file = fopen(prop_name, "r"); + if (!file) + open_fail(prop_name, errno); + assert(file); + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X..%X ; %s # ", &first, &last, buf0); + if (ret == 3) { + if (strcmp(buf0, "Default_Ignorable_Code_Point")) + continue; + if (!utf32valid(first) || !utf32valid(last)) + line_fail(prop_name, line); + for (unichar = first; unichar <= last; unichar++) { + free(unicode_data[unichar].utf32nfkdi); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdi = um; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdicf = um; + count++; + } + if (verbose > 1) + printf(" %X..%X Default_Ignorable_Code_Point\n", + first, last); + continue; + } + ret = sscanf(line, "%X ; %s # ", &unichar, buf0); + if (ret == 2) { + if (strcmp(buf0, "Default_Ignorable_Code_Point")) + continue; + if (!utf32valid(unichar)) + line_fail(prop_name, line); + free(unicode_data[unichar].utf32nfkdi); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdi = um; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdicf = um; + if (verbose > 1) + printf(" %X Default_Ignorable_Code_Point\n", + unichar); + count++; + continue; + } + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(prop_name); +} + +static void +corrections_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int major; + unsigned int minor; + unsigned int revision; + unsigned int age; + unsigned int *um; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char *s; + int i; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", norm_name); + file = fopen(norm_name, "r"); + if (!file) + open_fail(norm_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%[^;];%[^;];%d.%d.%d #", + &unichar, buf0, buf1, + &major, &minor, &revision); + if (ret != 6) + continue; + if (!utf32valid(unichar) || !age_valid(major, minor, revision)) + line_fail(norm_name, line); + count++; + } + corrections = calloc(count, sizeof(struct unicode_data)); + corrections_count = count; + rewind(file); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%[^;];%[^;];%d.%d.%d #", + &unichar, buf0, buf1, + &major, &minor, &revision); + if (ret != 6) + continue; + if (!utf32valid(unichar) || !age_valid(major, minor, revision)) + line_fail(norm_name, line); + corrections[count] = unicode_data[unichar]; + assert(corrections[count].code == unichar); + age = UNICODE_AGE(major, minor, revision); + corrections[count].correction = age; + + i = 0; + s = buf0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(norm_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + corrections[count].utf32nfkdi = um; + + if (verbose > 1) + printf(" %X -> %s -> %s V%d_%d_%d\n", + unichar, buf0, buf1, major, minor, revision); + count++; + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(norm_name); +} + +/* ------------------------------------------------------------------ */ + +/* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount + * LVPart = LBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + * + */ + +static void +hangul_decompose(void) +{ + unsigned int sb = 0xAC00; + unsigned int lb = 0x1100; + unsigned int vb = 0x1161; + unsigned int tb = 0x11a7; + /* unsigned int lc = 19; */ + unsigned int vc = 21; + unsigned int tc = 28; + unsigned int nc = (vc * tc); + /* unsigned int sc = (lc * nc); */ + unsigned int unichar; + unsigned int mapping[4]; + unsigned int *um; + int count; + int i; + + if (verbose > 0) + printf("Decomposing hangul\n"); + /* Hangul */ + count = 0; + for (unichar = 0xAC00; unichar <= 0xD7A3; unichar++) { + unsigned int si = unichar - sb; + unsigned int li = si / nc; + unsigned int vi = (si % nc) / tc; + unsigned int ti = si % tc; + + i = 0; + mapping[i++] = lb + li; + mapping[i++] = vb + vi; + if (ti) + mapping[i++] = tb + ti; + mapping[i++] = 0; + + assert(!unicode_data[unichar].utf32nfkdi); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + + assert(!unicode_data[unichar].utf32nfkdicf); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + + if (verbose > 1) + print_utf32nfkdi(unichar); + + count++; + } + if (verbose > 0) + printf("Created %d entries\n", count); +} + +static void +nfkdi_decompose(void) +{ + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + unsigned int *um; + unsigned int *dc; + int count; + int i; + int j; + int ret; + + if (verbose > 0) + printf("Decomposing nfkdi\n"); + + count = 0; + for (unichar = 0; unichar != 0x110000; unichar++) { + if (!unicode_data[unichar].utf32nfkdi) + continue; + for (;;) { + ret = 1; + i = 0; + um = unicode_data[unichar].utf32nfkdi; + while (*um) { + dc = unicode_data[*um].utf32nfkdi; + if (dc) { + for (j = 0; dc[j]; j++) + mapping[i++] = dc[j]; + ret = 0; + } else { + mapping[i++] = *um; + } + um++; + } + mapping[i++] = 0; + if (ret) + break; + free(unicode_data[unichar].utf32nfkdi); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + } + /* Add this decomposition to nfkdicf if there is no entry. */ + if (!unicode_data[unichar].utf32nfkdicf) { + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + } + if (verbose > 1) + print_utf32nfkdi(unichar); + count++; + } + if (verbose > 0) + printf("Processed %d entries\n", count); +} + +static void +nfkdicf_decompose(void) +{ + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + unsigned int *um; + unsigned int *dc; + int count; + int i; + int j; + int ret; + + if (verbose > 0) + printf("Decomposing nfkdicf\n"); + count = 0; + for (unichar = 0; unichar != 0x110000; unichar++) { + if (!unicode_data[unichar].utf32nfkdicf) + continue; + for (;;) { + ret = 1; + i = 0; + um = unicode_data[unichar].utf32nfkdicf; + while (*um) { + dc = unicode_data[*um].utf32nfkdicf; + if (dc) { + for (j = 0; dc[j]; j++) + mapping[i++] = dc[j]; + ret = 0; + } else { + mapping[i++] = *um; + } + um++; + } + mapping[i++] = 0; + if (ret) + break; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + } + if (verbose > 1) + print_utf32nfkdicf(unichar); + count++; + } + if (verbose > 0) + printf("Processed %d entries\n", count); +} + +/* ------------------------------------------------------------------ */ + +int utf8agemax(struct tree *, const char *); +int utf8nagemax(struct tree *, const char *, size_t); +int utf8agemin(struct tree *, const char *); +int utf8nagemin(struct tree *, const char *, size_t); +ssize_t utf8len(struct tree *, const char *); +ssize_t utf8nlen(struct tree *, const char *, size_t); +struct utf8cursor; +int utf8cursor(struct utf8cursor *, struct tree *, const char *); +int utf8ncursor(struct utf8cursor *, struct tree *, const char *, size_t); +int utf8byte(struct utf8cursor *); + +/* + * Use trie to scan s, touching at most len bytes. + * Returns the leaf if one exists, NULL otherwise. + * + * A non-NULL return guarantees that the UTF-8 sequence starting at s + * is well-formed and corresponds to a known unicode code point. The + * shorthand for this will be "is valid UTF-8 unicode". + */ +static utf8leaf_t * +utf8nlookup(struct tree *tree, const char *s, size_t len) +{ + utf8trie_t *trie = utf8data + tree->index; + int offlen; + int offset; + int mask; + int node; + + if (!tree) + return NULL; + if (len == 0) + return NULL; + node = 1; + while (node) { + offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; + if (*trie & NEXTBYTE) { + if (--len == 0) + return NULL; + s++; + } + mask = 1 << (*trie & BITNUM); + if (*s & mask) { + /* Right leg */ + if (offlen) { + /* Right node at offset of trie */ + node = (*trie & RIGHTNODE); + offset = trie[offlen]; + while (--offlen) { + offset <<= 8; + offset |= trie[offlen]; + } + trie += offset; + } else if (*trie & RIGHTPATH) { + /* Right node after this node */ + node = (*trie & TRIENODE); + trie++; + } else { + /* No right node. */ + node = 0; + trie = NULL; + } + } else { + /* Left leg */ + if (offlen) { + /* Left node after this node. */ + node = (*trie & LEFTNODE); + trie += offlen + 1; + } else if (*trie & RIGHTPATH) { + /* No left node. */ + node = 0; + trie = NULL; + } else { + /* Left node after this node */ + node = (*trie & TRIENODE); + trie++; + } + } + } + return trie; +} + +/* + * Use trie to scan s. + * Returns the leaf if one exists, NULL otherwise. + * + * Forwards to trie_nlookup(). + */ +static utf8leaf_t * +utf8lookup(struct tree *tree, const char *s) +{ + return utf8nlookup(tree, s, (size_t)-1); +} + +/* + * Return the number of bytes used by the current UTF-8 sequence. + * Assumes the input points to the first byte of a valid UTF-8 + * sequence. + */ +static inline int +utf8clen(const char *s) +{ + unsigned char c = *s; + return 1 + (c >= 0xC0) + (c >= 0xE0) + (c >= 0xF0); +} + +/* + * Maximum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if only non-assigned code points are used. + */ +int +utf8agemax(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age > age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Minimum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if non-assigned code points are used. + */ +int +utf8agemin(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + int age = tree->maxage; + int leaf_age; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age < age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemax(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age > age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemin(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int leaf_age; + int age = tree->maxage; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age < age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Length of the normalization of s. + * Return -1 if s is not valid UTF-8 unicode. + * + * A string of Default_Ignorable_Code_Point has length 0. + */ +ssize_t +utf8len(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + if (ages[LEAF_GEN(leaf)] > tree->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Length of the normalization of s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +ssize_t +utf8nlen(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + if (ages[LEAF_GEN(leaf)] > tree->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + len -= utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Cursor structure used by the normalizer. + */ +struct utf8cursor { + struct tree *tree; + const char *s; + const char *p; + const char *ss; + const char *sp; + unsigned int len; + unsigned int slen; + short int ccc; + short int nccc; + unsigned int unichar; +}; + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * s : string. + * len : length of s. + * u8c : pointer to cursor. + * trie : utf8trie_t to use for normalization. + * + * Returns -1 on error, 0 on success. + */ +int +utf8ncursor( + struct utf8cursor *u8c, + struct tree *tree, + const char *s, + size_t len) +{ + if (!tree) + return -1; + if (!s) + return -1; + u8c->tree = tree; + u8c->s = s; + u8c->p = NULL; + u8c->ss = NULL; + u8c->sp = NULL; + u8c->len = len; + u8c->slen = 0; + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->unichar = 0; + /* Check we didn't clobber the maximum length. */ + if (u8c->len != len) + return -1; + /* The first byte of s may not be an utf8 continuation. */ + if (len > 0 && (*s & 0xC0) == 0x80) + return -1; + return 0; +} + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * s : NUL-terminated string. + * u8c : pointer to cursor. + * trie : utf8trie_t to use for normalization. + * + * Returns -1 on error, 0 on success. + */ +int +utf8cursor( + struct utf8cursor *u8c, + struct tree *tree, + const char *s) +{ + return utf8ncursor(u8c, tree, s, (unsigned int)-1); +} + +/* + * Get one byte from the normalized form of the string described by u8c. + * + * Returns the byte cast to an unsigned char on succes, and -1 on failure. + * + * The cursor keeps track of the location in the string in u8c->s. + * When a character is decomposed, the current location is stored in + * u8c->p, and u8c->s is set to the start of the decomposition. Note + * that bytes from a decomposition do not count against u8c->len. + * + * Characters are emitted if they match the current CCC in u8c->ccc. + * Hitting end-of-string while u8c->ccc == STOPPER means we're done, + * and the function returns 0 in that case. + * + * Sorting by CCC is done by repeatedly scanning the string. The + * values of u8c->s and u8c->p are stored in u8c->ss and u8c->sp at + * the start of the scan. The first pass finds the lowest CCC to be + * emitted and stores it in u8c->nccc, the second pass emits the + * characters with this CCC and finds the next lowest CCC. This limits + * the number of passes to 1 + the number of different CCCs in the + * sequence being scanned. + * + * Therefore: + * u8c->p != NULL -> a decomposition is being scanned. + * u8c->ss != NULL -> this is a repeating scan. + * u8c->ccc == -1 -> this is the first scan of a repeating scan. + */ +int +utf8byte(struct utf8cursor *u8c) +{ + utf8leaf_t *leaf; + int ccc; + + for (;;) { + /* Check for the end of a decomposed character. */ + if (u8c->p && *u8c->s == '\0') { + u8c->s = u8c->p; + u8c->p = NULL; + } + + /* Check for end-of-string. */ + if (!u8c->p && (u8c->len == 0 || *u8c->s == '\0')) { + /* There is no next byte. */ + if (u8c->ccc == STOPPER) + return 0; + /* End-of-string during a scan counts as a stopper. */ + ccc = STOPPER; + goto ccc_mismatch; + } else if ((*u8c->s & 0xC0) == 0x80) { + /* This is a continuation of the current character. */ + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Look up the data for the current character. */ + if (u8c->p) + leaf = utf8lookup(u8c->tree, u8c->s); + else + leaf = utf8nlookup(u8c->tree, u8c->s, u8c->len); + + /* No leaf found implies that the input is a binary blob. */ + if (!leaf) + return -1; + + /* Characters that are too new have CCC 0. */ + if (ages[LEAF_GEN(leaf)] > u8c->tree->maxage) { + ccc = STOPPER; + } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { + u8c->len -= utf8clen(u8c->s); + u8c->p = u8c->s + utf8clen(u8c->s); + u8c->s = LEAF_STR(leaf); + /* Empty decomposition implies CCC 0. */ + if (*u8c->s == '\0') { + if (u8c->ccc == STOPPER) + continue; + ccc = STOPPER; + goto ccc_mismatch; + } + leaf = utf8lookup(u8c->tree, u8c->s); + ccc = LEAF_CCC(leaf); + } + u8c->unichar = utf8code(u8c->s); + + /* + * If this is not a stopper, then see if it updates + * the next canonical class to be emitted. + */ + if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) + u8c->nccc = ccc; + + /* + * Return the current byte if this is the current + * combining class. + */ + if (ccc == u8c->ccc) { + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Current combining class mismatch. */ + ccc_mismatch: + if (u8c->nccc == STOPPER) { + /* + * Scan forward for the first canonical class + * to be emitted. Save the position from + * which to restart. + */ + assert(u8c->ccc == STOPPER); + u8c->ccc = MINCCC - 1; + u8c->nccc = ccc; + u8c->sp = u8c->p; + u8c->ss = u8c->s; + u8c->slen = u8c->len; + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (ccc != STOPPER) { + /* Not a stopper, and not the ccc we're emitting. */ + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (u8c->nccc != MAXCCC + 1) { + /* At a stopper, restart for next ccc. */ + u8c->ccc = u8c->nccc; + u8c->nccc = MAXCCC + 1; + u8c->s = u8c->ss; + u8c->p = u8c->sp; + u8c->len = u8c->slen; + } else { + /* All done, proceed from here. */ + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->sp = NULL; + u8c->ss = NULL; + u8c->slen = 0; + } + } +} + +/* ------------------------------------------------------------------ */ + +static int +normalize_line(struct tree *tree) +{ + char *s; + char *t; + int c; + struct utf8cursor u8c; + + /* First test: null-terminated string. */ + s = buf2; + t = buf3; + if (utf8cursor(&u8c, tree, s)) + return -1; + while ((c = utf8byte(&u8c)) > 0) + if (c != (unsigned char)*t++) + return -1; + if (c < 0) + return -1; + if (*t != 0) + return -1; + + /* Second test: length-limited string. */ + s = buf2; + /* Replace NUL with a value that will cause an error if seen. */ + s[strlen(s) + 1] = -1; + t = buf3; + if (utf8cursor(&u8c, tree, s)) + return -1; + while ((c = utf8byte(&u8c)) > 0) + if (c != (unsigned char)*t++) + return -1; + if (c < 0) + return -1; + if (*t != 0) + return -1; + + return 0; +} + +static void +normalization_test(void) +{ + FILE *file; + unsigned int unichar; + struct unicode_data *data; + char *s; + char *t; + int ret; + int ignorables; + int tests = 0; + int failures = 0; + + if (verbose > 0) + printf("Parsing %s\n", test_name); + /* Step one, read data from file. */ + file = fopen(test_name, "r"); + if (!file) + open_fail(test_name, errno); + + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%[^;];%*[^;];%*[^;];%*[^;];%[^;];", + buf0, buf1); + if (ret != 2 || *line == '#') + continue; + s = buf0; + t = buf2; + while (*s) { + unichar = strtoul(s, &s, 16); + t += utf8key(unichar, t); + } + *t = '\0'; + + ignorables = 0; + s = buf1; + t = buf3; + while (*s) { + unichar = strtoul(s, &s, 16); + data = &unicode_data[unichar]; + if (data->utf8nfkdi && !*data->utf8nfkdi) + ignorables = 1; + else + t += utf8key(unichar, t); + } + *t = '\0'; + + tests++; + if (normalize_line(nfkdi_tree) < 0) { + printf("\nline %s -> %s", buf0, buf1); + if (ignorables) + printf(" (ignorables removed)"); + printf(" failure\n"); + failures++; + } + } + fclose(file); + if (verbose > 0) + printf("Ran %d tests with %d failures\n", tests, failures); + if (failures) + file_fail(test_name); +} + +/* ------------------------------------------------------------------ */ + +static void +write_file(void) +{ + FILE *file; + int i; + int j; + int t; + int gen; + + if (verbose > 0) + printf("Writing %s\n", utf8_name); + file = fopen(utf8_name, "w"); + if (!file) + open_fail(utf8_name, errno); + + fprintf(file, "/* This file is generated code, do not edit. */\n"); + fprintf(file, "#ifndef __INCLUDED_FROM_UTF8NORM_C__\n"); + fprintf(file, "#error Only xfs_utf8.c may include this file.\n"); + fprintf(file, "#endif\n"); + fprintf(file, "\n"); + fprintf(file, "static const unsigned int utf8vers = %#x;\n", + unicode_maxage); + fprintf(file, "\n"); + fprintf(file, "static const unsigned int utf8agetab[] = {\n"); + for (i = 0; i != ages_count; i++) + fprintf(file, "\t%#x%s\n", ages[i], + ages[i] == unicode_maxage ? "" : ","); + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const struct utf8data utf8nfkdicfdata[] = {\n"); + t = 0; + for (gen = 0; gen < ages_count; gen++) { + fprintf(file, "\t{ %#x, %d }%s\n", + ages[gen], trees[t].index, + ages[gen] == unicode_maxage ? "" : ","); + if (trees[t].maxage == ages[gen]) + t += 2; + } + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const struct utf8data utf8nfkdidata[] = {\n"); + t = 1; + for (gen = 0; gen < ages_count; gen++) { + fprintf(file, "\t{ %#x, %d }%s\n", + ages[gen], trees[t].index, + ages[gen] == unicode_maxage ? "" : ","); + if (trees[t].maxage == ages[gen]) + t += 2; + } + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const unsigned char utf8data[%zd] = {\n", + utf8data_size); + t = 0; + for (i = 0; i != utf8data_size; i += 16) { + if (i == trees[t].index) { + fprintf(file, "\t/* %s_%x */\n", + trees[t].type, trees[t].maxage); + if (t < trees_count-1) + t++; + } + fprintf(file, "\t"); + for (j = i; j != i + 16; j++) + fprintf(file, "0x%.2x%s", utf8data[j], + (j < utf8data_size -1 ? "," : "")); + fprintf(file, "\n"); + } + fprintf(file, "};\n"); + fclose(file); +} + +/* ------------------------------------------------------------------ */ + +int +main(int argc, char *argv[]) +{ + unsigned int unichar; + int opt; + + argv0 = argv[0]; + + while ((opt = getopt(argc, argv, "a:c:d:f:hn:o:p:t:v")) != -1) { + switch (opt) { + case 'a': + age_name = optarg; + break; + case 'c': + ccc_name = optarg; + break; + case 'd': + data_name = optarg; + break; + case 'f': + fold_name = optarg; + break; + case 'n': + norm_name = optarg; + break; + case 'o': + utf8_name = optarg; + break; + case 'p': + prop_name = optarg; + break; + case 't': + test_name = optarg; + break; + case 'v': + verbose++; + break; + case 'h': + help(); + exit(0); + default: + usage(); + } + } + + if (verbose > 1) + help(); + for (unichar = 0; unichar != 0x110000; unichar++) + unicode_data[unichar].code = unichar; + age_init(); + ccc_init(); + nfkdi_init(); + nfkdicf_init(); + ignore_init(); + corrections_init(); + hangul_decompose(); + nfkdi_decompose(); + nfkdicf_decompose(); + utf8_init(); + trees_init(); + trees_populate(); + trees_reduce(); + trees_verify(); + /* Prevent "unused function" warning. */ + (void)lookup(nfkdi_tree, " "); + if (verbose > 2) + tree_walk(nfkdi_tree); + if (verbose > 2) + tree_walk(nfkdicf_tree); + normalization_test(); + write_file(); + + return 0; +} -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16: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=RP_MATCHES_RCVD, T_FILL_THIS_FORM_SHORT 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 A3CEC7F3F for ; Fri, 3 Oct 2014 16:54:14 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 79364304048; Fri, 3 Oct 2014 14:54:14 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 1CF614266AC; Fri, 3 Oct 2014 16:54:14 -0500 (CDT) Date: Fri, 3 Oct 2014 16:54:14 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 03/16] lib: add supporting code for UTF-8. Message-ID: <20141003215414.GB1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Supporting functions for UTF-8 normalization are in utf8norm.c with the header utf8norm.h. Two normalization forms are supported: nfkdi and nfkdicf. nfkdi: - Apply unicode normalization form NFKD. - Remove any Default_Ignorable_Code_Point. nfkdicf: - Apply unicode normalization form NFKD. - Remove any Default_Ignorable_Code_Point. - Apply a full casefold (C + F). For the purposes of the code, a string is valid UTF-8 if: - The values encoded are 0x1..0x10FFFF. - The surrogate codepoints 0xD800..0xDFFFF are not encoded. - The shortest possible encoding is used for all values. The supporting functions work on null-terminated strings (utf8 prefix) and on length-limited strings (utf8n prefix). Signed-off-by: Olaf Weber --- [v2: the trie is now separated into utf8norm.ko; utf8version is now a function and exported; introduced CONFIG_XFS_UTF8; removed trie generator due to vger size constraint. --bpm] [v3: replaced utf8version with utf8version_is_supported; moved utf8norm.ko to lib/ --bpm] --- include/linux/utf8norm.h | 116 +++++++++ lib/Makefile | 3 + lib/utf8norm.c | 657 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 776 insertions(+) create mode 100644 include/linux/utf8norm.h create mode 100644 lib/utf8norm.c diff --git a/include/linux/utf8norm.h b/include/linux/utf8norm.h new file mode 100644 index 0000000..82f86c4 --- /dev/null +++ b/include/linux/utf8norm.h @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2014 SGI. + * 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 UTF8NORM_H +#define UTF8NORM_H + +#include +#include +#include +#include + +/* An opaque type used to determine the normalization in use. */ +typedef const struct utf8data *utf8data_t; + +/* Encoding a unicode version number as a single unsigned int. */ +#define UNICODE_MAJ_SHIFT (16) +#define UNICODE_MIN_SHIFT (8) + +#define UNICODE_AGE(MAJ,MIN,REV) \ + (((unsigned int)(MAJ) << UNICODE_MAJ_SHIFT) | \ + ((unsigned int)(MIN) << UNICODE_MIN_SHIFT) | \ + ((unsigned int)(REV))) + +/* Highest unicode version supported by the data tables. */ +extern int utf8version_is_supported(unsigned int); + +/* + * Look for the correct utf8data_t for a unicode version. + * Returns NULL if the version requested is too new. + * + * Two normalization forms are supported: nfkdi and nfkdicf. + * + * nfkdi: + * - Apply unicode normalization form NFKD. + * - Remove any Default_Ignorable_Code_Point. + * + * nfkdicf: + * - Apply unicode normalization form NFKD. + * - Remove any Default_Ignorable_Code_Point. + * - Apply a full casefold (C + F). + */ +extern utf8data_t utf8nfkdi(unsigned int); +extern utf8data_t utf8nfkdicf(unsigned int); + +/* + * Determine the maximum age of any unicode character in the string. + * Returns 0 if only unassigned code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern int utf8agemax(utf8data_t, const char *); +extern int utf8nagemax(utf8data_t, const char *, size_t); + +/* + * Determine the minimum age of any unicode character in the string. + * Returns 0 if any unassigned code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern int utf8agemin(utf8data_t, const char *); +extern int utf8nagemin(utf8data_t, const char *, size_t); + +/* + * Determine the length of the normalized from of the string, + * excluding any terminating NULL byte. + * Returns 0 if only ignorable code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern ssize_t utf8len(utf8data_t, const char *); +extern ssize_t utf8nlen(utf8data_t, const char *, size_t); + +/* + * Cursor structure used by the normalizer. + */ +struct utf8cursor { + utf8data_t data; + const char *s; + const char *p; + const char *ss; + const char *sp; + unsigned int len; + unsigned int slen; + short int ccc; + short int nccc; +}; + +/* + * Initialize a utf8cursor to normalize a string. + * Returns 0 on success. + * Returns -1 on failure. + */ +extern int utf8cursor(struct utf8cursor *, utf8data_t, const char *); +extern int utf8ncursor(struct utf8cursor *, utf8data_t, const char *, size_t); + +/* + * Get the next byte in the normalization. + * Returns a value > 0 && < 256 on success. + * Returns 0 when the end of the normalization is reached. + * Returns -1 if the string being normalized is not valid UTF-8. + */ +extern int utf8byte(struct utf8cursor *); + +#endif /* UTF8NORM_H */ diff --git a/lib/Makefile b/lib/Makefile index b0b0d57..9e15e2b 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -197,6 +197,9 @@ clean-files += oid_registry_data.c obj-$(CONFIG_UCS2_STRING) += ucs2_string.o +obj-$(CONFIG_UTF8_NORMALIZATION) += utf8norm.o + +$(obj)/utf8norm.o: $(obj)/utf8data.h $(obj)/utf8data.h: $(src)/ucd/*.txt $(objtree)/scripts/mkutf8data FORCE $(call cmd,mkutf8data) quiet_cmd_mkutf8data = MKUTF8DATA $@ diff --git a/lib/utf8norm.c b/lib/utf8norm.c new file mode 100644 index 0000000..0fa97d1 --- /dev/null +++ b/lib/utf8norm.c @@ -0,0 +1,657 @@ +/* + * Copyright (c) 2014 SGI. + * 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 + +struct utf8data { + unsigned int maxage; + unsigned int offset; +}; + +#define __INCLUDED_FROM_UTF8NORM_C__ +#include "utf8data.h" +#undef __INCLUDED_FROM_UTF8NORM_C__ + +int +utf8version_is_supported(unsigned int sb_utf8version) +{ + int i = sizeof(utf8agetab)/sizeof(utf8agetab[0]) - 1; + + while (i >= 0 && utf8agetab[i] != 0) { + if (sb_utf8version == utf8agetab[i]) + return 1; + i--; + } + return 0; +} +EXPORT_SYMBOL(utf8version_is_supported); + +/* + * UTF-8 valid ranges. + * + * The UTF-8 encoding spreads the bits of a 32bit word over several + * bytes. This table gives the ranges that can be held and how they'd + * be represented. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000000 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000000 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * There is an additional requirement on UTF-8, in that only the + * shortest representation of a 32bit value is to be used. A decoder + * must not decode sequences that do not satisfy this requirement. + * Thus the allowed ranges have a lower bound. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000080 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000800 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00010000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00200000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x04000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Actual unicode characters are limited to the range 0x0 - 0x10FFFF, + * 17 planes of 65536 values. This limits the sequences actually seen + * even more, to just the following. + * + * 0 - 0x7F: 0 - 0x7F + * 0x80 - 0x7FF: 0xC2 0x80 - 0xDF 0xBF + * 0x800 - 0xFFFF: 0xE0 0xA0 0x80 - 0xEF 0xBF 0xBF + * 0x10000 - 0x10FFFF: 0xF0 0x90 0x80 0x80 - 0xF4 0x8F 0xBF 0xBF + * + * Within those ranges the surrogates 0xD800 - 0xDFFF are not allowed. + * + * Note that the longest sequence seen with valid usage is 4 bytes, + * the same a single UTF-32 character. This makes the UTF-8 + * representation of Unicode strictly smaller than UTF-32. + * + * The shortest sequence requirement was introduced by: + * Corrigendum #1: UTF-8 Shortest Form + * It can be found here: + * http://www.unicode.org/versions/corrigendum1.html + * + */ + +/* + * Return the number of bytes used by the current UTF-8 sequence. + * Assumes the input points to the first byte of a valid UTF-8 + * sequence. + */ +static inline int +utf8clen(const char *s) +{ + unsigned char c = *s; + return 1 + (c >= 0xC0) + (c >= 0xE0) + (c >= 0xF0); +} + +/* + * utf8trie_t + * + * A compact binary tree, used to decode UTF-8 characters. + * + * Internal nodes are one byte for the node itself, and up to three + * bytes for an offset into the tree. The first byte contains the + * following information: + * NEXTBYTE - flag - advance to next byte if set + * BITNUM - 3 bit field - the bit number to tested + * OFFLEN - 2 bit field - number of bytes in the offset + * if offlen == 0 (non-branching node) + * RIGHTPATH - 1 bit field - set if the following node is for the + * right-hand path (tested bit is set) + * TRIENODE - 1 bit field - set if the following node is an internal + * node, otherwise it is a leaf node + * if offlen != 0 (branching node) + * LEFTNODE - 1 bit field - set if the left-hand node is internal + * RIGHTNODE - 1 bit field - set if the right-hand node is internal + * + * Due to the way utf8 works, there cannot be branching nodes with + * NEXTBYTE set, and moreover those nodes always have a righthand + * descendant. + */ +typedef const unsigned char utf8trie_t; +#define BITNUM 0x07 +#define NEXTBYTE 0x08 +#define OFFLEN 0x30 +#define OFFLEN_SHIFT 4 +#define RIGHTPATH 0x40 +#define TRIENODE 0x80 +#define RIGHTNODE 0x40 +#define LEFTNODE 0x80 + +/* + * utf8leaf_t + * + * The leaves of the trie are embedded in the trie, and so the same + * underlying datatype: unsigned char. + * + * leaf[0]: The unicode version, stored as a generation number that is + * an index into utf8agetab[]. With this we can filter code + * points based on the unicode version in which they were + * defined. The CCC of a non-defined code point is 0. + * leaf[1]: Canonical Combining Class. During normalization, we need + * to do a stable sort into ascending order of all characters + * with a non-zero CCC that occur between two characters with + * a CCC of 0, or at the begin or end of a string. + * The unicode standard guarantees that all CCC values are + * between 0 and 254 inclusive, which leaves 255 available as + * a special value. + * Code points with CCC 0 are known as stoppers. + * leaf[2]: Decomposition. If leaf[1] == 255, then leaf[2] is the + * start of a NUL-terminated string that is the decomposition + * of the character. + * The CCC of a decomposable character is the same as the CCC + * of the first character of its decomposition. + * Some characters decompose as the empty string: these are + * characters with the Default_Ignorable_Code_Point property. + * These do affect normalization, as they all have CCC 0. + * + * The decompositions in the trie have been fully expanded. + * + * Casefolding, if applicable, is also done using decompositions. + * + * The trie is constructed in such a way that leaves exist for all + * UTF-8 sequences that match the criteria from the "UTF-8 valid + * ranges" comment above, and only for those sequences. Therefore a + * lookup in the trie can be used to validate the UTF-8 input. + */ +typedef const unsigned char utf8leaf_t; + +#define LEAF_GEN(LEAF) ((LEAF)[0]) +#define LEAF_CCC(LEAF) ((LEAF)[1]) +#define LEAF_STR(LEAF) ((const char*)((LEAF) + 2)) + +#define MINCCC (0) +#define MAXCCC (254) +#define STOPPER (0) +#define DECOMPOSE (255) + +/* + * Use trie to scan s, touching at most len bytes. + * Returns the leaf if one exists, NULL otherwise. + * + * A non-NULL return guarantees that the UTF-8 sequence starting at s + * is well-formed and corresponds to a known unicode code point. The + * shorthand for this will be "is valid UTF-8 unicode". + */ +static utf8leaf_t * +utf8nlookup(utf8data_t data, const char *s, size_t len) +{ + utf8trie_t *trie = utf8data + data->offset; + int offlen; + int offset; + int mask; + int node; + + if (!data) + return NULL; + if (len == 0) + return NULL; + node = 1; + while (node) { + offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; + if (*trie & NEXTBYTE) { + if (--len == 0) + return NULL; + s++; + } + mask = 1 << (*trie & BITNUM); + if (*s & mask) { + /* Right leg */ + if (offlen) { + /* Right node at offset of trie */ + node = (*trie & RIGHTNODE); + offset = trie[offlen]; + while (--offlen) { + offset <<= 8; + offset |= trie[offlen]; + } + trie += offset; + } else if (*trie & RIGHTPATH) { + /* Right node after this node */ + node = (*trie & TRIENODE); + trie++; + } else { + /* No right node. */ + node = 0; + trie = NULL; + } + } else { + /* Left leg */ + if (offlen) { + /* Left node after this node. */ + node = (*trie & LEFTNODE); + trie += offlen + 1; + } else if (*trie & RIGHTPATH) { + /* No left node. */ + node = 0; + trie = NULL; + } else { + /* Left node after this node */ + node = (*trie & TRIENODE); + trie++; + } + } + } + return trie; +} + +/* + * Use trie to scan s. + * Returns the leaf if one exists, NULL otherwise. + * + * Forwards to utf8nlookup(). + */ +static utf8leaf_t * +utf8lookup(utf8data_t data, const char *s) +{ + return utf8nlookup(data, s, (size_t)-1); +} + +/* + * Maximum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if only non-assigned code points are used. + */ +int +utf8agemax(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!data) + return -1; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age > age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} +EXPORT_SYMBOL(utf8agemax); + +/* + * Minimum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if non-assigned code points are used. + */ +int +utf8agemin(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + int age; + int leaf_age; + + if (!data) + return -1; + age = data->maxage; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age < age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} +EXPORT_SYMBOL(utf8agemin); + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemax(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!data) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age > age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} +EXPORT_SYMBOL(utf8nagemax); + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemin(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int leaf_age; + int age; + + if (!data) + return -1; + age = data->maxage; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age < age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} +EXPORT_SYMBOL(utf8nagemin); + +/* + * Length of the normalization of s. + * Return -1 if s is not valid UTF-8 unicode. + * + * A string of Default_Ignorable_Code_Point has length 0. + */ +ssize_t +utf8len(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!data) + return -1; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + s += utf8clen(s); + } + return ret; +} +EXPORT_SYMBOL(utf8len); + +/* + * Length of the normalization of s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +ssize_t +utf8nlen(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!data) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + len -= utf8clen(s); + s += utf8clen(s); + } + return ret; +} +EXPORT_SYMBOL(utf8nlen); + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * u8c : pointer to cursor. + * data : utf8data_t to use for normalization. + * s : string. + * len : length of s. + * + * Returns -1 on error, 0 on success. + */ +int +utf8ncursor( + struct utf8cursor *u8c, + utf8data_t data, + const char *s, + size_t len) +{ + if (!data) + return -1; + if (!s) + return -1; + u8c->data = data; + u8c->s = s; + u8c->p = NULL; + u8c->ss = NULL; + u8c->sp = NULL; + u8c->len = len; + u8c->slen = 0; + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + /* Check we didn't clobber the maximum length. */ + if (u8c->len != len) + return -1; + /* The first byte of s may not be an utf8 continuation. */ + if (len > 0 && (*s & 0xC0) == 0x80) + return -1; + return 0; +} +EXPORT_SYMBOL(utf8ncursor); + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * u8c : pointer to cursor. + * data : utf8data_t to use for normalization. + * s : NUL-terminated string. + * + * Returns -1 on error, 0 on success. + */ +int +utf8cursor( + struct utf8cursor *u8c, + utf8data_t data, + const char *s) +{ + return utf8ncursor(u8c, data, s, (unsigned int)-1); +} +EXPORT_SYMBOL(utf8cursor); + +/* + * Get one byte from the normalized form of the string described by u8c. + * + * Returns the byte cast to an unsigned char on succes, and -1 on failure. + * + * The cursor keeps track of the location in the string in u8c->s. + * When a character is decomposed, the current location is stored in + * u8c->p, and u8c->s is set to the start of the decomposition. Note + * that bytes from a decomposition do not count against u8c->len. + * + * Characters are emitted if they match the current CCC in u8c->ccc. + * Hitting end-of-string while u8c->ccc == STOPPER means we're done, + * and the function returns 0 in that case. + * + * Sorting by CCC is done by repeatedly scanning the string. The + * values of u8c->s and u8c->p are stored in u8c->ss and u8c->sp at + * the start of the scan. The first pass finds the lowest CCC to be + * emitted and stores it in u8c->nccc, the second pass emits the + * characters with this CCC and finds the next lowest CCC. This limits + * the number of passes to 1 + the number of different CCCs in the + * sequence being scanned. + * + * Therefore: + * u8c->p != NULL -> a decomposition is being scanned. + * u8c->ss != NULL -> this is a repeating scan. + * u8c->ccc == -1 -> this is the first scan of a repeating scan. + */ +int +utf8byte(struct utf8cursor *u8c) +{ + utf8leaf_t *leaf; + int ccc; + + for (;;) { + /* Check for the end of a decomposed character. */ + if (u8c->p && *u8c->s == '\0') { + u8c->s = u8c->p; + u8c->p = NULL; + } + + /* Check for end-of-string. */ + if (!u8c->p && (u8c->len == 0 || *u8c->s == '\0')) { + /* There is no next byte. */ + if (u8c->ccc == STOPPER) + return 0; + /* End-of-string during a scan counts as a stopper. */ + ccc = STOPPER; + goto ccc_mismatch; + } else if ((*u8c->s & 0xC0) == 0x80) { + /* This is a continuation of the current character. */ + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Look up the data for the current character. */ + if (u8c->p) + leaf = utf8lookup(u8c->data, u8c->s); + else + leaf = utf8nlookup(u8c->data, u8c->s, u8c->len); + + /* No leaf found implies that the input is a binary blob. */ + if (!leaf) + return -1; + + /* Characters that are too new have CCC 0. */ + if (utf8agetab[LEAF_GEN(leaf)] > u8c->data->maxage) { + ccc = STOPPER; + } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { + u8c->len -= utf8clen(u8c->s); + u8c->p = u8c->s + utf8clen(u8c->s); + u8c->s = LEAF_STR(leaf); + /* Empty decomposition implies CCC 0. */ + if (*u8c->s == '\0') { + if (u8c->ccc == STOPPER) + continue; + ccc = STOPPER; + goto ccc_mismatch; + } + leaf = utf8lookup(u8c->data, u8c->s); + ccc = LEAF_CCC(leaf); + } + + /* + * If this is not a stopper, then see if it updates + * the next canonical class to be emitted. + */ + if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) + u8c->nccc = ccc; + + /* + * Return the current byte if this is the current + * combining class. + */ + if (ccc == u8c->ccc) { + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Current combining class mismatch. */ + ccc_mismatch: + if (u8c->nccc == STOPPER) { + /* + * Scan forward for the first canonical class + * to be emitted. Save the position from + * which to restart. + */ + u8c->ccc = MINCCC - 1; + u8c->nccc = ccc; + u8c->sp = u8c->p; + u8c->ss = u8c->s; + u8c->slen = u8c->len; + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (ccc != STOPPER) { + /* Not a stopper, and not the ccc we're emitting. */ + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (u8c->nccc != MAXCCC + 1) { + /* At a stopper, restart for next ccc. */ + u8c->ccc = u8c->nccc; + u8c->nccc = MAXCCC + 1; + u8c->s = u8c->ss; + u8c->p = u8c->sp; + u8c->len = u8c->slen; + } else { + /* All done, proceed from here. */ + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->sp = NULL; + u8c->ss = NULL; + u8c->slen = 0; + } + } +} +EXPORT_SYMBOL(utf8byte); + +const struct utf8data * +utf8nfkdi(unsigned int maxage) +{ + int i = sizeof(utf8nfkdidata)/sizeof(utf8nfkdidata[0]) - 1; + + while (maxage < utf8nfkdidata[i].maxage) + i--; + if (maxage > utf8nfkdidata[i].maxage) + return NULL; + return &utf8nfkdidata[i]; +} +EXPORT_SYMBOL(utf8nfkdi); + +const struct utf8data * +utf8nfkdicf(unsigned int maxage) +{ + int i = sizeof(utf8nfkdicfdata)/sizeof(utf8nfkdicfdata[0]) - 1; + + while (maxage < utf8nfkdicfdata[i].maxage) + i--; + if (maxage > utf8nfkdicfdata[i].maxage) + return NULL; + return &utf8nfkdicfdata[i]; +} +EXPORT_SYMBOL(utf8nfkdicf); + +MODULE_AUTHOR("SGI"); +MODULE_DESCRIPTION("utf8 normalization"); +MODULE_LICENSE("GPL"); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:54: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=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 051467F3F for ; Fri, 3 Oct 2014 16:54:56 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id A4F7D8F804C; Fri, 3 Oct 2014 14:54:55 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 54FEB4266DC; Fri, 3 Oct 2014 16:54:55 -0500 (CDT) Date: Fri, 3 Oct 2014 16:54:55 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 04/16] lib/utf8norm.c: reduce the size of utf8data[] Message-ID: <20141003215455.GC1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Remove the Hangul decompositions from the utf8data trie, and do algorithmic decomposition to calculate them on the fly. To store the decomposition the caller of utf8lookup()/utf8nlookup() must provide a 12-byte buffer, which is used to synthesize a leaf with the decomposition. Trie size is reduced from 245kB to 90kB. This change also contains a number of robustness fixes to the trie generator mkutf8data.c. Signed-off-by: Olaf Weber --- include/linux/utf8norm.h | 4 + lib/utf8norm.c | 190 ++++++++++++++++++--- scripts/mkutf8data.c | 421 +++++++++++++++++++++++++++++++++++------------ 3 files changed, 492 insertions(+), 123 deletions(-) diff --git a/include/linux/utf8norm.h b/include/linux/utf8norm.h index 82f86c4..a6d8ce4 100644 --- a/include/linux/utf8norm.h +++ b/include/linux/utf8norm.h @@ -27,6 +27,9 @@ /* An opaque type used to determine the normalization in use. */ typedef const struct utf8data *utf8data_t; +/* Needed in struct utf8cursor below. */ +#define UTF8HANGULLEAF (12) + /* Encoding a unicode version number as a single unsigned int. */ #define UNICODE_MAJ_SHIFT (16) #define UNICODE_MIN_SHIFT (8) @@ -95,6 +98,7 @@ struct utf8cursor { unsigned int slen; short int ccc; short int nccc; + unsigned char hangul[UTF8HANGULLEAF]; }; /* diff --git a/lib/utf8norm.c b/lib/utf8norm.c index 0fa97d1..3ed9636 100644 --- a/lib/utf8norm.c +++ b/lib/utf8norm.c @@ -102,6 +102,38 @@ utf8clen(const char *s) } /* + * Decode a 3-byte UTF-8 sequence. + */ +static unsigned int +utf8decode3(const char *str) +{ + unsigned int uc; + + uc = *str++ & 0x0F; + uc <<= 6; + uc |= *str++ & 0x3F; + uc <<= 6; + uc |= *str++ & 0x3F; + + return uc; +} + +/* + * Encode a 3-byte UTF-8 sequence. + */ +static int +utf8encode3(char *str, unsigned int val) +{ + str[2] = (val & 0x3F) | 0x80; + val >>= 6; + str[1] = (val & 0x3F) | 0x80; + val >>= 6; + str[0] = val | 0xE0; + + return 3; +} + +/* * utf8trie_t * * A compact binary tree, used to decode UTF-8 characters. @@ -162,7 +194,8 @@ typedef const unsigned char utf8trie_t; * characters with the Default_Ignorable_Code_Point property. * These do affect normalization, as they all have CCC 0. * - * The decompositions in the trie have been fully expanded. + * The decompositions in the trie have been fully expanded, with the + * exception of Hangul syllables, which are decomposed algorithmically. * * Casefolding, if applicable, is also done using decompositions. * @@ -182,6 +215,105 @@ typedef const unsigned char utf8leaf_t; #define STOPPER (0) #define DECOMPOSE (255) +/* Marker for hangul syllable decomposition. */ +#define HANGUL ((char)(255)) +/* Size of the synthesized leaf used for Hangul syllable decomposition. */ +#define UTF8HANGULLEAF (12) + +/* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount) + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + */ + +/* Constants */ +#define SB (0xAC00) +#define LB (0x1100) +#define VB (0x1161) +#define TB (0x11A7) +#define LC (19) +#define VC (21) +#define TC (28) +#define NC (VC * TC) +#define SC (LC * NC) + +/* Algorithmic decomposition of hangul syllable. */ +static utf8leaf_t * +utf8hangul(const char *str, unsigned char *hangul) +{ + unsigned int si; + unsigned int li; + unsigned int vi; + unsigned int ti; + unsigned char *h; + + /* Calculate the SI, LI, VI, and TI values. */ + si = utf8decode3(str) - SB; + li = si / NC; + vi = (si % NC) / TC; + ti = si % TC; + + /* Fill in base of leaf. */ + h = hangul; + LEAF_GEN(h) = 2; + LEAF_CCC(h) = DECOMPOSE; + h += 2; + + /* Add LPart, a 3-byte UTF-8 sequence. */ + h += utf8encode3((char*)h, li + LB); + + /* Add VPart, a 3-byte UTF-8 sequence. */ + h += utf8encode3((char*)h, vi + VB); + + /* Add TPart if required, also a 3-byte UTF-8 sequence. */ + if (ti) + h += utf8encode3((char*)h, ti + TB); + + /* Terminate string. */ + h[0] = '\0'; + + return hangul; +} + /* * Use trie to scan s, touching at most len bytes. * Returns the leaf if one exists, NULL otherwise. @@ -191,7 +323,7 @@ typedef const unsigned char utf8leaf_t; * shorthand for this will be "is valid UTF-8 unicode". */ static utf8leaf_t * -utf8nlookup(utf8data_t data, const char *s, size_t len) +utf8nlookup(utf8data_t data, unsigned char *hangul, const char *s, size_t len) { utf8trie_t *trie = utf8data + data->offset; int offlen; @@ -229,8 +361,7 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) trie++; } else { /* No right node. */ - node = 0; - trie = NULL; + return NULL; } } else { /* Left leg */ @@ -240,8 +371,7 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) trie += offlen + 1; } else if (*trie & RIGHTPATH) { /* No left node. */ - node = 0; - trie = NULL; + return NULL; } else { /* Left node after this node */ node = (*trie & TRIENODE); @@ -249,6 +379,14 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) } } } + /* + * Hangul decomposition is done algorithmically. These are the + * codepoints >= 0xAC00 and <= 0xD7A3. Their UTF-8 encoding is + * always 3 bytes long, so s has been advanced twice, and the + * start of the sequence is at s-2. + */ + if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL) + trie = utf8hangul(s - 2, hangul); return trie; } @@ -259,9 +397,9 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) * Forwards to utf8nlookup(). */ static utf8leaf_t * -utf8lookup(utf8data_t data, const char *s) +utf8lookup(utf8data_t data, unsigned char *hangul, const char *s) { - return utf8nlookup(data, s, (size_t)-1); + return utf8nlookup(data, hangul, s, (size_t)-1); } /* @@ -273,13 +411,15 @@ int utf8agemax(utf8data_t data, const char *s) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; + age = 0; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age > age) @@ -301,12 +441,13 @@ utf8agemin(utf8data_t data, const char *s) utf8leaf_t *leaf; int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; age = data->maxage; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age < age) @@ -325,13 +466,15 @@ int utf8nagemax(utf8data_t data, const char *s, size_t len) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; + age = 0; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age > age) @@ -353,12 +496,13 @@ utf8nagemin(utf8data_t data, const char *s, size_t len) utf8leaf_t *leaf; int leaf_age; int age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; age = data->maxage; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age < age) @@ -381,11 +525,12 @@ utf8len(utf8data_t data, const char *s) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) ret += utf8clen(s); @@ -408,11 +553,12 @@ utf8nlen(utf8data_t data, const char *s, size_t len) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) ret += utf8clen(s); @@ -542,10 +688,12 @@ utf8byte(struct utf8cursor *u8c) } /* Look up the data for the current character. */ - if (u8c->p) - leaf = utf8lookup(u8c->data, u8c->s); - else - leaf = utf8nlookup(u8c->data, u8c->s, u8c->len); + if (u8c->p) { + leaf = utf8lookup(u8c->data, u8c->hangul, u8c->s); + } else { + leaf = utf8nlookup(u8c->data, u8c->hangul, + u8c->s, u8c->len); + } /* No leaf found implies that the input is a binary blob. */ if (!leaf) @@ -565,7 +713,7 @@ utf8byte(struct utf8cursor *u8c) ccc = STOPPER; goto ccc_mismatch; } - leaf = utf8lookup(u8c->data, u8c->s); + leaf = utf8lookup(u8c->data, u8c->hangul, u8c->s); ccc = LEAF_CCC(leaf); } diff --git a/scripts/mkutf8data.c b/scripts/mkutf8data.c index 1d6ec02..7c7756f 100644 --- a/scripts/mkutf8data.c +++ b/scripts/mkutf8data.c @@ -179,11 +179,15 @@ typedef unsigned char utf8leaf_t; #define MINCCC (0) #define MAXCCC (254) #define STOPPER (0) -#define DECOMPOSE (255) +#define DECOMPOSE (255) +#define HANGUL ((char)(255)) + +#define UTF8HANGULLEAF (12) struct tree; -static utf8leaf_t *utf8nlookup(struct tree *, const char *, size_t); -static utf8leaf_t *utf8lookup(struct tree *, const char *); +static utf8leaf_t *utf8nlookup(struct tree *, unsigned char *, + const char *, size_t); +static utf8leaf_t *utf8lookup(struct tree *, unsigned char *, const char *); unsigned char *utf8data; size_t utf8data_size; @@ -254,52 +258,52 @@ utf8trie_t *nfkdicf; #define UTF8_V_SHIFT 6 static int -utf8key(unsigned int key, char keyval[]) -{ - int keylen; - - if (key < 0x80) { - keyval[0] = key; - keylen = 1; - } else if (key < 0x800) { - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_2_BITS; - keylen = 2; - } else if (key < 0x10000) { - keyval[2] = key & UTF8_V_MASK; - keyval[2] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_3_BITS; - keylen = 3; - } else if (key < 0x110000) { - keyval[3] = key & UTF8_V_MASK; - keyval[3] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[2] = key & UTF8_V_MASK; - keyval[2] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_4_BITS; - keylen = 4; +utf8encode(char *str, unsigned int val) +{ + int len; + + if (val < 0x80) { + str[0] = val; + len = 1; + } else if (val < 0x800) { + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_2_BITS; + len = 2; + } else if (val < 0x10000) { + str[2] = val & UTF8_V_MASK; + str[2] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_3_BITS; + len = 3; + } else if (val < 0x110000) { + str[3] = val & UTF8_V_MASK; + str[3] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[2] = val & UTF8_V_MASK; + str[2] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_4_BITS; + len = 4; } else { - printf("%#x: illegal key\n", key); - keylen = 0; + printf("%#x: illegal val\n", val); + len = 0; } - return keylen; + return len; } static unsigned int -utf8code(const char *str) +utf8decode(const char *str) { const unsigned char *s = (const unsigned char*)str; unsigned int unichar = 0; @@ -334,6 +338,8 @@ utf32valid(unsigned int unichar) return unichar < 0x110000; } +#define HANGUL_SYLLABLE(U) ((U) >= 0xAC00 && (U) <= 0xD7A3) + #define NODE 1 #define LEAF 0 @@ -937,7 +943,7 @@ done: /* * Compute the index of each node and leaf, which is the offset in the - * emitted trie. These value must be pre-computed because relative + * emitted trie. These values must be pre-computed because relative * offsets between nodes are used to navigate the tree. */ static int @@ -958,7 +964,7 @@ index_nodes(struct tree *tree, int index) count = 0; if (verbose > 0) - printf("Indexing %s_%x: %d", tree->type, tree->maxage, index); + printf("Indexing %s_%x: %d\n", tree->type, tree->maxage, index); if (tree->childnode == LEAF) { index += tree->leaf_size(tree->root); goto done; @@ -1022,6 +1028,26 @@ done: } /* + * Mark the nodes in a subtree, helper for size_nodes(). + */ +static int +mark_subtree(struct node *node) +{ + int changed; + + if (!node || node->mark) + return 0; + node->mark = 1; + node->index = node->parent->index; + changed = 1; + if (node->leftnode == NODE) + changed += mark_subtree(node->left); + if (node->rightnode == NODE) + changed += mark_subtree(node->right); + return changed; +} + +/* * Compute the size of nodes and leaves. We start by assuming that * each node needs to store a three-byte offset. The indexes of the * nodes are calculated based on that, and then this function is @@ -1040,6 +1066,7 @@ size_nodes(struct tree *tree) unsigned int bitmask; unsigned int pathbits; unsigned int pathmask; + unsigned int nbit; int changed; int offset; int size; @@ -1050,7 +1077,7 @@ size_nodes(struct tree *tree) size = 0; if (verbose > 0) - printf("Sizing %s_%x", tree->type, tree->maxage); + printf("Sizing %s_%x\n", tree->type, tree->maxage); if (tree->childnode == LEAF) goto done; @@ -1067,22 +1094,40 @@ size_nodes(struct tree *tree) size = 1; } else { if (node->rightnode == NODE) { + /* + * If the right node is not marked, + * look for a corresponding node in + * the next tree. Such a node need + * not exist. + */ right = node->right; next = tree->next; while (!right->mark) { assert(next); n = next->root; while (n->bitnum != node->bitnum) { - if (pathbits & (1<bitnum)) + nbit = 1 << n->bitnum; + if (!(pathmask & nbit)) + break; + if (pathbits & nbit) { + if (n->rightnode==LEAF) + break; n = n->right; - else + } else { + if (n->leftnode==LEAF) + break; n = n->left; + } } + if (n->bitnum != node->bitnum) + break; n = n->right; - assert(right->bitnum == n->bitnum); right = n; next = next->next; } + /* Make sure the right node is marked. */ + if (!right->mark) + changed += mark_subtree(right); offset = right->index - node->index; } else { offset = *tree->leaf_index(tree, node->right); @@ -1158,8 +1203,15 @@ emit(struct tree *tree, unsigned char *data) int offset; int index; int indent; + int size; + int bytes; + int leaves; + int nodes[4]; unsigned char byte; + nodes[0] = nodes[1] = nodes[2] = nodes[3] = 0; + leaves = 0; + bytes = 0; index = tree->index; data += index; indent = 1; @@ -1168,7 +1220,10 @@ emit(struct tree *tree, unsigned char *data) if (tree->childnode == LEAF) { assert(tree->root); tree->leaf_emit(tree->root, data); - return; + size = tree->leaf_size(tree->root); + index += size; + leaves++; + goto done; } assert(tree->childnode == NODE); @@ -1195,6 +1250,7 @@ emit(struct tree *tree, unsigned char *data) offlen = 2; else offlen = 3; + nodes[offlen]++; offset = node->offset; byte |= offlen << OFFLEN_SHIFT; *data++ = byte; @@ -1207,12 +1263,14 @@ emit(struct tree *tree, unsigned char *data) } else if (node->left) { if (node->leftnode == NODE) byte |= TRIENODE; + nodes[0]++; *data++ = byte; index++; } else if (node->right) { byte |= RIGHTNODE; if (node->rightnode == NODE) byte |= TRIENODE; + nodes[0]++; *data++ = byte; index++; } else { @@ -1227,7 +1285,10 @@ skip: assert(node->left); data = tree->leaf_emit(node->left, data); - index += tree->leaf_size(node->left); + size = tree->leaf_size(node->left); + index += size; + bytes += size; + leaves++; } else if (node->left) { assert(node->leftnode == NODE); indent += 1; @@ -1241,7 +1302,10 @@ skip: assert(node->right); data = tree->leaf_emit(node->right, data); - index += tree->leaf_size(node->right); + size = tree->leaf_size(node->right); + index += size; + bytes += size; + leaves++; } else if (node->right) { assert(node->rightnode==NODE); indent += 1; @@ -1255,6 +1319,15 @@ skip: indent -= 1; } } +done: + if (verbose > 0) { + printf("Emitted %d (%d) leaves", + leaves, bytes); + printf(" %d (%d+%d+%d+%d) nodes", + nodes[0] + nodes[1] + nodes[2] + nodes[3], + nodes[0], nodes[1], nodes[2], nodes[3]); + printf(" %d total\n", index - tree->index); + } } /* ------------------------------------------------------------------ */ @@ -1360,7 +1433,9 @@ nfkdi_print(void *l, int indent) printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, leaf->code, leaf->ccc, leaf->gen); - if (leaf->utf8nfkdi) + if (leaf->utf8nfkdi && leaf->utf8nfkdi[0] == HANGUL) + printf(" nfkdi \"%s\"", "HANGUL SYLLABLE"); + else if (leaf->utf8nfkdi) printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); printf("\n"); } @@ -1374,6 +1449,8 @@ nfkdicf_print(void *l, int indent) leaf->code, leaf->ccc, leaf->gen); if (leaf->utf8nfkdicf) printf(" nfkdicf \"%s\"", (const char*)leaf->utf8nfkdicf); + else if (leaf->utf8nfkdi && leaf->utf8nfkdi[0] == HANGUL) + printf(" nfkdi \"%s\"", "HANGUL SYLLABLE"); else if (leaf->utf8nfkdi) printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); printf("\n"); @@ -1409,7 +1486,9 @@ nfkdi_size(void *l) struct unicode_data *leaf = l; int size = 2; - if (leaf->utf8nfkdi) + if (HANGUL_SYLLABLE(leaf->code)) + size += 1; + else if (leaf->utf8nfkdi) size += strlen(leaf->utf8nfkdi) + 1; return size; } @@ -1420,7 +1499,9 @@ nfkdicf_size(void *l) struct unicode_data *leaf = l; int size = 2; - if (leaf->utf8nfkdicf) + if (HANGUL_SYLLABLE(leaf->code)) + size += 1; + else if (leaf->utf8nfkdicf) size += strlen(leaf->utf8nfkdicf) + 1; else if (leaf->utf8nfkdi) size += strlen(leaf->utf8nfkdi) + 1; @@ -1450,7 +1531,10 @@ nfkdi_emit(void *l, unsigned char *data) unsigned char *s; *data++ = leaf->gen; - if (leaf->utf8nfkdi) { + if (HANGUL_SYLLABLE(leaf->code)) { + *data++ = DECOMPOSE; + *data++ = HANGUL; + } else if (leaf->utf8nfkdi) { *data++ = DECOMPOSE; s = (unsigned char*)leaf->utf8nfkdi; while ((*data++ = *s++) != 0) @@ -1468,7 +1552,10 @@ nfkdicf_emit(void *l, unsigned char *data) unsigned char *s; *data++ = leaf->gen; - if (leaf->utf8nfkdicf) { + if (HANGUL_SYLLABLE(leaf->code)) { + *data++ = DECOMPOSE; + *data++ = HANGUL; + } else if (leaf->utf8nfkdicf) { *data++ = DECOMPOSE; s = (unsigned char*)leaf->utf8nfkdicf; while ((*data++ = *s++) != 0) @@ -1492,22 +1579,27 @@ utf8_create(struct unicode_data *data) unsigned int *um; int i; + if (data->utf8nfkdi) { + assert(data->utf8nfkdi[0] == HANGUL); + return; + } + u = utf; um = data->utf32nfkdi; if (um) { for (i = 0; um[i]; i++) - u += utf8key(um[i], u); + u += utf8encode(u, um[i]); *u = '\0'; - data->utf8nfkdi = strdup((char*)utf); + data->utf8nfkdi = strdup(utf); } u = utf; um = data->utf32nfkdicf; if (um) { for (i = 0; um[i]; i++) - u += utf8key(um[i], u); + u += utf8encode(u, um[i]); *u = '\0'; - if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, (char*)utf)) - data->utf8nfkdicf = strdup((char*)utf); + if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, utf)) + data->utf8nfkdicf = strdup(utf); } } @@ -1627,7 +1719,7 @@ trees_populate(void) for (unichar = 0; unichar != 0x110000; unichar++) { if (unicode_data[unichar].gen < 0) continue; - keylen = utf8key(unichar, keyval); + keylen = utf8encode(keyval, unichar); data = corrections_lookup(&unicode_data[unichar]); if (data->correction <= trees[i].maxage) data = &unicode_data[unichar]; @@ -1682,6 +1774,7 @@ verify(struct tree *tree) utf8leaf_t *leaf; unsigned int unichar; char key[4]; + unsigned char hangul[UTF8HANGULLEAF]; int report; int nocf; @@ -1694,8 +1787,8 @@ verify(struct tree *tree) data = corrections_lookup(&unicode_data[unichar]); if (data->correction <= tree->maxage) data = &unicode_data[unichar]; - utf8key(unichar, key); - leaf = utf8lookup(tree, key); + utf8encode(key, unichar); + leaf = utf8lookup(tree, hangul, key); if (!leaf) { if (data->gen != -1) report++; @@ -1709,7 +1802,10 @@ verify(struct tree *tree) if (data->gen != LEAF_GEN(leaf)) report++; if (LEAF_CCC(leaf) == DECOMPOSE) { - if (nocf) { + if (HANGUL_SYLLABLE(data->code)) { + if (data->utf8nfkdi[0] != HANGUL) + report++; + } else if (nocf) { if (!data->utf8nfkdi) { report++; } else if (strcmp(data->utf8nfkdi, @@ -1725,7 +1821,7 @@ verify(struct tree *tree) LEAF_STR(leaf))) report++; } else if (strcmp(data->utf8nfkdi, - LEAF_STR(leaf))) { + LEAF_STR(leaf))) { report++; } } @@ -1735,13 +1831,13 @@ verify(struct tree *tree) } if (report) { printf("%X code %X gen %d ccc %d" - " nfdki -> \"%s\"", + " nfkdi -> \"%s\"", unichar, data->code, data->gen, data->ccc, data->utf8nfkdi); if (leaf) { - printf(" age %d ccc %d" - " nfdki -> \"%s\"\n", + printf(" gen %d ccc %d" + " nfkdi -> \"%s\"", LEAF_GEN(leaf), LEAF_CCC(leaf), LEAF_CCC(leaf) == DECOMPOSE ? @@ -2330,21 +2426,21 @@ corrections_init(void) * * LVT (Canonical) * LVIndex = (SIndex / TCount) * TCount - * TIndex = (Sindex % TCount - * LVPart = LBase + LVIndex + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex * TPart = TBase + TIndex * * LVT (Full) * LIndex = SIndex / NCount * VIndex = (Sindex % NCount) / TCount - * TIndex = (Sindex % TCount + * TIndex = (Sindex % TCount) * LPart = LBase + LIndex * VPart = VBase + VIndex * if (TIndex == 0) { * d = * } else { * TPart = TBase + TIndex - * d = + * d = * } * */ @@ -2394,9 +2490,17 @@ hangul_decompose(void) memcpy(um, mapping, i * sizeof(unsigned int)); unicode_data[unichar].utf32nfkdicf = um; + /* + * Add a cookie as a reminder that the hangul syllable + * decompositions must not be stored in the generated + * trie. + */ + unicode_data[unichar].utf8nfkdi = malloc(2); + unicode_data[unichar].utf8nfkdi[0] = HANGUL; + unicode_data[unichar].utf8nfkdi[1] = '\0'; + if (verbose > 1) print_utf32nfkdi(unichar); - count++; } if (verbose > 0) @@ -2522,6 +2626,100 @@ int utf8ncursor(struct utf8cursor *, struct tree *, const char *, size_t); int utf8byte(struct utf8cursor *); /* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount) + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + */ + +/* Constants */ +#define SB (0xAC00) +#define LB (0x1100) +#define VB (0x1161) +#define TB (0x11A7) +#define LC (19) +#define VC (21) +#define TC (28) +#define NC (VC * TC) +#define SC (LC * NC) + +/* Algorithmic decomposition of hangul syllable. */ +static utf8leaf_t * +utf8hangul(const char *str, unsigned char *hangul) +{ + unsigned int si; + unsigned int li; + unsigned int vi; + unsigned int ti; + unsigned char *h; + + /* Calculate the SI, LI, VI, and TI values. */ + si = utf8decode(str) - SB; + li = si / NC; + vi = (si % NC) / TC; + ti = si % TC; + + /* Fill in base of leaf. */ + h = hangul; + LEAF_GEN(h) = 2; + LEAF_CCC(h) = DECOMPOSE; + h += 2; + + /* Add LPart, a 3-byte UTF-8 sequence. */ + h += utf8encode((char *)h, li + LB); + + /* Add VPart, a 3-byte UTF-8 sequence. */ + h += utf8encode((char *)h, vi + VB); + + /* Add TPart if required, also a 3-byte UTF-8 sequence. */ + if (ti) + h += utf8encode((char *)h, ti + TB); + + /* Terminate string. */ + h[0] = '\0'; + + return hangul; +} + +/* * Use trie to scan s, touching at most len bytes. * Returns the leaf if one exists, NULL otherwise. * @@ -2530,7 +2728,7 @@ int utf8byte(struct utf8cursor *); * shorthand for this will be "is valid UTF-8 unicode". */ static utf8leaf_t * -utf8nlookup(struct tree *tree, const char *s, size_t len) +utf8nlookup(struct tree *tree, unsigned char *hangul, const char *s, size_t len) { utf8trie_t *trie = utf8data + tree->index; int offlen; @@ -2568,8 +2766,7 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) trie++; } else { /* No right node. */ - node = 0; - trie = NULL; + return NULL; } } else { /* Left leg */ @@ -2579,8 +2776,7 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) trie += offlen + 1; } else if (*trie & RIGHTPATH) { /* No left node. */ - node = 0; - trie = NULL; + return NULL; } else { /* Left node after this node */ node = (*trie & TRIENODE); @@ -2588,6 +2784,14 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) } } } + /* + * Hangul decomposition is done algorithmically. These are the + * codepoints >= 0xAC00 and <= 0xD7A3. Their UTF-8 encoding is + * always 3 bytes long, so s has been advanced twice, and the + * start of the sequence is at s-2. + */ + if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL) + trie = utf8hangul(s - 2, hangul); return trie; } @@ -2598,9 +2802,9 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) * Forwards to trie_nlookup(). */ static utf8leaf_t * -utf8lookup(struct tree *tree, const char *s) +utf8lookup(struct tree *tree, unsigned char *hangul, const char *s) { - return utf8nlookup(tree, s, (size_t)-1); + return utf8nlookup(tree, hangul, s, (size_t)-1); } /* @@ -2624,13 +2828,15 @@ int utf8agemax(struct tree *tree, const char *s) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = 0; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age > age) @@ -2649,13 +2855,15 @@ int utf8agemin(struct tree *tree, const char *s) { utf8leaf_t *leaf; - int age = tree->maxage; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = tree->maxage; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age < age) @@ -2673,13 +2881,15 @@ int utf8nagemax(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = 0; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age > age) @@ -2699,12 +2909,14 @@ utf8nagemin(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; int leaf_age; - int age = tree->maxage; + int age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = tree->maxage; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age < age) @@ -2726,11 +2938,12 @@ utf8len(struct tree *tree, const char *s) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; if (ages[LEAF_GEN(leaf)] > tree->maxage) ret += utf8clen(s); @@ -2752,11 +2965,12 @@ utf8nlen(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; if (ages[LEAF_GEN(leaf)] > tree->maxage) ret += utf8clen(s); @@ -2784,6 +2998,7 @@ struct utf8cursor { short int ccc; short int nccc; unsigned int unichar; + unsigned char hangul[UTF8HANGULLEAF]; }; /* @@ -2900,10 +3115,12 @@ utf8byte(struct utf8cursor *u8c) } /* Look up the data for the current character. */ - if (u8c->p) - leaf = utf8lookup(u8c->tree, u8c->s); - else - leaf = utf8nlookup(u8c->tree, u8c->s, u8c->len); + if (u8c->p) { + leaf = utf8lookup(u8c->tree, u8c->hangul, u8c->s); + } else { + leaf = utf8nlookup(u8c->tree, u8c->hangul, + u8c->s, u8c->len); + } /* No leaf found implies that the input is a binary blob. */ if (!leaf) @@ -2923,10 +3140,10 @@ utf8byte(struct utf8cursor *u8c) ccc = STOPPER; goto ccc_mismatch; } - leaf = utf8lookup(u8c->tree, u8c->s); + leaf = utf8lookup(u8c->tree, u8c->hangul, u8c->s); ccc = LEAF_CCC(leaf); } - u8c->unichar = utf8code(u8c->s); + u8c->unichar = utf8decode(u8c->s); /* * If this is not a stopper, then see if it updates @@ -3055,7 +3272,7 @@ normalization_test(void) t = buf2; while (*s) { unichar = strtoul(s, &s, 16); - t += utf8key(unichar, t); + t += utf8encode(t, unichar); } *t = '\0'; @@ -3068,13 +3285,13 @@ normalization_test(void) if (data->utf8nfkdi && !*data->utf8nfkdi) ignorables = 1; else - t += utf8key(unichar, t); + t += utf8encode(t, unichar); } *t = '\0'; tests++; if (normalize_line(nfkdi_tree) < 0) { - printf("\nline %s -> %s", buf0, buf1); + printf("Line %s -> %s", buf0, buf1); if (ignorables) printf(" (ignorables removed)"); printf(" failure\n"); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:55: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 1BD0F7F3F for ; Fri, 3 Oct 2014 16:55:46 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 81BDEAC008; Fri, 3 Oct 2014 14:55:42 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 32B4F4266DC; Fri, 3 Oct 2014 16:55:42 -0500 (CDT) Date: Fri, 3 Oct 2014 16:55:42 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. Message-ID: <20141003215542.GD1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Change the XFS case-insensitive lookup code to return the first match found, even if it is not an exact match. Whether a filesystem uses case-insensitive lookups is determined by a superblock bit set during filesystem creation. This means that normal use cannot create two files that both match the same filename. Signed-off-by: Olaf Weber --- fs/xfs/libxfs/xfs_dir2_block.c | 17 +++------ fs/xfs/libxfs/xfs_dir2_leaf.c | 37 ++++---------------- fs/xfs/libxfs/xfs_dir2_node.c | 79 ++++++++++++++++-------------------------- fs/xfs/libxfs/xfs_dir2_sf.c | 8 ++--- 4 files changed, 45 insertions(+), 96 deletions(-) diff --git a/fs/xfs/libxfs/xfs_dir2_block.c b/fs/xfs/libxfs/xfs_dir2_block.c index 9628cec..990bf0c 100644 --- a/fs/xfs/libxfs/xfs_dir2_block.c +++ b/fs/xfs/libxfs/xfs_dir2_block.c @@ -725,28 +725,21 @@ xfs_dir2_block_lookup_int( dep = (xfs_dir2_data_entry_t *) ((char *)hdr + xfs_dir2_dataptr_to_off(args->geo, addr)); /* - * Compare name and if it's an exact match, return the index - * and buffer. If it's the first case-insensitive match, store - * the index and buffer and continue looking for an exact match. + * Compare name and if it's a match, return the + * index and buffer. */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; *bpp = bp; *entno = mid; - if (cmp == XFS_CMP_EXACT) - return 0; + return 0; } } while (++mid < be32_to_cpu(btp->count) && be32_to_cpu(blp[mid].hashval) == hash); ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); - /* - * Here, we can only be doing a lookup (not a rename or replace). - * If a case-insensitive match was found earlier, return success. - */ - if (args->cmpresult == XFS_CMP_CASE) - return 0; + ASSERT(args->cmpresult == XFS_CMP_DIFFERENT); /* * No match, release the buffer and return ENOENT. */ diff --git a/fs/xfs/libxfs/xfs_dir2_leaf.c b/fs/xfs/libxfs/xfs_dir2_leaf.c index a19174e..3d572ee 100644 --- a/fs/xfs/libxfs/xfs_dir2_leaf.c +++ b/fs/xfs/libxfs/xfs_dir2_leaf.c @@ -1226,7 +1226,6 @@ xfs_dir2_leaf_lookup_int( xfs_mount_t *mp; /* filesystem mount point */ xfs_dir2_db_t newdb; /* new data block number */ xfs_trans_t *tp; /* transaction pointer */ - xfs_dir2_db_t cidb = -1; /* case match data block no. */ enum xfs_dacmp cmp; /* name compare result */ struct xfs_dir2_leaf_entry *ents; struct xfs_dir3_icleaf_hdr leafhdr; @@ -1290,46 +1289,22 @@ xfs_dir2_leaf_lookup_int( be32_to_cpu(lep->address))); /* * Compare name and if it's an exact match, return the index - * and buffer. If it's the first case-insensitive match, store - * the index and buffer and continue looking for an exact match. + * and buffer */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; *indexp = index; - /* case exact match: return the current buffer. */ - if (cmp == XFS_CMP_EXACT) { - *dbpp = dbp; - return 0; - } - cidb = curdb; + *dbpp = dbp; + return 0; } } ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); - /* - * Here, we can only be doing a lookup (not a rename or remove). - * If a case-insensitive match was found earlier, re-read the - * appropriate data block if required and return it. - */ - if (args->cmpresult == XFS_CMP_CASE) { - ASSERT(cidb != -1); - if (cidb != curdb) { - xfs_trans_brelse(tp, dbp); - error = xfs_dir3_data_read(tp, dp, - xfs_dir2_db_to_da(args->geo, cidb), - -1, &dbp); - if (error) { - xfs_trans_brelse(tp, lbp); - return error; - } - } - *dbpp = dbp; - return 0; - } + ASSERT(args->cmpresult == XFS_CMP_DIFFERENT); + /* * No match found, return -ENOENT. */ - ASSERT(cidb == -1); if (dbp) xfs_trans_brelse(tp, dbp); xfs_trans_brelse(tp, lbp); diff --git a/fs/xfs/libxfs/xfs_dir2_node.c b/fs/xfs/libxfs/xfs_dir2_node.c index 2ae6ac2..1778c40 100644 --- a/fs/xfs/libxfs/xfs_dir2_node.c +++ b/fs/xfs/libxfs/xfs_dir2_node.c @@ -679,6 +679,7 @@ xfs_dir2_leafn_lookup_for_entry( xfs_dir2_data_entry_t *dep; /* data block entry */ xfs_inode_t *dp; /* incore directory inode */ int error; /* error return value */ + int di = -1; /* data entry index */ int index; /* leaf entry index */ xfs_dir2_leaf_t *leaf; /* leaf structure */ xfs_dir2_leaf_entry_t *lep; /* leaf entry */ @@ -709,6 +710,7 @@ xfs_dir2_leafn_lookup_for_entry( if (state->extravalid) { curbp = state->extrablk.bp; curdb = state->extrablk.blkno; + di = state->extrablk.index; } /* * Loop over leaf entries with the right hash value. @@ -734,28 +736,20 @@ xfs_dir2_leafn_lookup_for_entry( */ if (newdb != curdb) { /* - * If we had a block before that we aren't saving - * for a CI name, drop it + * If we had a block, drop it */ - if (curbp && (args->cmpresult == XFS_CMP_DIFFERENT || - curdb != state->extrablk.blkno)) + if (curbp) { xfs_trans_brelse(tp, curbp); + di = -1; + } /* - * If needing the block that is saved with a CI match, - * use it otherwise read in the new data block. + * Read in the new data block. */ - if (args->cmpresult != XFS_CMP_DIFFERENT && - newdb == state->extrablk.blkno) { - ASSERT(state->extravalid); - curbp = state->extrablk.bp; - } else { - error = xfs_dir3_data_read(tp, dp, - xfs_dir2_db_to_da(args->geo, - newdb), + error = xfs_dir3_data_read(tp, dp, + xfs_dir2_db_to_da(args->geo, newdb), -1, &curbp); - if (error) - return error; - } + if (error) + return error; xfs_dir3_data_check(dp, curbp); curdb = newdb; } @@ -766,53 +760,40 @@ xfs_dir2_leafn_lookup_for_entry( xfs_dir2_dataptr_to_off(args->geo, be32_to_cpu(lep->address))); /* - * Compare the entry and if it's an exact match, return - * EEXIST immediately. If it's the first case-insensitive - * match, store the block & inode number and continue looking. + * Compare the entry and if it's a match, return + * EEXIST immediately. */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { - /* If there is a CI match block, drop it */ - if (args->cmpresult != XFS_CMP_DIFFERENT && - curdb != state->extrablk.blkno) - xfs_trans_brelse(tp, state->extrablk.bp); + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; args->inumber = be64_to_cpu(dep->inumber); args->filetype = dp->d_ops->data_get_ftype(dep); - *indexp = index; - state->extravalid = 1; - state->extrablk.bp = curbp; - state->extrablk.blkno = curdb; - state->extrablk.index = (int)((char *)dep - - (char *)curbp->b_addr); - state->extrablk.magic = XFS_DIR2_DATA_MAGIC; curbp->b_ops = &xfs_dir3_data_buf_ops; xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); - if (cmp == XFS_CMP_EXACT) - return -EEXIST; + di = (int)((char *)dep - (char *)curbp->b_addr); + error = -EEXIST; + goto out; + } } + /* Didn't find a match */ + error = -ENOENT; ASSERT(index == leafhdr.count || (args->op_flags & XFS_DA_OP_OKNOENT)); +out: if (curbp) { - if (args->cmpresult == XFS_CMP_DIFFERENT) { - /* Giving back last used data block. */ - state->extravalid = 1; - state->extrablk.bp = curbp; - state->extrablk.index = -1; - state->extrablk.blkno = curdb; - state->extrablk.magic = XFS_DIR2_DATA_MAGIC; - curbp->b_ops = &xfs_dir3_data_buf_ops; - xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); - } else { - /* If the curbp is not the CI match block, drop it */ - if (state->extrablk.bp != curbp) - xfs_trans_brelse(tp, curbp); - } + /* Giving back last used data block. */ + state->extravalid = 1; + state->extrablk.bp = curbp; + state->extrablk.index = di; + state->extrablk.blkno = curdb; + state->extrablk.magic = XFS_DIR2_DATA_MAGIC; + curbp->b_ops = &xfs_dir3_data_buf_ops; + xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); } else { state->extravalid = 0; } *indexp = index; - return -ENOENT; + return error; } /* diff --git a/fs/xfs/libxfs/xfs_dir2_sf.c b/fs/xfs/libxfs/xfs_dir2_sf.c index 5079e05..e69fdb7 100644 --- a/fs/xfs/libxfs/xfs_dir2_sf.c +++ b/fs/xfs/libxfs/xfs_dir2_sf.c @@ -757,19 +757,19 @@ xfs_dir2_sf_lookup( for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { /* - * Compare name and if it's an exact match, return the inode - * number. If it's the first case-insensitive match, store the - * inode number and continue looking for an exact match. + * Compare name and if it's a match, return the inode + * number. */ cmp = dp->i_mount->m_dirnameops->compname(args, sfep->name, sfep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; args->inumber = dp->d_ops->sf_get_ino(sfp, sfep); args->filetype = dp->d_ops->sf_get_ftype(sfep); if (cmp == XFS_CMP_EXACT) return -EEXIST; ci_sfep = sfep; + break; } } ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:56: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=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 3DA727F37 for ; Fri, 3 Oct 2014 16:56:56 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 20D2E304048; Fri, 3 Oct 2014 14:56:56 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id DB1784266DC; Fri, 3 Oct 2014 16:56:55 -0500 (CDT) Date: Fri, 3 Oct 2014 16:56:55 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 06/16] xfs: rename XFS_CMP_CASE to XFS_CMP_MATCH Message-ID: <20141003215655.GE1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Rename XFS_CMP_CASE to XFS_CMP_MATCH. With unicode filenames and normalization, different strings will match on other criteria than case insensitivity. Signed-off-by: Olaf Weber --- fs/xfs/libxfs/xfs_da_btree.h | 2 +- fs/xfs/libxfs/xfs_dir2.c | 9 ++++++--- fs/xfs/libxfs/xfs_dir2_node.c | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index 6e153e3..9ebcc23 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -52,7 +52,7 @@ struct xfs_da_geometry { enum xfs_dacmp { XFS_CMP_DIFFERENT, /* names are completely different */ XFS_CMP_EXACT, /* names are exactly the same */ - XFS_CMP_CASE /* names are same but differ in case */ + XFS_CMP_MATCH /* names are same but differ in encoding */ }; /* diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 6cef221..32e769b 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -74,7 +74,7 @@ xfs_ascii_ci_compname( continue; if (tolower(args->name[i]) != tolower(name[i])) return XFS_CMP_DIFFERENT; - result = XFS_CMP_CASE; + result = XFS_CMP_MATCH; } return result; @@ -315,8 +315,11 @@ xfs_dir_cilookup_result( { if (args->cmpresult == XFS_CMP_DIFFERENT) return -ENOENT; - if (args->cmpresult != XFS_CMP_CASE || - !(args->op_flags & XFS_DA_OP_CILOOKUP)) + if (args->cmpresult == XFS_CMP_EXACT) + return -EEXIST; + ASSERT(args->cmpresult == XFS_CMP_MATCH); + /* Only dup the found name if XFS_DA_OP_CILOOKUP is set. */ + if (!(args->op_flags & XFS_DA_OP_CILOOKUP)) return -EEXIST; args->value = kmem_alloc(len, KM_NOFS | KM_MAYFAIL); diff --git a/fs/xfs/libxfs/xfs_dir2_node.c b/fs/xfs/libxfs/xfs_dir2_node.c index 1778c40..9d46e8d 100644 --- a/fs/xfs/libxfs/xfs_dir2_node.c +++ b/fs/xfs/libxfs/xfs_dir2_node.c @@ -2023,7 +2023,7 @@ xfs_dir2_node_lookup( error = xfs_da3_node_lookup_int(state, &rval); if (error) rval = error; - else if (rval == -ENOENT && args->cmpresult == XFS_CMP_CASE) { + else if (rval == -ENOENT && args->cmpresult == XFS_CMP_MATCH) { /* If a CI match, dup the actual name and return -EEXIST */ xfs_dir2_data_entry_t *dep; -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:58: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=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 41CA37F37 for ; Fri, 3 Oct 2014 16:58:07 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 11295304048; Fri, 3 Oct 2014 14:58:07 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id D30294266DC; Fri, 3 Oct 2014 16:58:06 -0500 (CDT) Date: Fri, 3 Oct 2014 16:58:06 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 07/16] xfs: add xfs_nameops.normhash Message-ID: <20141003215806.GF1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Add a normhash callout to the xfs_nameops. This callout takes an xfs_da_args structure as its argument, and calculates a hash value over the name. It may in the process create a normalized form of the name, and assign that to the norm/normlen fields in the xfs_da_args structure. Signed-off-by: Olaf Weber --- fs/xfs/libxfs/xfs_da_btree.c | 9 +++++++++ fs/xfs/libxfs/xfs_da_btree.h | 3 +++ fs/xfs/libxfs/xfs_dir2.c | 42 +++++++++++++++++++++++++++++++++++++----- 3 files changed, 49 insertions(+), 5 deletions(-) diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c index 2c42ae2..07a3acf 100644 --- a/fs/xfs/libxfs/xfs_da_btree.c +++ b/fs/xfs/libxfs/xfs_da_btree.c @@ -1990,8 +1990,17 @@ xfs_default_hashname( return xfs_da_hashname(name->name, name->len); } +STATIC int +xfs_da_normhash( + struct xfs_da_args *args) +{ + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + const struct xfs_nameops xfs_default_nameops = { .hashname = xfs_default_hashname, + .normhash = xfs_da_normhash, .compname = xfs_da_compname }; diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index 9ebcc23..6cdafee 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -61,7 +61,9 @@ enum xfs_dacmp { typedef struct xfs_da_args { struct xfs_da_geometry *geo; /* da block geometry */ const __uint8_t *name; /* string (maybe not NULL terminated) */ + const __uint8_t *norm; /* normalized name (may be NULL) */ int namelen; /* length of string (maybe no NULL) */ + int normlen; /* length of normalized name */ __uint8_t filetype; /* filetype of inode for directories */ __uint8_t *value; /* set of bytes (maybe contain NULLs) */ int valuelen; /* length of value */ @@ -150,6 +152,7 @@ typedef struct xfs_da_state { */ struct xfs_nameops { xfs_dahash_t (*hashname)(struct xfs_name *); + int (*normhash)(struct xfs_da_args *); enum xfs_dacmp (*compname)(struct xfs_da_args *, const unsigned char *, int); }; diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 32e769b..55733a6 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -56,6 +56,21 @@ xfs_ascii_ci_hashname( return hash; } +STATIC int +xfs_ascii_ci_normhash( + struct xfs_da_args *args) +{ + xfs_dahash_t hash; + int i; + + for (i = 0, hash = 0; i < args->namelen; i++) + hash = tolower(args->name[i]) ^ rol32(hash, 7); + + args->hashval = hash; + return 0; +} + + STATIC enum xfs_dacmp xfs_ascii_ci_compname( struct xfs_da_args *args, @@ -82,6 +97,7 @@ xfs_ascii_ci_compname( static struct xfs_nameops xfs_ascii_ci_nameops = { .hashname = xfs_ascii_ci_hashname, + .normhash = xfs_ascii_ci_normhash, .compname = xfs_ascii_ci_compname, }; @@ -267,7 +283,6 @@ xfs_dir_createname( args->name = name->name; args->namelen = name->len; args->filetype = name->type; - args->hashval = dp->i_mount->m_dirnameops->hashname(name); args->inumber = inum; args->dp = dp; args->firstblock = first; @@ -276,6 +291,8 @@ xfs_dir_createname( args->whichfork = XFS_DATA_FORK; args->trans = tp; args->op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; + if ((rval = dp->i_mount->m_dirnameops->normhash(args))) + goto out_free; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) { rval = xfs_dir2_sf_addname(args); @@ -299,6 +316,8 @@ xfs_dir_createname( rval = xfs_dir2_node_addname(args); out_free: + if (args->norm) + kmem_free(args->norm); kmem_free(args); return rval; } @@ -365,13 +384,14 @@ xfs_dir_lookup( args->name = name->name; args->namelen = name->len; args->filetype = name->type; - args->hashval = dp->i_mount->m_dirnameops->hashname(name); args->dp = dp; args->whichfork = XFS_DATA_FORK; args->trans = tp; args->op_flags = XFS_DA_OP_OKNOENT; if (ci_name) args->op_flags |= XFS_DA_OP_CILOOKUP; + if ((rval = dp->i_mount->m_dirnameops->normhash(args))) + goto out_free; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) { rval = xfs_dir2_sf_lookup(args); @@ -405,6 +425,9 @@ out_check_rval: } } out_free: + if (args->norm) + kmem_free(args->norm); + kmem_free(args); return rval; } @@ -437,7 +460,6 @@ xfs_dir_removename( args->name = name->name; args->namelen = name->len; args->filetype = name->type; - args->hashval = dp->i_mount->m_dirnameops->hashname(name); args->inumber = ino; args->dp = dp; args->firstblock = first; @@ -445,6 +467,8 @@ xfs_dir_removename( args->total = total; args->whichfork = XFS_DATA_FORK; args->trans = tp; + if ((rval = dp->i_mount->m_dirnameops->normhash(args))) + goto out_free; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) { rval = xfs_dir2_sf_removename(args); @@ -467,6 +491,8 @@ xfs_dir_removename( else rval = xfs_dir2_node_removename(args); out_free: + if (args->norm) + kmem_free(args->norm); kmem_free(args); return rval; } @@ -502,7 +528,6 @@ xfs_dir_replace( args->name = name->name; args->namelen = name->len; args->filetype = name->type; - args->hashval = dp->i_mount->m_dirnameops->hashname(name); args->inumber = inum; args->dp = dp; args->firstblock = first; @@ -510,6 +535,8 @@ xfs_dir_replace( args->total = total; args->whichfork = XFS_DATA_FORK; args->trans = tp; + if ((rval = dp->i_mount->m_dirnameops->normhash(args))) + goto out_free; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) { rval = xfs_dir2_sf_replace(args); @@ -532,6 +559,8 @@ xfs_dir_replace( else rval = xfs_dir2_node_replace(args); out_free: + if (args->norm) + kmem_free(args->norm); kmem_free(args); return rval; } @@ -564,12 +593,13 @@ xfs_dir_canenter( args->name = name->name; args->namelen = name->len; args->filetype = name->type; - args->hashval = dp->i_mount->m_dirnameops->hashname(name); args->dp = dp; args->whichfork = XFS_DATA_FORK; args->trans = tp; args->op_flags = XFS_DA_OP_JUSTCHECK | XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; + if ((rval = dp->i_mount->m_dirnameops->normhash(args))) + goto out_free; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) { rval = xfs_dir2_sf_addname(args); @@ -592,6 +622,8 @@ xfs_dir_canenter( else rval = xfs_dir2_node_addname(args); out_free: + if (args->norm) + kmem_free(args->norm); kmem_free(args); return rval; } -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:58: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id F262A7F37 for ; Fri, 3 Oct 2014 16:58:44 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 73550AC007; Fri, 3 Oct 2014 14:58:44 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 355164266DC; Fri, 3 Oct 2014 16:58:44 -0500 (CDT) Date: Fri, 3 Oct 2014 16:58:44 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 08/16] xfs: change interface of xfs_nameops.hashname Message-ID: <20141003215844.GG1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber With the introduction of the xfs_nameops.normhash callout, all uses of the hashname callout now occur in places where an xfs_name structure must be explicitly created just to match the parameter passing convention of this callout. Change the arguments to a const unsigned char * and int instead. Signed-off-by: Olaf Weber [v2: pass a 3rd argument for sb_utf8version to hashname. --bpm] --- fs/xfs/libxfs/xfs_da_btree.c | 18 ++++++++++-------- fs/xfs/libxfs/xfs_da_btree.h | 3 ++- fs/xfs/libxfs/xfs_dir2.c | 8 +++++--- fs/xfs/libxfs/xfs_dir2_block.c | 4 +++- fs/xfs/libxfs/xfs_dir2_data.c | 4 +++- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c index 07a3acf..ec6cc98 100644 --- a/fs/xfs/libxfs/xfs_da_btree.c +++ b/fs/xfs/libxfs/xfs_da_btree.c @@ -1973,6 +1973,15 @@ xfs_da_hashname(const __uint8_t *name, int namelen) } } +xfs_dahash_t +xfs_da_hashname_op( + const __uint8_t *name, + int namelen, + unsigned int unused) +{ + return xfs_da_hashname(name, namelen); +} + enum xfs_dacmp xfs_da_compname( struct xfs_da_args *args, @@ -1983,13 +1992,6 @@ xfs_da_compname( XFS_CMP_EXACT : XFS_CMP_DIFFERENT; } -static xfs_dahash_t -xfs_default_hashname( - struct xfs_name *name) -{ - return xfs_da_hashname(name->name, name->len); -} - STATIC int xfs_da_normhash( struct xfs_da_args *args) @@ -1999,7 +2001,7 @@ xfs_da_normhash( } const struct xfs_nameops xfs_default_nameops = { - .hashname = xfs_default_hashname, + .hashname = xfs_da_hashname_op, .normhash = xfs_da_normhash, .compname = xfs_da_compname }; diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h index 6cdafee..ce6888a 100644 --- a/fs/xfs/libxfs/xfs_da_btree.h +++ b/fs/xfs/libxfs/xfs_da_btree.h @@ -151,7 +151,8 @@ typedef struct xfs_da_state { * Name ops for directory and/or attr name operations */ struct xfs_nameops { - xfs_dahash_t (*hashname)(struct xfs_name *); + xfs_dahash_t (*hashname)(const unsigned char *, int, + unsigned int); int (*normhash)(struct xfs_da_args *); enum xfs_dacmp (*compname)(struct xfs_da_args *, const unsigned char *, int); diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 55733a6..4eb0973 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -45,13 +45,15 @@ struct xfs_name xfs_name_dotdot = { (unsigned char *)"..", 2, XFS_DIR3_FT_DIR }; */ STATIC xfs_dahash_t xfs_ascii_ci_hashname( - struct xfs_name *name) + const unsigned char *name, + int len, + unsigned int unused) { xfs_dahash_t hash; int i; - for (i = 0, hash = 0; i < name->len; i++) - hash = tolower(name->name[i]) ^ rol32(hash, 7); + for (i = 0, hash = 0; i < len; i++) + hash = tolower(name[i]) ^ rol32(hash, 7); return hash; } diff --git a/fs/xfs/libxfs/xfs_dir2_block.c b/fs/xfs/libxfs/xfs_dir2_block.c index 990bf0c..12ebdd8 100644 --- a/fs/xfs/libxfs/xfs_dir2_block.c +++ b/fs/xfs/libxfs/xfs_dir2_block.c @@ -1231,7 +1231,9 @@ xfs_dir2_sf_to_block( name.name = sfep->name; name.len = sfep->namelen; blp[2 + i].hashval = cpu_to_be32(mp->m_dirnameops-> - hashname(&name)); + hashname(sfep->name, + sfep->namelen, + 0 /* version for later */)); blp[2 + i].address = cpu_to_be32(xfs_dir2_byte_to_dataptr( (char *)dep - (char *)hdr)); offset = (int)((char *)(tagp + 1) - (char *)hdr); diff --git a/fs/xfs/libxfs/xfs_dir2_data.c b/fs/xfs/libxfs/xfs_dir2_data.c index fdd803f..25b0f7b 100644 --- a/fs/xfs/libxfs/xfs_dir2_data.c +++ b/fs/xfs/libxfs/xfs_dir2_data.c @@ -179,7 +179,9 @@ __xfs_dir3_data_check( ((char *)dep - (char *)hdr)); name.name = dep->name; name.len = dep->namelen; - hash = mp->m_dirnameops->hashname(&name); + hash = mp->m_dirnameops->hashname(dep->name, + dep->namelen, + 0 /* version for later */); for (i = 0; i < be32_to_cpu(btp->count); i++) { if (be32_to_cpu(lep[i].address) == addr && be32_to_cpu(lep[i].hashval) == hash) -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 16:59: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E93F07F37 for ; Fri, 3 Oct 2014 16:59:46 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5E735AC007; Fri, 3 Oct 2014 14:59:46 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 114D34266DC; Fri, 3 Oct 2014 16:59:46 -0500 (CDT) Date: Fri, 3 Oct 2014 16:59:46 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 09/16] xfs: add a superblock feature bit to indicate UTF-8 support. Message-ID: <20141003215945.GH1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber When UTF-8 support is enabled, the xfs_dir_ci_inode_operations must be installed. Add xfs_sb_version_hasci(), which tests both the borgbit and the utf8bit, and returns true if at least one of them is set. Replace calls to xfs_sb_version_hasasciici() as needed. Signed-off-by: Olaf Weber --- fs/xfs/libxfs/xfs_sb.h | 24 +++++++++++++++++++++++- fs/xfs/xfs_fs.h | 1 + fs/xfs/xfs_fsops.c | 4 +++- fs/xfs/xfs_iops.c | 4 ++-- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h index 2e73970..525eacb 100644 --- a/fs/xfs/libxfs/xfs_sb.h +++ b/fs/xfs/libxfs/xfs_sb.h @@ -70,6 +70,7 @@ struct xfs_trans; #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ #define XFS_SB_VERSION2_PARENTBIT 0x00000010 /* parent pointers */ +#define XFS_SB_VERSION2_UTF8BIT 0x00000020 /* utf8 names */ #define XFS_SB_VERSION2_PROJID32BIT 0x00000080 /* 32 bit project id */ #define XFS_SB_VERSION2_CRCBIT 0x00000100 /* metadata CRCs */ #define XFS_SB_VERSION2_FTYPE 0x00000200 /* inode type in dir */ @@ -77,6 +78,7 @@ struct xfs_trans; #define XFS_SB_VERSION2_OKBITS \ (XFS_SB_VERSION2_LAZYSBCOUNTBIT | \ XFS_SB_VERSION2_ATTR2BIT | \ + XFS_SB_VERSION2_UTF8BIT | \ XFS_SB_VERSION2_PROJID32BIT | \ XFS_SB_VERSION2_FTYPE) @@ -509,8 +511,10 @@ xfs_sb_has_ro_compat_feature( } #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ +#define XFS_SB_FEAT_INCOMPAT_UTF8 (1 << 1) /* utf-8 name support */ #define XFS_SB_FEAT_INCOMPAT_ALL \ - (XFS_SB_FEAT_INCOMPAT_FTYPE) + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ + XFS_SB_FEAT_INCOMPAT_UTF8) #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL static inline bool @@ -558,6 +562,24 @@ 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_hasutf8(xfs_sb_t *sbp) +{ + return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 && + xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UTF8)) || + (xfs_sb_version_hasmorebits(sbp) && + (sbp->sb_features2 & XFS_SB_VERSION2_UTF8BIT)); +} + +/* + * Special case: there are a number of places where we need to test + * both the borgbit and the utf8bit, and take the same action if + * either of those is set. + */ +static inline int xfs_sb_version_hasci(xfs_sb_t *sbp) +{ + return xfs_sb_version_hasasciici(sbp) || xfs_sb_version_hasutf8(sbp); +} + /* * end of superblock version macros */ diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index 18dc721..e845d75 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_UTF8 0x40000 /* utf8 filenames */ /* * Minimum and maximum sizes need for growth checks. diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index f91de1e..1a83eef 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -103,7 +103,9 @@ 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_hasutf8(&mp->m_sb) ? + XFS_FSOP_GEOM_FLAGS_UTF8 : 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_iops.c b/fs/xfs/xfs_iops.c index 7212949..cea3d64 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -335,9 +335,9 @@ xfs_vn_unlink( /* * With unlink, the VFS makes the dentry "negative": no inode, * but still hashed. This is incompatible with case-insensitive - * mode, so invalidate (unhash) the dentry in CI-mode. + * or utf8 mode, so invalidate (unhash) the dentry in CI-mode. */ - if (xfs_sb_version_hasasciici(&XFS_M(dir->i_sb)->m_sb)) + if (xfs_sb_version_hasci(&XFS_M(dir->i_sb)->m_sb)) d_invalidate(dentry); return 0; } -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:00: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=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 621767F37 for ; Fri, 3 Oct 2014 17:00:32 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 327378F804C; Fri, 3 Oct 2014 15:00:32 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 018044266DC; Fri, 3 Oct 2014 17:00:31 -0500 (CDT) Date: Fri, 3 Oct 2014 17:00:31 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 10/16] xfs: store utf8version in the superblock Message-ID: <20141003220031.GI1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers The utf8 version a filesystem was created with needs to be stored in order that normalizations will remain stable over the lifetime of the filesystem. Convert sb_pad to sb_utf8version in the super block. This also adds checks at mount time to see whether the unicode normalization module has support for the version of unicode that the filesystem requires. If not we fail the mount. Signed-off-by: Ben Myers --- fs/xfs/libxfs/xfs_dir2.c | 28 ++++++++++++++++--- fs/xfs/libxfs/xfs_sb.c | 4 +-- fs/xfs/libxfs/xfs_sb.h | 10 ++++--- fs/xfs/libxfs/xfs_utf8.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_utf8.h | 24 +++++++++++++++++ 5 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 fs/xfs/libxfs/xfs_utf8.c create mode 100644 fs/xfs/libxfs/xfs_utf8.h diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 4eb0973..2c89211 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -157,10 +157,30 @@ xfs_da_mount( (uint)sizeof(xfs_da_node_entry_t); dageo->magicpct = (dageo->blksize * 37) / 100; - if (xfs_sb_version_hasasciici(&mp->m_sb)) - mp->m_dirnameops = &xfs_ascii_ci_nameops; - else - mp->m_dirnameops = &xfs_default_nameops; + if (xfs_sb_version_hasutf8(&mp->m_sb)) { +#ifdef CONFIG_XFS_UTF8 + if (!xfs_utf8_version_ok(mp)) + return -ENOSYS; + + /* XXX these are replaced in the next patch need + to do some kind of reordering here */ + if (xfs_sb_version_hasasciici(&mp->m_sb)) + mp->m_dirnameops = &xfs_ascii_ci_nameops; + else + mp->m_dirnameops = &xfs_default_nameops; +#else + xfs_warn(mp, +"Recompile XFS with CONFIG_XFS_UTF8 to mount this filesystem"); + kmem_free(mp->m_dir_geo); + kmem_free(mp->m_attr_geo); + return -ENOSYS; +#endif + } else { + if (xfs_sb_version_hasasciici(&mp->m_sb)) + mp->m_dirnameops = &xfs_ascii_ci_nameops; + else + mp->m_dirnameops = &xfs_default_nameops; + } return 0; } diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c index ad525a5..1ee7d33 100644 --- a/fs/xfs/libxfs/xfs_sb.c +++ b/fs/xfs/libxfs/xfs_sb.c @@ -99,7 +99,7 @@ static const struct { { offsetof(xfs_sb_t, sb_features_incompat), 0 }, { offsetof(xfs_sb_t, sb_features_log_incompat), 0 }, { offsetof(xfs_sb_t, sb_crc), 0 }, - { offsetof(xfs_sb_t, sb_pad), 0 }, + { offsetof(xfs_sb_t, sb_utf8version), 0 }, { offsetof(xfs_sb_t, sb_pquotino), 0 }, { offsetof(xfs_sb_t, sb_lsn), 0 }, { sizeof(xfs_sb_t), 0 } @@ -443,7 +443,7 @@ __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); - to->sb_pad = 0; + to->sb_utf8version = be32_to_cpu(from->sb_utf8version); to->sb_pquotino = be64_to_cpu(from->sb_pquotino); to->sb_lsn = be64_to_cpu(from->sb_lsn); /* Convert on-disk flags to in-memory flags? */ diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h index 525eacb..dc7b6c6 100644 --- a/fs/xfs/libxfs/xfs_sb.h +++ b/fs/xfs/libxfs/xfs_sb.h @@ -159,7 +159,7 @@ typedef struct xfs_sb { __uint32_t sb_features_log_incompat; __uint32_t sb_crc; /* superblock crc */ - __uint32_t sb_pad; + __uint32_t sb_utf8version; /* unicode version */ xfs_ino_t sb_pquotino; /* project quota inode */ xfs_lsn_t sb_lsn; /* last write sequence */ @@ -245,7 +245,7 @@ typedef struct xfs_dsb { __be32 sb_features_log_incompat; __le32 sb_crc; /* superblock crc */ - __be32 sb_pad; + __be32 sb_utf8version; /* version of unicode */ __be64 sb_pquotino; /* project quota inode */ __be64 sb_lsn; /* last write sequence */ @@ -271,7 +271,7 @@ typedef enum { XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT, XFS_SBS_FEATURES2, XFS_SBS_BAD_FEATURES2, XFS_SBS_FEATURES_COMPAT, XFS_SBS_FEATURES_RO_COMPAT, XFS_SBS_FEATURES_INCOMPAT, - XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_PAD, + XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_UTF8VERSION, XFS_SBS_PQUOTINO, XFS_SBS_LSN, XFS_SBS_FIELDCOUNT } xfs_sb_field_t; @@ -303,6 +303,7 @@ typedef enum { #define XFS_SB_FEATURES_INCOMPAT XFS_SB_MVAL(FEATURES_INCOMPAT) #define XFS_SB_FEATURES_LOG_INCOMPAT XFS_SB_MVAL(FEATURES_LOG_INCOMPAT) #define XFS_SB_CRC XFS_SB_MVAL(CRC) +#define XFS_SB_UTF8VERSION XFS_SB_MVAL(UTF8VERSION) #define XFS_SB_PQUOTINO XFS_SB_MVAL(PQUOTINO) #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) @@ -313,7 +314,8 @@ typedef enum { XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \ XFS_SB_BAD_FEATURES2 | XFS_SB_FEATURES_COMPAT | \ XFS_SB_FEATURES_RO_COMPAT | XFS_SB_FEATURES_INCOMPAT | \ - XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_PQUOTINO) + XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_UTF8VERSION | \ + XFS_SB_PQUOTINO) /* diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c new file mode 100644 index 0000000..7e63111 --- /dev/null +++ b/fs/xfs/libxfs/xfs_utf8.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2014 SGI. + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "xfs.h" +#include "xfs_fs.h" +#include "xfs_types.h" +#include "xfs_bit.h" +#include "xfs_log_format.h" +#include "xfs_inum.h" +#include "xfs_trans.h" +#include "xfs_trans_resv.h" +#include "xfs_sb.h" +#include "xfs_ag.h" +#include "xfs_da_format.h" +#include "xfs_da_btree.h" +#include "xfs_dir2.h" +#include "xfs_mount.h" +#include "xfs_da_btree.h" +#include "xfs_format.h" +#include "xfs_bmap_btree.h" +#include "xfs_alloc_btree.h" +#include "xfs_dinode.h" +#include "xfs_inode.h" +#include "xfs_inode_item.h" +#include "xfs_bmap.h" +#include "xfs_error.h" +#include "xfs_trace.h" +#include "xfs_utf8.h" +#include + +int +xfs_utf8_version_ok( + struct xfs_mount *mp) +{ + int major, minor, revision; + + if (utf8version_is_supported(mp->m_sb.sb_utf8version)) + return 1; + + major = mp->m_sb.sb_utf8version >> UNICODE_MAJ_SHIFT; + minor = (mp->m_sb.sb_utf8version & 0xff00) >> UNICODE_MIN_SHIFT; + revision = mp->m_sb.sb_utf8version & 0xff; + + if (revision) { + xfs_warn(mp, + "Unicode version %d.%d.%d not supported by utf8norm.ko", + major, minor, revision); + } else { + xfs_warn(mp, + "Unicode version %d.%d not supported by utf8norm.ko", + major, minor); + } + + return 0; +} diff --git a/fs/xfs/libxfs/xfs_utf8.h b/fs/xfs/libxfs/xfs_utf8.h new file mode 100644 index 0000000..8a700de --- /dev/null +++ b/fs/xfs/libxfs/xfs_utf8.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014 SGI. + * 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_UTF8_H +#define XFS_UTF8_H + +extern int xfs_utf8_version_ok(struct xfs_mount *); + +#endif /* XFS_UTF8_H */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:01: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=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 BA7317F37 for ; Fri, 3 Oct 2014 17:01:21 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8A70F8F804C; Fri, 3 Oct 2014 15:01:18 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 52EA54266DC; Fri, 3 Oct 2014 17:01:18 -0500 (CDT) Date: Fri, 3 Oct 2014 17:01:18 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 11/16] xfs: add xfs_nameops for utf8 and utf8+casefold. Message-ID: <20141003220118.GJ1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber The xfs_utf8_nameops use the nfkdi normalization when comparing filenames, and are installed if the utf8bit is set in the super block. The xfs_utf8_ci_nameops use the nfkdicf normalization when comparing filenames, and are installed if both the utf8bit and the borgbit are set in the superblock. Normalized filenames are not stored on disk. Normalization will fail if a filename is not valid UTF-8, in which case the filename is treated as an opaque blob. Signed-off-by: Olaf Weber --- [v2: updated to use utf8norm.ko module; compiled conditionally on CONFIG_XFS_UTF8=y; utf8version is now a function; move xfs_utf8.[ch] into libxfs. --bpm] [v3: pass utf8version from the superblock through xfs_nameops instead of the max version of the normalization module. --bpm] --- fs/xfs/Kconfig | 9 ++ fs/xfs/Makefile | 2 + fs/xfs/libxfs/xfs_dir2.c | 4 +- fs/xfs/libxfs/xfs_utf8.c | 208 +++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_utf8.h | 3 + fs/xfs/xfs_iops.c | 2 +- 6 files changed, 225 insertions(+), 3 deletions(-) diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index 5d47b4d..1e8a463 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig @@ -95,3 +95,12 @@ config XFS_DEBUG not useful unless you are debugging a particular problem. Say N unless you are an XFS developer, or you play one on TV. + +config XFS_UTF8 + bool "XFS UTF-8 support" + depends on XFS_FS + select CONFIG_UTF8_NORMALIZATION + help + Say Y here to enable utf8 normalization support in XFS. You + will be able to mount and use filesystems created with the + utf8 mkfs.xfs option. diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index d617999..192aaca 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -114,6 +114,8 @@ xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ xfs_qm.o \ xfs_quotaops.o +xfs-$(CONFIG_XFS_UTF8) += libxfs/xfs_utf8.o + # xfs_rtbitmap is shared with libxfs xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 2c89211..9cfbd6b 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -165,9 +165,9 @@ xfs_da_mount( /* XXX these are replaced in the next patch need to do some kind of reordering here */ if (xfs_sb_version_hasasciici(&mp->m_sb)) - mp->m_dirnameops = &xfs_ascii_ci_nameops; + mp->m_dirnameops = &xfs_utf8_ci_nameops; else - mp->m_dirnameops = &xfs_default_nameops; + mp->m_dirnameops = &xfs_utf8_nameops; #else xfs_warn(mp, "Recompile XFS with CONFIG_XFS_UTF8 to mount this filesystem"); diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c index 7e63111..1e75299 100644 --- a/fs/xfs/libxfs/xfs_utf8.c +++ b/fs/xfs/libxfs/xfs_utf8.c @@ -68,3 +68,211 @@ xfs_utf8_version_ok( return 0; } + +/* + * xfs nameops using nfkdi + */ + +static xfs_dahash_t +xfs_utf8_hashname( + const unsigned char *name, + int len, + unsigned int sb_utf8version) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + xfs_dahash_t hash; + int val; + + nfkdi = utf8nfkdi(sb_utf8version); + hash = 0; + if (utf8ncursor(&u8c, nfkdi, name, len) < 0) + goto blob; + while ((val = utf8byte(&u8c)) > 0) + hash = val ^ rol32(hash, 7); + /* In case of error treat the name as a binary blob. */ + if (val == 0) + return hash; +blob: + return xfs_da_hashname(name, len); +} + +static int +xfs_utf8_normhash( + struct xfs_da_args *args) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + unsigned char *norm; + ssize_t normlen; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + nfkdi = utf8nfkdi(sb_utf8version); + /* Failure to normalize is treated as a blob. */ + if ((normlen = utf8nlen(nfkdi, args->name, args->namelen)) < 0) + goto blob; + if (utf8ncursor(&u8c, nfkdi, args->name, args->namelen) < 0) + goto blob; + if (!(norm = kmem_alloc(normlen + 1, KM_NOFS|KM_MAYFAIL))) + return -ENOMEM; + args->norm = norm; + args->normlen = normlen; + while ((c = utf8byte(&u8c)) > 0) + *norm++ = c; + if (c == 0) { + *norm = '\0'; + args->hashval = xfs_da_hashname(args->norm, args->normlen); + return 0; + } + kmem_free(args->norm); +blob: + args->norm = NULL; + args->normlen = -1; + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + +static enum xfs_dacmp +xfs_utf8_compname( + struct xfs_da_args *args, + const unsigned char *name, + int len) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + const unsigned char *norm; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + ASSERT(args->norm || args->normlen == -1); + + /* Check for an exact match first. */ + if (args->namelen == len && memcmp(args->name, name, len) == 0) + return XFS_CMP_EXACT; + /* xfs_utf8_normhash() set args->normlen to -1 for a blob */ + if (args->normlen < 0) + return XFS_CMP_DIFFERENT; + nfkdi = utf8nfkdi(sb_utf8version); + if (utf8ncursor(&u8c, nfkdi, name, len) < 0) + return XFS_CMP_DIFFERENT; + norm = args->norm; + while ((c = utf8byte(&u8c)) > 0) + if (c != *norm++) + return XFS_CMP_DIFFERENT; + if (c < 0 || *norm != '\0') + return XFS_CMP_DIFFERENT; + return XFS_CMP_MATCH; +} + +struct xfs_nameops xfs_utf8_nameops = { + .hashname = xfs_utf8_hashname, + .normhash = xfs_utf8_normhash, + .compname = xfs_utf8_compname, +}; + +/* + * xfs nameops using nfkdicf + */ + +static xfs_dahash_t +xfs_utf8_ci_hashname( + const unsigned char *name, + int len, + unsigned int sb_utf8version) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + xfs_dahash_t hash; + int val; + + nfkdicf = utf8nfkdicf(sb_utf8version); + hash = 0; + if (utf8ncursor(&u8c, nfkdicf, name, len) < 0) + goto blob; + while ((val = utf8byte(&u8c)) > 0) + hash = val ^ rol32(hash, 7); + /* In case of error treat the name as a binary blob. */ + if (val == 0) + return hash; +blob: + return xfs_da_hashname(name, len); +} + +static int +xfs_utf8_ci_normhash( + struct xfs_da_args *args) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + unsigned char *norm; + ssize_t normlen; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + nfkdicf = utf8nfkdicf(sb_utf8version); + /* Failure to normalize is treated as a blob. */ + if ((normlen = utf8nlen(nfkdicf, args->name, args->namelen)) < 0) + goto blob; + if (utf8ncursor(&u8c, nfkdicf, args->name, args->namelen) < 0) + goto blob; + if (!(norm = kmem_alloc(normlen + 1, KM_NOFS|KM_MAYFAIL))) + return -ENOMEM; + args->norm = norm; + args->normlen = normlen; + while ((c = utf8byte(&u8c)) > 0) + *norm++ = c; + if (c == 0) { + *norm = '\0'; + args->hashval = xfs_da_hashname(args->norm, args->normlen); + return 0; + } + kmem_free(args->norm); +blob: + args->norm = NULL; + args->normlen = -1; + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + +static enum xfs_dacmp +xfs_utf8_ci_compname( + struct xfs_da_args *args, + const unsigned char *name, + int len) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + const unsigned char *norm; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + ASSERT(args->norm || args->normlen == -1); + + /* Check for an exact match first. */ + if (args->namelen == len && memcmp(args->name, name, len) == 0) + return XFS_CMP_EXACT; + /* xfs_utf8_ci_normhash() set args->normlen to -1 for a blob */ + if (args->normlen < 0) + return XFS_CMP_DIFFERENT; + nfkdicf = utf8nfkdicf(sb_utf8version); + if (utf8ncursor(&u8c, nfkdicf, name, len) < 0) + return XFS_CMP_DIFFERENT; + norm = args->norm; + while ((c = utf8byte(&u8c)) > 0) + if (c != *norm++) + return XFS_CMP_DIFFERENT; + if (c < 0 || *norm != '\0') + return XFS_CMP_DIFFERENT; + return XFS_CMP_MATCH; +} + +struct xfs_nameops xfs_utf8_ci_nameops = { + .hashname = xfs_utf8_ci_hashname, + .normhash = xfs_utf8_ci_normhash, + .compname = xfs_utf8_ci_compname, +}; diff --git a/fs/xfs/libxfs/xfs_utf8.h b/fs/xfs/libxfs/xfs_utf8.h index 8a700de..404db54 100644 --- a/fs/xfs/libxfs/xfs_utf8.h +++ b/fs/xfs/libxfs/xfs_utf8.h @@ -21,4 +21,7 @@ extern int xfs_utf8_version_ok(struct xfs_mount *); +extern struct xfs_nameops xfs_utf8_nameops; +extern struct xfs_nameops xfs_utf8_ci_nameops; + #endif /* XFS_UTF8_H */ diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index cea3d64..fbfb1bb 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -1257,7 +1257,7 @@ xfs_setup_inode( break; case S_IFDIR: lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class); - if (xfs_sb_version_hasasciici(&XFS_M(inode->i_sb)->m_sb)) + if (xfs_sb_version_hasci(&XFS_M(inode->i_sb)->m_sb)) inode->i_op = &xfs_dir_ci_inode_operations; else inode->i_op = &xfs_dir_inode_operations; -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:03: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 077547F37 for ; Fri, 3 Oct 2014 17:03:23 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 71052AC001; Fri, 3 Oct 2014 15:03:19 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 17D7F4266DC; Fri, 3 Oct 2014 17:03:19 -0500 (CDT) Date: Fri, 3 Oct 2014 17:03:19 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 12/16] xfs: apply utf-8 normalization rules to user extended attribute names Message-ID: <20141003220319.GL1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Apply the same rules for UTF-8 normalization to the names of user-defined extended attributes. System attributes are excluded because they are not user-visible in the first place, and the kernel is expected to know what it is doing when naming them. Signed-off-by: Olaf Weber --- fs/xfs/libxfs/xfs_attr.c | 56 ++++++++++++++++++++++++++++++++++++------- fs/xfs/libxfs/xfs_attr_leaf.c | 11 +++++++-- fs/xfs/libxfs/xfs_utf8.c | 7 ++++++ fs/xfs/xfs_attr_list.c | 12 +++++++++- 4 files changed, 75 insertions(+), 11 deletions(-) diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c index 353fb42..68e7ce3 100644 --- a/fs/xfs/libxfs/xfs_attr.c +++ b/fs/xfs/libxfs/xfs_attr.c @@ -83,12 +83,14 @@ xfs_attr_args_init( const unsigned char *name, int flags) { + struct xfs_mount *mp = dp->i_mount; + int error; if (!name) return -EINVAL; memset(args, 0, sizeof(*args)); - args->geo = dp->i_mount->m_attr_geo; + args->geo = mp->m_attr_geo; args->whichfork = XFS_ATTR_FORK; args->dp = dp; args->flags = flags; @@ -97,7 +99,11 @@ xfs_attr_args_init( if (args->namelen >= MAXNAMELEN) return -EFAULT; /* match IRIX behaviour */ - args->hashval = xfs_da_hashname(args->name, args->namelen); + if (!xfs_sb_version_hasutf8(&mp->m_sb)) + args->hashval = xfs_da_hashname(args->name, args->namelen); + else if ((error = mp->m_dirnameops->normhash(args)) != 0) + return error; + return 0; } @@ -154,6 +160,9 @@ xfs_attr_get( error = xfs_attr_node_get(&args); xfs_iunlock(ip, lock_mode); + if (args.norm) + kmem_free(args.norm); + *valuelenp = args.valuelen; return error == -EEXIST ? 0 : error; } @@ -216,8 +225,11 @@ xfs_attr_set( return -EIO; error = xfs_attr_args_init(&args, dp, name, flags); - if (error) + if (error) { + if (args.norm) + kmem_free(args.norm); return error; + } args.value = value; args.valuelen = valuelen; @@ -227,8 +239,11 @@ xfs_attr_set( args.total = xfs_attr_calc_size(&args, &local); error = xfs_qm_dqattach(dp, 0); - if (error) + if (error) { + if (args.norm) + kmem_free(args.norm); return error; + } /* * If the inode doesn't have an attribute fork, add one. @@ -239,8 +254,11 @@ xfs_attr_set( XFS_ATTR_SF_ENTSIZE_BYNAME(args.namelen, valuelen); error = xfs_bmap_add_attrfork(dp, sf_size, rsvd); - if (error) + if (error) { + if (args.norm) + kmem_free(args.norm); return error; + } } /* @@ -270,6 +288,8 @@ xfs_attr_set( error = xfs_trans_reserve(args.trans, &tres, args.total, 0); if (error) { xfs_trans_cancel(args.trans, 0); + if (args.norm) + kmem_free(args.norm); return error; } xfs_ilock(dp, XFS_ILOCK_EXCL); @@ -280,6 +300,8 @@ xfs_attr_set( if (error) { xfs_iunlock(dp, XFS_ILOCK_EXCL); xfs_trans_cancel(args.trans, XFS_TRANS_RELEASE_LOG_RES); + if (args.norm) + kmem_free(args.norm); return error; } @@ -327,6 +349,8 @@ xfs_attr_set( XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free(args.norm); return error ? error : err2; } @@ -388,7 +412,8 @@ xfs_attr_set( xfs_trans_log_inode(args.trans, dp, XFS_ILOG_CORE); error = xfs_trans_commit(args.trans, XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); - + if (args.norm) + kmem_free(args.norm); return error; out: @@ -397,6 +422,8 @@ out: XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_ABORT); } xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free(args.norm); return error; } @@ -425,8 +452,11 @@ xfs_attr_remove( return -ENOATTR; error = xfs_attr_args_init(&args, dp, name, flags); - if (error) + if (error) { + if (args.norm) + kmem_free(args.norm); return error; + } args.firstblock = &firstblock; args.flist = &flist; @@ -439,8 +469,11 @@ xfs_attr_remove( args.op_flags = XFS_DA_OP_OKNOENT; error = xfs_qm_dqattach(dp, 0); - if (error) + if (error) { + if (args.norm) + kmem_free(args.norm); return error; + } /* * Start our first transaction of the day. @@ -466,6 +499,8 @@ xfs_attr_remove( XFS_ATTRRM_SPACE_RES(mp), 0); if (error) { xfs_trans_cancel(args.trans, 0); + if (args.norm) + kmem_free(args.norm); return error; } @@ -506,6 +541,8 @@ xfs_attr_remove( xfs_trans_log_inode(args.trans, dp, XFS_ILOG_CORE); error = xfs_trans_commit(args.trans, XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free(args.norm); return error; @@ -515,6 +552,9 @@ out: XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_ABORT); } xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free(args.norm); + return error; } diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c index b1f73db..c991a88 100644 --- a/fs/xfs/libxfs/xfs_attr_leaf.c +++ b/fs/xfs/libxfs/xfs_attr_leaf.c @@ -661,6 +661,7 @@ int xfs_attr_shortform_to_leaf(xfs_da_args_t *args) { xfs_inode_t *dp; + struct xfs_mount *mp; xfs_attr_shortform_t *sf; xfs_attr_sf_entry_t *sfe; xfs_da_args_t nargs; @@ -673,6 +674,7 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args) trace_xfs_attr_sf_to_leaf(args); dp = args->dp; + mp = dp->i_mount; ifp = dp->i_afp; sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data; size = be16_to_cpu(sf->hdr.totsize); @@ -726,13 +728,18 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args) nargs.namelen = sfe->namelen; nargs.value = &sfe->nameval[nargs.namelen]; nargs.valuelen = sfe->valuelen; - nargs.hashval = xfs_da_hashname(sfe->nameval, - sfe->namelen); nargs.flags = XFS_ATTR_NSP_ONDISK_TO_ARGS(sfe->flags); + if (!xfs_sb_version_hasutf8(&mp->m_sb)) + nargs.hashval = xfs_da_hashname(sfe->nameval, + sfe->namelen); + else if ((error = mp->m_dirnameops->normhash(&nargs)) != 0) + goto out; error = xfs_attr3_leaf_lookup_int(bp, &nargs); /* set a->index */ ASSERT(error == -ENOATTR); error = xfs_attr3_leaf_add(bp, &nargs); ASSERT(error != -ENOSPC); + if (nargs.norm) + kmem_free(nargs.norm); if (error) goto out; sfe = XFS_ATTR_SF_NEXTENTRY(sfe); diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c index 1e75299..ede6228 100644 --- a/fs/xfs/libxfs/xfs_utf8.c +++ b/fs/xfs/libxfs/xfs_utf8.c @@ -38,6 +38,7 @@ #include "xfs_inode.h" #include "xfs_inode_item.h" #include "xfs_bmap.h" +#include "xfs_attr.h" #include "xfs_error.h" #include "xfs_trace.h" #include "xfs_utf8.h" @@ -109,6 +110,9 @@ xfs_utf8_normhash( unsigned int sb_utf8version = args->dp->i_mount->m_sb.sb_utf8version; + /* Don't normalize system attribute names. */ + if (args->flags & (ATTR_ROOT|ATTR_SECURE)) + goto blob; nfkdi = utf8nfkdi(sb_utf8version); /* Failure to normalize is treated as a blob. */ if ((normlen = utf8nlen(nfkdi, args->name, args->namelen)) < 0) @@ -213,6 +217,9 @@ xfs_utf8_ci_normhash( unsigned int sb_utf8version = args->dp->i_mount->m_sb.sb_utf8version; + /* Don't normalize system attribute names. */ + if (args->flags & (ATTR_ROOT|ATTR_SECURE)) + goto blob; nfkdicf = utf8nfkdicf(sb_utf8version); /* Failure to normalize is treated as a blob. */ if ((normlen = utf8nlen(nfkdicf, args->name, args->namelen)) < 0) diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c index 62db83a..034199d 100644 --- a/fs/xfs/xfs_attr_list.c +++ b/fs/xfs/xfs_attr_list.c @@ -76,12 +76,14 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context) xfs_attr_shortform_t *sf; xfs_attr_sf_entry_t *sfe; xfs_inode_t *dp; + struct xfs_mount *mp; int sbsize, nsbuf, count, i; int error; ASSERT(context != NULL); dp = context->dp; ASSERT(dp != NULL); + mp = dp->i_mount; ASSERT(dp->i_afp != NULL); sf = (xfs_attr_shortform_t *)dp->i_afp->if_u1.if_data; ASSERT(sf != NULL); @@ -154,7 +156,15 @@ xfs_attr_shortform_list(xfs_attr_list_context_t *context) } sbp->entno = i; - sbp->hash = xfs_da_hashname(sfe->nameval, sfe->namelen); + + /* ATTR_ROOT and ATTR_SECURE are never normalized. */ + if (!xfs_sb_version_hasutf8(&mp->m_sb) || + (sfe->flags & (ATTR_ROOT|ATTR_SECURE))) { + sbp->hash = xfs_da_hashname(sfe->nameval, sfe->namelen); + } else { + sbp->hash = mp->m_dirnameops->hashname(sfe->nameval, + sfe->namelen, mp->m_sb.sb_utf8version); + } sbp->name = sfe->nameval; sbp->namelen = sfe->namelen; /* These are bytes, and both on-disk, don't endian-flip */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:03: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 21E777F37 for ; Fri, 3 Oct 2014 17:03:58 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9B12DAC00A; Fri, 3 Oct 2014 15:03:57 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 5E0A84266DC; Fri, 3 Oct 2014 17:03:57 -0500 (CDT) Date: Fri, 3 Oct 2014 17:03:57 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 13/16] xfs: implement demand load of utf8norm.ko Message-ID: <20141003220357.GM1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers The utf8 normalization module is large and there is no need to have it loaded unless an xfs filesystem with utf8 enabled has been mounted. This loads utf8norm.ko at mount time for filesystems that need it. Signed-off-by: Ben Myers --- [v2: updated for utf8version_is_supported. --bpm] [v3: removed CONFIG_XFS_UTF8_DEMAND_LOAD. --bpm] --- fs/xfs/libxfs/xfs_dir2.c | 9 +++++ fs/xfs/libxfs/xfs_utf8.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_utf8.h | 3 ++ fs/xfs/xfs_super.c | 6 +++ 4 files changed, 118 insertions(+) diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c index 9cfbd6b..844044b 100644 --- a/fs/xfs/libxfs/xfs_dir2.c +++ b/fs/xfs/libxfs/xfs_dir2.c @@ -35,6 +35,9 @@ #include "xfs_error.h" #include "xfs_trace.h" #include "xfs_dinode.h" +#ifdef CONFIG_XFS_UTF8 +#include "xfs_utf8.h" +#endif struct xfs_name xfs_name_dotdot = { (unsigned char *)"..", 2, XFS_DIR3_FT_DIR }; @@ -159,6 +162,12 @@ xfs_da_mount( if (xfs_sb_version_hasutf8(&mp->m_sb)) { #ifdef CONFIG_XFS_UTF8 + if (xfs_init_utf8_module(mp)) { + kmem_free(mp->m_dir_geo); + kmem_free(mp->m_attr_geo); + return -ENOSYS; + } + if (!xfs_utf8_version_ok(mp)) return -ENOSYS; diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c index ede6228..09efcda 100644 --- a/fs/xfs/libxfs/xfs_utf8.c +++ b/fs/xfs/libxfs/xfs_utf8.c @@ -43,6 +43,106 @@ #include "xfs_trace.h" #include "xfs_utf8.h" #include +#include + +static DEFINE_SPINLOCK(utf8norm_lock); +static int utf8norm_initialized; + +static int (*utf8version_is_supported_func)(unsigned int); +static utf8data_t (*utf8nfkdi_func)(unsigned int); +static utf8data_t (*utf8nfkdicf_func)(unsigned int); +static ssize_t (*utf8nlen_func)(utf8data_t, const char *, size_t); +static int (*utf8ncursor_func)(struct utf8cursor *, utf8data_t, + const char *, size_t); +static int (*utf8byte_func)(struct utf8cursor *); + +static void +xfs_put_utf8_module_locked(void) +{ + if (utf8version_is_supported_func) + symbol_put(utf8version_is_supported); + + if (utf8nfkdi_func) + symbol_put(utf8nfkdi); + + if (utf8nfkdicf_func) + symbol_put(utf8nfkdicf); + + if (utf8nlen_func) + symbol_put(utf8nlen); + + if (utf8ncursor_func) + symbol_put(utf8ncursor); + + if (utf8byte_func) + symbol_put(utf8byte); +} + +void +xfs_put_utf8_module(void) +{ + spin_lock(&utf8norm_lock); + if (!utf8norm_initialized) { + spin_unlock(&utf8norm_lock); + return; + } + xfs_put_utf8_module_locked(); + spin_unlock(&utf8norm_lock); +} + +int +xfs_init_utf8_module(struct xfs_mount *mp) +{ + request_module("utf8norm"); + + spin_lock(&utf8norm_lock); + if (utf8norm_initialized) { + spin_unlock(&utf8norm_lock); + return 0; + } + + utf8version_is_supported_func = symbol_get(utf8version_is_supported); + if (!utf8version_is_supported_func) + goto error; + + utf8nfkdi_func = symbol_get(utf8nfkdi); + if (!utf8nfkdi_func) + goto error; + + utf8nfkdicf_func = symbol_get(utf8nfkdicf); + if (!utf8nfkdicf_func) + goto error; + + utf8nlen_func = symbol_get(utf8nlen); + if (!utf8nlen_func) + goto error; + + utf8ncursor_func = symbol_get(utf8ncursor); + if (!utf8ncursor_func) + goto error; + + utf8byte_func = symbol_get(utf8byte); + if (!utf8byte_func) + goto error; + + utf8norm_initialized = 1; + spin_unlock(&utf8norm_lock); + return 0; +error: + xfs_put_utf8_module_locked(); + spin_unlock(&utf8norm_lock); + xfs_warn(mp, + "Failed to load utf8norm.ko which is required to " + "mount a filesystem with utf8 support."); + return -ENOSYS; +} + +#define utf8version_is_supported (*utf8version_is_supported_func) +#define utf8nfkdi (*utf8nfkdi_func) +#define utf8nfkdicf (*utf8nfkdicf_func) +#define utf8nlen (*utf8nlen_func) +#define utf8ncursor (*utf8ncursor_func) +#define utf8byte (*utf8byte_func) int xfs_utf8_version_ok( diff --git a/fs/xfs/libxfs/xfs_utf8.h b/fs/xfs/libxfs/xfs_utf8.h index 404db54..b79ce05 100644 --- a/fs/xfs/libxfs/xfs_utf8.h +++ b/fs/xfs/libxfs/xfs_utf8.h @@ -24,4 +24,7 @@ extern int xfs_utf8_version_ok(struct xfs_mount *); extern struct xfs_nameops xfs_utf8_nameops; extern struct xfs_nameops xfs_utf8_ci_nameops; +extern int xfs_init_utf8_module(struct xfs_mount *); +extern void xfs_put_utf8_module(void); + #endif /* XFS_UTF8_H */ diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index b194652..60a3ebc 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -47,6 +47,9 @@ #include "xfs_dinode.h" #include "xfs_filestream.h" #include "xfs_quota.h" +#ifdef CONFIG_XFS_UTF8 +#include "xfs_utf8.h" +#endif #include #include @@ -1809,6 +1812,9 @@ exit_xfs_fs(void) xfs_mru_cache_uninit(); xfs_destroy_workqueues(); xfs_destroy_zones(); +#ifdef CONFIG_XFS_UTF8 + xfs_put_utf8_module(); +#endif } module_init(init_xfs_fs); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:04: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=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 F41837F37 for ; Fri, 3 Oct 2014 17:04:38 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id D2821304071; Fri, 3 Oct 2014 15:04:35 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 8FD8A4266DC; Fri, 3 Oct 2014 17:04:35 -0500 (CDT) Date: Fri, 3 Oct 2014 17:04:35 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 14/16] xfs: rename XFS_IOC_FSGEOM to XFS_IOC_FSGEOM_V2 Message-ID: <20141003220435.GN1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers We'll be creating a new versioned XFS_IOC_FSGEOMETRY ioctl and structure so rename the current revision to _V2. Signed-off-by: Ben Myers --- fs/xfs/xfs_fs.h | 8 ++++---- fs/xfs/xfs_fsops.c | 2 +- fs/xfs/xfs_fsops.h | 3 ++- fs/xfs/xfs_ioctl.c | 12 ++++++------ fs/xfs/xfs_ioctl32.c | 4 ++-- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index e845d75..fd45cbe 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -180,9 +180,9 @@ typedef struct xfs_fsop_geom_v1 { } xfs_fsop_geom_v1_t; /* - * Output for XFS_IOC_FSGEOMETRY + * Output for XFS_IOC_FSGEOMETRY_V2 */ -typedef struct xfs_fsop_geom { +typedef struct xfs_fsop_geom_v2 { __u32 blocksize; /* filesystem (data) block size */ __u32 rtextsize; /* realtime extent size */ __u32 agblocks; /* fsblocks in an AG */ @@ -204,7 +204,7 @@ typedef struct xfs_fsop_geom { __u32 rtsectsize; /* realtime sector size, bytes */ __u32 dirblocksize; /* directory block size, bytes */ __u32 logsunit; /* log stripe unit, bytes */ -} xfs_fsop_geom_t; +} xfs_fsop_geom_v2_t; /* Output for XFS_FS_COUNTS */ typedef struct xfs_fsop_counts { @@ -555,7 +555,7 @@ typedef struct xfs_swapext #define XFS_IOC_FSSETDM_BY_HANDLE _IOW ('X', 121, struct xfs_fsop_setdm_handlereq) #define XFS_IOC_ATTRLIST_BY_HANDLE _IOW ('X', 122, struct xfs_fsop_attrlist_handlereq) #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) -#define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom) +#define XFS_IOC_FSGEOMETRY_V2 _IOR ('X', 124, struct xfs_fsop_geom_v2) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 1a83eef..b69468e 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -50,7 +50,7 @@ int xfs_fs_geometry( xfs_mount_t *mp, - xfs_fsop_geom_t *geo, + xfs_fsop_geom_v2_t *geo, int new_version) { diff --git a/fs/xfs/xfs_fsops.h b/fs/xfs/xfs_fsops.h index 1b6a98b..26e7343 100644 --- a/fs/xfs/xfs_fsops.h +++ b/fs/xfs/xfs_fsops.h @@ -18,7 +18,8 @@ #ifndef __XFS_FSOPS_H__ #define __XFS_FSOPS_H__ -extern int xfs_fs_geometry(xfs_mount_t *mp, xfs_fsop_geom_t *geo, int nversion); +extern int xfs_fs_geometry(xfs_mount_t *mp, xfs_fsop_geom_v2_t *geo, + int nversion); extern int xfs_growfs_data(xfs_mount_t *mp, xfs_growfs_data_t *in); extern int xfs_growfs_log(xfs_mount_t *mp, xfs_growfs_log_t *in); extern int xfs_fs_counts(xfs_mount_t *mp, xfs_fsop_counts_t *cnt); diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 3799695..4393405 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -823,7 +823,7 @@ xfs_ioc_fsgeometry_v1( xfs_mount_t *mp, void __user *arg) { - xfs_fsop_geom_t fsgeo; + xfs_fsop_geom_v2_t fsgeo; int error; error = xfs_fs_geometry(mp, &fsgeo, 3); @@ -841,18 +841,18 @@ xfs_ioc_fsgeometry_v1( } STATIC int -xfs_ioc_fsgeometry( +xfs_ioc_fsgeometry_v2( xfs_mount_t *mp, void __user *arg) { - xfs_fsop_geom_t fsgeo; + xfs_fsop_geom_v2_t fsgeo; int error; error = xfs_fs_geometry(mp, &fsgeo, 4); if (error) return error; - if (copy_to_user(arg, &fsgeo, sizeof(fsgeo))) + if (copy_to_user(arg, &fsgeo, sizeof(xfs_fsop_geom_v2_t))) return -EFAULT; return 0; } @@ -1564,8 +1564,8 @@ xfs_file_ioctl( case XFS_IOC_FSGEOMETRY_V1: return xfs_ioc_fsgeometry_v1(mp, arg); - case XFS_IOC_FSGEOMETRY: - return xfs_ioc_fsgeometry(mp, arg); + case XFS_IOC_FSGEOMETRY_V2: + return xfs_ioc_fsgeometry_v2(mp, arg); case XFS_IOC_GETVERSION: return put_user(inode->i_generation, (int __user *)arg); diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index a554646..207b224 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -64,7 +64,7 @@ xfs_compat_ioc_fsgeometry_v1( struct xfs_mount *mp, compat_xfs_fsop_geom_v1_t __user *arg32) { - xfs_fsop_geom_t fsgeo; + xfs_fsop_geom_v2_t fsgeo; int error; error = xfs_fs_geometry(mp, &fsgeo, 3); @@ -543,7 +543,7 @@ xfs_file_compat_ioctl( switch (cmd) { /* No size or alignment issues on any arch */ case XFS_IOC_DIOINFO: - case XFS_IOC_FSGEOMETRY: + case XFS_IOC_FSGEOMETRY_V2: case XFS_IOC_FSGETXATTR: case XFS_IOC_FSSETXATTR: case XFS_IOC_FSGETXATTRA: -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:05: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=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 5A5BF7F37 for ; Fri, 3 Oct 2014 17:05:09 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 312CC304048; Fri, 3 Oct 2014 15:05:09 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 0ACBF4266DC; Fri, 3 Oct 2014 17:05:09 -0500 (CDT) Date: Fri, 3 Oct 2014 17:05:09 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 15/16] xfs: xfs_fs_geometry returns a number of bytes to copy Message-ID: <20141003220508.GO1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers The versioned xfs_fsop_geom_t will be of variable size. Make xfs_fs_geometry return the number of bytes to copy out to userspace for a given version of the structure. Signed-off-by: Ben Myers --- fs/xfs/xfs_fsops.c | 6 ++---- fs/xfs/xfs_fsops.h | 2 +- fs/xfs/xfs_ioctl.c | 6 ++++-- fs/xfs/xfs_ioctl32.c | 3 ++- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index b69468e..cf87e16 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -51,11 +51,9 @@ int xfs_fs_geometry( xfs_mount_t *mp, xfs_fsop_geom_v2_t *geo, - int new_version) + int new_version, + size_t *bytes) { - - memset(geo, 0, sizeof(*geo)); - geo->blocksize = mp->m_sb.sb_blocksize; geo->rtextsize = mp->m_sb.sb_rextsize; geo->agblocks = mp->m_sb.sb_agblocks; diff --git a/fs/xfs/xfs_fsops.h b/fs/xfs/xfs_fsops.h index 26e7343..74e1fee 100644 --- a/fs/xfs/xfs_fsops.h +++ b/fs/xfs/xfs_fsops.h @@ -19,7 +19,7 @@ #define __XFS_FSOPS_H__ extern int xfs_fs_geometry(xfs_mount_t *mp, xfs_fsop_geom_v2_t *geo, - int nversion); + int new_version, size_t *bytes); extern int xfs_growfs_data(xfs_mount_t *mp, xfs_growfs_data_t *in); extern int xfs_growfs_log(xfs_mount_t *mp, xfs_growfs_log_t *in); extern int xfs_fs_counts(xfs_mount_t *mp, xfs_fsop_counts_t *cnt); diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 4393405..1657ce5 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -826,7 +826,8 @@ xfs_ioc_fsgeometry_v1( xfs_fsop_geom_v2_t fsgeo; int error; - error = xfs_fs_geometry(mp, &fsgeo, 3); + memset(&fsgeo, 0, sizeof(fsgeo)); + error = xfs_fs_geometry(mp, &fsgeo, 3, NULL); if (error) return error; @@ -848,7 +849,8 @@ xfs_ioc_fsgeometry_v2( xfs_fsop_geom_v2_t fsgeo; int error; - error = xfs_fs_geometry(mp, &fsgeo, 4); + memset(&fsgeo, 0, sizeof(fsgeo)); + error = xfs_fs_geometry(mp, &fsgeo, 4, NULL); if (error) return error; diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index 207b224..aca988a 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -67,7 +67,8 @@ xfs_compat_ioc_fsgeometry_v1( xfs_fsop_geom_v2_t fsgeo; int error; - error = xfs_fs_geometry(mp, &fsgeo, 3); + memset(&fsgeo, 0, sizeof(fsgeo)); + error = xfs_fs_geometry(mp, &fsgeo, 3, NULL); if (error) return error; /* The 32-bit variant simply has some padding at the end */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:05: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=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 0C8D47F37 for ; Fri, 3 Oct 2014 17:05:47 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id DFD578F804C; Fri, 3 Oct 2014 15:05:46 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id A069C4266DC; Fri, 3 Oct 2014 17:05:46 -0500 (CDT) Date: Fri, 3 Oct 2014 17:05:46 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 16/16] xfs: add versioned fsgeom ioctl with utf8version field Message-ID: <20141003220546.GP1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers This adds a utf8version field to the xfs_fs_geom structure. An important characteristic of this version of the ioctl is that fsgeo.version needs to be set by the caller to specify which version of the structure to return. Signed-off-by: Ben Myers --- fs/xfs/xfs_fs.h | 31 +++++++++++++++++++++++++++++++ fs/xfs/xfs_fsops.c | 13 ++++++++++++- fs/xfs/xfs_fsops.h | 2 +- fs/xfs/xfs_ioctl.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 75 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index fd45cbe..2f4d430 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -206,6 +206,34 @@ typedef struct xfs_fsop_geom_v2 { __u32 logsunit; /* log stripe unit, bytes */ } xfs_fsop_geom_v2_t; +/* + * Output for XFS_IOC_FSGEOMETRY + */ +typedef struct xfs_fsop_geom { + __u32 blocksize; /* filesystem (data) block size */ + __u32 rtextsize; /* realtime extent size */ + __u32 agblocks; /* fsblocks in an AG */ + __u32 agcount; /* number of allocation groups */ + __u32 logblocks; /* fsblocks in the log */ + __u32 sectsize; /* (data) sector size, bytes */ + __u32 inodesize; /* inode size in bytes */ + __u32 imaxpct; /* max allowed inode space(%) */ + __u64 datablocks; /* fsblocks in data subvolume */ + __u64 rtblocks; /* fsblocks in realtime subvol */ + __u64 rtextents; /* rt extents in realtime subvol*/ + __u64 logstart; /* starting fsblock of the log */ + unsigned char uuid[16]; /* unique id of the filesystem */ + __u32 sunit; /* stripe unit, fsblocks */ + __u32 swidth; /* stripe width, fsblocks */ + __s32 version; /* structure version */ + __u32 flags; /* superblock version flags */ + __u32 logsectsize; /* log sector size, bytes */ + __u32 rtsectsize; /* realtime sector size, bytes */ + __u32 dirblocksize; /* directory block size, bytes */ + __u32 logsunit; /* log stripe unit, bytes */ + __u32 utf8version; /* Unicode version */ +} xfs_fsop_geom_t; + /* Output for XFS_FS_COUNTS */ typedef struct xfs_fsop_counts { __u64 freedata; /* free data section blocks */ @@ -221,6 +249,8 @@ typedef struct xfs_fsop_resblks { } xfs_fsop_resblks_t; #define XFS_FSOP_GEOM_VERSION 0 +/* skipped 1-4 to match existing new_version xfs_fs_geometry argument */ +#define XFS_FSOP_GEOM_VERSION5 5 #define XFS_FSOP_GEOM_FLAGS_ATTR 0x0001 /* attributes in use */ #define XFS_FSOP_GEOM_FLAGS_NLINK 0x0002 /* 32-bit nlink values */ @@ -557,6 +587,7 @@ typedef struct xfs_swapext #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) #define XFS_IOC_FSGEOMETRY_V2 _IOR ('X', 124, struct xfs_fsop_geom_v2) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) +#define XFS_IOC_FSGEOMETRY _IOR ('X', 126, struct xfs_fsop_geom) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index cf87e16..d70acf8 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -50,10 +50,12 @@ int xfs_fs_geometry( xfs_mount_t *mp, - xfs_fsop_geom_v2_t *geo, + void *buffer, int new_version, size_t *bytes) { + xfs_fsop_geom_t *geo = (xfs_fsop_geom_t *)buffer; + geo->blocksize = mp->m_sb.sb_blocksize; geo->rtextsize = mp->m_sb.sb_rextsize; geo->agblocks = mp->m_sb.sb_agblocks; @@ -115,6 +117,15 @@ xfs_fs_geometry( XFS_FSOP_GEOM_FLAGS_LOGV2 : 0); geo->logsunit = mp->m_sb.sb_logsunit; } + if (new_version >= XFS_FSOP_GEOM_VERSION5) { + geo->version = XFS_FSOP_GEOM_VERSION5; + geo->flags |= (xfs_sb_version_hasutf8(&mp->m_sb) ? + XFS_FSOP_GEOM_FLAGS_UTF8 : 0); + geo->utf8version = mp->m_sb.sb_utf8version; + if (bytes) + *bytes = sizeof(xfs_fsop_geom_v2_t) + + sizeof(geo->utf8version); + } return 0; } diff --git a/fs/xfs/xfs_fsops.h b/fs/xfs/xfs_fsops.h index 74e1fee..b723f36 100644 --- a/fs/xfs/xfs_fsops.h +++ b/fs/xfs/xfs_fsops.h @@ -18,7 +18,7 @@ #ifndef __XFS_FSOPS_H__ #define __XFS_FSOPS_H__ -extern int xfs_fs_geometry(xfs_mount_t *mp, xfs_fsop_geom_v2_t *geo, +extern int xfs_fs_geometry(xfs_mount_t *mp, void *buffer, int new_version, size_t *bytes); extern int xfs_growfs_data(xfs_mount_t *mp, xfs_growfs_data_t *in); extern int xfs_growfs_log(xfs_mount_t *mp, xfs_growfs_log_t *in); diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 1657ce5..6308680 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -859,6 +859,34 @@ xfs_ioc_fsgeometry_v2( return 0; } +STATIC int +xfs_ioc_fsgeometry( + struct xfs_mount *mp, + void __user *arg) +{ + xfs_fsop_geom_t fsgeo; + int version, error; + size_t bytes; + + /* offsetof(version)? XXX just get 32 bits? */ + if (copy_from_user(&fsgeo, arg, sizeof(xfs_fsop_geom_v1_t))) + return -EFAULT; + + version = fsgeo.version; + + if (version < XFS_FSOP_GEOM_VERSION5) + return -EINVAL; + + memset(&fsgeo, 0, sizeof(fsgeo)); + error = xfs_fs_geometry(mp, &fsgeo, version, &bytes); + if (error) + return error; + + if (copy_to_user(arg, &fsgeo, bytes)) + return -EFAULT; + return 0; +} + /* * Linux extended inode flags interface. */ @@ -1569,6 +1597,9 @@ xfs_file_ioctl( case XFS_IOC_FSGEOMETRY_V2: return xfs_ioc_fsgeometry_v2(mp, arg); + case XFS_IOC_FSGEOMETRY: + return xfs_ioc_fsgeometry(mp, arg); + case XFS_IOC_GETVERSION: return put_user(inode->i_generation, (int __user *)arg); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:06: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BEE907F37 for ; Fri, 3 Oct 2014 17:06:31 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3F73EAC008; Fri, 3 Oct 2014 15:06:31 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id E590A4266DE; Fri, 3 Oct 2014 17:06:30 -0500 (CDT) Date: Fri, 3 Oct 2014 17:06:30 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 17/35] xfsprogs: add unicode character database files Message-ID: <20141003220630.GQ1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Add files from the Unicode Character Database, version 7.0.0, to the source. A helper program that generates a trie used for normalization from these files is part of a separate commit. Signed-off-by: Olaf Weber [v2: moved from support to utf8norm/ucd -bpm] --- utf8norm/ucd/README | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 utf8norm/ucd/README diff --git a/utf8norm/ucd/README b/utf8norm/ucd/README new file mode 100644 index 0000000..d713e66 --- /dev/null +++ b/utf8norm/ucd/README @@ -0,0 +1,33 @@ +The files in this directory are part of the Unicode Character Database +for version 7.0.0 of the Unicode standard. + +The full set of files can be found here: + + http://www.unicode.org/Public/7.0.0/ucd/ + +The latest released version of the UCD can be found here: + + http://www.unicode.org/Public/UCD/latest/ + +The files in this directory are identical, except that they have been +renamed with a suffix indicating the unicode version. + +Individual source links: + + http://www.unicode.org/Public/7.0.0/ucd/CaseFolding.txt + http://www.unicode.org/Public/7.0.0/ucd/DerivedAge.txt + http://www.unicode.org/Public/7.0.0/ucd/extracted/DerivedCombiningClass.txt + http://www.unicode.org/Public/7.0.0/ucd/DerivedCoreProperties.txt + http://www.unicode.org/Public/7.0.0/ucd/NormalizationCorrections.txt + http://www.unicode.org/Public/7.0.0/ucd/NormalizationTest.txt + http://www.unicode.org/Public/7.0.0/ucd/UnicodeData.txt + +md5sums + + 9a92b2bfe56c6719def926bab524fefd CaseFolding-7.0.0.txt + 07b8b1027eb824cf0835314e94f23d2e DerivedAge-7.0.0.txt + 90c3340b16821e2f2153acdbe6fc6180 DerivedCombiningClass-7.0.0.txt + c41c0601f808116f623de47110ed4f93 DerivedCoreProperties-7.0.0.txt + 522720ddfc150d8e63a2518634829bce NormalizationCorrections-7.0.0.txt + 1f35175eba4a2ad795db489f789ae352 NormalizationTest-7.0.0.txt + c8355655731d75e6a3de8c20d7e601ba UnicodeData-7.0.0.txt -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:07: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=RP_MATCHES_RCVD, T_FILL_THIS_FORM_SHORT 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 34E8E7F55 for ; Fri, 3 Oct 2014 17:07:09 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id E5E5E8F804C; Fri, 3 Oct 2014 15:07:08 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 6C8CB4266DC; Fri, 3 Oct 2014 17:07:08 -0500 (CDT) Date: Fri, 3 Oct 2014 17:07:08 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 18/35] xfsprogs: add trie generator for UTF-8. Message-ID: <20141003220708.GR1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber mkutf8data.c is the source for a program that generates utf8data.h, which contains the trie that utf8norm.c uses. The trie is generated from the Unicode 7.0.0 data files. The format of the utf8data[] table is described in utf8norm.c, which is added in the next patch. Signed-off-by: Olaf Weber [v2: moved to utf8norm directory. -bpm] --- Makefile | 2 +- utf8norm/Makefile | 24 + utf8norm/mkutf8data.c | 3239 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 3264 insertions(+), 1 deletion(-) create mode 100644 utf8norm/Makefile create mode 100644 utf8norm/mkutf8data.c diff --git a/Makefile b/Makefile index f56aebd..74778b5 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ LDIRDIRT = $(SRCDIR) LDIRT += $(SRCTAR) endif -LIB_SUBDIRS = libxfs libxlog libxcmd libhandle libdisk +LIB_SUBDIRS = utf8norm libxfs libxlog libxcmd libhandle libdisk TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \ mdrestore repair rtcp m4 man doc po debian diff --git a/utf8norm/Makefile b/utf8norm/Makefile new file mode 100644 index 0000000..a32660e --- /dev/null +++ b/utf8norm/Makefile @@ -0,0 +1,24 @@ +# +# Copyright (c) 2014 SGI. All Rights Reserved. +# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +default = ../include/utf8data.h + +../include/utf8data.h: mkutf8data.c + cc -o mkutf8data mkutf8data.c + cd ucd; ../mkutf8data + mv ucd/utf8data.h ../include + +default clean: + rm -f mkutf8data ../include/utf8data.h + +default install: + +default install-dev: + +default install-qa: + +-include .ltdep diff --git a/utf8norm/mkutf8data.c b/utf8norm/mkutf8data.c new file mode 100644 index 0000000..1d6ec02 --- /dev/null +++ b/utf8norm/mkutf8data.c @@ -0,0 +1,3239 @@ +/* + * Copyright (c) 2014 SGI. + * 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 + */ + +/* Generator for a compact trie for unicode normalization */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Default names of the in- and output files. */ + +#define AGE_NAME "DerivedAge.txt" +#define CCC_NAME "DerivedCombiningClass.txt" +#define PROP_NAME "DerivedCoreProperties.txt" +#define DATA_NAME "UnicodeData.txt" +#define FOLD_NAME "CaseFolding.txt" +#define NORM_NAME "NormalizationCorrections.txt" +#define TEST_NAME "NormalizationTest.txt" +#define UTF8_NAME "utf8data.h" + +const char *age_name = AGE_NAME; +const char *ccc_name = CCC_NAME; +const char *prop_name = PROP_NAME; +const char *data_name = DATA_NAME; +const char *fold_name = FOLD_NAME; +const char *norm_name = NORM_NAME; +const char *test_name = TEST_NAME; +const char *utf8_name = UTF8_NAME; + +int verbose = 0; + +/* An arbitrary line size limit on input lines. */ + +#define LINESIZE 1024 +char line[LINESIZE]; +char buf0[LINESIZE]; +char buf1[LINESIZE]; +char buf2[LINESIZE]; +char buf3[LINESIZE]; + +const char *argv0; + +/* ------------------------------------------------------------------ */ + +/* + * Unicode version numbers consist of three parts: major, minor, and a + * revision. These numbers are packed into an unsigned int to obtain + * a single version number. + * + * To save space in the generated trie, the unicode version is not + * stored directly, instead we calculate a generation number from the + * unicode versions seen in the DerivedAge file, and use that as an + * index into a table of unicode versions. + */ +#define UNICODE_MAJ_SHIFT (16) +#define UNICODE_MIN_SHIFT (8) + +#define UNICODE_MAJ_MAX ((unsigned short)-1) +#define UNICODE_MIN_MAX ((unsigned char)-1) +#define UNICODE_REV_MAX ((unsigned char)-1) + +#define UNICODE_AGE(MAJ,MIN,REV) \ + (((unsigned int)(MAJ) << UNICODE_MAJ_SHIFT) | \ + ((unsigned int)(MIN) << UNICODE_MIN_SHIFT) | \ + ((unsigned int)(REV))) + +unsigned int *ages; +int ages_count; + +unsigned int unicode_maxage; + +static int +age_valid(unsigned int major, unsigned int minor, unsigned int revision) +{ + if (major > UNICODE_MAJ_MAX) + return 0; + if (minor > UNICODE_MIN_MAX) + return 0; + if (revision > UNICODE_REV_MAX) + return 0; + return 1; +} + +/* ------------------------------------------------------------------ */ + +/* + * utf8trie_t + * + * A compact binary tree, used to decode UTF-8 characters. + * + * Internal nodes are one byte for the node itself, and up to three + * bytes for an offset into the tree. The first byte contains the + * following information: + * NEXTBYTE - flag - advance to next byte if set + * BITNUM - 3 bit field - the bit number to tested + * OFFLEN - 2 bit field - number of bytes in the offset + * if offlen == 0 (non-branching node) + * RIGHTPATH - 1 bit field - set if the following node is for the + * right-hand path (tested bit is set) + * TRIENODE - 1 bit field - set if the following node is an internal + * node, otherwise it is a leaf node + * if offlen != 0 (branching node) + * LEFTNODE - 1 bit field - set if the left-hand node is internal + * RIGHTNODE - 1 bit field - set if the right-hand node is internal + * + * Due to the way utf8 works, there cannot be branching nodes with + * NEXTBYTE set, and moreover those nodes always have a righthand + * descendant. + */ +typedef unsigned char utf8trie_t; +#define BITNUM 0x07 +#define NEXTBYTE 0x08 +#define OFFLEN 0x30 +#define OFFLEN_SHIFT 4 +#define RIGHTPATH 0x40 +#define TRIENODE 0x80 +#define RIGHTNODE 0x40 +#define LEFTNODE 0x80 + +/* + * utf8leaf_t + * + * The leaves of the trie are embedded in the trie, and so the same + * underlying datatype, unsigned char. + * + * leaf[0]: The unicode version, stored as a generation number that is + * an index into utf8agetab[]. With this we can filter code + * points based on the unicode version in which they were + * defined. The CCC of a non-defined code point is 0. + * leaf[1]: Canonical Combining Class. During normalization, we need + * to do a stable sort into ascending order of all characters + * with a non-zero CCC that occur between two characters with + * a CCC of 0, or at the begin or end of a string. + * The unicode standard guarantees that all CCC values are + * between 0 and 254 inclusive, which leaves 255 available as + * a special value. + * Code points with CCC 0 are known as stoppers. + * leaf[2]: Decomposition. If leaf[1] == 255, then leaf[2] is the + * start of a NUL-terminated string that is the decomposition + * of the character. + * The CCC of a decomposable character is the same as the CCC + * of the first character of its decomposition. + * Some characters decompose as the empty string: these are + * characters with the Default_Ignorable_Code_Point property. + * These do affect normalization, as they all have CCC 0. + * + * The decompositions in the trie have been fully expanded. + * + * Casefolding, if applicable, is also done using decompositions. + */ +typedef unsigned char utf8leaf_t; + +#define LEAF_GEN(LEAF) ((LEAF)[0]) +#define LEAF_CCC(LEAF) ((LEAF)[1]) +#define LEAF_STR(LEAF) ((const char*)((LEAF) + 2)) + +#define MAXGEN (255) + +#define MINCCC (0) +#define MAXCCC (254) +#define STOPPER (0) +#define DECOMPOSE (255) + +struct tree; +static utf8leaf_t *utf8nlookup(struct tree *, const char *, size_t); +static utf8leaf_t *utf8lookup(struct tree *, const char *); + +unsigned char *utf8data; +size_t utf8data_size; + +utf8trie_t *nfkdi; +utf8trie_t *nfkdicf; + +/* ------------------------------------------------------------------ */ + +/* + * UTF8 valid ranges. + * + * The UTF-8 encoding spreads the bits of a 32bit word over several + * bytes. This table gives the ranges that can be held and how they'd + * be represented. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000000 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000000 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * There is an additional requirement on UTF-8, in that only the + * shortest representation of a 32bit value is to be used. A decoder + * must not decode sequences that do not satisfy this requirement. + * Thus the allowed ranges have a lower bound. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000080 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000800 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00010000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00200000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x04000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Actual unicode characters are limited to the range 0x0 - 0x10FFFF, + * 17 planes of 65536 values. This limits the sequences actually seen + * even more, to just the following. + * + * 0 - 0x7f: 0 0x7f + * 0x80 - 0x7ff: 0xc2 0x80 0xdf 0xbf + * 0x800 - 0xffff: 0xe0 0xa0 0x80 0xef 0xbf 0xbf + * 0x10000 - 0x10ffff: 0xf0 0x90 0x80 0x80 0xf4 0x8f 0xbf 0xbf + * + * Even within those ranges not all values are allowed: the surrogates + * 0xd800 - 0xdfff should never be seen. + * + * Note that the longest sequence seen with valid usage is 4 bytes, + * the same a single UTF-32 character. This makes the UTF-8 + * representation of Unicode strictly smaller than UTF-32. + * + * The shortest sequence requirement was introduced by: + * Corrigendum #1: UTF-8 Shortest Form + * It can be found here: + * http://www.unicode.org/versions/corrigendum1.html + * + */ + +#define UTF8_2_BITS 0xC0 +#define UTF8_3_BITS 0xE0 +#define UTF8_4_BITS 0xF0 +#define UTF8_N_BITS 0x80 +#define UTF8_2_MASK 0xE0 +#define UTF8_3_MASK 0xF0 +#define UTF8_4_MASK 0xF8 +#define UTF8_N_MASK 0xC0 +#define UTF8_V_MASK 0x3F +#define UTF8_V_SHIFT 6 + +static int +utf8key(unsigned int key, char keyval[]) +{ + int keylen; + + if (key < 0x80) { + keyval[0] = key; + keylen = 1; + } else if (key < 0x800) { + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_2_BITS; + keylen = 2; + } else if (key < 0x10000) { + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_3_BITS; + keylen = 3; + } else if (key < 0x110000) { + keyval[3] = key & UTF8_V_MASK; + keyval[3] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_4_BITS; + keylen = 4; + } else { + printf("%#x: illegal key\n", key); + keylen = 0; + } + return keylen; +} + +static unsigned int +utf8code(const char *str) +{ + const unsigned char *s = (const unsigned char*)str; + unsigned int unichar = 0; + + if (*s < 0x80) { + unichar = *s; + } else if (*s < UTF8_3_BITS) { + unichar = *s++ & 0x1F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else if (*s < UTF8_4_BITS) { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } + return unichar; +} + +static int +utf32valid(unsigned int unichar) +{ + return unichar < 0x110000; +} + +#define NODE 1 +#define LEAF 0 + +struct tree { + void *root; + int childnode; + const char *type; + unsigned int maxage; + struct tree *next; + int (*leaf_equal)(void *, void *); + void (*leaf_print)(void *, int); + int (*leaf_mark)(void *); + int (*leaf_size)(void *); + int *(*leaf_index)(struct tree *, void *); + unsigned char *(*leaf_emit)(void *, unsigned char *); + int leafindex[0x110000]; + int index; +}; + +struct node { + int index; + int offset; + int mark; + int size; + struct node *parent; + void *left; + void *right; + unsigned char bitnum; + unsigned char nextbyte; + unsigned char leftnode; + unsigned char rightnode; + unsigned int keybits; + unsigned int keymask; +}; + +/* + * Example lookup function for a tree. + */ +static void * +lookup(struct tree *tree, const char *key) +{ + struct node *node; + void *leaf = NULL; + + node = tree->root; + while (!leaf && node) { + if (node->nextbyte) + key++; + if (*key & (1 << (node->bitnum & 7))) { + /* Right leg */ + if (node->rightnode == NODE) { + node = node->right; + } else if (node->rightnode == LEAF) { + leaf = node->right; + } else { + node = NULL; + } + } else { + /* Left leg */ + if (node->leftnode == NODE) { + node = node->left; + } else if (node->leftnode == LEAF) { + leaf = node->left; + } else { + node = NULL; + } + } + } + + return leaf; +} + +/* + * A simple non-recursive tree walker: keep track of visits to the + * left and right branches in the leftmask and rightmask. + */ +static void +tree_walk(struct tree *tree) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int indent = 1; + int nodes, singletons, leaves; + + nodes = singletons = leaves = 0; + + printf("%s_%x root %p\n", tree->type, tree->maxage, tree->root); + if (tree->childnode == LEAF) { + assert(tree->root); + tree->leaf_print(tree->root, indent); + leaves = 1; + } else { + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + printf("%*snode @ %p bitnum %d nextbyte %d" + " left %p right %p mask %x bits %x\n", + indent, "", node, + node->bitnum, node->nextbyte, + node->left, node->right, + node->keymask, node->keybits); + nodes += 1; + if (!(node->left && node->right)) + singletons += 1; + + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + tree->leaf_print(node->left, + indent+1); + leaves += 1; + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + tree->leaf_print(node->right, + indent+1); + leaves += 1; + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } + } + printf("nodes %d leaves %d singletons %d\n", + nodes, leaves, singletons); +} + +/* + * Allocate an initialize a new internal node. + */ +static struct node * +alloc_node(struct node *parent) +{ + struct node *node; + int bitnum; + + node = malloc(sizeof(*node)); + node->left = node->right = NULL; + node->parent = parent; + node->leftnode = NODE; + node->rightnode = NODE; + node->keybits = 0; + node->keymask = 0; + node->mark = 0; + node->index = 0; + node->offset = -1; + node->size = 4; + + if (node->parent) { + bitnum = parent->bitnum; + if ((bitnum & 7) == 0) { + node->bitnum = bitnum + 7 + 8; + node->nextbyte = 1; + } else { + node->bitnum = bitnum - 1; + node->nextbyte = 0; + } + } else { + node->bitnum = 7; + node->nextbyte = 0; + } + + return node; +} + +/* + * Insert a new leaf into the tree, and collapse any subtrees that are + * fully populated and end in identical leaves. A nextbyte tagged + * internal node will not be removed to preserve the tree's integrity. + * Note that due to the structure of utf8, no nextbyte tagged node + * will be a candidate for removal. + */ +static int +insert(struct tree *tree, char *key, int keylen, void *leaf) +{ + struct node *node; + struct node *parent; + void **cursor; + int keybits; + + assert(keylen >= 1 && keylen <= 4); + + node = NULL; + cursor = &tree->root; + keybits = 8 * keylen; + + /* Insert, creating path along the way. */ + while (keybits) { + if (!*cursor) + *cursor = alloc_node(node); + node = *cursor; + if (node->nextbyte) + key++; + if (*key & (1 << (node->bitnum & 7))) + cursor = &node->right; + else + cursor = &node->left; + keybits--; + } + *cursor = leaf; + + /* Merge subtrees if possible. */ + while (node) { + if (*key & (1 << (node->bitnum & 7))) + node->rightnode = LEAF; + else + node->leftnode = LEAF; + if (node->nextbyte) + break; + if (node->leftnode == NODE || node->rightnode == NODE) + break; + assert(node->left); + assert(node->right); + /* Compare */ + if (! tree->leaf_equal(node->left, node->right)) + break; + /* Keep left, drop right leaf. */ + leaf = node->left; + /* Check in parent */ + parent = node->parent; + if (!parent) { + /* root of tree! */ + tree->root = leaf; + tree->childnode = LEAF; + } else if (parent->left == node) { + parent->left = leaf; + parent->leftnode = LEAF; + if (parent->right) { + parent->keymask = 0; + parent->keybits = 0; + } else { + parent->keymask |= (1 << node->bitnum); + } + } else if (parent->right == node) { + parent->right = leaf; + parent->rightnode = LEAF; + if (parent->left) { + parent->keymask = 0; + parent->keybits = 0; + } else { + parent->keymask |= (1 << node->bitnum); + parent->keybits |= (1 << node->bitnum); + } + } else { + /* internal tree error */ + assert(0); + } + free(node); + node = parent; + } + + /* Propagate keymasks up along singleton chains. */ + while (node) { + parent = node->parent; + if (!parent) + break; + /* Nix the mask for parents with two children. */ + if (node->keymask == 0) { + parent->keymask = 0; + parent->keybits = 0; + } else if (parent->left && parent->right) { + parent->keymask = 0; + parent->keybits = 0; + } else { + assert((parent->keymask & node->keymask) == 0); + parent->keymask |= node->keymask; + parent->keymask |= (1 << parent->bitnum); + parent->keybits |= node->keybits; + if (parent->right) + parent->keybits |= (1 << parent->bitnum); + } + node = parent; + } + + return 0; +} + +/* + * Prune internal nodes. + * + * Fully populated subtrees that end at the same leaf have already + * been collapsed. There are still internal nodes that have for both + * their left and right branches a sequence of singletons that make + * identical choices and end in identical leaves. The keymask and + * keybits collected in the nodes describe the choices made in these + * singleton chains. When they are identical for the left and right + * branch of a node, and the two leaves comare identical, the node in + * question can be removed. + * + * Note that nodes with the nextbyte tag set will not be removed by + * this to ensure tree integrity. Note as well that the structure of + * utf8 ensures that these nodes would not have been candidates for + * removal in any case. + */ +static void +prune(struct tree *tree) +{ + struct node *node; + struct node *left; + struct node *right; + struct node *parent; + void *leftleaf; + void *rightleaf; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int count; + + if (verbose > 0) + printf("Pruning %s_%x\n", tree->type, tree->maxage); + + count = 0; + if (tree->childnode == LEAF) + return; + if (!tree->root) + return; + + leftmask = rightmask = 0; + node = tree->root; + while (node) { + if (node->nextbyte) + goto advance; + if (node->leftnode == LEAF) + goto advance; + if (node->rightnode == LEAF) + goto advance; + if (!node->left) + goto advance; + if (!node->right) + goto advance; + left = node->left; + right = node->right; + if (left->keymask == 0) + goto advance; + if (right->keymask == 0) + goto advance; + if (left->keymask != right->keymask) + goto advance; + if (left->keybits != right->keybits) + goto advance; + leftleaf = NULL; + while (!leftleaf) { + assert(left->left || left->right); + if (left->leftnode == LEAF) + leftleaf = left->left; + else if (left->rightnode == LEAF) + leftleaf = left->right; + else if (left->left) + left = left->left; + else if (left->right) + left = left->right; + else + assert(0); + } + rightleaf = NULL; + while (!rightleaf) { + assert(right->left || right->right); + if (right->leftnode == LEAF) + rightleaf = right->left; + else if (right->rightnode == LEAF) + rightleaf = right->right; + else if (right->left) + right = right->left; + else if (right->right) + right = right->right; + else + assert(0); + } + if (! tree->leaf_equal(leftleaf, rightleaf)) + goto advance; + /* + * This node has identical singleton-only subtrees. + * Remove it. + */ + parent = node->parent; + left = node->left; + right = node->right; + if (parent->left == node) + parent->left = left; + else if (parent->right == node) + parent->right = left; + else + assert(0); + left->parent = parent; + left->keymask |= (1 << node->bitnum); + node->left = NULL; + while (node) { + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + if (node->leftnode == NODE && node->left) { + left = node->left; + free(node); + count++; + node = left; + } else if (node->rightnode == NODE && node->right) { + right = node->right; + free(node); + count++; + node = right; + } else { + node = NULL; + } + } + /* Propagate keymasks up along singleton chains. */ + node = parent; + /* Force re-check */ + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + for (;;) { + if (node->left && node->right) + break; + if (node->left) { + left = node->left; + node->keymask |= left->keymask; + node->keybits |= left->keybits; + } + if (node->right) { + right = node->right; + node->keymask |= right->keymask; + node->keybits |= right->keybits; + } + node->keymask |= (1 << node->bitnum); + node = node->parent; + /* Force re-check */ + bitmask = 1 << node->bitnum; + leftmask &= ~bitmask; + rightmask &= ~bitmask; + } + advance: + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0 && + node->leftnode == NODE && + node->left) { + leftmask |= bitmask; + node = node->left; + } else if ((rightmask & bitmask) == 0 && + node->rightnode == NODE && + node->right) { + rightmask |= bitmask; + node = node->right; + } else { + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } + } + if (verbose > 0) + printf("Pruned %d nodes\n", count); +} + +/* + * Mark the nodes in the tree that lead to leaves that must be + * emitted. + */ +static void +mark_nodes(struct tree *tree) +{ + struct node *node; + struct node *n; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int marked; + + marked = 0; + if (verbose > 0) + printf("Marking %s_%x\n", tree->type, tree->maxage); + if (tree->childnode == LEAF) + goto done; + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + if (tree->leaf_mark(node->left)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->left) { + assert(node->leftnode == NODE); + node = node->left; + continue; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + if (tree->leaf_mark(node->right)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->right) { + assert(node->rightnode==NODE); + node = node->right; + continue; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } + + /* second pass: left siblings and singletons */ + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + bitmask = 1 << node->bitnum; + if ((leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + if (tree->leaf_mark(node->left)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->left) { + assert(node->leftnode == NODE); + node = node->left; + if (!node->mark && node->parent->mark) { + marked++; + node->mark = 1; + } + continue; + } + } + if ((rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + if (tree->leaf_mark(node->right)) { + n = node; + while (n && !n->mark) { + marked++; + n->mark = 1; + n = n->parent; + } + } + } else if (node->right) { + assert(node->rightnode==NODE); + node = node->right; + if (!node->mark && node->parent->mark && + !node->parent->left) { + marked++; + node->mark = 1; + } + continue; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + } +done: + if (verbose > 0) + printf("Marked %d nodes\n", marked); +} + +/* + * Compute the index of each node and leaf, which is the offset in the + * emitted trie. These value must be pre-computed because relative + * offsets between nodes are used to navigate the tree. + */ +static int +index_nodes(struct tree *tree, int index) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int count; + int indent; + + /* Align to a cache line (or half a cache line?). */ + while (index % 64) + index++; + tree->index = index; + indent = 1; + count = 0; + + if (verbose > 0) + printf("Indexing %s_%x: %d", tree->type, tree->maxage, index); + if (tree->childnode == LEAF) { + index += tree->leaf_size(tree->root); + goto done; + } + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + count++; + if (node->index != index) + node->index = index; + index += node->size; +skip: + while (node) { + bitmask = 1 << node->bitnum; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + *tree->leaf_index(tree, node->left) = + index; + index += tree->leaf_size(node->left); + count++; + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + *tree->leaf_index(tree, node->right) = index; + index += tree->leaf_size(node->right); + count++; + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +done: + /* Round up to a multiple of 16 */ + while (index % 16) + index++; + if (verbose > 0) + printf("Final index %d\n", index); + return index; +} + +/* + * Compute the size of nodes and leaves. We start by assuming that + * each node needs to store a three-byte offset. The indexes of the + * nodes are calculated based on that, and then this function is + * called to see if the sizes of some nodes can be reduced. This is + * repeated until no more changes are seen. + */ +static int +size_nodes(struct tree *tree) +{ + struct tree *next; + struct node *node; + struct node *right; + struct node *n; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + unsigned int pathbits; + unsigned int pathmask; + int changed; + int offset; + int size; + int indent; + + indent = 1; + changed = 0; + size = 0; + + if (verbose > 0) + printf("Sizing %s_%x", tree->type, tree->maxage); + if (tree->childnode == LEAF) + goto done; + + assert(tree->childnode == NODE); + pathbits = 0; + pathmask = 0; + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + offset = 0; + if (!node->left || !node->right) { + size = 1; + } else { + if (node->rightnode == NODE) { + right = node->right; + next = tree->next; + while (!right->mark) { + assert(next); + n = next->root; + while (n->bitnum != node->bitnum) { + if (pathbits & (1<bitnum)) + n = n->right; + else + n = n->left; + } + n = n->right; + assert(right->bitnum == n->bitnum); + right = n; + next = next->next; + } + offset = right->index - node->index; + } else { + offset = *tree->leaf_index(tree, node->right); + offset -= node->index; + } + assert(offset >= 0); + assert(offset <= 0xffffff); + if (offset <= 0xff) { + size = 2; + } else if (offset <= 0xffff) { + size = 3; + } else { /* offset <= 0xffffff */ + size = 4; + } + } + if (node->size != size || node->offset != offset) { + node->size = size; + node->offset = offset; + changed++; + } +skip: + while (node) { + bitmask = 1 << node->bitnum; + pathmask |= bitmask; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + pathbits |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + pathmask &= ~bitmask; + pathbits &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +done: + if (verbose > 0) + printf("Found %d changes\n", changed); + return changed; +} + +/* + * Emit a trie for the given tree into the data array. + */ +static void +emit(struct tree *tree, unsigned char *data) +{ + struct node *node; + unsigned int leftmask; + unsigned int rightmask; + unsigned int bitmask; + int offlen; + int offset; + int index; + int indent; + unsigned char byte; + + index = tree->index; + data += index; + indent = 1; + if (verbose > 0) + printf("Emitting %s_%x\n", tree->type, tree->maxage); + if (tree->childnode == LEAF) { + assert(tree->root); + tree->leaf_emit(tree->root, data); + return; + } + + assert(tree->childnode == NODE); + node = tree->root; + leftmask = rightmask = 0; + while (node) { + if (!node->mark) + goto skip; + assert(node->offset != -1); + assert(node->index == index); + + byte = 0; + if (node->nextbyte) + byte |= NEXTBYTE; + byte |= (node->bitnum & BITNUM); + if (node->left && node->right) { + if (node->leftnode == NODE) + byte |= LEFTNODE; + if (node->rightnode == NODE) + byte |= RIGHTNODE; + if (node->offset <= 0xff) + offlen = 1; + else if (node->offset <= 0xffff) + offlen = 2; + else + offlen = 3; + offset = node->offset; + byte |= offlen << OFFLEN_SHIFT; + *data++ = byte; + index++; + while (offlen--) { + *data++ = offset & 0xff; + index++; + offset >>= 8; + } + } else if (node->left) { + if (node->leftnode == NODE) + byte |= TRIENODE; + *data++ = byte; + index++; + } else if (node->right) { + byte |= RIGHTNODE; + if (node->rightnode == NODE) + byte |= TRIENODE; + *data++ = byte; + index++; + } else { + assert(0); + } +skip: + while (node) { + bitmask = 1 << node->bitnum; + if (node->mark && (leftmask & bitmask) == 0) { + leftmask |= bitmask; + if (node->leftnode == LEAF) { + assert(node->left); + data = tree->leaf_emit(node->left, + data); + index += tree->leaf_size(node->left); + } else if (node->left) { + assert(node->leftnode == NODE); + indent += 1; + node = node->left; + break; + } + } + if (node->mark && (rightmask & bitmask) == 0) { + rightmask |= bitmask; + if (node->rightnode == LEAF) { + assert(node->right); + data = tree->leaf_emit(node->right, + data); + index += tree->leaf_size(node->right); + } else if (node->right) { + assert(node->rightnode==NODE); + indent += 1; + node = node->right; + break; + } + } + leftmask &= ~bitmask; + rightmask &= ~bitmask; + node = node->parent; + indent -= 1; + } + } +} + +/* ------------------------------------------------------------------ */ + +/* + * Unicode data. + * + * We need to keep track of the Canonical Combining Class, the Age, + * and decompositions for a code point. + * + * For the Age, we store the index into the ages table. Effectively + * this is a generation number that the table maps to a unicode + * version. + * + * The correction field is used to indicate that this entry is in the + * corrections array, which contains decompositions that were + * corrected in later revisions. The value of the correction field is + * the Unicode version in which the mapping was corrected. + */ +struct unicode_data { + unsigned int code; + int ccc; + int gen; + int correction; + unsigned int *utf32nfkdi; + unsigned int *utf32nfkdicf; + char *utf8nfkdi; + char *utf8nfkdicf; +}; + +struct unicode_data unicode_data[0x110000]; +struct unicode_data *corrections; +int corrections_count; + +struct tree *nfkdi_tree; +struct tree *nfkdicf_tree; + +struct tree *trees; +int trees_count; + +/* + * Check the corrections array to see if this entry was corrected at + * some point. + */ +static struct unicode_data * +corrections_lookup(struct unicode_data *u) +{ + int i; + + for (i = 0; i != corrections_count; i++) + if (u->code == corrections[i].code) + return &corrections[i]; + return u; +} + +static int +nfkdi_equal(void *l, void *r) +{ + struct unicode_data *left = l; + struct unicode_data *right = r; + + if (left->gen != right->gen) + return 0; + if (left->ccc != right->ccc) + return 0; + if (left->utf8nfkdi && right->utf8nfkdi && + strcmp(left->utf8nfkdi, right->utf8nfkdi) == 0) + return 1; + if (left->utf8nfkdi || right->utf8nfkdi) + return 0; + return 1; +} + +static int +nfkdicf_equal(void *l, void *r) +{ + struct unicode_data *left = l; + struct unicode_data *right = r; + + if (left->gen != right->gen) + return 0; + if (left->ccc != right->ccc) + return 0; + if (left->utf8nfkdicf && right->utf8nfkdicf && + strcmp(left->utf8nfkdicf, right->utf8nfkdicf) == 0) + return 1; + if (left->utf8nfkdicf && right->utf8nfkdicf) + return 0; + if (left->utf8nfkdicf || right->utf8nfkdicf) + return 0; + if (left->utf8nfkdi && right->utf8nfkdi && + strcmp(left->utf8nfkdi, right->utf8nfkdi) == 0) + return 1; + if (left->utf8nfkdi || right->utf8nfkdi) + return 0; + return 1; +} + +static void +nfkdi_print(void *l, int indent) +{ + struct unicode_data *leaf = l; + + printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, + leaf->code, leaf->ccc, leaf->gen); + if (leaf->utf8nfkdi) + printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); + printf("\n"); +} + +static void +nfkdicf_print(void *l, int indent) +{ + struct unicode_data *leaf = l; + + printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, + leaf->code, leaf->ccc, leaf->gen); + if (leaf->utf8nfkdicf) + printf(" nfkdicf \"%s\"", (const char*)leaf->utf8nfkdicf); + else if (leaf->utf8nfkdi) + printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); + printf("\n"); +} + +static int +nfkdi_mark(void *l) +{ + return 1; +} + +static int +nfkdicf_mark(void *l) +{ + struct unicode_data *leaf = l; + + if (leaf->utf8nfkdicf) + return 1; + return 0; +} + +static int +correction_mark(void *l) +{ + struct unicode_data *leaf = l; + + return leaf->correction; +} + +static int +nfkdi_size(void *l) +{ + struct unicode_data *leaf = l; + + int size = 2; + if (leaf->utf8nfkdi) + size += strlen(leaf->utf8nfkdi) + 1; + return size; +} + +static int +nfkdicf_size(void *l) +{ + struct unicode_data *leaf = l; + + int size = 2; + if (leaf->utf8nfkdicf) + size += strlen(leaf->utf8nfkdicf) + 1; + else if (leaf->utf8nfkdi) + size += strlen(leaf->utf8nfkdi) + 1; + return size; +} + +static int * +nfkdi_index(struct tree *tree, void *l) +{ + struct unicode_data *leaf = l; + + return &tree->leafindex[leaf->code]; +} + +static int * +nfkdicf_index(struct tree *tree, void *l) +{ + struct unicode_data *leaf = l; + + return &tree->leafindex[leaf->code]; +} + +static unsigned char * +nfkdi_emit(void *l, unsigned char *data) +{ + struct unicode_data *leaf = l; + unsigned char *s; + + *data++ = leaf->gen; + if (leaf->utf8nfkdi) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdi; + while ((*data++ = *s++) != 0) + ; + } else { + *data++ = leaf->ccc; + } + return data; +} + +static unsigned char * +nfkdicf_emit(void *l, unsigned char *data) +{ + struct unicode_data *leaf = l; + unsigned char *s; + + *data++ = leaf->gen; + if (leaf->utf8nfkdicf) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdicf; + while ((*data++ = *s++) != 0) + ; + } else if (leaf->utf8nfkdi) { + *data++ = DECOMPOSE; + s = (unsigned char*)leaf->utf8nfkdi; + while ((*data++ = *s++) != 0) + ; + } else { + *data++ = leaf->ccc; + } + return data; +} + +static void +utf8_create(struct unicode_data *data) +{ + char utf[18*4+1]; + char *u; + unsigned int *um; + int i; + + u = utf; + um = data->utf32nfkdi; + if (um) { + for (i = 0; um[i]; i++) + u += utf8key(um[i], u); + *u = '\0'; + data->utf8nfkdi = strdup((char*)utf); + } + u = utf; + um = data->utf32nfkdicf; + if (um) { + for (i = 0; um[i]; i++) + u += utf8key(um[i], u); + *u = '\0'; + if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, (char*)utf)) + data->utf8nfkdicf = strdup((char*)utf); + } +} + +static void +utf8_init(void) +{ + unsigned int unichar; + int i; + + for (unichar = 0; unichar != 0x110000; unichar++) + utf8_create(&unicode_data[unichar]); + + for (i = 0; i != corrections_count; i++) + utf8_create(&corrections[i]); +} + +static void +trees_init(void) +{ + struct unicode_data *data; + unsigned int maxage; + unsigned int nextage; + int count; + int i; + int j; + + /* Count the number of different ages. */ + count = 0; + nextage = (unsigned int)-1; + do { + maxage = nextage; + nextage = 0; + for (i = 0; i <= corrections_count; i++) { + data = &corrections[i]; + if (nextage < data->correction && + data->correction < maxage) + nextage = data->correction; + } + count++; + } while (nextage); + + /* Two trees per age: nfkdi and nfkdicf */ + trees_count = count * 2; + trees = calloc(trees_count, sizeof(struct tree)); + + /* Assign ages to the trees. */ + count = trees_count; + nextage = (unsigned int)-1; + do { + maxage = nextage; + trees[--count].maxage = maxage; + trees[--count].maxage = maxage; + nextage = 0; + for (i = 0; i <= corrections_count; i++) { + data = &corrections[i]; + if (nextage < data->correction && + data->correction < maxage) + nextage = data->correction; + } + } while (nextage); + + /* The ages assigned above are off by one. */ + for (i = 0; i != trees_count; i++) { + j = 0; + while (ages[j] < trees[i].maxage) + j++; + trees[i].maxage = ages[j-1]; + } + + /* Set up the forwarding between trees. */ + trees[trees_count-2].next = &trees[trees_count-1]; + trees[trees_count-1].leaf_mark = nfkdi_mark; + trees[trees_count-2].leaf_mark = nfkdicf_mark; + for (i = 0; i != trees_count-2; i += 2) { + trees[i].next = &trees[trees_count-2]; + trees[i].leaf_mark = correction_mark; + trees[i+1].next = &trees[trees_count-1]; + trees[i+1].leaf_mark = correction_mark; + } + + /* Assign the callouts. */ + for (i = 0; i != trees_count; i += 2) { + trees[i].type = "nfkdicf"; + trees[i].leaf_equal = nfkdicf_equal; + trees[i].leaf_print = nfkdicf_print; + trees[i].leaf_size = nfkdicf_size; + trees[i].leaf_index = nfkdicf_index; + trees[i].leaf_emit = nfkdicf_emit; + + trees[i+1].type = "nfkdi"; + trees[i+1].leaf_equal = nfkdi_equal; + trees[i+1].leaf_print = nfkdi_print; + trees[i+1].leaf_size = nfkdi_size; + trees[i+1].leaf_index = nfkdi_index; + trees[i+1].leaf_emit = nfkdi_emit; + } + + /* Finish init. */ + for (i = 0; i != trees_count; i++) + trees[i].childnode = NODE; +} + +static void +trees_populate(void) +{ + struct unicode_data *data; + unsigned int unichar; + char keyval[4]; + int keylen; + int i; + + for (i = 0; i != trees_count; i++) { + if (verbose > 0) { + printf("Populating %s_%x\n", + trees[i].type, trees[i].maxage); + } + for (unichar = 0; unichar != 0x110000; unichar++) { + if (unicode_data[unichar].gen < 0) + continue; + keylen = utf8key(unichar, keyval); + data = corrections_lookup(&unicode_data[unichar]); + if (data->correction <= trees[i].maxage) + data = &unicode_data[unichar]; + insert(&trees[i], keyval, keylen, data); + } + } +} + +static void +trees_reduce(void) +{ + int i; + int size; + int changed; + + for (i = 0; i != trees_count; i++) + prune(&trees[i]); + for (i = 0; i != trees_count; i++) + mark_nodes(&trees[i]); + do { + size = 0; + for (i = 0; i != trees_count; i++) + size = index_nodes(&trees[i], size); + changed = 0; + for (i = 0; i != trees_count; i++) + changed += size_nodes(&trees[i]); + } while (changed); + + utf8data = calloc(size, 1); + utf8data_size = size; + for (i = 0; i != trees_count; i++) + emit(&trees[i], utf8data); + + if (verbose > 0) { + for (i = 0; i != trees_count; i++) { + printf("%s_%x idx %d\n", + trees[i].type, trees[i].maxage, trees[i].index); + } + } + + nfkdi = utf8data + trees[trees_count-1].index; + nfkdicf = utf8data + trees[trees_count-2].index; + + nfkdi_tree = &trees[trees_count-1]; + nfkdicf_tree = &trees[trees_count-2]; +} + +static void +verify(struct tree *tree) +{ + struct unicode_data *data; + utf8leaf_t *leaf; + unsigned int unichar; + char key[4]; + int report; + int nocf; + + if (verbose > 0) + printf("Verifying %s_%x\n", tree->type, tree->maxage); + nocf = strcmp(tree->type, "nfkdicf"); + + for (unichar = 0; unichar != 0x110000; unichar++) { + report = 0; + data = corrections_lookup(&unicode_data[unichar]); + if (data->correction <= tree->maxage) + data = &unicode_data[unichar]; + utf8key(unichar, key); + leaf = utf8lookup(tree, key); + if (!leaf) { + if (data->gen != -1) + report++; + if (unichar < 0xd800 || unichar > 0xdfff) + report++; + } else { + if (unichar >= 0xd800 && unichar <= 0xdfff) + report++; + if (data->gen == -1) + report++; + if (data->gen != LEAF_GEN(leaf)) + report++; + if (LEAF_CCC(leaf) == DECOMPOSE) { + if (nocf) { + if (!data->utf8nfkdi) { + report++; + } else if (strcmp(data->utf8nfkdi, + LEAF_STR(leaf))) { + report++; + } + } else { + if (!data->utf8nfkdicf && + !data->utf8nfkdi) { + report++; + } else if (data->utf8nfkdicf) { + if (strcmp(data->utf8nfkdicf, + LEAF_STR(leaf))) + report++; + } else if (strcmp(data->utf8nfkdi, + LEAF_STR(leaf))) { + report++; + } + } + } else if (data->ccc != LEAF_CCC(leaf)) { + report++; + } + } + if (report) { + printf("%X code %X gen %d ccc %d" + " nfdki -> \"%s\"", + unichar, data->code, data->gen, + data->ccc, + data->utf8nfkdi); + if (leaf) { + printf(" age %d ccc %d" + " nfdki -> \"%s\"\n", + LEAF_GEN(leaf), + LEAF_CCC(leaf), + LEAF_CCC(leaf) == DECOMPOSE ? + LEAF_STR(leaf) : ""); + } + printf("\n"); + } + } +} + +static void +trees_verify(void) +{ + int i; + + for (i = 0; i != trees_count; i++) + verify(&trees[i]); +} + +/* ------------------------------------------------------------------ */ + +static void +help(void) +{ + printf("Usage: %s [options]\n", argv0); + printf("\n"); + printf("This program creates an a data trie used for parsing and\n"); + printf("normalization of UTF-8 strings. The trie is derived from\n"); + printf("a set of input files from the Unicode character database\n"); + printf("found at: http://www.unicode.org/Public/UCD/latest/ucd/\n"); + printf("\n"); + printf("The generated tree supports two normalization forms:\n"); + printf("\n"); + printf("\tnfkdi:\n"); + printf("\t- Apply unicode normalization form NFKD.\n"); + printf("\t- Remove any Default_Ignorable_Code_Point.\n"); + printf("\n"); + printf("\tnfkdicf:\n"); + printf("\t- Apply unicode normalization form NFKD.\n"); + printf("\t- Remove any Default_Ignorable_Code_Point.\n"); + printf("\t- Apply a full casefold (C + F).\n"); + printf("\n"); + printf("These forms were chosen as being most useful when dealing\n"); + printf("with file names: NFKD catches most cases where characters\n"); + printf("should be considered equivalent. The ignorables are mostly\n"); + printf("invisible, making names hard to type.\n"); + printf("\n"); + printf("The options to specify the files to be used are listed\n"); + printf("below with their default values, which are the names used\n"); + printf("by version 7.0.0 of the Unicode Character Database.\n"); + printf("\n"); + printf("The input files:\n"); + printf("\t-a %s\n", AGE_NAME); + printf("\t-c %s\n", CCC_NAME); + printf("\t-p %s\n", PROP_NAME); + printf("\t-d %s\n", DATA_NAME); + printf("\t-f %s\n", FOLD_NAME); + printf("\t-n %s\n", NORM_NAME); + printf("\n"); + printf("Additionally, the generated tables are tested using:\n"); + printf("\t-t %s\n", TEST_NAME); + printf("\n"); + printf("Finally, the output file:\n"); + printf("\t-o %s\n", UTF8_NAME); + printf("\n"); +} + +static void +usage(void) +{ + help(); + exit(1); +} + +static void +open_fail(const char *name, int error) +{ + printf("Error %d opening %s: %s\n", error, name, strerror(error)); + exit(1); +} + +static void +file_fail(const char *filename) +{ + printf("Error parsing %s\n", filename); + exit(1); +} + +static void +line_fail(const char *filename, const char *line) +{ + printf("Error parsing %s:%s\n", filename, line); + exit(1); +} + +/* ------------------------------------------------------------------ */ + +static void +print_utf32(unsigned int *utf32str) +{ + int i; + + for (i = 0; utf32str[i]; i++) + printf(" %X", utf32str[i]); +} + +static void +print_utf32nfkdi(unsigned int unichar) +{ + printf(" %X ->", unichar); + print_utf32(unicode_data[unichar].utf32nfkdi); + printf("\n"); +} + +static void +print_utf32nfkdicf(unsigned int unichar) +{ + printf(" %X ->", unichar); + print_utf32(unicode_data[unichar].utf32nfkdicf); + printf("\n"); +} + +/* ------------------------------------------------------------------ */ + +static void +age_init(void) +{ + FILE *file; + unsigned int first; + unsigned int last; + unsigned int unichar; + unsigned int major; + unsigned int minor; + unsigned int revision; + int gen; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", age_name); + + file = fopen(age_name, "r"); + if (!file) + open_fail(age_name, errno); + count = 0; + + gen = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "# Age=V%d_%d_%d", + &major, &minor, &revision); + if (ret == 3) { + ages_count++; + if (verbose > 1) + printf(" Age V%d_%d_%d\n", + major, minor, revision); + if (!age_valid(major, minor, revision)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "# Age=V%d_%d", &major, &minor); + if (ret == 2) { + ages_count++; + if (verbose > 1) + printf(" Age V%d_%d\n", major, minor); + if (!age_valid(major, minor, 0)) + line_fail(age_name, line); + continue; + } + } + + /* We must have found something above. */ + if (verbose > 1) + printf("%d age entries\n", ages_count); + if (ages_count == 0 || ages_count > MAXGEN) + file_fail(age_name); + + /* There is a 0 entry. */ + ages_count++; + ages = calloc(ages_count + 1, sizeof(*ages)); + /* And a guard entry. */ + ages[ages_count] = (unsigned int)-1; + + rewind(file); + count = 0; + gen = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "# Age=V%d_%d_%d", + &major, &minor, &revision); + if (ret == 3) { + ages[++gen] = + UNICODE_AGE(major, minor, revision); + if (verbose > 1) + printf(" Age V%d_%d_%d = gen %d\n", + major, minor, revision, gen); + if (!age_valid(major, minor, revision)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "# Age=V%d_%d", &major, &minor); + if (ret == 2) { + ages[++gen] = UNICODE_AGE(major, minor, 0); + if (verbose > 1) + printf(" Age V%d_%d = %d\n", + major, minor, gen); + if (!age_valid(major, minor, 0)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "%X..%X ; %d.%d #", + &first, &last, &major, &minor); + if (ret == 4) { + for (unichar = first; unichar <= last; unichar++) + unicode_data[unichar].gen = gen; + count += 1 + last - first; + if (verbose > 1) + printf(" %X..%X gen %d\n", first, last, gen); + if (!utf32valid(first) || !utf32valid(last)) + line_fail(age_name, line); + continue; + } + ret = sscanf(line, "%X ; %d.%d #", &unichar, &major, &minor); + if (ret == 3) { + unicode_data[unichar].gen = gen; + count++; + if (verbose > 1) + printf(" %X gen %d\n", unichar, gen); + if (!utf32valid(unichar)) + line_fail(age_name, line); + continue; + } + } + unicode_maxage = ages[gen]; + fclose(file); + + /* Nix surrogate block */ + if (verbose > 1) + printf(" Removing surrogate block D800..DFFF\n"); + for (unichar = 0xd800; unichar <= 0xdfff; unichar++) + unicode_data[unichar].gen = -1; + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(age_name); +} + +static void +ccc_init(void) +{ + FILE *file; + unsigned int first; + unsigned int last; + unsigned int unichar; + unsigned int value; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", ccc_name); + + file = fopen(ccc_name, "r"); + if (!file) + open_fail(ccc_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X..%X ; %d #", &first, &last, &value); + if (ret == 3) { + for (unichar = first; unichar <= last; unichar++) { + unicode_data[unichar].ccc = value; + count++; + } + if (verbose > 1) + printf(" %X..%X ccc %d\n", first, last, value); + if (!utf32valid(first) || !utf32valid(last)) + line_fail(ccc_name, line); + continue; + } + ret = sscanf(line, "%X ; %d #", &unichar, &value); + if (ret == 2) { + unicode_data[unichar].ccc = value; + count++; + if (verbose > 1) + printf(" %X ccc %d\n", unichar, value); + if (!utf32valid(unichar)) + line_fail(ccc_name, line); + continue; + } + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(ccc_name); +} + +static void +nfkdi_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char *s; + unsigned int *um; + int count; + int i; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", data_name); + file = fopen(data_name, "r"); + if (!file) + open_fail(data_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%*[^;];%*[^;];%*[^;];%*[^;];%[^;];", + &unichar, buf0); + if (ret != 2) + continue; + if (!utf32valid(unichar)) + line_fail(data_name, line); + + s = buf0; + /* skip over */ + if (*s == '<') + while (*s++ != ' ') + ; + /* decode the decomposition into UTF-32 */ + i = 0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(data_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + + if (verbose > 1) + print_utf32nfkdi(unichar); + count++; + } + fclose(file); + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(data_name); +} + +static void +nfkdicf_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char status; + char *s; + unsigned int *um; + int i; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", fold_name); + file = fopen(fold_name, "r"); + if (!file) + open_fail(fold_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X; %c; %[^;];", &unichar, &status, buf0); + if (ret != 3) + continue; + if (!utf32valid(unichar)) + line_fail(fold_name, line); + /* Use the C+F casefold. */ + if (status != 'C' && status != 'F') + continue; + s = buf0; + if (*s == '<') + while (*s++ != ' ') + ; + i = 0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(fold_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + + if (verbose > 1) + print_utf32nfkdicf(unichar); + count++; + } + fclose(file); + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(fold_name); +} + +static void +ignore_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int first; + unsigned int last; + unsigned int *um; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", prop_name); + file = fopen(prop_name, "r"); + if (!file) + open_fail(prop_name, errno); + assert(file); + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X..%X ; %s # ", &first, &last, buf0); + if (ret == 3) { + if (strcmp(buf0, "Default_Ignorable_Code_Point")) + continue; + if (!utf32valid(first) || !utf32valid(last)) + line_fail(prop_name, line); + for (unichar = first; unichar <= last; unichar++) { + free(unicode_data[unichar].utf32nfkdi); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdi = um; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdicf = um; + count++; + } + if (verbose > 1) + printf(" %X..%X Default_Ignorable_Code_Point\n", + first, last); + continue; + } + ret = sscanf(line, "%X ; %s # ", &unichar, buf0); + if (ret == 2) { + if (strcmp(buf0, "Default_Ignorable_Code_Point")) + continue; + if (!utf32valid(unichar)) + line_fail(prop_name, line); + free(unicode_data[unichar].utf32nfkdi); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdi = um; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(sizeof(unsigned int)); + *um = 0; + unicode_data[unichar].utf32nfkdicf = um; + if (verbose > 1) + printf(" %X Default_Ignorable_Code_Point\n", + unichar); + count++; + continue; + } + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(prop_name); +} + +static void +corrections_init(void) +{ + FILE *file; + unsigned int unichar; + unsigned int major; + unsigned int minor; + unsigned int revision; + unsigned int age; + unsigned int *um; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + char *s; + int i; + int count; + int ret; + + if (verbose > 0) + printf("Parsing %s\n", norm_name); + file = fopen(norm_name, "r"); + if (!file) + open_fail(norm_name, errno); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%[^;];%[^;];%d.%d.%d #", + &unichar, buf0, buf1, + &major, &minor, &revision); + if (ret != 6) + continue; + if (!utf32valid(unichar) || !age_valid(major, minor, revision)) + line_fail(norm_name, line); + count++; + } + corrections = calloc(count, sizeof(struct unicode_data)); + corrections_count = count; + rewind(file); + + count = 0; + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%X;%[^;];%[^;];%d.%d.%d #", + &unichar, buf0, buf1, + &major, &minor, &revision); + if (ret != 6) + continue; + if (!utf32valid(unichar) || !age_valid(major, minor, revision)) + line_fail(norm_name, line); + corrections[count] = unicode_data[unichar]; + assert(corrections[count].code == unichar); + age = UNICODE_AGE(major, minor, revision); + corrections[count].correction = age; + + i = 0; + s = buf0; + while (*s) { + mapping[i] = strtoul(s, &s, 16); + if (!utf32valid(mapping[i])) + line_fail(norm_name, line); + i++; + } + mapping[i++] = 0; + + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + corrections[count].utf32nfkdi = um; + + if (verbose > 1) + printf(" %X -> %s -> %s V%d_%d_%d\n", + unichar, buf0, buf1, major, minor, revision); + count++; + } + fclose(file); + + if (verbose > 0) + printf("Found %d entries\n", count); + if (count == 0) + file_fail(norm_name); +} + +/* ------------------------------------------------------------------ */ + +/* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount + * LVPart = LBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + * + */ + +static void +hangul_decompose(void) +{ + unsigned int sb = 0xAC00; + unsigned int lb = 0x1100; + unsigned int vb = 0x1161; + unsigned int tb = 0x11a7; + /* unsigned int lc = 19; */ + unsigned int vc = 21; + unsigned int tc = 28; + unsigned int nc = (vc * tc); + /* unsigned int sc = (lc * nc); */ + unsigned int unichar; + unsigned int mapping[4]; + unsigned int *um; + int count; + int i; + + if (verbose > 0) + printf("Decomposing hangul\n"); + /* Hangul */ + count = 0; + for (unichar = 0xAC00; unichar <= 0xD7A3; unichar++) { + unsigned int si = unichar - sb; + unsigned int li = si / nc; + unsigned int vi = (si % nc) / tc; + unsigned int ti = si % tc; + + i = 0; + mapping[i++] = lb + li; + mapping[i++] = vb + vi; + if (ti) + mapping[i++] = tb + ti; + mapping[i++] = 0; + + assert(!unicode_data[unichar].utf32nfkdi); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + + assert(!unicode_data[unichar].utf32nfkdicf); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + + if (verbose > 1) + print_utf32nfkdi(unichar); + + count++; + } + if (verbose > 0) + printf("Created %d entries\n", count); +} + +static void +nfkdi_decompose(void) +{ + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + unsigned int *um; + unsigned int *dc; + int count; + int i; + int j; + int ret; + + if (verbose > 0) + printf("Decomposing nfkdi\n"); + + count = 0; + for (unichar = 0; unichar != 0x110000; unichar++) { + if (!unicode_data[unichar].utf32nfkdi) + continue; + for (;;) { + ret = 1; + i = 0; + um = unicode_data[unichar].utf32nfkdi; + while (*um) { + dc = unicode_data[*um].utf32nfkdi; + if (dc) { + for (j = 0; dc[j]; j++) + mapping[i++] = dc[j]; + ret = 0; + } else { + mapping[i++] = *um; + } + um++; + } + mapping[i++] = 0; + if (ret) + break; + free(unicode_data[unichar].utf32nfkdi); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdi = um; + } + /* Add this decomposition to nfkdicf if there is no entry. */ + if (!unicode_data[unichar].utf32nfkdicf) { + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + } + if (verbose > 1) + print_utf32nfkdi(unichar); + count++; + } + if (verbose > 0) + printf("Processed %d entries\n", count); +} + +static void +nfkdicf_decompose(void) +{ + unsigned int unichar; + unsigned int mapping[19]; /* Magic - guaranteed not to be exceeded. */ + unsigned int *um; + unsigned int *dc; + int count; + int i; + int j; + int ret; + + if (verbose > 0) + printf("Decomposing nfkdicf\n"); + count = 0; + for (unichar = 0; unichar != 0x110000; unichar++) { + if (!unicode_data[unichar].utf32nfkdicf) + continue; + for (;;) { + ret = 1; + i = 0; + um = unicode_data[unichar].utf32nfkdicf; + while (*um) { + dc = unicode_data[*um].utf32nfkdicf; + if (dc) { + for (j = 0; dc[j]; j++) + mapping[i++] = dc[j]; + ret = 0; + } else { + mapping[i++] = *um; + } + um++; + } + mapping[i++] = 0; + if (ret) + break; + free(unicode_data[unichar].utf32nfkdicf); + um = malloc(i * sizeof(unsigned int)); + memcpy(um, mapping, i * sizeof(unsigned int)); + unicode_data[unichar].utf32nfkdicf = um; + } + if (verbose > 1) + print_utf32nfkdicf(unichar); + count++; + } + if (verbose > 0) + printf("Processed %d entries\n", count); +} + +/* ------------------------------------------------------------------ */ + +int utf8agemax(struct tree *, const char *); +int utf8nagemax(struct tree *, const char *, size_t); +int utf8agemin(struct tree *, const char *); +int utf8nagemin(struct tree *, const char *, size_t); +ssize_t utf8len(struct tree *, const char *); +ssize_t utf8nlen(struct tree *, const char *, size_t); +struct utf8cursor; +int utf8cursor(struct utf8cursor *, struct tree *, const char *); +int utf8ncursor(struct utf8cursor *, struct tree *, const char *, size_t); +int utf8byte(struct utf8cursor *); + +/* + * Use trie to scan s, touching at most len bytes. + * Returns the leaf if one exists, NULL otherwise. + * + * A non-NULL return guarantees that the UTF-8 sequence starting at s + * is well-formed and corresponds to a known unicode code point. The + * shorthand for this will be "is valid UTF-8 unicode". + */ +static utf8leaf_t * +utf8nlookup(struct tree *tree, const char *s, size_t len) +{ + utf8trie_t *trie = utf8data + tree->index; + int offlen; + int offset; + int mask; + int node; + + if (!tree) + return NULL; + if (len == 0) + return NULL; + node = 1; + while (node) { + offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; + if (*trie & NEXTBYTE) { + if (--len == 0) + return NULL; + s++; + } + mask = 1 << (*trie & BITNUM); + if (*s & mask) { + /* Right leg */ + if (offlen) { + /* Right node at offset of trie */ + node = (*trie & RIGHTNODE); + offset = trie[offlen]; + while (--offlen) { + offset <<= 8; + offset |= trie[offlen]; + } + trie += offset; + } else if (*trie & RIGHTPATH) { + /* Right node after this node */ + node = (*trie & TRIENODE); + trie++; + } else { + /* No right node. */ + node = 0; + trie = NULL; + } + } else { + /* Left leg */ + if (offlen) { + /* Left node after this node. */ + node = (*trie & LEFTNODE); + trie += offlen + 1; + } else if (*trie & RIGHTPATH) { + /* No left node. */ + node = 0; + trie = NULL; + } else { + /* Left node after this node */ + node = (*trie & TRIENODE); + trie++; + } + } + } + return trie; +} + +/* + * Use trie to scan s. + * Returns the leaf if one exists, NULL otherwise. + * + * Forwards to trie_nlookup(). + */ +static utf8leaf_t * +utf8lookup(struct tree *tree, const char *s) +{ + return utf8nlookup(tree, s, (size_t)-1); +} + +/* + * Return the number of bytes used by the current UTF-8 sequence. + * Assumes the input points to the first byte of a valid UTF-8 + * sequence. + */ +static inline int +utf8clen(const char *s) +{ + unsigned char c = *s; + return 1 + (c >= 0xC0) + (c >= 0xE0) + (c >= 0xF0); +} + +/* + * Maximum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if only non-assigned code points are used. + */ +int +utf8agemax(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age > age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Minimum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if non-assigned code points are used. + */ +int +utf8agemin(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + int age = tree->maxage; + int leaf_age; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age < age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemax(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age > age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemin(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int leaf_age; + int age = tree->maxage; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + leaf_age = ages[LEAF_GEN(leaf)]; + if (leaf_age <= tree->maxage && leaf_age < age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Length of the normalization of s. + * Return -1 if s is not valid UTF-8 unicode. + * + * A string of Default_Ignorable_Code_Point has length 0. + */ +ssize_t +utf8len(struct tree *tree, const char *s) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!tree) + return -1; + while (*s) { + if (!(leaf = utf8lookup(tree, s))) + return -1; + if (ages[LEAF_GEN(leaf)] > tree->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Length of the normalization of s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +ssize_t +utf8nlen(struct tree *tree, const char *s, size_t len) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!tree) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(tree, s, len))) + return -1; + if (ages[LEAF_GEN(leaf)] > tree->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + len -= utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Cursor structure used by the normalizer. + */ +struct utf8cursor { + struct tree *tree; + const char *s; + const char *p; + const char *ss; + const char *sp; + unsigned int len; + unsigned int slen; + short int ccc; + short int nccc; + unsigned int unichar; +}; + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * s : string. + * len : length of s. + * u8c : pointer to cursor. + * trie : utf8trie_t to use for normalization. + * + * Returns -1 on error, 0 on success. + */ +int +utf8ncursor( + struct utf8cursor *u8c, + struct tree *tree, + const char *s, + size_t len) +{ + if (!tree) + return -1; + if (!s) + return -1; + u8c->tree = tree; + u8c->s = s; + u8c->p = NULL; + u8c->ss = NULL; + u8c->sp = NULL; + u8c->len = len; + u8c->slen = 0; + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->unichar = 0; + /* Check we didn't clobber the maximum length. */ + if (u8c->len != len) + return -1; + /* The first byte of s may not be an utf8 continuation. */ + if (len > 0 && (*s & 0xC0) == 0x80) + return -1; + return 0; +} + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * s : NUL-terminated string. + * u8c : pointer to cursor. + * trie : utf8trie_t to use for normalization. + * + * Returns -1 on error, 0 on success. + */ +int +utf8cursor( + struct utf8cursor *u8c, + struct tree *tree, + const char *s) +{ + return utf8ncursor(u8c, tree, s, (unsigned int)-1); +} + +/* + * Get one byte from the normalized form of the string described by u8c. + * + * Returns the byte cast to an unsigned char on succes, and -1 on failure. + * + * The cursor keeps track of the location in the string in u8c->s. + * When a character is decomposed, the current location is stored in + * u8c->p, and u8c->s is set to the start of the decomposition. Note + * that bytes from a decomposition do not count against u8c->len. + * + * Characters are emitted if they match the current CCC in u8c->ccc. + * Hitting end-of-string while u8c->ccc == STOPPER means we're done, + * and the function returns 0 in that case. + * + * Sorting by CCC is done by repeatedly scanning the string. The + * values of u8c->s and u8c->p are stored in u8c->ss and u8c->sp at + * the start of the scan. The first pass finds the lowest CCC to be + * emitted and stores it in u8c->nccc, the second pass emits the + * characters with this CCC and finds the next lowest CCC. This limits + * the number of passes to 1 + the number of different CCCs in the + * sequence being scanned. + * + * Therefore: + * u8c->p != NULL -> a decomposition is being scanned. + * u8c->ss != NULL -> this is a repeating scan. + * u8c->ccc == -1 -> this is the first scan of a repeating scan. + */ +int +utf8byte(struct utf8cursor *u8c) +{ + utf8leaf_t *leaf; + int ccc; + + for (;;) { + /* Check for the end of a decomposed character. */ + if (u8c->p && *u8c->s == '\0') { + u8c->s = u8c->p; + u8c->p = NULL; + } + + /* Check for end-of-string. */ + if (!u8c->p && (u8c->len == 0 || *u8c->s == '\0')) { + /* There is no next byte. */ + if (u8c->ccc == STOPPER) + return 0; + /* End-of-string during a scan counts as a stopper. */ + ccc = STOPPER; + goto ccc_mismatch; + } else if ((*u8c->s & 0xC0) == 0x80) { + /* This is a continuation of the current character. */ + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Look up the data for the current character. */ + if (u8c->p) + leaf = utf8lookup(u8c->tree, u8c->s); + else + leaf = utf8nlookup(u8c->tree, u8c->s, u8c->len); + + /* No leaf found implies that the input is a binary blob. */ + if (!leaf) + return -1; + + /* Characters that are too new have CCC 0. */ + if (ages[LEAF_GEN(leaf)] > u8c->tree->maxage) { + ccc = STOPPER; + } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { + u8c->len -= utf8clen(u8c->s); + u8c->p = u8c->s + utf8clen(u8c->s); + u8c->s = LEAF_STR(leaf); + /* Empty decomposition implies CCC 0. */ + if (*u8c->s == '\0') { + if (u8c->ccc == STOPPER) + continue; + ccc = STOPPER; + goto ccc_mismatch; + } + leaf = utf8lookup(u8c->tree, u8c->s); + ccc = LEAF_CCC(leaf); + } + u8c->unichar = utf8code(u8c->s); + + /* + * If this is not a stopper, then see if it updates + * the next canonical class to be emitted. + */ + if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) + u8c->nccc = ccc; + + /* + * Return the current byte if this is the current + * combining class. + */ + if (ccc == u8c->ccc) { + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Current combining class mismatch. */ + ccc_mismatch: + if (u8c->nccc == STOPPER) { + /* + * Scan forward for the first canonical class + * to be emitted. Save the position from + * which to restart. + */ + assert(u8c->ccc == STOPPER); + u8c->ccc = MINCCC - 1; + u8c->nccc = ccc; + u8c->sp = u8c->p; + u8c->ss = u8c->s; + u8c->slen = u8c->len; + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (ccc != STOPPER) { + /* Not a stopper, and not the ccc we're emitting. */ + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (u8c->nccc != MAXCCC + 1) { + /* At a stopper, restart for next ccc. */ + u8c->ccc = u8c->nccc; + u8c->nccc = MAXCCC + 1; + u8c->s = u8c->ss; + u8c->p = u8c->sp; + u8c->len = u8c->slen; + } else { + /* All done, proceed from here. */ + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->sp = NULL; + u8c->ss = NULL; + u8c->slen = 0; + } + } +} + +/* ------------------------------------------------------------------ */ + +static int +normalize_line(struct tree *tree) +{ + char *s; + char *t; + int c; + struct utf8cursor u8c; + + /* First test: null-terminated string. */ + s = buf2; + t = buf3; + if (utf8cursor(&u8c, tree, s)) + return -1; + while ((c = utf8byte(&u8c)) > 0) + if (c != (unsigned char)*t++) + return -1; + if (c < 0) + return -1; + if (*t != 0) + return -1; + + /* Second test: length-limited string. */ + s = buf2; + /* Replace NUL with a value that will cause an error if seen. */ + s[strlen(s) + 1] = -1; + t = buf3; + if (utf8cursor(&u8c, tree, s)) + return -1; + while ((c = utf8byte(&u8c)) > 0) + if (c != (unsigned char)*t++) + return -1; + if (c < 0) + return -1; + if (*t != 0) + return -1; + + return 0; +} + +static void +normalization_test(void) +{ + FILE *file; + unsigned int unichar; + struct unicode_data *data; + char *s; + char *t; + int ret; + int ignorables; + int tests = 0; + int failures = 0; + + if (verbose > 0) + printf("Parsing %s\n", test_name); + /* Step one, read data from file. */ + file = fopen(test_name, "r"); + if (!file) + open_fail(test_name, errno); + + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%[^;];%*[^;];%*[^;];%*[^;];%[^;];", + buf0, buf1); + if (ret != 2 || *line == '#') + continue; + s = buf0; + t = buf2; + while (*s) { + unichar = strtoul(s, &s, 16); + t += utf8key(unichar, t); + } + *t = '\0'; + + ignorables = 0; + s = buf1; + t = buf3; + while (*s) { + unichar = strtoul(s, &s, 16); + data = &unicode_data[unichar]; + if (data->utf8nfkdi && !*data->utf8nfkdi) + ignorables = 1; + else + t += utf8key(unichar, t); + } + *t = '\0'; + + tests++; + if (normalize_line(nfkdi_tree) < 0) { + printf("\nline %s -> %s", buf0, buf1); + if (ignorables) + printf(" (ignorables removed)"); + printf(" failure\n"); + failures++; + } + } + fclose(file); + if (verbose > 0) + printf("Ran %d tests with %d failures\n", tests, failures); + if (failures) + file_fail(test_name); +} + +/* ------------------------------------------------------------------ */ + +static void +write_file(void) +{ + FILE *file; + int i; + int j; + int t; + int gen; + + if (verbose > 0) + printf("Writing %s\n", utf8_name); + file = fopen(utf8_name, "w"); + if (!file) + open_fail(utf8_name, errno); + + fprintf(file, "/* This file is generated code, do not edit. */\n"); + fprintf(file, "#ifndef __INCLUDED_FROM_UTF8NORM_C__\n"); + fprintf(file, "#error Only xfs_utf8.c may include this file.\n"); + fprintf(file, "#endif\n"); + fprintf(file, "\n"); + fprintf(file, "static const unsigned int utf8vers = %#x;\n", + unicode_maxage); + fprintf(file, "\n"); + fprintf(file, "static const unsigned int utf8agetab[] = {\n"); + for (i = 0; i != ages_count; i++) + fprintf(file, "\t%#x%s\n", ages[i], + ages[i] == unicode_maxage ? "" : ","); + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const struct utf8data utf8nfkdicfdata[] = {\n"); + t = 0; + for (gen = 0; gen < ages_count; gen++) { + fprintf(file, "\t{ %#x, %d }%s\n", + ages[gen], trees[t].index, + ages[gen] == unicode_maxage ? "" : ","); + if (trees[t].maxage == ages[gen]) + t += 2; + } + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const struct utf8data utf8nfkdidata[] = {\n"); + t = 1; + for (gen = 0; gen < ages_count; gen++) { + fprintf(file, "\t{ %#x, %d }%s\n", + ages[gen], trees[t].index, + ages[gen] == unicode_maxage ? "" : ","); + if (trees[t].maxage == ages[gen]) + t += 2; + } + fprintf(file, "};\n"); + fprintf(file, "\n"); + fprintf(file, "static const unsigned char utf8data[%zd] = {\n", + utf8data_size); + t = 0; + for (i = 0; i != utf8data_size; i += 16) { + if (i == trees[t].index) { + fprintf(file, "\t/* %s_%x */\n", + trees[t].type, trees[t].maxage); + if (t < trees_count-1) + t++; + } + fprintf(file, "\t"); + for (j = i; j != i + 16; j++) + fprintf(file, "0x%.2x%s", utf8data[j], + (j < utf8data_size -1 ? "," : "")); + fprintf(file, "\n"); + } + fprintf(file, "};\n"); + fclose(file); +} + +/* ------------------------------------------------------------------ */ + +int +main(int argc, char *argv[]) +{ + unsigned int unichar; + int opt; + + argv0 = argv[0]; + + while ((opt = getopt(argc, argv, "a:c:d:f:hn:o:p:t:v")) != -1) { + switch (opt) { + case 'a': + age_name = optarg; + break; + case 'c': + ccc_name = optarg; + break; + case 'd': + data_name = optarg; + break; + case 'f': + fold_name = optarg; + break; + case 'n': + norm_name = optarg; + break; + case 'o': + utf8_name = optarg; + break; + case 'p': + prop_name = optarg; + break; + case 't': + test_name = optarg; + break; + case 'v': + verbose++; + break; + case 'h': + help(); + exit(0); + default: + usage(); + } + } + + if (verbose > 1) + help(); + for (unichar = 0; unichar != 0x110000; unichar++) + unicode_data[unichar].code = unichar; + age_init(); + ccc_init(); + nfkdi_init(); + nfkdicf_init(); + ignore_init(); + corrections_init(); + hangul_decompose(); + nfkdi_decompose(); + nfkdicf_decompose(); + utf8_init(); + trees_init(); + trees_populate(); + trees_reduce(); + trees_verify(); + /* Prevent "unused function" warning. */ + (void)lookup(nfkdi_tree, " "); + if (verbose > 2) + tree_walk(nfkdi_tree); + if (verbose > 2) + tree_walk(nfkdicf_tree); + normalization_test(); + write_file(); + + return 0; +} -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:07: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=RP_MATCHES_RCVD, T_FILL_THIS_FORM_SHORT 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 59BB17F54 for ; Fri, 3 Oct 2014 17:07:58 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id EC2098F804C; Fri, 3 Oct 2014 15:07:57 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 9D8764266DC; Fri, 3 Oct 2014 17:07:57 -0500 (CDT) Date: Fri, 3 Oct 2014 17:07:57 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 19/35] xfsprogs: add supporting code for UTF-8. Message-ID: <20141003220757.GS1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Supporting functions for UTF-8 normalization are in utf8norm.c with the header utf8norm.h. Two normalization forms are supported: nfkdi and nfkdicf. nfkdi: - Apply unicode normalization form NFKD. - Remove any Default_Ignorable_Code_Point. nfkdicf: - Apply unicode normalization form NFKD. - Remove any Default_Ignorable_Code_Point. - Apply a full casefold (C + F). For the purposes of the code, a string is valid UTF-8 if: - The values encoded are 0x1..0x10FFFF. - The surrogate codepoints 0xD800..0xDFFFF are not encoded. - The shortest possible encoding is used for all values. The supporting functions work on null-terminated strings (utf8 prefix) and on length-limited strings (utf8n prefix). Signed-off-by: Olaf Weber [v2: synced from kernel version, minor updates to remove/add includes, and remove linux module exports. --bpm] --- include/utf8norm.h | 111 +++++++++ libxfs/Makefile | 1 + libxfs/utf8norm.c | 643 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 755 insertions(+) create mode 100644 include/utf8norm.h create mode 100644 libxfs/utf8norm.c diff --git a/include/utf8norm.h b/include/utf8norm.h new file mode 100644 index 0000000..cd77580 --- /dev/null +++ b/include/utf8norm.h @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2014 SGI. + * 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 UTF8NORM_H +#define UTF8NORM_H + +/* An opaque type used to determine the normalization in use. */ +typedef const struct utf8data *utf8data_t; + +/* Encoding a unicode version number as a single unsigned int. */ +#define UNICODE_MAJ_SHIFT (16) +#define UNICODE_MIN_SHIFT (8) + +#define UNICODE_AGE(MAJ,MIN,REV) \ + (((unsigned int)(MAJ) << UNICODE_MAJ_SHIFT) | \ + ((unsigned int)(MIN) << UNICODE_MIN_SHIFT) | \ + ((unsigned int)(REV))) + +/* Highest unicode version supported by the data tables. */ +extern int utf8version_is_supported(unsigned int); + +/* + * Look for the correct utf8data_t for a unicode version. + * Returns NULL if the version requested is too new. + * + * Two normalization forms are supported: nfkdi and nfkdicf. + * + * nfkdi: + * - Apply unicode normalization form NFKD. + * - Remove any Default_Ignorable_Code_Point. + * + * nfkdicf: + * - Apply unicode normalization form NFKD. + * - Remove any Default_Ignorable_Code_Point. + * - Apply a full casefold (C + F). + */ +extern utf8data_t utf8nfkdi(unsigned int); +extern utf8data_t utf8nfkdicf(unsigned int); + +/* + * Determine the maximum age of any unicode character in the string. + * Returns 0 if only unassigned code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern int utf8agemax(utf8data_t, const char *); +extern int utf8nagemax(utf8data_t, const char *, size_t); + +/* + * Determine the minimum age of any unicode character in the string. + * Returns 0 if any unassigned code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern int utf8agemin(utf8data_t, const char *); +extern int utf8nagemin(utf8data_t, const char *, size_t); + +/* + * Determine the length of the normalized from of the string, + * excluding any terminating NULL byte. + * Returns 0 if only ignorable code points are present. + * Returns -1 if the input is not valid UTF-8. + */ +extern ssize_t utf8len(utf8data_t, const char *); +extern ssize_t utf8nlen(utf8data_t, const char *, size_t); + +/* + * Cursor structure used by the normalizer. + */ +struct utf8cursor { + utf8data_t data; + const char *s; + const char *p; + const char *ss; + const char *sp; + unsigned int len; + unsigned int slen; + short int ccc; + short int nccc; +}; + +/* + * Initialize a utf8cursor to normalize a string. + * Returns 0 on success. + * Returns -1 on failure. + */ +extern int utf8cursor(struct utf8cursor *, utf8data_t, const char *); +extern int utf8ncursor(struct utf8cursor *, utf8data_t, const char *, size_t); + +/* + * Get the next byte in the normalization. + * Returns a value > 0 && < 256 on success. + * Returns 0 when the end of the normalization is reached. + * Returns -1 if the string being normalized is not valid UTF-8. + */ +extern int utf8byte(struct utf8cursor *); + +#endif /* UTF8NORM_H */ diff --git a/libxfs/Makefile b/libxfs/Makefile index ae15a5d..a1e85ef 100644 --- a/libxfs/Makefile +++ b/libxfs/Makefile @@ -14,6 +14,7 @@ HFILES = xfs.h init.h xfs_dir2_priv.h crc32defs.h crc32table.h CFILES = cache.c \ crc32.c \ init.c kmem.c logitem.c radix-tree.c rdwr.c trans.c util.c \ + utf8norm.c \ xfs_alloc.c \ xfs_alloc_btree.c \ xfs_attr.c \ diff --git a/libxfs/utf8norm.c b/libxfs/utf8norm.c new file mode 100644 index 0000000..8076e99 --- /dev/null +++ b/libxfs/utf8norm.c @@ -0,0 +1,643 @@ +/* + * Copyright (c) 2014 SGI. + * 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_types.h" +#include "utf8norm.h" + +struct utf8data { + unsigned int maxage; + unsigned int offset; +}; + +#define __INCLUDED_FROM_UTF8NORM_C__ +#include "utf8data.h" +#undef __INCLUDED_FROM_UTF8NORM_C__ + +int +utf8version_is_supported(unsigned int sb_utf8version) +{ + int i = sizeof(utf8agetab)/sizeof(utf8agetab[0]) - 1; + + while (i >= 0) { + if (sb_utf8version == utf8agetab[i]) + return 1; + i--; + } + return 0; +} + +/* + * UTF-8 valid ranges. + * + * The UTF-8 encoding spreads the bits of a 32bit word over several + * bytes. This table gives the ranges that can be held and how they'd + * be represented. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000000 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000000 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * There is an additional requirement on UTF-8, in that only the + * shortest representation of a 32bit value is to be used. A decoder + * must not decode sequences that do not satisfy this requirement. + * Thus the allowed ranges have a lower bound. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000080 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000800 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00010000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00200000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x04000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Actual unicode characters are limited to the range 0x0 - 0x10FFFF, + * 17 planes of 65536 values. This limits the sequences actually seen + * even more, to just the following. + * + * 0 - 0x7F: 0 - 0x7F + * 0x80 - 0x7FF: 0xC2 0x80 - 0xDF 0xBF + * 0x800 - 0xFFFF: 0xE0 0xA0 0x80 - 0xEF 0xBF 0xBF + * 0x10000 - 0x10FFFF: 0xF0 0x90 0x80 0x80 - 0xF4 0x8F 0xBF 0xBF + * + * Within those ranges the surrogates 0xD800 - 0xDFFF are not allowed. + * + * Note that the longest sequence seen with valid usage is 4 bytes, + * the same a single UTF-32 character. This makes the UTF-8 + * representation of Unicode strictly smaller than UTF-32. + * + * The shortest sequence requirement was introduced by: + * Corrigendum #1: UTF-8 Shortest Form + * It can be found here: + * http://www.unicode.org/versions/corrigendum1.html + * + */ + +/* + * Return the number of bytes used by the current UTF-8 sequence. + * Assumes the input points to the first byte of a valid UTF-8 + * sequence. + */ +static inline int +utf8clen(const char *s) +{ + unsigned char c = *s; + return 1 + (c >= 0xC0) + (c >= 0xE0) + (c >= 0xF0); +} + +/* + * utf8trie_t + * + * A compact binary tree, used to decode UTF-8 characters. + * + * Internal nodes are one byte for the node itself, and up to three + * bytes for an offset into the tree. The first byte contains the + * following information: + * NEXTBYTE - flag - advance to next byte if set + * BITNUM - 3 bit field - the bit number to tested + * OFFLEN - 2 bit field - number of bytes in the offset + * if offlen == 0 (non-branching node) + * RIGHTPATH - 1 bit field - set if the following node is for the + * right-hand path (tested bit is set) + * TRIENODE - 1 bit field - set if the following node is an internal + * node, otherwise it is a leaf node + * if offlen != 0 (branching node) + * LEFTNODE - 1 bit field - set if the left-hand node is internal + * RIGHTNODE - 1 bit field - set if the right-hand node is internal + * + * Due to the way utf8 works, there cannot be branching nodes with + * NEXTBYTE set, and moreover those nodes always have a righthand + * descendant. + */ +typedef const unsigned char utf8trie_t; +#define BITNUM 0x07 +#define NEXTBYTE 0x08 +#define OFFLEN 0x30 +#define OFFLEN_SHIFT 4 +#define RIGHTPATH 0x40 +#define TRIENODE 0x80 +#define RIGHTNODE 0x40 +#define LEFTNODE 0x80 + +/* + * utf8leaf_t + * + * The leaves of the trie are embedded in the trie, and so the same + * underlying datatype: unsigned char. + * + * leaf[0]: The unicode version, stored as a generation number that is + * an index into utf8agetab[]. With this we can filter code + * points based on the unicode version in which they were + * defined. The CCC of a non-defined code point is 0. + * leaf[1]: Canonical Combining Class. During normalization, we need + * to do a stable sort into ascending order of all characters + * with a non-zero CCC that occur between two characters with + * a CCC of 0, or at the begin or end of a string. + * The unicode standard guarantees that all CCC values are + * between 0 and 254 inclusive, which leaves 255 available as + * a special value. + * Code points with CCC 0 are known as stoppers. + * leaf[2]: Decomposition. If leaf[1] == 255, then leaf[2] is the + * start of a NUL-terminated string that is the decomposition + * of the character. + * The CCC of a decomposable character is the same as the CCC + * of the first character of its decomposition. + * Some characters decompose as the empty string: these are + * characters with the Default_Ignorable_Code_Point property. + * These do affect normalization, as they all have CCC 0. + * + * The decompositions in the trie have been fully expanded. + * + * Casefolding, if applicable, is also done using decompositions. + * + * The trie is constructed in such a way that leaves exist for all + * UTF-8 sequences that match the criteria from the "UTF-8 valid + * ranges" comment above, and only for those sequences. Therefore a + * lookup in the trie can be used to validate the UTF-8 input. + */ +typedef const unsigned char utf8leaf_t; + +#define LEAF_GEN(LEAF) ((LEAF)[0]) +#define LEAF_CCC(LEAF) ((LEAF)[1]) +#define LEAF_STR(LEAF) ((const char*)((LEAF) + 2)) + +#define MINCCC (0) +#define MAXCCC (254) +#define STOPPER (0) +#define DECOMPOSE (255) + +/* + * Use trie to scan s, touching at most len bytes. + * Returns the leaf if one exists, NULL otherwise. + * + * A non-NULL return guarantees that the UTF-8 sequence starting at s + * is well-formed and corresponds to a known unicode code point. The + * shorthand for this will be "is valid UTF-8 unicode". + */ +static utf8leaf_t * +utf8nlookup(utf8data_t data, const char *s, size_t len) +{ + utf8trie_t *trie = utf8data + data->offset; + int offlen; + int offset; + int mask; + int node; + + if (!data) + return NULL; + if (len == 0) + return NULL; + node = 1; + while (node) { + offlen = (*trie & OFFLEN) >> OFFLEN_SHIFT; + if (*trie & NEXTBYTE) { + if (--len == 0) + return NULL; + s++; + } + mask = 1 << (*trie & BITNUM); + if (*s & mask) { + /* Right leg */ + if (offlen) { + /* Right node at offset of trie */ + node = (*trie & RIGHTNODE); + offset = trie[offlen]; + while (--offlen) { + offset <<= 8; + offset |= trie[offlen]; + } + trie += offset; + } else if (*trie & RIGHTPATH) { + /* Right node after this node */ + node = (*trie & TRIENODE); + trie++; + } else { + /* No right node. */ + node = 0; + trie = NULL; + } + } else { + /* Left leg */ + if (offlen) { + /* Left node after this node. */ + node = (*trie & LEFTNODE); + trie += offlen + 1; + } else if (*trie & RIGHTPATH) { + /* No left node. */ + node = 0; + trie = NULL; + } else { + /* Left node after this node */ + node = (*trie & TRIENODE); + trie++; + } + } + } + return trie; +} + +/* + * Use trie to scan s. + * Returns the leaf if one exists, NULL otherwise. + * + * Forwards to utf8nlookup(). + */ +static utf8leaf_t * +utf8lookup(utf8data_t data, const char *s) +{ + return utf8nlookup(data, s, (size_t)-1); +} + +/* + * Maximum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if only non-assigned code points are used. + */ +int +utf8agemax(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!data) + return -1; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age > age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Minimum age of any character in s. + * Return -1 if s is not valid UTF-8 unicode. + * Return 0 if non-assigned code points are used. + */ +int +utf8agemin(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + int age; + int leaf_age; + + if (!data) + return -1; + age = data->maxage; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age < age) + age = leaf_age; + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemax(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int age = 0; + int leaf_age; + + if (!data) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age > age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Maximum age of any character in s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +int +utf8nagemin(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + int leaf_age; + int age; + + if (!data) + return -1; + age = data->maxage; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + leaf_age = utf8agetab[LEAF_GEN(leaf)]; + if (leaf_age <= data->maxage && leaf_age < age) + age = leaf_age; + len -= utf8clen(s); + s += utf8clen(s); + } + return age; +} + +/* + * Length of the normalization of s. + * Return -1 if s is not valid UTF-8 unicode. + * + * A string of Default_Ignorable_Code_Point has length 0. + */ +ssize_t +utf8len(utf8data_t data, const char *s) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!data) + return -1; + while (*s) { + if (!(leaf = utf8lookup(data, s))) + return -1; + if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Length of the normalization of s, touch at most len bytes. + * Return -1 if s is not valid UTF-8 unicode. + */ +ssize_t +utf8nlen(utf8data_t data, const char *s, size_t len) +{ + utf8leaf_t *leaf; + size_t ret = 0; + + if (!data) + return -1; + while (len && *s) { + if (!(leaf = utf8nlookup(data, s, len))) + return -1; + if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) + ret += utf8clen(s); + else if (LEAF_CCC(leaf) == DECOMPOSE) + ret += strlen(LEAF_STR(leaf)); + else + ret += utf8clen(s); + len -= utf8clen(s); + s += utf8clen(s); + } + return ret; +} + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * u8c : pointer to cursor. + * data : utf8data_t to use for normalization. + * s : string. + * len : length of s. + * + * Returns -1 on error, 0 on success. + */ +int +utf8ncursor( + struct utf8cursor *u8c, + utf8data_t data, + const char *s, + size_t len) +{ + if (!data) + return -1; + if (!s) + return -1; + u8c->data = data; + u8c->s = s; + u8c->p = NULL; + u8c->ss = NULL; + u8c->sp = NULL; + u8c->len = len; + u8c->slen = 0; + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + /* Check we didn't clobber the maximum length. */ + if (u8c->len != len) + return -1; + /* The first byte of s may not be an utf8 continuation. */ + if (len > 0 && (*s & 0xC0) == 0x80) + return -1; + return 0; +} + +/* + * Set up an utf8cursor for use by utf8byte(). + * + * u8c : pointer to cursor. + * data : utf8data_t to use for normalization. + * s : NUL-terminated string. + * + * Returns -1 on error, 0 on success. + */ +int +utf8cursor( + struct utf8cursor *u8c, + utf8data_t data, + const char *s) +{ + return utf8ncursor(u8c, data, s, (unsigned int)-1); +} + +/* + * Get one byte from the normalized form of the string described by u8c. + * + * Returns the byte cast to an unsigned char on succes, and -1 on failure. + * + * The cursor keeps track of the location in the string in u8c->s. + * When a character is decomposed, the current location is stored in + * u8c->p, and u8c->s is set to the start of the decomposition. Note + * that bytes from a decomposition do not count against u8c->len. + * + * Characters are emitted if they match the current CCC in u8c->ccc. + * Hitting end-of-string while u8c->ccc == STOPPER means we're done, + * and the function returns 0 in that case. + * + * Sorting by CCC is done by repeatedly scanning the string. The + * values of u8c->s and u8c->p are stored in u8c->ss and u8c->sp at + * the start of the scan. The first pass finds the lowest CCC to be + * emitted and stores it in u8c->nccc, the second pass emits the + * characters with this CCC and finds the next lowest CCC. This limits + * the number of passes to 1 + the number of different CCCs in the + * sequence being scanned. + * + * Therefore: + * u8c->p != NULL -> a decomposition is being scanned. + * u8c->ss != NULL -> this is a repeating scan. + * u8c->ccc == -1 -> this is the first scan of a repeating scan. + */ +int +utf8byte(struct utf8cursor *u8c) +{ + utf8leaf_t *leaf; + int ccc; + + for (;;) { + /* Check for the end of a decomposed character. */ + if (u8c->p && *u8c->s == '\0') { + u8c->s = u8c->p; + u8c->p = NULL; + } + + /* Check for end-of-string. */ + if (!u8c->p && (u8c->len == 0 || *u8c->s == '\0')) { + /* There is no next byte. */ + if (u8c->ccc == STOPPER) + return 0; + /* End-of-string during a scan counts as a stopper. */ + ccc = STOPPER; + goto ccc_mismatch; + } else if ((*u8c->s & 0xC0) == 0x80) { + /* This is a continuation of the current character. */ + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Look up the data for the current character. */ + if (u8c->p) + leaf = utf8lookup(u8c->data, u8c->s); + else + leaf = utf8nlookup(u8c->data, u8c->s, u8c->len); + + /* No leaf found implies that the input is a binary blob. */ + if (!leaf) + return -1; + + /* Characters that are too new have CCC 0. */ + if (utf8agetab[LEAF_GEN(leaf)] > u8c->data->maxage) { + ccc = STOPPER; + } else if ((ccc = LEAF_CCC(leaf)) == DECOMPOSE) { + u8c->len -= utf8clen(u8c->s); + u8c->p = u8c->s + utf8clen(u8c->s); + u8c->s = LEAF_STR(leaf); + /* Empty decomposition implies CCC 0. */ + if (*u8c->s == '\0') { + if (u8c->ccc == STOPPER) + continue; + ccc = STOPPER; + goto ccc_mismatch; + } + leaf = utf8lookup(u8c->data, u8c->s); + ccc = LEAF_CCC(leaf); + } + + /* + * If this is not a stopper, then see if it updates + * the next canonical class to be emitted. + */ + if (ccc != STOPPER && u8c->ccc < ccc && ccc < u8c->nccc) + u8c->nccc = ccc; + + /* + * Return the current byte if this is the current + * combining class. + */ + if (ccc == u8c->ccc) { + if (!u8c->p) + u8c->len--; + return (unsigned char)*u8c->s++; + } + + /* Current combining class mismatch. */ + ccc_mismatch: + if (u8c->nccc == STOPPER) { + /* + * Scan forward for the first canonical class + * to be emitted. Save the position from + * which to restart. + */ + u8c->ccc = MINCCC - 1; + u8c->nccc = ccc; + u8c->sp = u8c->p; + u8c->ss = u8c->s; + u8c->slen = u8c->len; + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (ccc != STOPPER) { + /* Not a stopper, and not the ccc we're emitting. */ + if (!u8c->p) + u8c->len -= utf8clen(u8c->s); + u8c->s += utf8clen(u8c->s); + } else if (u8c->nccc != MAXCCC + 1) { + /* At a stopper, restart for next ccc. */ + u8c->ccc = u8c->nccc; + u8c->nccc = MAXCCC + 1; + u8c->s = u8c->ss; + u8c->p = u8c->sp; + u8c->len = u8c->slen; + } else { + /* All done, proceed from here. */ + u8c->ccc = STOPPER; + u8c->nccc = STOPPER; + u8c->sp = NULL; + u8c->ss = NULL; + u8c->slen = 0; + } + } +} + +const struct utf8data * +utf8nfkdi(unsigned int maxage) +{ + int i = sizeof(utf8nfkdidata)/sizeof(utf8nfkdidata[0]) - 1; + + while (maxage < utf8nfkdidata[i].maxage) + i--; + if (maxage > utf8nfkdidata[i].maxage) + return NULL; + return &utf8nfkdidata[i]; +} + +const struct utf8data * +utf8nfkdicf(unsigned int maxage) +{ + int i = sizeof(utf8nfkdicfdata)/sizeof(utf8nfkdicfdata[0]) - 1; + + while (maxage < utf8nfkdicfdata[i].maxage) + i--; + if (maxage > utf8nfkdicfdata[i].maxage) + return NULL; + return &utf8nfkdicfdata[i]; +} -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:08: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=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 1C1BC7F3F for ; Fri, 3 Oct 2014 17:08:43 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id E78B78F8059; Fri, 3 Oct 2014 15:08:42 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 917424266DC; Fri, 3 Oct 2014 17:08:42 -0500 (CDT) Date: Fri, 3 Oct 2014 17:08:42 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 20/35] xfsprogs: reduce the size of utf8data[] Message-ID: <20141003220842.GT1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Remove the Hangul decompositions from the utf8data trie, and do algorithmic decomposition to calculate them on the fly. To store the decomposition the caller of utf8lookup()/utf8nlookup() must provide a 12-byte buffer, which is used to synthesize a leaf with the decomposition. Trie size is reduced from 245kB to 90kB. This change also contains a number of robustness fixes to the trie generator mkutf8data.c. Signed-off-by: Olaf Weber --- include/utf8norm.h | 4 + libxfs/utf8norm.c | 190 ++++++++++++++++++++--- utf8norm/mkutf8data.c | 421 ++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 492 insertions(+), 123 deletions(-) diff --git a/include/utf8norm.h b/include/utf8norm.h index cd77580..44a869c 100644 --- a/include/utf8norm.h +++ b/include/utf8norm.h @@ -22,6 +22,9 @@ /* An opaque type used to determine the normalization in use. */ typedef const struct utf8data *utf8data_t; +/* Needed in struct utf8cursor below. */ +#define UTF8HANGULLEAF (12) + /* Encoding a unicode version number as a single unsigned int. */ #define UNICODE_MAJ_SHIFT (16) #define UNICODE_MIN_SHIFT (8) @@ -90,6 +93,7 @@ struct utf8cursor { unsigned int slen; short int ccc; short int nccc; + unsigned char hangul[UTF8HANGULLEAF]; }; /* diff --git a/libxfs/utf8norm.c b/libxfs/utf8norm.c index 8076e99..5c5ece5 100644 --- a/libxfs/utf8norm.c +++ b/libxfs/utf8norm.c @@ -103,6 +103,38 @@ utf8clen(const char *s) } /* + * Decode a 3-byte UTF-8 sequence. + */ +static unsigned int +utf8decode3(const char *str) +{ + unsigned int uc; + + uc = *str++ & 0x0F; + uc <<= 6; + uc |= *str++ & 0x3F; + uc <<= 6; + uc |= *str++ & 0x3F; + + return uc; +} + +/* + * Encode a 3-byte UTF-8 sequence. + */ +static int +utf8encode3(char *str, unsigned int val) +{ + str[2] = (val & 0x3F) | 0x80; + val >>= 6; + str[1] = (val & 0x3F) | 0x80; + val >>= 6; + str[0] = val | 0xE0; + + return 3; +} + +/* * utf8trie_t * * A compact binary tree, used to decode UTF-8 characters. @@ -163,7 +195,8 @@ typedef const unsigned char utf8trie_t; * characters with the Default_Ignorable_Code_Point property. * These do affect normalization, as they all have CCC 0. * - * The decompositions in the trie have been fully expanded. + * The decompositions in the trie have been fully expanded, with the + * exception of Hangul syllables, which are decomposed algorithmically. * * Casefolding, if applicable, is also done using decompositions. * @@ -183,6 +216,105 @@ typedef const unsigned char utf8leaf_t; #define STOPPER (0) #define DECOMPOSE (255) +/* Marker for hangul syllable decomposition. */ +#define HANGUL ((char)(255)) +/* Size of the synthesized leaf used for Hangul syllable decomposition. */ +#define UTF8HANGULLEAF (12) + +/* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount) + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + */ + +/* Constants */ +#define SB (0xAC00) +#define LB (0x1100) +#define VB (0x1161) +#define TB (0x11A7) +#define LC (19) +#define VC (21) +#define TC (28) +#define NC (VC * TC) +#define SC (LC * NC) + +/* Algorithmic decomposition of hangul syllable. */ +static utf8leaf_t * +utf8hangul(const char *str, unsigned char *hangul) +{ + unsigned int si; + unsigned int li; + unsigned int vi; + unsigned int ti; + unsigned char *h; + + /* Calculate the SI, LI, VI, and TI values. */ + si = utf8decode3(str) - SB; + li = si / NC; + vi = (si % NC) / TC; + ti = si % TC; + + /* Fill in base of leaf. */ + h = hangul; + LEAF_GEN(h) = 2; + LEAF_CCC(h) = DECOMPOSE; + h += 2; + + /* Add LPart, a 3-byte UTF-8 sequence. */ + h += utf8encode3((char*)h, li + LB); + + /* Add VPart, a 3-byte UTF-8 sequence. */ + h += utf8encode3((char*)h, vi + VB); + + /* Add TPart if required, also a 3-byte UTF-8 sequence. */ + if (ti) + h += utf8encode3((char*)h, ti + TB); + + /* Terminate string. */ + h[0] = '\0'; + + return hangul; +} + /* * Use trie to scan s, touching at most len bytes. * Returns the leaf if one exists, NULL otherwise. @@ -192,7 +324,7 @@ typedef const unsigned char utf8leaf_t; * shorthand for this will be "is valid UTF-8 unicode". */ static utf8leaf_t * -utf8nlookup(utf8data_t data, const char *s, size_t len) +utf8nlookup(utf8data_t data, unsigned char *hangul, const char *s, size_t len) { utf8trie_t *trie = utf8data + data->offset; int offlen; @@ -230,8 +362,7 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) trie++; } else { /* No right node. */ - node = 0; - trie = NULL; + return NULL; } } else { /* Left leg */ @@ -241,8 +372,7 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) trie += offlen + 1; } else if (*trie & RIGHTPATH) { /* No left node. */ - node = 0; - trie = NULL; + return NULL; } else { /* Left node after this node */ node = (*trie & TRIENODE); @@ -250,6 +380,14 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) } } } + /* + * Hangul decomposition is done algorithmically. These are the + * codepoints >= 0xAC00 and <= 0xD7A3. Their UTF-8 encoding is + * always 3 bytes long, so s has been advanced twice, and the + * start of the sequence is at s-2. + */ + if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL) + trie = utf8hangul(s - 2, hangul); return trie; } @@ -260,9 +398,9 @@ utf8nlookup(utf8data_t data, const char *s, size_t len) * Forwards to utf8nlookup(). */ static utf8leaf_t * -utf8lookup(utf8data_t data, const char *s) +utf8lookup(utf8data_t data, unsigned char *hangul, const char *s) { - return utf8nlookup(data, s, (size_t)-1); + return utf8nlookup(data, hangul, s, (size_t)-1); } /* @@ -274,13 +412,15 @@ int utf8agemax(utf8data_t data, const char *s) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; + age = 0; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age > age) @@ -301,12 +441,13 @@ utf8agemin(utf8data_t data, const char *s) utf8leaf_t *leaf; int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; age = data->maxage; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age < age) @@ -324,13 +465,15 @@ int utf8nagemax(utf8data_t data, const char *s, size_t len) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; + age = 0; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age > age) @@ -351,12 +494,13 @@ utf8nagemin(utf8data_t data, const char *s, size_t len) utf8leaf_t *leaf; int leaf_age; int age; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; age = data->maxage; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; leaf_age = utf8agetab[LEAF_GEN(leaf)]; if (leaf_age <= data->maxage && leaf_age < age) @@ -378,11 +522,12 @@ utf8len(utf8data_t data, const char *s) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; while (*s) { - if (!(leaf = utf8lookup(data, s))) + if (!(leaf = utf8lookup(data, hangul, s))) return -1; if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) ret += utf8clen(s); @@ -404,11 +549,12 @@ utf8nlen(utf8data_t data, const char *s, size_t len) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!data) return -1; while (len && *s) { - if (!(leaf = utf8nlookup(data, s, len))) + if (!(leaf = utf8nlookup(data, hangul, s, len))) return -1; if (utf8agetab[LEAF_GEN(leaf)] > data->maxage) ret += utf8clen(s); @@ -535,10 +681,12 @@ utf8byte(struct utf8cursor *u8c) } /* Look up the data for the current character. */ - if (u8c->p) - leaf = utf8lookup(u8c->data, u8c->s); - else - leaf = utf8nlookup(u8c->data, u8c->s, u8c->len); + if (u8c->p) { + leaf = utf8lookup(u8c->data, u8c->hangul, u8c->s); + } else { + leaf = utf8nlookup(u8c->data, u8c->hangul, + u8c->s, u8c->len); + } /* No leaf found implies that the input is a binary blob. */ if (!leaf) @@ -558,7 +706,7 @@ utf8byte(struct utf8cursor *u8c) ccc = STOPPER; goto ccc_mismatch; } - leaf = utf8lookup(u8c->data, u8c->s); + leaf = utf8lookup(u8c->data, u8c->hangul, u8c->s); ccc = LEAF_CCC(leaf); } diff --git a/utf8norm/mkutf8data.c b/utf8norm/mkutf8data.c index 1d6ec02..7c7756f 100644 --- a/utf8norm/mkutf8data.c +++ b/utf8norm/mkutf8data.c @@ -179,11 +179,15 @@ typedef unsigned char utf8leaf_t; #define MINCCC (0) #define MAXCCC (254) #define STOPPER (0) -#define DECOMPOSE (255) +#define DECOMPOSE (255) +#define HANGUL ((char)(255)) + +#define UTF8HANGULLEAF (12) struct tree; -static utf8leaf_t *utf8nlookup(struct tree *, const char *, size_t); -static utf8leaf_t *utf8lookup(struct tree *, const char *); +static utf8leaf_t *utf8nlookup(struct tree *, unsigned char *, + const char *, size_t); +static utf8leaf_t *utf8lookup(struct tree *, unsigned char *, const char *); unsigned char *utf8data; size_t utf8data_size; @@ -254,52 +258,52 @@ utf8trie_t *nfkdicf; #define UTF8_V_SHIFT 6 static int -utf8key(unsigned int key, char keyval[]) -{ - int keylen; - - if (key < 0x80) { - keyval[0] = key; - keylen = 1; - } else if (key < 0x800) { - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_2_BITS; - keylen = 2; - } else if (key < 0x10000) { - keyval[2] = key & UTF8_V_MASK; - keyval[2] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_3_BITS; - keylen = 3; - } else if (key < 0x110000) { - keyval[3] = key & UTF8_V_MASK; - keyval[3] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[2] = key & UTF8_V_MASK; - keyval[2] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[1] = key & UTF8_V_MASK; - keyval[1] |= UTF8_N_BITS; - key >>= UTF8_V_SHIFT; - keyval[0] = key; - keyval[0] |= UTF8_4_BITS; - keylen = 4; +utf8encode(char *str, unsigned int val) +{ + int len; + + if (val < 0x80) { + str[0] = val; + len = 1; + } else if (val < 0x800) { + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_2_BITS; + len = 2; + } else if (val < 0x10000) { + str[2] = val & UTF8_V_MASK; + str[2] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_3_BITS; + len = 3; + } else if (val < 0x110000) { + str[3] = val & UTF8_V_MASK; + str[3] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[2] = val & UTF8_V_MASK; + str[2] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[1] = val & UTF8_V_MASK; + str[1] |= UTF8_N_BITS; + val >>= UTF8_V_SHIFT; + str[0] = val; + str[0] |= UTF8_4_BITS; + len = 4; } else { - printf("%#x: illegal key\n", key); - keylen = 0; + printf("%#x: illegal val\n", val); + len = 0; } - return keylen; + return len; } static unsigned int -utf8code(const char *str) +utf8decode(const char *str) { const unsigned char *s = (const unsigned char*)str; unsigned int unichar = 0; @@ -334,6 +338,8 @@ utf32valid(unsigned int unichar) return unichar < 0x110000; } +#define HANGUL_SYLLABLE(U) ((U) >= 0xAC00 && (U) <= 0xD7A3) + #define NODE 1 #define LEAF 0 @@ -937,7 +943,7 @@ done: /* * Compute the index of each node and leaf, which is the offset in the - * emitted trie. These value must be pre-computed because relative + * emitted trie. These values must be pre-computed because relative * offsets between nodes are used to navigate the tree. */ static int @@ -958,7 +964,7 @@ index_nodes(struct tree *tree, int index) count = 0; if (verbose > 0) - printf("Indexing %s_%x: %d", tree->type, tree->maxage, index); + printf("Indexing %s_%x: %d\n", tree->type, tree->maxage, index); if (tree->childnode == LEAF) { index += tree->leaf_size(tree->root); goto done; @@ -1022,6 +1028,26 @@ done: } /* + * Mark the nodes in a subtree, helper for size_nodes(). + */ +static int +mark_subtree(struct node *node) +{ + int changed; + + if (!node || node->mark) + return 0; + node->mark = 1; + node->index = node->parent->index; + changed = 1; + if (node->leftnode == NODE) + changed += mark_subtree(node->left); + if (node->rightnode == NODE) + changed += mark_subtree(node->right); + return changed; +} + +/* * Compute the size of nodes and leaves. We start by assuming that * each node needs to store a three-byte offset. The indexes of the * nodes are calculated based on that, and then this function is @@ -1040,6 +1066,7 @@ size_nodes(struct tree *tree) unsigned int bitmask; unsigned int pathbits; unsigned int pathmask; + unsigned int nbit; int changed; int offset; int size; @@ -1050,7 +1077,7 @@ size_nodes(struct tree *tree) size = 0; if (verbose > 0) - printf("Sizing %s_%x", tree->type, tree->maxage); + printf("Sizing %s_%x\n", tree->type, tree->maxage); if (tree->childnode == LEAF) goto done; @@ -1067,22 +1094,40 @@ size_nodes(struct tree *tree) size = 1; } else { if (node->rightnode == NODE) { + /* + * If the right node is not marked, + * look for a corresponding node in + * the next tree. Such a node need + * not exist. + */ right = node->right; next = tree->next; while (!right->mark) { assert(next); n = next->root; while (n->bitnum != node->bitnum) { - if (pathbits & (1<bitnum)) + nbit = 1 << n->bitnum; + if (!(pathmask & nbit)) + break; + if (pathbits & nbit) { + if (n->rightnode==LEAF) + break; n = n->right; - else + } else { + if (n->leftnode==LEAF) + break; n = n->left; + } } + if (n->bitnum != node->bitnum) + break; n = n->right; - assert(right->bitnum == n->bitnum); right = n; next = next->next; } + /* Make sure the right node is marked. */ + if (!right->mark) + changed += mark_subtree(right); offset = right->index - node->index; } else { offset = *tree->leaf_index(tree, node->right); @@ -1158,8 +1203,15 @@ emit(struct tree *tree, unsigned char *data) int offset; int index; int indent; + int size; + int bytes; + int leaves; + int nodes[4]; unsigned char byte; + nodes[0] = nodes[1] = nodes[2] = nodes[3] = 0; + leaves = 0; + bytes = 0; index = tree->index; data += index; indent = 1; @@ -1168,7 +1220,10 @@ emit(struct tree *tree, unsigned char *data) if (tree->childnode == LEAF) { assert(tree->root); tree->leaf_emit(tree->root, data); - return; + size = tree->leaf_size(tree->root); + index += size; + leaves++; + goto done; } assert(tree->childnode == NODE); @@ -1195,6 +1250,7 @@ emit(struct tree *tree, unsigned char *data) offlen = 2; else offlen = 3; + nodes[offlen]++; offset = node->offset; byte |= offlen << OFFLEN_SHIFT; *data++ = byte; @@ -1207,12 +1263,14 @@ emit(struct tree *tree, unsigned char *data) } else if (node->left) { if (node->leftnode == NODE) byte |= TRIENODE; + nodes[0]++; *data++ = byte; index++; } else if (node->right) { byte |= RIGHTNODE; if (node->rightnode == NODE) byte |= TRIENODE; + nodes[0]++; *data++ = byte; index++; } else { @@ -1227,7 +1285,10 @@ skip: assert(node->left); data = tree->leaf_emit(node->left, data); - index += tree->leaf_size(node->left); + size = tree->leaf_size(node->left); + index += size; + bytes += size; + leaves++; } else if (node->left) { assert(node->leftnode == NODE); indent += 1; @@ -1241,7 +1302,10 @@ skip: assert(node->right); data = tree->leaf_emit(node->right, data); - index += tree->leaf_size(node->right); + size = tree->leaf_size(node->right); + index += size; + bytes += size; + leaves++; } else if (node->right) { assert(node->rightnode==NODE); indent += 1; @@ -1255,6 +1319,15 @@ skip: indent -= 1; } } +done: + if (verbose > 0) { + printf("Emitted %d (%d) leaves", + leaves, bytes); + printf(" %d (%d+%d+%d+%d) nodes", + nodes[0] + nodes[1] + nodes[2] + nodes[3], + nodes[0], nodes[1], nodes[2], nodes[3]); + printf(" %d total\n", index - tree->index); + } } /* ------------------------------------------------------------------ */ @@ -1360,7 +1433,9 @@ nfkdi_print(void *l, int indent) printf("%*sleaf @ %p code %X ccc %d gen %d", indent, "", leaf, leaf->code, leaf->ccc, leaf->gen); - if (leaf->utf8nfkdi) + if (leaf->utf8nfkdi && leaf->utf8nfkdi[0] == HANGUL) + printf(" nfkdi \"%s\"", "HANGUL SYLLABLE"); + else if (leaf->utf8nfkdi) printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); printf("\n"); } @@ -1374,6 +1449,8 @@ nfkdicf_print(void *l, int indent) leaf->code, leaf->ccc, leaf->gen); if (leaf->utf8nfkdicf) printf(" nfkdicf \"%s\"", (const char*)leaf->utf8nfkdicf); + else if (leaf->utf8nfkdi && leaf->utf8nfkdi[0] == HANGUL) + printf(" nfkdi \"%s\"", "HANGUL SYLLABLE"); else if (leaf->utf8nfkdi) printf(" nfkdi \"%s\"", (const char*)leaf->utf8nfkdi); printf("\n"); @@ -1409,7 +1486,9 @@ nfkdi_size(void *l) struct unicode_data *leaf = l; int size = 2; - if (leaf->utf8nfkdi) + if (HANGUL_SYLLABLE(leaf->code)) + size += 1; + else if (leaf->utf8nfkdi) size += strlen(leaf->utf8nfkdi) + 1; return size; } @@ -1420,7 +1499,9 @@ nfkdicf_size(void *l) struct unicode_data *leaf = l; int size = 2; - if (leaf->utf8nfkdicf) + if (HANGUL_SYLLABLE(leaf->code)) + size += 1; + else if (leaf->utf8nfkdicf) size += strlen(leaf->utf8nfkdicf) + 1; else if (leaf->utf8nfkdi) size += strlen(leaf->utf8nfkdi) + 1; @@ -1450,7 +1531,10 @@ nfkdi_emit(void *l, unsigned char *data) unsigned char *s; *data++ = leaf->gen; - if (leaf->utf8nfkdi) { + if (HANGUL_SYLLABLE(leaf->code)) { + *data++ = DECOMPOSE; + *data++ = HANGUL; + } else if (leaf->utf8nfkdi) { *data++ = DECOMPOSE; s = (unsigned char*)leaf->utf8nfkdi; while ((*data++ = *s++) != 0) @@ -1468,7 +1552,10 @@ nfkdicf_emit(void *l, unsigned char *data) unsigned char *s; *data++ = leaf->gen; - if (leaf->utf8nfkdicf) { + if (HANGUL_SYLLABLE(leaf->code)) { + *data++ = DECOMPOSE; + *data++ = HANGUL; + } else if (leaf->utf8nfkdicf) { *data++ = DECOMPOSE; s = (unsigned char*)leaf->utf8nfkdicf; while ((*data++ = *s++) != 0) @@ -1492,22 +1579,27 @@ utf8_create(struct unicode_data *data) unsigned int *um; int i; + if (data->utf8nfkdi) { + assert(data->utf8nfkdi[0] == HANGUL); + return; + } + u = utf; um = data->utf32nfkdi; if (um) { for (i = 0; um[i]; i++) - u += utf8key(um[i], u); + u += utf8encode(u, um[i]); *u = '\0'; - data->utf8nfkdi = strdup((char*)utf); + data->utf8nfkdi = strdup(utf); } u = utf; um = data->utf32nfkdicf; if (um) { for (i = 0; um[i]; i++) - u += utf8key(um[i], u); + u += utf8encode(u, um[i]); *u = '\0'; - if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, (char*)utf)) - data->utf8nfkdicf = strdup((char*)utf); + if (!data->utf8nfkdi || strcmp(data->utf8nfkdi, utf)) + data->utf8nfkdicf = strdup(utf); } } @@ -1627,7 +1719,7 @@ trees_populate(void) for (unichar = 0; unichar != 0x110000; unichar++) { if (unicode_data[unichar].gen < 0) continue; - keylen = utf8key(unichar, keyval); + keylen = utf8encode(keyval, unichar); data = corrections_lookup(&unicode_data[unichar]); if (data->correction <= trees[i].maxage) data = &unicode_data[unichar]; @@ -1682,6 +1774,7 @@ verify(struct tree *tree) utf8leaf_t *leaf; unsigned int unichar; char key[4]; + unsigned char hangul[UTF8HANGULLEAF]; int report; int nocf; @@ -1694,8 +1787,8 @@ verify(struct tree *tree) data = corrections_lookup(&unicode_data[unichar]); if (data->correction <= tree->maxage) data = &unicode_data[unichar]; - utf8key(unichar, key); - leaf = utf8lookup(tree, key); + utf8encode(key, unichar); + leaf = utf8lookup(tree, hangul, key); if (!leaf) { if (data->gen != -1) report++; @@ -1709,7 +1802,10 @@ verify(struct tree *tree) if (data->gen != LEAF_GEN(leaf)) report++; if (LEAF_CCC(leaf) == DECOMPOSE) { - if (nocf) { + if (HANGUL_SYLLABLE(data->code)) { + if (data->utf8nfkdi[0] != HANGUL) + report++; + } else if (nocf) { if (!data->utf8nfkdi) { report++; } else if (strcmp(data->utf8nfkdi, @@ -1725,7 +1821,7 @@ verify(struct tree *tree) LEAF_STR(leaf))) report++; } else if (strcmp(data->utf8nfkdi, - LEAF_STR(leaf))) { + LEAF_STR(leaf))) { report++; } } @@ -1735,13 +1831,13 @@ verify(struct tree *tree) } if (report) { printf("%X code %X gen %d ccc %d" - " nfdki -> \"%s\"", + " nfkdi -> \"%s\"", unichar, data->code, data->gen, data->ccc, data->utf8nfkdi); if (leaf) { - printf(" age %d ccc %d" - " nfdki -> \"%s\"\n", + printf(" gen %d ccc %d" + " nfkdi -> \"%s\"", LEAF_GEN(leaf), LEAF_CCC(leaf), LEAF_CCC(leaf) == DECOMPOSE ? @@ -2330,21 +2426,21 @@ corrections_init(void) * * LVT (Canonical) * LVIndex = (SIndex / TCount) * TCount - * TIndex = (Sindex % TCount - * LVPart = LBase + LVIndex + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex * TPart = TBase + TIndex * * LVT (Full) * LIndex = SIndex / NCount * VIndex = (Sindex % NCount) / TCount - * TIndex = (Sindex % TCount + * TIndex = (Sindex % TCount) * LPart = LBase + LIndex * VPart = VBase + VIndex * if (TIndex == 0) { * d = * } else { * TPart = TBase + TIndex - * d = + * d = * } * */ @@ -2394,9 +2490,17 @@ hangul_decompose(void) memcpy(um, mapping, i * sizeof(unsigned int)); unicode_data[unichar].utf32nfkdicf = um; + /* + * Add a cookie as a reminder that the hangul syllable + * decompositions must not be stored in the generated + * trie. + */ + unicode_data[unichar].utf8nfkdi = malloc(2); + unicode_data[unichar].utf8nfkdi[0] = HANGUL; + unicode_data[unichar].utf8nfkdi[1] = '\0'; + if (verbose > 1) print_utf32nfkdi(unichar); - count++; } if (verbose > 0) @@ -2522,6 +2626,100 @@ int utf8ncursor(struct utf8cursor *, struct tree *, const char *, size_t); int utf8byte(struct utf8cursor *); /* + * Hangul decomposition (algorithm from Section 3.12 of Unicode 6.3.0) + * + * AC00;;Lo;0;L;;;;;N;;;;; + * D7A3;;Lo;0;L;;;;;N;;;;; + * + * SBase = 0xAC00 + * LBase = 0x1100 + * VBase = 0x1161 + * TBase = 0x11A7 + * LCount = 19 + * VCount = 21 + * TCount = 28 + * NCount = 588 (VCount * TCount) + * SCount = 11172 (LCount * NCount) + * + * Decomposition: + * SIndex = s - SBase + * + * LV (Canonical/Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * + * LVT (Canonical) + * LVIndex = (SIndex / TCount) * TCount + * TIndex = (Sindex % TCount) + * LVPart = SBase + LVIndex + * TPart = TBase + TIndex + * + * LVT (Full) + * LIndex = SIndex / NCount + * VIndex = (Sindex % NCount) / TCount + * TIndex = (Sindex % TCount) + * LPart = LBase + LIndex + * VPart = VBase + VIndex + * if (TIndex == 0) { + * d = + * } else { + * TPart = TBase + TIndex + * d = + * } + */ + +/* Constants */ +#define SB (0xAC00) +#define LB (0x1100) +#define VB (0x1161) +#define TB (0x11A7) +#define LC (19) +#define VC (21) +#define TC (28) +#define NC (VC * TC) +#define SC (LC * NC) + +/* Algorithmic decomposition of hangul syllable. */ +static utf8leaf_t * +utf8hangul(const char *str, unsigned char *hangul) +{ + unsigned int si; + unsigned int li; + unsigned int vi; + unsigned int ti; + unsigned char *h; + + /* Calculate the SI, LI, VI, and TI values. */ + si = utf8decode(str) - SB; + li = si / NC; + vi = (si % NC) / TC; + ti = si % TC; + + /* Fill in base of leaf. */ + h = hangul; + LEAF_GEN(h) = 2; + LEAF_CCC(h) = DECOMPOSE; + h += 2; + + /* Add LPart, a 3-byte UTF-8 sequence. */ + h += utf8encode((char *)h, li + LB); + + /* Add VPart, a 3-byte UTF-8 sequence. */ + h += utf8encode((char *)h, vi + VB); + + /* Add TPart if required, also a 3-byte UTF-8 sequence. */ + if (ti) + h += utf8encode((char *)h, ti + TB); + + /* Terminate string. */ + h[0] = '\0'; + + return hangul; +} + +/* * Use trie to scan s, touching at most len bytes. * Returns the leaf if one exists, NULL otherwise. * @@ -2530,7 +2728,7 @@ int utf8byte(struct utf8cursor *); * shorthand for this will be "is valid UTF-8 unicode". */ static utf8leaf_t * -utf8nlookup(struct tree *tree, const char *s, size_t len) +utf8nlookup(struct tree *tree, unsigned char *hangul, const char *s, size_t len) { utf8trie_t *trie = utf8data + tree->index; int offlen; @@ -2568,8 +2766,7 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) trie++; } else { /* No right node. */ - node = 0; - trie = NULL; + return NULL; } } else { /* Left leg */ @@ -2579,8 +2776,7 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) trie += offlen + 1; } else if (*trie & RIGHTPATH) { /* No left node. */ - node = 0; - trie = NULL; + return NULL; } else { /* Left node after this node */ node = (*trie & TRIENODE); @@ -2588,6 +2784,14 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) } } } + /* + * Hangul decomposition is done algorithmically. These are the + * codepoints >= 0xAC00 and <= 0xD7A3. Their UTF-8 encoding is + * always 3 bytes long, so s has been advanced twice, and the + * start of the sequence is at s-2. + */ + if (LEAF_CCC(trie) == DECOMPOSE && LEAF_STR(trie)[0] == HANGUL) + trie = utf8hangul(s - 2, hangul); return trie; } @@ -2598,9 +2802,9 @@ utf8nlookup(struct tree *tree, const char *s, size_t len) * Forwards to trie_nlookup(). */ static utf8leaf_t * -utf8lookup(struct tree *tree, const char *s) +utf8lookup(struct tree *tree, unsigned char *hangul, const char *s) { - return utf8nlookup(tree, s, (size_t)-1); + return utf8nlookup(tree, hangul, s, (size_t)-1); } /* @@ -2624,13 +2828,15 @@ int utf8agemax(struct tree *tree, const char *s) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = 0; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age > age) @@ -2649,13 +2855,15 @@ int utf8agemin(struct tree *tree, const char *s) { utf8leaf_t *leaf; - int age = tree->maxage; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = tree->maxage; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age < age) @@ -2673,13 +2881,15 @@ int utf8nagemax(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; - int age = 0; + int age; int leaf_age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = 0; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age > age) @@ -2699,12 +2909,14 @@ utf8nagemin(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; int leaf_age; - int age = tree->maxage; + int age; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; + age = tree->maxage; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; leaf_age = ages[LEAF_GEN(leaf)]; if (leaf_age <= tree->maxage && leaf_age < age) @@ -2726,11 +2938,12 @@ utf8len(struct tree *tree, const char *s) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; while (*s) { - if (!(leaf = utf8lookup(tree, s))) + if (!(leaf = utf8lookup(tree, hangul, s))) return -1; if (ages[LEAF_GEN(leaf)] > tree->maxage) ret += utf8clen(s); @@ -2752,11 +2965,12 @@ utf8nlen(struct tree *tree, const char *s, size_t len) { utf8leaf_t *leaf; size_t ret = 0; + unsigned char hangul[UTF8HANGULLEAF]; if (!tree) return -1; while (len && *s) { - if (!(leaf = utf8nlookup(tree, s, len))) + if (!(leaf = utf8nlookup(tree, hangul, s, len))) return -1; if (ages[LEAF_GEN(leaf)] > tree->maxage) ret += utf8clen(s); @@ -2784,6 +2998,7 @@ struct utf8cursor { short int ccc; short int nccc; unsigned int unichar; + unsigned char hangul[UTF8HANGULLEAF]; }; /* @@ -2900,10 +3115,12 @@ utf8byte(struct utf8cursor *u8c) } /* Look up the data for the current character. */ - if (u8c->p) - leaf = utf8lookup(u8c->tree, u8c->s); - else - leaf = utf8nlookup(u8c->tree, u8c->s, u8c->len); + if (u8c->p) { + leaf = utf8lookup(u8c->tree, u8c->hangul, u8c->s); + } else { + leaf = utf8nlookup(u8c->tree, u8c->hangul, + u8c->s, u8c->len); + } /* No leaf found implies that the input is a binary blob. */ if (!leaf) @@ -2923,10 +3140,10 @@ utf8byte(struct utf8cursor *u8c) ccc = STOPPER; goto ccc_mismatch; } - leaf = utf8lookup(u8c->tree, u8c->s); + leaf = utf8lookup(u8c->tree, u8c->hangul, u8c->s); ccc = LEAF_CCC(leaf); } - u8c->unichar = utf8code(u8c->s); + u8c->unichar = utf8decode(u8c->s); /* * If this is not a stopper, then see if it updates @@ -3055,7 +3272,7 @@ normalization_test(void) t = buf2; while (*s) { unichar = strtoul(s, &s, 16); - t += utf8key(unichar, t); + t += utf8encode(t, unichar); } *t = '\0'; @@ -3068,13 +3285,13 @@ normalization_test(void) if (data->utf8nfkdi && !*data->utf8nfkdi) ignorables = 1; else - t += utf8key(unichar, t); + t += utf8encode(t, unichar); } *t = '\0'; tests++; if (normalize_line(nfkdi_tree) < 0) { - printf("\nline %s -> %s", buf0, buf1); + printf("Line %s -> %s", buf0, buf1); if (ignorables) printf(" (ignorables removed)"); printf(" failure\n"); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17: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=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 4E1367F3F for ; Fri, 3 Oct 2014 17:09:16 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1F27F8F8059; Fri, 3 Oct 2014 15:09:16 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id DBFB14266DC; Fri, 3 Oct 2014 17:09:15 -0500 (CDT) Date: Fri, 3 Oct 2014 17:09:15 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 21/35] libxfs: return the first match during case-insensitive lookup Message-ID: <20141003220915.GU1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Change the XFS case-insensitive lookup code to return the first match found, even if it is not an exact match. Whether a filesystem uses case-insensitive lookups is determined by a superblock bit set during filesystem creation. This means that normal use cannot create two files that both match the same filename. Signed-off-by: Olaf Weber --- libxfs/xfs_dir2_block.c | 17 ++++------- libxfs/xfs_dir2_leaf.c | 38 ++++------------------- libxfs/xfs_dir2_node.c | 80 ++++++++++++++++++------------------------------- libxfs/xfs_dir2_sf.c | 8 ++--- 4 files changed, 44 insertions(+), 99 deletions(-) diff --git a/libxfs/xfs_dir2_block.c b/libxfs/xfs_dir2_block.c index cede01f..2880431 100644 --- a/libxfs/xfs_dir2_block.c +++ b/libxfs/xfs_dir2_block.c @@ -705,28 +705,21 @@ xfs_dir2_block_lookup_int( dep = (xfs_dir2_data_entry_t *) ((char *)hdr + xfs_dir2_dataptr_to_off(mp, addr)); /* - * Compare name and if it's an exact match, return the index - * and buffer. If it's the first case-insensitive match, store - * the index and buffer and continue looking for an exact match. + * Compare name and if it's a match, return the + * index and buffer. */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; *bpp = bp; *entno = mid; - if (cmp == XFS_CMP_EXACT) - return 0; + return 0; } } while (++mid < be32_to_cpu(btp->count) && be32_to_cpu(blp[mid].hashval) == hash); ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); - /* - * Here, we can only be doing a lookup (not a rename or replace). - * If a case-insensitive match was found earlier, return success. - */ - if (args->cmpresult == XFS_CMP_CASE) - return 0; + ASSERT(args->cmpresult == XFS_CMP_DIFFERENT); /* * No match, release the buffer and return ENOENT. */ diff --git a/libxfs/xfs_dir2_leaf.c b/libxfs/xfs_dir2_leaf.c index 8e0cbc9..b1901d3 100644 --- a/libxfs/xfs_dir2_leaf.c +++ b/libxfs/xfs_dir2_leaf.c @@ -1246,7 +1246,6 @@ xfs_dir2_leaf_lookup_int( xfs_mount_t *mp; /* filesystem mount point */ xfs_dir2_db_t newdb; /* new data block number */ xfs_trans_t *tp; /* transaction pointer */ - xfs_dir2_db_t cidb = -1; /* case match data block no. */ enum xfs_dacmp cmp; /* name compare result */ struct xfs_dir2_leaf_entry *ents; struct xfs_dir3_icleaf_hdr leafhdr; @@ -1307,47 +1306,22 @@ xfs_dir2_leaf_lookup_int( dep = (xfs_dir2_data_entry_t *)((char *)dbp->b_addr + xfs_dir2_dataptr_to_off(mp, be32_to_cpu(lep->address))); /* - * Compare name and if it's an exact match, return the index - * and buffer. If it's the first case-insensitive match, store - * the index and buffer and continue looking for an exact match. + * Compare name and if it's a match, return the index + * and buffer. */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; *indexp = index; - /* case exact match: return the current buffer. */ - if (cmp == XFS_CMP_EXACT) { - *dbpp = dbp; - return 0; - } - cidb = curdb; + *dbpp = dbp; + return 0; } } ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); - /* - * Here, we can only be doing a lookup (not a rename or remove). - * If a case-insensitive match was found earlier, re-read the - * appropriate data block if required and return it. - */ - if (args->cmpresult == XFS_CMP_CASE) { - ASSERT(cidb != -1); - if (cidb != curdb) { - xfs_trans_brelse(tp, dbp); - error = xfs_dir3_data_read(tp, dp, - xfs_dir2_db_to_da(mp, cidb), - -1, &dbp); - if (error) { - xfs_trans_brelse(tp, lbp); - return error; - } - } - *dbpp = dbp; - return 0; - } + ASSERT(args->cmpresult == XFS_CMP_DIFFERENT); /* * No match found, return ENOENT. */ - ASSERT(cidb == -1); if (dbp) xfs_trans_brelse(tp, dbp); xfs_trans_brelse(tp, lbp); diff --git a/libxfs/xfs_dir2_node.c b/libxfs/xfs_dir2_node.c index 3737e4e..fb27506 100644 --- a/libxfs/xfs_dir2_node.c +++ b/libxfs/xfs_dir2_node.c @@ -702,6 +702,7 @@ xfs_dir2_leafn_lookup_for_entry( xfs_dir2_db_t curdb = -1; /* current data block number */ xfs_dir2_data_entry_t *dep; /* data block entry */ xfs_inode_t *dp; /* incore directory inode */ + int di = -1; /* data entry index */ int error; /* error return value */ int index; /* leaf entry index */ xfs_dir2_leaf_t *leaf; /* leaf structure */ @@ -733,6 +734,7 @@ xfs_dir2_leafn_lookup_for_entry( if (state->extravalid) { curbp = state->extrablk.bp; curdb = state->extrablk.blkno; + di = state->extrablk.index; } /* * Loop over leaf entries with the right hash value. @@ -757,27 +759,20 @@ xfs_dir2_leafn_lookup_for_entry( */ if (newdb != curdb) { /* - * If we had a block before that we aren't saving - * for a CI name, drop it + * If we had a block, drop it */ - if (curbp && (args->cmpresult == XFS_CMP_DIFFERENT || - curdb != state->extrablk.blkno)) + if (curbp) { xfs_trans_brelse(tp, curbp); + di = -1; + } /* - * If needing the block that is saved with a CI match, - * use it otherwise read in the new data block. + * Read in the new data block. */ - if (args->cmpresult != XFS_CMP_DIFFERENT && - newdb == state->extrablk.blkno) { - ASSERT(state->extravalid); - curbp = state->extrablk.bp; - } else { - error = xfs_dir3_data_read(tp, dp, - xfs_dir2_db_to_da(mp, newdb), - -1, &curbp); - if (error) - return error; - } + error = xfs_dir3_data_read(tp, dp, + xfs_dir2_db_to_da(mp, newdb), + -1, &curbp); + if (error) + return error; xfs_dir3_data_check(dp, curbp); curdb = newdb; } @@ -787,53 +782,36 @@ xfs_dir2_leafn_lookup_for_entry( dep = (xfs_dir2_data_entry_t *)((char *)curbp->b_addr + xfs_dir2_dataptr_to_off(mp, be32_to_cpu(lep->address))); /* - * Compare the entry and if it's an exact match, return - * EEXIST immediately. If it's the first case-insensitive - * match, store the block & inode number and continue looking. + * Compare the entry and if it's a match, return + * EEXIST immediately. */ cmp = mp->m_dirnameops->compname(args, dep->name, dep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { - /* If there is a CI match block, drop it */ - if (args->cmpresult != XFS_CMP_DIFFERENT && - curdb != state->extrablk.blkno) - xfs_trans_brelse(tp, state->extrablk.bp); + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; args->inumber = be64_to_cpu(dep->inumber); args->filetype = xfs_dir3_dirent_get_ftype(mp, dep); - *indexp = index; - state->extravalid = 1; - state->extrablk.bp = curbp; - state->extrablk.blkno = curdb; - state->extrablk.index = (int)((char *)dep - - (char *)curbp->b_addr); - state->extrablk.magic = XFS_DIR2_DATA_MAGIC; - curbp->b_ops = &xfs_dir3_data_buf_ops; - xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); - if (cmp == XFS_CMP_EXACT) - return XFS_ERROR(EEXIST); + error = EEXIST; + goto out; } } + /* Didn't find a match */ + error = ENOENT; ASSERT(index == leafhdr.count || (args->op_flags & XFS_DA_OP_OKNOENT)); +out: if (curbp) { - if (args->cmpresult == XFS_CMP_DIFFERENT) { - /* Giving back last used data block. */ - state->extravalid = 1; - state->extrablk.bp = curbp; - state->extrablk.index = -1; - state->extrablk.blkno = curdb; - state->extrablk.magic = XFS_DIR2_DATA_MAGIC; - curbp->b_ops = &xfs_dir3_data_buf_ops; - xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); - } else { - /* If the curbp is not the CI match block, drop it */ - if (state->extrablk.bp != curbp) - xfs_trans_brelse(tp, curbp); - } + /* Giving back last used data block. */ + state->extravalid = 1; + state->extrablk.bp = curbp; + state->extrablk.index = di; + state->extrablk.blkno = curdb; + state->extrablk.magic = XFS_DIR2_DATA_MAGIC; + curbp->b_ops = &xfs_dir3_data_buf_ops; + xfs_trans_buf_set_type(tp, curbp, XFS_BLFT_DIR_DATA_BUF); } else { state->extravalid = 0; } *indexp = index; - return XFS_ERROR(ENOENT); + return XFS_ERROR(error); } /* diff --git a/libxfs/xfs_dir2_sf.c b/libxfs/xfs_dir2_sf.c index 7580333..7b01d43 100644 --- a/libxfs/xfs_dir2_sf.c +++ b/libxfs/xfs_dir2_sf.c @@ -833,13 +833,12 @@ xfs_dir2_sf_lookup( for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; i++, sfep = xfs_dir3_sf_nextentry(dp->i_mount, sfp, sfep)) { /* - * Compare name and if it's an exact match, return the inode - * number. If it's the first case-insensitive match, store the - * inode number and continue looking for an exact match. + * Compare name and if it's a match, return the inode + * number. */ cmp = dp->i_mount->m_dirnameops->compname(args, sfep->name, sfep->namelen); - if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { + if (cmp != XFS_CMP_DIFFERENT) { args->cmpresult = cmp; args->inumber = xfs_dir3_sfe_get_ino(dp->i_mount, sfp, sfep); @@ -848,6 +847,7 @@ xfs_dir2_sf_lookup( if (cmp == XFS_CMP_EXACT) return XFS_ERROR(EEXIST); ci_sfep = sfep; + break; } } ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:10: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1C8BC7F3F for ; Fri, 3 Oct 2014 17:10:00 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id E86408F8059; Fri, 3 Oct 2014 15:09:59 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id C21D34266DC; Fri, 3 Oct 2014 17:09:59 -0500 (CDT) Date: Fri, 3 Oct 2014 17:09:59 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 22/35] libxfs: rename XFS_CMP_CASE to XFS_CMP_MATCH Message-ID: <20141003220959.GV1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Rename XFS_CMP_CASE to XFS_CMP_MATCH. With unicode filenames and normalization, different strings will match on other criteria than case insensitivity. Signed-off-by: Olaf Weber --- include/xfs_da_btree.h | 2 +- libxfs/xfs_dir2.c | 9 ++++++--- libxfs/xfs_dir2_node.c | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/xfs_da_btree.h b/include/xfs_da_btree.h index e492dca..3d9f9dd 100644 --- a/include/xfs_da_btree.h +++ b/include/xfs_da_btree.h @@ -34,7 +34,7 @@ struct zone; enum xfs_dacmp { XFS_CMP_DIFFERENT, /* names are completely different */ XFS_CMP_EXACT, /* names are exactly the same */ - XFS_CMP_CASE /* names are same but differ in case */ + XFS_CMP_MATCH /* names are same but differ in encoding */ }; /* diff --git a/libxfs/xfs_dir2.c b/libxfs/xfs_dir2.c index 4c8c836..57e98a3 100644 --- a/libxfs/xfs_dir2.c +++ b/libxfs/xfs_dir2.c @@ -72,7 +72,7 @@ xfs_ascii_ci_compname( continue; if (tolower(args->name[i]) != tolower(name[i])) return XFS_CMP_DIFFERENT; - result = XFS_CMP_CASE; + result = XFS_CMP_MATCH; } return result; @@ -248,8 +248,11 @@ xfs_dir_cilookup_result( { if (args->cmpresult == XFS_CMP_DIFFERENT) return ENOENT; - if (args->cmpresult != XFS_CMP_CASE || - !(args->op_flags & XFS_DA_OP_CILOOKUP)) + if (args->cmpresult == XFS_CMP_EXACT) + return EEXIST; + ASSERT(args->cmpresult == XFS_CMP_MATCH); + /* Only dup the found name if XFS_DA_OP_CILOOKUP is set. */ + if (!(args->op_flags & XFS_DA_OP_CILOOKUP)) return EEXIST; args->value = kmem_alloc(len, KM_NOFS | KM_MAYFAIL); diff --git a/libxfs/xfs_dir2_node.c b/libxfs/xfs_dir2_node.c index fb27506..550ca99 100644 --- a/libxfs/xfs_dir2_node.c +++ b/libxfs/xfs_dir2_node.c @@ -2034,7 +2034,7 @@ xfs_dir2_node_lookup( error = xfs_da3_node_lookup_int(state, &rval); if (error) rval = error; - else if (rval == ENOENT && args->cmpresult == XFS_CMP_CASE) { + else if (rval == ENOENT && args->cmpresult == XFS_CMP_MATCH) { /* If a CI match, dup the actual name and return EEXIST */ xfs_dir2_data_entry_t *dep; -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:10: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EC2717F3F for ; Fri, 3 Oct 2014 17:10:38 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id CBBF68F804C; Fri, 3 Oct 2014 15:10:38 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 901C04266DC; Fri, 3 Oct 2014 17:10:38 -0500 (CDT) Date: Fri, 3 Oct 2014 17:10:38 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 23/35] libxfs: add xfs_nameops.normhash Message-ID: <20141003221038.GW1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Add a normhash callout to the xfs_nameops. This callout takes an xfs_da_args structure as its argument, and calculates a hash value over the name. It may in the process create a normalized form of the name, and assign that to the norm/normlen fields in the xfs_da_args structure. Changes: The pointer in kmem_free() was type converted to suppress compiler warnings. Signed-off-by: Olaf Weber --- include/xfs_da_btree.h | 3 +++ libxfs/xfs_da_btree.c | 9 ++++++++ libxfs/xfs_dir2.c | 56 +++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/include/xfs_da_btree.h b/include/xfs_da_btree.h index 3d9f9dd..f532d63 100644 --- a/include/xfs_da_btree.h +++ b/include/xfs_da_btree.h @@ -42,7 +42,9 @@ enum xfs_dacmp { */ typedef struct xfs_da_args { const __uint8_t *name; /* string (maybe not NULL terminated) */ + const __uint8_t *norm; /* normalized name (may be NULL) */ int namelen; /* length of string (maybe no NULL) */ + int normlen; /* length of normalized name */ __uint8_t filetype; /* filetype of inode for directories */ __uint8_t *value; /* set of bytes (maybe contain NULLs) */ int valuelen; /* length of value */ @@ -131,6 +133,7 @@ typedef struct xfs_da_state { */ struct xfs_nameops { xfs_dahash_t (*hashname)(struct xfs_name *); + int (*normhash)(struct xfs_da_args *); enum xfs_dacmp (*compname)(struct xfs_da_args *, const unsigned char *, int); }; diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c index b731b54..eb97317 100644 --- a/libxfs/xfs_da_btree.c +++ b/libxfs/xfs_da_btree.c @@ -2000,8 +2000,17 @@ xfs_default_hashname( return xfs_da_hashname(name->name, name->len); } +STATIC int +xfs_da_normhash( + struct xfs_da_args *args) +{ + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + const struct xfs_nameops xfs_default_nameops = { .hashname = xfs_default_hashname, + .normhash = xfs_da_normhash, .compname = xfs_da_compname }; diff --git a/libxfs/xfs_dir2.c b/libxfs/xfs_dir2.c index 57e98a3..e52d082 100644 --- a/libxfs/xfs_dir2.c +++ b/libxfs/xfs_dir2.c @@ -54,6 +54,21 @@ xfs_ascii_ci_hashname( return hash; } +STATIC int +xfs_ascii_ci_normhash( + struct xfs_da_args *args) +{ + xfs_dahash_t hash; + int i; + + for (i = 0, hash = 0; i < args->namelen; i++) + hash = tolower(args->name[i]) ^ rol32(hash, 7); + + args->hashval = hash; + return 0; +} + + STATIC enum xfs_dacmp xfs_ascii_ci_compname( struct xfs_da_args *args, @@ -80,6 +95,7 @@ xfs_ascii_ci_compname( static struct xfs_nameops xfs_ascii_ci_nameops = { .hashname = xfs_ascii_ci_hashname, + .normhash = xfs_ascii_ci_normhash, .compname = xfs_ascii_ci_compname, }; @@ -211,7 +227,6 @@ xfs_dir_createname( args.name = name->name; args.namelen = name->len; args.filetype = name->type; - args.hashval = dp->i_mount->m_dirnameops->hashname(name); args.inumber = inum; args.dp = dp; args.firstblock = first; @@ -220,19 +235,24 @@ xfs_dir_createname( args.whichfork = XFS_DATA_FORK; args.trans = tp; args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; + if ((rval = dp->i_mount->m_dirnameops->normhash(&args))) + return rval; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) rval = xfs_dir2_sf_addname(&args); else if ((rval = xfs_dir2_isblock(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_block_addname(&args); else if ((rval = xfs_dir2_isleaf(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_leaf_addname(&args); else rval = xfs_dir2_node_addname(&args); +out_free: + if (args.norm) + kmem_free((void *)args.norm); return rval; } @@ -289,22 +309,23 @@ xfs_dir_lookup( args.name = name->name; args.namelen = name->len; args.filetype = name->type; - args.hashval = dp->i_mount->m_dirnameops->hashname(name); args.dp = dp; args.whichfork = XFS_DATA_FORK; args.trans = tp; args.op_flags = XFS_DA_OP_OKNOENT; if (ci_name) args.op_flags |= XFS_DA_OP_CILOOKUP; + if ((rval = dp->i_mount->m_dirnameops->normhash(&args))) + return rval; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) rval = xfs_dir2_sf_lookup(&args); else if ((rval = xfs_dir2_isblock(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_block_lookup(&args); else if ((rval = xfs_dir2_isleaf(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_leaf_lookup(&args); else @@ -318,6 +339,9 @@ xfs_dir_lookup( ci_name->len = args.valuelen; } } +out_free: + if (args.norm) + kmem_free((void *)args.norm); return rval; } @@ -345,7 +369,6 @@ xfs_dir_removename( args.name = name->name; args.namelen = name->len; args.filetype = name->type; - args.hashval = dp->i_mount->m_dirnameops->hashname(name); args.inumber = ino; args.dp = dp; args.firstblock = first; @@ -353,19 +376,24 @@ xfs_dir_removename( args.total = total; args.whichfork = XFS_DATA_FORK; args.trans = tp; + if ((rval = dp->i_mount->m_dirnameops->normhash(&args))) + return rval; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) rval = xfs_dir2_sf_removename(&args); else if ((rval = xfs_dir2_isblock(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_block_removename(&args); else if ((rval = xfs_dir2_isleaf(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_leaf_removename(&args); else rval = xfs_dir2_node_removename(&args); +out_free: + if (args.norm) + kmem_free((void *)args.norm); return rval; } @@ -395,7 +423,6 @@ xfs_dir_replace( args.name = name->name; args.namelen = name->len; args.filetype = name->type; - args.hashval = dp->i_mount->m_dirnameops->hashname(name); args.inumber = inum; args.dp = dp; args.firstblock = first; @@ -403,19 +430,24 @@ xfs_dir_replace( args.total = total; args.whichfork = XFS_DATA_FORK; args.trans = tp; + if ((rval = dp->i_mount->m_dirnameops->normhash(&args))) + return rval; if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) rval = xfs_dir2_sf_replace(&args); else if ((rval = xfs_dir2_isblock(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_block_replace(&args); else if ((rval = xfs_dir2_isleaf(tp, dp, &v))) - return rval; + goto out_free; else if (v) rval = xfs_dir2_leaf_replace(&args); else rval = xfs_dir2_node_replace(&args); +out_free: + if (args.norm) + kmem_free((void *)args.norm); return rval; } -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:11: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=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 9259C7F3F for ; Fri, 3 Oct 2014 17:11:10 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 61A188F8040; Fri, 3 Oct 2014 15:11:10 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 3024A4266DC; Fri, 3 Oct 2014 17:11:10 -0500 (CDT) Date: Fri, 3 Oct 2014 17:11:10 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 24/35] libxfs: change interface of xfs_nameops.hashname Message-ID: <20141003221110.GX1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber With the introduction of the xfs_nameops.normhash callout, all uses of the hashname callout now occur in places where an xfs_name structure must be explicitly created just to match the parameter passing convention of this callout. Change the arguments to a const unsigned char * and int instead. Signed-off-by: Olaf Weber [v2: pass a 3rd argument for sb_utf8version to hashname. --bpm] --- db/check.c | 7 +++---- include/xfs_da_btree.h | 3 ++- libxfs/xfs_da_btree.c | 18 ++++++++++-------- libxfs/xfs_dir2.c | 11 +++++++---- libxfs/xfs_dir2_block.c | 7 +++---- libxfs/xfs_dir2_data.c | 7 +++---- repair/phase6.c | 3 ++- 7 files changed, 30 insertions(+), 26 deletions(-) diff --git a/db/check.c b/db/check.c index 4fd9fd0..d317a71 100644 --- a/db/check.c +++ b/db/check.c @@ -2212,7 +2212,6 @@ process_data_dir_v2( int stale = 0; int tag_err; __be16 *tagp; - struct xfs_name xname; data = iocur_top->data; block = iocur_top->data; @@ -2323,9 +2322,9 @@ process_data_dir_v2( tag_err += be16_to_cpu(*tagp) != (char *)dep - (char *)data; addr = xfs_dir2_db_off_to_dataptr(mp, db, (char *)dep - (char *)data); - xname.name = dep->name; - xname.len = dep->namelen; - dir_hash_add(mp->m_dirnameops->hashname(&xname), addr); + dir_hash_add(mp->m_dirnameops->hashname(dep->name, + dep->namelen, + 0 /* version for later */), addr); ptr += xfs_dir3_data_entsize(mp, dep->namelen); count++; lastfree = 0; diff --git a/include/xfs_da_btree.h b/include/xfs_da_btree.h index f532d63..33efd3e 100644 --- a/include/xfs_da_btree.h +++ b/include/xfs_da_btree.h @@ -132,7 +132,8 @@ typedef struct xfs_da_state { * Name ops for directory and/or attr name operations */ struct xfs_nameops { - xfs_dahash_t (*hashname)(struct xfs_name *); + xfs_dahash_t (*hashname)(const unsigned char *, int, + unsigned int); int (*normhash)(struct xfs_da_args *); enum xfs_dacmp (*compname)(struct xfs_da_args *, const unsigned char *, int); diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c index eb97317..c9784bd 100644 --- a/libxfs/xfs_da_btree.c +++ b/libxfs/xfs_da_btree.c @@ -1983,6 +1983,15 @@ xfs_da_hashname(const __uint8_t *name, int namelen) } } +xfs_dahash_t +xfs_da_hashname_op( + const __uint8_t *name, + int namelen, + unsigned int unused) +{ + return xfs_da_hashname(name, namelen); +} + enum xfs_dacmp xfs_da_compname( struct xfs_da_args *args, @@ -1993,13 +2002,6 @@ xfs_da_compname( XFS_CMP_EXACT : XFS_CMP_DIFFERENT; } -static xfs_dahash_t -xfs_default_hashname( - struct xfs_name *name) -{ - return xfs_da_hashname(name->name, name->len); -} - STATIC int xfs_da_normhash( struct xfs_da_args *args) @@ -2009,7 +2011,7 @@ xfs_da_normhash( } const struct xfs_nameops xfs_default_nameops = { - .hashname = xfs_default_hashname, + .hashname = xfs_da_hashname_op, .normhash = xfs_da_normhash, .compname = xfs_da_compname }; diff --git a/libxfs/xfs_dir2.c b/libxfs/xfs_dir2.c index e52d082..191925d 100644 --- a/libxfs/xfs_dir2.c +++ b/libxfs/xfs_dir2.c @@ -43,13 +43,15 @@ const unsigned char xfs_mode_to_ftype[S_IFMT >> S_SHIFT] = { */ STATIC xfs_dahash_t xfs_ascii_ci_hashname( - struct xfs_name *name) + const unsigned char *name, + int len, + unsigned int unused) { xfs_dahash_t hash; int i; - for (i = 0, hash = 0; i < name->len; i++) - hash = tolower(name->name[i]) ^ rol32(hash, 7); + for (i = 0, hash = 0; i < len; i++) + hash = tolower(name[i]) ^ rol32(hash, 7); return hash; } @@ -475,7 +477,8 @@ xfs_dir_canenter( args.name = name->name; args.namelen = name->len; args.filetype = name->type; - args.hashval = dp->i_mount->m_dirnameops->hashname(name); + args.hashval = dp->i_mount->m_dirnameops->hashname(name->name, + name->len, 0 /* version for later */); args.dp = dp; args.whichfork = XFS_DATA_FORK; args.trans = tp; diff --git a/libxfs/xfs_dir2_block.c b/libxfs/xfs_dir2_block.c index 2880431..c26308e 100644 --- a/libxfs/xfs_dir2_block.c +++ b/libxfs/xfs_dir2_block.c @@ -1047,7 +1047,6 @@ xfs_dir2_sf_to_block( xfs_dir2_sf_hdr_t *sfp; /* shortform header */ __be16 *tagp; /* end of data entry */ xfs_trans_t *tp; /* transaction pointer */ - struct xfs_name name; struct xfs_ifork *ifp; trace_xfs_dir2_sf_to_block(args); @@ -1205,10 +1204,10 @@ xfs_dir2_sf_to_block( tagp = xfs_dir3_data_entry_tag_p(mp, dep); *tagp = cpu_to_be16((char *)dep - (char *)hdr); xfs_dir2_data_log_entry(tp, bp, dep); - name.name = sfep->name; - name.len = sfep->namelen; blp[2 + i].hashval = cpu_to_be32(mp->m_dirnameops-> - hashname(&name)); + hashname(sfep->name, + sfep->namelen, + 0 /* version for later */)); blp[2 + i].address = cpu_to_be32(xfs_dir2_byte_to_dataptr(mp, (char *)dep - (char *)hdr)); offset = (int)((char *)(tagp + 1) - (char *)hdr); diff --git a/libxfs/xfs_dir2_data.c b/libxfs/xfs_dir2_data.c index dc9df4d..ada4d1d 100644 --- a/libxfs/xfs_dir2_data.c +++ b/libxfs/xfs_dir2_data.c @@ -46,7 +46,6 @@ __xfs_dir3_data_check( xfs_mount_t *mp; /* filesystem mount point */ char *p; /* current data position */ int stale; /* count of stale leaves */ - struct xfs_name name; mp = bp->b_target->bt_mount; hdr = bp->b_addr; @@ -142,9 +141,9 @@ __xfs_dir3_data_check( addr = xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, (xfs_dir2_data_aoff_t) ((char *)dep - (char *)hdr)); - name.name = dep->name; - name.len = dep->namelen; - hash = mp->m_dirnameops->hashname(&name); + hash = mp->m_dirnameops->hashname(dep->name, + dep->namelen, + 0 /* version for later */); for (i = 0; i < be32_to_cpu(btp->count); i++) { if (be32_to_cpu(lep[i].address) == addr && be32_to_cpu(lep[i].hashval) == hash) diff --git a/repair/phase6.c b/repair/phase6.c index f13069f..c18ef69 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -195,7 +195,8 @@ dir_hash_add( dup = 0; if (!junk) { - hash = mp->m_dirnameops->hashname(&xname); + hash = mp->m_dirnameops->hashname(name, namelen, + 0 /* version for later */); byhash = DIR_HASH_FUNC(hashtab, hash); /* -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:11: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 84F837F3F for ; Fri, 3 Oct 2014 17:11:41 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5AAD1304064; Fri, 3 Oct 2014 15:11:41 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 3397B4266DC; Fri, 3 Oct 2014 17:11:41 -0500 (CDT) Date: Fri, 3 Oct 2014 17:11:41 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 25/35] libxfs: add a superblock feature bit to indicate UTF-8 support. Message-ID: <20141003221141.GY1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber When UTF-8 support is enabled, the xfs_dir_ci_inode_operations must be installed. Add xfs_sb_version_hasci(), which tests both the borgbit and the utf8bit, and returns true if at least one of them is set. Replace calls to xfs_sb_version_hasasciici() as needed. Signed-off-by: Olaf Weber --- include/xfs_fs.h | 1 + include/xfs_sb.h | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/xfs_fs.h b/include/xfs_fs.h index 59c40fc..c260ec6 100644 --- a/include/xfs_fs.h +++ b/include/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_UTF8 0x40000 /* utf8 filenames */ /* diff --git a/include/xfs_sb.h b/include/xfs_sb.h index 950d1ea..c8563ce 100644 --- a/include/xfs_sb.h +++ b/include/xfs_sb.h @@ -82,6 +82,7 @@ struct xfs_trans; #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ #define XFS_SB_VERSION2_PARENTBIT 0x00000010 /* parent pointers */ +#define XFS_SB_VERSION2_UTF8BIT 0x00000020 /* utf8 names */ #define XFS_SB_VERSION2_PROJID32BIT 0x00000080 /* 32 bit project id */ #define XFS_SB_VERSION2_CRCBIT 0x00000100 /* metadata CRCs */ #define XFS_SB_VERSION2_FTYPE 0x00000200 /* inode type in dir */ @@ -89,6 +90,7 @@ struct xfs_trans; #define XFS_SB_VERSION2_OKREALFBITS \ (XFS_SB_VERSION2_LAZYSBCOUNTBIT | \ XFS_SB_VERSION2_ATTR2BIT | \ + XFS_SB_VERSION2_UTF8BIT | \ XFS_SB_VERSION2_PROJID32BIT | \ XFS_SB_VERSION2_FTYPE) #define XFS_SB_VERSION2_OKSASHFBITS \ @@ -600,8 +602,10 @@ xfs_sb_has_ro_compat_feature( } #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ +#define XFS_SB_FEAT_INCOMPAT_UTF8 (1 << 1) /* utf-8 name support */ #define XFS_SB_FEAT_INCOMPAT_ALL \ - (XFS_SB_FEAT_INCOMPAT_FTYPE) + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ + XFS_SB_FEAT_INCOMPAT_UTF8) #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL static inline bool @@ -649,6 +653,24 @@ 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_hasutf8(xfs_sb_t *sbp) +{ + return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 && + xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UTF8)) || + (xfs_sb_version_hasmorebits(sbp) && + (sbp->sb_features2 & XFS_SB_VERSION2_UTF8BIT)); +} + +/* + * Special case: there are a number of places where we need to test + * both the borgbit and the utf8bit, and take the same action if + * either of those is set. + */ +static inline int xfs_sb_version_hasci(xfs_sb_t *sbp) +{ + return xfs_sb_version_hasasciici(sbp) || xfs_sb_version_hasutf8(sbp); +} + /* * end of superblock version macros */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:12: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=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 BEBB97F3F for ; Fri, 3 Oct 2014 17:12:26 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8F2D98F8040; Fri, 3 Oct 2014 15:12:26 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 502134266DC; Fri, 3 Oct 2014 17:12:26 -0500 (CDT) Date: Fri, 3 Oct 2014 17:12:26 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 26/35] libxfs: store utf8version in the superblock Message-ID: <20141003221226.GZ1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers The utf8 version a filesystem was created with needs to be stored in order that normalizations will remain stable over the lifetime of the filesystem. Convert sb_pad to sb_utf8version in the super block. This also adds checks at mount time to see whether the unicode normalization module has support for the version of unicode that the filesystem requires. If not we fail the mount. Signed-off-by: Ben Myers --- include/xfs_sb.h | 10 ++++---- include/xfs_utf8.h | 24 +++++++++++++++++++ libxfs/xfs_sb.c | 4 ++-- libxfs/xfs_utf8.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 include/xfs_utf8.h create mode 100644 libxfs/xfs_utf8.c diff --git a/include/xfs_sb.h b/include/xfs_sb.h index c8563ce..a400cf1 100644 --- a/include/xfs_sb.h +++ b/include/xfs_sb.h @@ -176,7 +176,7 @@ typedef struct xfs_sb { __uint32_t sb_features_log_incompat; __uint32_t sb_crc; /* superblock crc */ - __uint32_t sb_pad; + __uint32_t sb_utf8version; /* unicode version */ xfs_ino_t sb_pquotino; /* project quota inode */ xfs_lsn_t sb_lsn; /* last write sequence */ @@ -262,7 +262,7 @@ typedef struct xfs_dsb { __be32 sb_features_log_incompat; __le32 sb_crc; /* superblock crc */ - __be32 sb_pad; + __be32 sb_utf8version; /* version of unicode */ __be64 sb_pquotino; /* project quota inode */ __be64 sb_lsn; /* last write sequence */ @@ -288,7 +288,7 @@ typedef enum { XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT, XFS_SBS_FEATURES2, XFS_SBS_BAD_FEATURES2, XFS_SBS_FEATURES_COMPAT, XFS_SBS_FEATURES_RO_COMPAT, XFS_SBS_FEATURES_INCOMPAT, - XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_PAD, + XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_UTF8VERSION, XFS_SBS_PQUOTINO, XFS_SBS_LSN, XFS_SBS_FIELDCOUNT } xfs_sb_field_t; @@ -320,6 +320,7 @@ typedef enum { #define XFS_SB_FEATURES_INCOMPAT XFS_SB_MVAL(FEATURES_INCOMPAT) #define XFS_SB_FEATURES_LOG_INCOMPAT XFS_SB_MVAL(FEATURES_LOG_INCOMPAT) #define XFS_SB_CRC XFS_SB_MVAL(CRC) +#define XFS_SB_UTF8VERSION XFS_SB_MVAL(UTF8VERSION) #define XFS_SB_PQUOTINO XFS_SB_MVAL(PQUOTINO) #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) @@ -330,7 +331,8 @@ typedef enum { XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \ XFS_SB_BAD_FEATURES2 | XFS_SB_FEATURES_COMPAT | \ XFS_SB_FEATURES_RO_COMPAT | XFS_SB_FEATURES_INCOMPAT | \ - XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_PQUOTINO) + XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_UTF8VERSION | \ + XFS_SB_PQUOTINO) /* diff --git a/include/xfs_utf8.h b/include/xfs_utf8.h new file mode 100644 index 0000000..8a700de --- /dev/null +++ b/include/xfs_utf8.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014 SGI. + * 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_UTF8_H +#define XFS_UTF8_H + +extern int xfs_utf8_version_ok(struct xfs_mount *); + +#endif /* XFS_UTF8_H */ diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c index ea89367..642a2df 100644 --- a/libxfs/xfs_sb.c +++ b/libxfs/xfs_sb.c @@ -78,7 +78,7 @@ static const struct { { offsetof(xfs_sb_t, sb_features_incompat), 0 }, { offsetof(xfs_sb_t, sb_features_log_incompat), 0 }, { offsetof(xfs_sb_t, sb_crc), 0 }, - { offsetof(xfs_sb_t, sb_pad), 0 }, + { offsetof(xfs_sb_t, sb_utf8version), 0 }, { offsetof(xfs_sb_t, sb_pquotino), 0 }, { offsetof(xfs_sb_t, sb_lsn), 0 }, { sizeof(xfs_sb_t), 0 } @@ -410,7 +410,7 @@ xfs_sb_from_disk( 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_utf8version = be32_to_cpu(from->sb_utf8version); to->sb_pquotino = be64_to_cpu(from->sb_pquotino); to->sb_lsn = be64_to_cpu(from->sb_lsn); } diff --git a/libxfs/xfs_utf8.c b/libxfs/xfs_utf8.c new file mode 100644 index 0000000..ebfdaec --- /dev/null +++ b/libxfs/xfs_utf8.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2014 SGI. + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "xfs.h" +#include "xfs_fs.h" +#include "xfs_types.h" +#include "xfs_bit.h" +#include "xfs_log_format.h" +#include "xfs_inum.h" +#include "xfs_trans.h" +#include "xfs_trans_resv.h" +#include "xfs_sb.h" +#include "xfs_ag.h" +#include "xfs_da_format.h" +#include "xfs_da_btree.h" +#include "xfs_dir2.h" +#include "xfs_mount.h" +#include "xfs_da_btree.h" +#include "xfs_format.h" +#include "xfs_bmap_btree.h" +#include "xfs_alloc_btree.h" +#include "xfs_dinode.h" +#include "xfs_inode.h" +#include "xfs_inode_item.h" +#include "xfs_bmap.h" +#include "xfs_error.h" +#include "xfs_trace.h" +#include "xfs_utf8.h" +#include + +int +xfs_utf8_version_ok( + struct xfs_mount *mp) +{ + int major, minor, revision; + + if (utf8version_is_supported(mp->m_sb.sb_utf8version)) + return 1; + + major = mp->m_sb.sb_utf8version >> UNICODE_MAJ_SHIFT; + minor = (mp->m_sb.sb_utf8version & 0xff00) >> UNICODE_MIN_SHIFT; + revision = mp->m_sb.sb_utf8version & 0xff; + + if (revision) { + xfs_warn(mp, + "Unicode version %d.%d.%d not supported by utf8norm.ko", + major, minor, revision); + } else { + xfs_warn(mp, + "Unicode version %d.%d not supported by utf8norm.ko", + major, minor); + } + + return 0; +} -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:13: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=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 45C4C7F55 for ; Fri, 3 Oct 2014 17:13:07 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 24C5D8F8040; Fri, 3 Oct 2014 15:13:07 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id DF6874266DC; Fri, 3 Oct 2014 17:13:06 -0500 (CDT) Date: Fri, 3 Oct 2014 17:13:06 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 27/35] libxfs: add xfs_nameops for utf8 and utf8+casefold. Message-ID: <20141003221306.GA1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber The xfs_utf8_nameops use the nfkdi normalization when comparing filenames, and are installed if the utf8bit is set in the super block. The xfs_utf8_ci_nameops use the nfkdicf normalization when comparing filenames, and are installed if both the utf8bit and the borgbit are set in the superblock. Normalized filenames are not stored on disk. Normalization will fail if a filename is not valid UTF-8, in which case the filename is treated as an opaque blob. Signed-off-by: Olaf Weber [v2: updated to pass through sb_utf8version. -bpm] --- libxfs/xfs_utf8.c | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) diff --git a/libxfs/xfs_utf8.c b/libxfs/xfs_utf8.c index ebfdaec..3be1fbb 100644 --- a/libxfs/xfs_utf8.c +++ b/libxfs/xfs_utf8.c @@ -68,3 +68,211 @@ xfs_utf8_version_ok( return 0; } + +/* + * xfs nameops using nfkdi + */ + +static xfs_dahash_t +xfs_utf8_hashname( + const unsigned char *name, + int len, + unsigned int sb_utf8version) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + xfs_dahash_t hash; + int val; + + nfkdi = utf8nfkdi(sb_utf8version); + hash = 0; + if (utf8ncursor(&u8c, nfkdi, name, len) < 0) + goto blob; + while ((val = utf8byte(&u8c)) > 0) + hash = val ^ rol32(hash, 7); + /* In case of error treat the name as a binary blob. */ + if (val == 0) + return hash; +blob: + return xfs_da_hashname(name, len); +} + +static int +xfs_utf8_normhash( + struct xfs_da_args *args) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + unsigned char *norm; + ssize_t normlen; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + nfkdi = utf8nfkdi(sb_utf8version); + /* Failure to normalize is treated as a blob. */ + if ((normlen = utf8nlen(nfkdi, args->name, args->namelen)) < 0) + goto blob; + if (utf8ncursor(&u8c, nfkdi, args->name, args->namelen) < 0) + goto blob; + if (!(norm = kmem_alloc(normlen + 1, KM_NOFS|KM_MAYFAIL))) + return -ENOMEM; + args->norm = norm; + args->normlen = normlen; + while ((c = utf8byte(&u8c)) > 0) + *norm++ = c; + if (c == 0) { + *norm = '\0'; + args->hashval = xfs_da_hashname(args->norm, args->normlen); + return 0; + } + kmem_free(args->norm); +blob: + args->norm = NULL; + args->normlen = -1; + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + +static enum xfs_dacmp +xfs_utf8_compname( + struct xfs_da_args *args, + const unsigned char *name, + int len) +{ + utf8data_t nfkdi; + struct utf8cursor u8c; + const unsigned char *norm; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + ASSERT(args->norm || args->normlen == -1); + + /* Check for an exact match first. */ + if (args->namelen == len && memcmp(args->name, name, len) == 0) + return XFS_CMP_EXACT; + /* xfs_utf8_normhash() set args->normlen to -1 for a blob */ + if (args->normlen < 0) + return XFS_CMP_DIFFERENT; + nfkdi = utf8nfkdi(sb_utf8version); + if (utf8ncursor(&u8c, nfkdi, name, len) < 0) + return XFS_CMP_DIFFERENT; + norm = args->norm; + while ((c = utf8byte(&u8c)) > 0) + if (c != *norm++) + return XFS_CMP_DIFFERENT; + if (c < 0 || *norm != '\0') + return XFS_CMP_DIFFERENT; + return XFS_CMP_MATCH; +} + +struct xfs_nameops xfs_utf8_nameops = { + .hashname = xfs_utf8_hashname, + .normhash = xfs_utf8_normhash, + .compname = xfs_utf8_compname, +}; + +/* + * xfs nameops using nfkdicf + */ + +static xfs_dahash_t +xfs_utf8_ci_hashname( + const unsigned char *name, + int len, + unsigned int sb_utf8version) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + xfs_dahash_t hash; + int val; + + nfkdicf = utf8nfkdicf(sb_utf8version); + hash = 0; + if (utf8ncursor(&u8c, nfkdicf, name, len) < 0) + goto blob; + while ((val = utf8byte(&u8c)) > 0) + hash = val ^ rol32(hash, 7); + /* In case of error treat the name as a binary blob. */ + if (val == 0) + return hash; +blob: + return xfs_da_hashname(name, len); +} + +static int +xfs_utf8_ci_normhash( + struct xfs_da_args *args) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + unsigned char *norm; + ssize_t normlen; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + nfkdicf = utf8nfkdicf(sb_utf8version); + /* Failure to normalize is treated as a blob. */ + if ((normlen = utf8nlen(nfkdicf, args->name, args->namelen)) < 0) + goto blob; + if (utf8ncursor(&u8c, nfkdicf, args->name, args->namelen) < 0) + goto blob; + if (!(norm = kmem_alloc(normlen + 1, KM_NOFS|KM_MAYFAIL))) + return -ENOMEM; + args->norm = norm; + args->normlen = normlen; + while ((c = utf8byte(&u8c)) > 0) + *norm++ = c; + if (c == 0) { + *norm = '\0'; + args->hashval = xfs_da_hashname(args->norm, args->normlen); + return 0; + } + kmem_free(args->norm); +blob: + args->norm = NULL; + args->normlen = -1; + args->hashval = xfs_da_hashname(args->name, args->namelen); + return 0; +} + +static enum xfs_dacmp +xfs_utf8_ci_compname( + struct xfs_da_args *args, + const unsigned char *name, + int len) +{ + utf8data_t nfkdicf; + struct utf8cursor u8c; + const unsigned char *norm; + int c; + unsigned int sb_utf8version = + args->dp->i_mount->m_sb.sb_utf8version; + + ASSERT(args->norm || args->normlen == -1); + + /* Check for an exact match first. */ + if (args->namelen == len && memcmp(args->name, name, len) == 0) + return XFS_CMP_EXACT; + /* xfs_utf8_ci_normhash() set args->normlen to -1 for a blob */ + if (args->normlen < 0) + return XFS_CMP_DIFFERENT; + nfkdicf = utf8nfkdicf(sb_utf8version); + if (utf8ncursor(&u8c, nfkdicf, name, len) < 0) + return XFS_CMP_DIFFERENT; + norm = args->norm; + while ((c = utf8byte(&u8c)) > 0) + if (c != *norm++) + return XFS_CMP_DIFFERENT; + if (c < 0 || *norm != '\0') + return XFS_CMP_DIFFERENT; + return XFS_CMP_MATCH; +} + +struct xfs_nameops xfs_utf8_ci_nameops = { + .hashname = xfs_utf8_ci_hashname, + .normhash = xfs_utf8_ci_normhash, + .compname = xfs_utf8_ci_compname, +}; -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:13: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id CFB3C7F54 for ; Fri, 3 Oct 2014 17:13:51 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 43906AC001; Fri, 3 Oct 2014 15:13:51 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 01EDF4266DC; Fri, 3 Oct 2014 17:13:50 -0500 (CDT) Date: Fri, 3 Oct 2014 17:13:50 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 28/35] libxfs: apply utf-8 normalization rules to user extended attribute names Message-ID: <20141003221350.GB1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Olaf Weber Apply the same rules for UTF-8 normalization to the names of user-defined extended attributes. System attributes are excluded because they are not user-visible in the first place, and the kernel is expected to know what it is doing when naming them. Signed-off-by: Olaf Weber --- libxfs/xfs_attr.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- libxfs/xfs_attr_leaf.c | 11 +++++++++-- libxfs/xfs_utf8.c | 6 ++++++ 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/libxfs/xfs_attr.c b/libxfs/xfs_attr.c index 17519d3..c30703b 100644 --- a/libxfs/xfs_attr.c +++ b/libxfs/xfs_attr.c @@ -88,8 +88,9 @@ xfs_attr_get_int( int *valuelenp, int flags) { - xfs_da_args_t args; - int error; + xfs_da_args_t args; + struct xfs_mount *mp = ip->i_mount; + int error; if (!xfs_inode_hasattr(ip)) return ENOATTR; @@ -103,9 +104,12 @@ xfs_attr_get_int( args.value = value; args.valuelen = *valuelenp; args.flags = flags; - args.hashval = xfs_da_hashname(args.name, args.namelen); args.dp = ip; args.whichfork = XFS_ATTR_FORK; + if (! xfs_sb_version_hasutf8(&mp->m_sb)) + args.hashval = xfs_da_hashname(args.name, args.namelen); + else if ((error = mp->m_dirnameops->normhash(&args)) != 0) + return error; /* * Decide on what work routines to call based on the inode size. @@ -118,6 +122,9 @@ xfs_attr_get_int( error = xfs_attr_node_get(&args); } + if (args.norm) + kmem_free((void *)args.norm); + /* * Return the number of bytes in the value to the caller. */ @@ -239,12 +246,15 @@ xfs_attr_set_int( args.value = value; args.valuelen = valuelen; args.flags = flags; - args.hashval = xfs_da_hashname(args.name, args.namelen); args.dp = dp; args.firstblock = &firstblock; args.flist = &flist; args.whichfork = XFS_ATTR_FORK; args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; + if (! xfs_sb_version_hasutf8(&mp->m_sb)) + args.hashval = xfs_da_hashname(args.name, args.namelen); + else if ((error = mp->m_dirnameops->normhash(&args)) != 0) + return error; /* Size is now blocks for attribute data */ args.total = xfs_attr_calc_size(dp, name->len, valuelen, &local); @@ -276,6 +286,8 @@ xfs_attr_set_int( error = xfs_trans_reserve(args.trans, &tres, args.total, 0); if (error) { xfs_trans_cancel(args.trans, 0); + if (args.norm) + kmem_free((void *)args.norm); return(error); } xfs_ilock(dp, XFS_ILOCK_EXCL); @@ -286,6 +298,8 @@ xfs_attr_set_int( if (error) { xfs_iunlock(dp, XFS_ILOCK_EXCL); xfs_trans_cancel(args.trans, XFS_TRANS_RELEASE_LOG_RES); + if (args.norm) + kmem_free((void *)args.norm); return (error); } @@ -333,7 +347,8 @@ xfs_attr_set_int( err2 = xfs_trans_commit(args.trans, XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); - + if (args.norm) + kmem_free((void *)args.norm); return(error == 0 ? err2 : error); } @@ -398,6 +413,8 @@ xfs_attr_set_int( xfs_trans_log_inode(args.trans, dp, XFS_ILOG_CORE); error = xfs_trans_commit(args.trans, XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free((void *)args.norm); return(error); @@ -406,6 +423,9 @@ out: xfs_trans_cancel(args.trans, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_ABORT); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free((void *)args.norm); + return(error); } @@ -452,12 +472,15 @@ xfs_attr_remove_int(xfs_inode_t *dp, struct xfs_name *name, int flags) args.name = name->name; args.namelen = name->len; args.flags = flags; - args.hashval = xfs_da_hashname(args.name, args.namelen); args.dp = dp; args.firstblock = &firstblock; args.flist = &flist; args.total = 0; args.whichfork = XFS_ATTR_FORK; + if (! xfs_sb_version_hasutf8(&mp->m_sb)) + args.hashval = xfs_da_hashname(args.name, args.namelen); + else if ((error = mp->m_dirnameops->normhash(&args)) != 0) + return error; /* * we have no control over the attribute names that userspace passes us @@ -470,8 +493,11 @@ xfs_attr_remove_int(xfs_inode_t *dp, struct xfs_name *name, int flags) * Attach the dquots to the inode. */ error = xfs_qm_dqattach(dp, 0); - if (error) - return error; + if (error) { + if (args.norm) + kmem_free((void *)args.norm); + return error; + } /* * Start our first transaction of the day. @@ -497,6 +523,8 @@ xfs_attr_remove_int(xfs_inode_t *dp, struct xfs_name *name, int flags) XFS_ATTRRM_SPACE_RES(mp), 0); if (error) { xfs_trans_cancel(args.trans, 0); + if (args.norm) + kmem_free((void *)args.norm); return(error); } @@ -546,6 +574,8 @@ xfs_attr_remove_int(xfs_inode_t *dp, struct xfs_name *name, int flags) xfs_trans_log_inode(args.trans, dp, XFS_ILOG_CORE); error = xfs_trans_commit(args.trans, XFS_TRANS_RELEASE_LOG_RES); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free((void *)args.norm); return(error); @@ -554,6 +584,9 @@ out: xfs_trans_cancel(args.trans, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_ABORT); xfs_iunlock(dp, XFS_ILOCK_EXCL); + if (args.norm) + kmem_free((void *)args.norm); + return(error); } diff --git a/libxfs/xfs_attr_leaf.c b/libxfs/xfs_attr_leaf.c index f7f02ae..052a6a1 100644 --- a/libxfs/xfs_attr_leaf.c +++ b/libxfs/xfs_attr_leaf.c @@ -634,6 +634,7 @@ int xfs_attr_shortform_to_leaf(xfs_da_args_t *args) { xfs_inode_t *dp; + struct xfs_mount *mp; xfs_attr_shortform_t *sf; xfs_attr_sf_entry_t *sfe; xfs_da_args_t nargs; @@ -646,6 +647,7 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args) trace_xfs_attr_sf_to_leaf(args); dp = args->dp; + mp = dp->i_mount; ifp = dp->i_afp; sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data; size = be16_to_cpu(sf->hdr.totsize); @@ -698,13 +700,18 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args) nargs.namelen = sfe->namelen; nargs.value = &sfe->nameval[nargs.namelen]; nargs.valuelen = sfe->valuelen; - nargs.hashval = xfs_da_hashname(sfe->nameval, - sfe->namelen); nargs.flags = XFS_ATTR_NSP_ONDISK_TO_ARGS(sfe->flags); + if (! xfs_sb_version_hasutf8(&mp->m_sb)) + nargs.hashval = xfs_da_hashname(sfe->nameval, + sfe->namelen); + else if ((error = mp->m_dirnameops->normhash(&nargs)) != 0) + goto out; error = xfs_attr3_leaf_lookup_int(bp, &nargs); /* set a->index */ ASSERT(error == ENOATTR); error = xfs_attr3_leaf_add(bp, &nargs); ASSERT(error != ENOSPC); + if (nargs.norm) + kmem_free((void *)nargs.norm); if (error) goto out; sfe = XFS_ATTR_SF_NEXTENTRY(sfe); diff --git a/libxfs/xfs_utf8.c b/libxfs/xfs_utf8.c index 3be1fbb..f7042ef 100644 --- a/libxfs/xfs_utf8.c +++ b/libxfs/xfs_utf8.c @@ -109,6 +109,9 @@ xfs_utf8_normhash( unsigned int sb_utf8version = args->dp->i_mount->m_sb.sb_utf8version; + /* Don't normalize system attribute names. */ + if (args->flags & (ATTR_ROOT|ATTR_SECURE)) + goto blob; nfkdi = utf8nfkdi(sb_utf8version); /* Failure to normalize is treated as a blob. */ if ((normlen = utf8nlen(nfkdi, args->name, args->namelen)) < 0) @@ -213,6 +216,9 @@ xfs_utf8_ci_normhash( unsigned int sb_utf8version = args->dp->i_mount->m_sb.sb_utf8version; + /* Don't normalize system attribute names. */ + if (args->flags & (ATTR_ROOT|ATTR_SECURE)) + goto blob; nfkdicf = utf8nfkdicf(sb_utf8version); /* Failure to normalize is treated as a blob. */ if ((normlen = utf8nlen(nfkdicf, args->name, args->namelen)) < 0) -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:14: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 327167F53 for ; Fri, 3 Oct 2014 17:14:20 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9C050AC009; Fri, 3 Oct 2014 15:14:19 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 46C8F4266DC; Fri, 3 Oct 2014 17:14:19 -0500 (CDT) Date: Fri, 3 Oct 2014 17:14:19 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 29/35] libxfs: rename XFS_IOC_FSGEOM to XFS_IOC_FSGEOM_V2 Message-ID: <20141003221419.GC1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers We'll be creating a new versioned XFS_IOC_FSGEOMETRY ioctl and structure so rename the current revision to _V2. Signed-off-by: Ben Myers --- growfs/xfs_growfs.c | 8 ++++---- include/xfs_fs.h | 8 ++++---- io/bmap.c | 2 +- io/init.c | 2 +- io/io.h | 6 +++--- io/open.c | 10 +++++----- quota/free.c | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c index 8e611b6..c3df0c0 100644 --- a/growfs/xfs_growfs.c +++ b/growfs/xfs_growfs.c @@ -44,7 +44,7 @@ Options:\n\ void report_info( - xfs_fsop_geom_t geo, + xfs_fsop_geom_v2_t geo, char *mntpoint, int isint, char *logname, @@ -101,7 +101,7 @@ main(int argc, char **argv) int error; /* we have hit an error */ long esize; /* new rt extent size */ int ffd; /* mount point file descriptor */ - xfs_fsop_geom_t geo; /* current fs geometry */ + xfs_fsop_geom_v2_t geo; /* current fs geometry */ int iflag; /* -i flag */ int isint; /* log is currently internal */ int lflag; /* -l flag */ @@ -109,7 +109,7 @@ main(int argc, char **argv) int maxpct; /* -m flag value */ int mflag; /* -m flag */ int nflag; /* -n flag */ - xfs_fsop_geom_t ngeo; /* new fs geometry */ + xfs_fsop_geom_v2_t ngeo; /* new fs geometry */ int rflag; /* -r flag */ long long rsize; /* new rt size in fs blocks */ int ci; /* ASCII case-insensitive fs */ @@ -220,7 +220,7 @@ main(int argc, char **argv) } /* get the current filesystem size & geometry */ - if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY, &geo) < 0) { + if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY_V2, &geo) < 0) { /* * OK, new xfsctl barfed - back off and try earlier version * as we're probably running an older kernel version. diff --git a/include/xfs_fs.h b/include/xfs_fs.h index c260ec6..38faf5d 100644 --- a/include/xfs_fs.h +++ b/include/xfs_fs.h @@ -180,9 +180,9 @@ typedef struct xfs_fsop_geom_v1 { } xfs_fsop_geom_v1_t; /* - * Output for XFS_IOC_FSGEOMETRY + * Output for XFS_IOC_FSGEOMETRY_V2 */ -typedef struct xfs_fsop_geom { +typedef struct xfs_fsop_geom_v2 { __u32 blocksize; /* filesystem (data) block size */ __u32 rtextsize; /* realtime extent size */ __u32 agblocks; /* fsblocks in an AG */ @@ -204,7 +204,7 @@ typedef struct xfs_fsop_geom { __u32 rtsectsize; /* realtime sector size, bytes */ __u32 dirblocksize; /* directory block size, bytes */ __u32 logsunit; /* log stripe unit, bytes */ -} xfs_fsop_geom_t; +} xfs_fsop_geom_v2_t; /* Output for XFS_FS_COUNTS */ typedef struct xfs_fsop_counts { @@ -553,7 +553,7 @@ typedef struct xfs_swapext #define XFS_IOC_FSSETDM_BY_HANDLE _IOW ('X', 121, struct xfs_fsop_setdm_handlereq) #define XFS_IOC_ATTRLIST_BY_HANDLE _IOW ('X', 122, struct xfs_fsop_attrlist_handlereq) #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) -#define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom) +#define XFS_IOC_FSGEOMETRY_V2 _IOR ('X', 124, struct xfs_fsop_geom_v2) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ diff --git a/io/bmap.c b/io/bmap.c index a78cbb1..614eba1 100644 --- a/io/bmap.c +++ b/io/bmap.c @@ -70,7 +70,7 @@ bmap_f( { struct fsxattr fsx; struct getbmapx *map; - struct xfs_fsop_geom fsgeo; + struct xfs_fsop_geom_v2 fsgeo; int map_size; int loop = 0; int flg = 0; diff --git a/io/init.c b/io/init.c index bfc35bf..9622a6c 100644 --- a/io/init.c +++ b/io/init.c @@ -127,7 +127,7 @@ init( int c, flags = 0; char *sp; mode_t mode = 0600; - xfs_fsop_geom_t geometry = { 0 }; + xfs_fsop_geom_v2_t geometry = { 0 }; progname = basename(argv[0]); setlocale(LC_ALL, ""); diff --git a/io/io.h b/io/io.h index 1b3bca1..1837fe4 100644 --- a/io/io.h +++ b/io/io.h @@ -44,7 +44,7 @@ typedef struct fileio { int fd; /* open file descriptor */ int flags; /* flags describing file state */ char *name; /* file name at time of open */ - xfs_fsop_geom_t geom; /* XFS filesystem geometry */ + xfs_fsop_geom_v2_t geom; /* XFS filesystem geometry */ } fileio_t; extern fileio_t *filetable; /* open file table */ @@ -74,8 +74,8 @@ extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int); */ extern off64_t filesize(void); -extern int openfile(char *, xfs_fsop_geom_t *, int, mode_t); -extern int addfile(char *, int , xfs_fsop_geom_t *, int); +extern int openfile(char *, xfs_fsop_geom_v2_t *, int, mode_t); +extern int addfile(char *, int , xfs_fsop_geom_v2_t *, int); extern void printxattr(uint, int, int, const char *, int, int); extern unsigned int recurse_all; diff --git a/io/open.c b/io/open.c index c106fa7..81c19c9 100644 --- a/io/open.c +++ b/io/open.c @@ -140,7 +140,7 @@ stat_f( int openfile( char *path, - xfs_fsop_geom_t *geom, + xfs_fsop_geom_v2_t *geom, int flags, mode_t mode) { @@ -185,7 +185,7 @@ openfile( if (!geom || !platform_test_xfs_fd(fd)) return fd; - if (xfsctl(path, fd, XFS_IOC_FSGEOMETRY, geom) < 0) { + if (xfsctl(path, fd, XFS_IOC_FSGEOMETRY_V2, geom) < 0) { perror("XFS_IOC_FSGEOMETRY"); close(fd); return -1; @@ -215,7 +215,7 @@ int addfile( char *name, int fd, - xfs_fsop_geom_t *geometry, + xfs_fsop_geom_v2_t *geometry, int flags) { char *filename; @@ -284,7 +284,7 @@ open_f( int c, fd, flags = 0; char *sp; mode_t mode = 0600; - xfs_fsop_geom_t geometry = { 0 }; + xfs_fsop_geom_v2_t geometry = { 0 }; if (argc == 1) { if (file) @@ -701,7 +701,7 @@ statfs_f( char **argv) { struct xfs_fsop_counts fscounts; - struct xfs_fsop_geom fsgeo; + struct xfs_fsop_geom_v2 fsgeo; struct statfs st; printf(_("fd.path = \"%s\"\n"), file->name); diff --git a/quota/free.c b/quota/free.c index 79b52e9..b2e325b 100644 --- a/quota/free.c +++ b/quota/free.c @@ -59,7 +59,7 @@ mount_free_space_data( __uint64_t *rfree) { struct xfs_fsop_counts fscounts; - struct xfs_fsop_geom fsgeo; + struct xfs_fsop_geom_v2 fsgeo; struct statfs st; __uint64_t logsize, count, free; int fd; -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:14: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A57917F53 for ; Fri, 3 Oct 2014 17:14:44 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3310FAC001; Fri, 3 Oct 2014 15:14:44 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id DDE2B4266DC; Fri, 3 Oct 2014 17:14:43 -0500 (CDT) Date: Fri, 3 Oct 2014 17:14:43 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 30/35] libxfs: add versioned fsgeom ioctl with utf8version field Message-ID: <20141003221443.GD1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers This adds a utf8version field to the xfs_fs_geom structure. An important characteristic of this version of the ioctl is that fsgeo.version needs to be set by the caller to specify which version of the structure to return. Signed-off-by: Ben Myers --- include/xfs_fs.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/xfs_fs.h b/include/xfs_fs.h index 38faf5d..f920498 100644 --- a/include/xfs_fs.h +++ b/include/xfs_fs.h @@ -206,6 +206,34 @@ typedef struct xfs_fsop_geom_v2 { __u32 logsunit; /* log stripe unit, bytes */ } xfs_fsop_geom_v2_t; +/* + * Output for XFS_IOC_FSGEOMETRY + */ +typedef struct xfs_fsop_geom { + __u32 blocksize; /* filesystem (data) block size */ + __u32 rtextsize; /* realtime extent size */ + __u32 agblocks; /* fsblocks in an AG */ + __u32 agcount; /* number of allocation groups */ + __u32 logblocks; /* fsblocks in the log */ + __u32 sectsize; /* (data) sector size, bytes */ + __u32 inodesize; /* inode size in bytes */ + __u32 imaxpct; /* max allowed inode space(%) */ + __u64 datablocks; /* fsblocks in data subvolume */ + __u64 rtblocks; /* fsblocks in realtime subvol */ + __u64 rtextents; /* rt extents in realtime subvol*/ + __u64 logstart; /* starting fsblock of the log */ + unsigned char uuid[16]; /* unique id of the filesystem */ + __u32 sunit; /* stripe unit, fsblocks */ + __u32 swidth; /* stripe width, fsblocks */ + __s32 version; /* structure version */ + __u32 flags; /* superblock version flags */ + __u32 logsectsize; /* log sector size, bytes */ + __u32 rtsectsize; /* realtime sector size, bytes */ + __u32 dirblocksize; /* directory block size, bytes */ + __u32 logsunit; /* log stripe unit, bytes */ + __u32 utf8version; /* Unicode version */ +} xfs_fsop_geom_t; + /* Output for XFS_FS_COUNTS */ typedef struct xfs_fsop_counts { __u64 freedata; /* free data section blocks */ @@ -221,6 +249,8 @@ typedef struct xfs_fsop_resblks { } xfs_fsop_resblks_t; #define XFS_FSOP_GEOM_VERSION 0 +/* skipped 1-4 to match existing new_version xfs_fs_geometry argument */ +#define XFS_FSOP_GEOM_VERSION5 5 #define XFS_FSOP_GEOM_FLAGS_ATTR 0x0001 /* attributes in use */ #define XFS_FSOP_GEOM_FLAGS_NLINK 0x0002 /* 32-bit nlink values */ @@ -555,6 +585,7 @@ typedef struct xfs_swapext #define XFS_IOC_ATTRMULTI_BY_HANDLE _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq) #define XFS_IOC_FSGEOMETRY_V2 _IOR ('X', 124, struct xfs_fsop_geom_v2) #define XFS_IOC_GOINGDOWN _IOR ('X', 125, __uint32_t) +#define XFS_IOC_FSGEOMETRY _IOR ('X', 126, struct xfs_fsop_geom) /* XFS_IOC_GETFSUUID ---------- deprecated 140 */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:15: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=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 91B5D7F4E for ; Fri, 3 Oct 2014 17:15:16 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5F04F304064; Fri, 3 Oct 2014 15:15:16 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 229A84266DC; Fri, 3 Oct 2014 17:15:16 -0500 (CDT) Date: Fri, 3 Oct 2014 17:15:16 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 31/35] xfsprogs: add utf8 support to growfs Message-ID: <20141003221516.GE1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Mark Tinguely Add utf-8 to xfs_growfs and xfs_info. Signed-off-by: Mark Tinguely Signed-off-by: Ben Myers [v2: use versioned fsgeom ioctl. -bpm] --- growfs/xfs_growfs.c | 85 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 24 deletions(-) diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c index c3df0c0..5e9d575 100644 --- a/growfs/xfs_growfs.c +++ b/growfs/xfs_growfs.c @@ -18,6 +18,7 @@ #include #include +#include static void usage(void) @@ -44,7 +45,8 @@ Options:\n\ void report_info( - xfs_fsop_geom_v2_t geo, + xfs_fsop_geom_t geo, + int oldioctl, char *mntpoint, int isint, char *logname, @@ -57,8 +59,31 @@ report_info( int crcs_enabled, int cimode, int ftype_enabled, - int finobt_enabled) + int finobt_enabled, + int utf8) { + char utf8_version_string[10]; + + /* XXX Can we assume that geo.version has always been zeroed by + * the kernel so it is always meaningful? */ + if (!oldioctl && geo.version >= XFS_FSOP_GEOM_VERSION5 && utf8) { + int major, minor, revision; + + major = geo.utf8version >> UNICODE_MAJ_SHIFT; + minor = (geo.utf8version & 0xff00) >> UNICODE_MIN_SHIFT; + revision = geo.utf8version & 0xff; + + if (!revision && !minor) + sprintf(utf8_version_string, "%d", major); + else if (!revision) + sprintf(utf8_version_string, "%d.%d", major, minor); + else + sprintf(utf8_version_string, "%d.%d.%d", + major, minor, revision); + } else { + sprintf(utf8_version_string, "0"); + } + printf(_( "meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n" " =%-22s sectsz=%-5u attr=%u, projid32bit=%u\n" @@ -66,6 +91,7 @@ report_info( "data =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n" " =%-22s sunit=%-6u swidth=%u blks\n" "naming =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n" + " =%-22s utf8=%s\n" "log =%-22s bsize=%-6u blocks=%u, version=%u\n" " =%-22s sectsz=%-5u sunit=%u blks, lazy-count=%u\n" "realtime =%-22s extsz=%-6u blocks=%llu, rtextents=%llu\n"), @@ -76,7 +102,8 @@ report_info( "", geo.blocksize, (unsigned long long)geo.datablocks, geo.imaxpct, "", geo.sunit, geo.swidth, - dirversion, geo.dirblocksize, cimode, ftype_enabled, + dirversion, geo.dirblocksize, cimode, ftype_enabled, + "", utf8_version_string, isint ? _("internal") : logname ? logname : _("external"), geo.blocksize, geo.logblocks, logversion, "", geo.logsectsize, geo.logsunit / geo.blocksize, lazycount, @@ -101,7 +128,7 @@ main(int argc, char **argv) int error; /* we have hit an error */ long esize; /* new rt extent size */ int ffd; /* mount point file descriptor */ - xfs_fsop_geom_v2_t geo; /* current fs geometry */ + xfs_fsop_geom_t geo; /* current fs geometry */ int iflag; /* -i flag */ int isint; /* log is currently internal */ int lflag; /* -l flag */ @@ -109,11 +136,12 @@ main(int argc, char **argv) int maxpct; /* -m flag value */ int mflag; /* -m flag */ int nflag; /* -n flag */ - xfs_fsop_geom_v2_t ngeo; /* new fs geometry */ + xfs_fsop_geom_t ngeo; /* new fs geometry */ int rflag; /* -r flag */ long long rsize; /* new rt size in fs blocks */ int ci; /* ASCII case-insensitive fs */ int lazycount; /* lazy superblock counters */ + int utf8; /* Unicode chars supported */ int xflag; /* -x flag */ char *fname; /* mount point name */ char *datadev; /* data device name */ @@ -125,6 +153,7 @@ main(int argc, char **argv) int crcs_enabled; int ftype_enabled = 0; int finobt_enabled; /* free inode btree */ + int oldioctl = 0; progname = basename(argv[0]); setlocale(LC_ALL, ""); @@ -219,21 +248,28 @@ main(int argc, char **argv) exit(1); } - /* get the current filesystem size & geometry */ - if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY_V2, &geo) < 0) { - /* - * OK, new xfsctl barfed - back off and try earlier version - * as we're probably running an older kernel version. - * Only field added in the v2 geometry xfsctl is "logsunit" - * so we'll zero that out for later display (as zero). - */ - geo.logsunit = 0; - if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY_V1, &geo) < 0) { - fprintf(stderr, _( - "%s: cannot determine geometry of filesystem" - " mounted at %s: %s\n"), - progname, fname, strerror(errno)); - exit(1); + memset(&geo, '\0', sizeof(geo)); + geo.version = XFS_FSOP_GEOM_VERSION5; + if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY, &geo) < 0) { + + oldioctl = 1; + /* get the current filesystem size & geometry */ + if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY_V2, &geo) < 0) { + /* + * OK, new xfsctl barfed - back off and try + * earlier version as we're probably running an + * older kernel version. Only field added in + * the v2 geometry xfsctl is "logsunit" so we'll + * zero that out for later display (as zero). + */ + geo.logsunit = 0; + if (xfsctl(fname, ffd, XFS_IOC_FSGEOMETRY_V1, &geo) + < 0) { + fprintf(stderr, + _("%s: cannot determine geometry of filesystem mounted at %s: %s\n"), + progname, fname, strerror(errno)); + exit(1); + } } } isint = geo.logstart > 0; @@ -247,11 +283,12 @@ main(int argc, char **argv) crcs_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_V5SB ? 1 : 0; ftype_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FTYPE ? 1 : 0; finobt_enabled = geo.flags & XFS_FSOP_GEOM_FLAGS_FINOBT ? 1 : 0; + utf8 = geo.flags & XFS_FSOP_GEOM_FLAGS_UTF8 ? 1 : 0; if (nflag) { - report_info(geo, datadev, isint, logdev, rtdev, + report_info(geo, oldioctl, datadev, isint, logdev, rtdev, lazycount, dirversion, logversion, attrversion, projid32bit, crcs_enabled, ci, - ftype_enabled, finobt_enabled); + ftype_enabled, finobt_enabled, utf8); exit(0); } @@ -286,10 +323,10 @@ main(int argc, char **argv) exit(1); } - report_info(geo, datadev, isint, logdev, rtdev, + report_info(geo, oldioctl, datadev, isint, logdev, rtdev, lazycount, dirversion, logversion, attrversion, projid32bit, crcs_enabled, ci, ftype_enabled, - finobt_enabled); + finobt_enabled, utf8); ddsize = xi.dsize; dlsize = ( xi.logBBsize? xi.logBBsize : -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:15: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=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 875197F47 for ; Fri, 3 Oct 2014 17:15:55 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 64E7B304064; Fri, 3 Oct 2014 15:15:55 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 1C8A74266DC; Fri, 3 Oct 2014 17:15:55 -0500 (CDT) Date: Fri, 3 Oct 2014 17:15:55 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 32/35] xfsprogs: add utf8 support to mkfs.xfs Message-ID: <20141003221555.GF1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Mark Tinguely Set the utf-8 feature bit. Signed-off-by: Mark Tinguely Signed-off-by: Ben Myers [v2: add support for utf8version. -bpm] --- man/man8/mkfs.xfs.8 | 9 ++++- mkfs/xfs_mkfs.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++-- mkfs/xfs_mkfs.h | 3 +- 3 files changed, 105 insertions(+), 5 deletions(-) diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8 index ad9ff3d..aa43cf5 100644 --- a/man/man8/mkfs.xfs.8 +++ b/man/man8/mkfs.xfs.8 @@ -558,7 +558,7 @@ any power of 2 size from the filesystem block size up to 65536. .IP The .B version=ci -option enables ASCII only case-insensitive filename lookup and version +option enables ASCII or UTF-8 case-insensitive filename lookup and version 2 directories. Filenames are case-preserving, that is, the names are stored in directories using the case they were created with. .IP @@ -582,6 +582,13 @@ When CRCs are enabled via the ftype functionality is always enabled. This feature can not be turned off for such filesystem configurations. .IP +.TP +.BI utf8[= value ] +This is used to enable the UTF-8 character set support. The +.I value +is either 0 or 1, with 1 signifying that UTF-8 character support is to be +enabled. If the value is omitted, 1 is assumed. +.IP .RE .TP .BI \-p " protofile" diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index c85258a..8cf5f9a 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -25,6 +25,7 @@ #include #endif #include "xfs_mkfs.h" +#include /* * Device topology information. @@ -149,6 +150,8 @@ char *nopts[] = { "version", #define N_FTYPE 3 "ftype", +#define N_UTF8 4 + "utf8", NULL, }; @@ -958,6 +961,11 @@ main( int nsflag; int nvflag; int nci; + unsigned int utf8; + unsigned int utf8_major; + unsigned int utf8_minor; + unsigned int utf8_revision; + char utf8_version_string[10]; int Nflag; int discard = 1; char *p; @@ -984,6 +992,7 @@ main( int lazy_sb_counters; int crcs_enabled; int finobt; + int ret; progname = basename(argv[0]); setlocale(LC_ALL, ""); @@ -1004,6 +1013,7 @@ main( logagno = logblocks = rtblocks = rtextblocks = 0; Nflag = nlflag = nsflag = nvflag = nci = 0; nftype = dirftype = 0; /* inode type information in the dir */ + utf8 = 0; /* utf-8 support */ dirblocklog = dirblocksize = 0; dirversion = XFS_DFL_DIR_VERSION; qflag = 0; @@ -1565,7 +1575,8 @@ _("cannot specify both crc and ftype\n")); if (nvflag) respec('n', nopts, N_VERSION); if (!strcasecmp(value, "ci")) { - nci = 1; /* ASCII CI mode */ + /* ASCII or UTF-8 CI mode */ + nci = 1; } else { dirversion = atoi(value); if (dirversion != 2) @@ -1587,6 +1598,62 @@ _("cannot specify both crc and ftype\n")); } nftype = 1; break; + case N_UTF8: + if (!value || *value == '\0') + value = "7.0.0"; + ret = sscanf(value, "%d.%d.%d", + &utf8_major, + &utf8_minor, + &utf8_revision); + if (ret == 3) { + utf8 = UNICODE_AGE( + utf8_major, + utf8_minor, + utf8_revision); + if (!utf8version_is_supported( + utf8)) { + fprintf(stderr, +_("utf8 version %d.%d.%d not supported\n"), + utf8_major, + utf8_minor, + utf8_revision); + usage(); + } + break; + } + ret = sscanf(value, "%d.%d", + &utf8_major, + &utf8_minor); + if (ret == 2) { + utf8 = UNICODE_AGE( + utf8_major, + utf8_minor, + 0); + if (!utf8version_is_supported( + utf8)) { + fprintf(stderr, +_("utf8 version %d.%d not supported\n"), + utf8_major, + utf8_minor); + usage(); + } + break; + } + ret = sscanf(value, "%d", &utf8_major); + if (ret == 1) { + utf8 = UNICODE_AGE( + utf8_major, + 0, 0); + if (!utf8version_is_supported( + utf8)) { + fprintf(stderr, +_("utf8 version %d not supported\n"), + utf8_major); + usage(); + } + break; + } + /* fallthrough */ default: unknown('n', value); } @@ -2460,7 +2527,8 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), */ sbp->sb_features2 = XFS_SB_VERSION2_MKFS(crcs_enabled, lazy_sb_counters, attrversion == 2, !projid16bit, 0, - (!crcs_enabled && dirftype)); + (!crcs_enabled && dirftype), + (!crcs_enabled && utf8)); sbp->sb_versionnum = XFS_SB_VERSION_MKFS(crcs_enabled, iaflag, dsunit != 0, logversion == 2, attrversion == 1, @@ -2534,6 +2602,26 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), if (crcs_enabled) { sbp->sb_features_incompat = XFS_SB_FEAT_INCOMPAT_FTYPE; dirftype = 1; + /* turn on the utf-8 support */ + if (utf8) + sbp->sb_features_incompat |= XFS_SB_FEAT_INCOMPAT_UTF8; + } + if (utf8) { + int major, minor, revision; + + major = utf8 >> UNICODE_MAJ_SHIFT; + minor = (utf8 & 0xff00) >> UNICODE_MIN_SHIFT; + revision = utf8 & 0xff; + + if (!revision && !minor) + sprintf(utf8_version_string, "%d", major); + else if (!revision) + sprintf(utf8_version_string, "%d.%d", major, minor); + else + sprintf(utf8_version_string, "%d.%d.%d", + major, minor, revision); + } else { + strcpy(utf8_version_string, "0"); } if (!qflag || Nflag) { @@ -2544,6 +2632,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), "data =%-22s bsize=%-6u blocks=%llu, imaxpct=%u\n" " =%-22s sunit=%-6u swidth=%u blks\n" "naming =version %-14u bsize=%-6u ascii-ci=%d ftype=%d\n" + " =%-22s utf8=%s\n" "log =%-22s bsize=%-6d blocks=%lld, version=%d\n" " =%-22s sectsz=%-5u sunit=%d blks, lazy-count=%d\n" "realtime =%-22s extsz=%-6d blocks=%lld, rtextents=%lld\n"), @@ -2553,6 +2642,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), "", blocksize, (long long)dblocks, imaxpct, "", dsunit, dswidth, dirversion, dirblocksize, nci, dirftype, + "", utf8_version_string, logfile, 1 << blocklog, (long long)logblocks, logversion, "", lsectorsize, lsunit, lazy_sb_counters, rtfile, rtextblocks << blocklog, @@ -2617,6 +2707,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), sbp->sb_logsectlog = 0; sbp->sb_logsectsize = 0; } + sbp->sb_utf8version = utf8; if (force_overwrite) zero_old_xfs_structures(&xi, sbp); @@ -3171,7 +3262,8 @@ usage( void ) sunit=value|su=num,sectlog=n|sectsize=num,\n\ lazy-count=0|1]\n\ /* label */ [-L label (maximum 12 characters)]\n\ -/* naming */ [-n log=n|size=num,version=2|ci,ftype=0|1]\n\ +/* naming */ [-n log=n|size=num,version=2|ci,ftype=0|1\n\ + utf8=0|7]\n\ /* no-op info only */ [-N]\n\ /* prototype file */ [-p fname]\n\ /* quiet */ [-q]\n\ diff --git a/mkfs/xfs_mkfs.h b/mkfs/xfs_mkfs.h index 9df5f37..f40b284 100644 --- a/mkfs/xfs_mkfs.h +++ b/mkfs/xfs_mkfs.h @@ -37,13 +37,14 @@ 0 ) : XFS_SB_VERSION_1 ) #define XFS_SB_VERSION2_MKFS(crc, lazycount, attr2, projid32bit, parent, \ - ftype) (\ + ftype, utf8) (\ ((lazycount) ? XFS_SB_VERSION2_LAZYSBCOUNTBIT : 0) | \ ((attr2) ? XFS_SB_VERSION2_ATTR2BIT : 0) | \ ((projid32bit) ? XFS_SB_VERSION2_PROJID32BIT : 0) | \ ((parent) ? XFS_SB_VERSION2_PARENTBIT : 0) | \ ((crc) ? XFS_SB_VERSION2_CRCBIT : 0) | \ ((ftype) ? XFS_SB_VERSION2_FTYPE : 0) | \ + ((utf8) ? XFS_SB_VERSION2_UTF8BIT : 0) | \ 0 ) #define XFS_DFL_BLOCKSIZE_LOG 12 /* 4096 byte blocks */ -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:16: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=RP_MATCHES_RCVD, T_FILL_THIS_FORM_SHORT 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 B6BA77F47 for ; Fri, 3 Oct 2014 17:16:15 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8ABDB304071; Fri, 3 Oct 2014 15:16:15 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 5E2654266DC; Fri, 3 Oct 2014 17:16:15 -0500 (CDT) Date: Fri, 3 Oct 2014 17:16:15 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 33/35] xfsprogs: add utf8 support to xfs_repair Message-ID: <20141003221615.GG1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Mark Tinguely Fix the duplicate filename detection to use the utf-8 normalization routines. Signed-off-by: Mark Tinguely Signed-off-by: Ben Myers [XXX use sb_utf8version on the global xfs_mount. TODO maybe add the xfs_mount to the args structure? --bpm] --- db/check.c | 2 +- libxfs/xfs_utf8.c | 16 ++++++++-------- repair/phase6.c | 36 +++++++++++++++++++++++++----------- 3 files changed, 34 insertions(+), 20 deletions(-) diff --git a/db/check.c b/db/check.c index d317a71..9219cc8 100644 --- a/db/check.c +++ b/db/check.c @@ -2324,7 +2324,7 @@ process_data_dir_v2( (char *)dep - (char *)data); dir_hash_add(mp->m_dirnameops->hashname(dep->name, dep->namelen, - 0 /* version for later */), addr); + mp->m_sb.sb_utf8version), addr); ptr += xfs_dir3_data_entsize(mp, dep->namelen); count++; lastfree = 0; diff --git a/libxfs/xfs_utf8.c b/libxfs/xfs_utf8.c index f7042ef..e7a717e 100644 --- a/libxfs/xfs_utf8.c +++ b/libxfs/xfs_utf8.c @@ -106,8 +106,8 @@ xfs_utf8_normhash( unsigned char *norm; ssize_t normlen; int c; - unsigned int sb_utf8version = - args->dp->i_mount->m_sb.sb_utf8version; + unsigned int sb_utf8version = mp->m_sb.sb_utf8version; +/* XXX args->dp->i_mount->m_sb.sb_utf8version; */ /* Don't normalize system attribute names. */ if (args->flags & (ATTR_ROOT|ATTR_SECURE)) @@ -147,8 +147,8 @@ xfs_utf8_compname( struct utf8cursor u8c; const unsigned char *norm; int c; - unsigned int sb_utf8version = - args->dp->i_mount->m_sb.sb_utf8version; + unsigned int sb_utf8version = mp->m_sb.sb_utf8version; +/* XXX args->dp->i_mount->m_sb.sb_utf8version; */ ASSERT(args->norm || args->normlen == -1); @@ -213,8 +213,8 @@ xfs_utf8_ci_normhash( unsigned char *norm; ssize_t normlen; int c; - unsigned int sb_utf8version = - args->dp->i_mount->m_sb.sb_utf8version; + unsigned int sb_utf8version = mp->m_sb.sb_utf8version; +/* XXX args->dp->i_mount->m_sb.sb_utf8version; */ /* Don't normalize system attribute names. */ if (args->flags & (ATTR_ROOT|ATTR_SECURE)) @@ -254,8 +254,8 @@ xfs_utf8_ci_compname( struct utf8cursor u8c; const unsigned char *norm; int c; - unsigned int sb_utf8version = - args->dp->i_mount->m_sb.sb_utf8version; + unsigned int sb_utf8version = mp->m_sb.sb_utf8version; +/* XXX args->dp->i_mount->m_sb.sb_utf8version; */ ASSERT(args->norm || args->normlen == -1); diff --git a/repair/phase6.c b/repair/phase6.c index c18ef69..eb3ea35 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -176,13 +176,15 @@ dir_hash_add( unsigned char *name, __uint8_t ftype) { - xfs_dahash_t hash = 0; int byaddr; int byhash = 0; dir_hash_ent_t *p; int dup; short junk; struct xfs_name xname; + xfs_da_args_t args; + + memset(&args, 0, sizeof(xfs_da_args_t)); ASSERT(!hashtab->names_duped); @@ -195,20 +197,30 @@ dir_hash_add( dup = 0; if (!junk) { - hash = mp->m_dirnameops->hashname(name, namelen, - 0 /* version for later */); - byhash = DIR_HASH_FUNC(hashtab, hash); + int error; + + args.name = name; + args.namelen = namelen; + args.inumber = inum; + args.whichfork = XFS_DATA_FORK; + + error = mp->m_dirnameops->normhash(&args); + if (error) + do_error(_("normalize has failed %d)\n"), error); + + byhash = DIR_HASH_FUNC(hashtab, args.hashval); /* * search hash bucket for existing name. */ for (p = hashtab->byhash[byhash]; p; p = p->nextbyhash) { - if (p->hashval == hash && p->name.len == namelen) { - if (memcmp(p->name.name, name, namelen) == 0) { - dup = 1; - junk = 1; - break; - } + if (p->hashval == args.hashval && + mp->m_dirnameops->compname(&args, p->name.name, + p->name.len) != + XFS_CMP_DIFFERENT) { + dup = 1; + junk = 1; + break; } } } @@ -227,7 +239,7 @@ dir_hash_add( hashtab->last = p; if (!(p->junkit = junk)) { - p->hashval = hash; + p->hashval = args.hashval; p->nextbyhash = hashtab->byhash[byhash]; hashtab->byhash[byhash] = p; } @@ -236,6 +248,8 @@ dir_hash_add( p->seen = 0; p->name = xname; + if (args.norm) + kmem_free((void *) args.norm); return !dup; } -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:16: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=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 32BC87F37 for ; Fri, 3 Oct 2014 17:16:47 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 158508F8040; Fri, 3 Oct 2014 15:16:47 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id D41FD4266AC; Fri, 3 Oct 2014 17:16:46 -0500 (CDT) Date: Fri, 3 Oct 2014 17:16:46 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 34/35] xfsprogs: xfs_db support for sb_utf8version Message-ID: <20141003221646.GH1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers Add support for accessing and setting sb_utf8version to xfs_db. Signed-off-by: Ben Myers --- db/hash.c | 1 + db/sb.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/db/hash.c b/db/hash.c index 02376e6..5196442 100644 --- a/db/hash.c +++ b/db/hash.c @@ -52,6 +52,7 @@ hash_f( { xfs_dahash_t hashval; + /* XXX utf8version? */ hashval = libxfs_da_hashname((uchar_t *)argv[1], (int)strlen(argv[1])); dbprintf("0x%x\n", hashval); return 0; diff --git a/db/sb.c b/db/sb.c index 6cb665d..e32790a 100644 --- a/db/sb.c +++ b/db/sb.c @@ -119,6 +119,7 @@ const field_t sb_flds[] = { { "features_log_incompat", FLDT_UINT32X, OI(OFF(features_log_incompat)), C1, 0, TYP_NONE }, { "crc", FLDT_CRC, OI(OFF(crc)), C1, 0, TYP_NONE }, + { "utf8version", FLDT_UINT32D, OI(OFF(utf8version)), C1, 0, TYP_NONE }, { "pquotino", FLDT_INO, OI(OFF(pquotino)), C1, 0, TYP_INODE }, { "lsn", FLDT_UINT64X, OI(OFF(lsn)), C1, 0, TYP_NONE }, { NULL } @@ -646,6 +647,8 @@ version_string( strcat(s, ",CRC"); if (xfs_sb_version_hasftype(sbp)) strcat(s, ",FTYPE"); + if (xfs_sb_version_hasutf8(sbp)) + strcat(s, ",UTF8"); return s; } -- 1.7.12.4 From bpm@sgi.com Fri Oct 3 17:17: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=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 36C0D7F37 for ; Fri, 3 Oct 2014 17:17:22 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0B4058F8059; Fri, 3 Oct 2014 15:17:21 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id B4ABC4266DC; Fri, 3 Oct 2014 17:17:21 -0500 (CDT) Date: Fri, 3 Oct 2014 17:17:21 -0500 From: Ben Myers To: linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, olaf@sgi.com Subject: [PATCH 35/35] xfsprogs: add a test for utf8 support Message-ID: <20141003221721.GI1865@sgi.com> References: <20141003214758.GY1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003214758.GY1865@sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) From: Ben Myers Here's a basic test for utf8 support in xfs. It is based on code that does testing in the trie generator. Here too we are using the NormalizationTest-7.0.0.txt file from the unicode distribution. We check that the normalization in libxfs is working and then run checks on a filesystem mounted on /mnt (currently this is hardcoded). Note that there are some 'blacklisted' unichars which normalize to reserved characters. Signed-off-by: Ben Myers --- Makefile | 2 +- chkutf8data/Makefile | 21 +++ chkutf8data/chkutf8data.c | 451 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 473 insertions(+), 1 deletion(-) create mode 100644 chkutf8data/Makefile create mode 100644 chkutf8data/chkutf8data.c diff --git a/Makefile b/Makefile index 74778b5..d2be322 100644 --- a/Makefile +++ b/Makefile @@ -42,7 +42,7 @@ endif LIB_SUBDIRS = utf8norm libxfs libxlog libxcmd libhandle libdisk TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \ - mdrestore repair rtcp m4 man doc po debian + mdrestore repair rtcp m4 man doc po debian chkutf8data SUBDIRS = include $(LIB_SUBDIRS) $(TOOL_SUBDIRS) diff --git a/chkutf8data/Makefile b/chkutf8data/Makefile new file mode 100644 index 0000000..6ce5706 --- /dev/null +++ b/chkutf8data/Makefile @@ -0,0 +1,21 @@ +# +# Copyright (c) 2014 SGI. All Rights Reserved. +# + +TOPDIR = .. +include $(TOPDIR)/include/builddefs + +LTCOMMAND = chkutf8data +CFILES = chkutf8data.c + +LLDLIBS = $(LIBXFS) +LTDEPENDENCIES = $(LIBXFS) +LLDFLAGS = -static + +default: depend $(LTCOMMAND) + +include $(BUILDRULES) + +install: default + +-include .ltdep diff --git a/chkutf8data/chkutf8data.c b/chkutf8data/chkutf8data.c new file mode 100644 index 0000000..7fe052f --- /dev/null +++ b/chkutf8data/chkutf8data.c @@ -0,0 +1,451 @@ +/* + * Copyright (c) 2014 SGI. + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include "utf8norm.h" + +#define FOLD_NAME "CaseFolding.txt" +#define TEST_NAME "NormalizationTest.txt" + +const char *fold_name = FOLD_NAME; +const char *test_name = TEST_NAME; + +/* An arbitrary line size limit on input lines. */ + +#define LINESIZE 1024 +char line[LINESIZE]; +char buf0[LINESIZE]; +char buf1[LINESIZE]; +char buf2[LINESIZE]; +char buf3[LINESIZE]; +char buf4[LINESIZE]; +char buf5[LINESIZE]; + +const char *mtpt; + +/* ------------------------------------------------------------------ */ + +static void +help(void) +{ + printf("The input files:\n"); + printf("\t-f %s\n", FOLD_NAME); + printf("\t-t %s\n", TEST_NAME); + printf("\n"); +} + +static void +usage(void) +{ + help(); + exit(1); +} + +static void +open_fail(const char *name, int error) +{ + printf("Error %d opening %s: %s\n", error, name, strerror(error)); + exit(1); +} + +static void +file_fail(const char *filename) +{ + printf("Error parsing %s\n", filename); + exit(1); +} + +/* ------------------------------------------------------------------ */ + +/* + * UTF8 valid ranges. + * + * The UTF-8 encoding spreads the bits of a 32bit word over several + * bytes. This table gives the ranges that can be held and how they'd + * be represented. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000000 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000000 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * There is an additional requirement on UTF-8, in that only the + * shortest representation of a 32bit value is to be used. A decoder + * must not decode sequences that do not satisfy this requirement. + * Thus the allowed ranges have a lower bound. + * + * 0x00000000 0x0000007F: 0xxxxxxx + * 0x00000080 0x000007FF: 110xxxxx 10xxxxxx + * 0x00000800 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx + * 0x00010000 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x00200000 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 0x04000000 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Actual unicode characters are limited to the range 0x0 - 0x10FFFF, + * 17 planes of 65536 values. This limits the sequences actually seen + * even more, to just the following. + * + * 0 - 0x7f: 0 0x7f + * 0x80 - 0x7ff: 0xc2 0x80 0xdf 0xbf + * 0x800 - 0xffff: 0xe0 0xa0 0x80 0xef 0xbf 0xbf + * 0x10000 - 0x10ffff: 0xf0 0x90 0x80 0x80 0xf4 0x8f 0xbf 0xbf + * + * Even within those ranges not all values are allowed: the surrogates + * 0xd800 - 0xdfff should never be seen. + * + * Note that the longest sequence seen with valid usage is 4 bytes, + * the same a single UTF-32 character. This makes the UTF-8 + * representation of Unicode strictly smaller than UTF-32. + * + * The shortest sequence requirement was introduced by: + * Corrigendum #1: UTF-8 Shortest Form + * It can be found here: + * http://www.unicode.org/versions/corrigendum1.html + * + */ + +#define UTF8_2_BITS 0xC0 +#define UTF8_3_BITS 0xE0 +#define UTF8_4_BITS 0xF0 +#define UTF8_N_BITS 0x80 +#define UTF8_2_MASK 0xE0 +#define UTF8_3_MASK 0xF0 +#define UTF8_4_MASK 0xF8 +#define UTF8_N_MASK 0xC0 +#define UTF8_V_MASK 0x3F +#define UTF8_V_SHIFT 6 + +static int +utf8key(unsigned int key, char keyval[]) +{ + int keylen; + + if (key < 0x80) { + keyval[0] = key; + keylen = 1; + } else if (key < 0x800) { + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_2_BITS; + keylen = 2; + } else if (key < 0x10000) { + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_3_BITS; + keylen = 3; + } else if (key < 0x110000) { + keyval[3] = key & UTF8_V_MASK; + keyval[3] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[2] = key & UTF8_V_MASK; + keyval[2] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[1] = key & UTF8_V_MASK; + keyval[1] |= UTF8_N_BITS; + key >>= UTF8_V_SHIFT; + keyval[0] = key; + keyval[0] |= UTF8_4_BITS; + keylen = 4; + } else { + printf("%#x: illegal key\n", key); + keylen = 0; + } + return keylen; +} + +static unsigned int +utf8code(const char *str) +{ + const unsigned char *s = (const unsigned char*)str; + unsigned int unichar = 0; + + if (*s < 0x80) { + unichar = *s; + } else if (*s < UTF8_3_BITS) { + unichar = *s++ & 0x1F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else if (*s < UTF8_4_BITS) { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } else { + unichar = *s++ & 0x0F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s++ & 0x3F; + unichar <<= UTF8_V_SHIFT; + unichar |= *s & 0x3F; + } + return unichar; +} + +static int +normalize_line(utf8data_t tree, char *s, char *t) +{ + struct utf8cursor u8c; + + if (utf8cursor(&u8c, tree, s)) { + printf("%s return utf8cursor failed\n", __func__); + return -1; + } + + while ((*t = utf8byte(&u8c)) > 0) + t++; + + if (*t != 0) { + printf("%s return t not 0\n", __func__); + return -1; + } + + return 0; +} + +static void +test_key(char *source, + char *NFC, + char *NFD, + char *NFKC, + char *NFKD) +{ + int fd; + int error; + + printf("Testing %s -> %s\n", source, NFKD); + + error = chdir("/mnt"); /* XXX hardcoded mount point */ + if (error) { + perror(mtpt); + exit(-1); + } + + /* the initial create should succeed */ + printf("Initial create %s... ", source); + fd = open(source, O_CREAT|O_EXCL, 0); + if (fd < 0) { + printf("Failed to create %s XXX\n", source); + perror(source); + close(fd); +// return; + exit(-1); + } + close(fd); + printf("Success\n"); + + /* a second create should fail */ + printf("Second create %s (should return EEXIST)... ", NFKD); + fd = open(NFKD, O_CREAT|O_EXCL, 0); + if (fd >= 1) { + printf("Test Failed. Was able to create %s XXX\n", NFKD); + perror(NFKD); + close(fd); +// return; + exit(-1); + } + close(fd); + printf("EEXIST\n"); + + error = unlink(NFKD); + if (error) { + printf("Unlink failed\n"); + perror(NFKD); + exit(-1); + } +} + +int +blacklisted(unsigned int unichar) +{ + /* these unichars normalize to characters we don't allow */ + unsigned int list[] = { 0x2024 /* . */, + 0x2025 /* .. */, + 0x2100 /* a/c */, + 0x2101 /* a/s */, + 0x2105 /* c/o */, + 0x2106 /* c/u */, + 0xFE30 /* .. */, + 0xFE52 /* . */, + 0xFF0E /* . */, + 0xFF0F /* / */}; + int i; + + for (i=0; i < (sizeof(list) / sizeof(unichar)); i++) { + if (list[i] == unichar) + return 1; + } + return 0; +} + +static void +normalization_test(void) +{ + FILE *file; + unsigned int unichar; + char *s; + char *t; + int ret; + int tests = 0; + int failures = 0; + char source[LINESIZE]; + char NFKD[LINESIZE]; + int skip; + utf8data_t nfkdi = utf8nfkdi(7 << 16); + + printf("Parsing %s\n", test_name); + /* Step one, read data from file. */ + file = fopen(test_name, "r"); + if (!file) + open_fail(test_name, errno); + + while (fgets(line, LINESIZE, file)) { + ret = sscanf(line, "%[^;];%*[^;];%*[^;];%*[^;];%[^;];", + source, NFKD); + if (ret != 2 || *line == '#') + continue; + + s = source; + t = buf2; + skip = 0; + while (*s) { + unichar = strtoul(s, &s, 16); + if (blacklisted(unichar)) + skip++; + t += utf8key(unichar, t); + } + *t = '\0'; + + if (skip) + continue; + + s = NFKD; + t = buf3; + while (*s) { + unichar = strtoul(s, &s, 16); + t += utf8key(unichar, t); + } + *t = '\0'; + + /* normalize source */ + if (normalize_line(nfkdi, buf2, buf4) < 0) { + printf("normalize_line for unichar %s Failed\n", buf0); + exit(1); + } + printf("(%s) %s normalized to %s... ", source, buf2, buf4); + + /* does it match NFKD? */ + if (memcmp(buf4, buf3, strlen(buf3))) { + printf("Fail!\n"); + } else { + printf("Correct!\n"); + } + + /* normalize NFKD */ + if (normalize_line(nfkdi, buf3, buf5) < 0) { + printf("normalize_line for unichar %s Failed\n", + buf3); + exit(1); + } + printf("(%s) %s normalized to %s... ", NFKD, buf3, buf5); + + /* does it normalize to itself? */ + if (memcmp(buf5, buf3, strlen(buf3))) { + printf("Fail!\n"); + } else { + printf("Correct!\n"); + } + + test_key(buf2, NULL, NULL, NULL, buf3); + + /* XXX ignorables need to be taken into account? */ +// printf("%s normalized to %s\n", buf0, buf4); +// printf("%s normalized to %s\n", buf1, buf5); +// test_key(buf2, NULL, NULL, NULL, buf3); +#if 0 + ignorables = 0; + s = buf1; + t = buf3; + while (*s) { + unichar = strtoul(s, &s, 16); + data = &unicode_data[unichar]; + if (data->utf8nfkdi && !*data->utf8nfkdi) + ignorables = 1; + else + t += utf8key(unichar, t); + } + *t = '\0'; + + tests++; + if (normalize_line(nfkdi_tree) < 0) { + printf("\nline %s -> %s", buf0, buf1); + if (ignorables) + printf(" (ignorables removed)"); + printf(" failure\n"); + failures++; + } +#endif + } + fclose(file); + printf("Ran %d tests with %d failures\n", tests, failures); + if (failures) + file_fail(test_name); +} + +int +main(int argc, char *argv[]) +{ + int opt; + + while ((opt = getopt(argc, argv, "f:t:h")) != -1) { + switch (opt) { + case 'f': + fold_name = optarg; + break; + case 't': + test_name = optarg; + break; + case 'h': + help(); + exit(0); + default: + usage(); + } + } + + normalization_test(); + + return 0; +} -- 1.7.12.4 From CAF-FR@service.fr Fri Oct 3 18: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.4 required=5.0 tests=HTML_MESSAGE, HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,NORMAL_HTTP_TO_IP,WEIRD_PORT 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 8FDC77F37 for ; Fri, 3 Oct 2014 18:39:50 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7DBEB304039 for ; Fri, 3 Oct 2014 16:39:47 -0700 (PDT) X-ASG-Debug-ID: 1412379579-04cb6c50e76bda00001-NocioJ Received: from servizidirete.net (smtp.servizidirete.net [109.168.120.6]) by cuda.sgi.com with ESMTP id 3zHpiDJB1ikNxlca (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 03 Oct 2014 16:39:41 -0700 (PDT) X-Barracuda-Envelope-From: CAF-FR@service.fr X-Barracuda-Apparent-Source-IP: 109.168.120.6 Received: (qmail 3937 invoked by uid 509); 4 Oct 2014 01:39:25 +0200 Received: from 10.92.3.20 by b2bsmtpout01 (envelope-from , uid 507) with qmail-scanner-1.25-st-qms (clamdscan: 0.96.5/12592. spamassassin: 3.2.5. perlscan: 1.25-st-qms. Clear:RC:1(10.92.3.20):. Processed in 0.035312 secs); 03 Oct 2014 23:39:25 -0000 X-Antivirus-MYDOMAIN-Mail-From: caf-fr@service.fr via b2bsmtpout01 X-Antivirus-MYDOMAIN: 1.25-st-qms (Clear:RC:1(10.92.3.20):. Processed in 0.035312 secs Process 3930) Received: from unknown (HELO CiBerProdW01) (10.92.3.20) by servizidirete.net with SMTP; 4 Oct 2014 01:39:24 +0200 Message-ID: <12874812.1412379571578.JavaMail.SYSTEM@CiBerProdW01> Date: Sat, 4 Oct 2014 01:39:31 +0200 (CEST) From: "CAF.fr" To: xfs@oss.sgi.com Subject: 'message important' Mime-Version: 1.0 X-ASG-Orig-Subj: 'message important' Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Mailer: ColdFusion MX Application Server X-Barracuda-Connect: smtp.servizidirete.net[109.168.120.6] X-Barracuda-Start-Time: 1412379580 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.55 X-Barracuda-Spam-Status: No, SCORE=1.55 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, NORMAL_HTTP_TO_IP, WEIRD_PORT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10174 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 WEIRD_PORT URI: Uses non-standard port number for HTTP 0.00 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL 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






Cher(e) client(e)

 

Après les derniers calculs de votre caisse d'allocations familiales, nous avons déterminé que vous

êtes admissible a recevoir un remboursement d'un montant de 212.00 euro.

 

Nous vous invitons à consulter les démarches a suivre en      cliquant-ici.

 

 

 
 

Cordialement,

 

 

Caf.fr - Caisses d'Allocations Familiales 2014 France . 

 

 

 

 

 

 
From cassandra@pure-lead02.eu Sat Oct 4 00:40: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=HTML_IMAGE_RATIO_08, HTML_MESSAGE,T_DKIM_INVALID,T_REMOTE_IMAGE 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 0D2597F37 for ; Sat, 4 Oct 2014 00:40:23 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EE47130404E for ; Fri, 3 Oct 2014 22:40:22 -0700 (PDT) X-ASG-Debug-ID: 1412401216-04cbb07304756a50001-NocioJ Received: from vps.professional-communication-platform.eu (vps.professional-communication-platform.eu [185.13.39.252]) by cuda.sgi.com with ESMTP id AYBMQ91IGBrzOePS (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 03 Oct 2014 22:40:17 -0700 (PDT) X-Barracuda-Envelope-From: cassandra@pure-lead02.eu X-Barracuda-Apparent-Source-IP: 185.13.39.252 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pure-lead02.eu; s=itek; t=1412401216; bh=2SDSitT5JnmzS0QklN139Yslk12ysyGB7RNE17cj/oc=; h=Date:To:From:Reply-to:Subject:From; b=WIxlgS4bMtTO5aJDefVPoEnjaY/V8I08EsHyxGBPrrmH5hIawoK65+kNrvvnhebV0 GRvDhaPcw2xbqjlLSYti2GA5ZZka4ZhOARzxs7HeT05DpwwDXNzdbe5d7H+fkARjT/ ywXGO4PnGAkEAoRwLNN7TxA9rqYuFOQfe2j4eB4k= Date: Sat, 4 Oct 2014 07:40:15 +0200 To: xfs@oss.sgi.com From: Webstim Reply-To: Webstim Subject: Votre compta en ligne Message-ID: <07fa76e668db966b84755aedd72fe353@soon-plateform4you.eu> X-ASG-Orig-Subj: Votre compta en ligne X-Priority: 3 X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_fe6ba73450a1b5115abb983b43c7f8f9" X-Barracuda-Connect: vps.professional-communication-platform.eu[185.13.39.252] X-Barracuda-Start-Time: 1412401217 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=DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_RATIO_08, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10184 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_08 BODY: HTML has a low ratio of text to image area 0.00 HTML_MESSAGE BODY: HTML included in message --b1_fe6ba73450a1b5115abb983b43c7f8f9 Content-Type: text/plain; charset = "UTF-8" Content-Transfer-Encoding: 8bit Testez gratuitement 1 mois de Compta en ligne "la compta sans les pépins et moins chère" La Compta en ligne satisfait ou remboursé ! Compta-Clémentine vous propose des missions d’expertise-comptable en ligne : Saisie comptable, bilan comptable, déclarations sociales, TVA/CA 12 et conseils tout au long de l’année avec votre collaborateur-comptable dédié. Testez gratuitement pendant 1 mois votre compta en ligne ! Vous n’êtes pas sûr de vouloir un expert en ligne ? Pas de panique, Compta-Clémentine c’est un comptable en ligne avec garantie satisfait ou remboursé pendant les 3 premiers mois de l'exercice. > 100% Garantie "satisfait ou remboursé" > N°1 de la Relation Client en Expertise comptable > 96% de clients satisfaits : label eKomi OR 1 mois gratuit ! Testez gratuitement pendant un mois la compta en ligne en sans pépin --b1_fe6ba73450a1b5115abb983b43c7f8f9 Content-Type: text/html; charset = "UTF-8" Content-Transfer-Encoding: 8bit Votre 1er Mois de Compta en ligne offert

Si vous souhaitez consulter la version en ligne cliquez ici.
Votre 1er Mois de Compta en ligne offert

Testez gratuitement 1 mois de Compta en ligne
"la compta sans les pépins et moins chère"

La Compta en ligne satisfait ou remboursé !

Compta-Clémentine vous propose des missions d’expertise-comptable en ligne : Saisie comptable, bilan comptable, déclarations sociales, TVA/CA 12 et conseils tout au long de l’année avec votre collaborateur-comptable dédié.
Testez gratuitement pendant 1 mois votre compta en ligne ! Vous n’êtes pas sûr de vouloir un expert en ligne ? Pas de panique, Compta-Clémentine c’est un comptable en ligne avec garantie satisfait ou remboursé pendant les 3 premiers mois de l'exercice.


> 100% Garantie "satisfait ou
remboursé"



> N°1 de la Relation Client en
Expertise comptable



> 96% de clients satisfaits :
label eKomi OR


1 mois gratuit !


Testez gratuitement pendant un mois la compta en ligne en sans pépin
Si vous souhaitez vous désinscrire de notre liste, vous pouvez vous désabonner ici.

--b1_fe6ba73450a1b5115abb983b43c7f8f9-- From BATV+d604a12cf3e737ca86a4+4059+infradead.org+hch@bombadil.srs.infradead.org Sat Oct 4 02:16: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=3.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP 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 50C8E7F3F for ; Sat, 4 Oct 2014 02:16:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3D60F8F8059 for ; Sat, 4 Oct 2014 00:16:53 -0700 (PDT) X-ASG-Debug-ID: 1412407011-04cbb07301759ee0001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id mqN740tGiYiFqGji (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO); Sat, 04 Oct 2014 00:16:51 -0700 (PDT) X-Barracuda-Envelope-From: BATV+d604a12cf3e737ca86a4+4059+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 1XaJaF-0002qe-7d; Sat, 04 Oct 2014 07:16:51 +0000 Date: Sat, 4 Oct 2014 00:16:51 -0700 From: Christoph Hellwig To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com, olaf@sgi.com Subject: Re: [PATCH 13/16] xfs: implement demand load of utf8norm.ko Message-ID: <20141004071651.GB5168@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 13/16] xfs: implement demand load of utf8norm.ko References: <20141003214758.GY1865@sgi.com> <20141003220357.GM1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220357.GM1865@sgi.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: bombadil.infradead.org[198.137.202.9] X-Barracuda-Start-Time: 1412407011 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.10186 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- > +int > +xfs_init_utf8_module(struct xfs_mount *mp) > +{ > + request_module("utf8norm"); > + > + spin_lock(&utf8norm_lock); > + if (utf8norm_initialized) { > + spin_unlock(&utf8norm_lock); > + return 0; > + } > + > + utf8version_is_supported_func = symbol_get(utf8version_is_supported); > + if (!utf8version_is_supported_func) > + goto error; > + > + utf8nfkdi_func = symbol_get(utf8nfkdi); > + if (!utf8nfkdi_func) > + goto error; Please export a structure with a function pointes so that we just need a single symbol_get call. I'd have to look up how symbol_get works, but unless there's something that speaks against this it might be simpler to than just do a symbol_get per mounst structure that uses utf8 and can point to that structure so that we don't have to add additional reference counting infrastructure around it. From root@krios.tbi.univie.ac.at Sat Oct 4 23: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=0.0 required=5.0 tests=none 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 62AE97F3F for ; Sat, 4 Oct 2014 23:25:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id F2D3AAC001 for ; Sat, 4 Oct 2014 21:25:10 -0700 (PDT) X-ASG-Debug-ID: 1412483105-04cbb07304777400001-NocioJ Received: from krios.tbi.univie.ac.at (krios.tbi.univie.ac.at [131.130.44.60]) by cuda.sgi.com with ESMTP id LDH2MbIVkVAchai0 for ; Sat, 04 Oct 2014 21:25:06 -0700 (PDT) X-Barracuda-Envelope-From: root@krios.tbi.univie.ac.at X-Barracuda-Apparent-Source-IP: 131.130.44.60 Received: by krios.tbi.univie.ac.at (Postfix) id 16C525F19C; Sun, 5 Oct 2014 06:25:03 +0200 (CEST) Delivered-To: root@krios.tbi.univie.ac.at Received: by krios.tbi.univie.ac.at (Postfix, from userid 0) id 048E05F474; Sun, 5 Oct 2014 06:25:02 +0200 (CEST) From: root@krios.tbi.univie.ac.at (Cron Daemon) To: root@krios.tbi.univie.ac.at Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: Message-Id: <20141005042503.048E05F474@krios.tbi.univie.ac.at> Date: Sun, 5 Oct 2014 06:25:02 +0200 (CEST) X-Barracuda-Connect: krios.tbi.univie.ac.at[131.130.44.60] X-Barracuda-Start-Time: 1412483105 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.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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_ADDR_MATCH, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10216 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address /etc/cron.daily/logrotate: error: error opening /home/git/gitlab/log/application.log: Permission denied error: error opening /home/git/gitlab/log/githost.log: Permission denied error: error opening /home/git/gitlab/log/production.log: Permission denied error: error opening /home/git/gitlab/log/satellites.log: Permission denied error: error opening /home/git/gitlab/log/sidekiq.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stderr.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stdout.log: Permission denied error: error opening /home/git/gitlab-shell/gitlab-shell.log: Permission denied run-parts: /etc/cron.daily/logrotate exited with return code 1 From robin.listas@gmail.com Sun Oct 5 09:28: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=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 B67BA7F4E for ; Sun, 5 Oct 2014 09:28:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 45052AC003 for ; Sun, 5 Oct 2014 07:28:35 -0700 (PDT) X-ASG-Debug-ID: 1412519296-04cb6c50e76f6170001-NocioJ Received: from mail-wi0-f180.google.com (mail-wi0-f180.google.com [209.85.212.180]) by cuda.sgi.com with ESMTP id 3IK66eHIFPn39oss (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 05 Oct 2014 07:28:16 -0700 (PDT) X-Barracuda-Envelope-From: robin.listas@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.180 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.180] Received: by mail-wi0-f180.google.com with SMTP id em10so2453142wid.7 for ; Sun, 05 Oct 2014 07:28:15 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.180] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.180] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:in-reply-to:message-id:references :user-agent:mime-version:content-type; bh=ajqG6hDdZ76iOQVKGyFR5ahpPrMD1r3ZghNvpoohrpM=; b=Sz5/rzorKxeh/2bScZ5vAHXosUVz/2/f1kt1iBKAkSxMn78+SlTEGOA/ox31WZ2t8d Mg51rv+zTrFiAGqBqfjik+EOuZDv1gEXkYiRZdnZlU4bO0lReNTsLjgYVekB/D0DBoVH nkEfYHZtrqcrcid61DUo9CG7fqko19ozXGMRhkJJUFr2APJZvsPTXGOZmjTOGm9f5uva TYstZof7wU9ayiWVUGswXV+sezmUhhhn7rf/aEBmt4j9A2rGG0WXtHtNE5GaVQdbJFm1 9QyDzPiA3fNKbbzdiZUKmp9qA1oNDzfPElSEAKXHVAQbHqH+H+GJxxrMyNx0CN6KE4YR nTnA== X-Received: by 10.180.184.225 with SMTP id ex1mr1833053wic.22.1412519295626; Sun, 05 Oct 2014 07:28:15 -0700 (PDT) Received: from Telcontar.valinor (177.Red-79-159-63.staticIP.rima-tde.net. [79.159.63.177]) by mx.google.com with ESMTPSA id wk5sm14100348wjb.12.2014.10.05.07.28.14 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Oct 2014 07:28:15 -0700 (PDT) Sender: Carlos Robinson Received: from localhost (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id 1C23861343 for ; Sun, 5 Oct 2014 16:28:12 +0200 (CEST) X-Virus-Scanned: amavisd-new at valinor Received: from Telcontar.valinor ([127.0.0.1]) by localhost (Telcontar.valinor [127.0.0.1]) (amavisd-new, port 10024) with LMTP id q1D628mXEetL for ; Sun, 5 Oct 2014 16:28:12 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id D88BC60695 for ; Sun, 5 Oct 2014 16:28:11 +0200 (CEST) Date: Sun, 5 Oct 2014 16:28:11 +0200 (CEST) From: "Carlos E. R." X-X-Sender: cer@Telcontar.valinor To: XFS mailing list Subject: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. In-Reply-To: <542D3B0A.5030600@opensuse.org> X-ASG-Orig-Subj: Re: Happened again, 20140930 -- Got "Internal error XFS_WANT_CORRUPTED_GOTO". Filesystem needs reformatting to correct issue. Message-ID: References: <20141001004514.GH24490@dastard> <542B6B8A.2060309@opensuse.org> <20141002113205.GE19748@quack.suse.cz> <542D3B0A.5030600@opensuse.org> User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463808511-63611936-1412519291=:6367" X-Barracuda-Connect: mail-wi0-f180.google.com[209.85.212.180] X-Barracuda-Start-Time: 1412519296 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.00 X-Barracuda-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.10229 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 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463808511-63611936-1412519291=:6367 Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday, 2014-10-02 at 13:46 +0200, Carlos E. R. wrote: > On 2014-10-02 13:32, Jan Kara wrote: >> Feel free to assign that bug to me (jack at suse.com in bugzilla) >> and I'll take care of it. > > Sure, thanks. > I'm busy with other things right now, will do as soon as I can. > Yesterday I was restoring the machine. Done! Bugzilla – Bug 899785 at bugzilla.opensuse.org Thanks all! - -- Cheers, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlQxVXsACgkQtTMYHG2NR9UrFwCfTGyKIbUE61zU/ypyyCp1f9IR US0AnRaXbFjR35nW44sCUgYJF2JZq4Hn =dkv8 -----END PGP SIGNATURE----- ---1463808511-63611936-1412519291=:6367-- From david@fromorbit.com Sun Oct 5 16: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=3.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP 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 983057F4E for ; Sun, 5 Oct 2014 16:52:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7865E30405F for ; Sun, 5 Oct 2014 14:52:53 -0700 (PDT) X-ASG-Debug-ID: 1412545968-04bdf003a278b0f0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id i9a34TZx4gFmdoUB for ; Sun, 05 Oct 2014 14:52: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: ArlAAJy8MVR5LDjwPGdsb2JhbABfgw6BK4IyhQewQgaVaoVqAgIBAQJ+FwEGAQEBATg5hAMBAQEEOhwjBQsIAw4HAwklDwUlAwcaE4g9vxoYGIYIiiUHgy2BHgWdPYEug0KVCCkvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 06 Oct 2014 08:22:46 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XatjQ-0006Gw-W4; Mon, 06 Oct 2014 08:52:45 +1100 Date: Mon, 6 Oct 2014 08:52:44 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 04/16] lib/utf8norm.c: reduce the size of utf8data[] Message-ID: <20141005215244.GE12693@dastard> X-ASG-Orig-Subj: Re: [PATCH 04/16] lib/utf8norm.c: reduce the size of utf8data[] References: <20141003214758.GY1865@sgi.com> <20141003215455.GC1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003215455.GC1865@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: 1412545968 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.10239 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 04:54:55PM -0500, Ben Myers wrote: > From: Olaf Weber > > Remove the Hangul decompositions from the utf8data trie, and do > algorithmic decomposition to calculate them on the fly. To store > the decomposition the caller of utf8lookup()/utf8nlookup() must > provide a 12-byte buffer, which is used to synthesize a leaf with > the decomposition. Trie size is reduced from 245kB to 90kB. > > This change also contains a number of robustness fixes to the > trie generator mkutf8data.c. Please separate out the robustness fixes or merge them back into the original patch. e.g. Bulk renaming of code like this: > static int > -utf8key(unsigned int key, char keyval[]) > -{ > - int keylen; > - > - if (key < 0x80) { > - keyval[0] = key; > - keylen = 1; > - } else if (key < 0x800) { > - keyval[1] = key & UTF8_V_MASK; > - keyval[1] |= UTF8_N_BITS; > - key >>= UTF8_V_SHIFT; .... > +utf8encode(char *str, unsigned int val) > +{ > + int len; > + > + if (val < 0x80) { > + str[0] = val; > + len = 1; > + } else if (val < 0x800) { > + str[1] = val & UTF8_V_MASK; > + str[1] |= UTF8_N_BITS; > + val >>= UTF8_V_SHIFT; Doesn't belong in a patch that introduces special hangul character handling.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From kubilay.gunduz@infonet.com.tr Mon Oct 6 08:02: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=1.7 required=5.0 tests=DATE_IN_PAST_06_12, HTML_MESSAGE,MIME_QP_LONG_LINE,TVD_SPACE_RATIO,T_TVD_MIME_EPI 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 6978B7F4E for ; Mon, 6 Oct 2014 08:02:53 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 48ED88F8040 for ; Mon, 6 Oct 2014 06:02:50 -0700 (PDT) X-ASG-Debug-ID: 1412600562-04cb6c50e6714c10001-NocioJ Received: from jezebel.infonet.com.tr (imsva.infonet.com.tr [213.153.205.124]) by cuda.sgi.com with ESMTP id dDaJmNWpBcsXeaJL (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Oct 2014 06:02:44 -0700 (PDT) X-Barracuda-Envelope-From: kubilay.gunduz@infonet.com.tr X-Barracuda-Apparent-Source-IP: 213.153.205.124 Received: (qmail 24871 invoked by uid 507); 6 Oct 2014 16:11:49 +0300 Received: from abts-mp-dynamic-222.34.168.122.airtelbroadband.in (HELO smtp.infonet.com.tr) (kubilay.gunduz@infonet.com.tr@122.168.34.222) by jezebel.infonet.com.tr with SMTP; 6 Oct 2014 16:11:49 +0300 Message-ID: <059658896073$3176c457$3f0613af$@infonet.com.tr> From: info To: "weblog" , "webshep2" , "welchm" , "WENDY" , "WENDY GONZALEZ" , "wendy" , "wgarrow" , "whanright" , "Whittier School" , "wigt" , "william" , "winona autry" , "wmillimen" , "wmson" , "wppresby church" , "wrwest" , "wsa24" , "wunbusymom" , "xfs" , "yangsha460" Subject: info@recycleforschools.com Date: Sun, 6 Oct 2014 02:02:30 +0000 X-ASG-Orig-Subj: info@recycleforschools.com MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0961_49A3D8C6.43A105EE" X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Mailer: Microsoft Windows Live Mail 16.4.3522.110 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3522.110 X-Barracuda-Connect: imsva.infonet.com.tr[213.153.205.124] X-Barracuda-Start-Time: 1412600563 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.13 X-Barracuda-Spam-Status: No, SCORE=2.13 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DATE_IN_PAST_06_12, DATE_IN_PAST_06_12_2, HTML_MESSAGE, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10260 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.01 DATE_IN_PAST_06_12 Date: is 6 to 12 hours before Received: date 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 1.10 DATE_IN_PAST_06_12_2 DATE_IN_PAST_06_12_2 This is a multi-part message in MIME format. ------=_NextPart_000_0961_49A3D8C6.43A105EE Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi!=20 People say it works http://eralpofset.com/fond.php?wtax info@recycleforschools.com ------=_NextPart_000_0961_49A3D8C6.43A105EE Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi!
info@recycleforschools.com
------=_NextPart_000_0961_49A3D8C6.43A105EE-- Thread-Index: AdIKpUfT5Gp5ejJpYnB5M2J2Z21sMQ== From bfoster@redhat.com Mon Oct 6 08:11: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 28E417F4E for ; Mon, 6 Oct 2014 08:11:19 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 174D530405F for ; Mon, 6 Oct 2014 06:11:18 -0700 (PDT) X-ASG-Debug-ID: 1412601073-04cbb073027a1a20001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id iXA4hNo9QAlSSotJ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Oct 2014 06:11: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-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 s96DBDOf031794 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 6 Oct 2014 09:11:13 -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 s96DBCbC031495 for ; Mon, 6 Oct 2014 09:11:12 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id A850E120064; Mon, 6 Oct 2014 09:11:11 -0400 (EDT) Date: Mon, 6 Oct 2014 09:11:11 -0400 From: Brian Foster To: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix zero range i_size problems Message-ID: <20141006131111.GA61966@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix zero range i_size problems References: <1412255533-8357-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412255533-8357-1-git-send-email-bfoster@redhat.com> 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: 1412601074 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, Oct 02, 2014 at 09:12:13AM -0400, Brian Foster wrote: > The zero range operation is analogous to fallocate with the exception of > converting the range to zeroes. E.g., it attempts to allocate zeroed > blocks over the range specified by the caller. The XFS implementation > kills all delalloc blocks currently over the aligned range, converts the > range to allocated zero blocks (unwritten extents) and handles the > partial pages at the ends of the range by sending writes through the > pagecache. > > The current implementation suffers from several problems associated with > inode size. If the aligned range covers an extending I/O, said I/O is > discarded and an inode size update from a previous write never makes it > to disk. Further, if an unaligned zero range extends beyond eof, the > page write induced for the partial end page can itself increase the > inode size, even if the zero range request is not supposed to update > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > Update xfs_zero_file_space() to forego using buffered I/O for partial > pages. Instead, convert the block aligned (rather than page aligned) > range to unwritten extents, update the partial blocks on disk and use > existing pagecache functionality to ensure cached pages are consistent > with data on disk. > > Signed-off-by: Brian Foster > --- > > This passes xfstests and survived an overnight fsx run (+300m ops) on a > 1k fsb fs. The tradeoff that I've observed from this implementation is > that fzero is now also likely to trigger the problem described in the > recently posted xfs/053 test: > > http://oss.sgi.com/archives/xfs/2014-09/msg00473.html > > This is slightly unfortunate, but as I understand it that problem is > more fundamentally associated with extent conversion and writeback vs. > any particular fs operation that might expose it. > > Brian > I spent the past few days trying to reproduce and nail down some of the delalloc related asserts reproduced by generic/269 and discovered that zero range is at least one cause of the problem. This patch actually addresses that particular problem, yet introduces another similar variant of the problem. The original cause is "leakage" of speculative preallocation blocks into the addressable range of the file (within eof) without any pages associated with the delalloc extent. This means that it isn't necessarily sufficient to writeback a particular delalloc range to convert it. This sets a landmine for direct I/O or inode eviction to step on when it comes time to perform I/O over the range or clean the inode. For example: # xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" /mnt/file wrote 131072/131072 bytes at offset 0 128 KiB, 32 ops; 0.0000 sec (786.164 MiB/sec and 201257.8616 ops/sec) # xfs_io -d -c "pread 128k 128k" /mnt/file Segmentation fault The first command creates a delalloc extent with preallocation and then runs a non-file-size-extending zero range beyond the end of the file with an unaligned end offset (note that doing the zero range within the same process is required to ensure prealloc isn't trimmed by close()). As discussed above, this results in an internal I/O that increases i_size and leaks the previous preallocation within eof. The subsequent command simply attempts a delalloc read across where the preallocation would have started. It attempts a writeback of the range where the dellaloc exists, but there are no pages in the particular range of I/O to drive extent conversion and hence the request ultimately falls over. I haven't looked into the xfs_io crash, but the intent of the command is to reproduce the direct I/O BUG(): kernel: kernel BUG at fs/xfs/xfs_aops.c:1392! I don't reproduce the umount problem with this same sequence. I suspect this is because a writeback over the broader range of the file (e.g., 0-128k) will ultimately convert the extent. I suspect some sequence that can create contiguous but separate delalloc extents would lead to the problem on umount (e.g., a delalloc extent that has no page cache coverage whatsoever). I'm pretty sure I've seen this before when playing around with collapse but I can't quite recall how it occurs. This is important to dig into as well as anything that can lead to this naked delalloc extent scenario can cause this problem. The patch here addresses the zero range problem simply by avoiding xfs_iozero(). It introduces a similar problem... > fs/xfs/xfs_bmap_util.c | 110 +++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 78 insertions(+), 32 deletions(-) > > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > index d8b77b5..f2d58e2 100644 > --- a/fs/xfs/xfs_bmap_util.c > +++ b/fs/xfs/xfs_bmap_util.c > @@ -1364,7 +1364,17 @@ xfs_free_file_space( > goto out; > } > > - > +/* > + * Preallocate and zero a range of a file. This mechanism has the allocation > + * semantics of fallocate and in addition converts data in the range to zeroes. > + * This is done using unwritten extent conversion for complete blocks within the > + * range. Partial start/end blocks cannot be converted to unwritten as they > + * contain valid data. Therefore, partial blocks are preallocated and explicitly > + * zeroed on-disk. > + * > + * Note that all allocation occurs in file sequential order (e.g., partial > + * start, middle, partial end) to help the allocator create contiguous extents. > + */ > int > xfs_zero_file_space( > struct xfs_inode *ip, > @@ -1372,63 +1382,99 @@ xfs_zero_file_space( > xfs_off_t len) > { > struct xfs_mount *mp = ip->i_mount; > - uint granularity; > + uint blksize; > xfs_off_t start_boundary; > xfs_off_t end_boundary; > int error; > + loff_t eof; > + xfs_off_t endoffset; > > trace_xfs_zero_file_space(ip); > > - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); > + blksize = 1 << mp->m_sb.sb_blocklog; > > /* > - * Round the range of extents we are going to convert inwards. If the > - * offset is aligned, then it doesn't get changed so we zero from the > - * start of the block offset points to. > + * Align the range inward to blocksize. This represents the range that > + * can be converted to unwritten extents. > */ > - start_boundary = round_up(offset, granularity); > - end_boundary = round_down(offset + len, granularity); > + start_boundary = round_up(offset, blksize); > + end_boundary = round_down(offset + len, blksize); > > ASSERT(start_boundary >= offset); > ASSERT(end_boundary <= offset + len); > > - if (start_boundary < end_boundary - 1) { > + /* > + * Flush the eof page before we start so we don't lose an i_size update > + * due to discarding an appending I/O in cache. > + */ > + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); > + if (eof >= start_boundary && eof <= end_boundary) > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); > + > + /* > + * Writeback the partial pages if either the start or end is not page > + * aligned to prevent writeback races with partial block zeroing. > + * truncate_pagecache_range() handles partial page zeroing if the pages > + * are cached. > + */ > + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, > + start_boundary); > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, > + offset + len); > + } > + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); ... here because the request can still fail with ENOSPC during block allocation after we have truncated pagecache for the entire range but before we might have killed the delalloc blocks in the range. This leads to the same delalloc blocks not covered by pagecache problem. I suspect the fix is to truncate the pagecache in smaller portions as we proceed through the function, but I'll have to give it a try. I *think* it's important to handle the truncate before making any extent modifications lest weird things happen with writeback. Brian > + > + /* handle a partial start block */ > + if (offset < start_boundary) { > + /* don't go past the end offset if it's within the block */ > + endoffset = min_t(xfs_off_t, start_boundary, offset + len); > + > + /* preallocate the block and zero the partial range on disk */ > + error = xfs_alloc_file_space(ip, offset, > + start_boundary - offset, XFS_BMAPI_PREALLOC); > + if (error) > + goto out; > + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); > + if (error) > + goto out; > + > + /* if we've hit the end offset, we're done */ > + if (endoffset == offset + len) > + goto out; > + } > + > + /* handle complete blocks */ > + if (end_boundary > start_boundary) { > /* > - * punch out delayed allocation blocks and the page cache over > - * the conversion range > + * Punch out any delalloc extents first. We don't need the data > + * and this is more efficient than converting them all to > + * written->unwritten. > */ > xfs_ilock(ip, XFS_ILOCK_EXCL); > error = xfs_bmap_punch_delalloc_range(ip, > XFS_B_TO_FSBT(mp, start_boundary), > - XFS_B_TO_FSB(mp, end_boundary - start_boundary)); > + XFS_B_TO_FSB(mp, > + end_boundary - start_boundary)); > xfs_iunlock(ip, XFS_ILOCK_EXCL); > - truncate_pagecache_range(VFS_I(ip), start_boundary, > - end_boundary - 1); > > - /* convert the blocks */ > + /* convert the range to unwritten extents */ > error = xfs_alloc_file_space(ip, start_boundary, > end_boundary - start_boundary - 1, > XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); > if (error) > goto out; > + } > > - /* We've handled the interior of the range, now for the edges */ > - if (start_boundary != offset) { > - error = xfs_iozero(ip, offset, start_boundary - offset); > - if (error) > - goto out; > - } > - > - if (end_boundary != offset + len) > - error = xfs_iozero(ip, end_boundary, > - offset + len - end_boundary); > - > - } else { > - /* > - * It's either a sub-granularity range or the range spanned lies > - * partially across two adjacent blocks. > - */ > - error = xfs_iozero(ip, offset, len); > + /* handle a partial end block */ > + if (offset + len > end_boundary) { > + error = xfs_alloc_file_space(ip, end_boundary, > + offset + len - end_boundary, > + XFS_BMAPI_PREALLOC); > + if (error) > + goto out; > + error = xfs_zero_remaining_bytes(ip, end_boundary, > + offset + len - 1); > } > > out: > -- > 1.8.3.1 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From idemarco@bairesdev.com Mon Oct 6 12:32: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=2.4 required=5.0 tests=HTML_MESSAGE,MPART_ALT_DIFF, NORMAL_HTTP_TO_IP,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 B1A227F4E for ; Mon, 6 Oct 2014 12:32:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9FA098F8050 for ; Mon, 6 Oct 2014 10:32:02 -0700 (PDT) X-ASG-Debug-ID: 1412616718-04cbb073027b0cd0001-NocioJ Received: from xl29-a.jsmtp.net (xl29-a.jsmtp.net [173.244.184.202]) by cuda.sgi.com with ESMTP id DreCVCp3VaiG0uBd for ; Mon, 06 Oct 2014 10:31:58 -0700 (PDT) X-Barracuda-Envelope-From: idemarco@bairesdev.com X-Barracuda-Apparent-Source-IP: 173.244.184.202 DKIM-Signature: v=1; a=rsa-sha1; q=dns/txt; c=simple/simple; d=bairesdev.com;s=jangomail; i=@bairesdev.com; bh=Pci6JtTwBagItg5EHdSAUMHoY4k=; h=DomainKey-Signature:Message-ID:Subject:From:Date:To:X-Priority: MIME-Version:X-Mailer:List-Unsubscribe:X-UserID:X-VConfig:Content-Type: MsgID:LocalSender; b=gblUeui9B8mM0xabXa/w5ywF40OWDNLuAvbhzIg7RKEfNy8APGmjiYcKVtxitPOGcB7A04 pPty1q5mRAG+cKWCDaxPpBLlbT2f+DNyi2jfFg89aZgES1xvWISwq/wBuW1iC2jJkt+8ou Kqr/flRQGrQl5q21UyM4EEg6oNLIRME=; DomainKey-Signature: a=rsa-sha1; c=nofws; s=jangomail; d=bairesdev.com; q=dns; h=Message-ID:Subject:From:Date:To:X-Priority:MIME-Version:X-Mailer:List-Unsubscribe:X-UserID:X-VConfig:Content-Type:MsgID:LocalSender; b=VuGYZQamcA5oGu/0y7I9SsyAW3gO4gRwrxfZe1ZbqGQ5/I+1e7/TLwnIevZzGJZy9gmf4hvkDsmxqvWjF/qyHbfwTMt6BLv2NM8iyQ0sWlOYHONX/fWzzRazhpNaAqghBpdZpWNW3UNh0odL/j/0pfbUWWQdyH1XuCXQH7aH8O0=; Message-ID: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> Subject: Question about services From: "Ignacio De Marco" X-ASG-Orig-Subj: Question about services Date: Mon, 06 Oct 2014 17:31:36 +0000 To: "Aaron Goulding" X-Priority: 3 MIME-Version: 1.0 X-Mailer: N/A List-Unsubscribe: , X-UserID: 2001781.4349251473T848366 X-VConfig: T.4349251473 Content-Type: multipart/alternative; boundary="--boundary_6501_030351d7-c71d-448e-86ee-0acd277e2f52" MsgID: SBL66034 LocalSender: bairesdev@relay.jangosmtp.net X-Barracuda-Connect: xl29-a.jsmtp.net[173.244.184.202] X-Barracuda-Start-Time: 1412616718 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.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=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, MPART_ALT_DIFF, NORMAL_HTTP_TO_IP X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10267 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 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 ----boundary_6501_030351d7-c71d-448e-86ee-0acd277e2f52 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=utf-8 PGh0bWw+PGJvZHk+DQo8cD5EZWFyIEFhcm9uLDwvcD4gIDxwPkkgaG9wZSB5b3UgYXJlIGRvaW5n IHdlbGwuIE15IG5hbWUgaXMgSWduYWNpbyBEZSBNYXJjbyBhbmQgSSBhbSB0aGUgQ2hpZWYgRXhl Y3V0aXZlIE9mZmljZXIgYXQgQmFpcmVzRGV2ICg8YSBocmVmPSJodHRwOi8vd3d3LmJhaXJlc2Rl di5jb20iPnd3dy5iYWlyZXNkZXYuY29tPC9hPikuIEkgc2F3IHlvdXIgcHJvZmlsZSBvbiBMaW5r ZWRJbiwgYW5kIGdpdmVuIA0NCnlvdXIgcm9sZSBhbmQgY29tcGFueSBwcm9maWxlLCBJIHdhbnRl ZCB0byByZWFjaCBvdXQgdG8geW91IGluIHJlZ2FyZHMgdG8gb3VyIHNlcnZpY2Ugb2ZmZXJpbmcg YW5kIHNlZSBpZiB0aGVyZSBjb3VsZCBiZSBzb21lIHN5bmVyZ3kgYmV0d2VlbiBvdXIgY29tcGFu aWVzLjwvcD4NCjxwPkJhaXJlc0RldiBzcGVjaWFsaXplcyBpbiBzb2Z0d2FyZSBkZXZlbG9wbWVu dCBzZXJ2aWNlcyBhY3Jvc3MgdGhlIGVudGlyZSBwcm9kdWN0IGRldmVsb3BtZW50IGxpZmVjeWNs ZTsgZnJvbSBuZXcgcHJvZHVjdCBkZXZlbG9wbWVudCwgUUEsIHJlbGVhc2UgZW5naW5lZXJpbmcs IHBvcnRpbmcsIHN1c3RhaW5pbmcgYW5kIG1haW50ZW5hbmNlLiBXZSB1dGlsaXplIGEgY29zdCBl ZmZlY3RpdmUgYmxlbmRlZCANDQptb2RlbCwgd2l0aCByZXNvdXJjZXMgaW4gdGhlIFVTIGFuZCBT b3V0aCBBbWVyaWNhLjwvcD4NCjxwPldpdGggbW9yZSB0aGFuIDIwMCBiaWxpbmd1YWwgZW1wbG95 ZWVzLCB3ZSBwcm92aWRlIHNlcnZpY2VzIGZvciBjb21wYW5pZXMgd29ybGR3aWRlLCBmcm9tIG1h am9yIGdsb2JhbCBjb21wYW5pZXMgbGlrZSBHb29nbGUgKDxhIGhyZWY9Imh0dHA6Ly9maW5hbmNl LnlhaG9vLmNvbS9xP3M9R09PRyI+R09PRzwvYT4pLCBOZXRHZWFyICg8YSBocmVmPSJodHRwOi8v ZmluYW5jZS55YWhvby5jb20vcT8NDQpzPU5UR1IiPk5UR1I8L2E+KSBhbmQgRGVtYW5kIE1lZGlh ICg8YSBocmVmPSJodHRwOi8vZmluYW5jZS55YWhvby5jb20vcT9zPURNRCI+RE1EPC9hPikgdG8g c21hbGwgY29tcGFuaWVzIGZvY3VzZWQgb24gc3BlY2lmaWMgbWFya2V0cy48L3A+DQogDQo8cD5B bGwgb2Ygb3VyIEVuZ2luZWVycyBhcmUgb24gRVNUKzEsIGhhdmUgZXhjZWxsZW50IEVuZ2xpc2gg c2tpbGxzIGFuZCBvdXIgcmF0ZXMgYXJlIHZlcnkgY29tcGV0aXRpdmUgYWNyb3NzIHRoZSBib2Fy ZC48L3A+DQo8cD5XaGV0aGVyIHlvdSBtaWdodCBoYXZlIGEgY2FwYWJpbGl0eSBvciBjYXBhY2l0 eSBpc3N1ZSwgb3VyIG1vZGVsIGhlbHBzIG1heGltaXplIG91ciBjbGllbnRz4oCZIHByb2R1Y3Qg ZGVsaXZlcnkgYW5kIHF1YWxpdHkgYXQgdGhlIGxvd2VzdCBwb3NzaWJsZSBjb3N0IHdoaWxlIG1p bmltaXppbmcgdGhlIG9mZnNob3JlIGRldmVsb3BtZW50IHJpc2suPC9wPg0KPHA+SWYgeW91IGhh dmUgc29tZSBpbnRlcmVzdCwgSSBjYW4gc2NoZWR1bGUgYSBzaG9ydCBjYWxsIGluIHRoZSBuZXh0 IHdlZWsgb3Igc28gdG8gZGlzY3VzcyBvdXIgc2VydmljZXMsIHlvdXIgZGV2ZWxvcG1lbnQgY2hh bGxlbmdlcyBhbmQgcHJvZHVjdCByb2FkbWFwLjwvcD4NCjxwPkRvIHlvdSB0aGluayBhbnkgb2Yg dGhlIHNlcnZpY2VzIGFib3ZlIGNhbiBiZSB1c2VmdWwgdG8geW91IG9yIHlvdXIgY29sbGVhZ3Vl cz88L3A+DQo8cD5XaXRoIHRoYW5rcyBhbmQgYmVzdCByZWdhcmRzLDwvcD4NCjwvYm9keT48L2h0 bWw+PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpv PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6dj3igJ11cm46c2NoZW1h cy1taWNyb3NvZnQtY29tOnZtbOKAnQ0KeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0 LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIg0KeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JF Qy1odG1sNDAiPg0KDQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRl bnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPg0KPG1ldGEgbmFtZT1Qcm9nSWQg Y29udGVudD1Xb3JkLkRvY3VtZW50Pg0KPG1ldGEgbmFtZT1HZW5lcmF0b3IgY29udGVudD0iTWlj cm9zb2Z0IFdvcmQgMTQiPg0KPG1ldGEgbmFtZT1PcmlnaW5hdG9yIGNvbnRlbnQ9Ik1pY3Jvc29m dCBXb3JkIDE0Ij4NCjxsaW5rIHJlbD1GaWxlLUxpc3QgaHJlZj0iQmFpcmVzRGV2X2ZpbGVzL2Zp bGVsaXN0LnhtbCI+DQo8bGluayByZWw9RWRpdC1UaW1lLURhdGEgaHJlZj0iQmFpcmVzRGV2X2Zp bGVzL2VkaXRkYXRhLm1zbyI+DQo8IS0tW2lmICFtc29dPg0KPHN0eWxlPg0Kdlw6KiB7YmVoYXZp b3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7 fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1 cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPg0KPCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNv IDldPjx4bWw+DQogPG86RG9jdW1lbnRQcm9wZXJ0aWVzPg0KICA8bzpUZW1wbGF0ZT5Ob3JtYWxF bWFpbC5kb3RtPC9vOlRlbXBsYXRlPg0KICA8bzpSZXZpc2lvbj4wPC9vOlJldmlzaW9uPg0KICA8 bzpUb3RhbFRpbWU+MDwvbzpUb3RhbFRpbWU+DQogIDxvOlBhZ2VzPjE8L286UGFnZXM+DQogIDxv OldvcmRzPjIxNDwvbzpXb3Jkcz4NCiAgPG86Q2hhcmFjdGVycz4xMjIxPC9vOkNoYXJhY3RlcnM+ DQogIDxvOkNvbXBhbnk+TWljcm9zb2Z0PC9vOkNvbXBhbnk+DQogIDxvOkxpbmVzPjEwPC9vOkxp bmVzPg0KICA8bzpQYXJhZ3JhcGhzPjI8L286UGFyYWdyYXBocz4NCiAgPG86Q2hhcmFjdGVyc1dp dGhTcGFjZXM+MTQzMzwvbzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz4NCiAgPG86VmVyc2lvbj4xNC4w MDwvbzpWZXJzaW9uPg0KIDwvbzpEb2N1bWVudFByb3BlcnRpZXM+DQogPG86T2ZmaWNlRG9jdW1l bnRTZXR0aW5ncz4NCiAgPG86QWxsb3dQTkcvPg0KIDwvbzpPZmZpY2VEb2N1bWVudFNldHRpbmdz Pg0KPC94bWw+PCFbZW5kaWZdLS0+DQo8bGluayByZWw9dGhlbWVEYXRhIGhyZWY9IkJhaXJlc0Rl dl9maWxlcy90aGVtZWRhdGEudGhteCI+DQo8bGluayByZWw9Y29sb3JTY2hlbWVNYXBwaW5nIGhy ZWY9IkJhaXJlc0Rldl9maWxlcy9jb2xvcnNjaGVtZW1hcHBpbmcueG1sIj4NCjwhLS1baWYgZ3Rl IG1zbyA5XT48eG1sPg0KIDx3OldvcmREb2N1bWVudD4NCiAgPHc6Vmlldz5Ob3JtYWw8L3c6Vmll dz4NCiAgPHc6Wm9vbT4wPC93Olpvb20+DQogIDx3OlRyYWNrTW92ZXMvPg0KICA8dzpUcmFja0Zv cm1hdHRpbmcvPg0KICA8dzpQdW5jdHVhdGlvbktlcm5pbmcvPg0KICA8dzpWYWxpZGF0ZUFnYWlu c3RTY2hlbWFzLz4NCiAgPHc6U2F2ZUlmWE1MSW52YWxpZD5mYWxzZTwvdzpTYXZlSWZYTUxJbnZh bGlkPg0KICA8dzpJZ25vcmVNaXhlZENvbnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50 Pg0KICA8dzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0PmZhbHNlPC93OkFsd2F5c1Nob3dQbGFj ZWhvbGRlclRleHQ+DQogIDx3OkRvTm90UHJvbW90ZVFGLz4NCiAgPHc6TGlkVGhlbWVPdGhlcj5F Ti1BVTwvdzpMaWRUaGVtZU90aGVyPg0KICA8dzpMaWRUaGVtZUFzaWFuPlgtTk9ORTwvdzpMaWRU aGVtZUFzaWFuPg0KICA8dzpMaWRUaGVtZUNvbXBsZXhTY3JpcHQ+WC1OT05FPC93OkxpZFRoZW1l Q29tcGxleFNjcmlwdD4NCiAgPHc6RG9Ob3RTaGFkZUZvcm1EYXRhLz4NCiAgPHc6Q29tcGF0aWJp bGl0eT4NCiAgIDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+DQogICA8dzpTbmFwVG9HcmlkSW5DZWxs Lz4NCiAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4NCiAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+ DQogICA8dzpEb250R3Jvd0F1dG9maXQvPg0KICAgPHc6U3BsaXRQZ0JyZWFrQW5kUGFyYU1hcmsv Pg0KICAgPHc6RW5hYmxlT3BlblR5cGVLZXJuaW5nLz4NCiAgIDx3OkRvbnRGbGlwTWlycm9ySW5k ZW50cy8+DQogICA8dzpPdmVycmlkZVRhYmxlU3R5bGVIcHMvPg0KICAgPHc6VXNlRkVMYXlvdXQv Pg0KICA8L3c6Q29tcGF0aWJpbGl0eT4NCiAgPG06bWF0aFByPg0KICAgPG06bWF0aEZvbnQgbTp2 YWw9IkNhbWJyaWEgTWF0aCIvPg0KICAgPG06YnJrQmluIG06dmFsPSJiZWZvcmUiLz4NCiAgIDxt OmJya0JpblN1YiBtOnZhbD0iJiM0NTstIi8+DQogICA8bTpzbWFsbEZyYWMgbTp2YWw9Im9mZiIv Pg0KICAgPG06ZGlzcERlZi8+DQogICA8bTpsTWFyZ2luIG06dmFsPSIwIi8+DQogICA8bTpyTWFy Z2luIG06dmFsPSIwIi8+DQogICA8bTpkZWZKYyBtOnZhbD0iY2VudGVyR3JvdXAiLz4NCiAgIDxt OndyYXBJbmRlbnQgbTp2YWw9IjE0NDAiLz4NCiAgIDxtOmludExpbSBtOnZhbD0ic3ViU3VwIi8+ DQogICA8bTpuYXJ5TGltIG06dmFsPSJ1bmRPdnIiLz4NCiAgPC9tOm1hdGhQcj48L3c6V29yZERv Y3VtZW50Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPHc6 TGF0ZW50U3R5bGVzIERlZkxvY2tlZFN0YXRlPSJmYWxzZSIgRGVmVW5oaWRlV2hlblVzZWQ9InRy dWUiDQogIERlZlNlbWlIaWRkZW49InRydWUiIERlZlFGb3JtYXQ9ImZhbHNlIiBEZWZQcmlvcml0 eT0iOTkiDQogIExhdGVudFN0eWxlQ291bnQ9IjI2NyI+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iMCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVu VXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vcm1hbCIvPg0KICA8dzpMc2RFeGNl cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDEiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0 cnVlIiBOYW1lPSJoZWFkaW5nIDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDMiLz4NCiAgPHc6THNk RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1l PSJoZWFkaW5nIDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDUiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5n IDYiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9y bWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDgiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVl IiBOYW1lPSJoZWFkaW5nIDkiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy aW9yaXR5PSIzOSIgTmFtZT0idG9jIDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tl ZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDMiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDQiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDYiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9j IDciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFt ZT0idG9jIDgiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIz OSIgTmFtZT0idG9jIDkiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSIzNSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjEwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBOYW1lPSJEZWZhdWx0IFBh cmFncmFwaCBGb250Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0 eT0iMTEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9y bWF0PSJ0cnVlIiBOYW1lPSJTdWJ0aXRsZSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm YWxzZSIgUHJpb3JpdHk9IjIyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2Vk PSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Ryb25nIi8+DQogIDx3OkxzZEV4Y2VwdGlv biBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5o aWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjU5IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iVGFibGUgR3JpZCIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1l PSJQbGFjZWhvbGRlciBUZXh0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2Ui IFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vIFNwYWNpbmciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExv Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVX aGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IFNoYWRpbmciLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IExpc3QiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDEiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0i ZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEi Lz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2VtaUhp ZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlk IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDMiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIg U2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkRhcmsg TGlzdCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3Jm dWwgU2hhZGluZyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjcyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i Q29sb3JmdWwgTGlzdCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp dHk9IjczIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFt ZT0iQ29sb3JmdWwgR3JpZCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2Vk PSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5V c2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMSIvPg0KICA8dzpM c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxz ZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2Nl bnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVt IFNoYWRpbmcgMiBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY1IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJSZXZpc2lvbiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM0IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTGlz dCBQYXJhZ3JhcGgiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSIyOSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3Jt YXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl IiBQcmlvcml0eT0iMzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZh bHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIFF1b3RlIi8+DQogIDx3OkxzZEV4Y2Vw dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAxIi8+DQog IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIFNlbWlIaWRkZW49 ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFj Y2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgi IFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRp dW0gR3JpZCAyIEFjY2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNjkiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hl blVzZWQ9ImZhbHNlIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0 aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBV bmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDEiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIExpc3Qg QWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3 MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNv bG9yZnVsIEdyaWQgQWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI2MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExv Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVX aGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDIiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0i ZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEg QWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2 NCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1l ZGl1bSBTaGFkaW5nIDIgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSI2NSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0i ZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDIiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50 IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDIgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSI2OSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5h bWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI3MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNl ZD0iZmFsc2UiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24g TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlk ZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2Nl bnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3Jm dWwgR3JpZCBBY2NlbnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2Vk PSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5V c2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMyIvPg0KICA8dzpM c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxz ZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2Nl bnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVt IFNoYWRpbmcgMiBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY1IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdo ZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMyIvPg0KICA8dzpMc2RF eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBTZW1pSGlkZGVuPSJmYWxzZSIN CiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMyIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBTZW1pSGlk ZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQg MiBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjY5IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i TWVkaXVtIEdyaWQgMyBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz ZSIgUHJpb3JpdHk9IjcwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJm YWxzZSIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAzIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hl blVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAzIi8+DQogIDx3Okxz ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIFNlbWlIaWRkZW49ImZhbHNl Ig0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAz Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBH cmlkIEFjY2VudCAzIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0 eT0iNjAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1l PSJMaWdodCBTaGFkaW5nIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh bHNlIiBQcmlvcml0eT0iNjEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9 ImZhbHNlIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBM b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRl V2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4 Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIFNlbWlIaWRkZW49ImZhbHNlIg0K ICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA0 Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gU2hh ZGluZyAyIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlv cml0eT0iNjUiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBO YW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9 ImZhbHNlIiBQcmlvcml0eT0iNjYiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVz ZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2Vw dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCA0Ii8+DQog IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIFNlbWlIaWRkZW49 ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFj Y2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjki IFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRp dW0gR3JpZCAzIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI3MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNl ZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDQiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDQiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIEdyaWQg QWNjZW50IDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2 MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ikxp Z2h0IFNoYWRpbmcgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tl ZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVu VXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0 aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBV bmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDUiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5n IDIgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSI2NSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9 Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0i ZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50 IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDMgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSI3MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5h bWU9IkRhcmsgTGlzdCBBY2NlbnQgNSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz ZSIgUHJpb3JpdHk9IjcxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJm YWxzZSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNSIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNSIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2Nl bnQgNSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQg U2hhZGluZyBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm YWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2Vk PSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24g TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlk ZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBB Y2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1 IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVk aXVtIExpc3QgMSBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY2IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdo ZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNiIvPg0KICA8dzpMc2RF eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBTZW1pSGlkZGVuPSJmYWxzZSIN CiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNiIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBTZW1pSGlk ZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQg MyBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjcwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i RGFyayBMaXN0IEFjY2VudCA2Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNzEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA2Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBM b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRl V2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCA2Ii8+DQogIDx3Okxz ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIFNlbWlIaWRkZW49ImZhbHNl Ig0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA2 Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTkiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBO YW1lPSJTdWJ0bGUgRW1waGFzaXMiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSIyMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRsZSBSZWZl cmVuY2UiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMiIg U2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRy dWUiIE5hbWU9IkludGVuc2UgUmVmZXJlbmNlIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9 ImZhbHNlIiBQcmlvcml0eT0iMzMiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVz ZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+DQogIDx3OkxzZEV4 Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIE5hbWU9IkJpYmxpb2dyYXBoeSIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBRRm9ybWF0 PSJ0cnVlIiBOYW1lPSJUT0MgSGVhZGluZyIvPg0KIDwvdzpMYXRlbnRTdHlsZXM+DQo8L3htbD48 IVtlbmRpZl0tLT4NCjxzdHlsZT4NCjwhLS0NCiAvKiBGb250IERlZmluaXRpb25zICovDQogQGZv bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0 IDMgMiA0Ow0KCW1zby1mb250LWFsdDpBbGZhYmV0aXg7DQoJbXNvLWZvbnQtY2hhcnNldDowOw0K CW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOw0KCW1zby1mb250LXBpdGNoOnZhcmlhYmxl Ow0KCW1zby1mb250LXNpZ25hdHVyZTotNTIwMDkyOTI5IDEwNzM3ODYxMTEgOSAwIDQxNSAwO30N CiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRp di5Nc29Ob3JtYWwNCgl7bXNvLXN0eWxlLXVuaGlkZTpubzsNCgltc28tc3R5bGUtcWZvcm1hdDp5 ZXM7DQoJbXNvLXN0eWxlLXBhcmVudDoiIjsNCgltYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206 LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjExLjBw dDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCW1zby1hc2NpaS1mb250 LWZhbWlseTpDYWxpYnJpOw0KCW1zby1hc2NpaS10aGVtZS1mb250Om1pbm9yLWxhdGluOw0KCW1z by1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1mYXJlYXN0LXRo ZW1lLWZvbnQ6bWlub3ItZmFyZWFzdDsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsN Cgltc28taGFuc2ktdGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28tYmlkaS1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7fQ0K YTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtbm9zaG93OnllczsNCgltc28t c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs aW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmdsZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJs aW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLW5vc2hvdzp5ZXM7DQoJbXNvLXN0eWxlLXByaW9yaXR5 Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgltc28tdGhlbWVjb2xvcjpmb2xsb3dlZGh5cGVybGluazsN Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmdsZTt9DQou TXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28tZGVmYXVs dC1wcm9wczp5ZXM7DQoJZm9udC1zaXplOjExLjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTEu MHB0Ow0KCW1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQ7DQoJbXNvLWFzY2lpLWZvbnQtZmFtaWx5 OkNhbGlicmk7DQoJbXNvLWFzY2lpLXRoZW1lLWZvbnQ6bWlub3ItbGF0aW47DQoJbXNvLWZhcmVh c3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWZhcmVhc3QtdGhlbWUtZm9u dDptaW5vci1mYXJlYXN0Ow0KCW1zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1o YW5zaS10aGVtZS1mb250Om1pbm9yLWxhdGluOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1l cyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTt9DQpAcGFnZSBX b3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcwLjg1cHQgMy4w Y20gNzAuODVwdCAzLjBjbTsNCgltc28taGVhZGVyLW1hcmdpbjozNi4wcHQ7DQoJbXNvLWZvb3Rl ci1tYXJnaW46MzYuMHB0Ow0KCW1zby1wYXBlci1zb3VyY2U6MDt9DQpkaXYuV29yZFNlY3Rpb24x DQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4NCjwhLS1baWYgZ3RlIG1zbyAx MF0+DQo8c3R5bGU+DQogLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCiB0YWJsZS5Nc29Ob3JtYWxU YWJsZQ0KCXttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsNCgltc28tdHN0eWxlLXJvd2Jh bmQtc2l6ZTowOw0KCW1zby10c3R5bGUtY29sYmFuZC1zaXplOjA7DQoJbXNvLXN0eWxlLW5vc2hv dzp5ZXM7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1wYXJlbnQ6IiI7DQoJ bXNvLXBhZGRpbmctYWx0OjBjbSA1LjRwdCAwY20gNS40cHQ7DQoJbXNvLXBhcmEtbWFyZ2luOjBj bTsNCgltc28tcGFyYS1tYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lk b3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJz YW5zLXNlcmlmIjsNCgltc28tYXNjaWktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCgltc28tYXNjaWkt dGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsN Cgltc28taGFuc2ktdGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28tYmlkaS1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7fQ0K PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KDQo8Ym9keSBsYW5nPUVOLUFVIGxpbms9 Ymx1ZSB2bGluaz1wdXJwbGUgc3R5bGU9J3RhYi1pbnRlcnZhbDozNi4wcHQnPg0KDQo8ZGl2IGNs YXNzPVdvcmRTZWN0aW9uMT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tVVMg c3R5bGU9J2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZhcmVhc3QtZm9u dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpF Ti1VUzsNCm1zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdm b250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5 OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiMwMDcwQzA7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7 DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+SWduYWNpbyBEZSBNYXJjbzxvOnA+PC9vOnA+ PC9zcGFuPjwvYj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVT IHN0eWxlPSdmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7 DQptc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28tYW5zaS1sYW5n dWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz5DRU88bzpwPjwvbzpwPjwv c3Bhbj48L2I+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1VUyBzdHls ZT0nZm9udC1zaXplOjguNXB0O2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNv LWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWFuc2ktbGFuZ3VhZ2U6 RU4tVVM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGI+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0n Zm9udC1zaXplOjguMHB0O2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZh cmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7bXNvLWFuc2kt bGFuZ3VhZ2U6RU4tVVM7DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+ZGlyZWN0OiA8L3Nw YW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZToNCjguMHB0O2ZvbnQtZmFt aWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBO ZXcgUm9tYW4iOw0KY29sb3I6YmxhY2s7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7bXNvLWZhcmVh c3QtbGFuZ3VhZ2U6RVMtQVInPisxIDQwOCA2MDAgMTMzMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N Cg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6 ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZv bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdl OkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMtQVInPm1vYmlsZTogPC9zcGFuPjwvYj48 c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJp YWwiLCJzYW5zLXNlcmlmIjttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu IjsNCmNvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1 YWdlOkVTLUFSJz4rMSA0MTUgNjAyIDU4OTU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs YXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7 Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7DQptc28tZmFyZWFzdC1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsN Cm1zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz5BUjogPC9zcGFuPjwvYj48c3BhbiBsYW5nPUVO LVVTIHN0eWxlPSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNl cmlmIjttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCmNvbG9yOmJs YWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz4r NTQgMTEgNTM1MyA5ODQwPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt YWw+PGI+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguMHB0O2ZvbnQtZmFtaWx5 OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5l dyBSb21hbiI7Y29sb3I6YmxhY2s7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7DQptc28tZmFyZWFz dC1sYW5ndWFnZTpFUy1BUic+RW1haWw6PC9zcGFuPjwvYj48c3BhbiBsYW5nPUVOLVVTIHN0eWxl PSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjttc28t ZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCmNvbG9yOmJsYWNrO21zby1h bnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz4gPC9zcGFuPjxz cGFuDQpsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFs Iiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6DQoiVGltZXMgTmV3IFJvbWFu Ijttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+PGEN CmhyZWY9Im1haWx0bzppZGVtYXJjb0BiYWlyZXNkZXYuY29tIj5pZGVtYXJjb0BiYWlyZXNkZXYu Y29tPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxz cGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwi LCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i O2NvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6RVMtQVInPlNreXBlOiA8L3NwYW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMNCnN0eWxlPSdmb250 LXNpemU6OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3Qt Zm9udC1mYW1pbHk6DQoiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5n dWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz5pZ25hY2lvZGVtYXJjbzxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxzcGFuIGxhbmc9 RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNl cmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJs YWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMtQVIn PkxpbmtlZEluOiA8L3NwYW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMNCnN0eWxlPSdmb250LXNpemU6 OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3QtZm9udC1m YW1pbHk6DQoiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5ndWFnZTpF Ti1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz48YSBocmVmPSJodHRwOi8vd3d3Lmxp bmtlZGluLmNvbS9pbi9pZGVtYXJjbyI+aHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vaWRlbWFy Y288L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4g bGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguNXB0O21zby1hc2NpaS1mb250LWZhbWlseToN CkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWhh bnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7DQptc28tYmlkaS1mb250LWZhbWlseTpDYWxpYnJpO21z by1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz48bzpwPiZu YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVT LUFSIHN0eWxlPSdtc28tYXNjaWktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1mYXJlYXN0LWZv bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJp Ow0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYW5zaS1sYW5ndWFnZTpFUy1BUjtt c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyc+PGENCmhyZWY9Imh0dHA6Ly93d3cuYmFpcmVzZGV2 LmNvbS8iPjxzcGFuIHN0eWxlPSdmb250LXNpemU6OC41cHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwi c2Fucy1zZXJpZiI7DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUjt0ZXh0LWRlY29yYXRpb246 bm9uZTt0ZXh0LXVuZGVybGluZTpub25lJz48IS0tW2lmIGd0ZSB2bWwgMV0+PHY6c2hhcGV0eXBl DQogaWQ9Il94MDAwMF90NzUiIGNvb3Jkc2l6ZT0iMjE2MDAsMjE2MDAiIG86c3B0PSI3NSIgbzpw cmVmZXJyZWxhdGl2ZT0idCINCiBwYXRoPSJtQDRANWxANEAxMUA5QDExQDlANXhlIiBmaWxsZWQ9 ImYiIHN0cm9rZWQ9ImYiPg0KIDx2OnN0cm9rZSBqb2luc3R5bGU9Im1pdGVyIi8+DQogPHY6Zm9y bXVsYXM+DQogIDx2OmYgZXFuPSJpZiBsaW5lRHJhd24gcGl4ZWxMaW5lV2lkdGggMCIvPg0KICA8 djpmIGVxbj0ic3VtIEAwIDEgMCIvPg0KICA8djpmIGVxbj0ic3VtIDAgMCBAMSIvPg0KICA8djpm IGVxbj0icHJvZCBAMiAxIDIiLz4NCiAgPHY6ZiBlcW49InByb2QgQDMgMjE2MDAgcGl4ZWxXaWR0 aCIvPg0KICA8djpmIGVxbj0icHJvZCBAMyAyMTYwMCBwaXhlbEhlaWdodCIvPg0KICA8djpmIGVx bj0ic3VtIEAwIDAgMSIvPg0KICA8djpmIGVxbj0icHJvZCBANiAxIDIiLz4NCiAgPHY6ZiBlcW49 InByb2QgQDcgMjE2MDAgcGl4ZWxXaWR0aCIvPg0KICA8djpmIGVxbj0ic3VtIEA4IDIxNjAwIDAi Lz4NCiAgPHY6ZiBlcW49InByb2QgQDcgMjE2MDAgcGl4ZWxIZWlnaHQiLz4NCiAgPHY6ZiBlcW49 InN1bSBAMTAgMjE2MDAgMCIvPg0KIDwvdjpmb3JtdWxhcz4NCiA8djpwYXRoIG86ZXh0cnVzaW9u b2s9ImYiIGdyYWRpZW50c2hhcGVvaz0idCIgbzpjb25uZWN0dHlwZT0icmVjdCIvPg0KIDxvOmxv Y2sgdjpleHQ9ImVkaXQiIGFzcGVjdHJhdGlvPSJ0Ii8+DQo8L3Y6c2hhcGV0eXBlPjx2OnNoYXBl IGlkPSJfeDAwMDBfaTEwMjUiIHR5cGU9IiNfeDAwMDBfdDc1IiBhbHQ9IkJhaXJlc0RldiBXZWJz aXRlIg0KIHN0eWxlPSd3aWR0aDoxMTFwdDtoZWlnaHQ6MjRwdCc+DQogPHY6aW1hZ2VkYXRhIHNy Yz0iQmFpcmVzRGV2X2ZpbGVzL2ltYWdlMDAxLmpwZyIgbzpocmVmPSJodHRwOi8vYmFpcmVzZGV2 LmNvbS9pbWFnZXMvdXRpbHMvbG9nb21haWwuanBnIi8+DQo8L3Y6c2hhcGU+PCFbZW5kaWZdLS0+ PCFbaWYgIXZtbF0+PGltZyBib3JkZXI9MCB3aWR0aD0xNDggaGVpZ2h0PTMyDQpzcmM9Imh0dHA6 Ly9iYWlyZXNkZXYuY29tL2ltYWdlcy91dGlscy9sb2dvbWFpbC5qcGciIGFsdD0iQmFpcmVzRGV2 IFdlYnNpdGUiIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjUiPjwhW2VuZGlmXT48L3NwYW4+PC9hPjwv c3Bhbj48c3Bhbg0KbGFuZz1FUy1BUiBzdHlsZT0nZm9udC1zaXplOjguNXB0O2ZvbnQtZmFtaWx5 OiJBcmlhbCIsInNhbnMtc2VyaWYiO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5Og0KIlRpbWVzIE5l dyBSb21hbiI7bXNvLWFuc2ktbGFuZ3VhZ2U6RVMtQVI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMt QVInPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxh bmc9RVMtQVIgc3R5bGU9J2ZvbnQtc2l6ZTo4LjVwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5z LXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1h bnNpLWxhbmd1YWdlOkVTLUFSO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4t VVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6DQpDYWxpYnJp O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250 LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5 O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPlRo aXMgRW1haWwgKGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGlzIHN0cmljdGx5IGNvbmZpZGVu dGlhbCBhbmQNCmludGVuZGVkIHNvbGVseSBmb3IgdGhlIGFkZHJlc3NlZS4gSWYgeW91IGFyZSBu b3QgdGhlIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFu IGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6 DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1o YW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtj b2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0K RVMtQVInPmludGVuZGVkIGFkZHJlc3NlZSwgeW91IG11c3Qgbm90IGRpc2Nsb3NlLCBjb3B5LCBv ciB0YWtlIGFueSBhY3Rpb24gb24NCmFjY291bnQgb2YgdGhpcyBtZXNzYWdlLiBJZiB5b3UgaGF2 ZSByZWNlaXZlZCB0aGlzIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9y bWFsPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9u dC1mYW1pbHk6DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t YW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6 Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxh bmd1YWdlOg0KRVMtQVInPm1lc3NhZ2UgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRl ciBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGFsbA0KY29waWVzLjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6 ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQt ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0K bXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdl OkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPklmIHlvdSBhcmUgbm90IGludGVy ZXN0ZWQgYW5kIHlvdSBkb24ndCB3YW50IHRvIHJlY2VpdmUgbW9yZSBlbWFpbHMgZnJvbSBtZSwg cGxlYXNlIGZvbGxvdyB0aGlzIDxhIGhyZWY9Imh0dHA6Ly8xOTkuMTk1LjE5My4xODAvVW5zdWJz Y3JpYmVMaW5rL0RlZmF1bHQuYXNweD9FbWFpbEFkZHJlc3M9eGZzQG9zcy5zZ2kuY29tJmM9MiIg c3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogZGVm YXVsdDsiPmxpbms8L2E+IGFuZCBJIHdpbGwgcmVtb3ZlIHlvdXIgZW1haWwgZnJvbSBteSBjb250 YWN0cy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBs YW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFtaWx5Og0K Q2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28taGFu c2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1iaWRpLWZvbnQtZmFtaWx5OkNhbGlicmk7Y29s b3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVT LUFSJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48 c3BhbiBsYW5nPUVTLUFSIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFt aWx5Og0KQ2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtt c28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1iaWRpLWZvbnQtZmFtaWx5OkNhbGli cmk7Y29sb3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpFUy1BUjttc28tZmFyZWFzdC1sYW5ndWFn ZToNCkVTLUFSJz5Fc3RlIGNvcnJlbyBlbGVjdHLDs25pY28gKGluY2x1eWVuZG8gY3VhbHF1aWVy IGFyY2hpdm8gYWRqdW50bykgZXMNCmVzdHJpY3RhbWVudGUgY29uZmlkZW5jaWFsIHkgZXN0w6Eg ZGVzdGluYWRvIGV4Y2x1c2l2YW1lbnRlIGEgPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBj bGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FUy1BUiBzdHlsZT0nZm9udC1zaXplOjguMHB0O21z by1hc2NpaS1mb250LWZhbWlseToNCkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRp bWVzIE5ldyBSb21hbiI7bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7DQptc28tYmlkaS1m b250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmdyYXk7bXNvLWFuc2ktbGFuZ3VhZ2U6RVMtQVI7bXNv LWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+c3UgZGVzdGluYXRhcmlvIG9yaWdpbmFsLiBTaSB1 c3RlZCBubyBlcyBlbCBkZXN0aW5hdGFyaW8sIG5vIGRlYmUNCnJldmVsYXIsIGNvcGlhciwgbyB0 b21hciBjdWFscXVpZXIgb3RyYSBhY2Npw7NuIHNvYnJlIGVzdGUgbWVuc2FqZS4gPG86cD48L286 cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FUy1BUiBzdHls ZT0nZm9udC1zaXplOjguMHB0O21zby1hc2NpaS1mb250LWZhbWlseToNCkNhbGlicmk7bXNvLWZh cmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWhhbnNpLWZvbnQtZmFtaWx5 OkNhbGlicmk7DQptc28tYmlkaS1mb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmdyYXk7bXNvLWFu c2ktbGFuZ3VhZ2U6RVMtQVI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+U2kgdXN0ZWQg aGEgcmVjaWJpZG8gZXN0ZSBtZW5zYWplIHBvciBlcnJvciwgcG9yIGZhdm9yIG5vdGlmaXF1ZSBh bA0KcmVtaXRlbnRlIGlubWVkaWF0YW1lbnRlIHkgZWxpbWluZSB0b2RhcyBsYXMgY29waWFzLjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHRhYmxlIGNsYXNzPU1zb05vcm1hbFRhYmxlIGJvcmRl cj0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9NTAxIHN0eWxlPSd3aWR0aDozNzUuNzVwdDsNCiBtc28t Y2VsbHNwYWNpbmc6MS41cHQ7bXNvLXlmdGktdGJsbG9vazoxMTg0O21zby1wYWRkaW5nLWFsdDow Y20gNS40cHQgMGNtIDUuNHB0Jz4NCiA8dHIgc3R5bGU9J21zby15ZnRpLWlyb3c6MDttc28teWZ0 aS1maXJzdHJvdzp5ZXM7bXNvLXlmdGktbGFzdHJvdzp5ZXMnPg0KICA8dGQgd2lkdGg9NTAgc3R5 bGU9J3dpZHRoOjM3LjVwdDtwYWRkaW5nOi43NXB0IC43NXB0IC43NXB0IC43NXB0Jz4NCiAgPHAg Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5 OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7DQogIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJU aW1lcyBOZXcgUm9tYW4iJz48IS0tW2lmIGd0ZSB2bWwgMV0+PHY6c2hhcGUgaWQ9Il94MDAwMF9p MTAyNiINCiAgIHR5cGU9IiNfeDAwMDBfdDc1IiBhbHQ9ImlzbyIgc3R5bGU9J3dpZHRoOjM3LjVw dDtoZWlnaHQ6MzcuNXB0Jz4NCiAgIDx2OmltYWdlZGF0YSBzcmM9IkJhaXJlc0Rldl9maWxlcy9p bWFnZTAwMi5naWYiIG86aHJlZj0iaHR0cDovL3d3dy5iYWlyZXNkZXYuY29tL2ltYWdlcy91dGls cy9pc28uZ2lmIi8+DQogIDwvdjpzaGFwZT48IVtlbmRpZl0tLT48IVtpZiAhdm1sXT48aW1nIGJv cmRlcj0wIHdpZHRoPTUwIGhlaWdodD01MA0KICBzcmM9Imh0dHA6Ly9iYWlyZXNkZXYuY29tL2lt YWdlcy91dGlscy9pc28uZ2lmIiBhbHQ9aXNvIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjYiPjwhW2Vu ZGlmXT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogIDwvdGQ+DQogIDx0ZCB3aWR0aD00NDEgc3R5 bGU9J3dpZHRoOjMzMC43NXB0O3BhZGRpbmc6Ljc1cHQgLjc1cHQgLjc1cHQgLjc1cHQnPg0KICA8 cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguMHB0 O21zby1hc2NpaS1mb250LWZhbWlseToNCiAgQ2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCiAgbXNv LWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVO LVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KICBFUy1BUic+QmFpcmVzRGV2IGlzIGEgcXVhbGl0 eSBlbmRvcnNlZCBidXNpbmVzcyB0byB0aGUgaW50ZXJuYXRpb25hbCBxdWFsaXR5DQogIHN0YW5k YXJkIElTTzkwMDE6MjAwOC4gVGhpcyBzdGFuZGFyZCBlbnN1cmVzIHRoYXQgd2UgZGVsaXZlciB3 aGF0IHdlIHByb21pc2UsDQogIHdoZW4gd2UgcHJvbWlzZSBpdCwgZXZlcnkgdGltZS48L3NwYW4+ PHNwYW4gc3R5bGU9J21zby1hc2NpaS1mb250LWZhbWlseToNCiAgQ2FsaWJyaTttc28tZmFyZWFz dC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28taGFuc2ktZm9udC1mYW1pbHk6Q2Fs aWJyaTsNCiAgbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tZmFyZWFzdC1sYW5ndWFn ZTpFTi1VUyc+PG86cD48L286cD48L3NwYW4+PC9wPg0KICA8L3RkPg0KIDwvdHI+DQo8L3RhYmxl Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNz PU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0K PC9odG1sPg0K ----boundary_6501_030351d7-c71d-448e-86ee-0acd277e2f52 Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 PGh0bWw+PGJvZHk+DQo8cD5EZWFyIEFhcm9uLDwvcD4gIDxwPkkgaG9wZSB5b3UgYXJlIGRvaW5n IHdlbGwuIE15IG5hbWUgaXMgSWduYWNpbyBEZSBNYXJjbyBhbmQgSSBhbSB0aGUgQ2hpZWYgRXhl Y3V0aXZlIE9mZmljZXIgYXQgQmFpcmVzRGV2ICg8YSBocmVmPSJodHRwOi8vd3d3LmJhaXJlc2Rl di5jb20iPnd3dy5iYWlyZXNkZXYuY29tPC9hPikuIEkgc2F3IHlvdXIgcHJvZmlsZSBvbiBMaW5r ZWRJbiwgYW5kIGdpdmVuIA0NCnlvdXIgcm9sZSBhbmQgY29tcGFueSBwcm9maWxlLCBJIHdhbnRl ZCB0byByZWFjaCBvdXQgdG8geW91IGluIHJlZ2FyZHMgdG8gb3VyIHNlcnZpY2Ugb2ZmZXJpbmcg YW5kIHNlZSBpZiB0aGVyZSBjb3VsZCBiZSBzb21lIHN5bmVyZ3kgYmV0d2VlbiBvdXIgY29tcGFu aWVzLjwvcD4NCjxwPkJhaXJlc0RldiBzcGVjaWFsaXplcyBpbiBzb2Z0d2FyZSBkZXZlbG9wbWVu dCBzZXJ2aWNlcyBhY3Jvc3MgdGhlIGVudGlyZSBwcm9kdWN0IGRldmVsb3BtZW50IGxpZmVjeWNs ZTsgZnJvbSBuZXcgcHJvZHVjdCBkZXZlbG9wbWVudCwgUUEsIHJlbGVhc2UgZW5naW5lZXJpbmcs IHBvcnRpbmcsIHN1c3RhaW5pbmcgYW5kIG1haW50ZW5hbmNlLiBXZSB1dGlsaXplIGEgY29zdCBl ZmZlY3RpdmUgYmxlbmRlZCANDQptb2RlbCwgd2l0aCByZXNvdXJjZXMgaW4gdGhlIFVTIGFuZCBT b3V0aCBBbWVyaWNhLjwvcD4NCjxwPldpdGggbW9yZSB0aGFuIDIwMCBiaWxpbmd1YWwgZW1wbG95 ZWVzLCB3ZSBwcm92aWRlIHNlcnZpY2VzIGZvciBjb21wYW5pZXMgd29ybGR3aWRlLCBmcm9tIG1h am9yIGdsb2JhbCBjb21wYW5pZXMgbGlrZSBHb29nbGUgKDxhIGhyZWY9Imh0dHA6Ly9maW5hbmNl LnlhaG9vLmNvbS9xP3M9R09PRyI+R09PRzwvYT4pLCBOZXRHZWFyICg8YSBocmVmPSJodHRwOi8v ZmluYW5jZS55YWhvby5jb20vcT8NDQpzPU5UR1IiPk5UR1I8L2E+KSBhbmQgRGVtYW5kIE1lZGlh ICg8YSBocmVmPSJodHRwOi8vZmluYW5jZS55YWhvby5jb20vcT9zPURNRCI+RE1EPC9hPikgdG8g c21hbGwgY29tcGFuaWVzIGZvY3VzZWQgb24gc3BlY2lmaWMgbWFya2V0cy48L3A+DQogDQo8cD5B bGwgb2Ygb3VyIEVuZ2luZWVycyBhcmUgb24gRVNUKzEsIGhhdmUgZXhjZWxsZW50IEVuZ2xpc2gg c2tpbGxzIGFuZCBvdXIgcmF0ZXMgYXJlIHZlcnkgY29tcGV0aXRpdmUgYWNyb3NzIHRoZSBib2Fy ZC48L3A+DQo8cD5XaGV0aGVyIHlvdSBtaWdodCBoYXZlIGEgY2FwYWJpbGl0eSBvciBjYXBhY2l0 eSBpc3N1ZSwgb3VyIG1vZGVsIGhlbHBzIG1heGltaXplIG91ciBjbGllbnRz4oCZIHByb2R1Y3Qg ZGVsaXZlcnkgYW5kIHF1YWxpdHkgYXQgdGhlIGxvd2VzdCBwb3NzaWJsZSBjb3N0IHdoaWxlIG1p bmltaXppbmcgdGhlIG9mZnNob3JlIGRldmVsb3BtZW50IHJpc2suPC9wPg0KPHA+SWYgeW91IGhh dmUgc29tZSBpbnRlcmVzdCwgSSBjYW4gc2NoZWR1bGUgYSBzaG9ydCBjYWxsIGluIHRoZSBuZXh0 IHdlZWsgb3Igc28gdG8gZGlzY3VzcyBvdXIgc2VydmljZXMsIHlvdXIgZGV2ZWxvcG1lbnQgY2hh bGxlbmdlcyBhbmQgcHJvZHVjdCByb2FkbWFwLjwvcD4NCjxwPkRvIHlvdSB0aGluayBhbnkgb2Yg dGhlIHNlcnZpY2VzIGFib3ZlIGNhbiBiZSB1c2VmdWwgdG8geW91IG9yIHlvdXIgY29sbGVhZ3Vl cz88L3A+DQo8cD5XaXRoIHRoYW5rcyBhbmQgYmVzdCByZWdhcmRzLDwvcD4NCjwvYm9keT48L2h0 bWw+PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpv PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp3PSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIg0KeG1sbnM6dj3igJ11cm46c2NoZW1h cy1taWNyb3NvZnQtY29tOnZtbOKAnQ0KeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0 LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIg0KeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JF Qy1odG1sNDAiPg0KDQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRl bnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPg0KPG1ldGEgbmFtZT1Qcm9nSWQg Y29udGVudD1Xb3JkLkRvY3VtZW50Pg0KPG1ldGEgbmFtZT1HZW5lcmF0b3IgY29udGVudD0iTWlj cm9zb2Z0IFdvcmQgMTQiPg0KPG1ldGEgbmFtZT1PcmlnaW5hdG9yIGNvbnRlbnQ9Ik1pY3Jvc29m dCBXb3JkIDE0Ij4NCjxsaW5rIHJlbD1GaWxlLUxpc3QgaHJlZj0iQmFpcmVzRGV2X2ZpbGVzL2Zp bGVsaXN0LnhtbCI+DQo8bGluayByZWw9RWRpdC1UaW1lLURhdGEgaHJlZj0iQmFpcmVzRGV2X2Zp bGVzL2VkaXRkYXRhLm1zbyI+DQo8IS0tW2lmICFtc29dPg0KPHN0eWxlPg0Kdlw6KiB7YmVoYXZp b3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7 fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1 cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPg0KPCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNv IDldPjx4bWw+DQogPG86RG9jdW1lbnRQcm9wZXJ0aWVzPg0KICA8bzpUZW1wbGF0ZT5Ob3JtYWxF bWFpbC5kb3RtPC9vOlRlbXBsYXRlPg0KICA8bzpSZXZpc2lvbj4wPC9vOlJldmlzaW9uPg0KICA8 bzpUb3RhbFRpbWU+MDwvbzpUb3RhbFRpbWU+DQogIDxvOlBhZ2VzPjE8L286UGFnZXM+DQogIDxv OldvcmRzPjIxNDwvbzpXb3Jkcz4NCiAgPG86Q2hhcmFjdGVycz4xMjIxPC9vOkNoYXJhY3RlcnM+ DQogIDxvOkNvbXBhbnk+TWljcm9zb2Z0PC9vOkNvbXBhbnk+DQogIDxvOkxpbmVzPjEwPC9vOkxp bmVzPg0KICA8bzpQYXJhZ3JhcGhzPjI8L286UGFyYWdyYXBocz4NCiAgPG86Q2hhcmFjdGVyc1dp dGhTcGFjZXM+MTQzMzwvbzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz4NCiAgPG86VmVyc2lvbj4xNC4w MDwvbzpWZXJzaW9uPg0KIDwvbzpEb2N1bWVudFByb3BlcnRpZXM+DQogPG86T2ZmaWNlRG9jdW1l bnRTZXR0aW5ncz4NCiAgPG86QWxsb3dQTkcvPg0KIDwvbzpPZmZpY2VEb2N1bWVudFNldHRpbmdz Pg0KPC94bWw+PCFbZW5kaWZdLS0+DQo8bGluayByZWw9dGhlbWVEYXRhIGhyZWY9IkJhaXJlc0Rl dl9maWxlcy90aGVtZWRhdGEudGhteCI+DQo8bGluayByZWw9Y29sb3JTY2hlbWVNYXBwaW5nIGhy ZWY9IkJhaXJlc0Rldl9maWxlcy9jb2xvcnNjaGVtZW1hcHBpbmcueG1sIj4NCjwhLS1baWYgZ3Rl IG1zbyA5XT48eG1sPg0KIDx3OldvcmREb2N1bWVudD4NCiAgPHc6Vmlldz5Ob3JtYWw8L3c6Vmll dz4NCiAgPHc6Wm9vbT4wPC93Olpvb20+DQogIDx3OlRyYWNrTW92ZXMvPg0KICA8dzpUcmFja0Zv cm1hdHRpbmcvPg0KICA8dzpQdW5jdHVhdGlvbktlcm5pbmcvPg0KICA8dzpWYWxpZGF0ZUFnYWlu c3RTY2hlbWFzLz4NCiAgPHc6U2F2ZUlmWE1MSW52YWxpZD5mYWxzZTwvdzpTYXZlSWZYTUxJbnZh bGlkPg0KICA8dzpJZ25vcmVNaXhlZENvbnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50 Pg0KICA8dzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0PmZhbHNlPC93OkFsd2F5c1Nob3dQbGFj ZWhvbGRlclRleHQ+DQogIDx3OkRvTm90UHJvbW90ZVFGLz4NCiAgPHc6TGlkVGhlbWVPdGhlcj5F Ti1BVTwvdzpMaWRUaGVtZU90aGVyPg0KICA8dzpMaWRUaGVtZUFzaWFuPlgtTk9ORTwvdzpMaWRU aGVtZUFzaWFuPg0KICA8dzpMaWRUaGVtZUNvbXBsZXhTY3JpcHQ+WC1OT05FPC93OkxpZFRoZW1l Q29tcGxleFNjcmlwdD4NCiAgPHc6RG9Ob3RTaGFkZUZvcm1EYXRhLz4NCiAgPHc6Q29tcGF0aWJp bGl0eT4NCiAgIDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+DQogICA8dzpTbmFwVG9HcmlkSW5DZWxs Lz4NCiAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4NCiAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+ DQogICA8dzpEb250R3Jvd0F1dG9maXQvPg0KICAgPHc6U3BsaXRQZ0JyZWFrQW5kUGFyYU1hcmsv Pg0KICAgPHc6RW5hYmxlT3BlblR5cGVLZXJuaW5nLz4NCiAgIDx3OkRvbnRGbGlwTWlycm9ySW5k ZW50cy8+DQogICA8dzpPdmVycmlkZVRhYmxlU3R5bGVIcHMvPg0KICAgPHc6VXNlRkVMYXlvdXQv Pg0KICA8L3c6Q29tcGF0aWJpbGl0eT4NCiAgPG06bWF0aFByPg0KICAgPG06bWF0aEZvbnQgbTp2 YWw9IkNhbWJyaWEgTWF0aCIvPg0KICAgPG06YnJrQmluIG06dmFsPSJiZWZvcmUiLz4NCiAgIDxt OmJya0JpblN1YiBtOnZhbD0iJiM0NTstIi8+DQogICA8bTpzbWFsbEZyYWMgbTp2YWw9Im9mZiIv Pg0KICAgPG06ZGlzcERlZi8+DQogICA8bTpsTWFyZ2luIG06dmFsPSIwIi8+DQogICA8bTpyTWFy Z2luIG06dmFsPSIwIi8+DQogICA8bTpkZWZKYyBtOnZhbD0iY2VudGVyR3JvdXAiLz4NCiAgIDxt OndyYXBJbmRlbnQgbTp2YWw9IjE0NDAiLz4NCiAgIDxtOmludExpbSBtOnZhbD0ic3ViU3VwIi8+ DQogICA8bTpuYXJ5TGltIG06dmFsPSJ1bmRPdnIiLz4NCiAgPC9tOm1hdGhQcj48L3c6V29yZERv Y3VtZW50Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQogPHc6 TGF0ZW50U3R5bGVzIERlZkxvY2tlZFN0YXRlPSJmYWxzZSIgRGVmVW5oaWRlV2hlblVzZWQ9InRy dWUiDQogIERlZlNlbWlIaWRkZW49InRydWUiIERlZlFGb3JtYXQ9ImZhbHNlIiBEZWZQcmlvcml0 eT0iOTkiDQogIExhdGVudFN0eWxlQ291bnQ9IjI2NyI+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iMCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVu VXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vcm1hbCIvPg0KICA8dzpMc2RFeGNl cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDEiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0 cnVlIiBOYW1lPSJoZWFkaW5nIDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDMiLz4NCiAgPHc6THNk RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1l PSJoZWFkaW5nIDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDUiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5n IDYiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9y bWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDgiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVl IiBOYW1lPSJoZWFkaW5nIDkiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy aW9yaXR5PSIzOSIgTmFtZT0idG9jIDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tl ZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDMiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDQiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9jIDYiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0idG9j IDciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFt ZT0idG9jIDgiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIz OSIgTmFtZT0idG9jIDkiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSIzNSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjEwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBOYW1lPSJEZWZhdWx0IFBh cmFncmFwaCBGb250Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0 eT0iMTEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9y bWF0PSJ0cnVlIiBOYW1lPSJTdWJ0aXRsZSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm YWxzZSIgUHJpb3JpdHk9IjIyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2Vk PSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Ryb25nIi8+DQogIDx3OkxzZEV4Y2VwdGlv biBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5o aWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjU5IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iVGFibGUgR3JpZCIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1l PSJQbGFjZWhvbGRlciBUZXh0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2Ui IFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vIFNwYWNpbmciLz4NCiAgPHc6THNkRXhjZXB0aW9uIExv Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVX aGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IFNoYWRpbmciLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IExpc3QiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDEiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0i ZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEi Lz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2VtaUhp ZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlk IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDMiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIg U2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkRhcmsg TGlzdCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3Jm dWwgU2hhZGluZyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjcyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i Q29sb3JmdWwgTGlzdCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp dHk9IjczIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFt ZT0iQ29sb3JmdWwgR3JpZCIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2Vk PSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5V c2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMSIvPg0KICA8dzpM c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxz ZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2Nl bnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVt IFNoYWRpbmcgMiBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY1IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJSZXZpc2lvbiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM0IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTGlz dCBQYXJhZ3JhcGgiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSIyOSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3Jt YXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl IiBQcmlvcml0eT0iMzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZh bHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIFF1b3RlIi8+DQogIDx3OkxzZEV4Y2Vw dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAxIi8+DQog IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIFNlbWlIaWRkZW49 ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFj Y2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgi IFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRp dW0gR3JpZCAyIEFjY2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNjkiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAxIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hl blVzZWQ9ImZhbHNlIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0 aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBV bmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDEiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIExpc3Qg QWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3 MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNv bG9yZnVsIEdyaWQgQWNjZW50IDEiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI2MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExv Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVX aGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDIiLz4NCiAg PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0i ZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEg QWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2 NCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1l ZGl1bSBTaGFkaW5nIDIgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSI2NSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0i ZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDIiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50 IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDIgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSI2OSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5h bWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDIiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI3MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNl ZD0iZmFsc2UiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24g TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlk ZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2Nl bnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3Jm dWwgR3JpZCBBY2NlbnQgMiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2Vk PSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5V c2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMyIvPg0KICA8dzpM c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxz ZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2Nl bnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVt IFNoYWRpbmcgMiBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY1IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdo ZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMyIvPg0KICA8dzpMc2RF eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBTZW1pSGlkZGVuPSJmYWxzZSIN CiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMyIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBTZW1pSGlk ZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQg MiBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjY5IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i TWVkaXVtIEdyaWQgMyBBY2NlbnQgMyIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz ZSIgUHJpb3JpdHk9IjcwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJm YWxzZSIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAzIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2Nr ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hl blVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAzIi8+DQogIDx3Okxz ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIFNlbWlIaWRkZW49ImZhbHNl Ig0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAz Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBH cmlkIEFjY2VudCAzIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0 eT0iNjAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1l PSJMaWdodCBTaGFkaW5nIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh bHNlIiBQcmlvcml0eT0iNjEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9 ImZhbHNlIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBM b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRl V2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4 Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIFNlbWlIaWRkZW49ImZhbHNlIg0K ICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA0 Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gU2hh ZGluZyAyIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlv cml0eT0iNjUiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBO YW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9 ImZhbHNlIiBQcmlvcml0eT0iNjYiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVz ZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2Vw dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIFNlbWlIaWRkZW49ImZhbHNlIg0KICAg VW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCA0Ii8+DQog IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIFNlbWlIaWRkZW49 ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFj Y2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjki IFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJNZWRp dW0gR3JpZCAzIEFjY2VudCA0Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNzAiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i ZmFsc2UiIFByaW9yaXR5PSI3MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNl ZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDQiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDQiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9IkNvbG9yZnVsIEdyaWQg QWNjZW50IDQiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2 MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ikxp Z2h0IFNoYWRpbmcgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSI2MSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tl ZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVu VXNlZD0iZmFsc2UiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0 aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBV bmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDUiLz4N CiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgU2VtaUhpZGRl bj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBTaGFkaW5n IDIgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5 PSI2NSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9 Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs c2UiIFByaW9yaXR5PSI2NiIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0i ZmFsc2UiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9u IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhp ZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDUiLz4NCiAgPHc6 THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgU2VtaUhpZGRlbj0iZmFs c2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50 IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgU2Vt aUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5hbWU9Ik1lZGl1bSBH cmlkIDMgQWNjZW50IDUiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y aXR5PSI3MCIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIE5h bWU9IkRhcmsgTGlzdCBBY2NlbnQgNSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz ZSIgUHJpb3JpdHk9IjcxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJm YWxzZSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNSIvPg0KICA8dzpMc2RFeGNlcHRp b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVu aGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNSIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2Nl bnQgNSIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBT ZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTGlnaHQg U2hhZGluZyBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp b3JpdHk9IjYxIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIg TmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm YWxzZSIgUHJpb3JpdHk9IjYyIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2Vk PSJmYWxzZSIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24g TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlk ZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNiIvPg0KICA8 dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBTZW1pSGlkZGVuPSJm YWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBB Y2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1 IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVk aXVtIExpc3QgMSBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg UHJpb3JpdHk9IjY2IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxz ZSIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9j a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdo ZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNiIvPg0KICA8dzpMc2RF eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBTZW1pSGlkZGVuPSJmYWxzZSIN CiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNiIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBTZW1pSGlk ZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0iTWVkaXVtIEdyaWQg MyBBY2NlbnQgNiIvPg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9 IjcwIiBTZW1pSGlkZGVuPSJmYWxzZSINCiAgIFVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgTmFtZT0i RGFyayBMaXN0IEFjY2VudCA2Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ cmlvcml0eT0iNzEiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNl IiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA2Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBM b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRl V2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCA2Ii8+DQogIDx3Okxz ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIFNlbWlIaWRkZW49ImZhbHNl Ig0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA2 Ii8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTkiIFNlbWlI aWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVzZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBO YW1lPSJTdWJ0bGUgRW1waGFzaXMiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui IFByaW9yaXR5PSIyMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFs c2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4NCiAgPHc6THNkRXhj ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgU2VtaUhpZGRlbj0iZmFsc2UiDQog ICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRsZSBSZWZl cmVuY2UiLz4NCiAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMiIg U2VtaUhpZGRlbj0iZmFsc2UiDQogICBVbmhpZGVXaGVuVXNlZD0iZmFsc2UiIFFGb3JtYXQ9InRy dWUiIE5hbWU9IkludGVuc2UgUmVmZXJlbmNlIi8+DQogIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9 ImZhbHNlIiBQcmlvcml0eT0iMzMiIFNlbWlIaWRkZW49ImZhbHNlIg0KICAgVW5oaWRlV2hlblVz ZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+DQogIDx3OkxzZEV4 Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIE5hbWU9IkJpYmxpb2dyYXBoeSIv Pg0KICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBRRm9ybWF0 PSJ0cnVlIiBOYW1lPSJUT0MgSGVhZGluZyIvPg0KIDwvdzpMYXRlbnRTdHlsZXM+DQo8L3htbD48 IVtlbmRpZl0tLT4NCjxzdHlsZT4NCjwhLS0NCiAvKiBGb250IERlZmluaXRpb25zICovDQogQGZv bnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0 IDMgMiA0Ow0KCW1zby1mb250LWFsdDpBbGZhYmV0aXg7DQoJbXNvLWZvbnQtY2hhcnNldDowOw0K CW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOw0KCW1zby1mb250LXBpdGNoOnZhcmlhYmxl Ow0KCW1zby1mb250LXNpZ25hdHVyZTotNTIwMDkyOTI5IDEwNzM3ODYxMTEgOSAwIDQxNSAwO30N CiAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRp di5Nc29Ob3JtYWwNCgl7bXNvLXN0eWxlLXVuaGlkZTpubzsNCgltc28tc3R5bGUtcWZvcm1hdDp5 ZXM7DQoJbXNvLXN0eWxlLXBhcmVudDoiIjsNCgltYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206 LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjExLjBw dDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOw0KCW1zby1hc2NpaS1mb250 LWZhbWlseTpDYWxpYnJpOw0KCW1zby1hc2NpaS10aGVtZS1mb250Om1pbm9yLWxhdGluOw0KCW1z by1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCW1zby1mYXJlYXN0LXRo ZW1lLWZvbnQ6bWlub3ItZmFyZWFzdDsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsN Cgltc28taGFuc2ktdGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28tYmlkaS1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7fQ0K YTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtbm9zaG93OnllczsNCgltc28t c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs aW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmdsZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJs aW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLW5vc2hvdzp5ZXM7DQoJbXNvLXN0eWxlLXByaW9yaXR5 Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgltc28tdGhlbWVjb2xvcjpmb2xsb3dlZGh5cGVybGluazsN Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmdsZTt9DQou TXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28tZGVmYXVs dC1wcm9wczp5ZXM7DQoJZm9udC1zaXplOjExLjBwdDsNCgltc28tYW5zaS1mb250LXNpemU6MTEu MHB0Ow0KCW1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQ7DQoJbXNvLWFzY2lpLWZvbnQtZmFtaWx5 OkNhbGlicmk7DQoJbXNvLWFzY2lpLXRoZW1lLWZvbnQ6bWlub3ItbGF0aW47DQoJbXNvLWZhcmVh c3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJbXNvLWZhcmVhc3QtdGhlbWUtZm9u dDptaW5vci1mYXJlYXN0Ow0KCW1zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1o YW5zaS10aGVtZS1mb250Om1pbm9yLWxhdGluOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1l cyBOZXcgUm9tYW4iOw0KCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTt9DQpAcGFnZSBX b3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcwLjg1cHQgMy4w Y20gNzAuODVwdCAzLjBjbTsNCgltc28taGVhZGVyLW1hcmdpbjozNi4wcHQ7DQoJbXNvLWZvb3Rl ci1tYXJnaW46MzYuMHB0Ow0KCW1zby1wYXBlci1zb3VyY2U6MDt9DQpkaXYuV29yZFNlY3Rpb24x DQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPg0KPC9zdHlsZT4NCjwhLS1baWYgZ3RlIG1zbyAx MF0+DQo8c3R5bGU+DQogLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCiB0YWJsZS5Nc29Ob3JtYWxU YWJsZQ0KCXttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsNCgltc28tdHN0eWxlLXJvd2Jh bmQtc2l6ZTowOw0KCW1zby10c3R5bGUtY29sYmFuZC1zaXplOjA7DQoJbXNvLXN0eWxlLW5vc2hv dzp5ZXM7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1wYXJlbnQ6IiI7DQoJ bXNvLXBhZGRpbmctYWx0OjBjbSA1LjRwdCAwY20gNS40cHQ7DQoJbXNvLXBhcmEtbWFyZ2luOjBj bTsNCgltc28tcGFyYS1tYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLXBhZ2luYXRpb246d2lk b3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJz YW5zLXNlcmlmIjsNCgltc28tYXNjaWktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCgltc28tYXNjaWkt dGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsN Cgltc28taGFuc2ktdGhlbWUtZm9udDptaW5vci1sYXRpbjsNCgltc28tYmlkaS1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjsNCgltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7fQ0K PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KDQo8Ym9keSBsYW5nPUVOLUFVIGxpbms9 Ymx1ZSB2bGluaz1wdXJwbGUgc3R5bGU9J3RhYi1pbnRlcnZhbDozNi4wcHQnPg0KDQo8ZGl2IGNs YXNzPVdvcmRTZWN0aW9uMT4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tVVMg c3R5bGU9J2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZhcmVhc3QtZm9u dC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpF Ti1VUzsNCm1zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh bj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdm b250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5 OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOiMwMDcwQzA7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7 DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+SWduYWNpbyBEZSBNYXJjbzxvOnA+PC9vOnA+ PC9zcGFuPjwvYj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVT IHN0eWxlPSdmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7 DQptc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28tYW5zaS1sYW5n dWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz5DRU88bzpwPjwvbzpwPjwv c3Bhbj48L2I+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1VUyBzdHls ZT0nZm9udC1zaXplOjguNXB0O2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNv LWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWFuc2ktbGFuZ3VhZ2U6 RU4tVVM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PGI+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0n Zm9udC1zaXplOjguMHB0O2ZvbnQtZmFtaWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZh cmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Y29sb3I6YmxhY2s7bXNvLWFuc2kt bGFuZ3VhZ2U6RU4tVVM7DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+ZGlyZWN0OiA8L3Nw YW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZToNCjguMHB0O2ZvbnQtZmFt aWx5OiJBcmlhbCIsInNhbnMtc2VyaWYiO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBO ZXcgUm9tYW4iOw0KY29sb3I6YmxhY2s7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7bXNvLWZhcmVh c3QtbGFuZ3VhZ2U6RVMtQVInPisxIDQwOCA2MDAgMTMzMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N Cg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6 ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZv bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdl OkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMtQVInPm1vYmlsZTogPC9zcGFuPjwvYj48 c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJp YWwiLCJzYW5zLXNlcmlmIjttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFu IjsNCmNvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1 YWdlOkVTLUFSJz4rMSA0MTUgNjAyIDU4OTU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNs YXNzPU1zb05vcm1hbD48Yj48c3BhbiBsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7 Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7DQptc28tZmFyZWFzdC1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsN Cm1zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz5BUjogPC9zcGFuPjwvYj48c3BhbiBsYW5nPUVO LVVTIHN0eWxlPSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNl cmlmIjttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCmNvbG9yOmJs YWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz4r NTQgMTEgNTM1MyA5ODQwPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3Jt YWw+PGI+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguMHB0O2ZvbnQtZmFtaWx5 OiJBcmlhbCIsInNhbnMtc2VyaWYiOw0KbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5l dyBSb21hbiI7Y29sb3I6YmxhY2s7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7DQptc28tZmFyZWFz dC1sYW5ndWFnZTpFUy1BUic+RW1haWw6PC9zcGFuPjwvYj48c3BhbiBsYW5nPUVOLVVTIHN0eWxl PSdmb250LXNpemU6DQo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjttc28t ZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsNCmNvbG9yOmJsYWNrO21zby1h bnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz4gPC9zcGFuPjxz cGFuDQpsYW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFs Iiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6DQoiVGltZXMgTmV3IFJvbWFu Ijttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUic+PGEN CmhyZWY9Im1haWx0bzppZGVtYXJjb0BiYWlyZXNkZXYuY29tIj5pZGVtYXJjb0BiYWlyZXNkZXYu Y29tPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxz cGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwi LCJzYW5zLXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i O2NvbG9yOmJsYWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6RVMtQVInPlNreXBlOiA8L3NwYW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMNCnN0eWxlPSdmb250 LXNpemU6OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3Qt Zm9udC1mYW1pbHk6DQoiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5n dWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz5pZ25hY2lvZGVtYXJjbzxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxzcGFuIGxhbmc9 RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNl cmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO2NvbG9yOmJs YWNrO21zby1hbnNpLWxhbmd1YWdlOkVOLVVTOw0KbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMtQVIn PkxpbmtlZEluOiA8L3NwYW4+PC9iPjxzcGFuIGxhbmc9RU4tVVMNCnN0eWxlPSdmb250LXNpemU6 OC4wcHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwic2Fucy1zZXJpZiI7bXNvLWZhcmVhc3QtZm9udC1m YW1pbHk6DQoiVGltZXMgTmV3IFJvbWFuIjtjb2xvcjpibGFjazttc28tYW5zaS1sYW5ndWFnZTpF Ti1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVTLUFSJz48YSBocmVmPSJodHRwOi8vd3d3Lmxp bmtlZGluLmNvbS9pbi9pZGVtYXJjbyI+aHR0cDovL3d3dy5saW5rZWRpbi5jb20vaW4vaWRlbWFy Y288L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4g bGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguNXB0O21zby1hc2NpaS1mb250LWZhbWlseToN CkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWhh bnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7DQptc28tYmlkaS1mb250LWZhbWlseTpDYWxpYnJpO21z by1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOkVTLUFSJz48bzpwPiZu YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBsYW5nPUVT LUFSIHN0eWxlPSdtc28tYXNjaWktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1mYXJlYXN0LWZv bnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJp Ow0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYW5zaS1sYW5ndWFnZTpFUy1BUjtt c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyc+PGENCmhyZWY9Imh0dHA6Ly93d3cuYmFpcmVzZGV2 LmNvbS8iPjxzcGFuIHN0eWxlPSdmb250LXNpemU6OC41cHQ7Zm9udC1mYW1pbHk6IkFyaWFsIiwi c2Fucy1zZXJpZiI7DQptc28tZmFyZWFzdC1sYW5ndWFnZTpFUy1BUjt0ZXh0LWRlY29yYXRpb246 bm9uZTt0ZXh0LXVuZGVybGluZTpub25lJz48IS0tW2lmIGd0ZSB2bWwgMV0+PHY6c2hhcGV0eXBl DQogaWQ9Il94MDAwMF90NzUiIGNvb3Jkc2l6ZT0iMjE2MDAsMjE2MDAiIG86c3B0PSI3NSIgbzpw cmVmZXJyZWxhdGl2ZT0idCINCiBwYXRoPSJtQDRANWxANEAxMUA5QDExQDlANXhlIiBmaWxsZWQ9 ImYiIHN0cm9rZWQ9ImYiPg0KIDx2OnN0cm9rZSBqb2luc3R5bGU9Im1pdGVyIi8+DQogPHY6Zm9y bXVsYXM+DQogIDx2OmYgZXFuPSJpZiBsaW5lRHJhd24gcGl4ZWxMaW5lV2lkdGggMCIvPg0KICA8 djpmIGVxbj0ic3VtIEAwIDEgMCIvPg0KICA8djpmIGVxbj0ic3VtIDAgMCBAMSIvPg0KICA8djpm IGVxbj0icHJvZCBAMiAxIDIiLz4NCiAgPHY6ZiBlcW49InByb2QgQDMgMjE2MDAgcGl4ZWxXaWR0 aCIvPg0KICA8djpmIGVxbj0icHJvZCBAMyAyMTYwMCBwaXhlbEhlaWdodCIvPg0KICA8djpmIGVx bj0ic3VtIEAwIDAgMSIvPg0KICA8djpmIGVxbj0icHJvZCBANiAxIDIiLz4NCiAgPHY6ZiBlcW49 InByb2QgQDcgMjE2MDAgcGl4ZWxXaWR0aCIvPg0KICA8djpmIGVxbj0ic3VtIEA4IDIxNjAwIDAi Lz4NCiAgPHY6ZiBlcW49InByb2QgQDcgMjE2MDAgcGl4ZWxIZWlnaHQiLz4NCiAgPHY6ZiBlcW49 InN1bSBAMTAgMjE2MDAgMCIvPg0KIDwvdjpmb3JtdWxhcz4NCiA8djpwYXRoIG86ZXh0cnVzaW9u b2s9ImYiIGdyYWRpZW50c2hhcGVvaz0idCIgbzpjb25uZWN0dHlwZT0icmVjdCIvPg0KIDxvOmxv Y2sgdjpleHQ9ImVkaXQiIGFzcGVjdHJhdGlvPSJ0Ii8+DQo8L3Y6c2hhcGV0eXBlPjx2OnNoYXBl IGlkPSJfeDAwMDBfaTEwMjUiIHR5cGU9IiNfeDAwMDBfdDc1IiBhbHQ9IkJhaXJlc0RldiBXZWJz aXRlIg0KIHN0eWxlPSd3aWR0aDoxMTFwdDtoZWlnaHQ6MjRwdCc+DQogPHY6aW1hZ2VkYXRhIHNy Yz0iQmFpcmVzRGV2X2ZpbGVzL2ltYWdlMDAxLmpwZyIgbzpocmVmPSJodHRwOi8vYmFpcmVzZGV2 LmNvbS9pbWFnZXMvdXRpbHMvbG9nb21haWwuanBnIi8+DQo8L3Y6c2hhcGU+PCFbZW5kaWZdLS0+ PCFbaWYgIXZtbF0+PGltZyBib3JkZXI9MCB3aWR0aD0xNDggaGVpZ2h0PTMyDQpzcmM9Imh0dHA6 Ly9iYWlyZXNkZXYuY29tL2ltYWdlcy91dGlscy9sb2dvbWFpbC5qcGciIGFsdD0iQmFpcmVzRGV2 IFdlYnNpdGUiIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjUiPjwhW2VuZGlmXT48L3NwYW4+PC9hPjwv c3Bhbj48c3Bhbg0KbGFuZz1FUy1BUiBzdHlsZT0nZm9udC1zaXplOjguNXB0O2ZvbnQtZmFtaWx5 OiJBcmlhbCIsInNhbnMtc2VyaWYiO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5Og0KIlRpbWVzIE5l dyBSb21hbiI7bXNvLWFuc2ktbGFuZ3VhZ2U6RVMtQVI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RVMt QVInPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxh bmc9RVMtQVIgc3R5bGU9J2ZvbnQtc2l6ZTo4LjVwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5z LXNlcmlmIjsNCm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1h bnNpLWxhbmd1YWdlOkVTLUFSO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4t VVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6DQpDYWxpYnJp O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250 LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5 O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPlRo aXMgRW1haWwgKGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGlzIHN0cmljdGx5IGNvbmZpZGVu dGlhbCBhbmQNCmludGVuZGVkIHNvbGVseSBmb3IgdGhlIGFkZHJlc3NlZS4gSWYgeW91IGFyZSBu b3QgdGhlIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFu IGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6 DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1o YW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtj b2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0K RVMtQVInPmludGVuZGVkIGFkZHJlc3NlZSwgeW91IG11c3Qgbm90IGRpc2Nsb3NlLCBjb3B5LCBv ciB0YWtlIGFueSBhY3Rpb24gb24NCmFjY291bnQgb2YgdGhpcyBtZXNzYWdlLiBJZiB5b3UgaGF2 ZSByZWNlaXZlZCB0aGlzIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHAgY2xhc3M9TXNvTm9y bWFsPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6ZTo4LjBwdDttc28tYXNjaWktZm9u dC1mYW1pbHk6DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t YW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0KbXNvLWJpZGktZm9udC1mYW1pbHk6 Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTO21zby1mYXJlYXN0LWxh bmd1YWdlOg0KRVMtQVInPm1lc3NhZ2UgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRl ciBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGFsbA0KY29waWVzLjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCg0KPHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIGxhbmc9RU4tVVMgc3R5bGU9J2ZvbnQtc2l6 ZTo4LjBwdDttc28tYXNjaWktZm9udC1mYW1pbHk6DQpDYWxpYnJpO21zby1mYXJlYXN0LWZvbnQt ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpOw0K bXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdl OkVOLVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KRVMtQVInPklmIHlvdSBhcmUgbm90IGludGVy ZXN0ZWQgYW5kIHlvdSBkb24ndCB3YW50IHRvIHJlY2VpdmUgbW9yZSBlbWFpbHMgZnJvbSBtZSwg cGxlYXNlIGZvbGxvdyB0aGlzIDxhIGhyZWY9Imh0dHA6Ly8xOTkuMTk1LjE5My4xODAvVW5zdWJz Y3JpYmVMaW5rL0RlZmF1bHQuYXNweD9FbWFpbEFkZHJlc3M9eGZzQG9zcy5zZ2kuY29tJmM9MiIg c3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogZGVm YXVsdDsiPmxpbms8L2E+IGFuZCBJIHdpbGwgcmVtb3ZlIHlvdXIgZW1haWwgZnJvbSBteSBjb250 YWN0cy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBs YW5nPUVOLVVTIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFtaWx5Og0K Q2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28taGFu c2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1iaWRpLWZvbnQtZmFtaWx5OkNhbGlicmk7Y29s b3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzttc28tZmFyZWFzdC1sYW5ndWFnZToNCkVT LUFSJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQoNCjxwIGNsYXNzPU1zb05vcm1hbD48 c3BhbiBsYW5nPUVTLUFSIHN0eWxlPSdmb250LXNpemU6OC4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFt aWx5Og0KQ2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjtt c28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCm1zby1iaWRpLWZvbnQtZmFtaWx5OkNhbGli cmk7Y29sb3I6Z3JheTttc28tYW5zaS1sYW5ndWFnZTpFUy1BUjttc28tZmFyZWFzdC1sYW5ndWFn ZToNCkVTLUFSJz5Fc3RlIGNvcnJlbyBlbGVjdHLDs25pY28gKGluY2x1eWVuZG8gY3VhbHF1aWVy IGFyY2hpdm8gYWRqdW50bykgZXMNCmVzdHJpY3RhbWVudGUgY29uZmlkZW5jaWFsIHkgZXN0w6Eg ZGVzdGluYWRvIGV4Y2x1c2l2YW1lbnRlIGEgPG86cD48L286cD48L3NwYW4+PC9wPg0KDQo8cCBj bGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FUy1BUiBzdHlsZT0nZm9udC1zaXplOjguMHB0O21z by1hc2NpaS1mb250LWZhbWlseToNCkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRp bWVzIE5ldyBSb21hbiI7bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7DQptc28tYmlkaS1m b250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmdyYXk7bXNvLWFuc2ktbGFuZ3VhZ2U6RVMtQVI7bXNv LWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+c3UgZGVzdGluYXRhcmlvIG9yaWdpbmFsLiBTaSB1 c3RlZCBubyBlcyBlbCBkZXN0aW5hdGFyaW8sIG5vIGRlYmUNCnJldmVsYXIsIGNvcGlhciwgbyB0 b21hciBjdWFscXVpZXIgb3RyYSBhY2Npw7NuIHNvYnJlIGVzdGUgbWVuc2FqZS4gPG86cD48L286 cD48L3NwYW4+PC9wPg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FUy1BUiBzdHls ZT0nZm9udC1zaXplOjguMHB0O21zby1hc2NpaS1mb250LWZhbWlseToNCkNhbGlicmk7bXNvLWZh cmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7bXNvLWhhbnNpLWZvbnQtZmFtaWx5 OkNhbGlicmk7DQptc28tYmlkaS1mb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmdyYXk7bXNvLWFu c2ktbGFuZ3VhZ2U6RVMtQVI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6DQpFUy1BUic+U2kgdXN0ZWQg aGEgcmVjaWJpZG8gZXN0ZSBtZW5zYWplIHBvciBlcnJvciwgcG9yIGZhdm9yIG5vdGlmaXF1ZSBh bA0KcmVtaXRlbnRlIGlubWVkaWF0YW1lbnRlIHkgZWxpbWluZSB0b2RhcyBsYXMgY29waWFzLjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCg0KPHRhYmxlIGNsYXNzPU1zb05vcm1hbFRhYmxlIGJvcmRl cj0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9NTAxIHN0eWxlPSd3aWR0aDozNzUuNzVwdDsNCiBtc28t Y2VsbHNwYWNpbmc6MS41cHQ7bXNvLXlmdGktdGJsbG9vazoxMTg0O21zby1wYWRkaW5nLWFsdDow Y20gNS40cHQgMGNtIDUuNHB0Jz4NCiA8dHIgc3R5bGU9J21zby15ZnRpLWlyb3c6MDttc28teWZ0 aS1maXJzdHJvdzp5ZXM7bXNvLXlmdGktbGFzdHJvdzp5ZXMnPg0KICA8dGQgd2lkdGg9NTAgc3R5 bGU9J3dpZHRoOjM3LjVwdDtwYWRkaW5nOi43NXB0IC43NXB0IC43NXB0IC43NXB0Jz4NCiAgPHAg Y2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5 OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7DQogIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJU aW1lcyBOZXcgUm9tYW4iJz48IS0tW2lmIGd0ZSB2bWwgMV0+PHY6c2hhcGUgaWQ9Il94MDAwMF9p MTAyNiINCiAgIHR5cGU9IiNfeDAwMDBfdDc1IiBhbHQ9ImlzbyIgc3R5bGU9J3dpZHRoOjM3LjVw dDtoZWlnaHQ6MzcuNXB0Jz4NCiAgIDx2OmltYWdlZGF0YSBzcmM9IkJhaXJlc0Rldl9maWxlcy9p bWFnZTAwMi5naWYiIG86aHJlZj0iaHR0cDovL3d3dy5iYWlyZXNkZXYuY29tL2ltYWdlcy91dGls cy9pc28uZ2lmIi8+DQogIDwvdjpzaGFwZT48IVtlbmRpZl0tLT48IVtpZiAhdm1sXT48aW1nIGJv cmRlcj0wIHdpZHRoPTUwIGhlaWdodD01MA0KICBzcmM9Imh0dHA6Ly9iYWlyZXNkZXYuY29tL2lt YWdlcy91dGlscy9pc28uZ2lmIiBhbHQ9aXNvIHY6c2hhcGVzPSJfeDAwMDBfaTEwMjYiPjwhW2Vu ZGlmXT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogIDwvdGQ+DQogIDx0ZCB3aWR0aD00NDEgc3R5 bGU9J3dpZHRoOjMzMC43NXB0O3BhZGRpbmc6Ljc1cHQgLjc1cHQgLjc1cHQgLjc1cHQnPg0KICA8 cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gbGFuZz1FTi1VUyBzdHlsZT0nZm9udC1zaXplOjguMHB0 O21zby1hc2NpaS1mb250LWZhbWlseToNCiAgQ2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWls eToiVGltZXMgTmV3IFJvbWFuIjttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCiAgbXNv LWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpncmF5O21zby1hbnNpLWxhbmd1YWdlOkVO LVVTO21zby1mYXJlYXN0LWxhbmd1YWdlOg0KICBFUy1BUic+QmFpcmVzRGV2IGlzIGEgcXVhbGl0 eSBlbmRvcnNlZCBidXNpbmVzcyB0byB0aGUgaW50ZXJuYXRpb25hbCBxdWFsaXR5DQogIHN0YW5k YXJkIElTTzkwMDE6MjAwOC4gVGhpcyBzdGFuZGFyZCBlbnN1cmVzIHRoYXQgd2UgZGVsaXZlciB3 aGF0IHdlIHByb21pc2UsDQogIHdoZW4gd2UgcHJvbWlzZSBpdCwgZXZlcnkgdGltZS48L3NwYW4+ PHNwYW4gc3R5bGU9J21zby1hc2NpaS1mb250LWZhbWlseToNCiAgQ2FsaWJyaTttc28tZmFyZWFz dC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjttc28taGFuc2ktZm9udC1mYW1pbHk6Q2Fs aWJyaTsNCiAgbXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tZmFyZWFzdC1sYW5ndWFn ZTpFTi1VUyc+PG86cD48L286cD48L3NwYW4+PC9wPg0KICA8L3RkPg0KIDwvdHI+DQo8L3RhYmxl Pg0KDQo8cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+DQoNCjxwIGNsYXNz PU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCg0KPC9kaXY+DQoNCjwvYm9keT4NCg0K PC9odG1sPg0K ----boundary_6501_030351d7-c71d-448e-86ee-0acd277e2f52-- From cmaiolino@redhat.com Mon Oct 6 12: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 741197F4E for ; Mon, 6 Oct 2014 12:52:55 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 36B488F8049 for ; Mon, 6 Oct 2014 10:52:55 -0700 (PDT) X-ASG-Debug-ID: 1412617970-04bdf0039f7b1f00001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id M9mj4SMLxHVj2WSw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Oct 2014 10:52:51 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s96Hqlog027815 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 6 Oct 2014 13:52:48 -0400 Received: from hades.localdomain (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 s96HqiKk014666 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 6 Oct 2014 13:52:46 -0400 Date: Mon, 6 Oct 2014 14:52:44 -0300 From: Carlos Maiolino To: Ignacio De Marco Cc: Aaron Goulding Subject: Re: Question about services Message-ID: <20141006175243.GA4680@hades.localdomain> X-ASG-Orig-Subj: Re: Question about services Mail-Followup-To: Ignacio De Marco , Aaron Goulding References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7e633ff6302413da933e04671cd98cdc@bairesdev.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: 1412617971 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 This looks to be sent as a 'private' email, but you sent it to a public mail list? On Mon, Oct 06, 2014 at 05:31:36PM +0000, Ignacio De Marco wrote: > Dear Aaron, > > I hope you are doing well. My name is Ignacio De Marco and I am the Chief > Executive Officer at BairesDev (www.bairesdev.com). I saw your profile on > LinkedIn, and given your role and company profile, I wanted to reach out > to you in regards to our service offering and see if there could be some > synergy between our companies. > > BairesDev specializes in software development services across the entire > product development lifecycle; from new product development, QA, release > engineering, porting, sustaining and maintenance. We utilize a cost > effective blended model, with resources in the US and South America. > > With more than 200 bilingual employees, we provide services for companies > worldwide, from major global companies like Google (GOOG), NetGear (NTGR) > and Demand Media (DMD) to small companies focused on specific markets. > > All of our Engineers are on EST+1, have excellent English skills and our > rates are very competitive across the board. > > Whether you might have a capability or capacity issue, our model helps > maximize our clientsaEUR(TM) product delivery and quality at the lowest > possible cost while minimizing the offshore development risk. > > If you have some interest, I can schedule a short call in the next week or > so to discuss our services, your development challenges and product > roadmap. > > Do you think any of the services above can be useful to you or your > colleagues? > > With thanks and best regards, > > Link: themeData > Link: colorSchemeMapping > > > > Ignacio De Marco > > CEO > > > > direct: +1 408 600 1331 > > mobile: +1 415 602 5895 > > AR: +54 11 5353 9840 > > Email: idemarco@bairesdev.com > > Skype: ignaciodemarco > > LinkedIn: http://www.linkedin.com/in/idemarco > > > > BairesDev Website > > > > This Email (including any attachments) is strictly confidential and > intended solely for the addressee. If you are not the > > intended addressee, you must not disclose, copy, or take any action on > account of this message. If you have received this > > message in error, please notify the sender immediately and delete all > copies. > > If you are not interested and you don't want to receive more emails from > me, please follow this link and I will remove your email from my contacts. > > > > Este correo electrA^3nico (incluyendo cualquier archivo adjunto) es > estrictamente confidencial y estA! destinado exclusivamente a > > su destinatario original. Si usted no es el destinatario, no debe revelar, > copiar, o tomar cualquier otra acciA^3n sobre este mensaje. > > Si usted ha recibido este mensaje por error, por favor notifique al > remitente inmediatamente y elimine todas las copias. > > BairesDev is a quality endorsed business to the international > iso quality standard ISO9001:2008. This standard ensures that we deliver > what we promise, when we promise it, every time. > > > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos From david@fromorbit.com Mon Oct 6 15:29: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 5FDE17F4E for ; Mon, 6 Oct 2014 15:29:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id F1C9AAC002 for ; Mon, 6 Oct 2014 13:29:29 -0700 (PDT) X-ASG-Debug-ID: 1412627363-04bdf003a07bd020001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 7rdg8skiYPzDuHwn for ; Mon, 06 Oct 2014 13:29:24 -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: Aqw8AKX6MlR5LDjwPGdsb2JhbABfgw5TWLgQAQaUDYFdhWoCAgEBAoEFFwEGAQEBATg5hAMBAQEDAScTHCMFCwgDDgoJJQ8FJQMHGhOINgcOwSoBFxiGCIgRghQHgy2BHgWWMIF1hRiBLoslgh2IeyCBbSkvAYJJAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 06:59:23 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbEuH-0000eo-D1; Tue, 07 Oct 2014 07:29:21 +1100 Date: Tue, 7 Oct 2014 07:29:21 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix zero range i_size problems Message-ID: <20141006202921.GA2301@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix zero range i_size problems References: <1412255533-8357-1-git-send-email-bfoster@redhat.com> <20141006131111.GA61966@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006131111.GA61966@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: 1412627364 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.10272 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 06, 2014 at 09:11:11AM -0400, Brian Foster wrote: > On Thu, Oct 02, 2014 at 09:12:13AM -0400, Brian Foster wrote: > > The zero range operation is analogous to fallocate with the exception of > > converting the range to zeroes. E.g., it attempts to allocate zeroed > > blocks over the range specified by the caller. The XFS implementation > > kills all delalloc blocks currently over the aligned range, converts the > > range to allocated zero blocks (unwritten extents) and handles the > > partial pages at the ends of the range by sending writes through the > > pagecache. > > > > The current implementation suffers from several problems associated with > > inode size. If the aligned range covers an extending I/O, said I/O is > > discarded and an inode size update from a previous write never makes it > > to disk. Further, if an unaligned zero range extends beyond eof, the > > page write induced for the partial end page can itself increase the > > inode size, even if the zero range request is not supposed to update > > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > > > Update xfs_zero_file_space() to forego using buffered I/O for partial > > pages. Instead, convert the block aligned (rather than page aligned) > > range to unwritten extents, update the partial blocks on disk and use > > existing pagecache functionality to ensure cached pages are consistent > > with data on disk. > > > > Signed-off-by: Brian Foster > > --- > > > > This passes xfstests and survived an overnight fsx run (+300m ops) on a > > 1k fsb fs. The tradeoff that I've observed from this implementation is > > that fzero is now also likely to trigger the problem described in the > > recently posted xfs/053 test: > > > > http://oss.sgi.com/archives/xfs/2014-09/msg00473.html > > > > This is slightly unfortunate, but as I understand it that problem is > > more fundamentally associated with extent conversion and writeback vs. > > any particular fs operation that might expose it. > > > > Brian > > > > I spent the past few days trying to reproduce and nail down some of the > delalloc related asserts reproduced by generic/269 and discovered that > zero range is at least one cause of the problem. This patch actually > addresses that particular problem, yet introduces another similar > variant of the problem. > > The original cause is "leakage" of speculative preallocation blocks into > the addressable range of the file (within eof) without any pages > associated with the delalloc extent. This means that it isn't > necessarily sufficient to writeback a particular delalloc range to > convert it. This sets a landmine for direct I/O or inode eviction to > step on when it comes time to perform I/O over the range or clean the > inode. > > For example: > > # xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" /mnt/file > wrote 131072/131072 bytes at offset 0 > 128 KiB, 32 ops; 0.0000 sec (786.164 MiB/sec and 201257.8616 ops/sec) > # xfs_io -d -c "pread 128k 128k" /mnt/file > Segmentation fault > > The first command creates a delalloc extent with preallocation and then > runs a non-file-size-extending zero range beyond the end of the file > with an unaligned end offset (note that doing the zero range within the > same process is required to ensure prealloc isn't trimmed by close()). > As discussed above, this results in an internal I/O that increases > i_size and leaks the previous preallocation within eof. This is a bug within the zero range code - we should never try to sub-block zeroing beyond EOF unless we are extending the file size and need to zero blocks/prealloc that already exists. Extending the file should only be done through xfs_setattr_size(). If the range to be zeroed beyond EOF is smaller than a block, then we should just prealloc the entire block because the EOF extension (whenever it is done) will do IO that results in the block being fully zeroed, anyway. > The patch here addresses the zero range problem simply by avoiding > xfs_iozero(). It introduces a similar problem... Right, same conclusion, different reasoning. ;) > > + /* > > + * Writeback the partial pages if either the start or end is not page > > + * aligned to prevent writeback races with partial block zeroing. > > + * truncate_pagecache_range() handles partial page zeroing if the pages > > + * are cached. > > + */ > > + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, > > + start_boundary); > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, > > + offset + len); > > + } > > + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); > > ... here because the request can still fail with ENOSPC during block > allocation after we have truncated pagecache for the entire range but > before we might have killed the delalloc blocks in the range. This leads > to the same delalloc blocks not covered by pagecache problem. Another reason for punching the delalloc blocks first. ;) > I suspect the fix is to truncate the pagecache in smaller portions as we > proceed through the function, but I'll have to give it a try. I *think* > it's important to handle the truncate before making any extent > modifications lest weird things happen with writeback. Or we could just punch the delalloc blocks on failure. i.e. punching delalloc blocks is used only for error handling (like in the buffer write error handling case). It will at least "zero" the delalloc portions of the range on failure... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 15:30: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 EA0387F4E for ; Mon, 6 Oct 2014 15:30:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8448DAC004 for ; Mon, 6 Oct 2014 13:30:32 -0700 (PDT) X-ASG-Debug-ID: 1412627430-04bdf003a07bd0e0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id k3YDzrROjKUqto1h for ; Mon, 06 Oct 2014 13:30:30 -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: AuxSAKX6MlR5LDjwPGdsb2JhbABfgw6BK4c5sFcBBpVqhWoCAgEBAoEFFwEGAQEBATg5hAQBAQQnExwjEAgDDgoJJQ8FJQMHGhOIPcE4GBiGCIlYTQeDLYEeAQSdPZl4KS+BB4FDAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 07:00:29 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbEvM-0000fP-RQ; Tue, 07 Oct 2014 07:30:28 +1100 Date: Tue, 7 Oct 2014 07:30:28 +1100 From: Dave Chinner To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 03/12] xfs: Set allowed quota types Message-ID: <20141006203028.GB2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 03/12] xfs: Set allowed quota types References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-4-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412191894-9113-4-git-send-email-jack@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: 1412627430 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.10272 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote: > We support user, group, and project quotas. Tell VFS about it. > > CC: xfs@oss.sgi.com > CC: Dave Chinner > Signed-off-by: Jan Kara > --- > fs/xfs/xfs_super.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index b194652033cd..b32e998e8cbc 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( > sb->s_export_op = &xfs_export_operations; > #ifdef CONFIG_XFS_QUOTA > sb->s_qcop = &xfs_quotactl_operations; > + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | > + (1 << PRJQUOTA); Would it be better to define masks for these rather than open coding these shifts everywhere? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 15:33: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 462117F4E for ; Mon, 6 Oct 2014 15:33:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2660830404E for ; Mon, 6 Oct 2014 13:33:03 -0700 (PDT) X-ASG-Debug-ID: 1412627581-04cbb073047bca60001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id DaXDfbC52LJnMHVp for ; Mon, 06 Oct 2014 13:33:01 -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: AihzANj7MlR5LDjwPGdsb2JhbABfgw6BK4c5sFcBBpVqhDKBOAICAQECgQUXAQYBAQEBODmEAwEBAQQ6HCMQCAMOBwMJJQ8FJQMHGhOIPcE0GBiGCIolB4MtgR4BBJ09jFONJSkvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 07:03:00 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbExo-0000fg-7F; Tue, 07 Oct 2014 07:33:00 +1100 Date: Tue, 7 Oct 2014 07:33:00 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 14/16] xfs: rename XFS_IOC_FSGEOM to XFS_IOC_FSGEOM_V2 Message-ID: <20141006203300.GC2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 14/16] xfs: rename XFS_IOC_FSGEOM to XFS_IOC_FSGEOM_V2 References: <20141003214758.GY1865@sgi.com> <20141003220435.GN1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220435.GN1865@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: 1412627581 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.10272 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 05:04:35PM -0500, Ben Myers wrote: > From: Ben Myers > > We'll be creating a new versioned XFS_IOC_FSGEOMETRY ioctl and structure > so rename the current revision to _V2. Urk, no. This will result in older applications picking up the new ioctl when they are rebuilt without having explicit support for the new ioctl. Just create a new ioctl with a new name and modify applications to use it. If the kernel does not support the new ioctl, then fall back to the old one in userspace. -Dave. -- Dave Chinner david@fromorbit.com From bpm@sgi.com Mon Oct 6 15:39: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 7E9CA7F4E for ; Mon, 6 Oct 2014 15:39:00 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 53D08304039; Mon, 6 Oct 2014 13:39:00 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id CD41D4266DC; Mon, 6 Oct 2014 15:38:59 -0500 (CDT) Date: Mon, 6 Oct 2014 15:38:59 -0500 From: Ben Myers To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 14/16] xfs: rename XFS_IOC_FSGEOM to XFS_IOC_FSGEOM_V2 Message-ID: <20141006203859.GO1865@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003220435.GN1865@sgi.com> <20141006203300.GC2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006203300.GC2301@dastard> User-Agent: Mutt/1.5.20 (2009-06-14) On Tue, Oct 07, 2014 at 07:33:00AM +1100, Dave Chinner wrote: > On Fri, Oct 03, 2014 at 05:04:35PM -0500, Ben Myers wrote: > > From: Ben Myers > > > > We'll be creating a new versioned XFS_IOC_FSGEOMETRY ioctl and structure > > so rename the current revision to _V2. > > Urk, no. > > This will result in older applications picking up the new ioctl when > they are rebuilt without having explicit support for the new ioctl. > > Just create a new ioctl with a new name and modify applications to > use it. If the kernel does not support the new ioctl, then fall back > to the old one in userspace. D'oh. Yeah, ok. From david@fromorbit.com Mon Oct 6 15:41: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 040FC7F4E for ; Mon, 6 Oct 2014 15:41:18 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D5D648F8035 for ; Mon, 6 Oct 2014 13:41:17 -0700 (PDT) X-ASG-Debug-ID: 1412628075-04cbb073037bd3f0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 0FeAP5NFsAxclmBS for ; Mon, 06 Oct 2014 13:41:15 -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: Au5SAP38MlR5LDjwPGdsb2JhbABfgw6BK4c5sFcBBpVqhWoCAgEBAoEFFwEGAQEBATg5hAMBAQEEOhwjEAgDDgcDCSUPBSUDBxoTiD3BNBgYhgiKJQeDLYEeAQSdPYxTixgggW0pL4JKAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 07:11:14 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbF5m-0000kL-8Q; Tue, 07 Oct 2014 07:41:14 +1100 Date: Tue, 7 Oct 2014 07:41:14 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 15/16] xfs: xfs_fs_geometry returns a number of bytes to copy Message-ID: <20141006204114.GD2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 15/16] xfs: xfs_fs_geometry returns a number of bytes to copy References: <20141003214758.GY1865@sgi.com> <20141003220508.GO1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220508.GO1865@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: 1412628075 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.10272 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 05:05:09PM -0500, Ben Myers wrote: > From: Ben Myers > > The versioned xfs_fsop_geom_t will be of variable size. Make > xfs_fs_geometry return the number of bytes to copy out to userspace for > a given version of the structure. xfs_fs_geometry() should be a void right now - it doesn't return any error value at all. Further, the size of the structure that is filled in is determined by the version of the ioctl being called, not the xfs_fs_geometry() function. Hence the caller already knows the size of the structure being used, and hence does not need xfs_fs_geometry() to tell it that information. So I don't think this change is necessary. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 16:13: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.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP 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 9862F7F4E for ; Mon, 6 Oct 2014 16:13:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 874038F8040 for ; Mon, 6 Oct 2014 14:13:56 -0700 (PDT) X-ASG-Debug-ID: 1412630033-04cbb073037bf4a0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id pahgDpbg8PEQD4Jo for ; Mon, 06 Oct 2014 14:13:54 -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: Au9SAHgFM1R5LDjwPGdsb2JhbABfgw6BK4c5sFcBBpVqhWoCAgEBAoEGFwEGAQEBATg5hAMBAQEEJxMcIxAIAw4HAwklDwUlAwcaE4g9wU0YGIYIiiUHgy2BHgWdPYEug0KSeyCBbSkvgkoBAQE Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 07:43:53 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbFbL-0000pX-St; Tue, 07 Oct 2014 08:13:51 +1100 Date: Tue, 7 Oct 2014 08:13:51 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 16/16] xfs: add versioned fsgeom ioctl with utf8version field Message-ID: <20141006211351.GE2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 16/16] xfs: add versioned fsgeom ioctl with utf8version field References: <20141003214758.GY1865@sgi.com> <20141003220546.GP1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220546.GP1865@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: 1412630033 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.10273 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 05:05:46PM -0500, Ben Myers wrote: > From: Ben Myers > > This adds a utf8version field to the xfs_fs_geom structure. An > important characteristic of this version of the ioctl is that > fsgeo.version needs to be set by the caller to specify which version of > the structure to return. > > Signed-off-by: Ben Myers > --- > fs/xfs/xfs_fs.h | 31 +++++++++++++++++++++++++++++++ > fs/xfs/xfs_fsops.c | 13 ++++++++++++- > fs/xfs/xfs_fsops.h | 2 +- > fs/xfs/xfs_ioctl.c | 31 +++++++++++++++++++++++++++++++ > 4 files changed, 75 insertions(+), 2 deletions(-) > > diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h > index fd45cbe..2f4d430 100644 > --- a/fs/xfs/xfs_fs.h > +++ b/fs/xfs/xfs_fs.h > @@ -206,6 +206,34 @@ typedef struct xfs_fsop_geom_v2 { > __u32 logsunit; /* log stripe unit, bytes */ > } xfs_fsop_geom_v2_t; > > +/* > + * Output for XFS_IOC_FSGEOMETRY > + */ > +typedef struct xfs_fsop_geom { > + __u32 blocksize; /* filesystem (data) block size */ > + __u32 rtextsize; /* realtime extent size */ > + __u32 agblocks; /* fsblocks in an AG */ > + __u32 agcount; /* number of allocation groups */ > + __u32 logblocks; /* fsblocks in the log */ > + __u32 sectsize; /* (data) sector size, bytes */ > + __u32 inodesize; /* inode size in bytes */ > + __u32 imaxpct; /* max allowed inode space(%) */ > + __u64 datablocks; /* fsblocks in data subvolume */ > + __u64 rtblocks; /* fsblocks in realtime subvol */ > + __u64 rtextents; /* rt extents in realtime subvol*/ > + __u64 logstart; /* starting fsblock of the log */ > + unsigned char uuid[16]; /* unique id of the filesystem */ > + __u32 sunit; /* stripe unit, fsblocks */ > + __u32 swidth; /* stripe width, fsblocks */ > + __s32 version; /* structure version */ > + __u32 flags; /* superblock version flags */ > + __u32 logsectsize; /* log sector size, bytes */ > + __u32 rtsectsize; /* realtime sector size, bytes */ > + __u32 dirblocksize; /* directory block size, bytes */ > + __u32 logsunit; /* log stripe unit, bytes */ > + __u32 utf8version; /* Unicode version */ > +} xfs_fsop_geom_t; New structure defintion, not a redefinition of the old name, please. Drop the typedef, and the structure needs to be 64 bit size aligned so we don't get problems with 32 bit userspace on 64 bit kernels (e.g. we have a v1 compat ioctl handler because of this issue). Further, lets avoid needing to rev the ioctl again in future by adding a bunch of "must be zero" padding to the new structure so we can extend the information we push to userspace easily. i.e. padding only becomes meaningful when the superblock flag that exposes meaning is set. i.e. userspace can do this to conditionally access the ut8version value if it is meaningful: utf8_ver = 0; if (geo.flags & XFS_FSOP_GEOM_FLAGS_UTF8) utf8_ver = geo->utf8version; i.e. let's make the new structure forwards compatible with new features... > @@ -115,6 +117,15 @@ xfs_fs_geometry( > XFS_FSOP_GEOM_FLAGS_LOGV2 : 0); > geo->logsunit = mp->m_sb.sb_logsunit; > } > + if (new_version >= XFS_FSOP_GEOM_VERSION5) { > + geo->version = XFS_FSOP_GEOM_VERSION5; > + geo->flags |= (xfs_sb_version_hasutf8(&mp->m_sb) ? > + XFS_FSOP_GEOM_FLAGS_UTF8 : 0); > + geo->utf8version = mp->m_sb.sb_utf8version; > + if (bytes) > + *bytes = sizeof(xfs_fsop_geom_v2_t) + > + sizeof(geo->utf8version); Further indication that the *bytes variable should die. > + } > return 0; > } > > diff --git a/fs/xfs/xfs_fsops.h b/fs/xfs/xfs_fsops.h > index 74e1fee..b723f36 100644 > --- a/fs/xfs/xfs_fsops.h > +++ b/fs/xfs/xfs_fsops.h > @@ -18,7 +18,7 @@ > #ifndef __XFS_FSOPS_H__ > #define __XFS_FSOPS_H__ > > -extern int xfs_fs_geometry(xfs_mount_t *mp, xfs_fsop_geom_v2_t *geo, > +extern int xfs_fs_geometry(xfs_mount_t *mp, void *buffer, > int new_version, size_t *bytes); > extern int xfs_growfs_data(xfs_mount_t *mp, xfs_growfs_data_t *in); > extern int xfs_growfs_log(xfs_mount_t *mp, xfs_growfs_log_t *in); > diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c > index 1657ce5..6308680 100644 > --- a/fs/xfs/xfs_ioctl.c > +++ b/fs/xfs/xfs_ioctl.c > @@ -859,6 +859,34 @@ xfs_ioc_fsgeometry_v2( > return 0; > } > > +STATIC int > +xfs_ioc_fsgeometry( > + struct xfs_mount *mp, > + void __user *arg) > +{ > + xfs_fsop_geom_t fsgeo; > + int version, error; > + size_t bytes; > + > + /* offsetof(version)? XXX just get 32 bits? */ > + if (copy_from_user(&fsgeo, arg, sizeof(xfs_fsop_geom_v1_t))) > + return -EFAULT; It's best to copy in the entire structure rather than play offset games. > + version = fsgeo.version; > + > + if (version < XFS_FSOP_GEOM_VERSION5) > + return -EINVAL; Here it rejects anything that is not a v3 structure aware of the unicode extensions, which means it breaks any old recompiled application that hasn't been updated to support XFS_FSOP_GEOM_VERSION5 despite the fact that they will compile against headers with the new definition without warnings or errors. > + > + memset(&fsgeo, 0, sizeof(fsgeo)); > + error = xfs_fs_geometry(mp, &fsgeo, version, &bytes); > + if (error) > + return error; > + > + if (copy_to_user(arg, &fsgeo, bytes)) > + return -EFAULT; and you can use sizeof(struct xfs_fs_geom_v3) here instead of bytes. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 16:26: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 C9DF47F4E for ; Mon, 6 Oct 2014 16:26:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B7A5F8F8040 for ; Mon, 6 Oct 2014 14:26:02 -0700 (PDT) X-ASG-Debug-ID: 1412630760-04cbb073027c0140001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id JRtBu3G3w50xEFgn for ; Mon, 06 Oct 2014 14:26:00 -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: Au9SAMQHM1R5LDjwPGdsb2JhbABfgw6BK4c5sFkBBpVqhWoCAgEBAoEGFwEGAQEBATg5hAMBAQEEJxMcIxAIAw4HAwklDwUlAwcaE4g9wUoYGIYIiiUHgy2BHgWdPZl4KS+CSgEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 07:55:59 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbFn4-0000rE-Q5; Tue, 07 Oct 2014 08:25:58 +1100 Date: Tue, 7 Oct 2014 08:25:58 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 09/16] xfs: add a superblock feature bit to indicate UTF-8 support. Message-ID: <20141006212558.GF2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 09/16] xfs: add a superblock feature bit to indicate UTF-8 support. References: <20141003214758.GY1865@sgi.com> <20141003215945.GH1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003215945.GH1865@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: 1412630760 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.10274 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 04:59:46PM -0500, Ben Myers wrote: > From: Olaf Weber > > When UTF-8 support is enabled, the xfs_dir_ci_inode_operations must be > installed. Add xfs_sb_version_hasci(), which tests both the borgbit and > the utf8bit, and returns true if at least one of them is set. Replace > calls to xfs_sb_version_hasasciici() as needed. > > Signed-off-by: Olaf Weber > --- > fs/xfs/libxfs/xfs_sb.h | 24 +++++++++++++++++++++++- > fs/xfs/xfs_fs.h | 1 + > fs/xfs/xfs_fsops.c | 4 +++- > fs/xfs/xfs_iops.c | 4 ++-- > 4 files changed, 29 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h > index 2e73970..525eacb 100644 > --- a/fs/xfs/libxfs/xfs_sb.h > +++ b/fs/xfs/libxfs/xfs_sb.h > @@ -70,6 +70,7 @@ struct xfs_trans; > #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 > #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ > #define XFS_SB_VERSION2_PARENTBIT 0x00000010 /* parent pointers */ > +#define XFS_SB_VERSION2_UTF8BIT 0x00000020 /* utf8 names */ > #define XFS_SB_VERSION2_PROJID32BIT 0x00000080 /* 32 bit project id */ Can you explain why this bit is safe to use? I don't recall why XFS_SB_VERSION2_PROJID32BIT skipped several bits because there aren't any comments explaining why that value was chosen. Adding a comment about the 0x00000040 bit at the same time would be useful. > #define XFS_SB_VERSION2_CRCBIT 0x00000100 /* metadata CRCs */ > #define XFS_SB_VERSION2_FTYPE 0x00000200 /* inode type in dir */ > @@ -77,6 +78,7 @@ struct xfs_trans; > #define XFS_SB_VERSION2_OKBITS \ > (XFS_SB_VERSION2_LAZYSBCOUNTBIT | \ > XFS_SB_VERSION2_ATTR2BIT | \ > + XFS_SB_VERSION2_UTF8BIT | \ > XFS_SB_VERSION2_PROJID32BIT | \ > XFS_SB_VERSION2_FTYPE) > > @@ -509,8 +511,10 @@ xfs_sb_has_ro_compat_feature( > } > > #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ > +#define XFS_SB_FEAT_INCOMPAT_UTF8 (1 << 1) /* utf-8 name support */ > #define XFS_SB_FEAT_INCOMPAT_ALL \ > - (XFS_SB_FEAT_INCOMPAT_FTYPE) > + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ > + XFS_SB_FEAT_INCOMPAT_UTF8) Don't add support to the filesystem until all the supporting code is in place. This avoids git bisects landing on commits in the series where the filesystem says it supports the feature bit it doesn't actually work. Add a patch at the end of the series that adds these bits to the feature masks. > > #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL > static inline bool > @@ -558,6 +562,24 @@ 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_hasutf8(xfs_sb_t *sbp) bool, no typedefs. > +{ > + return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 && > + xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UTF8)) || > + (xfs_sb_version_hasmorebits(sbp) && > + (sbp->sb_features2 & XFS_SB_VERSION2_UTF8BIT)); xfs_sb_version_hasmorebits() already checks for XFS_SB_VERSION_5, so this could be: return xfs_sb_version_hasmorebits(sbp) && (xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UTF8) || (sbp->sb_features2 & XFS_SB_VERSION2_UTF8BIT)); > +} > + > +/* > + * Special case: there are a number of places where we need to test > + * both the borgbit and the utf8bit, and take the same action if > + * either of those is set. > + */ > +static inline int xfs_sb_version_hasci(xfs_sb_t *sbp) > +{ bool, no typedefs, and probably should be a separate patch. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 16: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=3.0 required=5.0 tests=TVD_SUBJ_NUM_OBFU_MINFP 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 6644C7F4E for ; Mon, 6 Oct 2014 16:54:01 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 297D4304032 for ; Mon, 6 Oct 2014 14:53:58 -0700 (PDT) X-ASG-Debug-ID: 1412632435-04bdf0039f7c1ff0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id Do04nCfzAIYpUfMb for ; Mon, 06 Oct 2014 14:53:55 -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: AvFSAJQOM1R5LDjwPGdsb2JhbABfgw6BK4c5sFkBBpVqhWoCAgEBAoEHFwEGAQEBATg5hAMBAQEDAScTHCMFCwgDDgcDCSUPBSUDBxoTiDYHwWQYhgiJTQtNB4RLBY9agXKHJYRMmXgpL4EGAQEeBoEeAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 08:23:53 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbGE4-0000w4-ES; Tue, 07 Oct 2014 08:53:52 +1100 Date: Tue, 7 Oct 2014 08:53:52 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 10/16] xfs: store utf8version in the superblock Message-ID: <20141006215352.GG2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 10/16] xfs: store utf8version in the superblock References: <20141003214758.GY1865@sgi.com> <20141003220031.GI1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220031.GI1865@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: 1412632435 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.10275 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 05:00:31PM -0500, Ben Myers wrote: > From: Ben Myers > > The utf8 version a filesystem was created with needs to be stored in > order that normalizations will remain stable over the lifetime of the > filesystem. Convert sb_pad to sb_utf8version in the super block. This > also adds checks at mount time to see whether the unicode normalization > module has support for the version of unicode that the filesystem > requires. If not we fail the mount. > > Signed-off-by: Ben Myers > --- > fs/xfs/libxfs/xfs_dir2.c | 28 ++++++++++++++++--- > fs/xfs/libxfs/xfs_sb.c | 4 +-- > fs/xfs/libxfs/xfs_sb.h | 10 ++++--- > fs/xfs/libxfs/xfs_utf8.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ > fs/xfs/libxfs/xfs_utf8.h | 24 +++++++++++++++++ > 5 files changed, 126 insertions(+), 10 deletions(-) > create mode 100644 fs/xfs/libxfs/xfs_utf8.c > create mode 100644 fs/xfs/libxfs/xfs_utf8.h > > diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c > index 4eb0973..2c89211 100644 > --- a/fs/xfs/libxfs/xfs_dir2.c > +++ b/fs/xfs/libxfs/xfs_dir2.c > @@ -157,10 +157,30 @@ xfs_da_mount( > (uint)sizeof(xfs_da_node_entry_t); > dageo->magicpct = (dageo->blksize * 37) / 100; > > - if (xfs_sb_version_hasasciici(&mp->m_sb)) > - mp->m_dirnameops = &xfs_ascii_ci_nameops; > - else > - mp->m_dirnameops = &xfs_default_nameops; > + if (xfs_sb_version_hasutf8(&mp->m_sb)) { > +#ifdef CONFIG_XFS_UTF8 > + if (!xfs_utf8_version_ok(mp)) > + return -ENOSYS; > + > + /* XXX these are replaced in the next patch need > + to do some kind of reordering here */ > + if (xfs_sb_version_hasasciici(&mp->m_sb)) > + mp->m_dirnameops = &xfs_ascii_ci_nameops; > + else > + mp->m_dirnameops = &xfs_default_nameops; > +#else > + xfs_warn(mp, > +"Recompile XFS with CONFIG_XFS_UTF8 to mount this filesystem"); > + kmem_free(mp->m_dir_geo); > + kmem_free(mp->m_attr_geo); > + return -ENOSYS; > +#endif This config check doesn't belong here. Validation of superblock fields vs the current config goes in the superblock verifier. I also think that indication of UTF8 support being compiled in needs to go in the XFS_VERSION_STRING, not have ifdef hackery added into the code. i.e. the mount should fail very early on with a superblock verification failure from xfs_mount_validate_sb(). > + } else { > + if (xfs_sb_version_hasasciici(&mp->m_sb)) > + mp->m_dirnameops = &xfs_ascii_ci_nameops; > + else > + mp->m_dirnameops = &xfs_default_nameops; > + } > > return 0; > } > diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c > index ad525a5..1ee7d33 100644 > --- a/fs/xfs/libxfs/xfs_sb.c > +++ b/fs/xfs/libxfs/xfs_sb.c > @@ -99,7 +99,7 @@ static const struct { > { offsetof(xfs_sb_t, sb_features_incompat), 0 }, > { offsetof(xfs_sb_t, sb_features_log_incompat), 0 }, > { offsetof(xfs_sb_t, sb_crc), 0 }, > - { offsetof(xfs_sb_t, sb_pad), 0 }, > + { offsetof(xfs_sb_t, sb_utf8version), 0 }, > { offsetof(xfs_sb_t, sb_pquotino), 0 }, > { offsetof(xfs_sb_t, sb_lsn), 0 }, > { sizeof(xfs_sb_t), 0 } > @@ -443,7 +443,7 @@ __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); > - to->sb_pad = 0; > + to->sb_utf8version = be32_to_cpu(from->sb_utf8version); > to->sb_pquotino = be64_to_cpu(from->sb_pquotino); > to->sb_lsn = be64_to_cpu(from->sb_lsn); > /* Convert on-disk flags to in-memory flags? */ > diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h > index 525eacb..dc7b6c6 100644 > --- a/fs/xfs/libxfs/xfs_sb.h > +++ b/fs/xfs/libxfs/xfs_sb.h > @@ -159,7 +159,7 @@ typedef struct xfs_sb { > __uint32_t sb_features_log_incompat; > > __uint32_t sb_crc; /* superblock crc */ > - __uint32_t sb_pad; > + __uint32_t sb_utf8version; /* unicode version */ > > xfs_ino_t sb_pquotino; /* project quota inode */ > xfs_lsn_t sb_lsn; /* last write sequence */ > @@ -245,7 +245,7 @@ typedef struct xfs_dsb { > __be32 sb_features_log_incompat; > > __le32 sb_crc; /* superblock crc */ > - __be32 sb_pad; > + __be32 sb_utf8version; /* version of unicode */ > > __be64 sb_pquotino; /* project quota inode */ > __be64 sb_lsn; /* last write sequence */ > @@ -271,7 +271,7 @@ typedef enum { > XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT, > XFS_SBS_FEATURES2, XFS_SBS_BAD_FEATURES2, XFS_SBS_FEATURES_COMPAT, > XFS_SBS_FEATURES_RO_COMPAT, XFS_SBS_FEATURES_INCOMPAT, > - XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_PAD, > + XFS_SBS_FEATURES_LOG_INCOMPAT, XFS_SBS_CRC, XFS_SBS_UTF8VERSION, > XFS_SBS_PQUOTINO, XFS_SBS_LSN, > XFS_SBS_FIELDCOUNT > } xfs_sb_field_t; > @@ -303,6 +303,7 @@ typedef enum { > #define XFS_SB_FEATURES_INCOMPAT XFS_SB_MVAL(FEATURES_INCOMPAT) > #define XFS_SB_FEATURES_LOG_INCOMPAT XFS_SB_MVAL(FEATURES_LOG_INCOMPAT) > #define XFS_SB_CRC XFS_SB_MVAL(CRC) > +#define XFS_SB_UTF8VERSION XFS_SB_MVAL(UTF8VERSION) > #define XFS_SB_PQUOTINO XFS_SB_MVAL(PQUOTINO) > #define XFS_SB_NUM_BITS ((int)XFS_SBS_FIELDCOUNT) > #define XFS_SB_ALL_BITS ((1LL << XFS_SB_NUM_BITS) - 1) > @@ -313,7 +314,8 @@ typedef enum { > XFS_SB_ICOUNT | XFS_SB_IFREE | XFS_SB_FDBLOCKS | XFS_SB_FEATURES2 | \ > XFS_SB_BAD_FEATURES2 | XFS_SB_FEATURES_COMPAT | \ > XFS_SB_FEATURES_RO_COMPAT | XFS_SB_FEATURES_INCOMPAT | \ > - XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_PQUOTINO) > + XFS_SB_FEATURES_LOG_INCOMPAT | XFS_SB_UTF8VERSION | \ > + XFS_SB_PQUOTINO) We should never be modifying the utf8 version number from the kernel, so this shouldn't be set in the XFS_SB_MOD_BITS mask. > diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c > new file mode 100644 > index 0000000..7e63111 > --- /dev/null > +++ b/fs/xfs/libxfs/xfs_utf8.c > @@ -0,0 +1,70 @@ > +/* > + * Copyright (c) 2014 SGI. > + * All rights reserved. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it would be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write the Free Software Foundation, > + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#include "xfs.h" > +#include "xfs_fs.h" > +#include "xfs_types.h" > +#include "xfs_bit.h" > +#include "xfs_log_format.h" > +#include "xfs_inum.h" > +#include "xfs_trans.h" > +#include "xfs_trans_resv.h" > +#include "xfs_sb.h" > +#include "xfs_ag.h" > +#include "xfs_da_format.h" > +#include "xfs_da_btree.h" > +#include "xfs_dir2.h" > +#include "xfs_mount.h" > +#include "xfs_da_btree.h" > +#include "xfs_format.h" > +#include "xfs_bmap_btree.h" > +#include "xfs_alloc_btree.h" > +#include "xfs_dinode.h" > +#include "xfs_inode.h" > +#include "xfs_inode_item.h" > +#include "xfs_bmap.h" > +#include "xfs_error.h" > +#include "xfs_trace.h" > +#include "xfs_utf8.h" This may sound pedantic, but in all the libxfs rework I've managed to standadise the initial include file order to be roughly: #include "xfs.h" #include "xfs_fs.h" #include "xfs_shared.h" #include "xfs_format.h" #include "xfs_log_format.h" #include "xfs_trans_resv.h" #include "xfs_bit.h" #include "xfs_inum.h" #include "xfs_sb.h" #include "xfs_ag.h" #include "xfs_mount.h" #include "xfs_da_format.h" i.e. include all the type, shared and on-disk format information first. Can you re-order these to follow the same convention? > +#include And that should end up being included from fs/xfs/xfs_linux.h, because we can't include things directly from the linux kernel headers in fs/xfs/libxfs/ files. > + > +int Bool. > +xfs_utf8_version_ok( > + struct xfs_mount *mp) > +{ > + int major, minor, revision; > + > + if (utf8version_is_supported(mp->m_sb.sb_utf8version)) > + return 1; return true; > + > + major = mp->m_sb.sb_utf8version >> UNICODE_MAJ_SHIFT; > + minor = (mp->m_sb.sb_utf8version & 0xff00) >> UNICODE_MIN_SHIFT; > + revision = mp->m_sb.sb_utf8version & 0xff; > + > + if (revision) { > + xfs_warn(mp, > + "Unicode version %d.%d.%d not supported by utf8norm.ko", > + major, minor, revision); > + } else { > + xfs_warn(mp, > + "Unicode version %d.%d not supported by utf8norm.ko", > + major, minor); > + } why do you need two different print statements? Version X.Y.0 is pretty much recognisable as being the same as X.Y.... > + > + return 0; return false; > +} > diff --git a/fs/xfs/libxfs/xfs_utf8.h b/fs/xfs/libxfs/xfs_utf8.h > new file mode 100644 > index 0000000..8a700de > --- /dev/null > +++ b/fs/xfs/libxfs/xfs_utf8.h > @@ -0,0 +1,24 @@ > +/* > + * Copyright (c) 2014 SGI. > + * 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_UTF8_H > +#define XFS_UTF8_H > + > +extern int xfs_utf8_version_ok(struct xfs_mount *); > + > +#endif /* XFS_UTF8_H */ Do we really need a separate header file for this? fs/xfs/libxfs/xfs_shared.h was created for such one-off or limited definitions that need to be shared with userspace... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bfoster@redhat.com Mon Oct 6 17:10: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 B66A67F4E for ; Mon, 6 Oct 2014 17:10:17 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 376E6AC002 for ; Mon, 6 Oct 2014 15:10:14 -0700 (PDT) X-ASG-Debug-ID: 1412633409-04cb6c50e77353d0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id DrtbbeWryUDzkLLY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Oct 2014 15:10:09 -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 s96MA10g019914 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 6 Oct 2014 18:10:01 -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 s96MA1TV026963; Mon, 6 Oct 2014 18:10:01 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7414A120064; Mon, 6 Oct 2014 18:09:59 -0400 (EDT) Date: Mon, 6 Oct 2014 18:09:59 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix zero range i_size problems Message-ID: <20141006220959.GA14395@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix zero range i_size problems References: <1412255533-8357-1-git-send-email-bfoster@redhat.com> <20141006131111.GA61966@bfoster.bfoster> <20141006202921.GA2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006202921.GA2301@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: 1412633409 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 Tue, Oct 07, 2014 at 07:29:21AM +1100, Dave Chinner wrote: > On Mon, Oct 06, 2014 at 09:11:11AM -0400, Brian Foster wrote: > > On Thu, Oct 02, 2014 at 09:12:13AM -0400, Brian Foster wrote: > > > The zero range operation is analogous to fallocate with the exception of > > > converting the range to zeroes. E.g., it attempts to allocate zeroed > > > blocks over the range specified by the caller. The XFS implementation > > > kills all delalloc blocks currently over the aligned range, converts the > > > range to allocated zero blocks (unwritten extents) and handles the > > > partial pages at the ends of the range by sending writes through the > > > pagecache. > > > > > > The current implementation suffers from several problems associated with > > > inode size. If the aligned range covers an extending I/O, said I/O is > > > discarded and an inode size update from a previous write never makes it > > > to disk. Further, if an unaligned zero range extends beyond eof, the > > > page write induced for the partial end page can itself increase the > > > inode size, even if the zero range request is not supposed to update > > > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > > > > > Update xfs_zero_file_space() to forego using buffered I/O for partial > > > pages. Instead, convert the block aligned (rather than page aligned) > > > range to unwritten extents, update the partial blocks on disk and use > > > existing pagecache functionality to ensure cached pages are consistent > > > with data on disk. > > > > > > Signed-off-by: Brian Foster > > > --- > > > > > > This passes xfstests and survived an overnight fsx run (+300m ops) on a > > > 1k fsb fs. The tradeoff that I've observed from this implementation is > > > that fzero is now also likely to trigger the problem described in the > > > recently posted xfs/053 test: > > > > > > http://oss.sgi.com/archives/xfs/2014-09/msg00473.html > > > > > > This is slightly unfortunate, but as I understand it that problem is > > > more fundamentally associated with extent conversion and writeback vs. > > > any particular fs operation that might expose it. > > > > > > Brian > > > > > > > I spent the past few days trying to reproduce and nail down some of the > > delalloc related asserts reproduced by generic/269 and discovered that > > zero range is at least one cause of the problem. This patch actually > > addresses that particular problem, yet introduces another similar > > variant of the problem. > > > > The original cause is "leakage" of speculative preallocation blocks into > > the addressable range of the file (within eof) without any pages > > associated with the delalloc extent. This means that it isn't > > necessarily sufficient to writeback a particular delalloc range to > > convert it. This sets a landmine for direct I/O or inode eviction to > > step on when it comes time to perform I/O over the range or clean the > > inode. > > > > For example: > > > > # xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" /mnt/file > > wrote 131072/131072 bytes at offset 0 > > 128 KiB, 32 ops; 0.0000 sec (786.164 MiB/sec and 201257.8616 ops/sec) > > # xfs_io -d -c "pread 128k 128k" /mnt/file > > Segmentation fault > > > > The first command creates a delalloc extent with preallocation and then > > runs a non-file-size-extending zero range beyond the end of the file > > with an unaligned end offset (note that doing the zero range within the > > same process is required to ensure prealloc isn't trimmed by close()). > > As discussed above, this results in an internal I/O that increases > > i_size and leaks the previous preallocation within eof. > > This is a bug within the zero range code - we should never try to > sub-block zeroing beyond EOF unless we are extending the file size > and need to zero blocks/prealloc that already exists. Extending the > file should only be done through xfs_setattr_size(). If the range to > be zeroed beyond EOF is smaller than a block, then we should just > prealloc the entire block because the EOF extension (whenever it is > done) will do IO that results in the block being fully zeroed, > anyway. > Right, the original purpose of this patch was to address that problem. The way it fell out, I didn't end up using xfs_iozero() at all. Technically, it still has the potential to do sub-block zeroing post-eof, but it doesn't matter because it isn't doing buffered I/O. Sure, it's pointless in the post-eof case, but not problematic and not something I thought worth complicating the code over. FWIW, I also don't really see any reason to reintroduce xfs_iozero() into this rework. The larger point is that the current, broken zero range seems to also be a primary cause of the umount and direct I/O delalloc asserts that I see via generic/269. BTW, any thoughts on how we could end up with contiguous but independent delalloc extents in the in-core list? > > The patch here addresses the zero range problem simply by avoiding > > xfs_iozero(). It introduces a similar problem... > > Right, same conclusion, different reasoning. ;) > > > > + /* > > > + * Writeback the partial pages if either the start or end is not page > > > + * aligned to prevent writeback races with partial block zeroing. > > > + * truncate_pagecache_range() handles partial page zeroing if the pages > > > + * are cached. > > > + */ > > > + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { > > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, > > > + start_boundary); > > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, > > > + offset + len); > > > + } > > > + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); > > > > ... here because the request can still fail with ENOSPC during block > > allocation after we have truncated pagecache for the entire range but > > before we might have killed the delalloc blocks in the range. This leads > > to the same delalloc blocks not covered by pagecache problem. > > Another reason for punching the delalloc blocks first. ;) > > > I suspect the fix is to truncate the pagecache in smaller portions as we > > proceed through the function, but I'll have to give it a try. I *think* > > it's important to handle the truncate before making any extent > > modifications lest weird things happen with writeback. > > Or we could just punch the delalloc blocks on failure. i.e. punching > delalloc blocks is used only for error handling (like in the buffer > write error handling case). It will at least "zero" the delalloc > portions of the range on failure... > I started reordering things and whatnot and noticed that much of this code is duplicated in xfs_free_file_space(). IOW, we can probably get this behavior with a significantly more simple implementation that basically consists of a page cache truncate, a call to xfs_free_file_space() and a call to xfs_alloc_file_space(). That unnecessarily punches out all extents rather than just the delalloc extents, but also naturally leaves the file in an expected state (the range is zeroed) if the preallocation fails anywhere along the way. I'm wondering if it's worth it. Thoughts? Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From robin.listas@telefonica.net Mon Oct 6 17:10: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=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 6D2F77F4E for ; Mon, 6 Oct 2014 17:10:19 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4B74D8F8040 for ; Mon, 6 Oct 2014 15:10:19 -0700 (PDT) X-ASG-Debug-ID: 1412633416-04bdf003a17c2e50001-NocioJ Received: from smtp.movistar.es (smtp20.acens.net [86.109.99.144]) by cuda.sgi.com with ESMTP id rBJg7vMBvDGuvDx9 for ; Mon, 06 Oct 2014 15:10:17 -0700 (PDT) X-Barracuda-Envelope-From: robin.listas@telefonica.net X-Barracuda-Apparent-Source-IP: 86.109.99.144 X-CTCH-RefID: str=0001.0A0B0202.54331348.0076,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 X-CTCH-Spam: Unknown Received: from Telcontar.valinor (79.159.63.177) by smtp.movistar.es (8.6.122.03) (authenticated as robin.listas2) id 54074ADF011AEB3D for xfs@oss.sgi.com; Mon, 6 Oct 2014 22:10:16 +0000 Received: from localhost (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id BD0C161301 for ; Tue, 7 Oct 2014 00:10:14 +0200 (CEST) X-Virus-Scanned: amavisd-new at valinor Received: from Telcontar.valinor ([127.0.0.1]) by localhost (Telcontar.valinor [127.0.0.1]) (amavisd-new, port 10024) with LMTP id VjUZ7Cojj5pW for ; Tue, 7 Oct 2014 00:10:14 +0200 (CEST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id 9FFD86112D for ; Tue, 7 Oct 2014 00:10:14 +0200 (CEST) Message-ID: <54331346.7050005@telefonica.net> Date: Tue, 07 Oct 2014 00:10:14 +0200 From: "Carlos E. R." User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 To: XFS mail list Subject: Re: Question about services References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> <20141006175243.GA4680@hades.localdomain> X-ASG-Orig-Subj: Re: Question about services In-Reply-To: <20141006175243.GA4680@hades.localdomain> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="BuTOEC8xM56JgoTtuSbEAdBlFjtliCDGG" X-Barracuda-Connect: smtp20.acens.net[86.109.99.144] X-Barracuda-Start-Time: 1412633417 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.10275 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --BuTOEC8xM56JgoTtuSbEAdBlFjtliCDGG Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2014-10-06 19:52, Carlos Maiolino wrote: > This looks to be sent as a 'private' email, but you sent it to a public= mail > list? Don't listen to it, it is just another spammer. Thunderbird warns that it is a possible scam. --=20 Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) --BuTOEC8xM56JgoTtuSbEAdBlFjtliCDGG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlQzE0YACgkQtTMYHG2NR9UXmwCfZz4B5EFRJSD2QMD0KXjl6bsa 8n0An3ugeVEc8mBtzUFjOda/9Y1K1C8J =6Zwn -----END PGP SIGNATURE----- --BuTOEC8xM56JgoTtuSbEAdBlFjtliCDGG-- From david@fromorbit.com Mon Oct 6 17:10: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id F153E7F57 for ; Mon, 6 Oct 2014 17:10:24 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D1460304048 for ; Mon, 6 Oct 2014 15:10:21 -0700 (PDT) X-ASG-Debug-ID: 1412633418-04cbb073037c2380001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id RRaVUtuUterelStw for ; Mon, 06 Oct 2014 15:10: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: AvJSAEwSM1R5LDjwPGdsb2JhbABfgw6BK4c5sFkBBpVqhWoCAgEBAoEIFwEGAQEBATg5hAMBAQEDAScTDQ8jBQsIAw4HAwklDwUlAwcaE4g2B7IBjz8YGIYIiiUHhEsFj1qNY4Eug0KHY4saHoFtKS+CSgEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 08:40:18 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbGTw-0000z5-T5; Tue, 07 Oct 2014 09:10:16 +1100 Date: Tue, 7 Oct 2014 09:10:16 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 11/16] xfs: add xfs_nameops for utf8 and utf8+casefold. Message-ID: <20141006221016.GH2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 11/16] xfs: add xfs_nameops for utf8 and utf8+casefold. References: <20141003214758.GY1865@sgi.com> <20141003220118.GJ1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003220118.GJ1865@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: 1412633418 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.10275 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 05:01:18PM -0500, Ben Myers wrote: > From: Olaf Weber > > The xfs_utf8_nameops use the nfkdi normalization when comparing filenames, > and are installed if the utf8bit is set in the super block. > > The xfs_utf8_ci_nameops use the nfkdicf normalization when comparing > filenames, and are installed if both the utf8bit and the borgbit are set > in the superblock. > > Normalized filenames are not stored on disk. Normalization will fail if a > filename is not valid UTF-8, in which case the filename is treated as an > opaque blob. > > Signed-off-by: Olaf Weber > > --- > [v2: updated to use utf8norm.ko module; > compiled conditionally on CONFIG_XFS_UTF8=y; > utf8version is now a function; > move xfs_utf8.[ch] into libxfs. --bpm] > [v3: pass utf8version from the superblock through xfs_nameops > instead of the max version of the normalization module. --bpm] > --- > fs/xfs/Kconfig | 9 ++ > fs/xfs/Makefile | 2 + > fs/xfs/libxfs/xfs_dir2.c | 4 +- > fs/xfs/libxfs/xfs_utf8.c | 208 +++++++++++++++++++++++++++++++++++++++++++++++ > fs/xfs/libxfs/xfs_utf8.h | 3 + > fs/xfs/xfs_iops.c | 2 +- > 6 files changed, 225 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig > index 5d47b4d..1e8a463 100644 > --- a/fs/xfs/Kconfig > +++ b/fs/xfs/Kconfig > @@ -95,3 +95,12 @@ config XFS_DEBUG > not useful unless you are debugging a particular problem. > > Say N unless you are an XFS developer, or you play one on TV. > + > +config XFS_UTF8 > + bool "XFS UTF-8 support" > + depends on XFS_FS > + select CONFIG_UTF8_NORMALIZATION > + help > + Say Y here to enable utf8 normalization support in XFS. You > + will be able to mount and use filesystems created with the > + utf8 mkfs.xfs option. "created with UTF8 support enabled." > diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile > index d617999..192aaca 100644 > --- a/fs/xfs/Makefile > +++ b/fs/xfs/Makefile > @@ -114,6 +114,8 @@ xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ > xfs_qm.o \ > xfs_quotaops.o > > +xfs-$(CONFIG_XFS_UTF8) += libxfs/xfs_utf8.o > + libxfs definitions come first. Also, please use the same prefixing syntax that the other libxfs rules use. > # xfs_rtbitmap is shared with libxfs > xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o > > diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c > index 2c89211..9cfbd6b 100644 > --- a/fs/xfs/libxfs/xfs_dir2.c > +++ b/fs/xfs/libxfs/xfs_dir2.c > @@ -165,9 +165,9 @@ xfs_da_mount( > /* XXX these are replaced in the next patch need > to do some kind of reordering here */ > if (xfs_sb_version_hasasciici(&mp->m_sb)) > - mp->m_dirnameops = &xfs_ascii_ci_nameops; > + mp->m_dirnameops = &xfs_utf8_ci_nameops; > else > - mp->m_dirnameops = &xfs_default_nameops; > + mp->m_dirnameops = &xfs_utf8_nameops; > #else xfs_sb_version_hasasciici()? The overloading of the asciici bit is still used for the utf8 CI functionality? Please fix this for the next version of the patchset. > xfs_warn(mp, > "Recompile XFS with CONFIG_XFS_UTF8 to mount this filesystem"); > diff --git a/fs/xfs/libxfs/xfs_utf8.c b/fs/xfs/libxfs/xfs_utf8.c > index 7e63111..1e75299 100644 > --- a/fs/xfs/libxfs/xfs_utf8.c > +++ b/fs/xfs/libxfs/xfs_utf8.c > @@ -68,3 +68,211 @@ xfs_utf8_version_ok( > > return 0; > } > + > +/* > + * xfs nameops using nfkdi > + */ Remind me again what nfkdi means? I I can't remember the details after a week or two, then perhaps better explanitory comments are needed in the code? > +static xfs_dahash_t > +xfs_utf8_hashname( > + const unsigned char *name, > + int len, > + unsigned int sb_utf8version) Please use the same indentation levels for the declartions. i.e const unsigned char *name, int len, unsigned int sb_utf8version) Can you go through all the XFS code and make sure this is done? > +{ > + utf8data_t nfkdi; > + struct utf8cursor u8c; > + xfs_dahash_t hash; > + int val; And these shold line up, too. > + > + nfkdi = utf8nfkdi(sb_utf8version); > + hash = 0; initialise at declaration. > + if (utf8ncursor(&u8c, nfkdi, name, len) < 0) > + goto blob; Still has the "invalid binary blob" issue. > + while ((val = utf8byte(&u8c)) > 0) > + hash = val ^ rol32(hash, 7); > + /* In case of error treat the name as a binary blob. */ > + if (val == 0) > + return hash; > +blob: > + return xfs_da_hashname(name, len); > +} > + > +static int > +xfs_utf8_normhash( More commments needed explaining what is going on. > + struct xfs_da_args *args) > +{ > + utf8data_t nfkdi; > + struct utf8cursor u8c; > + unsigned char *norm; > + ssize_t normlen; > + int c; > + unsigned int sb_utf8version = > + args->dp->i_mount->m_sb.sb_utf8version; Urk. Initialise on a separate line. > + > + nfkdi = utf8nfkdi(sb_utf8version); > + /* Failure to normalize is treated as a blob. */ > + if ((normlen = utf8nlen(nfkdi, args->name, args->namelen)) < 0) > + goto blob; No assignments in logic statements, please. normlen = utf8nlen(nfkdi, args->name, args->namelen); if (normlen < 0) This is all through the code - can you please go through and fix up all the patches to remove this pattern? checkpatch might be helpful here.... As it is, still has the invalid binary blob issue. > + if (utf8ncursor(&u8c, nfkdi, args->name, args->namelen) < 0) > + goto blob; > + if (!(norm = kmem_alloc(normlen + 1, KM_NOFS|KM_MAYFAIL))) > + return -ENOMEM; Urk. So, what happens if this memory allocation fails in the middle of a create transaction? (Hint: transaction is dirty at this point in time) The rest of the code in this patch has similar issues to what I've already pointed out. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 17:17: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 2CDB77F4E for ; Mon, 6 Oct 2014 17:17:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id BA1C0AC004 for ; Mon, 6 Oct 2014 15:17:39 -0700 (PDT) X-ASG-Debug-ID: 1412633854-04cb6c50e5735970001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 75IF61l4JaLw2FV0 for ; Mon, 06 Oct 2014 15:17: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: Au5SAHUUM1R5LDjwPGdsb2JhbABfgw6BK4c5sFoBBpVqhWoCAgEBAoEKFwEGAQEBATg5hAMBAQEEOhwjEAgDDgcDCSUPBSUDBxoTiD3BRxgYhgiKJQeESwWdPYxTjSUpL4EGJIEgAQEB Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 08:47:10 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbGaa-00010E-PM; Tue, 07 Oct 2014 09:17:08 +1100 Date: Tue, 7 Oct 2014 09:17:08 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 08/16] xfs: change interface of xfs_nameops.hashname Message-ID: <20141006221708.GI2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 08/16] xfs: change interface of xfs_nameops.hashname References: <20141003214758.GY1865@sgi.com> <20141003215844.GG1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003215844.GG1865@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: 1412633854 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.10276 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 04:58:44PM -0500, Ben Myers wrote: > From: Olaf Weber > > With the introduction of the xfs_nameops.normhash callout, all uses of the > hashname callout now occur in places where an xfs_name structure must be > explicitly created just to match the parameter passing convention of this > callout. Change the arguments to a const unsigned char * and int instead. > > Signed-off-by: Olaf Weber > > [v2: pass a 3rd argument for sb_utf8version to hashname. --bpm] So now I've looked at most of the rest of the patch set, I think this is the wrong thing to do. I see no reason apart from "it's less typing" to drop the use of the xfs-name structure, but it removes a key piece of documentation from the code. i.e. that the name/namelen are an inseparable tuple and cannot be separated. Indeed, lots of the utf8 xfs code declares norm/normlen tuples on the stack for temporary use, so really this comes down to a matter of taste. And in that matter, I'd prefer that we keep the existing name abstaction and propagate it into the new code rather than the other way around. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 6 17:19: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 101447F4E for ; Mon, 6 Oct 2014 17:19:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E0E898F8040 for ; Mon, 6 Oct 2014 15:19:32 -0700 (PDT) X-ASG-Debug-ID: 1412633969-04bdf003a07c35b0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 6qRdyrB0FN6NTtXm for ; Mon, 06 Oct 2014 15:19:30 -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: Au5SAHUUM1R5LDjwPGdsb2JhbABfgw6BK4c5sFoBBpVqhWoCAgEBAoEKFwEGAQEBATg5hAMBAQEEOhwjEAgDDgcDCSUPBSUDBxoTiD3BXxiGCIolB4RLAQSdPZl4KS+CSgEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail06.adl2.internode.on.net with ESMTP; 07 Oct 2014 08:49:29 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbGcq-00010U-M3; Tue, 07 Oct 2014 09:19:28 +1100 Date: Tue, 7 Oct 2014 09:19:28 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. Message-ID: <20141006221928.GJ2301@dastard> X-ASG-Orig-Subj: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. References: <20141003214758.GY1865@sgi.com> <20141003215542.GD1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003215542.GD1865@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: 1412633969 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.10275 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 03, 2014 at 04:55:42PM -0500, Ben Myers wrote: > From: Olaf Weber > > Change the XFS case-insensitive lookup code to return the first match > found, even if it is not an exact match. Whether a filesystem uses > case-insensitive lookups is determined by a superblock bit set during > filesystem creation. This means that normal use cannot create two files > that both match the same filename. > > Signed-off-by: Olaf Weber This is really dependent on whether we want to support mixed CI/non-CI filesystems, yes? i.e. if we want to support mixed case setups, then we need to keep the code as it stands? What is the downside of keeping the code unchaged and our options open? Cheers, Dave. -- Dave Chinner david@fromorbit.com From cmaiolino@redhat.com Mon Oct 6 20:54: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id AE6337F4E for ; Mon, 6 Oct 2014 20:54:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3B2ECAC005 for ; Mon, 6 Oct 2014 18:54:10 -0700 (PDT) X-ASG-Debug-ID: 1412646848-04cbb073037cbbf0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NWmLnlL6XeoPa1PF (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Oct 2014 18:54:09 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s970wVtW012102 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 6 Oct 2014 20:58:31 -0400 Received: from hades.localdomain (ovpn-113-136.phx2.redhat.com [10.3.113.136]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s970wRsv008846 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 6 Oct 2014 20:58:30 -0400 Date: Mon, 6 Oct 2014 21:58:26 -0300 From: Carlos Maiolino To: "Carlos E. R." Cc: XFS mail list Subject: Re: Question about services Message-ID: <20141007005826.GA30678@hades.localdomain> X-ASG-Orig-Subj: Re: Question about services Mail-Followup-To: "Carlos E. R." , XFS mail list References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> <20141006175243.GA4680@hades.localdomain> <54331346.7050005@telefonica.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54331346.7050005@telefonica.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: 1412646849 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 Whatever, this got me, well written scam :) On Tue, Oct 07, 2014 at 12:10:14AM +0200, Carlos E. R. wrote: > On 2014-10-06 19:52, Carlos Maiolino wrote: > > This looks to be sent as a 'private' email, but you sent it to a public mail > > list? > > Don't listen to it, it is just another spammer. > Thunderbird warns that it is a possible scam. > > -- > Cheers / Saludos, > > Carlos E. R. > (from 13.1 x86_64 "Bottle" at Telcontar) > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos From deliver05@t251.emailgreens.com Tue Oct 7 02:00: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=2.0 required=5.0 tests=DEAR_SOMETHING,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 6DC4C7F3F for ; Tue, 7 Oct 2014 02:00:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0A2CEAC002 for ; Tue, 7 Oct 2014 00:00:52 -0700 (PDT) X-ASG-Debug-ID: 1412665248-04bdf0039f7d9700001-NocioJ Received: from t251.emailgreens.com (t251.emailgreens.com [121.127.231.251]) by cuda.sgi.com with ESMTP id puYZ8YWcSrAMkZLs for ; Tue, 07 Oct 2014 00:00:48 -0700 (PDT) X-Barracuda-Envelope-From: deliver05@t251.emailgreens.com X-Barracuda-Apparent-Source-IP: 121.127.231.251 DKIM-Signature: v=1; a=rsa-sha1; bh=Zukb6ROGz03t+1103fp97EizBgk=; c=relaxed/relaxed; d=t251.emailgreens.com; s=emailgreens; h=DomainKey-Signature:MIME-Version:From:To:Reply-To:Subject:Message-ID:Sender:List-Unsubscribe:Content-Type; b=VeVrrOtm3hGs0jbN4VQOCxlhcbfvd5XyGsapLpRdQf98fFv2yPYNVRBVQb6NdaLJVQJfQxa+0R6bdrf2dK6xuSouE7t/PHgXlZTG+yrNgWSpzcO4yYCmBEroQ4TlAnfzXoEDJhqWqCfvlUEOgUo3MekZCrSz3IwsAuw/ZqQVb5Y= DomainKey-Signature: q=dns; a=rsa-sha1; c=simple; d=t251.emailgreens.com; s=emailgreens; h=MIME-Version:From:To:Reply-To:Subject:Message-ID:x-troieriont-people:Sender:x-troieriont-werti:x-troieriont-account:x-troieriont-campaign:List-Unsubscribe:Content-Type; b=Lx4tY098r6eO0ATO3BKPp3rpXTlAmGxP/5eB88ZUwxeaRRWxeVKnmfSoKzDWm1COAAGaNaJXSgjRfk8BCFQHQ/RxJ7UXaj/qC6Tde+KtLCoU9YwuQlDiOTu0Zb3rw8VGirgf1FOlZhBvNrFzc3N2CJQkbTF25XcFkq1Dd1MVZgU= MIME-Version: 1.0 From: "Suntech" To: xfs@oss.sgi.com Reply-To: genry@suntech-electro.com Subject: Re: Printed Circuit Board/Assembly/EMS Message-ID: X-ASG-Orig-Subj: Re: Printed Circuit Board/Assembly/EMS x-troieriont-people: 57980UI443326QW8423XTP Sender: deliver05@t251.emailgreens.com x-troieriont-werti: EGGE8065KK@53c1777fdd4449c2a59cd6dcb7cdc578 x-troieriont-account: 0n54F2038425595D65W1045S678XTA x-troieriont-campaign: 4563o1830a661f14000058Q26XTC List-Unsubscribe: http://jwyh9c.com/checkingservice/email-optout.jhtml/c-34ghjjla-i-LP8gWTHpAZAI4APo4Q0wXKGej0J4CHjpKXveDMsIzMePQEJ5ireqFNcPMsPbp0N9Q321Oa-----2fml9Q-----3d Date: Tue, 7 Oct 2014 15:00:31 +0800 Content-Type: multipart/alternative; boundary="----=_NextPart_000_34DD_116E9A33.534A3EB9" X-Barracuda-Connect: t251.emailgreens.com[121.127.231.251] X-Barracuda-Start-Time: 1412665248 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.80 X-Barracuda-Spam-Status: No, SCORE=0.80 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=ADVANCE_FEE_1, BSF_SC7_SA_HREF_WWW_MISMATCH, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10288 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.80 BSF_SC7_SA_HREF_WWW_MISMATCH BODY: Custom Phishing Mismatch -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.00 ADVANCE_FEE_1 Appears to be advance fee fraud (Nigerian 419) ------=_NextPart_000_34DD_116E9A33.534A3EB9 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 ICANCkRlYXIgU2lyL01zLA0KIA0KIA0KV2lzaCBteSBlbWFpbCBhbHdheXMgYnJpbmcgZ29vZCBs dWNrIGFuZCB0cnVzdCBvdXIgY29tcGFueSB3aWxsIHByb3ZpZGUgY29zdCBzYXZpbmcgUENCIHNv bHV0aW9ucyB0byB5b3UuDQogDQpTdW50ZWNoIGlzIElTTzkwMDEgY2VydGlmaWVkLCBVTCBhbmQg Uk9TSCBhcHByb3ZlZCBjb21wYW55LiANCg0KV2Ugc3BlY2lhbGl6ZSBpbiBtdWx0aWxheWVyIFBD QiAoMi0zMGxheWVycykgZnJvbSBwcm90b3R5cGUgdG8gbWFzcyBwcm9kdWN0aW9uLCBpbmNsdWRp bmcgQWx1bWludW0gUENCLCBibGluZC9idXJpZWQgdmlhIGFuZCBIREkgYW5kIGhlYXZ5IGNvcHBl ciBQQ0IuDQogDQpXZSBoYXZlIGFkdmFuY2VkIGhpZ2ggc3BlZWQgU01UIG1hY2hpbmUsIG11bHRp ZnVuY3Rpb25hbCBTTVQgbWFjaGluZSwgMTIgd2V0IEhBTCBsZWFkIGZyZWUgaG90IGFpciByZWZs b3cgbWFjaGluZSwgSUNUIHRlc3RpbmcgbWFjaGluZSBldGMgZmFjaWxpdGllcywgd2UgZW5zdXJl IG91ciBjdXN0b21lcnMgaGlnaCBxdWFsaXR5LCBzcGVlZHkgU01UIHNhbXBsZSwgcHJvdG90eXBl IGFuZCBtZWRpdW0gYmF0Y2ggcXVhbnRpdHkgc2VydmljZXMuDQogDQpGb2xsb3dpbmcgaXMgb3Vy IG1hc3MgcHJvZHVjdGlvbiBwcmljZSBvZiBiYXJlIFBDQiB5b3VyIHJlZmVyZW5jZToNCiANClN0 YW5kYXJkIEZSNCwgMS42bW0gdGhpY2tuZXNzLCAxLzEgb3ogZmluaXNoZWQgY29wcGVyLCBIQUwN ClNpemU6IDEwMCB4IDEwMG1tDQogDQpGb3IgMkwgUENCKG1hc3MgcHJvZHV0aW9uKSBVbml0IHBy aWNlOiAwLjc1IFVTRCBwZXIgcGNzIA0KDQpGb3IgNEwgUENCKG1hc3MgcHJvZHV0aW9uKSBVbml0 IHByaWNlOiAxLjIgVVNEIHBlciBwY3MNCg0KRm9yIDZMIFBDQiAobWFzcyBwcm9kdXRpb24pIFVu aXQgcHJpY2U6IDEuOCBVU0QgcGVyIHBjcw0KIA0KQW5kIGVzcGVjaWFsbHksd2Ugc3VwcG9ydCBo aWdoLW1peCBtdWx0aWxheWVyIFBDQiB0byByZWR1Y2UgeW91ciBjb3N0LiBGb3Igbm9ybWFsIHRl Y2huaWNzLCB0d28gb3IgdGhyZWUgZGVzaWducyBpbiBvbmUgcGFuZWwgd2l0aG91dCBleHRyYSBj b3N0Lg0KUGxlYXNlIGRvIG5vdCBoZXNpdGF0ZSB0byBzZW5kIHVzIGlucXVpcnkgZm9yIHlvdXIg UENCIG5lZWRzLCB3ZSBhbHdheXMgc3VwcG9ydCB5b3Ugd2l0aCBjb3N0LXNhdmluZyBzb2x1dGlv bnMuDQpMb29rIGZvcndhcmQgdG8geW91ciB2YWx1YWJsZSBjb21tZW50cyBzaG9ydGx5Lg0KIA0K S2luZCBSZWdhcmRzDQpHZW5yeSBMZWUNCiANClN1bnRlY2ggRWxlY3Ryb25pY3MgVGVjaG5vbG9n eSBMdGQNCkE4MTMsIEZhbW91cyBJbmR1c3RyaWFsIFByb2R1Y3RzIFByb2N1cmVtZW50IENlbnRl ciwgQmFveXVhbiBSZC4sDQpYaXhpYW5nIFN0LiwgQmFvJ2FuIERpc3RyaWN0LCBTaGVuemhlbiwN Ckd1YW5nZG9uZywgQ2hpbmENClRlbDogODYtNzU1IDIxNjM3MTI2DQpGYXg6IDg2LTc1NSAyMTYz NzEzNg0KZ2VucnlAc3VudGVjaC1lbGVjdHJvLmNvbQ0Kd3d3LnN1bnRlY2gtZWxlY3Ryby5jb20N CiANClAgUGxlYXNlIGNvbnNpZGVyIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgcHJpbnRpbmcgdGhp cyBlbWFpbC4uLg0KR28gUGFwZXJsZXNzLi4uLiAgUmVjeWNsZSwgUmV1c2UsIFJlZHVjZSwgUmVm dXNlDQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSWYgeW91IGRvbid0IHdhbnQgdG8gcmVj ZWl2ZSB0aGVzZSBFbWFpbHMsIHBsZWFzZSB2aXNpdCB0aGUgZm9sbG93aW5nIGxpbmsgdG8gdW5z dWJzY3JpYmU6IApodHRwOi8vand5aDljLmNvbS9jaGVja2luZ3NlcnZpY2UvZW1haWwtb3B0b3V0 LmpodG1sL2MtMzRnaGpqbGEtaS1MUDhnV1RIcEFaQUk0QVBvNFEwd1hLR2VqMEo0Q0hqcEtYdmVE TXNJek1lUFFFSjVpcmVxRk5jUE1zUGJwME45UTMyMU9hLS0tLS0yZm1sOVEtLS0tLTNk ------=_NextPart_000_34DD_116E9A33.534A3EB9 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PHRhYmxlIGNsYXNzPSJ0YkVtYWlsX01haW4iIGFsaWduPSJjZW50ZXIiIGNlbGxwYWRkaW5nPSIw IiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4KCTwhLS1Db21tMTAwLUVtYWlsVW5zdWJBbmRT cGFtUmVwb3J0QmxvY2stQmVnaW4tLT4KCTx0cj4KCQk8dGQ+CgkJCTx0YWJsZSBjbGFzcz0idGJF bWFpbF9CdXR0b24iIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIiB3 aWR0aD0iMTAwJSI+CgkJCQk8dHI+CgkJCQkJPHRkIGNsYXNzPSJ0ZEVtYWlsX0J1dHRvbl9MZWZ0 IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctYm90dG9tOjEwcHg7cGFkZGluZy10b3A6 NXB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctbGVmdDoxNXB4OyI+CgkJCQkJCTxhIGhyZWY9Imh0 dHA6Ly9qd3loOWMuY29tL2NoZWNraW5nc2VydmljZS9lbWFpbC1vcHRvdXQuamh0bWwvYy0zNGdo ampsYS1pLUxQOGdXVEhwQVpBSTRBUG80UTB3WEtHZWowSjRDSGpwS1h2ZURNc0l6TWVQUUVKNWly ZXFGTmNQTXNQYnAwTjlRMzIxT2EtLS0tLTJmbWw5US0tLS0tM2QiIHRhcmdldD0iX2JsYW5rIiB0 aXRsZT0iQ2xpY2sgaGVyZSB0byB1bnN1YnNjcmliZSIgc3R5bGU9ImNvbG9yOiM0NDQ0NDQ7Zm9u dC1mYW1pbHk65b6u6L2v6ZuF6buRLOWui+S9kyxUYWhvbWEsR2VuZXZhLHNhbnMtc2VyaWY7Zm9u dC1zaXplOjEycHg7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2JvcmRlcjpzb2xpZDtib3JkZXIt d2lkdGg6MXB4O2JvcmRlci1jb2xvcjojY2RjZGNkO3RleHQtZGVjb3JhdGlvbjpub25lO3BhZGRp bmctdG9wOjJweDtwYWRkaW5nLWJvdHRvbToycHg7Ij48c3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtDbGljayBoZXJlIHRvIHVuc3Vic2NyaWJlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7PC9zcGFuPjwvYT4KCQkJCQk8L3RkPgoJCQkJCTx0ZCBjbGFzcz0idGRFbWFpbF9C dXR0b25fUmlnaHQiIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0O3BhZGRpbmctYm90dG9tOjEwcHg7 cGFkZGluZy10b3A6NXB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctcmlnaHQ6MTVweDsiPgoJCQkJ CQk8YSBocmVmPSJodHRwOi8vand5aDljLmNvbS9jaGVja2luZ3NlcnZpY2UvZW1haWwtY29tcGxh aW4uamh0bWwvYy10OTNnamwtaS1MUDhnV1RIcEFaQUk0QVBvNFEwd1hLR2VqMEo0Q0hqcEtYdmVE TXNJek1lUFFFSjVpcmVxRk5jUE1zUGJwME45UTMyMU9hLS0tLS0yZm1sOVEtLS0tLTNkIiB0YXJn ZXQ9Il9ibGFuayIgdGl0bGU9IlJlcG9ydCBTcGFtIiBzdHlsZT0iY29sb3I6IzQ0NDQ0NDtmb250 LWZhbWlseTrlvq7ova/pm4Xpu5Es5a6L5L2TLFRhaG9tYSxHZW5ldmEsc2Fucy1zZXJpZjtmb250 LXNpemU6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7Ym9yZGVyOnNvbGlkO2JvcmRlci13 aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOiNjZGNkY2Q7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGlu Zy10b3A6MnB4O3BhZGRpbmctYm90dG9tOjJweDsiPjxzcGFuPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO1JlcG9ydCBTcGFtJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFu PjwvYT4KCQkJCQk8L3RkPgoJCQkJPC90cj4KCQkJPC90YWJsZT4KCQk8L3RkPgoJPC90cj4KCTwh LS1Db21tMTAwLUVtYWlsVW5zdWJBbmRTcGFtUmVwb3J0QmxvY2stRW5kLS0+Cgk8dHI+CgkJPHRk PgoJCQk8dGFibGUgY2xhc3M9InRiRW1haWxfQnV0dG9uIiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjAiIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiPgoJCQkJPHRyPgoJCQkJCTx0ZCBjYWxz cz0idGRFbWFpbF9Db250ZW50IiBzdHlsZT0icGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdo dDoxMHB4O3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt0ZXh0LWFsaWduOmxl ZnQ7Ij4KCQkJCQkJJm5ic3A7PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsgYmFja2dy b3VuZC1jb2xvcjogI2Y4ZjhmODsgY29sb3I6ICMzMzMzMzM7IGZvbnQtc2l6ZTogc21hbGw7Ij4m bmJzcDs8L3NwYW4+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsiPjxkaXYg Y2xhc3M9Il9fYWxpeXVuX3ByZXZpb3VzX3F1b3RlIj48ZGl2IGNsYXNzPSJfX2FsaXl1bl9lbWFp bF9ib2R5X2Jsb2NrIj48ZGl2IGNsYXNzPSJfX2FsaXl1bl9wcmV2aW91c19xdW90ZSI+PGRpdiBj bGFzcz0iX19hbGl5dW5fZW1haWxfYm9keV9ibG9jayI+PGRpdiBjbGFzcz0iX19hbGl5dW5fcHJl dmlvdXNfcXVvdGUiPjxkaXYgY2xhc3M9IkZveERpdjIwMTIwNTMxMTYxNzQ4OTg0Mjc5Ij48ZGl2 IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWw7 IGZvbnQtc2l6ZTogc21hbGw7Ij5EZWFyIFNpci9Ncyw8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Y29sb3I6ICMzMzMzMzM7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNp emU6IHNtYWxsOyI+Jm5ic3A7PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMz OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiBzbWFsbDsiPiZu YnNwOzwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogc21hbGw7Ij5XaXNoIG15IGVtYWlsIGFs d2F5cyBicmluZyBnb29kIGx1Y2sgYW5kIHRydXN0IG91ciBjb21wYW55IHdpbGwgcHJvdmlkZSBj b3N0IHNhdmluZyBQQ0Igc29sdXRpb25zIHRvIHlvdS48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0i Y29sb3I6ICMzMzMzMzM7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNp emU6IHNtYWxsOyI+Jm5ic3A7PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMz OyI+PGZvbnQgY29sb3I9IiMzMzMzMzMiIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5TdW50ZWNoIGlz IElTTzkwMDEgY2VydGlmaWVkLCBVTCBhbmQgUk9TSCBhcHByb3ZlZCBjb21wYW55LjwvZm9udD48 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IHNtYWxsOyI+Jm5ic3A7 PC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiBzbWFsbDsiPldlIHNw ZWNpYWxpemUgaW4gbXVsdGlsYXllciBQQ0IgKDItMzBsYXllcnMpIGZyb20gcHJvdG90eXBlIHRv IG1hc3MgcHJvZHVjdGlvbiwgaW5jbHVkaW5nIEFsdW1pbnVtIFBDQiwgYmxpbmQvYnVyaWVkIHZp YSBhbmQgSERJIGFuZCBoZWF2eSBjb3BwZXIgUENCLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJj b2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6 ZTogc21hbGw7Ij4mbmJzcDs8L3NwYW4+PC9kaXY+PGRpdj48Zm9udCBjb2xvcj0iIzMzMzMzMyIg ZmFjZT0iQXJpYWwiIHNpemU9IjIiPldlIGhhdmUgYWR2YW5jZWQgaGlnaCBzcGVlZCBTTVQgbWFj aGluZSwgbXVsdGlmdW5jdGlvbmFsIFNNVCBtYWNoaW5lLCAxMiB3ZXQgSEFMIGxlYWQgZnJlZSBo b3QgYWlyIHJlZmxvdyBtYWNoaW5lLCBJQ1QgdGVzdGluZyBtYWNoaW5lIGV0YyBmYWNpbGl0aWVz LCB3ZSBlbnN1cmUgb3VyIGN1c3RvbWVyczwvZm9udD48Zm9udCBmYWNlPSJBcmlhbCIgc2l6ZT0i MiIgY29sb3I9IiMwMDAwZmYiPiZuYnNwO2hpZ2ggcXVhbGl0eSwgc3BlZWR5IFNNVCBzYW1wbGUs IHByb3RvdHlwZSBhbmQgbWVkaXVtIGJhdGNoIHF1YW50aXR5IHNlcnZpY2VzPC9mb250Pjxmb250 IGNvbG9yPSIjMzMzMzMzIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+LjwvZm9udD48L2Rpdj48ZGl2 IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyI+ PGZvbnQgZmFjZT0iQXJpYWwiPjxiPiZuYnNwOzwvYj48L2ZvbnQ+PC9zcGFuPjwvZGl2PjxkaXYg c3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogc21hbGw7Ij48 Zm9udCBmYWNlPSJBcmlhbCI+Rm9sbG93aW5nIGlzIG91ciBtYXNzIHByb2R1Y3Rpb24gcHJpY2Ug b2YgYmFyZSBQQ0IgeW91ciByZWZlcmVuY2U6PC9mb250Pjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IHNtYWxsOyI+PGZvbnQg ZmFjZT0iQXJpYWwiPiZuYnNwOzwvZm9udD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6 ICMzMzMzMzM7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IG1l ZGl1bTsgY29sb3I6ICMwMDAwZmY7Ij5TdGFuZGFyZCBGUjQsIDEuNm1tIHRoaWNrbmVzcywgMS8x IG96IGZpbmlzaGVkIGNvcHBlciwgSEFMPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAj MzMzMzMzOyI+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMGZmOyI+PGZvbnQgZmFjZT0iQXJpYWwi IHNpemU9IjMiPlNpemU6IDEwMCB4IDEwMG1tPC9mb250Pjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjxmb250IGZh Y2U9IkFyaWFsIiBzaXplPSIzIj4mbmJzcDs8L2ZvbnQ+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 ImNvbG9yOiAjMzMzMzMzOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1z aXplOiBtZWRpdW07Ij5Gb3ImbmJzcDs8L3NwYW4+PGIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh bDsgZm9udC1zaXplOiBtZWRpdW07Ij4yTDwvYj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEFy aWFsOyBmb250LXNpemU6IG1lZGl1bTsiPiZuYnNwO1BDQihtYXNzIHByb2R1dGlvbikmbmJzcDs8 L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiBtZWRpdW07 IGNvbG9yOiAjMDAwMGZmOyI+VW5pdCBwcmljZTogMC43NSBVU0QgcGVyIHBjczwvc3Bhbj48c3Bh biBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsiPjxmb250IGZhY2U9IkFyaWFsIj4mbmJzcDs8L2Zv bnQ+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PGZvbnQgZmFjZT0i QXJpYWwiIHNpemU9IjMiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6ICMzMzMz MzM7Ij48Zm9udCBmYWNlPSJBcmlhbCIgc2l6ZT0iMyI+Rm9yJm5ic3A7PGI+NEw8L2I+Jm5ic3A7 UENCKG1hc3MgcHJvZHV0aW9uKSZuYnNwOzwvZm9udD48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAw ZmY7IGZvbnQtZmFtaWx5OiBBcmlhbDsgZm9udC1zaXplOiBtZWRpdW07Ij5Vbml0IHByaWNlOiAx LjIgVVNEIHBlciBwY3M8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6ICMzMzMzMzM7Ij48 c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij48Zm9udCBmYWNlPSJBcmlhbCIgc2l6ZT0iMyI+ PGJyPjwvZm9udD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6ICMzMzMzMzM7Ij48Zm9u dCBmYWNlPSJBcmlhbCIgc2l6ZT0iMyI+PC9mb250PjxkaXY+PGZvbnQgZmFjZT0iQXJpYWwiIHNp emU9IjMiPkZvciZuYnNwOzxiPjZMPC9iPiZuYnNwO1BDQiZuYnNwOzwvZm9udD48c3BhbiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IG1lZGl1bTsiPihtYXNzIHByb2R1dGlv bikmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMGZmOyBmb250LWZhbWlseTog QXJpYWw7IGZvbnQtc2l6ZTogbWVkaXVtOyI+VW5pdCBwcmljZTogMS44IFVTRCBwZXIgcGNzPC9z cGFuPjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTogc21hbGw7Ij48Zm9udCBmYWNlPSJBcmlhbCI+Jm5ic3A7PC9mb250Pjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPjxzcGFuIHN0eWxlPSJmb250LXNp emU6IHNtYWxsOyI+PGZvbnQgZmFjZT0iQXJpYWwiPkFuZCBlc3BlY2lhbGx5LHdlIHN1cHBvcnQg aGlnaC1taXggbXVsdGlsYXllciBQQ0IgdG8gcmVkdWNlIHlvdXIgY29zdC4gRm9yIG5vcm1hbCB0 ZWNobmljcyw8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij4mbmJzcDt0d28gb3IgdGhyZWUg ZGVzaWducyBpbiBvbmUgcGFuZWwgd2l0aG91dCBleHRyYSBjb3N0Ljwvc3Bhbj48L2ZvbnQ+PC9z cGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PGRpdj48ZGl2PjxzcGFuIHN0 eWxlPSJmb250LXNpemU6IHNtYWxsOyI+PGZvbnQgZmFjZT0iQXJpYWwiPlBsZWFzZSBkbyBub3Qg aGVzaXRhdGUgdG8gc2VuZCB1cyBpbnF1aXJ5IGZvciB5b3VyIFBDQiBuZWVkcywgd2UgYWx3YXlz IHN1cHBvcnQgeW91IHdpdGggY29zdC1zYXZpbmcgc29sdXRpb25zLjwvZm9udD48L3NwYW4+PC9k aXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsiPjxmb250IGZhY2U9IkFyaWFs Ij5Mb29rIGZvcndhcmQgdG8geW91ciB2YWx1YWJsZSBjb21tZW50cyBzaG9ydGx5LjwvZm9udD48 L3NwYW4+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJBcmlhbCI+Jm5ic3A7PC9mb250PjwvZGl2Pjwv ZGl2Pjxmb250IGZhY2U9IkFyaWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiBzbWFsbDsiPjwv c3Bhbj48L2ZvbnQ+PC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPjxmb250 IGZhY2U9IkFyaWFsIiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+S2luZCBSZWdhcmRzPC9mb250 PjwvZGl2PjxkaXY+PGRpdiBzdHlsZT0iY29sb3I6ICMzMzMzMzM7Ij48Zm9udCBzdHlsZT0iZm9u dC1zaXplOiAxMHB0OyI+PGZvbnQgZmFjZT0iQXJpYWwiPkdlbnJ5IExlZTwvZm9udD48YnI+PC9m b250PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyBmb250LWZhbWlseTogQXJpYWw7 IGZvbnQtc2l6ZTogMTAuNXB0OyI+PGZvbnQgc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyI+PC9m b250PiZuYnNwOzwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PGZvbnQgY29sb3I9 IiMwMDgwMDAiIGZhY2U9IkFyaWFsIj48ZW0+PHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAxMnB0 OyI+U3VudGVjaCBFbGVjdHJvbmljcyBUZWNobm9sb2d5IEx0ZDwvc3Ryb25nPjwvZW0+PC9mb250 PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQXJpYWwiIHNpemU9IjIiPkE4MTMsIEZhbW91cyBJbmR1 c3RyaWFsIFByb2R1Y3RzIFByb2N1cmVtZW50IENlbnRlciwgQmFveXVhbiBSZC4sIDwvZm9udD48 L2Rpdj48ZGl2Pjxmb250IGZhY2U9IkFyaWFsIiBzaXplPSIyIj5YaXhpYW5nIFN0LiwgQmFvJ2Fu IERpc3RyaWN0LCBTaGVuemhlbiwgPC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQXJpYWwi IHNpemU9IjIiPkd1YW5nZG9uZywgQ2hpbmE8L2ZvbnQ+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6 ICMzMzMzMzM7Ij48Zm9udCBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEw cHQ7Ij5UZWw6IDg2LTc1NSAyMTYzNzEyNjxicj5GYXg6IDg2LTc1NSAyMTYzNzEzNjxicj48L2Zv bnQ+PGEgaHJlZj0ibWFpbHRvOmdlbnJ5QHN1bnRlY2gtZWxlY3Ryby5jb20iPjxmb250IGNvbG9y PSIjMDAwMGZmIiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6IDEwcHQ7Ij5n ZW5yeUBzdW50ZWNoLWVsZWN0cm8uY29tPC9mb250PjwvYT48YnI+PGEgaHJlZj0iaHR0cDovL2p3 eWg5Yy5jb20vY2hlY2tpbmdzZXJ2aWNlL2VtYWlsLXJlZGlyZWN0LmpodG1sL2dlLTUxNS1mcWdx M2ctaS12NlNYb01MZjZlYkVnNFhYdW5yNGhDdWdxOHJDMkhmLS0tLS0yZmFOQUlsOVN2YmJsMlEz SWl1c0xBVkEtLS0tLTNkLS0tLS0zZCI+PGZvbnQgY29sb3I9IiMwMDAwZmYiIHN0eWxlPSJmb250 LWZhbWlseTogQXJpYWw7IGZvbnQtc2l6ZTogMTBwdDsiPnd3dy5zdW50ZWNoLWVsZWN0cm8uY29t PC9mb250PjwvYT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogIzMzMzMzMzsiPiZuYnNwOzwvZGl2 PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMzMzMzOyI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJm b250LWZhbWlseTogV2ViZGluZ3M7IGNvbG9yOiAjMDA3ZjAwOyBmb250LXNpemU6IDE4cHQ7Ij5Q PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iY29sb3I6ICMxZjQ5N2Q7Ij4mbmJzcDs8 L3NwYW4+PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnQXJpYWwgQmxhY2snOyBjb2xv cjogZ3JlZW47IGZvbnQtc2l6ZTogNi41cHQ7Ij5QbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25t ZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGVtYWlsLi4uPC9zcGFuPjwvaT48L2I+PHNwYW4gc3R5 bGU9ImNvbG9yOiAjMWY0OTdkOyI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiAjMzMz MzMzOyI+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi10b3A6IDBweDsgbWFyZ2lu LWJvdHRvbTogMTJwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0FyaWFsIEJsYWNr JzsgY29sb3I6IG5hdnk7IGZvbnQtc2l6ZTogOHB0OyI+R28gUGFwZXJsZXNzPGk+Li4uLiZuYnNw OyZuYnNwOzwvaT48L3NwYW4+PC9iPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0FyaWFs IEJsYWNrJzsgY29sb3I6IGdyZWVuOyBmb250LXNpemU6IDhwdDsiPlJlY3ljbGUsIFJldXNlLCBS ZWR1Y2UsIFJlZnVzZTwvc3Bhbj48L2I+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgoJCQkJCTwvdGQ+CgkJCQk8L3RyPgoJCQkJ PCEtLUNvbW0xMDAtRW1haWxPcGVuQmxvY2stQmVnaW4tLT4KCQkJCTx0cj4KCQkJCQk8dGQgY2xh c3M9InRkRW1haWxfT3BlbiIgYWxpZ249ImxlZnQiPgoJCQkJCQk8aW1nIHNyYz0iaHR0cDovL2p3 eWg5Yy5jb20vY2hlY2tpbmdzZXJ2aWNlL2VtYWlsLXZpZXcvZGc0eWgtaDQ1aHNkL0VYMlByM2o5 LS0tLS0yZmhuUWJYYVU1YzduYnJIZ1ozZ04wc25jTDZhRWxLVC0tLS0tMmZxNzAtLS0tLTNkLmpw ZyIgIC8+CgkJCQkJPC90ZD4KCQkJCTwvdHI+CgkJCQk8IS0tQ29tbTEwMC1FbWFpbE9wZW5CbG9j ay1FbmQtLT4KCQkJPC90YWJsZT4KCQk8L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQ+CgkJCTx0YWJs ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUi PgoJCQkJPHRyPgoJCQkJCTx0ZD4KCQkJCQkJPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMCIgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSI+CgkJCQkJCQk8dHI+CgkJCQkJCQkJPHRk IGNsYXNzPSJ0ZEVtYWlsX0Zvb3RlciIgc3R5bGU9ImxpbmUtaGVpZ2h0OjE1MCU7cGFkZGluZy10 b3A6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4O2ZvbnQtZmFtaWx5 OuW+rui9r+mbhem7kSzlrovkvZMsVGFob21hLEdlbmV2YSxzYW5zLXNlcmlmO2NvbG9yOiM0NDQ0 NDQ7Zm9udC1zaXplOjEycHg7Ij4KCQkJCQkJCQkJSWYgeW91IGRvbid0IHdhbnQgdG8gcmVjZWl2 ZSB0aGVzZSBFbWFpbHMsIHBsZWFzZSBjbGljayA8YSBocmVmPSJodHRwOi8vand5aDljLmNvbS9j aGVja2luZ3NlcnZpY2UvZW1haWwtb3B0b3V0LmpodG1sL2MtMzRnaGpqbGEtaS1MUDhnV1RIcEFa QUk0QVBvNFEwd1hLR2VqMEo0Q0hqcEtYdmVETXNJek1lUFFFSjVpcmVxRk5jUE1zUGJwME45UTMy MU9hLS0tLS0yZm1sOVEtLS0tLTNkIiBzdHlsZT0iY29sb3I6IzBlMDc5ZTt0ZXh0LWRlY29yYXRp b246dW5kZXJsaW5lOyIgdGFyZ2V0PSJfYmxhbmsiPnVuc3Vic2NyaWJlPC9hPi48YnIvPgoJCQkJ CQkJCTwvdGQ+CgkJCQkJCQkJPC90cj4KCQkJCQkJPC90YWJsZT4KCQkJCQk8L3RkPgoJCQkJPC90 cj4KCQkJPC90YWJsZT4KCQk8L3RkPgoJPC90cj4KPC90YWJsZT4= ------=_NextPart_000_34DD_116E9A33.534A3EB9-- From eflorac@intellique.com Tue Oct 7 02:35: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 023B17F3F for ; Tue, 7 Oct 2014 02:35:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E5B3C304048 for ; Tue, 7 Oct 2014 00:35:25 -0700 (PDT) X-ASG-Debug-ID: 1412667323-04cbb073017da2d0001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id v0oMUTVXjKrf7GXq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 00:35:23 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from galadriel.home (unknown [82.235.234.79]) by smtp5-g21.free.fr (Postfix) with ESMTP id 51316D48056 for ; Tue, 7 Oct 2014 09:34:27 +0200 (CEST) Date: Tue, 7 Oct 2014 09:35:33 +0200 From: Emmanuel Florac To: xfs@oss.sgi.com Subject: Corrupted filesystem: thoughts? Message-ID: <20141007093533.66ba8c7b@galadriel.home> X-ASG-Orig-Subj: Corrupted filesystem: thoughts? Organization: Intellique X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1412667323 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.10288 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Here we go again: Adaptec RAID adapters don't play well with HGST 3TB drives for some reason. When a drive fails, the filesystem is almost always corrupted. This one looks pretty bad according to the output of the latest "xfs_repair -n" of the 15 TB filesystem. Here is a sample of the 2MB log: Phase 1 - find and verify superblock... - reporting progress in intervals of 15 minutes Phase 2 - using internal log - scan filesystem freespace and inode maps... out-of-order bno btree record 83 (332943 42) block 27/4681 out-of-order bno btree record 90 (322762 76) block 27/4681 out-of-order bno btree record 91 (331903 125) block 27/4681 out-of-order bno btree record 92 (334898 70) block 27/4681 out-of-order bno btree record 93 (335608 54) block 27/4681 out-of-order bno btree record 94 (335614 24) block 27/4681 out-of-order bno btree record 97 (338496 41) block 27/4681 out-of-order bno btree record 99 (339013 43) block 27/4681 out-of-order bno btree record 100 (339275 96) block 27/4681 out-of-order bno btree record 101 (339932 51) block 27/4681 out-of-order bno btree record 102 (339636 91) block 27/4681 out-of-order bno btree record 103 (338350 19) block 27/4681 out-of-order bno btree record 104 (339613 74) block 27/4681 block (27,339636-339636) multiply claimed by bno space tree, state - 1 out-of-order bno btree record 105 (339958 23) block 27/4681 out-of-order bno btree record 106 (340787 57) block 27/4681 out-of-order bno btree record 107 (340200 33) block 27/4681 out-of-order bno btree record 108 (340800 5) block 27/4681 invalid length 0 in record 109 of bno btree block 27/4681 out-of-order bno btree record 110 (340786 1) block 27/4681 out-of-order bno btree record 113 (345999 108) block 27/4681 out-of-order bno btree record 118 (347908 84) block 27/4681 block (27,347974-347974) multiply claimed by bno space tree, state - 1 block (27,154684-154684) multiply claimed by cnt space tree, state - 2 block (27,154824-154824) multiply claimed by cnt space tree, state - 2 block (27,164229-164229) multiply claimed by cnt space tree, state - 2 block (27,173600-173600) multiply claimed by cnt space tree, state - 2 block (27,169939-169939) multiply claimed by cnt space tree, state - 2 block (27,176207-176207) multiply claimed by cnt space tree, state - 2 block (27,9208427-9208427) multiply claimed by cnt space tree, state - 2 out-of-order cnt btree record 84 (100281231 51) block 27/201066 block (27,426944-426944) multiply claimed by cnt space tree, state - 2 block (27,605574-605574) multiply claimed by cnt space tree, state - 2 block (27,696437-696437) multiply claimed by cnt space tree, state - 2 block (27,696442-696442) multiply claimed by cnt space tree, state - 2 block (27,696452-696452) multiply claimed by cnt space tree, state - 2 data fork in ino 150375755252 claims free block 9398476839 data fork in ino 150375767332 claims free block 9398512515 data fork in ino 150375767340 claims free block 9398456218 data fork in ino 150375767362 claims free block 9401286695 data fork in ino 150375845358 claims free block 9407567857 data fork in ino 150375845377 claims free block 9398435669 data fork in ino 150376025165 claims free block 9404202405 data fork in ino 150376040962 claims free block 9401232272 data fork in ino 150376303186 claims free block 9398404549 data fork in ino 150376303188 claims free block 9398389564 data fork in ino 150376303189 claims free block 9398381926 data fork in ino 150376303194 claims free block 9398715665 data fork in ino 150376812226 claims free block 9398750726 data fork in ino 150376812272 claims free block 9398292419 data fork in ino 150376886626 claims free block 9401406274 data fork in ino 150376886648 claims free block 9401395026 data fork in ino 150377104159 claims free block 9401459056 data fork in ino 150377104269 claims free block 9401566594 data fork in ino 150377104269 claims free block 9401568444 data fork in ino 150377104296 claims free block 9401586022 - 09:14:00: process known inodes and inode discovery - 6496192 of 12523904 inodes done - process newly discovered inodes... - 09:14:00: process newly discovered inodes - 72 of 36 allocation groups done Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - 09:14:01: setting up duplicate extent list - 36 of 36 allocation groups done - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 4 - agno = 7 - agno = 6 - agno = 3 - agno = 5 entry "Final" in shortform directory 12884902016 references non-existent inode 115964649847 would have junked entry "Final" in directory inode 12884902016 would have corrected i8 count in directory 12884902016 from 8 to 7 entry "3D" in shortform directory 12884902017 references non-existent inode 115964347194 would have junked entry "3D" in directory inode 12884902017 would have corrected i8 count in directory 12884902017 from 5 to 4 entry "Passes" in shortform directory 21474836610 references non-existent inode 115964347193 would have junked entry "Passes" in directory inode 21474836610 would have corrected i8 count in directory 21474836610 from 5 to 4 entry "Wood_Box" at block 0 offset 48 in directory inode 8589952196 references non-existent inode 115964347511 would clear inode number in entry at offset 48... entry "Joke_Box" at block 0 offset 184 in directory inode 8589952196 references non-existent inode 115964347512 would clear inode number in entry at offset 184... would clear inode number in entry at offset 3224... entry "GRFGN_SQ024_SC0046A_Depth.0274.zt" at block 2 offset 256 in directory inode 115969713211 references non-existent inode 115969746775 would clear inode number in entry at offset 256... entry "roll_262" at block 1 offset 16 in directory inode 124557330219 references non-existent inode 115970916485 would clear inode number in entry at offset 16... entry "GRFGN_SQ024_SC0046A_Depth.0275.zt" at block 2 offset 304 in directory inode 115969713211 references non-existent inode 115969746776 would clear inode number in entry at offset 304... entry "roll_332" at block 1 offset 880 in directory inode 124557330219 references non-existent inode 115970916486 would clear inode number in entry at offset 880... entry "GRFGN_SQ024_SC0046A_Depth.0276.zt" at block 2 offset 352 in directory inode 115969713211 references non-existent inode 115969746777 would clear inode number in entry at offset 352... entry "roll_368" at block 1 offset 1744 in directory inode 124557330219 references non-existent inode 115970916487 would clear inode number in entry at offset 1744... entry "3D" in shortform directory 151166290308 references non-existent inode 120262842426 would have junked entry "3D" in directory inode 151166290308 would have corrected i8 count in directory 151166290308 from 5 to 4 entry "3D" in shortform directory 151166290322 references non-existent inode 120262535040 would have junked entry "3D" in directory inode 151166290322 would have corrected i8 count in directory 151166290322 from 5 to 4 entry ".." at block 0 offset 32 in directory inode 151219024506 references non-existent inode 120262254536 would clear inode number in entry at offset 32... - 09:14:02: check for inodes claiming duplicate blocks - 6496192 of 12523904 inodes done Inode allocation btrees are too corrupted, skipping phases 6 and 7 No modify flag set, skipping filesystem flush and exiting. xfs_info /dev/vg0/raid meta-data=/dev/mapper/vg0-raid isize=256 agcount=36, agsize=268435455 blks = sectsz=512 attr=2 data = bsize=4096 blocks=9505273856, imaxpct=5 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=521728, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 Kernel is a plain vanilla 3.2.54 amd64. As a precaution I've made a list of the whole filesystem with inode numbers to be able to rename lost files in norecovery mode... Unfortunately I cannot do a metadump because of lack of room elsewhere. -- ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From eflorac@intellique.com Tue Oct 7 02:59: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 A30CD7F3F for ; Tue, 7 Oct 2014 02:59:53 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 91E2C8F804C for ; Tue, 7 Oct 2014 00:59:53 -0700 (PDT) X-ASG-Debug-ID: 1412668787-04cb6c50e674c750001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id 5BMKXpNE0Dgy8gqB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 00:59:48 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from galadriel.home (unknown [82.235.234.79]) by smtp5-g21.free.fr (Postfix) with ESMTP id D4E3DD480B1 for ; Tue, 7 Oct 2014 09:58:43 +0200 (CEST) Date: Tue, 7 Oct 2014 09:59:49 +0200 From: Emmanuel Florac To: xfs@oss.sgi.com Subject: Re: Corrupted filesystem: thoughts? Message-ID: <20141007095949.2dce6d72@galadriel.home> X-ASG-Orig-Subj: Re: Corrupted filesystem: thoughts? In-Reply-To: <20141007093533.66ba8c7b@galadriel.home> References: <20141007093533.66ba8c7b@galadriel.home> Organization: Intellique X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1412668788 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.10289 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Tue, 7 Oct 2014 09:35:33 +0200 vous =C3=A9criviez: > Kernel is a plain vanilla 3.2.54 amd64. As a precaution I've made a > list of the whole filesystem with inode numbers to be able to rename > lost files in norecovery mode... Unfortunately I cannot do a metadump > because of lack of room elsewhere. At end of repair I've got loads of these: libxfs_writebufr: write verifer failed on bno 0x10000f348/0x1000 Metadata corruption detected at block 0x802b2a88/0x1000 libxfs_writebufr: write verifer failed on bno 0x802b2a88/0x1000 Metadata corruption detected at block 0x800e4420/0x1000 libxfs_writebufr: write verifer failed on bno 0x800e4420/0x1000 Metadata corruption detected at block 0x9075d8/0x1000 libxfs_writebufr: write verifer failed on bno 0x9075d8/0x1000 Metadata corruption detected at block 0x143390/0x1000 libxfs_writebufr: write verifer failed on bno 0x143390/0x1000 Metadata corruption detected at block 0x142160/0x1000 libxfs_writebufr: write verifer failed on bno 0x142160/0x1000 Metadata corruption detected at block 0x197400/0x1000 libxfs_writebufr: write verifer failed on bno 0x197400/0x1000 Metadata corruption detected at block 0x10fee0/0x1000 libxfs_writebufr: write verifer failed on bno 0x10fee0/0x1000 Metadata corruption detected at block 0x145d00/0x1000 libxfs_writebufr: write verifer failed on bno 0x145d00/0x1000 Metadata corruption detected at block 0x18e658/0x1000 libxfs_writebufr: write verifer failed on bno 0x18e658/0x1000 Metadata corruption detected at block 0x192d98/0x1000 libxfs_writebufr: write verifer failed on bno 0x192d98/0x1000 Metadata corruption detected at block 0x116668/0x1000 libxfs_writebufr: write verifer failed on bno 0x116668/0x1000 Metadata corruption detected at block 0xf9428/0x1000 libxfs_writebufr: write verifer failed on bno 0xf9428/0x1000 Metadata corruption detected at block 0x42698/0x1000 libxfs_writebufr: write verifer failed on bno 0x42698/0x1000 Metadata corruption detected at block 0x44db8/0x1000 libxfs_writebufr: write verifer failed on bno 0x44db8/0x1000 and 10538 files in lost+found... --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From robin.listas@gmail.com Tue Oct 7 04:26: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=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 2BC807F3F for ; Tue, 7 Oct 2014 04:26:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1A80D30404E for ; Tue, 7 Oct 2014 02:26:02 -0700 (PDT) X-ASG-Debug-ID: 1412673958-04cb6c50e574f2f0001-NocioJ Received: from mail-wg0-f51.google.com (mail-wg0-f51.google.com [74.125.82.51]) by cuda.sgi.com with ESMTP id O7yTRzldnsAvzkPc (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 07 Oct 2014 02:25:59 -0700 (PDT) X-Barracuda-Envelope-From: robin.listas@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.51 Received: by mail-wg0-f51.google.com with SMTP id b13so8751823wgh.22 for ; Tue, 07 Oct 2014 02:25:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=bti6TpPIQtgbtwviEqgWw0RprIlWbXt63eVrDCmLrdU=; b=RUML0yZM8rHN9wMS8h49yI54RcAPMXzvCl3xagjTYKMw5hu6GfRN29hIJC7cnb7qgI gmQg2+kwz9IoBfGk5IqfXQHGA/k20Ey+i9D/OeMXUrPXitCxZ3U20nLhoWEdCxzzOCAy 4jbHk7s6oOM9mnXu4Lbm6NfwLvP1bGKtEvre92gyDowjpoQ5d38T5INKVxCiOr7D8eDP Qcdb3B8KaXr56P2J+t4VCSoStUn07aovlXJdbfzr2fjZAl1VjX5njDumxmYdyARnYuBE J+vCYBxxA6DOo0CM9ygVpulvc2F9t29ed4UNmpBJGzWw9/qb0pvbxMBOngDUTKVKq1sM jUIA== X-Received: by 10.180.9.73 with SMTP id x9mr3005333wia.20.1412673958240; Tue, 07 Oct 2014 02:25:58 -0700 (PDT) Received: from Telcontar.valinor (177.Red-79-159-63.staticIP.rima-tde.net. [79.159.63.177]) by mx.google.com with ESMTPSA id l10sm13971971wif.20.2014.10.07.02.25.56 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Oct 2014 02:25:57 -0700 (PDT) Sender: Carlos Robinson Received: from localhost (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id 50B8161301 for ; Tue, 7 Oct 2014 11:25:54 +0200 (CEST) X-Virus-Scanned: amavisd-new at valinor Received: from Telcontar.valinor ([127.0.0.1]) by localhost (Telcontar.valinor [127.0.0.1]) (amavisd-new, port 10024) with LMTP id U2wBT7cGNg37 for ; Tue, 7 Oct 2014 11:25:54 +0200 (CEST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by Telcontar.valinor (Postfix) with ESMTP id 093D96112D for ; Tue, 7 Oct 2014 11:25:53 +0200 (CEST) Message-ID: <5433B1A1.90500@opensuse.org> Date: Tue, 07 Oct 2014 11:25:53 +0200 From: "Carlos E. R." User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 To: XFS mail list Subject: Re: Question about services References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> <20141006175243.GA4680@hades.localdomain> <54331346.7050005@telefonica.net> <20141007005826.GA30678@hades.localdomain> X-ASG-Orig-Subj: Re: Question about services In-Reply-To: <20141007005826.GA30678@hades.localdomain> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: mail-wg0-f51.google.com[74.125.82.51] X-Barracuda-Start-Time: 1412673959 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-BRTS-Evidence: spambouncer.org X-Barracuda-Spam-Score: 0.00 X-Barracuda-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.10291 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: SHA1 On 2014-10-07 02:58, Carlos Maiolino wrote: > Whatever, this got me, well written scam :) Absolutely :-) It fooled my spamassassin. And if he were not, he would have clarified by now. Someone that sends what looks like a business letter to an individual, by name, to a list mail address, showing that he doesn't know what that list is about, is suspect. He is either daft, or it was mass email, not really targeted. Searching on the "from" name, he is known as spammer: http://denvercodemonkey.com/blog/2013/12/spam-from-software-outsourcing-company-bairesdev/ http://mainsleaze.spambouncer.org/spam-from-software-outsourcing-company-bairesdev/ So that nails the coffin ;-) - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlQzsaAACgkQtTMYHG2NR9U4qACeJ7/WKIEQBDdl3Khd78HLifMm VeAAn1B/iVMs8AtQV4/WRZ0LIbAKjyJF =fOYv -----END PGP SIGNATURE----- From david@fromorbit.com Tue Oct 7 05: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 787BB7F3F for ; Tue, 7 Oct 2014 05:57:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0707CAC002 for ; Tue, 7 Oct 2014 03:57:33 -0700 (PDT) X-ASG-Debug-ID: 1412679448-04cb6c50e6752400001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id QmLWyePNtZBFrYze for ; Tue, 07 Oct 2014 03:57:29 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail05.adl6.internode.on.net with ESMTP; 07 Oct 2014 21:27:00 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbSRt-0002fZ-UT; Tue, 07 Oct 2014 21:56:57 +1100 Date: Tue, 7 Oct 2014 21:56:57 +1100 From: Dave Chinner To: Emmanuel Florac Cc: xfs@oss.sgi.com Subject: Re: Corrupted filesystem: thoughts? Message-ID: <20141007105657.GO2301@dastard> X-ASG-Orig-Subj: Re: Corrupted filesystem: thoughts? References: <20141007093533.66ba8c7b@galadriel.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141007093533.66ba8c7b@galadriel.home> 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: 1412679449 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.00 X-Barracuda-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.10293 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 07, 2014 at 09:35:33AM +0200, Emmanuel Florac wrote: > > Here we go again: Adaptec RAID adapters don't play well with HGST 3TB > drives for some reason. When a drive fails, the filesystem is almost > always corrupted. This one looks pretty bad according to the output of > the latest "xfs_repair -n" of the 15 TB filesystem. Here is a sample > of the 2MB log: Is the log clean? (use xfs_logprint -t to determine that) xfs_repair -n ignores dirty logs, so the state on disk it may be reporting on can be inconsistent and that inconsistency is "fixed" by running log recovery. > Phase 1 - find and verify superblock... > - reporting progress in intervals of 15 minutes > Phase 2 - using internal log > - scan filesystem freespace and inode maps... > out-of-order bno btree record 83 (332943 42) block 27/4681 > out-of-order bno btree record 90 (322762 76) block 27/4681 > out-of-order bno btree record 91 (331903 125) block 27/4681 That implies that some updates to the btree block haven't occurred that compact out the old entries (that are now out of order). That can either occur due to writes going missing, or log recovery not being run.... Most of the issues could be caused by having a dirty log that needs recovery, so that is the first thing to check. Note that a non-dry-run xfs_repair will warn and abort if the log is dirty, unlike "xfs_repair -n". Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Oct 7 05:59: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 73C987F3F for ; Tue, 7 Oct 2014 05:59:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 513768F8049 for ; Tue, 7 Oct 2014 03:59:37 -0700 (PDT) X-ASG-Debug-ID: 1412679574-04cbb073027e1400001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id HC65kLv9fKSuFzIV for ; Tue, 07 Oct 2014 03:59:35 -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: AjEkAJfGM1R5LDjwPGdsb2JhbABfgw6BK4IzhQexGwaVbIVmBAQCAoEQFwEGAQEBATg5hAQBAQQyASMjEAgDDgoJJQ8FJQMHGhOIPcFiGBiGCIokB4RLAQSdQZoAKS+CSgEBAQ Received: from ppp121-44-56-240.lns20.syd6.internode.on.net (HELO dastard) ([121.44.56.240]) by ipmail05.adl6.internode.on.net with ESMTP; 07 Oct 2014 21:29:33 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbSUP-0002fw-Dj; Tue, 07 Oct 2014 21:59:33 +1100 Date: Tue, 7 Oct 2014 21:59:33 +1100 From: Dave Chinner To: Emmanuel Florac Cc: xfs@oss.sgi.com Subject: Re: Corrupted filesystem: thoughts? Message-ID: <20141007105933.GP2301@dastard> X-ASG-Orig-Subj: Re: Corrupted filesystem: thoughts? References: <20141007093533.66ba8c7b@galadriel.home> <20141007095949.2dce6d72@galadriel.home> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20141007095949.2dce6d72@galadriel.home> 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: 1412679574 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.10293 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 07, 2014 at 09:59:49AM +0200, Emmanuel Florac wrote: > Le Tue, 7 Oct 2014 09:35:33 +0200 vous écriviez: > > > Kernel is a plain vanilla 3.2.54 amd64. As a precaution I've made a > > list of the whole filesystem with inode numbers to be able to rename > > lost files in norecovery mode... Unfortunately I cannot do a metadump > > because of lack of room elsewhere. > > At end of repair I've got loads of these: > > libxfs_writebufr: write verifer failed on bno 0x10000f348/0x1000 > Metadata corruption detected at block 0x802b2a88/0x1000 Upgrade to 3.2.1 as there were a bunch of fixes for issues that caused these messages in that release. Cheers, Dave. -- Dave Chinner david@fromorbit.com From eflorac@intellique.com Tue Oct 7 06:22: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id ABD687F3F for ; Tue, 7 Oct 2014 06:22:13 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8B9928F8049 for ; Tue, 7 Oct 2014 04:22:10 -0700 (PDT) X-ASG-Debug-ID: 1412680927-04bdf003a07e2610001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id vAj3MHSshEgiLzqx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 04:22:08 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id 40C94D48018; Tue, 7 Oct 2014 13:21:11 +0200 (CEST) Date: Tue, 7 Oct 2014 13:22:10 +0200 From: Emmanuel Florac To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: Corrupted filesystem: thoughts? Message-ID: <20141007132210.55b2183a@harpe.intellique.com> X-ASG-Orig-Subj: Re: Corrupted filesystem: thoughts? In-Reply-To: <20141007105657.GO2301@dastard> References: <20141007093533.66ba8c7b@galadriel.home> <20141007105657.GO2301@dastard> Organization: Intellique X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1412680928 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.10294 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Tue, 7 Oct 2014 21:56:57 +1100 Dave Chinner =C3=A9crivait: > Is the log clean? (use xfs_logprint -t to determine that) >=20 No, it wasn't, that was probably the source of most of the ominous messages. The many files in lost+found were probably deleted files In case this may help someone, before running xfs_repair I've mounted the volume in "ro,nonrecovery" mode, then ran this command to make a listing of files with their inodes:=20 find /mnt/raid/ -print0 | xargs --null ls -di | gzip - > FILELIST.gz Now I can reconnect manually most of the files in lost+found by searching for them in FILELIST. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From bounces+xfs=oss.sgi.com@dynect-mailer.net Tue Oct 7 09:43: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=4.5 required=5.0 tests=HTML_MESSAGE,MIME_HTML_ONLY, MPART_ALT_DIFF,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 5F7077F3F for ; Tue, 7 Oct 2014 09:43:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3F0ED304048 for ; Tue, 7 Oct 2014 07:43:21 -0700 (PDT) X-ASG-Debug-ID: 1412692993-04cb6c50e775d460001-NocioJ Received: from mtaout-62063-ewr.dynect.net (mtaout-62063-ewr.dynect.net [208.76.62.63]) by cuda.sgi.com with ESMTP id emnEnbd8IGBxh1LW (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 07:43:14 -0700 (PDT) X-Barracuda-Envelope-From: bounces+xfs=oss.sgi.com@dynect-mailer.net X-Barracuda-Apparent-Source-IP: 208.76.62.63 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=flipkartmail_com; d=flipkartmail.com; h=From:Reply-To:To:Message-ID:Subject:MIME-Version:Content-Type:Date:Sender:List-Unsubscribe; i=promotions@flipkartmail.com; bh=B96PJ8NrEkeeIGELHWZ56VkWGx8=; b=c4qrvbTRXQ5NH9FymE4fEHZ7+XlzC1yTZ+ZaNcP+biea2vHk2/dV41P1V3/sm5ZYI9edyDt6LjPI dwv+bb7VtrK+CDtf7pSNMrA1VigAzcG0nWlBbOZzXeprVMd06md9H6kVnJuuOrdz6QrgipyTOiYw r6M9441OCgK8QO6YEwM= DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; s=flipkartmail_com; d=flipkartmail.com; b=iqu3Don8v9WPCz/R6G1Q+d8zqVm/i5/flYOiwbn/svxEmVIupkyuxS0DaEao30PA2dX4WrB6WTJa CrJwb7py9ngGaHysup2vuZrKMXNApBL5+l/JRRqiJM6fCtG/UML5/u0Lqr0VUtymlExznphUbodS PFOHj3hdCNufeY00uTo=; From: "Flipkart.com" Reply-To: "Flipkart.com" To: "xfs@oss.sgi.com" X-DynectEmail-Msg-Key: 20141007144313.064BEB0687F5@mail6-05-ewr.dyndns.com Message-ID: <1911242542.118112.1412690201437.JavaMail.fk-w3-commsvc-bulk@w3-comm18> Subject: Apologies, from Flipkart MIME-Version: 1.0 X-ASG-Orig-Subj: Apologies, from Flipkart Content-Type: multipart/alternative; boundary="----=_Part_118081_1555553026.1412690199333" X-MID: 585412a246d7498f96fd8be8a9ed053a Date: Tue, 7 Oct 2014 13:56:40 +0000 (UTC) Sender: promotions@flipkartmail.com X-DynectEmail-Msg-Hash: vC56V7JaBiDffRcEo8BHMQHCnrceRCtlDAgPFP0BdRFrVdjl8b29m23TLYYhV+Dr/qmwuy93XjLoIbF869ONaVPdabFCGMGP X-DynectEmail-X-Headers: MHwxMDE1MzY2OjU4NTQxMmEyNDZkNzQ5OGY5NmZkOGJlOGE5ZWQwNTNhOw== X-Feedback-ID: RmthcnRWTVRBcw==:474582:252667:dyn06 List-Unsubscribe: , X-Barracuda-Connect: mtaout-62063-ewr.dynect.net[208.76.62.63] X-Barracuda-Start-Time: 1412692993 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.45 X-Barracuda-Spam-Status: No, SCORE=0.45 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085, BSF_SC5_SA161f, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, MIME_HTML_ONLY, MIME_HTML_ONLY_MULTI, MPART_ALT_DIFF X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10298 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 0.14 MPART_ALT_DIFF BODY: HTML and text parts are different 0.00 MIME_HTML_ONLY_MULTI Multipart message only has text/html MIME parts 0.20 BSF_SC5_SA161f Custom Rule SA161f 0.10 BSF_SC0_SA085 Custom Rule SA085 ------=_Part_118081_1555553026.1412690199333 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =09 =09=09 =09=09 =09=09 =09=09 =09=09Flipkart.com =09=09 =09 =09 =09=09 =09=09 =09=09 =09=09=09=09=09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09 =09=09
=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09
=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09regarding The Big Billion Day =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09Unsubscribe =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09
=09=09=09=09
=09=09 =09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09 =09=09
=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09
=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=093D"Flipkart.com" =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09
=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=093D"Download =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=093D"Flipkart =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09
=09=09=09=09
=09=09 =09=09 =09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09
=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09=09=09 =20 =09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09
=20 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09 =09=09
=09=09=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09=09=09
=09=09=09=09=09=09=09Dear Customer, =09=09=09=09=09=09=09

=09=09=09=09=09=09=09Yesterday was a big day for us. And we really wanted i= t to be a great day for you.=09=09=09=09=09=09 =09=09=09=09=09=09=09But at the end of the day, we know that your experienc= e was less than pleasant. =09=09=09=09=09=09=09 =09=09=09=09=09=09=09We did not live up to the promises we made and for tha= t we are really and truly sorry.=20

=09=09=09=09=09=09=09 =09=09=09=09=09=09=09It took enormous effort from everyone at Flipkart, man= y months of preparation and pushing our capabilities and systems to the lim= it to be able to create this day. We were looking at fulfilling the dreams = of millions of Indian consumers through deals and offers we had painstaking= ly put together for months. =09=09=09=09=09=09=09

=09=09=09=09=09=09=09And though we saw unprecedented interest in our produc= ts and traffic like never before, we also realized that we were not adequat= ely prepared for the sheer scale of the event. We didn't source enough prod= ucts and deals in advance to cater to your requirements. To add to this, th= e load on our server led to intermittent outages, further impacting your sh= opping experience on our site. =09=09=09=09=09=09=09

=09=09=09=09=09=09=09An unprecedented 1.5 million people shopped at Flipkar= t yesterday. While we stand humbled by the sheer faith that such a large nu= mber of customers have shown in us, we are unhappy that we were unable to l= ive up to the expectations of millions more who wanted to buy from us yeste= rday. =09=09=09=09=09=09=09

=09=09=09=09=09=09=09And this is not acceptable to us. =09=09=09=09=09=09=09

=09=09=09=09=09=09=09Delighting you, and every single one of our customers,= is absolutely the top most priority for Flipkart and we have worked very h= ard over the last seven years to earn your trust. Yesterday, we failed that= trust. We have learnt some valuable lessons from this and have started wor= king doubly hard to address all the issues that cropped up during this sale= .=20 =09=09=09=09=09=09=09

=09=09=09=09=09=09=09Price Changes =09=09=09=09=09=09=09As we were preparing various deals and promotional pri= cing in the lead up to the sale, the pricing of several products got ?chang= ed to their non-discounted rates for a few hours?. We realise that this bre= aks the trust our customers have put in us. We are truly sorry for this and= will ensure that this never happens again. =09=09=09=09=09=09=09

=09=09=09=09=09=09=09Out-of-stock Issues =09=09=09=09=09=09=09We ran out of the stock for many products within a few= minutes (and in some cases, seconds) of the sale going live. For example, = most of our special deals were sold out as soon as they went live. We had e= nsured availability, anywhere from hundreds to a few lakh units for various= products, but it was nowhere near the actual demand. We promise to plan mu= ch better for future promotions and ensure that we minimise the out-of-stoc= k issues. =09=09=09=09=09=09=09

=20 =09=09=09=09=09=09=09Cancellations =09=09=09=09=09=09=09We had large number of people buying specific products= simultaneously. This led to some instances of an order getting over-booked= for a product that was sold out just a few seconds ago. We are working rou= nd-the-clock to ensure availability of additional units for these products = and will do our level best to ensure that we minimise any cancellations. =09=09=09=09=09=09=09

=20 =09=09=09=09=09=09=09Website Issues ?We realise that the shopping experience for many of you was frustrating du= e to errors and unavailability of the website at times. We had deployed nea= rly 5000 servers and had prepared for 20 times the traffic growth - but the= volume of traffic at different times of the day was much higher than this.= We are continuing to significantly scale up all our back end systems so th= at we do a much, much better job next time. =09=09=09=09=09=09=09

=20 =09=09=09=09=09=09=09Everything that we have achieved at Flipkart is purely= on the basis of our customer's trust and faith. This is why we come to wor= k each day and continue to remain extremely passionate about building the b= est possible customer experience for Indian consumers. We failed to live up= to this promise yesterday and would like to apologise once again to every = single customer for our failure. =09=09=09=09=09=09=09

=20 =09=09=09=09=09=09=09Thank you. =09=09=09=09=09=09=09
=09=09=09=09=09=09=09Sachin and Binny =20 =09=09=09=09=09=09
=09=09=09=09=09
=09=09=09=09
=09=09
=A0
=09=09=09=09=09
=09=09=09=09=09=09=09
=09=09=09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09=09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09 =09=09
=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09 =09=09=09=09=09
=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09
=09=09=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09Contact Customer Care
=09=09=09=09=09=09=09You may set your communication preferences here =09=09=09=09=09=09
=09=09=09=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09We hope you enjoy receiving our news and special offer= emails from Flipkart.com, but if you would prefer not to receive these ema= ils please click unsubscribe =09=09=09=09=09=09 =09=09=09=09=09
=09=09=09=09=09 =09=09=09=09
=09=09 =093D"" ------=_Part_118081_1555553026.1412690199333-- From nate@houseofnate.net Tue Oct 7 11:56: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 0567E7F3F for ; Tue, 7 Oct 2014 11:56:10 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 89700AC00F for ; Tue, 7 Oct 2014 09:56:06 -0700 (PDT) X-ASG-Debug-ID: 1412700964-04cb6c7706000b0001-NocioJ Received: from smithers.houseofnate.net (smithers.houseofnate.net [66.175.213.200]) by cuda.sgi.com with ESMTP id KWExNHK4QEQiIZTn (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 09:56:05 -0700 (PDT) X-Barracuda-Envelope-From: nate@houseofnate.net X-Barracuda-Apparent-Source-IP: 66.175.213.200 Received: from localhost (localhost [127.0.0.1]) by smithers.houseofnate.net (Postfix) with ESMTP id 194CF2201CA for ; Tue, 7 Oct 2014 12:56:04 -0400 (EDT) Received: from smithers.houseofnate.net ([127.0.0.1]) by localhost (smithers.houseofnate.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e6lbkVv-QlV1 for ; Tue, 7 Oct 2014 12:56:03 -0400 (EDT) Received: from [172.20.110.49] (unknown [69.84.133.248]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: nturner) by smithers.houseofnate.net (Postfix) with ESMTPSA id A388821F8F1 for ; Tue, 7 Oct 2014 12:56:03 -0400 (EDT) Message-ID: <54341B23.8010708@houseofnate.net> Date: Tue, 07 Oct 2014 12:56:03 -0400 From: "Nathaniel W. Turner" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: Re: Question about services References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> <20141006175243.GA4680@hades.localdomain> <54331346.7050005@telefonica.net> <20141007005826.GA30678@hades.localdomain> <5433B1A1.90500@opensuse.org> X-ASG-Orig-Subj: Re: Question about services In-Reply-To: <5433B1A1.90500@opensuse.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: smithers.houseofnate.net[66.175.213.200] X-Barracuda-Start-Time: 1412700964 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.10301 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/07/2014 05:25 AM, Carlos E. R. wrote: > On 2014-10-07 02:58, Carlos Maiolino wrote: >> Whatever, this got me, well written scam :) > Absolutely :-) > It fooled my spamassassin. > Well, your spam filter was at a disadvantage here because the message came to you via the XFS mailing list, not directly from the spammer. By passing along the spam, the mailing list is adding some legitimacy to the message in the eyes of most spam filters. Speaking of spam, when are we going to move to a mailing list infrastructure that has functional spam filtering (and doesn't repost DSNs)? [grumpy cat image goes here] n From cmaiolino@redhat.com Tue Oct 7 12:42: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 3F0A47F3F for ; Tue, 7 Oct 2014 12:42:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1F07C30406A for ; Tue, 7 Oct 2014 10:42:44 -0700 (PDT) X-ASG-Debug-ID: 1412703759-04bdf0287702e60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id VX9JRpS13B5AjLd8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 10:42:40 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s97HgcE0010895 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 7 Oct 2014 13:42:39 -0400 Received: from hades.localdomain (ovpn-113-136.phx2.redhat.com [10.3.113.136]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s97HgZFj007954 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for ; Tue, 7 Oct 2014 13:42:37 -0400 Date: Tue, 7 Oct 2014 14:42:34 -0300 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: Re: Question about services Message-ID: <20141007174234.GA5971@hades.localdomain> X-ASG-Orig-Subj: Re: Question about services Mail-Followup-To: xfs@oss.sgi.com References: <7e633ff6302413da933e04671cd98cdc@bairesdev.com> <20141006175243.GA4680@hades.localdomain> <54331346.7050005@telefonica.net> <20141007005826.GA30678@hades.localdomain> <5433B1A1.90500@opensuse.org> <54341B23.8010708@houseofnate.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54341B23.8010708@houseofnate.net> 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: 1412703760 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 Tue, Oct 07, 2014 at 12:56:03PM -0400, Nathaniel W. Turner wrote: > On 10/07/2014 05:25 AM, Carlos E. R. wrote: > >On 2014-10-07 02:58, Carlos Maiolino wrote: > >>Whatever, this got me, well written scam :) > >Absolutely :-) > >It fooled my spamassassin. > > > > Well, your spam filter was at a disadvantage here because the message came > to you via the XFS mailing list, not directly from the spammer. By passing > along the spam, the mailing list is adding some legitimacy to the message in > the eyes of most spam filters. > > Speaking of spam, when are we going to move to a mailing list infrastructure > that has functional spam filtering (and doesn't repost DSNs)? > See my last thread regarding it. :) > [grumpy cat image goes here] > > n > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos From noticias@bacsa.e.telefonica.net Tue Oct 7 12:54: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=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 2B5927F3F for ; Tue, 7 Oct 2014 12:54:47 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0A5F48F8052 for ; Tue, 7 Oct 2014 10:54:43 -0700 (PDT) X-ASG-Debug-ID: 1412704479-04cb6c770703920001-NocioJ Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0057.outbound.protection.outlook.com [157.56.112.57]) by cuda.sgi.com with ESMTP id dDGV55tnaRvsUwJy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 10:54:39 -0700 (PDT) X-Barracuda-Envelope-From: noticias@bacsa.e.telefonica.net X-Barracuda-Apparent-Source-IP: 157.56.112.57 Received: from 71.Red-217-125-108.staticIP.rima-tde.net (217.125.108.71) by AMSPR07MB211.eurprd07.prod.outlook.com (10.242.82.152) with Microsoft SMTP Server (TLS) id 15.0.1044.10; Tue, 7 Oct 2014 17:54:26 +0000 MIME-Version: 1.0 From: bacsa Reply-To: To: Subject: =?utf-8?Q?B=C3=A1scula_modelo_IPS1?= Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_001_0865_69B07324.11BE7C43" X-ASG-Orig-Subj: =?utf-8?Q?B=C3=A1scula_modelo_IPS1?= X-Mailer: Smart_Send_3_1_6 Date: Tue, 7 Oct 2014 19:54:19 +0200 Message-ID: <406026246856174491736@comercial> X-Originating-IP: [217.125.108.71] X-ClientProxiedBy: DBXPR05CA0022.eurprd05.prod.outlook.com (10.255.178.22) To AMSPR07MB211.eurprd07.prod.outlook.com (10.242.82.152) X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:AMSPR07MB211; X-Forefront-PRVS: 035748864E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(199003)(189002)(479174003)(104166001)(76482002)(92726001)(93916002)(86152002)(99396003)(97736003)(120916001)(224303003)(20776003)(64706001)(122386002)(224313004)(15202345003)(105586002)(46102003)(21056001)(33716001)(101416001)(102836001)(80022003)(43066003)(29176004)(17760045003)(40100002)(42186005)(58226001)(62966002)(88136002)(85306004)(87976001)(87286001)(74482002)(15975445006)(85852003)(19618635001)(89996001)(110136001)(77096002)(66066001)(50986999)(19580395003)(2351001)(95666004)(53806999)(19627595001)(107886001)(71186001)(107046002)(18206015026)(77156001)(66926002)(19617315012)(84326002)(229853001)(106356001)(512874002)(50226001)(4396001)(89436002)(43062003)(73556002)(73566001)(79896001)(19627235001);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR07MB211;H:71.Red-217-125-108.staticIP.rima-tde.net;FPR:;MLV:sfv;PTR:InfoNoRecords;A:1;MX:1;LANG:es; X-OriginatorOrg: bacsa.es X-Barracuda-Connect: mail-am1on0057.outbound.protection.outlook.com[157.56.112.57] X-Barracuda-Start-Time: 1412704479 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.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.10302 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_0865_69B07324.11BE7C43 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable PROMOCION B=C3=81= SCULA IPS1 = = ------=_NextPart_001_0865_69B07324.11BE7C43 Content-Type: text/css; name="1.css" Content-Transfer-Encoding: base64 Content-ID: <8731852120-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_0865_69B07324.11BE7C43 Content-Type: image/gif; name="2.gif" Content-Transfer-Encoding: base64 Content-ID: <9526482681-2> R0lGODlh9AFrAPcAAAQCBHyCfERCRLzCvNxCRJyinPwCBNzi3NRiXOwiJMSChPyinMzSzMxybKyy rCQiJIySjOzy7GRiZOwyLNxSTPkSFPvCvPxiXKyqrPzSzPxybOTq5MySlDQyNJSWnOQ2PBQSFFRS VMTKxLS2vHRydPIaHLyGhPtCRLyipMxqZOwqLPyyrPb69NRaXNTa1MR6dPzi3PyCfIqKjKSqpPsK DLySlGtqbPxqZPva1Pw2PMzCvNhydCwqLPzKxMSqrOx+fDw6PBwaHOweJOyKhExKTNxKTLSinMxm bMyytPHy9Pzq5PySjLSanFxaXLq+vPsqLAwKDODi5ORmZPyqpM7S1LS6tPsyNPxSVPcWHKyurNzO zPwaHPxKTPy6tPxaXPcOFPyalISKhL3CxM9iZOwmLMtydKyytJSalGZmbOxiZPF2dJyenOI+PMrK zHx6fOBqbPf6/Nba3Pza3PyKjPzy9Ozi5NzW1IOChEtGTKSipPwiJComLJOSlNZSVPcWFPzCxLSm rLyOjOzOzLSalPw+PLy+xAwGDOQyNPzS1Obq7Dg2PBsWHFxWXPxGTOQuNPvi5IyOlGxudPtqbNDG xDIuNEE+RCMeJOSKjNxOVF5eZBQOFNxGTPwGDPyipHR2fLyKjMympMxsbPy0tORaXMR8fPyEhPx9 fExOVLSkpPzt7PyVlPytrPy9vPxeZPycnPxjZPx0dPzNzNw+RPzy7LSqpPweJMS+vKyutJyepGRm ZJuanLm6vO4eHPxGROcuLIyOjPYODLmWlGxubPs6PNR2dNtOTPT29PwuLOTm5M/W1Pw2NMPGxM1m ZMV2dLG2tMvOzPz+/Nze3Pve3ISGhKSmpJSWlNRWVPzW1Ozu7Pzm5PxubAQGBERGRNxGRPwGBOwm JMSGhCQmJDQ2NOQ6PBQWFFRWVHR2dLyKhLympNReXCwuLMSurDw+PBweHExOTLSenFxeXAwODPxW VPweHPxOTPxeXOxmZHx+fPyOjPz29PwmJPzGxLSqrOQ2NOSOjPympCH5BAAAAAAALAAAAAD0AWsA Bwj/AKEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo0eJcKCFHCmy5MeTKFOqXMmypcuX MGPKnEhyps2bOHPq3MmzJ0+SQE36HEq0qNGjSJPmrLkR24ZEG+JEk0p1arQ2z7BqzfqM61atIpaJ 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 ------=_NextPart_001_0865_69B07324.11BE7C43 Content-Type: image/jpeg; name="3.jpg" Content-Transfer-Encoding: base64 Content-ID: <1785049381-3> /9j/4AAQSkZJRgABAQEASABIAAD/4Q6WRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAbAAAAcgEyAAIAAAAUAAAAjYdp AAQAAAABAAAApAAAANAAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIENTIFdpbmRvd3MA MjAwODowMToyMCAxMjoxOToxOAAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABQKADAAQAAAAB AAAB+AAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAA1gAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAQBIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAoABmAwEiAAIRAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9OzH2V4ttlbg1zWyC7jRZPVOu5GB0V3Vacf7WMcgZVW7Y4M4 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 6wMtL3Ot3117vS31+h+k/wAJ/YS/xS4/Vq+qZL9mVX0n0H7vVDmUnJNlLf0dTvY+9tVNrHvZ/N/z diKej6F0TofT+hdPZ0/p9eypnue92r7Hn6d979PUtsj/ANF1+nUyutaCSSCFJJJJKf/Z/+0cQFBo b3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAHHAIAAAIAAgA4QklNBCUAAAAAABBGDPKJJrhW2rCcAaGw p5B3OEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAA OEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJ TQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAG AAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAA AAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA//////////////// /////////////wPoAAAAAP////////////////////////////8D6AAAAAD///////////////// ////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAA OEJJTQQaAAAAAAL8AAAACAAAABAAAAABAAAAAAAAbnVsbAAAAAMAAAAIYmFzZU5hbWVURVhUAAAA CABVAHMAdQBhAHIAaQBvAAAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3Ag bG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAGtQAAAABSZ2h0bG9uZwAABEIA AAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAA AAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09i amMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABC dG9tbG9uZwAABrUAAAAAUmdodGxvbmcAAARCAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQA AAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElz SFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGlj ZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWdu AAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5v bmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91 dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAA AAA4QklNBBQAAAAAAAQAAAACOEJJTQQMAAAAAA18AAAAAQAAAGYAAACgAAABNAAAwIAAAA1gABgA Af/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAM CAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAz/wAARCACgAGYDASIAAhEBAxEB/90ABAAH/8QBPwAAAQUBAQEBAQEAAAAA AAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkST VGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3 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 H2X0tzPtG71fsO71v6Pu+0/pfU/m/wDgP8Akup/YfR/2T+xvsdX7N27Psu0bInfx/pPU/S+r/O+t +m/nUkltv//Q9VSSSSUpJJJJSkkkklKSSSSU+d/43s/7BhYDcNpo6jlXOcMur2WCqlv6Wr12fpPe ++n2fyFxnRunfWD64dQZhes60Ua5GXYAa6WSW+o/YK/XyLNrvs1X87b/AMHR61q6X/G50nrOX1TC y6Ma/I6fVjlm6lrrAy0vc63fXXu9LfX6H6T/AAn9hL/FLj9Wr6pkv2ZVfSfQfu9UOZSck2Ut/R1O 9j721U2se9n83/N2Ip6PoXROh9P6F09nT+n17Kme573avsefp33v09S2yP8A0XX6dTK61oJJIIUk kkkp/9k4QklNBCEAAAAAAFMAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAA AAASAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTAAAAAQA4QklND6AAAAAACO5t b3B0AAAAAwAAAAEAAAAAAAAABwAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAABkAAAAAAAA AAAAAAAAAAAAAQAAAAD/////AAAAAAT/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAAAA AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA AAAAAAAAAAAAAAAEbAAAABAAAAABAAAAAAAOVGFyZ2V0U2V0dGluZ3MAAAAVAAAAAENsclRPYmpj AAAAAQAAAAAACkNvbG9yVGFibGUAAAACAAAAAENscnNWbExzAAAAAAAAAAdpc0V4YWN0Ym9vbAAA AAAATXR0Q09iamMAAAABAAAAAAAKTmF0aXZlUXVhZAAAAAMAAAAAQmwgIGxvbmcAAAD/AAAAAEdy biBsb25nAAAA/wAAAABSZCAgbG9uZwAAAP8AAAAAVHJuc2Jvb2wBAAAAC2FkZE1ldGFkYXRhYm9v bAEAAAAKYXV0b1JlZHVjZWJvb2wAAAAAEWNvbG9yVGFibGVDb250cm9sT2JqYwAAAAEAAAAAABFD b2xvclRhYmxlQ29udHJvbAAAAAIAAAAMbG9ja2VkQ29sb3JzVmxMcwAAAAAAAAAMc2hpZnRFbnRy aWVzVmxMcwAAAAAAAAAPZGl0aGVyQWxnb3JpdGhtZW51bQAAAA9EaXRoZXJBbGdvcml0aG0AAAAA RGZzbgAAAA1kaXRoZXJQZXJjZW50bG9uZwAAAGQAAAAKZmlsZUZvcm1hdGVudW0AAAAKRmlsZUZv cm1hdAAAAANHSUYAAAAKaW50ZXJsYWNlZGJvb2wAAAAABWxvc3N5bG9uZwAAAAAAAAAMbm9NYXR0 ZUNvbG9yYm9vbAAAAAAJbnVtQ29sb3JzbG9uZwAAAQAAAAAScmVkdWN0aW9uQWxnb3JpdGhtZW51 bQAAABJSZWR1Y3Rpb25BbGdvcml0aG0AAAAAU2VsZQAAABVyb2xsb3Zlck1hc3RlclBhbGV0dGVi b29sAAAAABt0cmFuc3BhcmVuY3lEaXRoZXJBbGdvcml0aG1lbnVtAAAAD0RpdGhlckFsZ29yaXRo bQAAAABOb25lAAAAGHRyYW5zcGFyZW5jeURpdGhlckFtb3VudGxvbmcAAABkAAAAD3dlYlNoaWZ0 UGVyY2VudGxvbmcAAAAAAAAAC3pvbmVkRGl0aGVyT2JqYwAAAAEAAAAAAAlab25lZEluZm8AAAAE AAAACWNoYW5uZWxJRGxvbmf/////AAAADWVtcGhhc2l6ZVRleHRib29sAAAAABBlbXBoYXNpemVW ZWN0b3JzYm9vbAAAAAAFZmxvb3Jsb25nAAAAAAAAABR6b25lZEhpc3RvZ3JhbVdlaWdodE9iamMA AAABAAAAAAAJWm9uZWRJbmZvAAAABAAAAAljaGFubmVsSURsb25n/////wAAAA1lbXBoYXNpemVU ZXh0Ym9vbAAAAAAQZW1waGFzaXplVmVjdG9yc2Jvb2wAAAAABWZsb29ybG9uZwAAAAAAAAAKem9u ZWRMb3NzeU9iamMAAAABAAAAAAAJWm9uZWRJbmZvAAAABAAAAAljaGFubmVsSURsb25n/////wAA AA1lbXBoYXNpemVUZXh0Ym9vbAAAAAAQZW1waGFzaXplVmVjdG9yc2Jvb2wAAAAABWZsb29ybG9u ZwAAAAA4QklND6EAAAAAAC1tc2V0AAAAEAAAAAEAAAAAAARudWxsAAAAAQAAAAdWZXJzaW9ubG9u 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 gIiICIiAiIg//9k= ------=_NextPart_001_0865_69B07324.11BE7C43 Content-Type: image/gif; name="4.gif" Content-Transfer-Encoding: base64 Content-ID: <6362148339-4> 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_0865_69B07324.11BE7C43 Content-Type: image/gif; name="5.gif" Content-Transfer-Encoding: base64 Content-ID: <6617265235-5> 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_0865_69B07324.11BE7C43 Content-Type: image/gif; name="6.gif" Content-Transfer-Encoding: base64 Content-ID: <6185055287-6> R0lGODlhnQApAPf/AB48avHx8fT09DpHWChSjWR0iyBAb5ilttPS0yxFbMLJ08nR3CBBcXWDl0Rz tho0W6Swv2l6ku7u7i1cnjddk7S+ylt5pdzc3EdVaSZMhSNGeY6csZaktSRKgDBiqBw4Y1ZxmXiM qSA+ayc7WFNlfczMzMDI0rKysiRIfYyartTa4VVri0polObm5rC6x6m0wpWjtZ2twkpcc+Li4qy2 xCtYlzlSd/Hy9Ut9xLK8yStWlK+5xzFkqzJkrNvh6cXM1qCsvMbM1jximerq6i1anLG7yKq1wypU kkljiDBhpi9gpDNOdhYrSh06ZuLm6xkxVrzF0MbN2Bs3Xzprsh8+bKizwqaywaWlp8PL1CxZmS5d oDFiqypBY5SbppypurrDziJEdp6qu5uouCFDdClTkLnE0xw5ZMjP2C5fopqnuPr6+qKsvB06YzVZ jCdQidva2oCOoqaxwZGkvqSvvzFViTJTgb7G0SxWlL/H0rjBzSdOhyhJeh9AbyhQiztqrJShsqy5 zEZegjxYgp6qvYqXqS5Kcx07Zy5eoaOvvrvEzxEjPlJlgTZMbsTM1R8/bhcuULnD0VZukLjCzfz8 /KWwwCpHctPX3vT2+KCquC1amzxloEBrpyhOhD5opYGSq0JQYx89bFJda6eywcDGzx46ZlprgzVi oT9ejB04XjFfoFNohixWkcHH0h88ZjBhpBs3YcjO1zJiqK690yhPiTFjqj9MXmd9niVLgiZLgyVC bytYmR06ZS9IbpeXl////zBip/b29ra/zLnCzvf397/I0p+svLfAzDFhqTJjrL3G0aKtvcfHxy9e pN3d3S1ZmrjBzqexwhgwVN7e3nB/l+Po7tfX17nBy5+uwKOuvZuamzRjpMrS3zNjp/v7++/v7zdk paGyzCAyTixXlzhmqH+LnbrG16KsuaSuu/Hz9rvDz+zs7JOite/x9WRwfyVGdS1Ujr3G0r3F0YaT poyXpbzEzsbN1ry+wS5do46ft6u3yJygpj9wtk9gdldga2Bxif///yH5BAEAAP8ALAAAAACdACkA AAj/AP8JHNgthaBKBhIqXMiwocOHECNKnEhx4pJAJDJq3Mixo8eNi/wd6DawZMkQBuhscoCjpcuX MGPKnEmzps2bOGc62ETHgI0zPoIKHUq0qNGhWHbAIUHI5EB2SPY4cDBlSo+rWJFh7aF169WuXsN+ 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 MASl6hQBAQA7 ------=_NextPart_001_0865_69B07324.11BE7C43 Content-Type: image/gif; name="7.gif" Content-Transfer-Encoding: base64 Content-ID: <3585186199-7> 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 uIZ7uIHLdEz6FAEBADs= ------=_NextPart_001_0865_69B07324.11BE7C43-- From bfoster@redhat.com Tue Oct 7 13:45: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 9BAA07F3F for ; Tue, 7 Oct 2014 13:45:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8AC498F8040 for ; Tue, 7 Oct 2014 11:45:52 -0700 (PDT) X-ASG-Debug-ID: 1412707550-04cb6c7706065e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6EYuvJcezOGSyHG9 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 11:45: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-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 s97Ijo5N009781 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 7 Oct 2014 14:45:50 -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 s97Ijoa1019913 for ; Tue, 7 Oct 2014 14:45:50 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id E18AC120064; Tue, 7 Oct 2014 14:45:48 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates Date: Tue, 7 Oct 2014 14:45:48 -0400 X-ASG-Orig-Subj: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates Message-Id: <1412707548-46011-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: 1412707551 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 The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Align to blocksize rather than page size and use uncached buffers to zero partial blocks. Preallocate the outward block-aligned range to provide fallocate allocation semantics and convert the inward range to unwritten extents to zero the range. Signed-off-by: Brian Foster --- v2: - Refactor the logic to punch out pagecache/delalloc first and do allocation last to prevent stray delalloc on ENOSPC. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00052.html fs/xfs/xfs_bmap_util.c | 112 +++++++++++++++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 40 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 92e8f99..d295f9b 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1338,7 +1338,14 @@ xfs_free_file_space( goto out; } - +/* + * Preallocate and zero a range of a file. This mechanism has the allocation + * semantics of fallocate and in addition converts data in the range to zeroes. + * This is done using unwritten extent conversion for complete blocks within the + * range. Partial start/end blocks cannot be converted to unwritten as they + * contain valid data. Therefore, partial blocks are preallocated and explicitly + * zeroed on-disk. + */ int xfs_zero_file_space( struct xfs_inode *ip, @@ -1346,64 +1353,89 @@ xfs_zero_file_space( xfs_off_t len) { struct xfs_mount *mp = ip->i_mount; - uint granularity; + uint blksize; xfs_off_t start_boundary; xfs_off_t end_boundary; int error; + loff_t eof; + xfs_off_t endoffset; trace_xfs_zero_file_space(ip); - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); + blksize = 1 << mp->m_sb.sb_blocklog; /* - * Round the range of extents we are going to convert inwards. If the - * offset is aligned, then it doesn't get changed so we zero from the - * start of the block offset points to. + * Align the range inward to blocksize. This represents the range that + * can be converted to unwritten extents. */ - start_boundary = round_up(offset, granularity); - end_boundary = round_down(offset + len, granularity); + start_boundary = round_up(offset, blksize); + end_boundary = round_down(offset + len, blksize); ASSERT(start_boundary >= offset); ASSERT(end_boundary <= offset + len); - if (start_boundary < end_boundary - 1) { - /* - * Writeback the range to ensure any inode size updates due to - * appending writes make it to disk (otherwise we could just - * punch out the delalloc blocks). - */ - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, - start_boundary, end_boundary - 1); + /* + * We generally want to avoid writeback here but must take a few things + * into consideration. If the eof page falls within the aligned range, + * write it back so we don't lose i_size updates. Also writeback + * unaligned start/end pages to avoid races with uncached I/O. + */ + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); + if (eof >= start_boundary && eof <= end_boundary) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, + start_boundary); + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, + offset + len); + } + + /* + * Punch out the pagecache and delalloc extents in the range. + * truncate_pagecache_range() handles partial page zeroing for us. + */ + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); + if (end_boundary > start_boundary) { + xfs_ilock(ip, XFS_ILOCK_EXCL); + error = xfs_bmap_punch_delalloc_range(ip, + XFS_B_TO_FSBT(mp, start_boundary), + XFS_B_TO_FSB(mp, + end_boundary - start_boundary)); + xfs_iunlock(ip, XFS_ILOCK_EXCL); + } + + /* + * Now handle start and end sub-block zeroing. We do this before + * allocation because we want the blocks on disk consistent with + * pagecache if we hit ENOSPC. + */ + if (offset < start_boundary) { + /* don't go past the end offset if it's within the block */ + endoffset = min_t(xfs_off_t, start_boundary, offset + len); + + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); if (error) goto out; - truncate_pagecache_range(VFS_I(ip), start_boundary, - end_boundary - 1); + } + if (end_boundary >= start_boundary && offset + len > end_boundary) { + error = xfs_zero_remaining_bytes(ip, end_boundary, + offset + len - 1); + if (error) + goto out; + } - /* convert the blocks */ + /* + * Finally, preallocate the unaligned range and convert the block + * aligned range to unwritten. We attempt extent conversion even if + * prealloc fails to convert as many existing extents as possible. + */ + error = xfs_alloc_file_space(ip, round_down(offset, blksize), + round_up(offset + len, blksize) - 1, + XFS_BMAPI_PREALLOC); + if (end_boundary > start_boundary) error = xfs_alloc_file_space(ip, start_boundary, end_boundary - start_boundary - 1, XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); - if (error) - goto out; - - /* We've handled the interior of the range, now for the edges */ - if (start_boundary != offset) { - error = xfs_iozero(ip, offset, start_boundary - offset); - if (error) - goto out; - } - - if (end_boundary != offset + len) - error = xfs_iozero(ip, end_boundary, - offset + len - end_boundary); - - } else { - /* - * It's either a sub-granularity range or the range spanned lies - * partially across two adjacent blocks. - */ - error = xfs_iozero(ip, offset, len); - } out: return error; -- 1.8.3.1 From jack@suse.cz Tue Oct 7 14:29: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 9F6207F3F for ; Tue, 7 Oct 2014 14:29:42 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2E3ACAC005 for ; Tue, 7 Oct 2014 12:29:39 -0700 (PDT) X-ASG-Debug-ID: 1412710176-04cbb018ab08960001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id Cy1cck9FBD0tK7dm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 07 Oct 2014 12:29:37 -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 4242AAD91; Tue, 7 Oct 2014 19:29:36 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 101B381FBC; Tue, 7 Oct 2014 21:29:35 +0200 (CEST) Date: Tue, 7 Oct 2014 21:29:35 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 03/12] xfs: Set allowed quota types Message-ID: <20141007192935.GF30038@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 03/12] xfs: Set allowed quota types References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-4-git-send-email-jack@suse.cz> <20141006203028.GB2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006203028.GB2301@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412710177 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.10305 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue 07-10-14 07:30:28, Dave Chinner wrote: > On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote: > > We support user, group, and project quotas. Tell VFS about it. > > > > CC: xfs@oss.sgi.com > > CC: Dave Chinner > > Signed-off-by: Jan Kara > > --- > > fs/xfs/xfs_super.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > > index b194652033cd..b32e998e8cbc 100644 > > --- a/fs/xfs/xfs_super.c > > +++ b/fs/xfs/xfs_super.c > > @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( > > sb->s_export_op = &xfs_export_operations; > > #ifdef CONFIG_XFS_QUOTA > > sb->s_qcop = &xfs_quotactl_operations; > > + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | > > + (1 << PRJQUOTA); > > Would it be better to define masks for these rather than open > coding these shifts everywhere? I can do that. Any suggestion for a name? I was thinking about it for a while and couldn't come up with anything satisfactory... Honza -- Jan Kara SUSE Labs, CR From adilger@dilger.ca Tue Oct 7 14:46: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 77B457F3F for ; Tue, 7 Oct 2014 14:46:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 62C9F8F8049 for ; Tue, 7 Oct 2014 12:45:58 -0700 (PDT) X-ASG-Debug-ID: 1412711156-04cb6c7705094f0001-NocioJ Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by cuda.sgi.com with ESMTP id CWE90yDShMNoRRHj (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 07 Oct 2014 12:45:57 -0700 (PDT) X-Barracuda-Envelope-From: adilger@dilger.ca X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.47 Received: by mail-pa0-f47.google.com with SMTP id rd3so7631903pab.6 for ; Tue, 07 Oct 2014 12:45:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:message-id:references:to; bh=hnR6QYr9KPzHm8lu/IqVyoGvZsSbNhcIWe+4mWkZPy4=; b=LBr9wTbPm+RX12KERN2AjeI+UYAm/YiBvJyAinMoFesmewj3yEQr0VQL3uIzQ6NaAC lvMwdhjEZbm/rSSDfUaC+i1GSYHbYZHKlX/6umVNFZZDx01m7sRsqJtU6BVoVGeztkfN sAnaj5eMqebr32/6wYl8rl+8V/u+MROFVNB6ND5xdu7doN9WnQupSS7nbAWeSJ6Rf3x0 5iPoB9GkbqTIvmF3wO2nTqWIrnEIBeqdeVWnn1iD/+CCF422eaKv9OQ0mvpleaz6PKzr uUflDUuM6puMI8cxwVcSkigcGfC6786Td2AvLK+bVy07diaPR3EP7t6AbCKFlc5htwoo oFqg== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQl7EjbuDgZBaL9oCblRSqB/ZMQckKZR+1VBwkc6BvRRWFBX92s/O/EpSTEBt0YtNkuFp6Ej X-Received: by 10.66.191.41 with SMTP id gv9mr5811922pac.15.1412711156529; Tue, 07 Oct 2014 12:45:56 -0700 (PDT) Received: from cabot-100.adilger.int (S0106002191d9348b.cg.shawcable.net. [96.51.76.157]) by mx.google.com with ESMTPSA id ow7sm16691726pbc.30.2014.10.07.12.45.55 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 07 Oct 2014 12:45:55 -0700 (PDT) Content-Type: multipart/signed; boundary="Apple-Mail=_25A6EF2A-EBB8-4C4D-A067-5217C5746133"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Barracuda-Apparent-Source-IP: 96.51.76.157 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [PATCH 03/12] xfs: Set allowed quota types From: Andreas Dilger X-ASG-Orig-Subj: Re: [PATCH 03/12] xfs: Set allowed quota types In-Reply-To: <20141007192935.GF30038@quack.suse.cz> Date: Tue, 7 Oct 2014 13:46:20 -0600 Cc: Dave Chinner , linux-fsdevel , Ext4 Developers List , xfs@oss.sgi.com, cluster-devel , Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Message-Id: <3391F66C-E2A7-4FC8-8696-3C1600D54DA9@dilger.ca> References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-4-git-send-email-jack@suse.cz> <20141006203028.GB2301@dastard> <20141007192935.GF30038@quack.suse.cz> To: Jan Kara X-Mailer: Apple Mail (2.1878.6) X-Barracuda-Connect: mail-pa0-f47.google.com[209.85.220.47] X-Barracuda-Start-Time: 1412711156 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.10304 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --Apple-Mail=_25A6EF2A-EBB8-4C4D-A067-5217C5746133 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On Oct 7, 2014, at 1:29 PM, Jan Kara wrote: > On Tue 07-10-14 07:30:28, Dave Chinner wrote: >> On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote: >>> We support user, group, and project quotas. Tell VFS about it. >>> >>> CC: xfs@oss.sgi.com >>> CC: Dave Chinner >>> Signed-off-by: Jan Kara >>> --- >>> fs/xfs/xfs_super.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c >>> index b194652033cd..b32e998e8cbc 100644 >>> --- a/fs/xfs/xfs_super.c >>> +++ b/fs/xfs/xfs_super.c >>> @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( >>> sb->s_export_op = &xfs_export_operations; >>> #ifdef CONFIG_XFS_QUOTA >>> sb->s_qcop = &xfs_quotactl_operations; >>> + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | >>> + (1 << PRJQUOTA); >> >> Would it be better to define masks for these rather than open >> coding these shifts everywhere? > I can do that. Any suggestion for a name? I was thinking about it for a > while and couldn't come up with anything satisfactory... Better to have QUOTA at the start, and TYPE in the name, so maybe: enum quota_types { QUOTA_TYPE_USR = 1 << USRQUOTA, QUOTA_TYPE_GRP = 1 << GRPQUOTA, QUOTA_TYPE_PRJ = 1 << PRJQUOTA, }; or maybe "enum quota_type_mask" or similar. I prefer named enums over #defines since this makes it more clear when declaring variables like "allowed_types" what valid values are instead of just "int" that someone might mistakenly set to USRQUOTA directly or something. Cheers, Andreas --Apple-Mail=_25A6EF2A-EBB8-4C4D-A067-5217C5746133 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIVAwUBVDRDDHKl2rkXzB/gAQKQ1hAAlea+fNuBUbta4vk/YkFa/+05+8K9ppKo 17TxlDnme+uXuvcUBsj8FgS94++A3/oEZusByqm1kznm/ID4fGlEYwOkwnOT6RlG ARWksyI/dbrC5WEEw4mWILQJLLxC+nPCj03qM8/oP9jRUNdwvFLPpLVx8nBHHwas FCs9Oic2EvDqSV61iqat6k7MHsUuY5yrbHyrqqUtDLHUv82YDCXYAeEvtqKluzC8 jvyRTvy3PcKyOM3TnaGClrQOE5ncHcrBz99YSK3fcvKCEuII2BNXCRVmfN48T8qm X4K7vgoMIF2HDxwnohUJh6FAzERMHbIm1muEN0JChplVi4m5Z63qKvflgqagaKAL i4qcFRcH5C4l8OUrJdYdNt23Ka9B2KKW7HLy0b/v6MdbiwjVaC3rRh/h5ZpX2seg BLxQtqBkdMf7o1NDpUbWJZuiWNt6tEfUFykGG8wK4toFc/xgQ7kvIWERELUCDOug J6kYlxqGZUn208ZJmZg516J38z1VVQr7Xy+bhF9zifZgOqOWuOmRkFtAWnmK7/W8 3/LYNHpmTJqeQMMz26KWjYr7RqpvLGwsSOa4V8jQC3oBllKJKdm2CUc4G2t/wP38 MC800equzdJKvF8zoOy1+R8877zLXnrR/UkYrnHxRgEn9sY5Y19bnIH/7PYBpEVj k7SxUkGyBdQ= =1Ues -----END PGP SIGNATURE----- --Apple-Mail=_25A6EF2A-EBB8-4C4D-A067-5217C5746133-- From david@fromorbit.com Tue Oct 7 14:53: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 5BACA7F4E for ; Tue, 7 Oct 2014 14:53:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id D6283AC00C for ; Tue, 7 Oct 2014 12:53:23 -0700 (PDT) X-ASG-Debug-ID: 1412711601-04cb6c770509b80001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id VETHBaFLcZ8EcZRO for ; Tue, 07 Oct 2014 12:53:21 -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: AuU8AIJDNFR5LLGOPGdsb2JhbABfgw6BK4IzhQexOwaVbIVqAgIBAQKBEBcBBgEBAQE4OYQDAQEBAwEyASMjBQsIAw4KCSUPBSUDBxoTiDYHwjwYGIYIiiQHhEsFnUGaACkvgkoBAQE Received: from ppp121-44-177-142.lns20.syd7.internode.on.net (HELO dastard) ([121.44.177.142]) by ipmail05.adl6.internode.on.net with ESMTP; 08 Oct 2014 06:23:19 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xbaow-00045D-Vl; Wed, 08 Oct 2014 06:53:19 +1100 Date: Wed, 8 Oct 2014 06:53:18 +1100 From: Dave Chinner To: Emmanuel Florac Cc: xfs@oss.sgi.com Subject: Re: Corrupted filesystem: thoughts? Message-ID: <20141007195318.GQ2301@dastard> X-ASG-Orig-Subj: Re: Corrupted filesystem: thoughts? References: <20141007093533.66ba8c7b@galadriel.home> <20141007105657.GO2301@dastard> <20141007132210.55b2183a@harpe.intellique.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20141007132210.55b2183a@harpe.intellique.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: 1412711601 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.10305 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 07, 2014 at 01:22:10PM +0200, Emmanuel Florac wrote: > Le Tue, 7 Oct 2014 21:56:57 +1100 > Dave Chinner écrivait: > > > Is the log clean? (use xfs_logprint -t to determine that) > > > > No, it wasn't, that was probably the source of most of the ominous > messages. The many files in lost+found were probably deleted files You really, really want to recover the log before running repair if possible. > In case this may help someone, before running xfs_repair I've mounted > the volume in "ro,nonrecovery" mode, then ran this command to make a > listing of files with their inodes: > > find /mnt/raid/ -print0 | xargs --null ls -di | gzip - > FILELIST.gz Generating the list before recovery is run will result in a partial list because there will be parts of the directory heirarchy that can't be traversed due to corruption. So there's no guarantee that this list will be in any way complete. Besides, we already have amore robust offline tool for generating such a list: $ man xfs_ncheck .... xfs_ncheck with no -i arguments generates an inode number and pathname list of all files on the given filesystem. ... It will also tell you when it fails to resolve a pathname or inode number due to corruption, so you have direct indication of what inodes and/or paths are broken. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Oct 7 16:41: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 CF7F97F3F for ; Tue, 7 Oct 2014 16:41:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id BE85C304039 for ; Tue, 7 Oct 2014 14:40:59 -0700 (PDT) X-ASG-Debug-ID: 1412718056-04cb6c77070f440001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id RhiF368n2kGNSThX for ; Tue, 07 Oct 2014 14:40:56 -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: Av1CAHtdNFR5LLGOPGdsb2JhbABfgw6BK4c7sTYBAQEBAQEGlQiFagICAQECgRAXAQYBAQEBODmEBAEBBCcTHCMFCwgDDgoJJQ8FJQMHGhOIPcJvGIYIiiQHhEsFnUGBLosrgh6LCSkvgkoBAQE Received: from ppp121-44-177-142.lns20.syd7.internode.on.net (HELO dastard) ([121.44.177.142]) by ipmail05.adl6.internode.on.net with ESMTP; 08 Oct 2014 08:10:24 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XbcUZ-0004O7-AG; Wed, 08 Oct 2014 08:40:23 +1100 Date: Wed, 8 Oct 2014 08:40:23 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141007214023.GR2301@dastard> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates References: <1412707548-46011-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412707548-46011-1-git-send-email-bfoster@redhat.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: 1412718056 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.10308 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 07, 2014 at 02:45:48PM -0400, Brian Foster wrote: > The zero range operation is analogous to fallocate with the exception of > converting the range to zeroes. E.g., it attempts to allocate zeroed > blocks over the range specified by the caller. The XFS implementation > kills all delalloc blocks currently over the aligned range, converts the > range to allocated zero blocks (unwritten extents) and handles the > partial pages at the ends of the range by sending writes through the > pagecache. > > The current implementation suffers from several problems associated with > inode size. If the aligned range covers an extending I/O, said I/O is > discarded and an inode size update from a previous write never makes it > to disk. Further, if an unaligned zero range extends beyond eof, the > page write induced for the partial end page can itself increase the > inode size, even if the zero range request is not supposed to update > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > The latter behavior not only incorrectly increases the inode size, but > can lead to stray delalloc blocks on the inode. Typically, post-eof > preallocation blocks are either truncated on release or inode eviction > or explicitly written to by xfs_zero_eof() on natural file size > extension. If the inode size increases due to zero range, however, > associated blocks leak into the address space having never been > converted or mapped to pagecache pages. A direct I/O to such an > uncovered range cannot convert the extent via writeback and will BUG(). > For example: > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > ... > $ xfs_io -d -c "pread 128k 128k" > > > If the entire delalloc extent happens to not have page coverage > whatsoever (e.g., delalloc conversion couldn't find a large enough free > space extent), even a full file writeback won't convert what's left of > the extent and we'll assert on inode eviction. > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > Align to blocksize rather than page size and use uncached buffers to > zero partial blocks. Preallocate the outward block-aligned range to > provide fallocate allocation semantics and convert the inward range to > unwritten extents to zero the range. > > Signed-off-by: Brian Foster comments below... > +/* > + * Preallocate and zero a range of a file. This mechanism has the allocation > + * semantics of fallocate and in addition converts data in the range to zeroes. > + * This is done using unwritten extent conversion for complete blocks within the > + * range. Partial start/end blocks cannot be converted to unwritten as they > + * contain valid data. Therefore, partial blocks are preallocated and explicitly > + * zeroed on-disk. If we don't modify the patch and continue with the uncached zeroing mechanism, we need to add a big warning about why we avoid the page cache for partial block zeroing. (i.e. to prevent ioend completions from updating inode size incorrectly and causing data corruption). > trace_xfs_zero_file_space(ip); > > - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); > + blksize = 1 << mp->m_sb.sb_blocklog; If we are now doing sub-page block manipulation, we have the issue with racing page faults failing to refault after the extent map has changed underneath partial pages. That, however, appears to be mostly mitigated by the partial page writeback. > > /* > - * Round the range of extents we are going to convert inwards. If the > - * offset is aligned, then it doesn't get changed so we zero from the > - * start of the block offset points to. > + * Align the range inward to blocksize. This represents the range that > + * can be converted to unwritten extents. > */ > - start_boundary = round_up(offset, granularity); > - end_boundary = round_down(offset + len, granularity); > + start_boundary = round_up(offset, blksize); > + end_boundary = round_down(offset + len, blksize); > > ASSERT(start_boundary >= offset); > ASSERT(end_boundary <= offset + len); > > - if (start_boundary < end_boundary - 1) { > - /* > - * Writeback the range to ensure any inode size updates due to > - * appending writes make it to disk (otherwise we could just > - * punch out the delalloc blocks). > - */ > - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, > - start_boundary, end_boundary - 1); > + /* > + * We generally want to avoid writeback here but must take a few things > + * into consideration. If the eof page falls within the aligned range, > + * write it back so we don't lose i_size updates. Also writeback > + * unaligned start/end pages to avoid races with uncached I/O. > + */ > + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); > + if (eof >= start_boundary && eof <= end_boundary) > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); That's only necessary if (VFS_I(ip)->i_size > ip->i_d.di_size), right?. i.e. it's only needed if there are extending writes still pending writeback that will update the on-disk inode size (see xfs_setattr_size() for details). > + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, > + start_boundary); > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, > + offset + len); > + } If the offset and/or (offset+len) are beyond EOF, we need to write them as ->writepage will see that they are beyond EOF and abort. Hence I'd split this into separate check+flush start, check+flush end branches that also check whether they are beyond EOF or in the EOF page we've already written. > + /* > + * Punch out the pagecache and delalloc extents in the range. > + * truncate_pagecache_range() handles partial page zeroing for us. > + */ > + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); > + if (end_boundary > start_boundary) { > + xfs_ilock(ip, XFS_ILOCK_EXCL); > + error = xfs_bmap_punch_delalloc_range(ip, > + XFS_B_TO_FSBT(mp, start_boundary), > + XFS_B_TO_FSB(mp, > + end_boundary - start_boundary)); > + xfs_iunlock(ip, XFS_ILOCK_EXCL); > + } I see this if (end_boundary > start_boundary) check repeatedly - if this case is true, we are zeroing within a single block. If that block is within EOF, then all we need to do is call xfs_iozero() and we are done. Perhaps we should special case this right at the start of the function (similar to the special sub-single-block case in xfs_free_file_space()). > + > + /* > + * Now handle start and end sub-block zeroing. We do this before > + * allocation because we want the blocks on disk consistent with > + * pagecache if we hit ENOSPC. > + */ > + if (offset < start_boundary) { > + /* don't go past the end offset if it's within the block */ > + endoffset = min_t(xfs_off_t, start_boundary, offset + len); > + > + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); > if (error) > goto out; > - truncate_pagecache_range(VFS_I(ip), start_boundary, > - end_boundary - 1); > + } > + if (end_boundary >= start_boundary && offset + len > end_boundary) { > + error = xfs_zero_remaining_bytes(ip, end_boundary, > + offset + len - 1); > + if (error) > + goto out; > + } So this means we now write the partial start/end blocks twice - once to clean the page cache, then once to zero the blocks on disk. Again, this does not need to happen if the start/end is beyond EOF, as a truncate up will completely zero the underlying blocks if that are allocated and in the written state. Hence I'm not sure that we actually need to do it this way. If we do this: if (isize needs update) filemap_write_and_wait_range(eof_block) truncate_pagecache_range(start, end) if (partial_and_within_eof(start_page)) filemap_write_and_wait_range(start_page) if (partial_and_within_eof(end_page)) filemap_write_and_wait_range(end_page) xfs_bmap_punch_delalloc_range(start, end) We should get the partial blocks correctly zeroed in the page cache, then the correctly zeroed pages written to disk, and then we punch out the delalloc blocks in the middle, thereby zeroing the in-memory extent tree to match the pagecache after the truncation we just did. > > - /* convert the blocks */ > + /* > + * Finally, preallocate the unaligned range and convert the block > + * aligned range to unwritten. We attempt extent conversion even if > + * prealloc fails to convert as many existing extents as possible. > + */ > + error = xfs_alloc_file_space(ip, round_down(offset, blksize), > + round_up(offset + len, blksize) - 1, > + XFS_BMAPI_PREALLOC); > + if (end_boundary > start_boundary) > error = xfs_alloc_file_space(ip, start_boundary, > end_boundary - start_boundary - 1, > XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); That doesn't make a lot of sense - apart from the different start/end offsets - if the initial xfs_alloc_file_space() call fails with ENOSPC, the second call will too because it will try to pick up unwritten extent allocation where the first call failed with ENOSPC. i.e. it will fail with ENOSPC, too, at the same place. One call is all that is needed, and if we special case the (end_boundary > start_boundary) condition early on then there's only one range needed here. Cheers, Dave. -- Dave Chinner david@fromorbit.com From milosz@adfin.com Tue Oct 7 21:58: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 A0BB57F3F for ; Tue, 7 Oct 2014 21:58:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 809C3304048 for ; Tue, 7 Oct 2014 19:58:07 -0700 (PDT) X-ASG-Debug-ID: 1412737081-04cbb018ad1ae30001-NocioJ Received: from mail-la0-f45.google.com (mail-la0-f45.google.com [209.85.215.45]) by cuda.sgi.com with ESMTP id BMFYhsAfoTX02gV2 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 07 Oct 2014 19:58:02 -0700 (PDT) X-Barracuda-Envelope-From: milosz@adfin.com X-Barracuda-Apparent-Source-IP: 209.85.215.45 Received: by mail-la0-f45.google.com with SMTP id q1so7569290lam.4 for ; Tue, 07 Oct 2014 19:58: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:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=v4kfTiQus/mtCDqgis/bcUnqcTU3tlRFA5MoTfSxrGQ=; b=bf/A/IlL8STp1bU2990huEsxhrEh6F8std3XhXlFkbxbKFlFobUGdpCXKx0ho/L7Ab XnQOxsFiqQFwBaFMIRm/X3bb6WRAL1AwR0Lkt2kNPCEYeb1yzyfaLoBukrF3+9173fZT RgP3PUbE/cCNEE7/GFcW2SUl+odHc7jI5+xbKQtnelVJraqJ/OmysL+x5qVj0205RcjX pFAiK1lb8mmL/GwlXfIAGyHNhRkheV3jbA2LPjTZg0XbFL95A8S+jyvFbn8WceG5BwVx TWMTbE5C05u4almwDL19gpQhwW7Egvcdoe0lQ00Fyq6w/qsNqYLMbzxKj55h+BPKbyJ6 oJ0g== X-Gm-Message-State: ALoCoQktH9YJ/4pdQooIKsCXadiE+uxchHm3/uaVlvUwqLEQXHamMrs6YO0ODFTAeCrafYSF7h5Q MIME-Version: 1.0 X-Received: by 10.112.172.202 with SMTP id be10mr3008380lbc.98.1412737081152; Tue, 07 Oct 2014 19:58:01 -0700 (PDT) Received: by 10.25.23.134 with HTTP; Tue, 7 Oct 2014 19:58:01 -0700 (PDT) In-Reply-To: <1412197494-7655-1-git-send-email-hch@lst.de> References: <1412197494-7655-1-git-send-email-hch@lst.de> Date: Tue, 7 Oct 2014 22:58:01 -0400 Message-ID: Subject: Re: preadv2/pwritev2 updates From: Milosz Tanski X-ASG-Orig-Subj: Re: preadv2/pwritev2 updates To: Christoph Hellwig Cc: "linux-fsdevel@vger.kernel.org" , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-la0-f45.google.com[209.85.215.45] X-Barracuda-Start-Time: 1412737082 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.10320 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I'm haven't gotten to many comments back from the last set of patches. So I imagine that people are okay with the interface and the general code. The next submission will probably rename the call to preadv6/pwritev6 just to follow the interface ... but I don't think they'll be any other changes; so no need to wait on me. How should we go about packaging this up for mainline inclusion? Additionally, I've been testing it with out application in and in the test environment we've a 30% reduction in average response time. We might be kind of a best case since we do a fair amount of CPU / IO bound work overlapped and this lets us skip the threadpool queue in a huge chunk of the cases. But the gains are real... for a real application. On Wed, Oct 1, 2014 at 5:04 PM, Christoph Hellwig wrote: > Hi Miklos, > > attached are the patches that go on top of your > "[RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only)" > series. The first one adds RWF_NONBLOCK to XFS, the other two > add a new RWF_DSYNC flag that adds a per-operation O_DSYNC flag. > -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz@adfin.com From jack@suse.cz Wed Oct 8 03:43: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 DF37C7F3F for ; Wed, 8 Oct 2014 03:43:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id CDB95304048 for ; Wed, 8 Oct 2014 01:42:59 -0700 (PDT) X-ASG-Debug-ID: 1412757773-04cb6c7704265c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 3hFdT2kmpWH5o1hD (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 08 Oct 2014 01:42: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 A31F8AAF1; Wed, 8 Oct 2014 08:42:52 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 7E37581FBC; Wed, 8 Oct 2014 10:42:51 +0200 (CEST) Date: Wed, 8 Oct 2014 10:42:51 +0200 From: Jan Kara To: Andreas Dilger Cc: Jan Kara , Dave Chinner , linux-fsdevel , Ext4 Developers List , xfs@oss.sgi.com, cluster-devel , Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 03/12] xfs: Set allowed quota types Message-ID: <20141008084251.GB11781@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 03/12] xfs: Set allowed quota types References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-4-git-send-email-jack@suse.cz> <20141006203028.GB2301@dastard> <20141007192935.GF30038@quack.suse.cz> <3391F66C-E2A7-4FC8-8696-3C1600D54DA9@dilger.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3391F66C-E2A7-4FC8-8696-3C1600D54DA9@dilger.ca> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412757774 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.10327 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue 07-10-14 13:46:20, Andreas Dilger wrote: > On Oct 7, 2014, at 1:29 PM, Jan Kara wrote: > > On Tue 07-10-14 07:30:28, Dave Chinner wrote: > >> On Wed, Oct 01, 2014 at 09:31:25PM +0200, Jan Kara wrote: > >>> We support user, group, and project quotas. Tell VFS about it. > >>> > >>> CC: xfs@oss.sgi.com > >>> CC: Dave Chinner > >>> Signed-off-by: Jan Kara > >>> --- > >>> fs/xfs/xfs_super.c | 2 ++ > >>> 1 file changed, 2 insertions(+) > >>> > >>> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > >>> index b194652033cd..b32e998e8cbc 100644 > >>> --- a/fs/xfs/xfs_super.c > >>> +++ b/fs/xfs/xfs_super.c > >>> @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( > >>> sb->s_export_op = &xfs_export_operations; > >>> #ifdef CONFIG_XFS_QUOTA > >>> sb->s_qcop = &xfs_quotactl_operations; > >>> + sb->s_dquot.allowed_types = (1 << USRQUOTA) | (1 << GRPQUOTA) | > >>> + (1 << PRJQUOTA); > >> > >> Would it be better to define masks for these rather than open > >> coding these shifts everywhere? > > I can do that. Any suggestion for a name? I was thinking about it for a > > while and couldn't come up with anything satisfactory... > > Better to have QUOTA at the start, and TYPE in the name, so maybe: > > enum quota_types { > QUOTA_TYPE_USR = 1 << USRQUOTA, > QUOTA_TYPE_GRP = 1 << GRPQUOTA, > QUOTA_TYPE_PRJ = 1 << PRJQUOTA, > }; > > or maybe "enum quota_type_mask" or similar. > > I prefer named enums over #defines since this makes it more clear > when declaring variables like "allowed_types" what valid values are > instead of just "int" that someone might mistakenly set to USRQUOTA > directly or something. OK, QUOTA_TYPE_USR etc. looks good. I'm not so sure about named enum. I'd be fine with named enum for USRQUOTA, GRPQUOTA, etc. - i.e., types which should have one of the named values but for a bitmask with arbitrary combinations of flags it looks confusing to me (although technically it would work). Honza -- Jan Kara SUSE Labs, CR From jack@suse.cz Wed Oct 8 03:45: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 B502F7F3F for ; Wed, 8 Oct 2014 03:45:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5D42FAC00C for ; Wed, 8 Oct 2014 01:45:14 -0700 (PDT) X-ASG-Debug-ID: 1412757911-04bdf0287929040001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id jeJTNyx9ivD8HAEc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 08 Oct 2014 01:45:12 -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 96415AB0C; Wed, 8 Oct 2014 08:45:10 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id A309E81FBC; Wed, 8 Oct 2014 10:45:09 +0200 (CEST) Date: Wed, 8 Oct 2014 10:45:09 +0200 From: Jan Kara To: Andreas Dilger Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 04/12] fs: Generic infrastructure for optional inode fields Message-ID: <20141008084509.GC11781@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 04/12] fs: Generic infrastructure for optional inode fields References: <1412191894-9113-1-git-send-email-jack@suse.cz> <1412191894-9113-5-git-send-email-jack@suse.cz> <3BFF1023-E198-4797-A96A-EA158137157E@dilger.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3BFF1023-E198-4797-A96A-EA158137157E@dilger.ca> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412757912 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.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=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10327 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words On Wed 01-10-14 15:05:46, Andreas Dilger wrote: > On Oct 1, 2014, at 1:31 PM, Jan Kara wrote: > > There are parts of struct inode which are used only by a few filesystems > > (e.g. i_dquot pointers, i_mapping->private_list, ...). Thus all the > > other filesystems are just wasting memory with these fields. On the > > other hand it isn't simple to just move these fields to filesystem > > specific part of inode because there is generic code which needs to peek > > into the fields and it is cumbersome to provide helpers into which fs > > has to stuff the field it is storing elsewhere. > > > > We create a simple infrastructure which allows for optional inode fields > > stored in the fs-specific part of the inode. Accessing these fields has > > a slightly worse performance as we have to lookup their offset in the > > offset table stored in the superblock but in most cases this is > > acceptable. Notably, this offset-table mechanism is faster than having > > fs-specific hook functions which would need to be called to provide > > pointers to desired fields. > > > > Signed-off-by: Jan Kara > > --- > > include/linux/fs.h | 24 ++++++++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/include/linux/fs.h b/include/linux/fs.h > > index 94187721ad41..977f8fb6ca88 100644 > > --- a/include/linux/fs.h > > +++ b/include/linux/fs.h > > @@ -615,6 +615,11 @@ struct inode { > > void *i_private; /* fs or device private pointer */ > > }; > > > > +/* Optional inode fields (stored in filesystems inode if the fs needs them) */ > > +enum { > > This should be a named enum, like "enum inode_field" or similar, so it > can be referenced below. > > > + IF_FIELD_NR /* Number of optional inode fields */ > > +}; > > + > > static inline int inode_unhashed(struct inode *inode) > > { > > return hlist_unhashed(&inode->i_hash); > > @@ -1236,6 +1241,11 @@ struct super_block { > > void *s_fs_info; /* Filesystem private info */ > > unsigned int s_max_links; > > fmode_t s_mode; > > + /* > > + * We could have here just a pointer to the offsets array but this > > + * way we save one dereference when looking up field offsets > > + */ > > + int s_inode_fields[IF_FIELD_NR]; > > > > /* Granularity of c/m/atime in ns. > > Cannot be worse than a second */ > > @@ -1286,6 +1296,20 @@ struct super_block { > > struct rcu_head rcu; > > }; > > > > +static inline void *inode_field(const struct inode *inode, int field) > > This should use "enum inode_field" instead of int, so the compiler could > warn about invalid parameter values. It might make sense to add a check: OK, makes sense. > if (field < IF_FIELD_NR) > > but I'm not sure if the overhead is worthwhile, unless it can always be > resolved at compile time. That might be possible since this is a static > inline function. Well, I can stick there BUG_ON(field >= IF_FIELD_NR). That looks like a sensible debugging measure with negligible overhead. Honza > > +{ > > + int offset = inode->i_sb->s_inode_fields[field]; > > + > > + if (!offset) /* Field not present? */ > > + return NULL; > > > + return ((char *)inode) + offset; > > +} > > + > > +static inline void sb_init_inode_fields(struct super_block *sb, int *fields) > > +{ > > + memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); > > +} > > + > > extern struct timespec current_fs_time(struct super_block *sb); > > > > /* > > -- > > 1.8.1.4 > > > > -- > > 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 > > > Cheers, Andreas > > > > > -- Jan Kara SUSE Labs, CR From mds_80@turbocash.com Wed Oct 8 04:15: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=2.2 required=5.0 tests=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 60BBA7F3F for ; Wed, 8 Oct 2014 04:15:41 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 86DD1AC00C for ; Wed, 8 Oct 2014 02:15:40 -0700 (PDT) X-ASG-Debug-ID: 1412759733-04cbb018ac28bb0001-NocioJ Received: from mail.globalnet.zp.ua (mail.globalnet.zp.ua [192.162.140.5]) by cuda.sgi.com with ESMTP id HEguZu7sD2DyOwgd for ; Wed, 08 Oct 2014 02:15:33 -0700 (PDT) X-Barracuda-Envelope-From: mds_80@turbocash.com X-Barracuda-Apparent-Source-IP: 192.162.140.5 Received: from [188.65.233.184] (account alex HELO 184.233.65.188.m9com.ru) by mail.globalnet.zp.ua (CommuniGate Pro SMTP 5.3.2) with ESMTPA id 3368063; Wed, 08 Oct 2014 11:07:09 +0300 Message-ID: From: =?iso-8859-5?Q?=E0=E3=DA=DE=D2=DE=D4=D8=E2=D5=DB=EC_=E1?= =?iso-8859-5?Q?=DB=E3=D6=D1=EB_=D1=D5=D7=DE=DF=D0=E1=DD?= =?iso-8859-5?Q?=DE=E1=E2=D8?= To: , , , Subject: =?iso-8859-5?Q?=BA=D0=D4=D0=E1=E2=E0=DE=D2=EB=D9_=DF=DB?= =?iso-8859-5?Q?=D0=DD?= Date: Wed, 8 Oct 2014 10:07:30 +0200 X-ASG-Orig-Subj: =?iso-8859-5?Q?=BA=D0=D4=D0=E1=E2=E0=DE=D2=EB=D9_=DF=DB?= =?iso-8859-5?Q?=D0=DD?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_1189_01CFE2DF.AB95F670" X-Priority: 3 X-Barracuda-Connect: mail.globalnet.zp.ua[192.162.140.5] X-Barracuda-Start-Time: 1412759733 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.26 X-Barracuda-Spam-Status: No, SCORE=1.26 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_TG035a, HTML_MESSAGE, MIME_HTML_ONLY, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10328 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 BSF_SC0_TG035a Message contains invalid style definition 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO This is a multi-part message in MIME format. ------=_NextPart_000_1189_01CFE2DF.AB95F670 Content-Type: text/html; charset="iso-8859-5" Content-Transfer-Encoding: quoted-printable
=E3=D2=D0=D6=D0=D5=DC=EB=D5 =DA=DE=DB=DB=D5=D3=D8!
 
=D4=DB=EF =DF=E0=D8=D2=D5=D4=D5=DD=D8=EF =D2 =E1=DE=DE=E2=D2=D5=E2=E1= =E2=D2=D8=D5 =E1 =E2=E0=D5=D1=DE=D2=D0=DD=D8=EF=DC=D8 =D7=D0=DA=DE=DD=DE=D4= =D0=E2=D5=DB=EC=E1=E2=D2=D0=20 =D7=D5=DC=DB=D5=E3=E1=E2=E0=DE=D8=E2=D5=DB=EC=DD=DE=D9 =D4=DE=DA=E3=DC=D5= =DD=E2=D0=E6=D8=D8, =DD=D5=DE=D1=E5=DE=D4=D8=DC=DE =D2=EB=DF=DE=DB=DD=D8=E2= =EC =E0=EF=D4 =DE=D1=EF=D7=D0=E2=D5=DB=EC=DD=EB=E5=20 =D4=D5=D9=E1=E2=D2=D8=D9.
 
=DF=E0=D8=D3=DB=D0=E8=D0=D5=DC =DD=D0 =DA=DE=DD=E1=E3=DB=EC=E2=D0=E2= =D8=D2=DD=DE=D5 =DC=D5=E0=DE=DF=E0=D8=EF=E2=D8=D5 =E1 =E3=E7=D0=E1=E2=D8=D5= =DC =E1=DF=D5=E6=D8=D0=DB=D8=E1=E2=DE=D2 =DF=DE=20 =B7=D5=DC=D5=DB=EC=DD=DE=DC=E3 =DA=DE=D4=D5=DA=E1=E3 =D8 =B7=D5=DC=D5=DB=EC= =DD=DE=DC=E3 =DA=D0=D4=D0=E1=E2=E0=E3.
 
=DE=D1=D7=DE=E0 =DF=E0=D8=DD=E6=D8=DF=D8=D0=DB=EC=DD=EB=E5 =D8=D7=DC= =D5=DD=D5=DD=D8=D9 =DF=E0=D8=DB=D0=D3=D0=D5=E2=E1=EF.
 
------=_NextPart_000_1189_01CFE2DF.AB95F670 Content-Type: application/msword; name="=?iso-8859-5?Q?=DE=D1=D7=DE=E0=2Edoc?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?iso-8859-5?Q?=DE=D1=D7=DE=E0=2Edoc?=" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAEAAAAhgEAAAAAAAAA EAAAiAEAAAEAAAD+////AAAAAIIBAACDAQAAhAEAAIUBAAD///////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////s pcEAcWAZBAAA+BK/AAAAAAAAEAAAAAAABgAA9BwAAA4AYmpianFQcVAAAAAAAAAAAAAAAAAAAAAA AAAZBBYANCQAABM6AQATOgEAegYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAOgDAAAAAAAA6AMAAOgD AAAAAAAA6AMAAAAAAADoAwAAAAAAAOgDAAAAAAAA6AMAABQAAAAAAAAAAAAAAPwDAAAAAAAA5AoA AAAAAADkCgAAAAAAAOQKAAAAAAAA5AoAACQAAAAICwAAFAAAAPwDAAAAAAAANBAAAO4AAAAoCwAA AAAAACgLAAAAAAAAKAsAAAAAAAAoCwAAAAAAACgLAAAAAAAAZwwAAAAAAABnDAAAAAAAAGcMAAAA AAAAvw8AAAIAAADBDwAAAAAAAMEPAAAAAAAAwQ8AAAAAAADBDwAAAAAAAMEPAAAAAAAAwQ8AAAAA AAAiEQAAaAIAAIoTAAA6AAAAwQ8AAC0AAAAAAAAAAAAAAAAAAAAAAAAA6AMAAAAAAAATDQAAAAAA AAAAAAAAAAAAAAAAAAAAAABjDAAABAAAAGcMAAAAAAAAEw0AAAAAAAATDQAAAAAAAMEPAAAAAAAA AAAAAAAAAADoAwAAAAAAAOgDAAAAAAAAKAsAAAAAAAAAAAAAAAAAACgLAAA7AQAA7g8AABYAAACj DQAAAAAAAKMNAAAAAAAAow0AAAAAAAATDQAAAAAAAOgDAAAAAAAAKAsAAAAAAADoAwAAAAAAACgL AAAAAAAAvw8AAAAAAAAAAAAAAAAAAKMNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAEw0AAAAAAAC/DwAAAAAAAAAAAAAAAAAAow0AAAAAAAAAAAAA AAAAAKMNAAAAAAAA6AMAAAAAAADoAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAow0AAAAAAAAoCwAAAAAAABwLAAAMAAAA4Fa7bDPi zwEAAAAAAAAAAOQKAAAAAAAAEw0AAEAAAACjDQAAAAAAAAAAAAAAAAAAow8AABwAAAAEEAAAMAAA ADQQAAAAAAAAow0AAAAAAADEEwAAAAAAAFMNAAA6AAAAxBMAAAAAAACjDQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMQTAAAAAAAAAAAAAAAAAADoAwAAAAAAAKMNAAAAAgAAZwwAABQAAAB7DAAADgAAAKMN AAAAAAAAiQwAAAwAAACVDAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwwA AAAAAABnDAAAAAAAAGcMAAAAAAAAwQ8AAAAAAADBDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAjQ0AABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGcMAAAA AAAAZwwAAAAAAABnDAAAAAAAADQQAAAAAAAAEw0AAAAAAAATDQAAAAAAABMNAAAAAAAAEw0AAAAA AAAAAAAAAAAAAPwDAAAAAAAA/AMAAAAAAAD8AwAARAQAAEAIAACkAgAA/AMAAAAAAAD8AwAAAAAA APwDAAAAAAAAQAgAAAAAAAD8AwAAAAAAAPwDAAAAAAAA/AMAAAAAAADoAwAAAAAAAOgDAAAAAAAA 6AMAAAAAAADoAwAAAAAAAOgDAAAAAAAA6AMAAAAAAAD/////AAAAAAIADAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEADQAm BBUEHQQiBCAEIAAfBB4EEgQrBCgEFQQdBBgELwQgABoEEgQQBBsEGAQkBBgEGgQQBCYEGAQYBAkA CQAJAAkACQABACAAGAQgAB8EFQQgBBUEHwQeBBQEEwQeBCIEHgQSBBoEGAQgACEEHwQVBCYEGAQQ BBsEGAQhBCIEHgQSBA0ACQAJAAkACQAJAAkACQAJAAkACQABAA0AGAQhBCUEIAAgACAAFiEgADkA OAA3AA0AHQQwBCAAFiEgABMEGwQtADIAMQAgAD4EQgQgADAAOAAuADEAMAAuADIAMAAxADQADQAf BCAEGAQTBBsEEAQoBBUEHQQYBBUEDQANABIEIABBBDIETwQ3BDgEIABBBCAAPwQ+BEEEOwQ1BDQE PQQ4BDwEOAQgADgENwQ8BDUEPQQ1BD0EOARPBDwEOAQgADIEIAA3BDAEOgQ+BD0EPgQ0BDAEQgQ1 BDsETARBBEIENQQsACAAPwRABDgEMwQ7BDAESAQwBDUEPAQgABIEMARBBCAAOAQgABIEMARIBDgE RQQgADoEPgQ7BDsENQQzBCAAPwQ+BEEENQRCBDgEQgRMBCAAQQQ1BDwEOAQ9BDAEQAQgAD0EMAQg AEIENQQ8BEMEOgAgAKsAHQQeBBIEHgQVBCAAEgQgAB8EIAQQBBIEHgQSBB4EHAQgACAEFQQTBCME GwQYBCAEHgQSBBAEHQQYBBgEIAAeBCQEHgQgBBwEGwQVBB0EGAQvBCAAHwQgBBAEEgQgAB0EEAQg AB4EEQQqBBUEGgQiBCsEIAAdBBUEFAQSBBgEFgQYBBwEHgQhBCIEGAQuACAAMgAyADEALQAkBBcE IAAeBCAAEwQeBCEEIwQUBBAEIAQhBCIEEgQVBB0EHQQeBBwEIAAaBBAEFAQQBCEEIgQgBBUEIAAd BBUEFAQSBBgEFgQYBBwEHgQhBCIEGAQuACAAGgQQBBQEEAQhBCIEIAQeBBIEKwQZBCAAIwQnBBUE IgQsACAAHAQVBBYEFQQSBCsEFQQgAB8EGwQQBB0EKwQsACAAHgQmBBUEHQQaBBAEIAAdBBUEFAQS BBgEFgQYBBwEHgQhBCIEGAQuACAAHwQeBCEEGwQVBBQEHQQYBBUEIAAYBBcEHAQVBB0EFQQdBBgE LwQgABIEIAAXBBAEGgQeBB0EHgQUBBAEIgQVBBsELAQhBCIEEgQVBCwAIAAQBCAEEQQYBCIEIAQQ BBYEHQQQBC8EIAAfBCAEEAQaBCIEGAQaBBAEuwAsACAAOgQ+BEIEPgRABEsEOQQgAD8EQAQ+BDkE NARRBEIEIAAyBCAAIQQwBD0EOgRCBC0AHwQ1BEIENQRABDEEQwRABDMENQQgADEAMwAtADEANAAg AD4EOgRCBE8EMQRABE8EIAAyADAAMQA0ACAAMwQ+BDQEMAQuACAAHgQ3BD0EMAQ6BD4EPARMBEIE NQRBBEwELAAgAD8EPgQ2BDAEOwRDBDkEQQRCBDAELAAgAEEEIAA6BEAEMARCBDoEPgQ5BCAAPwRA BD4EMwRABDAEPAQ8BD4EOQQgAEEENQQ8BDgEPQQwBEAEMAQ6AA0ADQANAC0AIAA6BDAENAQwBEEE QgRABD4EMgRLBDkEIABDBEcENQRCBCAANwQ1BDwENQQ7BEwEPQRLBEUEIABDBEcEMARBBEIEOgQ+ BDIEIAA4BCAAPgQxBEoENQQ6BEIEPgQyBCAAPQQ1BDQEMgQ4BDYEOAQ8BD4EQQRCBDgEOgAgAD8E QAQwBDoEQgQ4BDoEMAQgAD4ERAQ+BEAEPAQ7BDUEPQQ4BE8EDQAtACAAGgQ+BDwEPAQ1BD0EQgQw BEAEOAQ4BCAAOgQgADgENwQ8BDUEPQQ1BD0EOARPBDwEIAAyBCAAMgAyADEALQAkBBcEIAA+BCAA MwQ+BEEEQwQ0BDAEQARBBEIEMgQ1BD0EPQQ+BDwEIAA6BDAENAQwBEEEQgRABDUEIAA9BDUENAQy BDgENgQ4BDwEPgRBBEIEOAQgACgAEwQaBB0EKQANAC0AIAA8BDUENgQ1BDIEPgQ5BCAAPwQ7BDAE PQQsACAAOgQwBDQEMARBBEIEQAQ+BDIESwQ5BCAAPwQ7BDAEPQQgABMgIAA+BEEEPQQ+BDIEPQRL BDUEIABBBDIENQQ0BDUEPQRMBE8EDQAtACAAQQQ0BDUEOwQ6BDgEIABBBCAAPQQ1BDQEMgQ4BDYE OAQ8BD4EQQRCBEwETgQNAC0AIAA/BEAENQQ0BD4EQQRCBDAEMgQ7BDUEPQQ4BDgEIAA3BDUEPAQ7 BDgEIAA/BD4ENAQgAEEEQgRABD4EOARCBDUEOwRMBEEEQgQyBD4ELAAgAD4ERAQ+BEAEPAQ7BDUE PQQ4BDUEIAA+BDEESgQ1BDoEQgQ+BDIEIAA9BDUENwQwBDIENQRABEgENQQ9BD0EPgQzBD4EIABB BEIEQAQ+BDgEQgQ1BDsETARBBEIEMgQwBA0ALQAgAD8EPgRABE8ENAQ+BDoEIAA4BDcESgRPBEIE OARPBCAANwQ1BDwENQQ7BEwEDQAtACAAPgQxBEoENQQ6BEIESwQsACAAOAQ8BDUETgRJBDgENQQg ADMEPgRBBEMENAQwBEAEQQRCBDIENQQ9BD0EPgQ1BCAAOAQ7BDgEIAA8BEMEPQQ4BEYEOAQ/BDAE OwRMBD0EPgQ1BCAANwQ9BDAERwQ1BD0EOAQ1BA0ALQAgADAEQAQ1BD0ENAQwBA0AAAYAAAIIAAAE CAAAPAgAAEYIAABICAAASggAAE4IAACECAAAhggAAJoIAACcCAAAnggAAKQIAACuCAAAtAgAALYI AADICAAAyggAANIIAADWCAAA2AgAANwIAADmCAAA6AgAAP4IAAACCQAABAkAANoJAADcCQAAsAsA ALILAAC0CwAA9PDo8N3TzNPFv7KppfCh8KGdpZmVmZXwjYh3aV2NXVMAABMVaDQ7NwAWaBRetgBL SCQAXAiBFhVoNDs3ABZoFF62ADUIgUtIJABcCIEAGxVoNDs3ABZoFF62AENKGABLSCQAXAiBYUoY ACEVaDQ7NwAWaBRetgA1CIE2CIFDShgAS0gkAFwIgWFKGAAJFmgUXrYANQiBDxVoNDs3ABZoFF62 ADUIgQYWaNYbpQAABhZoiU30AAAGFmgYYYsAAAYWaFR9mAAABhZom3iVAAAQFWghcXEAFmgUXrYA QIj6/wAZA2qHBgIAFWghcXEAFmghcXEAQIj6/1UIAQoWaBRetgBAiPr/AA0WaBRetgA1CIFAiPr/ DRZo+k6zADUIgUCI+v8TFWiFGvMAFmgUXrYANQiBQIj6/xUDamL+AQAVaCFxcQAWaCFxcQBVCAEP FWiFGvMAFmgUXrYANQiBBhZoFF62AAAVA2oAAAAAFWgXff8AFmgUXrYAVQgBACAABgAABAgAAIYI AACeCAAAtggAAOgIAAAACQAAAgkAAKAMAACiDAAApAwAAEoNAADuDQAAWA4AAIoOAABADwAAcg8A AO4PAAAAEAAAOBgAAL4YAAD6AAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAADy AAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAOoAAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAA4gAAAAAA AAAAAAAAAPIAAAAAAAAAAAAAAADWAAAAAAAAAAAAAAAArwAAAAAAAAAAAAAAAK8AAAAAAAAAAAAA AACvAAAAAAAAAAAAAAAArwAAAAAAAAAAAAAAAK8AAAAAAAAAAAAAAACvAAAAAAAAAAAAAAAArwAA AAAAAAAAAAAAAK8AAAAAAAAAAAAAAACvAAAAAAAAAAAAAAAArwAAAAAAAAAAAAAAAAAAAAAAAAAm AAAkZAQBAAElZAQBAAAmZAQBAAEnZAQBAAFOxggAAAD/BAEBAE/GCAAAAP8EAQAAUMYIAAAA/wQB AQBRxggAAAD/BAEBAGdkFF62AAALAAADJAERhBwBYIQcAWEkAWdkFF62AAAHAAADJANhJANnZBhh iwAABwAAAyQBYSQBZ2QUXrYAAAcAAAMkA2EkA2dkFF62AAAEDwBnZBRetgAAFAAGAAD0HAAA/gAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAQEBtAsAAMYLAADUCwAA 1gsAAPwLAAAADAAAAgwAAAYMAAAIDAAAFgwAABgMAAAeDAAAIAwAACwMAAAuDAAAZAwAAGoMAABw DAAAdAwAAIYMAACKDAAAnAwAAKAMAACiDAAApAwAAAAQAAAAGAAAvBgAAMQYAADx5vHZzNnM2czZ vK+8opTmhuaG5obmeW1cWlxMAAAAAAAAAAAaFmgUXrYAQ0oWAE9KAgBRSgIAXkoCAGFKFgAAA1UI ASAVaIEPFAAWaBRetgBDShYAT0oCAFFKAgBeSgIAYUoWAAAXFWg1WDYAFmgUXrYANQiBQ0oEAGFK BAAYFmi9V0MANQiBQ0oEAEtIJABcCIFhSgQAABsVaLhpIgAWaBRetgBDShgAS0gkAFwIgWFKGAAb FWjYBmQAFmgUXrYAQ0oYAEtIJABcCIFhShgAGBZoFF62ADUIgUNKGABLSCQAXAiBYUoYAAAYFmhd A3cANQiBQ0oYAEtIJABcCIFhShgAAB4VaDQ7NwAWaBRetgA1CIFDShgAS0gkAFwIgWFKGAAAGBZo iU30ADUIgUNKGABLSCQAXAiBYUoYAAAYFmgdapcANQiBQ0oYAEtIJABcCIFhShgAABUWaBRetgBD ShgAS0gkAFwIgWFKGAAbFWg0OzcAFmgUXrYAQ0oYAEtIJABcCIFhShgAABwtACAAQQQwBDwEPgQy BD4EOwRMBD0EPgQ1BCAAQQRCBEAEPgQ4BEIENQQ7BEwEQQRCBDIEPgQNAC0AIABBBDQENQQ7BDoE OAQgAEEEIAA+BDEESgQ1BDoEQgQwBDwEOAQgADMEPgRBBEMENAQwBEAEQQRCBDIENQQ9BD0EPgQ5 BCAAOAQgADwEQwQ9BDgERgQ4BD8EMAQ7BEwEPQQ+BDkEIABBBD4EMQRBBEIEMgQ1BD0EPQQ+BEEE QgQ4BA0ALQAgAEAEMAQ3BEoETwRBBD0ENQQ9BDgETwQgACQENQQ0BDUEQAQwBDsETAQ9BD4EMwQ+ BCAANwQwBDoEPgQ9BDAEIAA+BEIEIAAyADMAIAA4BE4EOwRPBCAAMgAwADEAMwAgADMEPgQ0BDAE IAAWISAAMgA1ADAALQAkBBcEIACrAB4EIAAyBD0ENQRBBDUEPQQ4BDgEIAA4BDcEPAQ1BD0ENQQ9 BDgEOQQgADIEIAA+BEIENAQ1BDsETAQ9BEsENQQgADcEMAQ6BD4EPQQ+BDQEMARCBDUEOwRMBD0E SwQ1BCAAMAQ6BEIESwQgACAEPgRBBEEEOAQ5BEEEOgQ+BDkEIAAkBDUENAQ1BEAEMARGBDgEOAQg ADIEIABHBDAEQQRCBDgEIAAzBD4EQQRDBDQEMARABEEEQgQyBDUEPQQ9BD4EOQQgAEAENQQzBDgE QQRCBEAEMARGBDgEOAQgAD8EQAQwBDIEIAA4BCAAMwQ+BEEEQwQ0BDAEQARBBEIEMgQ1BD0EPQQ+ BDMEPgQgADoEMAQ0BDAEQQRCBEAEPgQyBD4EMwQ+BCAAQwRHBDUEQgQwBCAAPgQxBEoENQQ6BEIE PgQyBCAAPQQ1BDQEMgQ4BDYEOAQ8BD4EQQRCBDgEuwANAC0AIAA4BDcEPAQ1BD0ENQQ9BDgETwQg ADIEIAA/BD4EQARPBDQEOgQ1BCAAOgQwBDQEMARBBEIEQAQ+BDIEPgQzBD4EIABDBEcENQRCBDAE LAAgADIEQQRCBEMEPwQ4BDIESAQ4BDUEIAAyBCAAQQQ4BDsEQwQgAEEEIAAxACAAPgQ6BEIETwQx BEAETwQgADIAMAAxADMAIAAzBC4ADQANACMEQQQ7BD4EMgQ4BE8EIABDBEcEMARBBEIEOARPBCAA OAQgAEEEPwQ4BEEEPgQ6BCAAOwQ1BDoEQgQ+BEAEPgQyBCAAQwQ3BD0EMAQyBDAEOQRCBDUEIAA/ BD4EIABCBDUEOwQ1BEQEPgQ9BEMEIAA9BDAESAQ1BDMEPgQgAD4EQAQzBDoEPgQ8BDgEQgQ1BEIE PgQyBDoADQAgACgAOAAxADIAKQAgADkAOAA2ACAAOQA0ACAAMQAxAA0ADQAYBEEEOgRABDUEPQQ9 BDUEIAA9BDAENAQ1BDUEPARBBE8EIAA9BDAEIAAyBEEEQgRABDUERwRDBCAAQQQgADIEMAQ8BDgE IQANAAkACQAJAAkACQABAAEADQATBDUEPQQ1BEAEMAQ7BEwEPQRLBDkEIAA0BDgEQAQ1BDoEQgQ+ BEAECQAJAAkACQATBC4AGgQuACAAEgQ+BEAEPgQ9BEYEPgQyBDAECQANAAkADQANAB8EPgQ0BDME PgRCBD4EMgQ4BDsEMAQNACEEPAQ4BEAEPQQ+BDIEMAQgABIELgASBA0AOQA4ADYAOQA0ADEAMQAN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+GAAAohoAAEIbAABEGwAA 3hsAAAAcAAACHAAATBwAAFwcAACsHAAAsBwAALIcAADKHAAA5BwAAPQcAADYAAAAAAAAAAAAAAAA 2AAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAMMAAAAA AAAAAAAAAADDAAAAAAAAAAAAAAAAwwAAAAAAAAAAAAAAAMMAAAAAAAAAAAAAAADDAAAAAAAAAAAA AAAAwwAAAAAAAAAAAAAAAMMAAAAAAAAAAAAAAADBAAAAAAAAAAAAAAAAwQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAZ2QYYYsAAAcAAAMkAWEkAWdkGGGL AAAHAAADJAFhJAFnZBRetgAAJgAAJGQEAQABJWQEAQAAJmQEAQABJ2QEAQABTsYIAAAA/wQBAQBP xggAAAD/BAEAAFDGCAAAAP8EAQEAUcYIAAAA/wQBAQBnZBRetgAADsQYAACiGgAAqBoAAMIaAAAG GwAAQhsAAEQbAADWGwAA2hsAAN4bAADgGwAA6hsAAPQbAAD4GwAA+hsAAP4bAAAAHAAAAhwAAEwc AABWHAAAWBwAAFocAABcHAAAqhwAAKwcAACyHAAA2hwAANwcAADv4e/T787JxMm3p7eat5qKhnyG cWZfhl+GVEkAAAAAAAAAFBVooW5sABZoGGGLAENKEABhShAAABQVaOcd2wAWaBhhiwBDShAAYUoQ AAAMFWiZLl8AFmgYYYsAABUDag1vAgAVaJkuXwAWaBhhiwBVCAEVA2qeDgIAFWiZLl8AFmgYYYsA VQgBEhVomS5fABZoGGGLADUIgTYIgQAGFmgYYYsAAB8VaJkuXwAWaBhhiwA1CIFDSjgAT0oDAFFK AwBhSjgAGRZoiU30ADUIgUNKOABPSgMAUUoDAGFKOAAfFWgdapcAFmgdapcANQiBQ0ooAE9KAwBR SgMAYUooABkWaB1qlwA1CIFDSjgAT0oDAFFKAwBhSjgACRZoHWqXADUIgQkWaBRetgA1CIEJFmi9 V0MANQiBGhZoElqFAENKFgBPSgIAUUoCAF5KAgBhShYAABoWaBRetgBDShYAT0oCAFFKAgBeSgIA YUoWAAAgFWj6VO8AFmgUXrYAQ0oWAE9KAgBRSgIAXkoCAGFKFgAb3BwAAOIcAADkHAAA8hwAAPQc AAD48OjkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhZoGGGLAAAOFmiJTfQAQ0oQ AGFKEAAADhZoKEvtAENKEABhShAAAA4WaBhhiwBDShAAYUoQAAQyADGQaAE6cBhhiwAfsIIuILDG QSGwOAQisFIDI5BoASSQbgQlsAAAF7DEAhiwxAIMkMQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGL+AQBEAGQAAAAAAAAACAAAAAAA AAAAAAAAAAAAMsQYLQECAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8EAAAACy BArwCAAAAAEEAAAACgAAQwAL8BwAAAAEQQEAAAAFwQQAAAAGAQIAAAD/AQAACABsAAAAAAAQ8AQA AAAAAACAUgAH8M79AQAFBf+Ws9d69runl/Sjd4CFl17/AKr9AQABAAAARAAAAAAAUgCgRh3wov0B AP+Ws9d69runl/Sjd4CFl17//9j/4AAQSkZJRgABAgEASABIAAD/4RZlRXhpZgAATU0AKgAAAAgA BwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAb AAAAcgEyAAIAAAAUAAAAjYdpAAQAAAABAAAApAAAANAAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhv dG9zaG9wIENTIFdpbmRvd3MAMjAwODowOToxNiAxNjoxODoxMQAAAAAAA6ABAAMAAAABAAEAAKAC AAQAAAABAAACgKADAAQAAAABAAABPQAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsA BQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABUvAAAAAAAAAEgAAAAB AAAASAAAAAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAA Af/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgATwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEB AQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAED AgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1 FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdH V2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAz JGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF 1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9VSSSSUpJJJJSkkkklKSSWTb Q3q+Y9tz93TMN2w0td7b7gP0v2nY79Jj4270vstnsfket9or/Q0JKZWZ+RmsP7MeymjfsOdY0vDj JY5uHSCz1nbvb9of+r/ufa1n3113ZYpyczJy8SquyrIstaK8YPb7/WzL2OwcTJ9Oxv2d9OBV7LfZ kel6d6y8j6w5mN1mzoPQKHXdSstFluIYGNj1WPtvy8mzL22bMl+5ll/89iV25NeLjUX5Vd3q1R9U /qv1G5mb9Zet09SyYAfWzIDKZbulrXWXXZe1u/8AwORjVf8Adfekpv8Aq/VjMLcDCfTf1TFsFv6u +mgmk2CjId9qp9St2PYxmy6j1Lc3+a9T0cj07qtDJ6K6nHN3SL8jEezdtfjua8bo9N32jAfW7Hvb VDvostzN/wDN+qssdC/xcWepRh1HqllrmmzGxcnIytz2bhX9o25FlFO3e/bbmWU0/wDCKY6PkYOU 2jpFl3T78gNdV0/Pv9Wq2uh1Zu+x5tb8zNwsilvpv9N32nEu/wAJhZNHreilNnG+tz8La7qj25HT X2tx2dTZtY+mza3dj9bxtzfs2Q13vdkYzPs3p/pfQxqV1TXNe0PYQ5rhLXDUEHuFx9XUsXq2FZi9 YorwuqOd9ly8TLdaag03MLLbLdlVO+2Lcjo2zI/0lODl/wBJ9GXS8wfVrrNP1fuL2dIznWM6X67m 7qLWuc77H6jd3qYeY13+SnXW/av0f2P00lPXpJJJKUkkkkpSSSSSn//Q9VSSSSUpJJJJSkkkklNX qWRfRik4zQ/Jsc2qgHUb7CK22Pj3elTu9e7/AIGuxcv1dp+rfTb+o4tj6bL8gG9tO19r3e3HxsTG x7/tGJXm5rnU39QyfQfZbsvu9Gz9B6HQdbycjGGHZQxth9cmxpaXvNbKci+xmKwPqb9qtbV6NXqP 9P8ASLmvrrhYvV8bp/Rch4wqbuqbL21u32F1tWXk4j+H+j9rt9tnq0forv8AgafUsSmnkUfVfD+q 3Uek5PW8bp/WM5w/bOUwh9xyC5r8qtuLWaLXYvutxq6aa66K6bLP+GWVf9ba/qjh1fsCv7ZiW4jK nufi5GNjnJFjnszfSyA3c7JxrLGZGzJ/Tenif4KjYqfV78mjqfS+uO9Ro69ijGzhXZZX+vYx+x5J d9gc1+3TY3+d/wC1CrdR9F5vwX3Ma21rm2OFzDc4gB2x/wBox8TL9NtrP0nr25O/+e/0aSnssnP+ uuZS6vLzsboTwBNGHT9quaXNB9DJy8q2rp2Pds/T1srv9f0lDB+peJbblXNzM+zrLsV7MPOy8t/r 1PI2tsAxRT+g32Ns/pOXU9lij07qFnU+jdM6s95Oays4WU7cHP8AVoJbf+kb/wByK2/a7GvZnYOz 9Pk4ldVVuZXdw+o1VXVDDeLn47y21tLXOYXbdzqj9nqyse7I9D3/AOTK/tf83ZbT9i9RJTzf1e6j kZXSb8u7Jtu6j0Wq02OvBsc+gsZ+0+nZFdr6vtO1rqPs7bv+1uF/o/53f6pU3ruB+0+uss6J0RlT Lcz7RDcoWVOa+puG+outqxrrPp1ZFPr3XVUfZMGjIu9dUsfBZ0vqmV1m+jE6Xa578vLzepu9e9gs Advwul4Nz8fBrdlWW1Uvvz7cy2y/0v0n8wtzCo/a9eD1zrRtbjNdtwen5LWkfpiMXGzcyqhrWP6j fv3/AEfsmFj5PpV0+r62Wkp1/q/1CzqnTR1B7X1DIss9Oi1u19TK3ux202t1/Tfod93/AAr1pLl/ 8W14v+qONY2t9VZtyPSreS5zWG+5za/Wd7r/AE52ersYuoSUpJJJJSkkkklP/9H1VJJJJSkkkklO D1n61Dpuc/p9OBfm5LaqrR6WwMBvsfjY3q7n/afR9av9PkY+Nk/Z0zvrhhY14xOo1OxsmvccwMc2 2uhg9P08ux4dXe/AyfXr9HLZi/ov+132P07fTyPrLnNH1gfXk+lhGrHdTjC9jHN6jVcKvtGO5+Zf 07AdRiX2V/qn2z7a/wDnKvs9P9It9MOGb7s7KyqszKqBpvx8Am8ljg4urysGt2bexzbHu9TH+05+ y+v7Ti3U/bc2m1KSfWH6zdGx8yvDyb/s9mLkMa91o9Otwvr+yWehfbtpudhM6nj5eWxr/wBDQqX1 9x8m3puRm9PY5/Uek342RWytu90V7n4+T6Xp2fzdt9n5n81TfX/N+v6dkfVygdFwqMKmzZXntyLq 8tm+yym0uwcll/rPc72dMyX0Nss9Sz0aFn9Oxen2ZWf0K61w6z9Xyz9lOYa3214wrY/CfgtyK6t7 /s/pV9Rpu9an7R/hK6b6vTSnFz24PVOjdVwaLW04X2unqnTshzm+mwZzdtLh9H0a6eqtuwcr/uJ9 rt9T+YWKeu210iu+8YkEVW41luSwU2AGu6v7Izq2TkV+k5r6937Op/m6/T9NaGd07K+rvUj1DoNT ep/V3rGO/CbTYbC2lt7w27DvabKrsb9Za+r1LP0lG+/1/wBZqs353VetdJxcxmK/p7upXY2w105R vGLj7RWdrWdQ39YzKaW+tW+vJtwOn/8Amt/PSU731Mx8izEzbb8pmB0LMyK7qL3udU6zIaC2z9nf bC97vVcMd32y9ltlV1H6lV9rrrzMNfWHqeJ0sV4nUvrFfiU1Dd+xuiUOptBdu3Ptz8qx9lrrHWer kfbP6S/9N6PqLCyPr/nyPUzr+q3GBVi0j7JiNkOaG2vxqsPqGfXv2fq2zCZ/pLslUekV/W7rfu6R 0fEsqAIbb9gxG1Ag6j7Xm07H2+76Lr/VSU7HV68fJ6Vh4fTeoY9WdZlUjG6NiZJyIfbuY3Jy+pM9 T7bnVX+i7fvrxMWmv0qq/wBJ6i7v6x5VXQenVMZaK8Pp/T75qHphxLG0YmB6QtpvbVY+6z0Krtll X6XZ9lv+nj53QOgYn1Xces51jM7qLh9mvfj1NZXWXOr34+DjYjWeo92Tb9m3+j9pvu9DGox6PVsX NfWLrGR1brFXRLHPvxOltqf1702STTjPffnMvzXu3X19ObtYz9Xx/t+a+39H6n2KtJT6N9TML7D9 VumUFuyw47LbQZn1LR69zn7/AH+o6yx29W8/rnSOnNyHZmUyr7JW229upc1j9+x3ps3WO3+lZ9Bq 5Hr3X+rZ+fdi9PFvT8rp/S7uqYrSQbHONlNNP2rEsZ6dVn2X7W37Jket7M6qz06sur9Bo9Z6X9T+ idEHTLmHFZnE0UModGVc95p9Smi559v2n7Ni15G99WJ/NfaPTrSU9Yksn6u4fVMbDL+p2vdfcQ9u M6z1hQ2P5n7U8CzJtc79Jfb/ADPqfosWurGrrWskpSSSSSn/0vVUkkklKSSWT1K67Lz6+i4z30tf Ub8/IqJbZXTPpUU02gfors25tn6X+cZjYuZ6PpZHoX1pSHq3Q8zJ6j+0MZ+PeXY5xXYucx9lLWOO 978dtT2MY6230ftfq03faq8emn1sVYb+o9b6Di5vUOsdMtzuoV0uf9ow6cduHFTfTZd9pY/9qN30 t35Prs/RfQxsf0mfpJVX/VQ3uuxqeoYtPrfZW/WGt9prfa57avTOa+66/IxvtX6H1syizpn2n/Cr X6JmXYmZ1fpvUcx11PTDVbTk5Ra237PZS22y2+xlePS6mvIZks9f/g3+t/NpKc7p3V/rNfi4/XR0 /ExOn5dFb31bsnMzHg60WAYVD9lbqrN+3077f9N/wc+p/Vfo3Xc2zOoecbrH6KyzU1X1tYLaK7Kn M9PKxXW/TpyXerT6mLV+r31evRbQZ9VujX33df6079idKyC4Y/S23OxKSyxjqHZOfFlPp5XUKRXZ Zi4/2X062ejmfaLvtCqZv7Y+oXTKrug3YeZ0TKyWMoqsr90ZG+77Tbn13U12+0V49eRc70/Q+z/u JKdK7C6t9XXOy7n5fUTtDf2pS1mRbsr3OZi9R6eWNudR+ls/WMLI9W79H9ptxfRptQcjrnR+ul9F nV20YTXN9bIya/s1mNc0+tVXiZtzm4Lc7T9B6eJZl0U+td9t9WmtV8z65DBzacfoWSfrP1zPfZ6z KnPONWwNsZQzGx67XYuNTXkNqfY/1Lb34lV1uVl/pqshX6Og9Q69nhv1l6Pjjp9OJXScnJFTs6+9 oG+xuR0+132Wnf6ns9T/AM+/oEpazq31W6x0zIuxs0Y2Z0oB9PUqqiLWA+yq8Uimn7XTa79Dm4Vd XoXfpKfT/SULO/8AHD6biMxcZ72HIa0Mrxa6X3ivZW/7Ncx9VeLjZlmW70GYlOAzp9LPX/S5Pp1o n1e6X9WfrDV9izfq2zAxHNuf095v3vsbj3fZc3d6Tq8rGtrvfR6nvf62/wDnPYgt69k/Ud2XU/6s nE6YzMAGXigva/GO9gutyX2O/WPdQ+hlv6OzfZi/qliSktmD9cOu1PHT/tvSMVrt1OTnGoZFzrP0 d91+Eytl2NdXY7fVkfaavsmHTSzp2F/o9/pv1U+r/wBXasnIuNfoOFIddk7QQKXeuLcrJsj1si/P ssyLLnemz+i47KvTxalgZP8AjHodigtzhkMseAy/pTa68wOMNZRZ0brQyfUY6w/z+LkXf9ZRhX9b 7si3Lp6Vfi5tBkZdWRTjtyfb/N5HR7bup4Vm11n879s/4nJxv5pJTGjpeZi9dx/rG/M6fZmdUuLX 5jr7G0+jZ6VLOmYDWVfZcvKpqo/Usi62r7R6mR6vTr/R9aq11S3635FjOkZpoxrbqyWdQxb7MTHe 559FuD+sYvUH25Tvp+jTbTd6X6Sq6v8AwY+jdCq6xlPu6hXgY2TS5juo4FHT3UvfuJtbXmN6hZkY +RVZY2zZm0Yv+Cs+xdQ/nVfwcKi53276t9I6bRjVuc2jKvYGOtc1211mK3Gqe6nF3M/R3vd6l/8A O/Z/R9K7ISnd6N0+rpnSsXBqpqxhRW1rqaNxrD43Xem639K9rrS93qW/pbP8L71dWZidYsOY3p3U sY4WZYJpId6uPdAc97cTL2Vbra62b7KMijFv/wAJVVbQz1lppKUkkkkp/9Psc13UKep5Dn4GfZgO IYyzGyPULnOFdhyGVfbKH4dNTmvq9H0cj1f8H9m/SfahOy7nva8t6307EYdpyHNofWCxp/SW12/b c/0/b/O2Y/2f/S/o11KSSnGps+sZpa7HtwOoU2ta6jMmyr2OEtsdTV9sqytzPfvpyMSu3/gliDPz 7783pP1aczO6nkHd1XrzobjY9hb6bKqK2G11t2NQz08bDre/7M/07Mu6+37aj5uJ/iutyL/tjukD Ie8+vutpY/eD7922xj67N384t/ozejM6fUzonoHAbIqOKWuqkH3w+rcxz9/85/LSUj6Z0LDwOg1d CM34tdJx7N+m9rgRbu2/6Te9c71b6y/Vnp99eL9aMM3dTwyW0W2YouNtYh1WZjXbPTa272epXv8A 0GZ+j/wXrLtEklPG9IDvrh1p3Weo9Nto6Pg0inpmNnVt/SW3fpMrO9Ah3+BbTRV7rqP9F+l9X055 GNndHqOF1wt619Wb2miumvDLrqNn6TCqsqxA9luPsr9D7R6Psyvsn80uvSSU8LhD6qfV3Gy+odB6 Rm4vVLqH10V24me4vfHqU4+66u2lnq3Mr+hYr+F9RcfKwq3/AFiys3qOZfWDmMsyrW0h7xvuoqpx n0Vtx2Wn9HWurSSU4HVfqljX4GHR0ez9kZfSnF/TciloIrLv56uys/z1OT/2pa/+e+nb6n5+Y/O6 V03M6n9WuvdStZRnYzH1X51gh4trfi57sbIs3VU/pGep9lfsrqtst+zU/Z/ZX2Sp9U/ZH2V37X+z /ZPzvtez0/7Xr/o0lPnvQ+gfUXo2Tju6e2761dXreL2Pwy2xtIbvcy2zZdTgUbNnt+1X2X2ZH8yt jJ6Nbb0jP+teTXZj9da6zqGA54LbsenHa/7F059ddj/0WRiN/wAoYv8AhLcy/wBT9LXWur6Z+y/s bP2T6H2LX0/suz0ufds9D9H9JW0lPIdQ6p0XIyH/AFh6X9YMTEFWK7FzXkNvIrL/AFseyqr1q3V5 dT/tH2b1acll3rf0a1ZlDcT619V6d0nDx8p31P6dhEeo77Rj1X2N2U47PV/RPyPQYyp9P+E/n10u aPqQeoUnP/Zn7RBYaPWNAu5in0/U/Su9381/LW6kp4y3JZj2D6s9VvfjZFWXXf0LqWUxz6rm1vZl 4+M7IdYPUyaPf069ll1N2RTs2fpchbV9/wBZNjnXfs/pdDAXWZLrbMqAP+Csp6VXX+96r77P+JV3 q7ekv6dczrPoDp7gBf8Aai1tWrm+nvdbDG/pdnp/8KubHSP8WODeH5NmBZc6toZ9uyhkfoo/Q+kz Pvua2rZ/NbGpKXb9aaWUPvf1Z91AeWNy2YFzcV7mn0nijPZVlY3p+rW/9PuyGf8AG1rU+q/U7M/G tN9l9uQXmxzn1FtLWu0rpwsuuqvGy6a2t/nmu9a2z1LrKcX1Ps1Orh/ZPslP2H0/smxv2f0dvpen H6L0fT/R+ls/m9iMkp//2f/tGxJQaG90b3Nob3AgMy4wADhCSU0EJQAAAAAAEAAAAAAAAAAAAAAA AAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+A AAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4 QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZm AAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYA AAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD///////////// ////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////// //////////////8D6AAAOEJJTQQAAAAAAAACAAE4QklNBAIAAAAAAAQAAAAAOEJJTQQIAAAAAAAQ AAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAAzsAAAAGAAAAAAAAAAAA AAE9AAACgAAAAAMATgBMAFIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAoAAAAE9 AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAA AAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9u ZwAAAAAAAAAAQnRvbWxvbmcAAAE9AAAAAFJnaHRsb25nAAACgAAAAAZzbGljZXNWbExzAAAAAU9i amMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAA AAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBl ZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABPQAAAABSZ2h0 bG9uZwAAAoAAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAA AAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRl eHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1 bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0Nv bG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmln aHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAAAAA4QklNBBQAAAAAAAQAAAAC OEJJTQQMAAAAABVLAAAAAQAAAKAAAABPAAAB4AAAlCAAABUvABgAAf/Y/+AAEEpGSUYAAQIBAEgA SAAA/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwM DxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAU Dg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAR CABPAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQAB BQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWET InGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N1 4/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcH BgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJE k1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH /9oADAMBAAIRAxEAPwD1VJJJJSkkkklKSSSSUpJJZNtDer5j23P3dMw3bDS13tvuA/S/adjv0mPj bvS+y2ex+R632iv9DQkplZn5Gaw/sx7KaN+w51jS8OMljm4dILPWdu9v2h/6v+59rWffXXdlinJz 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 389JTvfUzHyLMTNtvymYHQszIruove51TrMhoLbP2d9sL3u9Vwx3fbL2W2VXUfqVX2uuvMw19Yep 4nSxXidS+sV+JTUN37G6JQ6m0F27c+3PyrH2WusdZ6uR9s/pL/03o+osLI+v+fI9TOv6rcYFWLSP smI2Q5oba/Gqw+oZ9e/Z+rbMJn+kuyVR6RX9but+7pHR8SyoAhtv2DEbUCDqPtebTsfb7vouv9VJ TsdXrx8npWHh9N6hj1Z1mVSMbo2JknIh9u5jcnL6kz1PtudVf6Lt++vExaa/Sqr/AEnqLu/rHlVd B6dUxlorw+n9PvmoemHEsbRiYHpC2m9tVj7rPQqu2WVfpdn2W/6ePndA6BifVdx6znWMzuouH2a9 +PU1ldZc6vfj4ONiNZ6j3ZNv2bf6P2m+70MajHo9Wxc19YusZHVusVdEsc+/E6W2p/XvTZJNOM99 +cy/Ne7dfX05u1jP1fH+35r7f0fqfYq0lPo31MwvsP1W6ZQW7LDjsttBmfUtHr3Ofv8Af6jrLHb1 bz+udI6c3IdmZTKvslbbb26lzWP37HemzdY7f6Vn0Grkevdf6tn592L08W9Pyun9Lu6pitJBsc42 U00/asSxnp1WfZftbfsmR63szqrPTqy6v0Gj1npf1P6J0QdMuYcVmcTRQyh0ZVz3mn1KaLnn2/af s2LXkb31Yn819o9OtJT1iSyfq7h9UxsMv6na919xD24zrPWFDY/mftTwLMm1zv0l9v8AM+p+ixa6 sautaySlJJJJKf/S9VSSSSUpJJZPUrrsvPr6LjPfS19Rvz8ioltldM+lRTTaB+iuzbm2fpf5xmNi 5no+lkehfWlIerdDzMnqP7Qxn495djnFdi5zH2UtY473vx21PYxjrbfR+1+rTd9qrx6afWxVhv6j 1voOLm9Q6x0y3O6hXS5/2jDpx24cVN9Nl32lj/2o3fS3fk+uz9F9DGx/SZ+klVf9VDe67Gp6hi0+ t9lb9Ya32mt9rntq9M5r7rr8jG+1fofWzKLOmfaf8KtfomZdiZnV+m9RzHXU9MNVtOTlFrbfs9lL bbLb7GV49Lqa8hmSz1/+Df6382kpzundX+s1+Lj9dHT8TE6fl0VvfVuyczMeDrRYBhUP2Vuqs37f Tvt/03/Bz6n9V+jddzbM6h5xusforLNTVfW1gtorsqcz08rFdb9OnJd6tPqYtX6vfV69FtBn1W6N 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 AFk2Odd+z+l0MBdZkutsyoA/4KynpVdf73qvvs/4lXert6S/p1zOs+gOnuAF/wBqLW1aub6e91sM b+l2en/wq5sdI/xY4N4fk2YFlzq2hn27KGR+ij9D6TM++5ratn81sakpdv1ppZQ+9/Vn3UB5Y3LZ gXNxXuafSeKM9lWVjen6tb/0+7IZ/wAbWtT6r9Tsz8a032X25BebHOfUW0ta7SunCy66q8bLpra3 +ea71rbPUuspxfU+zU6uH9k+yU/YfT+ybG/Z/R2+l6cfovR9P9H6Wz+b2IySn//ZADhCSU0EIQAA AAAAUwAAAAEBAAAADwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABIAQQBkAG8AYgBl ACAAUABoAG8AdABvAHMAaABvAHAAIABDAFMAAAABADhCSU0EBgAAAAAABwAIAAAAAQEA/+EX+mh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0w TXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRh LycgeDp4bXB0az0nWE1QIHRvb2xraXQgMy4wLTI4LCBmcmFtZXdvcmsgMS42Jz4KPHJkZjpSREYg eG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJyB4 bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4KCiA8cmRmOkRlc2NyaXB0aW9u IHJkZjphYm91dD0ndXVpZDo2ZGEyZjQ2MS04M2U5LTExZGQtODBjYS1hZjYxYTk4YTEzNTYnCiAg eG1sbnM6ZXhpZj0naHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8nPgogIDxleGlmOkNvbG9y U3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogIDxleGlmOlBpeGVsWERpbWVuc2lvbj42NDA8L2V4 aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMTc8L2V4aWY6UGl4 ZWxZRGltZW5zaW9uPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6 YWJvdXQ9J3V1aWQ6NmRhMmY0NjEtODNlOS0xMWRkLTgwY2EtYWY2MWE5OGExMzU2JwogIHhtbG5z OnBkZj0naHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyc+CiA8L3JkZjpEZXNjcmlwdGlvbj4K CiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0ndXVpZDo2ZGEyZjQ2MS04M2U5LTExZGQtODBj YS1hZjYxYTk4YTEzNTYnCiAgeG1sbnM6cGhvdG9zaG9wPSdodHRwOi8vbnMuYWRvYmUuY29tL3Bo b3Rvc2hvcC8xLjAvJz4KICA8cGhvdG9zaG9wOkhpc3Rvcnk+PC9waG90b3Nob3A6SGlzdG9yeT4K IDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjZk YTJmNDYxLTgzZTktMTFkZC04MGNhLWFmNjFhOThhMTM1NicKICB4bWxuczp0aWZmPSdodHRwOi8v bnMuYWRvYmUuY29tL3RpZmYvMS4wLyc+CiAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmll bnRhdGlvbj4KICA8dGlmZjpYUmVzb2x1dGlvbj43Mi8xPC90aWZmOlhSZXNvbHV0aW9uPgogIDx0 aWZmOllSZXNvbHV0aW9uPjcyLzE8L3RpZmY6WVJlc29sdXRpb24+CiAgPHRpZmY6UmVzb2x1dGlv blVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6 RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjZkYTJmNDYxLTgzZTktMTFkZC04MGNhLWFmNjFh OThhMTM1NicKICB4bWxuczp4YXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4 YXA6Q3JlYXRlRGF0ZT4yMDA4LTA5LTE2VDE2OjE4OjExKzAzOjAwPC94YXA6Q3JlYXRlRGF0ZT4K ICA8eGFwOk1vZGlmeURhdGU+MjAwOC0wOS0xNlQxNjoxODoxMSswMzowMDwveGFwOk1vZGlmeURh dGU+CiAgPHhhcDpNZXRhZGF0YURhdGU+MjAwOC0wOS0xNlQxNjoxODoxMSswMzowMDwveGFwOk1l dGFkYXRhRGF0ZT4KICA8eGFwOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDUyBXaW5kb3dz PC94YXA6Q3JlYXRvclRvb2w+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9u IHJkZjphYm91dD0ndXVpZDo2ZGEyZjQ2MS04M2U5LTExZGQtODBjYS1hZjYxYTk4YTEzNTYnCiAg eG1sbnM6eGFwTU09J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8nPgogIDx4YXBNTTpE b2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ZGEyZjQ2MC04M2U5LTExZGQtODBjYS1h ZjYxYTk4YTEzNTY8L3hhcE1NOkRvY3VtZW50SUQ+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRm OkRlc2NyaXB0aW9uIHJkZjphYm91dD0ndXVpZDo2ZGEyZjQ2MS04M2U5LTExZGQtODBjYS1hZjYx YTk4YTEzNTYnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4K ICA8ZGM6Zm9ybWF0PmltYWdlL2pwZWc8L2RjOmZvcm1hdD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoK PC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 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 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxI TGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAA AAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAAC BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRk AAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0 ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENv cHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JH QiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxY WVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAA GNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA AAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVm ZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVy ZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQ AAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3Vy dgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQBy AHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEB BwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC 1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQg BC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUF xQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQes B78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ +woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oP lg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLj EwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrF GuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4f aR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRN JHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p 0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+R L8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1 /TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTyk POM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BE A0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT 9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl 52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94 b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl5 53pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSA hOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56Q BpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuv nByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+Co UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUT tYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C 28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC6 0TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynf r+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60 70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+ 3P9t////7gAOQWRvYmUAZEAAAAAB/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMDAQEBAQEBAQEBAQECAgECAgMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCAE9AoADAREAAhEB AxEB/90ABABQ/8QBogAAAAYCAwEAAAAAAAAAAAAABwgGBQQJAwoCAQALAQAABgMBAQEAAAAAAAAA AAAGBQQDBwIIAQkACgsQAAIBAwQBAwMCAwMDAgYJdQECAwQRBRIGIQcTIgAIMRRBMiMVCVFCFmEk MxdScYEYYpElQ6Gx8CY0cgoZwdE1J+FTNoLxkqJEVHNFRjdHYyhVVlcassLS4vJkg3SThGWjs8PT 4yk4ZvN1Kjk6SElKWFlaZ2hpanZ3eHl6hYaHiImKlJWWl5iZmqSlpqeoqaq0tba3uLm6xMXGx8jJ ytTV1tfY2drk5ebn6Onq9PX29/j5+hEAAgEDAgQEAwUEBAQGBgVtAQIDEQQhEgUxBgAiE0FRBzJh FHEIQoEjkRVSoWIWMwmxJMHRQ3LwF+GCNCWSUxhjRPGisiY1GVQ2RWQnCnODk0Z0wtLi8lVldVY3 hIWjs8PT4/MpGpSktMTU5PSVpbXF1eX1KEdXZjh2hpamtsbW5vZnd4eXp7fH1+f3SFhoeIiYqLjI 2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwDf49+691737r3Xvfuv de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+690SP5EfzI/gh8U8d3JV96fKfqHamW+PWA2ju zu3r/DbkTsTuPrLa2/N09dbL2juXdnR3WkO8O4sdgM3uPtzbEEdYcGadY87Rzu6wTJKfde6JJtH+ e98Ufk9h9w4b+WbsPv7+ZH3Xi/Pj0626g6b7I6Z2LtDMZDYvYm7tmZPvj5GfJ3aPUHSnSOwN1ZLr qoxMVdU5LJZ2qrJ1TE4TLzRywL7r3RBOxOvv+Fb3yezEHbPXPdXwE/lubTyn94cfhvitk6vb/c2+ toYfH763cNtZPtDsyp+Mvye2nu/f+V2nNj1qK7bOexuCqqOCmmGExFfJX0i+690v+u/5Zv8AwoA7 w2LPtH53fz0P9HGAye/9vf3s2f8ABr4+9Z7Y31uHq3b+Y2juap/ub8scN1v8auzOmt/7hraCvxzf ZbdzOOgo0jar/itLWVmJHuvdD7/wyvsXqD/jLPaH85v+dvU9Z9X/APGROxKbtf8AmcZjaPVtRsXZ P+/l3dB2Vuzb2y9gZ/bGwJcBjKhczkaHPYSsoscZpoa+jkRaiP3Xutersb4R/ED+Xj87+svkn8D/ AOXHgP5zn8vP5a4BqbeHXHUnxY7x+dG1viN1psR8B1zuDM/Hr5LZjsHvD419ydvdldz7X3HnMpjd wUrbg29T7b/u7FX7doM82Sm917oXtx97f8Jgdm/3+pumvl78+/5NnfHYO/6PdfyV2H8UK3+YR8cO 0ttb6wH99I898eu3OpqHrfuH467U/wBFG8t65Ojkw22sSKPbmRono8LWw4xp4av3Xuh92X8V/hD3 z9nTdA/8KzPn3WZ/vDYGwcP8ath7j/mnbTr+0qDurfn9448DJv7qauzPXHZm8v7wVu5dq0cPXCYn Ze7qDI47I0dRkjVZOCHC+690dzbVT/wp7+HGRqZd4Yb4R/zheqpu3t2U1JRba3Lhvhn8tanrSu2t maTY2ZqcplNp9afF7rvAYfOYDH5DLY1aPf8AuAVuaqMfT19XQiPJ4v3XuvdH/wDCov4Ibi7jwPxp +YfV3yd/lw/IFsBsWPfO3/lz1km1Ovtmdl72g2TLSbDrd4UWUn3tt3AVVNvNctQbt3ptPZW3321S tk8hNixNBTv7r3WxrtPdm1t+bW21vnY25cBvPZO88Bht2bP3htPM47cW1t17W3FjqbMbf3LtrcGH qazE53AZ3E1kNVR1lLNLT1VPKkkbsjKx917p/wDfuvde9+691737r3Xvfuvde9+691737r3Xvfuv de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//9Df49+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ 691737r3Xvfuvde9+691737r3Xvfuvde9+690AXyn+SvVvw6+Ofc3yh7py38J6z6P2Bnt/bl8Fdt 2gzGc/hNKf4NsvaP97M9tjAZPf8Av/Py0uD27jqjIUn8VzuRpKJJBJOnv3XutYvrH+ar/OM/nZbF 7HyH8n3ofoH4S9D7N3/v/r+p+Z3y27QwfY++s7uLZ+Y6i3ZtPaG0Om9tdd9h0XWO/wDPdZ7x+5z0 WX2v2Dtb7PJVFNj9wUmTx9PUVvuvdD9hP5E/dUX+nLsj+Yp/Oi/mdfMnrPcP8X3vvj4/9G5ztzo/ q3f+xZ/70Z7uvp3dHx46q3v3vn+wtgdqYCrXC0Wy+tqHadZTY5qjGYiCWSqoY6L3Xun/AORc+1t+ fB6l/l8fy2P5Sfyd7j6d6Wz/AMLN9Y/rfuDo3HfCT4xbr2t1b8w9kd7b76P3jlv5i+U6X7V7Nz/Z u1ul8y2683jtj7/p6rIbrpqrO1VTWZKqv7r3QvfD7C/zUvlV/MYxnyt/mAfDjYHwX6H+MXQPb3Xf xl652d8oo+2e0t876+SuU+Pzdgz9r5/pXsCp6z7b2BtSi6Craumx24Nvbdo8Zkc5hqimoMzk8VHm sV7r3VrPy57L+TvUfTlbvn4lfF7AfMLtXG5/BU0vR2Z+QGA+NuRze1slPLQ5jM7T7A3hsbeeyarP 7dqZ6aqkxuXmwlPU4tKySGveugpMdkPde6rln29/wom7E31u7bWZ7E/lDfGHpTd/+kTH4Dsbq/aP y0+T3yM6Zw+Vw+4V65yeDwHZs/Q3Sna+/wDbGSlxsdTXZajxGCnlSWvfCTwqMLP7r3VrPR/XO6et OvsDh+w+zc/3L2rWYDYsnbnamZXI4LHdidl7b602T17unfm0+rBn87sno3Ab4qdlLmJNpbUWi2/R 5SurKtIZK6trqyq917pg+UPQn+zPdF746N/00d/fHn++/wDdn/jMHxe7G/0Td6bQ/u1vDb+7/wDf j9gfwfP/AMA/j/8AAP4Xk/8AJJfusPW1dN6fNrX3XuiR/wArL+Tn8Sv5RO1u39v/ABmyXb268t3l n9qZnsLfPdO8cJufdNfjth47MUWyNp0FJs3aHX2ycXgNs1O6s3WRSRYcZSpqMzOtXWVMENBBR+69 0Pu7P5Z38uDfm6dy753z/L9+Ee897bzz+Z3ZvDeG7Pil0RuLdO6907iyNTmNwbl3LuDMbCrMtnc/ nctWTVVZWVU0tRVVErySOzszH3XulB8bPg18c/h/vruzdnxo2b/oZ2n3z/o3ye7OhtgSUu2Pjntz fXXeHzu2antDrHprDUVFtPrPf/Zm063D43d1Rh46Wjz8W1MPUTUy18VZV1vuvdVi/Nn+XJ80O9e3 K/cvZvfOwP5h/wDL8rt/7w3Puz+V73p8dPjL1vvrA7F3P0r2Xs6pqPjT8yMNsGh3ZS9/db7s3gJO upshWddVjUcqUOX7Bx7rWZ2s917rTv8Am9/IC6c7Y+d+7Pib/KX31n8Z8gdj/GLfvyq+SXwU+U+X noN0/G/Is/SO8euOhuvPkFgMPujp3sjP72258lMRhMRSTbtz2LwtRtqrqM1vqrFdFJD7r3VvHw/z P883+Rn0JsTsjujaef8An5/LUwGA2xmfkj17kqnd/wDs3/8AL/wHVezNs9Wdw7T6m232PuXFU2Z6 h6s3slV/AZNs1e9+sdzbG2Adz46s2Xhdwy5yT3Xurt/gD/woz/lffzCt0w9bbG7Uz/QfcWVz8eA2 f1D8p8ZtrqzdPYs9dkdm4Hb69ebkw+8N69Vbuz+7t071hxmI2zS7jbeNfUUdXLHiDRxLVSe691ev 7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3 Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 97917r3v3Xuve/de6//R3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3VU3y5+fnceF7jrfhd/Lr 6EwHy5+ZuLwGC3B3NV7t39B178bPg3szseCXF9YdmfKffMFPWZbO5/O5ashz+O6q2z/v/dzbJxWW ylL9lDHjZMj7r3TBR/yh+re7e0tufIX+Zjvr/hx/uvZP99KPq/bHZ/Xe3difDnojbu89xb+rMhtz pr4e4zIbp2nkf4jtPdOHxeTzXZeZ7M3TXz7Rw1cmVppqGmSD3XurePfuvde9+690gN/dobF6x/uX HvTOfwyt7H3/ALc6v2DhqPGZjcG4t4763P8AeVNHg9uba25j8tn8t/CcBicjns1Uw0z0e3drYbK5 7Ky0eGxWRr6X3XuqCfnL/wAKUPij8TcxvLoPrnpzv7v7+YHt3v6P4+4b4MTdbdkdW763DmKrfVbt vbW+6Tf9T11vfaeb2B2ztODH7h2Gdsx7nzu6aPdO31GMpEra+fFe691sa+/de6IJ80u9f5gHR/8A AMr8PfgDsD5yYDIfwvH5zDf7Oltn4zdpbezFX/eqpyeT/u12h0plus8tsDE0WJxkX30O9Vzs+Ry/ iTCClpZa8+690P3xe7D707V6L2Pv75K/Hf8A2VDuvPf3m/vp0D/pb2f3r/cL+F7w3Bhtuf8AGVNg 0WO2nun+9O08dQZr/JIU+x/iP2ct5qeRj7r3XvlP3XmPjl8c+5u8NtdVb/713Z1vsDPbh2V0t1ft bfW8N9dsb6jpTS7H67weK632P2Ruyh/vhuyqo6Cpy8eEr6PAUc8uTr1Sgo6mWP3Xuten4I4H/hUn mfiVhu9O0vkB8I9xd6dw5/b+Uwvxj+d3x43D1zkelunIMJnqqm3Tmd8fDqk62y23+3t8ZavojkNi bg2xmpMRi4aV58rh8wmVwPv3XutlTq/I9pZbYuDyHdOztgbA7MqP4n/eXaPV/ZW4u39i4nxZjIQY b+B9ibs6o6Pz+4fv8BHS1NT9xtfF/aVk0tMn3McKVc/uvdBDuz4WfErefZe5e8cx8dOoaP5A7rwG Z21lPkptPZGE2H8naXHZ3r6p6oranbXyU2NS7d702Zn4Ot6psLR5bD7goMpjseEipKiERx6fde6C HFbU6j/lsbF7n7Z3r8hfl5vbpTeW/wDp2DDdfdv7z7q+beY6u31vvMbI6D21tHoeap2v3D8xN2f6 auxtxYNZdu12e3dR02dq2mw9JioamvWb3XuixZnf3wo/nIdObT+Q/wABu9eoe0/lD8Rs/U9xfFPs yk3TvfrjefSfcbz7lwWG2F8h9r43F4P5A7J+MXygk6/rdsdgbYyeGpI9+bC+6qcdHJU0+IylJ7r3 S/8AgD86fk729umH4zfzC/hnn/hP8zaPqGPuTC4XC7uwHcPQnfvWm18js3r/ALS7F6p7S2BlN3bW 2Vn9ldq7uoIsz13mc3kNwYDDbk2/VrX5eGunnpPde61Lf+FBH/CY/wDuB/fD5s/yy+t9/wC7Mbuz f+04uxPg1051h/ez+4H97P7zx7u7U6SodvZ/+9n9wP72fwCnOwMLtnLfwD+LV+QpKig23QLjsV7r 3QQ/y7v+Fivcfx86c6o6L+a3QWf+VlTszP4vbWY+TmG7cg273HUdORT4mliqd2bH3BsfM4nunt7a GJFaI8tWbn2zJuiOKjTLVC5I5DPV3uvdb9nxG+Znxi+eHTlF378Su3cB3L1VWZ/O7Tl3BhqLP4LI 4XdO254osxtrdmz94Yjbu9tmZ+Cmqqatjo8vjqKoqcXXUeQhSShraSom917ozvv3Xuve/de69791 7r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/9Lf49+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ 691737r3Xvfuvde9+690wbs3ZtbYe1ty753zuXAbM2TszAZndm8N4bszOO27tbam1tu46pzG4Ny7 l3BmKmjxOCwGCxNHNVVlZVTRU9LTxPJI6orMPde61yvlR8uf5vfyd+WvTvxq/ls1vxi6H+JnyQwG +d27D+du7sFW9sdx/wChz425v481HfHyn626331LiOqtw9Q773T8gcVsDrnHPg9zSb/jpp92UGWx 20szhdz0vuvdXb/Eb4jdOfCnpyi6b6bos/VU1Vn87v7snsnf2dn3n3H3x3HvOeKv7F71717Fr4os t2N292NlohUZTKVASNI0goqKCkxtJRUVN7r3Q/bs3LjtmbW3LvDMU2frMTtTAZncuUpNp7T3Tvzd NVjsFjqnKVtNtrY2xsNuLe288/PTUrLR4nD4+vymRqClPSU808kcbe690APS2Z+Wu8901+9+6Np9 Q9JdVV+AqqXZ/Q2Nqc32p33S5GqyOKy+3979s92Yfcu3endmZ+DblVVYbPddbZ29vrF47M0gr8d2 NmqGZaZfde6CH5x/L7vT40f6L9l/Gr4Hd/fObuvuj++v9y8D15ldn9X9F7L/ANHX90stuP8A2Yj5 K7+q5Np9Ff3j2nnq+baP3eOyH958xiJMVF4JpY5ffuvdVTdLfysv5zuR77r/AJc/IT+cxgOue1ey c/VUvY3TPQXxI667s606j6cl3nip8l0t8POz/lZ/Hano3Ab42TsrbsmaqqbYKSZjcGIx1duaLdtd iKfJVPuvdD7S/Gz+UJ8FOweln+bHzMwHcnyh6lwGV3l092L/ADafn1Rdwdx7ax27Oy6Dc9B2l1h1 t3/2Hiequss/Qbp6rx2Mxm7tlbNwGU8e2FhaumqUrpZ/de6F/vL+fh/Jz+PP91/7/fzBegc//e/+ N/wn/Qbl858nvtP4B/CPvv70f7LVgu2f7kef+Nw/Zfxr+H/xPRUfZ+f7Wq8PuvdUE95f8La/i3gP 7r/7LV8Iu/u2fu/43/fT/Tl2F138ef4B4P4R/dz+6/8AcGD5Pf3v/ivmr/vfu/4H/D/tqfxfefcy fa+691QR/NE/nYf8KDt4f6Ocf8lcL39/LL2nmfNWbL2j0/1F318Mf9JG4tjfxODce46bsTf2Wqu6 94fY43sigpsxhaTdD7Wi8eKqZcVHXrHVy+691fv/ACAf+FGv8v8A2b8Oej/hT8r67YHws7M6P/uV 0psHM4nZu5qDovuzD56uqKaj7Vz25duYLNYDqDf9bn6iWu7Kyu7qzGYKtzGRl3ImTEeQyNDg/de6 2NOr/wCdN/KV7f2Lg+xNp/zFviHicBuH+J/YY/tDu7ZPR++qf+E5jIYOq/jnV/dOU2B2Ztjy1uMk em/iWIpPvaNoqun8tLPBNJ7r3XuxO9f5qXUWYglpvgD0D8r9gV3f24dvJlfjj80o+t+6sH8c8pvr d1fszsTMdLfJ3pTrfqau3/s/qalxNBm8RR9uvFm93SmSjbH4qolfF+690dzpbuLHd17Wr9wUuwu3 usstt/P1Wzt4bG7p6x3T1tunbW88TjsVW7gwtBV5ijfZPaeAw1TlRRxbw2LmN1bCzlRTzthc7k4I mn9+690L3v3Xuq5fnv8Ay8NrfMDHbY7M6s3XgPi587Oo8/1/nvjt88ttdY47efcfTsGzt05HIZvZ NTDDuXYlT2f1Dv3ZO8d1YHLbH3DlKzZ1dHuWoqqzGVcsaKfde6pH713D/wAKq/irunKfNjfO7fhH 8qOi+vc/sGp3h/Le+GfXnbe5t09mbWz2R2t1fuDDdRZDMfFjO/IGjz9HJnZt3z5Kq3nlKfDVFLUV clBXYembAze690fv4Kfznvgh/Otx3ZXQXxy3/wDJ3oXu/b+ArOxItv5nbydbdx7W2t17unrCXD91 7T3hs/JdudF5vAY7sjeGIopNr7iyOUp9xx09Zj9wbZye2qqrp673Xuqh/wCdp8FfghQfNfa/eHyG +CHUOw8TW4DsDd3XXYEvyXT4nfEr+Zd2Xk9kdk707J+Nny97x2xsnZNN8Hfm5gd7ZCXffW29c1kM tt/uKixldgc5n6ecxRbb917rXp+F380LfX8hT+al8oNp1Pw33/8AHn40dj7/ANtbR+S/wa3v2Bh+ 5O3Op8PtqPI5baG4ene+sjtfYH9//wC4H9/8tktlvWSS4Lemys1BT1mXr6mbH7ypvde6+lT8GvnL 8c/5iXxz2b8nfjFvL+9OwN0+TGZnDZOOlx2+ust9Y6loqncvV/aG2qatyP8Adbf+1v4jA1RTrPUU dZR1FNkcdU12KrqCvqvde6N57917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697 917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3X uve/de697917r3v3Xuve/de6/9Pf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdVy/wAyv+ad8Sv5U/TmE7e+UW48/PU7 zz67a6z6j63oMJuLuPtLI0s+NO6KnZW1s7uLamJbAbDxOTirs5lslksdi6COWmpTUNksji6Gu917 qsXafwp+Zv8AOU3Ttrvb+bFgs/8AFr4DZnqHDSdafyiOt+7e1cVunem6c/kabN1G/P5gm+do4fpr LZrP7by22MPuTau0qPw1G3ag46CuhweUxm5KTc3uvdMH84D4HfzANifIz4B/O7+SX1VsCl7r+NGw M78WO0uosfvnbPWOxd7fFGhqsHurqLpnJ9W7y3h1v0pXdA7PyVLuWirqDF1+H3JQ1mawlXiv3sPQ 5HAe691dv0/3P8jNz9W0y959LdA9EfLfeOwN39idX/Fam+WtV2d/E8PtbbvX4yEHYHZmM+P22q3b /wDc3szsfG7c3hkdpbZ37gtv/f4+qpa/LNkaakb3XujO7Tqd01m1ttVe+cNgNu72qsBhqneG39p7 lyO89rYLdM+OppdwYbbW8MxtPYeW3XgMZlmmgo8lVYPC1FdTok8lBSO7U8fuvdP/AL917qkj5K/z 5fhz1R3plvhb8caHf/zp/mB/3/run9vfE348YCu/a7Sp9n57ck9N2L3vu6iw/SmxdgbFyWHWg37m KPK57I7D/wAsnyWK0YjLrRe691pYfMf+fN/N7+XHy17o+Hm4vk31D/KU2TszP917D3/hsNuyt27j uqcj8Zs32P2Nlsbuz5WdW7S7Y+QO6u3shJ1/FsuNusmx+L37lIqPH43AqmYqYar3Xuten5P9efDn q/D9bbR+NnyI3/8AKDsyn/imR717QXqSu6g+Oa/xjYvUmT2ts74+4/f1bTd8b2/uTvmp3rjs7uXd 23dlfxeKHFtQYKmjSeprPde6QGM3n8c8JsXq+Wm6K3/unuva2/8AH7h7NyvYne9Lkfjn2rsXHZjO V7ddwdLdc9Q9Vd17C/jeNfE0GRy9H27UVjRU9fJRrQzV1K+L917o7nev87f+Zn8kvjFlPhl258hc Blfi9lcBsHacnTe0/jr8XurNrY3a3Vmf2tubrzbW2n6q6W2Vlto4DaOW2VizR0eKqaOnjp6NKbQa YvC3uvdAFS/LT5V/JvuPpak+Q+Y7e/mUZbC5/K7T6q+P3yX7b+U/cuO3JuntaCg2rT7a2dj+vO5N mdxUuf3FuODDT09HtjOY6oy+UxmPgqUrIFNJL7r3W0l3l/N3/wCFTXb/APdfM7R/ld7/APjv2ZtH +N4zD909P/ytvkJuTtKn2Luv+EVW9ur6bK/I7E9/YDD7A31n9p7dy2Yp8djaOsrcjtfFO1SI6YxS e691rl9ofy7f5tXb++s52Juz+WP8vMTn9w/wz7/H9X/y497dH7Fp/wCE4fH4Ol/gfV/S3RGwOs9s eWixkb1P8NxFJ97WNLV1Hlqp55pPde6O3hv55P8ANZ+FfxK3Z/Kp7u65wEFNszAU22toy/Kzqvt/ bvy1+LuOqsJtreHSVT1jmKjffXmW2Pn+ictFid59WZbMYbI5TaVbFipsZULjcdhqSi917q3n4A/8 KTu+/wCY78nYfgT/ADC8F1Ds/ov5v5+Pq3rjtH4+bV3nsTtn4p995vAbNxPxt3V0hmshUd0yHP4b 5A7QoM1trM5mjqcztDsLcNNuNc/R4fAUuKh917rfN+OPXnenV+xcxtHvz5Ef7NBn6ff+9sjsrtDJ 9SbP6g30vVuYzEmT2Ps7tDH9b1tN1nvbf+yaKpkx1RuXb23dlY7L0cNMzYKmqkqams917ooXww+c e4u+fmN/Mi+Fu6Or9/7VyXwI3/1B9t2V2VvXq3Obi7X278paHsztfaH8O2d0/tLD7T2LsDYu08PR UG0/u8rmd05Pa0mPn3N9puRcrC3uvdG97f8AlD0X0FvrofrvuLfH9wM/8md/1fVHS2Qzm2d4LsXd faUWHmzmK61yHaFLt+p6z2Tv/e1FTTJtfDZ7L4vI7trKeakwsNfVQywp7r3QQfNv4jY75KbW2R2H saiwGC+YHxcz+Q7i+F3bmWzu6dnQbJ7jo8co/uF2FunYUUm9sh8Yu/Kahh2p2vtilWaPcmzqyoSO OPKUuLrqL3Xugh+NXeXw5/ng/wAufE7ozm19gds9KfIbYFDtD5BdG1mbrty/6LO0oMXgc3vrp/ce XbEbH3ZhN/8AU27J6arwu4KeiweRbw4rc2EeGGpxda3uvdaWHz5/lpd9/Bj5r/CDqruTpjAfzH/j XWZ/JfEb4K9o/Izfm88Fjt79CdkbI7kxO2v5XPfGa2VtbMU3WnydwG9uxCvx57Up5NrYbauUrjlq 2eTbuFhxXV/uvdVD9AfPzI/yTf5j+7dwfGfoTP4LLfH7t75P/FfvfY3dm/trbh3T8gPjZR97w1uA 2D2pV7Jp997J6w+TuwqnZ6UeR3n1zmJtk19RgsE1PgKiCl3BPvL3XuvrR9B9+dOfKPpzr75A/H7s HAdp9O9p4CHcuxt87amnfHZfHPPPRVdNU0lbBR5bBZ/BZajqMflsTkKekymGylJUUNdT09ZTzwR+ 690L3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3X uve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6/ /9Tf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+691737r3RQ/nL85fjn/Lt+Oe8vk78nd5f3W2Btbx4zDYbGR0uR312bvrI0tbU7a6v6v2 1U1uO/vTv/dP8Onanp2np6Ojo6epyORqaHFUNfX0vuvdVDfy1/gP2l8mvkZ2t/OI/mnfH3YGF+RX ef8Aoo/2TD4sdiUe4uzMx/L16L6rqv49sPwDsWvqcBsnv7e2fpsdufI/w7b+GzG1s6lfWxfwTI7k z23cZ7r3Wxr7917pg3Zuza2w9rbl3zvncuA2ZsnZmAzO7N4bw3Zmcdt3a21Nrbdx1TmNwbl3LuDM VNHicFgMFiaOaqrKyqmip6WnieSR1RWYe691qW/OL4Kd1fzt/wCZhs75BfCv+Ylv/wCN3xo+IXxD 2dg+rflb0jQdub02Luv5Gdw9nd9Yjt3H/FHsLZu+epupt7+DqbCY7Cdn7o2bvOulx9ZT4rbORhqK mGugw/uvdXMbs7F+MX8jL4Ibl3/8kPlH8ne5Nk7Sz+ZyQ7D+U/duf+Rvyd7w7L3YlTUbV6m68k3T XYLE1mfrMTgkosRgcJSYDb+Ox+Oq83lTTImfzje691QTnP5gXTn8zTpzfHzY/mMfOvt7+XH/ACms r29vXqH4+fAvaNNP1Z3H88OvusZ+t9ob97R7J7T61O7vkD8h+oeyZO7M/srsbrfrLHSba2xHRwNL nDXYKszVX7r3VBO+v+FDHX3Wn8zPo/5A/DL4qYDrT+XN8Xs/vbf3VHwc2LtLrT4dQdidx9ufF7Pd Ddi9694R9O4/tzZOb7ex1TvCpx+Eyhp8jHR7OxNLQ00GPqsjmamq917oXu3/AOXp/wAKOv5tGxeh 9j574WbA+HfwpxG/6vJ9TfGPaOD6b+E/xz+OuYzWYm2ZvztDcPxmyW6/9mX/AOL1/HdyPUZvC7lz oi3Bl6nbVMaPNimq/de6sa+En/CK7ay7W3vV/wAx75J5+fe0+fx9N1vt/wCEm7cdS7Wxm1qXHNLl szvfeHe3QlZls7n87lqwQU+NoMHjqfE0+OM71+RfI/b4v3XuttL4vfysP5c/wx/uPWfGr4Z9A9b7 s63/ALzf3L7U/uFi94d6Yb++H94Itx/8Z+38m6e68j/Ecbumvx3+V5+fw4ef+HRaKBI6dPde6P37 917r3v3Xuve/de697917pAdodUdW94bFznV/dPWuwO3+s9z/AMM/vL132hs7bu/9i7h/guYx+4cN /HNo7sx2WwGW/hOfxNLXU33FPJ4KymimTTJGjD3XutU35y/8I+P5f/buxd5Zz4SZDf8A8UO66HYE eP6y2nk+x9zdkfHPOb6xeYrcyuT7QpuxqLsjuuh/vhjaoYOorsHuRKPCRRU2SiwmQmp6qjynuvdU z9s/MD/hSz/wnayMkXyb33gPmF8fuzM/ksBsbtPvnc++flV05ley8ltbYe5Ktdu9qVu5utPlD13n 8Pg8BWY/GbZ3RWYTb+TkptxZDE4jImCfLR+691sLT/P7+X//AD+/jnu7rf4V/LDf/wATP5iuP2B2 JB8Z6bMdobm+IXyu2Jvqvpdw7lo9ox7s60ye6v8AS/0D2L/oRx2a7H27s2u3vR0u26LG5PI0mO3D jcJUY33XurGv5c/zIyP8xDoTuvpv5j/HfAdNfK7ojP5L40fPL4ib1/utu/a02R3JsylrId44PaOQ zW7ancPxi+Ruyc3UVG26jLCtxeZp4snRUWQ3Bj6Jc1kfde6s6pqbdK7pzNXV5nAT7JnwG2qbb+36 bbWRpd04zdNLkd2S7wzOZ3hLuysxOdwGdxNZg4MbjYMHjqjE1GOr556/IpkaenxfuvdIDrn4+dCd Pbp7N3z1H0h1D1ZvbuvPruzuTeHXPWuzNkbp7a3SmRz+YTcvZu4Ns4XGZbfmfXLbrylUKzKzVdQK jJVUmvXUTM/uvdFDzP8ANt/l3Yr5a7T+CtB8lsBvz5Xbxz9TtPHdQ9O7M7P7yyOG3TjM3uXA7m21 v3cnTeyN97J6wz+wqnZ2Tqdz0e5Mniaja2LopMll0oseBVH3Xuq5P5uP/CcX45/zWPkZ0v8AIyp7 G/2WzdmA/wBwfyXzPXfWdLn99fJnYuOqtnU20MfPuXI72w+09i7/ANi7Tw+WxGO3RWba3RWS0eQo IKyGqoMHj6Ae691o4/HX5GfJ3/hNV/N77T6dym7s/neqth9vbc65+TmyKDE4DJ475E/GKsraHdux +zcV17S9kz7c2729VdO7zg3ZsoTblhyG2MplnxGTqjQ1Wex1Z7r3X1pNp7s2tvza22t87G3LgN57 J3ngMNuzZ+8Np5nHbi2tuva24sdTZjb+5dtbgw9TWYnO4DO4mshqqOspZpaeqp5UkjdkZWPuvdP/ AL917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//1d/j37r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r 3Xvfuvda9VTmcj/Mn/na4bb8W08/u74J/wAnbAblzNbvmmqdrZTpLsb+azvWk2nRYvaeZpKvcu8t udmZ/wCJPTu6qysxsmPw+F3f1Z2TFXrkKymir8ZBkvde62Fffuvde9+691SR/MM/u7/Ma7qwX8nz af8AcDeXWcX+jD5GfzPM5kP9KWTqupui+uO3Op+0OlvjLjMn1x/dnAbQ7++aefwMklC2S3bjcxtz rnb+bztPiq2Srw0p917oof8AwoG/nKYf+Tb8c+rfjR8Rtq7AwnyX7Z2BXbe6WwuHotiwbF+J3Suy KXF7OxXYknT9K/8AwbD9cYibDx7RnrMHkpqpqmmwMuCyvuvda5X8+P8AmefHP5F/yZf5T3xGwffn +zEfLddgfEn5HfILP4TdtL2h/cvMbU+Ku8+st9YfvLsZs/k62Lv7c/Zm/wCpmq8JUNWZ2m/htbVZ sUDVOLOT917qij+Vj/J9+Wv81juPbmz+odoZ/ZnRcGfr6Dtz5Wbl2hm6rpzq3Hbdg27kt04qmzIO MxO/O3lxO68a2J2VQ5CLKV8mRp6iqfHYda7L0PuvdfUH/llfyUfhD/LJ6t6xw2weq9gdofIrZP8A F85uP5gb+632nU96Z/fW7tuvtjemQ2Xuasp81n+oNgVuAqJsTjtr4XJCjo8PLIlZNksjWZXKZH3X urePfuvde9+691737r3Xvfuvde9+691737r3Vcvz+/mw/BD+WhtabMfKvvPAbd3tVYCTP7P6L2mU 3n332DBPjt5VW32211jh5my2MwG68tsPI4ej3NnmwuzocyiUlbl6R3U+/de6JH/w6H/Nc7I/3+nx q/4T/d/bp6UzP/Hl575Q/Mz43/DHvSu/h3+4ncf9+PjVv6g3huzrf7XdlDXw4z7vI1H8Yw8dJlYv HDXRxJ7r3Xv+Hoe9PjR/v4/5s/8AK+7+/l79KZP/AItPyV687L2f8+ui9l/Zf5DXf7MRnvjVt2Td nRX9492Z7beA2j5MLmf7z5jNSRr9pDjqqf37r3VvPaHV/wAc/m/8c851v2Rg9gfIb40fIbYGMnqa aDJ0u5di9hbF3LS4/cu093bR3ZtrIf8AUDmtu7iwtdDWUFZDSZPGVcNTDT1Ce691pIfzKf8AhGt/ x9fa/wDK97U/53u4P9lN77zP/h97k/uz0v3v4f8Aw39tbcwe+Kb/AJWMhmd7f2ffuvdatnzb3T8z cFunZHxT/m0bB7ew3cWwe3shumv+VPeWL7V7k+ZtH0JlcivXG59g9X7r7F71291V8gfjFiN07Ey+ 49lUsNYMNNuqTLzYXc9BR5zMPVe6919WX+VL09330X8KOutgfIH5f4D53ZZc/wBh7s6w+UeGyu89 15HtXoTf2983vfpncu7OxN69j9l1PYmfzGyc/T1sdZj6uLDYvF1VHhKF8pBiVz+Y917qxr37r3VU 38or4A7p+C3x63ZV/IGHqHd3zs+SXb3bPevza+QPU0eRqMd3n2XvXtnsPdW1MpHkMxs3r6pxeA2z sndVPBTYDH4PCbfxOUqcpPQ0Ky19ZV1nuvdL/wCevzb3T8EN0/FbszeWyMBm/hl2X29D8e/k92kM hkcPun4y7p7cyO1cT8e/kDujNZVaPqrBfGLBbpo8tgew8huHKYeox1RuLA1WNmqpoZsVkfde616f 55HUvwh/nZ/y/wDA/O74f7k6B3vmuoP747JwPzM3X3ntP4sUvW2Y21ubb9bSfHH5LYj5D4DYWjYH av8AG8nRbTXO1+Fzu3extz7Nq6KnXZu8N15+h917qof/AIS9fzV/kZ8UvmNtX+Ut8jqr+E9D9nb/ AOxdibe2n3llqrrzeHxR+RmJod25mfYu16bd1NT1tF/pf7MwrbXrevqxKSVt9ZinrMaaXJz5ejz/ ALr3X0qPfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv fuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf//W 3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 r3XvfuvdFi7p+bXwy+Nu6aDY3yJ+XHxi6D3tlcBS7sxez+6e++qurN05La1dkcrh6LctBt/fO68F lqzAVmWwVdSxVkcLU8lRRzxq5eKRV917oof8m7bXTlV8QM58k+manAZLE/Pz5O/Kr577gzGB3ZPu qefI/JLvHeG4Nn7Y3tFFmc3tzZ/b3UfTuO2vsbfG38JM+Lwu8dsZOmWatnSoyFX7r3VrPv3XumDd lTumj2tuWr2NhsBuLe1LgMzU7P2/uzcuR2ZtbO7pgx1TLt/Dbl3hh9p78y21MBk8ssMFZkqXB5qo oad3njoKt0Wnk917osXz4+YWxfgH8OfkF8wOxKP+LYDo/YFZuHH7a+4zFB/fffWWrqDanV/Xf8Zw e2N5Vu2v9I/Zm4MRgv4u+Mq6PD/xH72rUUsEzr7r3XyW/nn218jMx8jOnP5j/wAv9t7A3n8l/nLs DM/LHB9N766Mqsd0rsXpVKrcfx3+Jm5m2juHP0P+kT+F/wChmqz+C29uTE7h2jndo4jamR3BkN8U 25twYin917o/f8lj+Q18pP5tPaW2fmr8jq77X4d1Xfybo7n393Ln+xK7tL5hfY7izO4+4sR1pWYq tx27N0/3p3Zjm27uffNZuHD/AMPyOYrajG1OYy+HyWOg917r6VPXfV/wh/ll/HOfDbHwfQPwx+NG wv7vT7lz+Tye0+qtixZirpdo9ZYbd3aHY27Mhjv707/3T/DsLiajcW5MlW53O1i0yVNXU1LoW917 quTdn/Cl7+SBszdO5dn5j514Csy21M/mdtZSr2n0p8l9+bWqsjgsjU4utqdtb52N0xuLZO88BPU0 rNR5bD5CvxeRpylRSVE0Ekcje690gcN/wqc/kgZPI7soq35bZ/btNt3P02Gw+YzPxx+S8+O35jp9 rba3BLuzacW3+pM7lqPAUeWztVg5I85S4XKHKYWskjo3xr4/IV3uvdP/AP0FB/yL/wDvOL/2Wj5g f/c/+/de69/0FB/yL/8AvOL/ANlo+YH/ANz/AO/de6LF3T/wr/8A5QnVm6aDb+xqj5O/JLE1mApc zUb56W6TosFtbFZGoyOVoptp19J8id8dB72kz9DTY+GslkpcPU4s09dAsdZJOtTBT+690EP/AEFN dpd6/wC/u/l2fyUfn38zulMd/v3N0dofwvcW1v4D2lSf7k83sH+H9G9Q/K/ac38L2nl8JkfNUbio si38U0yY6GFKeprPde6f6nov/hUn/Mh2thtl/JDu74xfyeuqlz+5cN2FL8Vpdw7r+Tu78dQ47ae8 Nkbs2/mNm9x9pU2KwCb2wyYbx4TtfYGUkx9Vmf4rR5ShNBSVfuvdW8/Bj+TD8EPgPunKdude7Az/ AHJ8ody5/cm7N4fMX5O7hTuv5O7m3TuzI7/qdwblTf2YxtBidj5/cGJ7JyWKzVZtXF4Co3Nj/F/H HyVSjVL+691az7917pg3ZtPa2/Nrbl2NvnbWA3nsneeAzO094bP3ZhsduLa269rbix1Th9wba3Lt /MU1Zic7gM7iayalrKOqhlp6qnleORGRmU+691p3fylP5ifVvQ384z5K/wArvorI7/7S/l+fLPf/ AGL3l/Li3fhqTbtB0X1RuLbuD7S7A+V+1+gaaLZGxcbmPiHmO69i7825tWt2hVZHa2MzGyFXHU+S fN5rcC+691uYe/de6oo/ngfyP+nP5unTkWUxcuA6s+ZvVmArKXonvaqo50x2VxyT1mWHS3dJxNHW ZbO9Q53LVk81LVQwVeU2blKuXJ4yKohqMxh837r3Wlh1L/MA/nSf8Jmd9bk+H/eHX/8Afr49UP8A pzxXS2ye08Jnsp8c9076zGHwGexXc/xk7wpcLgN2Z/YGA3ZuDCZ3P7OoMnR0fi3FlqLJ43bu7MnL k8b7r3Wwt0tsX+dr/Kc3TX/JvbPeGA/nX/yx+7u3qrufe/XXxw2TSTfJ3KQfL/I4rsrsL5UfG3qj aWBzu1qPAUfaudqMrSbR2bvnObOzuP3BWZc4rBDJ5HcO3vde6uY+Hv8AOe+Ofyz+RlZ8Rty9KfLz 4T/Jer2BT9odc9LfPPpKl+PO+u79ipVbnpc/nOnMU28t2f3s/un/AHTrJq2mkakrJ6OmrKqgirKb FZqXG+691Zz2h1R1b3hsXOdX909a7A7f6z3P/DP7y9d9obO27v8A2LuH+C5jH7hw38c2juzHZbAZ b+E5/E0tdTfcU8ngrKaKZNMkaMPde6JJ2tV/y+P5fPX3T/QGU+PHUPUPRfzw+TuF+I0XW3VPx/2F jenN4dx/IPrTeNBh6LuDrrZ+BoMTlsB2piesoNn1tfNisnG0lbj4smsOHjq62i917r5LfcXQfy1/ kt/zB9hYvuTr7AYvvT4tdvdY9+dbS5mHN5/pzt/Hde79o94dddg7TzFBPtHLb16h3rltomGR6efF ZSnkhrMZWrjMxRVtJSe6919Ub+TX/N46t/nBfHPdXcG09i/6F+zOsd/1uwe2ejch2Jt3sPMbT+8p Uzew96YzL43H7Yz+T2Bv/ASyRUORyW38H5c7h83j6eOqjxZraj3XurePfuvde9+691737r3Xvfuv de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/19/j37r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv 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 5sfRfyH+E/zJ6l/u3n9k7/3LT1+x0z9LU9pdaYdd4di4P4q/MLpzetRtunoqL/S/1nhXzeJyeOp8 vgqTIy7k2HmZMlVYTduHX3XuqCf5hvxz7S+LfxzzfwJ/mRfJrYHzF/l7/Kr/AE27H+D/AM4vmVHu Ki+Rnwh/mMbqpd0bx+HG3/lJ31jt/wCWz+W6BxOAxO4Pue0MZtquqoparJYjP0WC2L4MfP7r3Wjj /Ke+f26f5aHzv6M+VeHmz9VsnbufG0+9Nn4CTIzz9g9CbzeHD9nbaXb9LvLYeJ3Xn8ZiWXPbZo8x kUw0O8cLiK2rR0pAvv3Xuvs/9UdobF7w6t617p6vzn95+s+39gbO7Q673L/DMxhf7w7F3/t3Hbs2 jnP4NuHH4nP4n+LYDLU9R9tXUtNWQeTRNFHIrIPde6X/AL917r3v3Xuve/de697917r3v3Xuve/d e697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r 3v3Xuve/de697917r3v3Xuv/0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+691737r3Xvfuvde9+690QT+ZH80v9ki+Oa7u2ngP78fIrvDf+2Pi98L+r58X9/h+1vmN 3RS5rGdEbH3dkKvdWwMBtjYEufxkmR3Fk8luLAwU+Cx1WtPVnIyUVNUe690WLtDP9afyZf5d3xyp O3G7e7g6L6l7e6hpPmL8m8D2b2Dguy8Buns/s/Idg7++aG9sPU9jbk7d7XwHa/za3Ji598bExWcz dRVbf3vk4Pss3h6Kpwlf7r3Sg/l+fA7MbU7072/md/LHqrYGwP5iHzF10O7ttda7531urbvx3+Oc Wz+jNqdd/FrI5mfeFT1n23v/AGpRdBYfL7s3vjMBi4q7dNdkKXEn+Bw0j1HuvdEE/wCFPH83PvT+ WD8c+hdo/FbNf3H+RXyc3/un+B9oZDYuz994fYnVvS9LtXJ9kfwzH71qsngIt/7nz+/9s46h/iG3 c9jmwU2bb/IsjHjKke691TP/AC7f5QP/AAop7k6++TNR3J8tsB8FPj9/Moz/AGvvj5d9cdm7D2J2 t3Hv6fv3rTL5Dd3ZGA+NtHs6HZPSOf7WqewDt3cdDT7r603jiY8cRW41Tg8LSv7r3VUv8mPqDfX8 +75vfHr4xfP7vjf+9/jR/L7+IbZXrfp3B0mH2hh8j1H1NuzqDrHB9MY+s2PDtL+6f97P72YZd0bx SCt3rnMFt2HHHJQVK43KYn3XuvqjbT2ntbYe1ttbG2NtrAbM2TszAYbaez9n7Tw2O27tbam1tu46 mw+39tba2/h6ajxOCwGCxNHDS0dHSwxU9LTxJHGioqqPde6f/fuvdfBm7X6v310f2l2V0t2hg/7s dmdQb/3j1f2Jtr+J4fNf3e31sDcWR2nu7B/xnb2Qy2Ay38Jz+JqKf7mhqqmjn8euGWSNlc+691u3 f8Jxf5wP+gj459jbB3L0J/O3+fnZm1/9Gey8rtzozBf7Ol8c+hOrdoUu9qPpaj6l2XX5/Ymf+Mf9 6MBV1mFyGAkmzeOysWy6OsoKyCNXxWO917o/f/Cnnr3tz5d/yc6j5L9qfE7/AGU7sz4e/LzHZyXA 9y7w6V7H7Synxz35nMj0fhsh1pvroHc3beAxf+ljP9k7AzG59r1uYxUVDkdsVsLTZWPEYPJZj3Xu rG/5If8AMw6E746++PHwyp/mV2981vmBR/CPrT5Nd+7k35j9mZ3HdHTw9afFrBbi6ZyXb20Ou+tq bsbP0e9u4XKyV1TvzeNLlKDPU27twR5SmpqWX3XukBuz/hV1/Kc2H8ndy/GvfNf8ndmU2zM/mdp7 w7x3Z8ct27d602punbuAqa7cG2ty9f5iro/ldgs/gt4Uc21KyjqutYqil3BE/kRcarZEe690Psn/ AAo//lOZnrTfnbnVfe+f7p2T03n+poe+pNldcbt2nunpbrTt3sHG9VY7vzOded30PUfYfZfUOzOw 9xYXFbkk68xe89wYioz+M14l0rI39+691SR2t/wtU602Rjun5evfhfgO6ctvXqHC767VottfJ/sH aOO6U7LzO6d40lR0fU5TsP4WbZqews/tXZOLwmQy2bxNH/d/+KZeox+OqslBjxk6z3Xutcr5T/8A CoP+b38m909ebgw/eOA+LmJ62z+0t44vY3xY2zW7H2tuTeezsjuGtos12HV753B2XvbsTAZimz60 eX2fmMxWbCy9Pj6RqvBSzxyTy+691QTtPae6d+bp21sbY22s/vPe288/htp7P2ftPDZHcW6d17p3 FkabD7f21trb+HpqzLZ3P53LVkNLR0dLDLUVVRKkcaM7Kp917rYW+NX/AAlX/nGfIb+E5DcPS+wP jDtPP7Aod/YPd3yV7RweA+7/AIr/AAGfGbLy3XfV8HbPdeyN/wA+Nzb1M+O3FtfEfwz+H1VNXyUt esVJN7r3V+3xq/4RKdW47+E5f5hfN3f+8PvtgUP8c6/+NXXu3et/7rdpVX8Bqcn/AAnuDtCftX+/ uwMJoydFB5tjbbyOU8tLWv8Aw/xS4+b3XutnP+Xz/J5/l/8A8sX+JZn4odK/3f7M3PsDa3Xe/u6d 6bq3Nv8A7S31h9teCqrJ6zK7jydTgNk/32z9NFls/jto43bmCyeRpqN3oFjx2OipPde61Tf+Ftfx e/7Ii+aW39j/APPwvi9232V/eb/lh2v8d9j/ANzq3cH/AIlCv/ieMxX/ADYydX/xaYffuvdah1d8 Wti5/qP5S9nbJTf+H/0d7A6R+W3Sb7nrsxXbFz/xD313Unxi7Y2hUbz3F0j1Dmu3u/uofkv29sfZ 02ewWBwWwMhWbM7Bkpaif7fBxVXuvdbx3xH+VM+yP5lPwC/my1u4M/mvjX/P++MXWPxW+RMm0h3H h+nOlP5oPTWK2b1VhNvw9eTdZ5mmfAZXe3VlVsLYH8cz2TyXkym9c7HmU27Ru9Z7r3S//wCFa/8A Kx7j+YXTnW3zP6E251DPU/CfqHv/AHL8iZczXwbX7j3t05Sz9d7wwlNtPMTbdOJ3fgOlsTht8bik xOWzuOkpo8hWDC09dksi9JP7r3QQ7M/nzb6qf5c/wD+Zfxo703/2pgP5d3+yr9Qfzw/j72V1Nh90 9pb22L3Zi6XoyHvjHdzdm7u23W7u3+3ZnV+WyW04tp7prazN5HeePr95LQ0uOyWNf3Xuty/b23t9 YnfXYmZzPYn96dgbp/ujkNj7HyG0cPjsx1fmMdh58HvXGYzeuDnx396dgbp/h2Ny1DQ5bG1GdxGd qM275uuxVdh8Ptz3XuqSP55Gy+0vjbsXA/zk/iNR/cfLf4B7A3jtzP7BbYO4t37F+S/xb7fzG39u djbB+QVH1luPr7szN7A+OFbkW7WwU02cm27teswmUr6rHM1Scjjvde6qm+d38/3+Wt/Mb/lCZnpt 9i9vdhfKH5xYDcHQ2yfg/wBZYjK727j6w+Wu2aLA7s6e3Fn6rAZjYcm6+ocZ8gW2bUbcyeMFVW76 jqBRQ7dqqmh3RhMR7r3QQ/yhf+Ein+i/fXXHyV/mfbg2Bv8Ardtfa7sw3wq2pS/3y2Ku4pcPtTMb aT5C9h1M1NgN7f3Jz9Tl6TM7JwlBlNrZesx9FLLuHMYaavxFZ7r3W4h353T0J/L++JXYPdG8KDAd bfH74udQzZKk2fs2l2Zs7HUG1tj4SDD7G6m6t2/lMrszZNLn9xVMGP2ztHArVY+nq8pWUOOpzGZY 19+690WL+WX0/wBpLsXenzZ+TtNv/E/Lf53f3c7M7C673xu/cWZpfjN0Xicxv3cPxS+G21to5br/ AKjoti/7Ln1n2dPButG2zSZjL9jZfcmQyNXXNPTtF7r3VnXv3Xuve/de697917r3v3Xuve/de697 917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3X uve/de697917r3v3Xuv/0d/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv de9+691737r3Xvfuvde9+691r1dO4bI/zKv5zu/fl3HuzP4r4vfyYM/2d8NPj3h8NTbWXHdyfNft Prqs2/8AOTcm7Jc5trC9q7YwHTW1tybd2lHiZIKzB5/KY+jzuDza0wy+Prvde6sa7r/5yc+RnVXx ywP+5nqH497/ANrfIz5aZzH/AOUYek7S6pqtj9ofDv4y5PJxfwmtxO/8t2ZlsF3ZXNhMrUZHA4Lr jCY3cuKOA7KxUtb7r3R+/fuvdUE9nfAf/T7/AMKJuuPlt2z8ff7/APQ/xm/li7A/0Y9obuo9Wxdq fMaX5adu5PYX93sfWV9NRb23/snrOpz2XTTSZSDaVZUYjKTfYZObb1S/uvdah386H+eFuLPfMb+b V8fcf1n/AH//AOLf8Ifij2r2fjOrf7xfCDbuwKHdvSn8wWPpra1Z192F9z/s7/8AHt0YLJ7kps7g N0ybW/gxqZ/9xWLxmJ917rY1/wCEqX8qjD/Db4c4v5qdiUv3vyK+cmwNpbux9NkcTsWr/wBE3xzq K7Jbl6v29s7dmDqdw5+T/ThgK/Eby3Kj5Giik04LHVeIpcjt+aoqvde62svfuvde9+691737r3Xv fuvdUUf8KXtp7p3n/JA+deH2ftrP7ry1HgOlN2VeL21hsjncjS7W2H8l+mN8753LU0WLpqqpgwGz Nk7dyGYy1Yyinx2LoKirqHjghkkX3XuvmcdMUnyM/lib62R3T3h198++jtp/I7oHFZzpbsX4nfJq q+FuY7e2L2Dh+ne5MVkNs/Iil6V7+2n2dsCl2nubCVG4dr0FKKzFZ2rx6ZOagr8dLQSe690QTtDt ftLvDfWc7Q7p7K3/ANv9mbn/AIZ/eXsTtDeO4t/763D/AAXD4/b2G/jm7t2ZHLZ/LfwnAYmloab7 iok8FHTRQppjjRR7r3QvfEb4Z/J354dx0XQXxK6iz/cvatZgM7uyXb+GrcBgsdhdrbbgilzG5d2b w3hl9u7J2ZgIKmqpqKOsy+RoqepyldR4+F5K6tpKeb3Xut0/4Nf8ItcPm9i7N35/MK+TO/8Aa27N 07AkyG5fjx8ccXsXHZjqrfWRzFFV4bGZj5AbsPau09+/wTaaTU2bocVtKno1ztQRj83XUFClVlPd e62NfjV/wnS/k5/GH+E5Db3wv2B2zuyk2BQ7Bzm7vkrWZz5Df3v8H8Bnye9Mt132hkc/0pgN/wCf yWASpnyO3dr4P7X7mqpqCOjoKmWkb3Xun/M/zdP5GXwU6c2nt/Z/zD+EfXvTuKz9TtraXWHxGyO0 O08dtrI7mn3LvXJ1NF0z8SsTvzLbUwGTyy5Csr8s2HpcX/FKxVqKgVldCs/uvdBDu7+c38jO2d9b e21/LN/lI/Lz5v7Ay2wIO0E+Rnb89V/L0+Oe99i57D9d5bZmc6H7J+TvXkH+ln+N/wB96iOWmqaP b1ZJFjWr8TFmcU8tfTe690v8H8Xv50nyTw+PxXzM/mA9A/ELaf8AxlDaO++vf5VHTOe/v12fsXem xcZidsbhpflb8wKjsHdnR2/9mbseslpH2hsqnrKej1yx5f7+ooqjB+690fv4W7P6L636tz/V/Rvy P3/8ov8ARZv/ACnWncHYna/yr3h8tu0qHvTY+3dq7e7A2x2Vu7d+9t4f6N9/0v2NJXZnZmLp9uYf D5HITTU2Fx/3jq/uvdFD/nu/Db/Z5P5Vvy06gw23f7w9mbW2BP3l0tBjOs/9Ku+n7S6PkHYmK2v1 ft6llp8/Rb/7fwGFyWw6etxLtkYqPdVTGlPXRyy0FV7r3Xzlf5bW/tux9K9Pd5dy7L/vZ0P8E/l5 F8avlpujObc7S33S0H8uf+cF1H2n0b3Jichm+pKzC9mdQ7A+Otb1zv3KbXgxlXWUuR7G72mqaSlp cm9RT7l917o/fwnTMdv/AMnP+bF/L1x/d2wNw/Ir+UH38f5jPwx782H8pd9T7dp8P0fnM7D3Jv74 iQbTocZn5dgbYwGwN0ZXbedpoWwVbunuTGZCpgweRlp8tJ7r3X0SvhZ8ndrfNH4lfHT5WbPTAUeJ 766h2R2NV7f21vPHdhY7Y26c7hKWXfPWVTvDF0OKpszn+rN7JkNuZYtR0FRBlMXUQ1FLSzxyU8fu vdad/wDMA7g6t/lHd6fzMv5THV9TsDp/oL+bZ8Q8t8g/jBiazaG3dv8ARfxe+S3dWz+zfjV231Nu OuynYGx/7q7A+Vn+iKnjwu8q7cmJ6+6TzFXimm20Nq0mYql917ooXw2/4UffzGPhj/d34g/IboP4 CYfpT+XV/oz+FveWJ3R3JlOp+9MN/o78vxqxGfxFdhO1/kFuzur/AEb7s2fHld81XVXUvYPhw9FU yxUNHDW0VUnuvdWddCfzv/5jH88Hq3uj44/CH+VhsDqbG9j7A7G603H8wvlD3BlO5Phz1Z59u4en 3ptjfG2Kz4kQbT7Z3/m9p73paPGbMZc5qnzVJksxha/bdNlY2917q3n+VR/IU+EP8qvD0u5dlbf/ ANOvyXqv4TkMz8ne39tbTrt9bbzEexanZm5cZ0PQ02Lk/wBBWwNx/wAezkktDQ1lfna2jzDUGYze YpqOgFN7r3VzG7N2bW2Htbcu+d87lwGzNk7MwGZ3ZvDeG7Mzjtu7W2ptbbuOqcxuDcu5dwZipo8T gsBgsTRzVVZWVU0VPS08TySOqKzD3XutDLsD+cp8c/52f8674J/CTdG1dgZP+Vj1x39u/dGIpe7a Kl2//s1vyM2x0j2/iujd57soN0Pia3E7Ay3ZmWosHs3r2rCS7w/jJi3NQ1k+VptuYX3Xut+z37r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf/S3+Pfuvde9+691737r3Xvfuvd e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 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 3D17tfrvaOXze58/jNgbAwEW3NyZetGWrpxne0lTNU9BmZp2r/de6KF/wrd29sXtbD/DrrLpbsTv 7PfzL6H/AE8Y/wCP/wAWPjBtHMdkb67T+OfeuxU2l8ocn2Tt7Y09Lv8A2fsCu2B1vVY+lrqc5GLc VHFnsQ+EyGOOZy22vde6KH/KM/4SEf8AFl7y/m1J/wA91jqb4PbO3X/1C4PaG8e1/kB0/wBif9rP KU22tpVf/Omqa3O/8XXbnv3Xut63q/qjq3o/YuD6v6W612B1B1ntj+J/3a676v2dt3YGxdvfxrMZ DcOZ/ge0dp47E4DE/wAWz+Wqq6p+3p4/PWVMsz6pJHY+690oN2bs2tsPa25d8753LgNmbJ2ZgMzu zeG8N2ZnHbd2ttTa23cdU5jcG5dy7gzFTR4nBYDBYmjmqqysqpoqelp4nkkdUVmHuvdfNW/4VBfz 09rfNTdOO+Cvwy7Lz+Z+L3VmfylT3/2HtPOY5OtPlF2XisjhKjamG21JQY45bd/UPS2Ww1TU0eSO TO3927gq0yVNQVFNg9v5yt917osXSf8ALv6t+I/ZH/CXL5Q7T7T/ANJ3Znz1+Xmx9/ds/wB1977d 3p1Hs/8A0efK74z/ANw9l7M/huydtZ/b+/8AZuA7HkwfYWOyWQzH8O3ria6ip5I46U+X3Xuvqy+/ de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r/9Pf49+691737r3Xvfuvde9+ 691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Vcv8ANgw2R3n8Ht99Q0m7M/sn E/JLt74ifEbsDce06ba1Ruml6c+YXzD6F+LveNFtp96ba3htzHZ/N9O9uZyho6+fG1UmOqKlKqBV nhidfde6sa9+691VN/N5qey98dCdO/DjrDDZ+qqf5jPyd6++EnaG6tp7l6+25unrb4xbz2Z2X258 wd77aHaG0937PzOfHxR6W3niaOneBMhT1GVStxpqMlSUlDV+691az7917rUO/wCFiG4+rcp8K/jL 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 Hf7PD/evf394v9KX338c/vj/ALL/AP6RP9Cn9wP4l/uL/u19p/Ef7rf5N/Hf43/v4/fuvdaWG+u/ Ovuy/wDhOR0f03vnsHqHcHyB+Nv81ne22ujtgVM3WlP33138Suyfjpnu0ewKnDYmhgpe0J+od5/I 7cU1RkstVCooqzM01BRSVDDGY6mpfde6+wD7917r3v3Xuve/de697917r3v3Xuve/de697917r3v 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de 697917r3v3Xuv//U3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r 3Xvfuvde9+690SP+YD8nd0/FX4xd1dudVJ1Du3uLpvqHeHydpem+0t55Hac/ZnQnxyz+xdzfKJNq vtyhzu6aPP0fVWdkxWGzS4vI4bDbxz+A/i0T0dSYZvde6QP8qX5+ZH+Zv8KOuvmLW9CZ/wCO1N2J n+w8Nh9m5nf21uy8dmMdsHe+b2RLuzae7dv0+Cy1ZgKzLYKqopI85gNt5SDKUFYkdHUY0Y/LZL3X urGvfuvde9+69181f/hYP8gt9fIb5XY/qbbWxPt+lP5bn+jjq/sbsHILh8fmKv5GfPfret78wGDx kK76yWS3LsCr6U+PNG1DUx4HHy43O43Nw18skNThWm917qsX4bfyXt9dx/EPpT5ZdgT7ATafzm3/ APKr4k/Fzau4ewcP11vqf5GbC6B7L7S+Im7+u95ZHfVH1c3+zAfKr467g6Xy+B37T0MsdHkFfE08 tfnMPn9ve691uIf8I7/lzju6f5a26fi7kK3AR72+F3b24sNSYLDYLdNFkR0535lc/wBvbG3ZuzPZ SWs2tnc/ne1azsDGxx4qWnko8XgqMVdHG8sdZkPde61bP+FZXw2/2Wb+aluTt/bW3f4T1n8zNgbb 7yxU+D6z/uNsXH9pYmM9d907Xx+4aCWXAb/3/k8/tij35uitjSkyIrOwIZK+neSdK+v917oof8lv +YF/MY+GPaW/cf8Ay7PijsD5X7/z2wN01m6No/7J/lO9e0sNs/Kbi6sgze4/9InRtFtb5L47YGOz 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 9+691737r3Xvfuvde9+691737r3Xvfuvdf/V3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuv de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 37r3Xvfuvde9+691737r3Xvfuvde9+691q2f8K7/AIxbW7l/lOZvvarfAYre3w/7e6w7G2/m6nZm Ozm6c1tbtPduH6C3h1lht3y11Bltj4DcGW7Jwe5MkYPvKfJVGzqCCelLinq6L3Xureds7y/lrfyi etOhvh1L2l1D8M+qqzAdy7l6J2t3T27lcFtavx23+wdu7q7apqDtzvDdWRpq7Px7278o62LE5DPv lKmnr53x9PJQ46r+z917oIfmDt75GfIXq345fzJf5UfYmwN1d8bA6B7C3D0b1l3btGqi6L+X/wAc /ljt3p7sbL9d7sXNz9bdmdT7/wApW9SbL3Js3L/xnbkVJmMWcPuFYcZlK2qx3uvdG8+KPyV/2dv4 c/Gv5T9P5bYG1v8ATvsDpzs/L4z77/Tbt3Zv8RrtuZDvLpr+ObXz3W/32/8AZ/2u4NmfxOUU3939 00v3WQw1V9jU4Sf3XutFH/haVsjurYvyM+M27F7i3/V/Gj5DbAymTpuhsh3P25uXYuH+Rnx5qhtn dnaGM6a3Lla7qbrv+KdTdzbZxtDUbcjppayshzdRVU0NTWVFXk/de6v3+Q/wt/2Xn/hNb11sv4tZ /oGr7Z+CvQPQvz46d72w2U/00dW0nenx53Vtr5idz/ILoHeW99q73/jf+lnwb3m2rMcdTYfJ47dS 4qWKgwNZPBD7r3VQ38h/t3Yvxh/4UMfPP4xbD3/sDD/Gj577AyXyO+LmyOr+uMxg9i7vw++sbtr5 t/ETD4PH5HrHau5eoP8AR18Ke7t2rU4SpgwWCpayOXHEVdTT4ct7r3VnX/Cuv4NZj5Ofy59v/Irr /Zv95+zPhFv+q7Ey9TRyb6yG4qT457/xcO2u8oNubT2vRZbAZb+E5/E7P3VmsjmIKaLA7W2plaxK +njWpp633Xuvmb9LfIPvv427pr98/Hbu/t7oPe2VwFVtPKbw6W7K3n1ZunJbWrsjisxW7ar9wbGz WCy1ZgKzLYKhqpaOSZqeSoo4JGQvFGy+691uIfGrt7/hYp2/1bian4vd77A+RHWfX32PV/8AfzYP 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 kwdvbMqduy4fd1HjWFPjty0FdSBIzCY1917o7nv3Xuve/de697917r3v3Xuve/de697917r3v3Xu ve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697 917r3v3Xuv/W3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf uvde9+691QT/AMKg/wDtxf8AOL/y2j/4MD4/+/de6H7+c18GvhD83fjTsrbXzS2bv+rosT398euu +qO0+kpNp4nvTqnfXyc+QXUfx1x0+09x7xosngItgbnz+/8AFR7yx1fR5SjqMPSCvgoJ8zi8NLT+ 691Zz1R1fsXo/q3rXpbq/B/3Y6z6g2Bs7q/rvbX8TzGa/u9sXYG3cdtPaOD/AIzuHIZbP5b+E4DE 09P9zXVVTWT+PXNLJIzOfde6qm2982+tPi//ADcdpfyiqTZGA2dsn5G/GLsP5t9Pbqpsh2Dm905z 5O9n/Jn5T9ufJHZGZFcu68SuA35icZnN6Y2onqsDj9v1GIr8ZAKtMph6HG+691SR/wALIfjv19uD 4ldS9p7I6bwD9xbC7e3R3h2T2jht3dabOyNB05mcJ0T8ZOxc9uzr6v7F232H3Ln9z9h5rozb0edx u1d0ybaxeCo6OuyWFo56KnyfuvdH7/4TBVWR74/kldebY727pwHyx2tmc/3V09W9Vb4xW1t3wdHd OYirPXmL+JnZFPV1+4qneeAn2TS/3joaHckEElLs7emNw8FJ/A6PGGX3XutcrujtTHfCftn+Rr8o qjtjP7p3T/LI+bny7/k4/OL5e03Se6aHa23/AI9fFH5C0Ox+qOrczsGi27vDYWOz+b+A3bm68ljX 27FmN2ZSnrK8jK5LOYOSeh917r6JXa/V+xe8Oreyulu0MH/efrPt/YG8er+xNtfxPMYX+8Oxd/7d yO093YP+M7eyGJz+J/i2Ay1RT/c0NVTVkHk1wyxyKrj3XuviB/NP4xbp+F3y1+RfxT3g+frMt0L2 9vfrmk3BuXZmR69yO+drYLN1UWxuzabZ+UrsrU4bAdp7JfH7jxIWsr6efF5Snmp6qqgkjqJPde6s a/lUfFHeG/8AMUvbfTv86/4h/wAtLPz/AMJ2X3T/AHu+T/enxY+Rm2Ordzb6qf4rR7e+62V1X1n3 v93Rdew7hTAYHsSpxySjER5qsw1VPF4fde6u3+UPwc6LyPRe+KP5K/8ACzP/AE69KTf3Z/vp1X/e 3eHyv/vT494bfl25/wAYB2D8/e1d2b9/gm7EoMj/AJJgK/8Ahf2f8Rl8ENHJUQ+690STsbrX/hI1 0HunrLcG2fkH/NZ+bWJbPtmd1bG65wvXm1NrR47a+RwFaNp9m1fbnSHxG3scB2PTVdRRiTZuYbKQ U9LVMazFzmhnl917osX/AA4V/Iv/AO+d7/2rZ8wP/sK9+690wbs+eX8kDcW1ty7fw/8AIJz+w8tn cBmcNi987T/myfJes3TszI5PHVNFRbs21Sb56l3nsmqz+3amdayjjzGHy2LeohRaujqoDJA/uvdE E+bdN/LgXdOyKv8Alw5n5uT7JnwGQpuyNv8Azb210RS7pxm6aXIrLiczsjeHRO7KzE53AZ3E1hgq MbX4PHVGJqMcJ0r8imR+3xfuvdfUl/4Tc/LnHfLv+UJ8Wq163ASb2+OWAf4jdi4fbWC3ThMdtzI9 B0WL2/1tRVMu55ayPO5/O/H6s2bnMtX4yqqMXJlMvURwrSPFLj6P3Xugh+SvafxR/ko/xb45/wAt b4yf6cP5p38yLf8AXb2686LqN/8AZHcHaXbG+q/+PRVvyO+V/cfbfYe5+zMZ0DsCtiz2XlbLblx1 Hkcj/H56WoxkB3buXEe690EO9f5VPwQ6U2tg/wCYl/woe+UGA+XvyhxeA63i3P2P3vvVOvfjFs3d PU2O3x2NQdF/Fv409bYjrLE9qYDLYmgrGqtm5Hb+46jsXIYquykO2qKpzeXxs3uvdIDM/wA8/wCW vdOO2n0v/Io/k69vdy9OyYCp2H8dvlX3F19m+g/hQMd0vuncu183jdhbdho+uevIuoYuvOuZMbth sr2N1/lKLOVEeKnwMVZQpi8h7r3RBOg/nt/PX/mb/LXr7qP4a/zEuocFIuAh3T89qnoP4adRbr+F H8vWCjzc+zMPsHr75Dd0wdrb2+YXb2/abZ+SyqUuCyk2zstnKpv7sbnym1KXI5zA+690dza+3Phz /KM70y/XfSWwe/v56X8/Pe3+g3ce/s72BWV2++9Ou9u7k2fhOk6zf27/AJJ7j2X2LtP4M9A4/ae4 SksOWy+V3SmH3dt+k3Dkana0mOzGM917ozrfymPnf/Mux3XO+f5zvzRz+C6qzWAwG6d8/wAqv4V4 p+mvj1gt00e6estz0mwe5e7aLsDfu9vkTgHput46rNUs801Rt3dmTrJNm7no6Glgqa/3XurWfi9/ Kw/lz/DH+49Z8avhn0D1vuzrf+839y+1P7hYveHemG/vh/eCLcf/ABn7fybp7ryP8Rxu6a/Hf5Xn 5/Dh5/4dFooEjp0917p/+XP8yP4IfA/HVtX8tflP1D01lqPAYLdkXX+Z3Imd7jzW1tybpl2Xh9y7 T6O2fDuLuLeeAn3HS1MElZiMHW09NHQ1k8zxwUVXLD7r3RY/jV8nP5gHzl7SxO7KL4pb/wD5dXwc 239juH+9Hymw+2V+dHyTzGL3FgR/o7wfx6/iW4cB8R9gUOf2fuHG7sy+7o9zZ3dez8vjKjaS4Str /wCPYP3XutWz+eB/wph7j7S7ji+Bv8nPeefqqaqz9Z1Xvn5IdPYWDefYPffYO84KzYFJ1P8AEyai xedy1HgKPLZ0JQ7224ibl3DuVKSXatXSY2kgyW4/de6T/wDwne/lNbF6q/njfMTObQ+Rf+nfYH8p 77nq+m37j9l5jprMb9+Rnduy9+dO7sweT6x3LR7917A6q/gnZeDrqmn3JSy12dxeEyWPlrcVVVEY 917r6Ffv3Xuve/de61yv5Be0cx8yv5RfbPY3yp3D/pO2n/M77++fHb+/OncZPvrauxepNi9/drb9 6x7Z6H6vrJOxM/uzAbAz+7MBubc1PLj8hjKyjrN31J1SV6TZSt917r5XXyD2PunrLvvu/rbfPW+A 6b3t17292VsfeHUO085kdzbW6r3TtPeeawO4Ot9tbkzG9eyctuDAbHy1BNjKOuqtx5+oq6elSWTJ Vzu1VL7r3X2YP5QvRW1vjb/K++B3Ue0sXgMVTYr4xdU7s3JHtPf2O7T2tkuy+09tUnavb25dtdh4 LdO9drbuwG7u1d65nK0dZhMpWbfkp6xP4S4xopUX3XurGvfuvde9+691737r3Xvfuvde9+691737 r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd e9+691737r3Xvfuvdf/X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu 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 5HcXV3cmWyeycjL1h2r8Ou3u6trYSrze4cvW7oq9nY3JbglbCbQ3Pjc9W5Oj917quX/hR5/wo86t i6t35/L5/l8782B3Nku5tgZLaHyV+Su0Mlt3sTq3bHVvYm3ZKHPdP9P56hkzG099b/31tPMSU24N wU0lVjtqY6qehoXl3JLPPtf3XutO74Oba+FHZPTnz56t+TdTgOt+9J/jFlu6PhL8g9y7s3vS47b/ AHH8dp67srdfxupthYfM7c683Hn/AJd9eU1Zt/E5jdFa0eDymOp4MTRZHMZWjo5fde63zf8AhJ/1 f8jN7bd/mG/zPu8sHsDbGA/mfd/UfaHX+G2Xk6p/ucxsDtL5LVPcGco9tVOQ3JW7R2AvZnaFXhMB TZTL1Odl/gVZLUxClbH1+S917rbx9+690AXyu2D2l2r8W/kp1f0bvT/Rv3X2R0D3HsHp/sT+8e4t n/3C7S3h13uPb3X+9P73bQo8juza391t2ZGkrv4ji6efI0Pg81NG8yIp917qsX5ydG/Mb40/yOYf id8Ad0b/AN7fLfq/oH4ffEPqbffV+Eodo763F9tvToz4+783zg1yWXzVF1B971nUZnJ1OefMRf3F ozLlhmKNsaMnB7r3XztfmnsPHfzF/wCff8i+lcpjeofg7vbun5O73+PUWO21Junt3pyD5a7J25Vd N4cVO5tn9TdZ7wyWA+VXyu2bA+W3bNs6nrcRJvOozeToqx6WrFR7r3X1ZPhLtruPZnwy+I+z/kTU 5+s+QO1PjF0JtrvSr3ZuyDfm6aruPBdVbUxfZ1TuXfNLmdxU288/PvalrmrMtHkK+PI1BeoWomEg kb3XujO+/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve /de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6//9Df49+691737r3Xvfuv de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3VBP8AwqD/AO3F/wA4v/La P/gwPj/7917o/f8ANC/3D/BfvHtf/gR/srX+jT5x/wAA/wAz/fr/AGQjuDr/AOaX+i/+Kfu/3Y/0 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 K3c64jHbuhxyfxHBZigy9LHS5MZHCYj3Xuqxez9l7d2t1b01Pk6P+4ndcn956HfXVVZsHtLbm4sj 1bnNu9ad1/H35K7j3TvvceV2nn/9O+0+7a7EYWg2vjsJjqfa2xcVl5YKqbPnJ13uvdfXD/kMdTZH 45fynP5cXUMUef33id5/GKu+RVb2dTY3a23drbSyPyB3bQ/IfF9WZnC1e/Mhvauz8dN35WUONyWP xtXi62n2jX1WQlw09XjMdV+691cx7917rTP+EG094fyXv5qX8zX4vfHN9gb2/lY7R6B68+f3eH9+ u7e9NyVXwB27TRxf322839xenO36Ko7+zXWdHuXOYLr7L4+LdPYnXO19qVs+7xPjar7v3XujO/zj /iF/Nx+WHxs+RWJ3B8ycB0t15t3P/LfJdAfFr+X18ZPkz2X2D8wepsN0l2Fu/qLqb5edx0nZ+Lqd q5/sLZO2cxtbI4Gj2/8A6PcpuXM0VMxz+WyG3cVSe691qm/8Jb+sv5fHZvz5+NcPb2f7epfm/sXt 7trs3qPY25eudhdg/ErtTr7Znx2z1btbAU1WVl7D65+TvXPYcuS7FxO466N9tUlFsinpqUxZ6roZ 4vde6+qL7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de69 7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/R3+Pfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv fuvde9+691QT/PH/AJ4//DMf+yv/APOL/wDsyP8AsyP+mv8A5rX/AKHv7mf6Hv8ARJ/36TtL+8X9 4v8ASl/0w/afY/7u837XuvdVy/CT/hZD8KO8t0732/8AM3qXP/BTE4jAY/M7D3zTbo3v8o9rb1yI yLUWd2nmaTrPonbu9tmZ+Cmqqasxsgw+TxddTw161NZj54KKDJ+690WL+dH8+Nu/zze3PiB/Jo/l Y/ILYG5aLv7+I9992dtbkrO0ti9R5X+5vSuZ7z6n6Xz+f27QZbP5b+E4DE5HO7t25kdlZD+Cb1o9 s0ktRQZnD5yjx3uvdFC6o/mDfzav+ExfenWvw9/mIY3/AGav4U70/udltl7pxe6d7dj/AMD6t2ts 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 17r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xu ve/de697917r3v3Xuv/S3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691opf8K4Or99dQfKT+WZ/Mg3pg/9mI+JHUm/ 9pdX7++Le9Mnh6bq2o31tTsSq74rMHWYzceQ3hRV3+zcdZ7dyO3c/Uw7MrKOix2waNMrLXLU46hj 917q1nefwB/k2f8ACkD4lfGLv3reHP8AX+1upcBQ9XbG3B8dY+uOnu4+ldrbVwiRVfw57T2fW7N7 E2TgMB1pU5ikrcbg/wCHVFPio5IshtjIDB52eozPuvdVDfyhf5IO1vhl/wAKEfkBiaL5D5+ixPwK wG2u4PjtsPs3rnHUHYPyu6E+WPRXbvWeb3jgM7Du/bdNX4D4yb23dS7W3HuvB7fyeGzG5YjTSU2A nqEoofde63MOyNy/ErvrsHevwN7kpuoe3N7VXUOx+/N5fGbtnaeE3njt0dOZHsvN7d2l2DJsre+G r9rb4wG3+1etjHUvTpXSbeyiYuWtWkfIYmSq917rRxwX82f/AKBoNxfzKf5TmEpt/wDyx/0Ob/2J v7+XZnOxofBt3Yv+zC9W7U7Q3vsvvvJ0nY9D9rsDrf8Avji8tR47Y23MT/fLdL7jqqiTb38ehlxf uvdC9/Kx/l/fyvv58/8AKE25sbL9K9Q/G352fFPAV/x73T3j8f8AZ+2tgdg47dNPRbdruo/kD2X1 /tXfX3PyFwHbOydp0NLnMhv2GmqMvuWi3tHtubByt/EYvde6IJ/LB/mJfzWf5B26dlfGz57fGbt7 Zn8ubJ/J2h6y3vu7vfqjt9drdCZHcWR3dT9hZ/4t927SxG4tk7zwE9TS1m+arbmFh3di930+Brqn bgoarM5HM1HuvdfSp3Zuza2w9rbl3zvncuA2ZsnZmAzO7N4bw3Zmcdt3a21Nrbdx1TmNwbl3LuDM VNHicFgMFiaOaqrKyqmip6WnieSR1RWYe6918vjqP+VV8xv+FGvSvzc/m9R98bAb5b1Pf24uv8N8 YIOr6HZOxew/9F/UfRuU21tDaPbdT2JFRbA/hnWe56bbe3Ys9icl95WYSkfPbgRq+vzFL7r3Q/dG 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 H2OwN4fdRrm6fGwUFZlaOA46oqXxVZkqCt917q5j/hJb/K56c7Gx1J/Mdpfkb8nU3tsHPjYOe6z6 pzM/QvTkW88NundedzvRXcG6Nt76qO1fklgIdrY3q7satxa47a2wmkzWPxNZPu14M/i8R7r3X0C/ fuvdAF8ru8v9lh+LfyU+Sv8Adf8Avv8A7Lz0D3H3l/cv+N/3a/vf/om673Hv7+6/94/4Rn/4B/H/ AOAfafe/YVv2vm8v282nxt7r3VFH8uj5o7WyPxK+dv8Awod+T1Tn+sOvPk/gNsZLaXQrd447tTHd R9CfBjCbw6Q2b1N1zkewtndHYOh7e74+UOV7CyOPwNNWRYbMZTd+FhgMOWrMlJU+6918/P8AmQfz evkZ83fnR3Z8ndvdj7/291nlv9PvV/x66u3RVVWW271T8c+8On6z4z7zweI603XuvtHY3Xe/+5uh 9Db5qduzrFUbpq6nI0EsEkVDJT+691vXf8JBPixvroH+WfvPs3tLpn/Rnuz5Pd/ZPtDYe7M5gcPi t9dnfHOi6x61w3U2cyFTGP72f3A/vZ/e7IbXpsqIIpaPLzZfHRNQZmGsrfde62svfuvde9+69173 7r3Xvfuvda1f863+f7jv5cXZfVPxy+LWxcB8qvldR5+Ptn5LdJU2I3TnYOtfiVs3r7dHZfY8mZ3d sjMJU9WdvZnZOKj3FjamsxG5qLbmzqCv3BncXHj5sQ+S917q5je/zx+KPXfxz6d+Vu7O1ftOlPkN /oYg6GyuM2N2RuXfXc2Y+Q1Liq/praPV/S22dn5juvfW/wDfWNzEdXT7dxu3qnOwUcVTUVFJDDR1 bwe69187X/hSd/Nc/mU967pwXxK7t6Nz/wAG/ij2NgNq/JLqzonO1+Ki777n6czWRqMT1XuT5cjb e+N1U22c/i97de5fLr1xJTYWTauZeOHMwZfIYbE5hPde6+oN7917r3v3Xuve/de697917r3v3Xuv e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//09/j37r3Xvfu vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3XvfuvdUkf8AChr4NZj57/yrfkB1zsPZv99+6+pv4H8juisNBJvqfMVG+uppKup3Th9o7a2D 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 kovde6oJ/ma9ndCfNj/hVr1J1x8ku4vjFsT4o/E7P9OdY7o7G39WbMy/Tm4NrfH7Z2d+VnZnTveu S35v2l63nz+8+9Nxbj6rykNRLSU+LkngoarF1mQpKqnrvde63jv+HXP5W/8A3sn+An/pYvx3/wDt i+/de6P37917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de69 7917r3v3Xuve/de6/9Tf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3SA7Q7X6t6P2LnO0O6eytgdQdZ7Y/hn95exO0 N47d2BsXb38azGP29hv45u7dmRxOAxP8Wz+WpaGm+4qI/PWVMUKapJEU+6918f7+ZhV47+aV/Nj+ ZXaX8sX48dvdy9eb4z+P39hdr9LfH/dNfunPY7be0uu9h9o961/WfX+Byu48NgO0+4nq9wS5TL0V FlK2o3LBPmIKTLVs9KnuvdbmHXX/AAp2+JX8v7oT4ufF35V/y+v5jXxc7V62+MXSW2qjqrJfHbCb H2tQY7Z2zKHryap6mp/kT8nYO4txdQ0u49mZHG4HLZ6WsylXT48itqJa6OpPv3Xujt/D3/hU5/KV +XG+qzrvJdi7/wDiXn2+3/u1kPmFgtk9X7F3hbD7nzmZ+z7Q2n2L2N1ns3+79FtpUk/vbl9ufxGs yVFSYv7+qleGL3XulB8nfix/Nj+G3fafIj+U72HgO/vi9vDt7efevyR/lc977t2lhJ929l9x7zoa ruHKfFv5B9j7eyGW6nwHYGW3VmN+1WArN14Tb+1t401dkaGhz9Nm5drx+690/wC6/wCVl8Ufm5mP j1/M++KXWu//AOW588MXv/ZneuK7C3Z0R2R0zvrIZjH763Rlu6eofmd8UqDfHSP+kX/S/wD3q3Dh N5Zmky+Nzu6qOenlp90ZfbMiU+T917q/b37r3Wnf/M//AJSXxi+Tf/ChH+X3mOwPjT292P158u+o fkzuz5oZSDeefpunNyQfGborE7G6l3LDW9b73x3cXUef2fuPN7Hw+4aydsBs7LyZHa1JjnrMtWbi jl917rcQ9+691rlf8Kte0Ni7A/ko/Ivae7s5/Cc/3hv/AOPPV/V9B/DMxX/3n31ie7tk905DB/dY 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 BfHnP/H/AOCfTXb2dX+XL0vuzAz7kwnZuRxj7s2Zi+xty5XuLsrvDe1dn+h6bFUGXrMhja6qxbdt VryYDNUUW1KrDD3XuvoF+/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 97917r3v3Xuve/de697917r/1d/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdfLZ6v7q+Rn/CqD+alg+ivkv8AJr/Z X/ir/uT7V2n8YMB2DVfwfH7F6jjyENNsfozaWZpKfafbPy8ze0975iqyW9sxi2rKPBfx7Kw0P8Ew 9HtUe691uYdd/wAuj+X/APyHtiz/ACt+I/wJ+XnyG7ZpNgbe+PvZGV+OOZ3N8hvkZvTYu5cxtGvz m+8x0tvjunYuwMx/GN/7FwlXmzsXb0NZjZak1FLjKPAw5J6P3XukB2h/woZ/kL9q7FznS3y57I/h 38R/hmM7p+KXyn+E/wAht05jYW+trZjH5fK9X9zde1XRW/dgPv8A6q3/AIRaevp4arKUdDncVrpa mbwxTn3XulB2R/Kx/kBfzWOnN69Q/HjbnwjgqdmZ/Y+5c725/LUr/i5t3uPq3I1U+bGBps3unqHb u68SuA35icZmaE4nc+NyOLr44pqqmp1yWOo66h917pP/AMmv+V7/ADMP5Ve+t1fHPcvzI6B+RH8t Cl+93d1zhtw9f9nUPyM23vrM4dKnP7e672026JNgdFbA3Hv/AD1Zl8ukm5d/0dbLh1noMRh8juXN V9N7r3Wwtmdp7W3Fkdp5jcG2sBnctsPP1O7NjZTM4bHZPI7M3TWbW3Lsar3LtOtraaep27n6rZO8 8xh5KyjaGofF5aspGcwVU8b+690/+/de6QG8dg/3w3F1RuH++m/9rf6Kt/5Hf38D2duP+Cbd7I/i PVvZXV/9y+18Z9nVf3w2BQ/6SP7xU2O10/i3TgMNX+Q/Y+KX3Xul/wC/de6QG8er9i7/ANxdUbs3 dg/4tn+j9/5HtDq+v/ieYoP7sb6y3VvZXS2Qzn2uMyFFRZr7jrPt/cWN+2yMdXRp/EfuFiFVBTTw +691rV/8JEPjFtbpr+U5hO9qR8Bld7fMDt7s/sbcGbptmY7B7pwu1urN25joLZ/WWZ3fFXV+W3xg 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 MBHsnqzt7pjunb+UpqXIpums3T35szeext4UGZrZcrNiajAY3E/G3ByY2KChp6iGoq69p56hJaeO l917qxv+bh8aure8P543/Cdz+8uJ/gefl3/8xd/ZXfG0aHbuM31uH/ZOtl9V/KHpbZe4dzV+By1b ltgYnszE1mvHSX8FHuDL/YSUVVXPVj3XutnP37r3XvfuvdaKX83r/hXJmOpt9dj/ABi/lxdY/wC/ s2n91szevyZ+QWxN9bTzGyN9fwfdeE3xtTYnxj7I2xsjdmE3/wBTbsnxajKb9g+zjzuJyeOq9p19 B9tkan3Xuqxf+E9P8sjov+cn3p3L8of5lPyi/wBmU3Ztb77Cf7K9u/5BbwyPyk7j/u5s/YW2f9OX cG4P74UHddL0D1vjd4YHB7fq8TkB/E9xUyUVVW0NBif4Znvde6+mRtPae1th7W21sbY22sBszZOz MBhtp7P2ftPDY7bu1tqbW27jqbD7f21trb+HpqPE4LAYLE0cNLR0dLDFT0tPEkcaKiqo917p/wDf uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3X/19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ 691737r3Xvfuvde9+691737r3XvfuvdVTfzTv5wXxK/lT9Obj3h29u/Abz70nwFBX9R/FPbW78JS 9x9pZHcU+4sbtbK1OGIyeW2H1C2W2pkly29a7Hy4ugjx1RT0qZHMNQ4iu917rSw/kJ/Bbrv+bp8v Pmh39/Mr/l0b/wB/9Z/Kv/SN8r+rfkrjMl8pOkvjnt3tKXv7M0PbvUfV+e2buTA4DsP++Of7NqXp 463dWUyOAi2DU04Spkmrp6f3Xurt+0P+EY38s/dmYzmc637n+XnU38b3/jNw0204N69Y732LtPYs ++sfmd2dd7Rpty9Uf3//AOPA++we3cvmtyZysxNZJSZLJrnvtqijr/de6t5/4YP/AJOf+gv/AGXf /hvroH+4H/PQfwjOf6dP+Pw/vx/2VD/Hf9mX/wCL1+x/x93/ABZ/9xP/ABav8i9+691UNt7/AIRr fy56b5Gdidobs7U7+zXQ+T3/ALR3j1N8YNvZnF7Yw+ydu0VVPlN+dUdidt5KHd3ZnaGwNyVrR0OI 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 v3Xuqpf+EnWG/li/ILq35g/Br5HdA/6UPlV8j/4tR7hyGe6r39vPbu5vhzidu7NzkG3KHtDaMWYx vx9/0d917ZbM1earJ9lz1m6cns043K5LN0GIhxHuvdHc/l6/yiPhR/wnZ3Ttb+YT/Ni+cnUNH8gc ZgN4Ybo7r3Y9RvdtrbSyOdyNX1Z2BuzrfbdDj4+9PlZn2637Nw9LXR0eyaHF7Ip89kqiuo64R47O Y/3Xurt/j3/Po6m+YW1vkD2T8OPgl/Ma+UvTvxyz+4cBurt7rHqz49YTa29p8BjsnngvTu2+3PlD 1l2r2pn8ttaggycO2cTtybeNNT5fFxVuIpKzJ0NLP7r3SB6W/wCFPv8AKc7J3TX9bdtdh9vfC7uL F9vVXS2U6h+YHSu7evd07f3TRZHFYGtr997k2MOzequq8Bid019TjMpLuzceCqMHUYqtlykFFRxx 1UvuvdXb7a3l058o+nKncHVvaWA7T6d7TwG7NtY7s/oPt2d8dl8c8+Z2Vuap6+7m6b3VR5bBZ/BZ ajraNMtt/MUmUw2UpGaCop6ynDR+691rV/OX/hKB8c/mVmN5dk1Pzv8An3/pryHjxnWW5fkd21S/ L3YvUmxf79Vu7F6vw+G7Gx2A7rz+wMBjc/lqTCU9Z2N95R1laK+sqcjN90lb7r3WuVuH/hPvt3+U X8jOu+/v5sOz/wDZxf5WOT3/ALu6w3t2f8Y92dpbYzHSP96qqDbHR/cvyt60wO2MT2ZidgZatyyP WYzY26q7+HZ1Iab+M5Wf+Gbd3f7r3X0avixB8c/9lz6ZzPxG2jsDZHxo3vsDA9odLYDq/rul6m2L /cXtmlHZuKzmD65pdvbT/un/AHs/vY2WqaabG0VZ95WyvVRLUtKPfuvdD77917r3v3Xuve/de697 917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6//0d/j37r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691RR8/v8AhOZ/K+/mFbpm7J3z1Xn+g+4srn5M/vDt74sZPbXVm6exZ67I 7yz24G7D23mNn716q3dn93bp3rNk8vuaq2428a+oo6SKTLmjialk917quX/oC2/lb/8AP+vn3/6N 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 v0VR/Gus6LaE39/GaDtd9xYT7o7gRY1M3uvdal27P+Eif85Pfnfe5affPZHxi3nU7zwGZ7d3h8ot 2d+dj7i2tuvsvcW86lNwbN3LVZjqus+QOd7ezslZNuKsytVtSXb9VTyuZM22SZqM+691tJ/yr/5X H86T4L/DncnxWzf8xz4h7FwGP/vdt7o3B7c+IOe+TP8AoHw+7K7dW9cv2JsHsjN9g/EStym/852Z 2PlMhNiN87Z3/gqP+EY77djS1FbjPfuvdFC3f/wkHw/yO7S7g78+cv8AM37++R/fHbe/+v8Ad2Q7 G2v09sXqfTh8duKmXtDb2XwGc3X2/RVH8a6zooNvbGTDSbfwXXv2tMwxGYxlNDhU917qsX5hf8JT fhD8OMPR7178/nZbA+NG06rYFRnMVhu6+htp12+uwMx1jsXbFT3TkOqttUHyU2fuzsj7rdldJXYr a+3sHms7jKPMYzDtNmK/RX5D3XuqpvixF/wo3+de6ew8P8Jflp/Ma+Teyeu8/u3AVHem0/mJ8i+t OhNyz7RyO3qWZdtdnfInf/S2JGfzOJ3ficxR7ZyS43eP8Gr0q6jEU6RVIg917rZVg/lyf8K9uzvj ntHqvdn80voHrjAZPYHXdHX4GfsbNbY+Rmzv7v0u3stS7c3d8lelviPluzMtv/E1uJjotxZrG7/z P94pUq1qMrlaWsnlqvde6uX/AJKX8lTI/wAnja3a224vmv298iMT2pn5M5W9bVOydrdZdCYXIw47 a9Bi98Ybrqryfae9sV28lNh6ygyWax+76DF57DT0FLkMPPPhcZWw+691ev7917r3v3Xuve/de697 917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6//0t/j37r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691737r3Xvfuvde9+691QT8of+Eyn8nP5Pf34y/wDssf8AsvO/97/3Z/4y B8Xt35zqb+6H92v7v03+/H6f8uf+NGA/j+FwH2WT/wB+NL9197V1vpys38QX3XuiCf8AQFt/K3/5 /wBfPv8A9Gl8d/8A7lj37r3WrZ/Ph/kB7W/lAbW617c2N8u8B3Bsnuvt7fWytn9N7925jtkd97Y2 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 uz+Rr/Ln/ll/w7cfQnTf98O66H7v/nJXvKpxfZHekX3X996H/fr57+CYTafVWvae/azAVv8AcvC7 b/juHip48v8AxCaLzt7r3VvHv3Xugh6D6D6c+LnTnX3x++P3X2A6s6d6swEO2tjbG21DOmOxGOSe etq6mpq62esy2dz+dy1ZUZDLZbIVFXlMzlKuorq6oqKyonnk917oXvfuvde9+691737r3VM+2v8A hQd/J63F3HU9BVvzOwHW3auNz+7Np7h2/wB+dTd//G3HbM3TseDMy7q212DvD5A9UdabJ67z+Hqc BVUT0ecyOPqHyiLj40eulip3917qxvo35XfFv5Pf3o/2Wr5KdA/Ib+5H8E/vp/oN7j677Z/uh/eX +L/3c/vR/cHcef8A4B/H/wCAV/2X3fh+6+yqPFq8Mmn3Xul92hju0stsXOY/pbeOwNgdmVH8M/u1 u7tDrXcXb+xcT4sxj58z/HOu9p9r9H5/cP3+Ajqqam+33Ri/tKyaKpf7mOF6Sf3XuqKdy/zd/lr/ AC9sdTUX85D4N5/bOyY8/tPDS/Pv+XvT5vvz4UJjt1bpw2KzG7O2dm7wyGJ+QPxkwHXknYW3MHFH maXcOU33nKfLybeo5UgpKSo917q1n4e/Pj4c/PzYtZ2J8P8A5BbA7wwGJ+3/ALy4/b1ZXYnfWyPv 8xufB4b/AEidX7roNv8AZnXH95a3ZuTfEfx3EY7+MUdI1XReelKTN7r3RvPfuvdUE/zV/wDhOt8I f5qG+qrvXdmV3/0D8l/7gZbaLds9QLtP+D9gZilw9Njestw98bDz+3q3/SZ/oz+yjpYnxuU2xncl gtOKqMv9tRYg4v3XuiCfF75AfMb/AITr9F7H+JPze+If+k7+Wh0p39ubYO3P5pnQm+KHJf3W6t7+ 3huDsbZe9O6PiPRjfXbOH/g/bO+qrEbjyK1eMx2P+5p8Xh49yZFMVNun3XutrLq/tfq3vDYuD7Q6 W7K2B2/1nuf+J/3a7E6v3jt3f+xdw/wXMZDb2Z/ge7tp5HLYDLfwnP4mqoan7eok8FZTSwvpkjdR 7r3S/wDfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf uvde9+691737r3Xvfuvdf//T3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3 Xvfuvde9+691737r3Xvfuvde9+691737r3RYvk780/iV8LtrJvD5WfIvqHoXE1mA3nuXb9J2NvfC YLdO+cd17jqHKbwpustjS1T727Tz+GpsrRqcTtzH5TKT1FfS08NPJPVU8cnuvdaxndP/AAse+JSb poOsfhL8Qfk78wu1c129S9ZbPw+SjwnTW1u08dksjldv7fz/AFNLh6buvuLcuf3vuMYmLA7cyWxc JlKynyZNQKOugXHz+690EO/v50n/AApI+TPaWy+ufht/JR3/APGOiy393MhUz/JXqXuLLfxDMbE3 FWdg7vxmW787gxfxZ6H2HsDsrY2302zPQ5HHw50/d1Qw2bgzNbimoPde6M58JP8AhTfjsX33vf4P fzoOnsB/L1+V3XOfx+zq3fNNJumXoTdW88/vNqLF4XM0lWd71PSmAOydy4HK43eFdujcWwtw4Za/ PNncRj5MZBW+691s6dLfIPoT5JbWr98/Hbu/qHvzZOKz9VtPKbw6W7K2Z2ntbG7pocdisxW7ar9w bGzWdxNHn6PE52hqpaOSZaiOnrIJGQJLGze690L3v3Xuve/de697917ogn8yP+W58c/5pnxzX40f Jdt/47aeO3/tjtDae7Or9z0u1t9bK31talzWGps5g6nM4XdO08j/ABHae6cxh6mmzGHylH9nlJZo Yoa+GjrKX3XutJD5y/8ACVv5vfBbfW8vln/KQ793/vDafUWwI93bO21jOxN2bJ/mAY3MVWHrdqdr be6vzPT+xtn7T7I+62nXV2Qp0x1dtvO5bGV1Tt+lxGUr4qZ837r3SB+DX/Cx75GfHD457N6W+Tvx p/2c7f8AsLyYPDd+ZP5A1XVW+ty7FpKWih21j+0IKnpvtX+/u/8ACaJ6eo3Q1VRVmao1pnyMNTlU r8tkvde6T9T/AMLQf5g8/feG3vF8f/jFR/H7GZ/csFb0NTY7frbp3F19nd57Ty+LhzPdlXuuqqYO 3tmbJ27WYbG7hx+3qHbUtRnq+vyG1q4x4ymx3uvdKD5hf8LOvmN2/sWj2j8P/jzsD4bZ+r+4/vL2 huHeND8nN9U/gzG2Mnhv9HeP3X1dsDrPbHlosZk8dl/47t3dn3tHlFai/hdVSpUye691r0/Hv+bp /Mp+K+1vkDs/on5h9vbKxPyjz+4d5d3VdTkcVvHdO6Owd3Y7J4vdnaWG3zvrE7m3t1729uqmymrJ bu23kMRuWvqKSgqJ66SfG4+Sm917rfs/4TV/y7sdvX4lY/8AmKfzBeqMB8ivmb8mu3sL3h1T378o 8Xunuf5C7R6c6owm1tofHfPUO4u+cTk8tsPPtltqZHc23M7tqZ5MvtOv23VfxKeGkx1Njfde620v fuvde9+691737r3VM/zA/wCFAX8pz4S7p331t218q8BubuLYOA3Pksp1D0ttvdvcm6ZN07VyO5sD W9TV+5NjYXJ9VbD7ebdO1KnGS4Hdm49vVGLqJIJcoaCjnjqj7r3R3Pgd80urf5hvxR6q+YXS2A3/ ALY6z7f/AL8/3awfaGL27hd9UP8AcDsjeHV+Z/jmM2nureuApvuc/smqmpvt8nU66OSJ38cjPFH7 r3RvPfuvdAF3l8Ufi38nv7r/AOzK/GvoH5Df3I/jf9y/9OXTnXfbP90P7y/wj+8f91/7/bcz/wDA P4//AACg+9+08P3X2VP5dXhj0+691qW/Ln/hKz2z1Z3HW9+/yOPmHn/gplt14DBbC3b09me4/kLs PHYrawglrt5Vm0/kj17lOwu4spgNzbj2rtqtk2dn8dk6c5QVmQTNQwQY3D0/uvdaxfz+/kqf8KB6 PdM3ZPyr6d+TvzVqdv5+TpbZ/b20+1sv82N053a2JyO8s9t+v21tvD7r358gdqdQ5ORcjk6OXPbc wNPQ1GVSKtgoslXLSye691QTuzae6dh7p3LsbfO2s/sze2zM/mdp7w2fuzDZHbu6dqbp27kanD7g 21uXb+YpqPLYLP4LLUc1LWUdVDFUUtRE8ciK6so917o3tT8d8jVQYb4ldYdN5/5A/OzM9vblzOdl +PG7trfKza0/Tm3unNp7w2DtP4+5j4rdi9l7J7Ez+Yqc/vPL9lSPTZ2TC0+1dvQ42sxUtPu2kq/d e6v26/8Ail1Vtfsv4EYmr/kF/wA5jE/H7BfGLI7D/myUm0+o/mbR7p+bHcdf19tjKYLG7a2NSdoY DB4fqHrv5Q9aYPfdG0G5NsR5WomTz4GlODx8dX7r3RI9n7T/AJsHwD3F8j6no34Y/wAzpf5btT/s 1c+6Pj18uum/mFsnove/xz7Q6t3t1Jm93fLba/RuX6h2NT7/AML0PW0lZl9xYvLY2LD5jCU1ZTVa U9BT6fde6oo3ZmcduLdO5dwYfaeA2Hic7n8zmcXsbadTums2tszHZPI1NbRbT21V753LvPe1VgNu 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 2N/Nj7J+JUuY/m19ZYDZXarZ+jyvVW7KptpbU7j7G603dhKPd9PVd09I9eYDHbJ6jz+z6nNrh6Wn LYjcE0dLLSZrbmLrsacnuD3XurmPfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691/9Xf49+69173 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Wjj0t vzHfz2v+FLNf2XFks/uv4J/yi8BVZzpGrwEe6c31NvruPYe+cVi9p74XfOxe2cr1vhs/2n3o9Zvf bOax8gj37171XiKDIYeeKHISU3uvdbx3v3Xuve/de6pI7Q/4UdfyUeoN9Zzrvdnzz2Bls/t7+Gff 5Dq/r/u7vDYtR/FsPj85S/wPtDpbrDf/AFnufxUWTjSp/huXq/sqxZaSo8VVBPDH7r3R2/hJ/Md+ FH8xna2994fDLvrAd04nrbP4/bW/KSm2/vfY+6dqZHM45spgqnM7G7M2xsze1LgNxU0FSuNyxx5x eSqMfX09NUSz4+tjp/de6O57917r3v3Xuvl8/wAiT4jZHqz/AIU97u6h6Zos/uvqr4KdvfzAcNuD ce7M7tYbpxXTmw8N3F8Xdn7s3K8UW1abc2fym9uwtr0NZHhMaJDUZN6paOChhqHp/de6+oN7917r 3v3XutS3/hTf/Mr7j60x3T38ov4dYTAbl+UP8yHASdb7ybMrBTZHbvTnde6T0XtLZW06re+NxvVU Of8Aklumoz+3pM5W5rybRxeIrJnpqSpyWJzWO917o3v8mH/hPf8AGL+VvtbYHbm+cRgO7fnzBgNw x7w7/mnz9Vtbr6ffWOxtBuDYfQe1MxJR4nBYDBYmjmxUe7arFwbxzdPkct5Jsdi8s236L3XuthX3 7r3XvfuvdIDtfq/YveHVvZXS3aGD/vP1n2/sDePV/Ym2v4nmML/eHYu/9u5Hae7sH/GdvZDE5/E/ xbAZaop/uaGqpqyDya4ZY5FVx7r3WoduH/hFL8CanfXXeQ2n8rPl5hes8Z/e7/SztHcNR0zuffW9 vvcPBBsP/R32Jjer9o4Dq/8Au3n1kqcv/Etr7v8A43RutNT/AMKkQ1b+691rlf8ACif+RP1b/KM/ 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 /wBLf8LYvmbgt019X8ifh38Yu09kyYCqpsXt/pbO9q9B7po90vkcVLRZmv3hvncnySxOSwFPiYa6 CXGx4OkqJqiognWviSnkp6r3Xut2/wDlY/zK+nP5rHxK258ouocJn9mVMGfr+t+3Os9yrPVZHq3u PbuE27nd07Kpt0DG4zE78wC4ndeNyWJzlDFFHX4vI05qqbHZJa7F0PuvdWNe/de6rl78/lC/yvvk 3juwaTuT4HfGLO5btTPzbs3/ANgba6p211l3HuTdNZumDemW3LU949XUmzO4qXP7i3HAZ8tWU+ch qMvHPUQVrzwVVTFL7r3RI/8AoF8/kX/94O/+zL/MD/7oD37r3VzHQfQfTnxc6c6++P3x+6+wHVnT vVmAh21sbY22oZ0x2IxyTz1tXU1NXWz1mWzufzuWrKjIZbLZCoq8pmcpV1FdXVFRWVE88nuvdFD/ AJtvzb3T/Lo/l3fJb5j7G2RgOxN7dR4DZlNs/au7MhkcdtafdPZfZ+yOo9v5ncpw6rlsngNqZbfk OWrMbSz0FRl6eheijr8e9QtdT+6918jzq/YPzG/nJ/zAMHsuTen+l/5b/Ljf+TrMzv7tDcdDt3Dp /Bds5Dce5dx5yspqNaLbewOr+s9o1M1NhcDjpPsMFh4sVgcVK0dBjm917rbS6K/4RF7prNrYvK/J n564Dbu9qrAb+ps1sTorpjI7z2tgt0z47dON6tzOL7Y7A3nsPLbrwGMyzYTNZ/Gy7LwtRXU6V2Gp K+kd4M9H7r3VjX/QFt/K3/5/18+//RpfHf8A+5Y9+691Y1tP/hND/JA2ZunbW8MP8FMBWZbamfw2 5cXSbs7r+S+/NrVWRwWRpspRU25djb57n3FsneeAnqaVVrMTmMfX4vI05enq6eaCSSNvde6u42nt Pa2w9rba2NsbbWA2ZsnZmAw209n7P2nhsdt3a21Nrbdx1Nh9v7a21t/D01HicFgMFiaOGlo6Olhi p6WniSONFRVUe690/wDv3Xutav8A4UY/yP8AI/zVenNpdvfH6XAYb5m/HPAbnpdjYnKUe1sJjvkN 19lZ6TNVfS26d/1tHR5bBZ/BZajqK7YlVkMkNtY7KZfK0tdFSQ5yfN4r3Xuvna/y/wD+ZH83v5NX yM7A3L0sv9092f7m+r+/Pjn3ntjdn9xdz5jadVmsTBg+2utoc1sjdmE3/wBTbsnqpMfU09Zic7hq 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 17o3nv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6+Zv/wALEPgDunpv5r7W+fe34c/m uqvmFgNu7T3zlJ48jksdsHvvprZGA2NSbamraLZuL25tXAdhdO7Zw+Q29R1mZyeZy2Uwm6Z1SCho 4I0917r3wR/4WK/LX429OYbqH5U9BYD5q1OyMBt/bWxu3KrtzN9P9x5LHYmfPCrqe6d01ux+4cT2 1n2xNTiqGly0WNwOUkjxktVmKjNZKunrl917q7jaf/C1H+XBWbW21V75+Nnzc27vaqwGGqd4bf2n tLojee1sFumfHU0u4MNtreGY772Hlt14DGZZpoKPJVWDwtRXU6JPJQUju1PH7r3S+2n/AMLMP5U2 4t07a2/mOsPm5sPE53P4bDZTfO7OpeoKza2zMdk8jTUVbuzctJsb5Bbz3tVYDbtNO1ZWR4fD5bKP TwutJR1U5jgf3XuiSfML/ha11bTbFo8f8Afinv8AzXZmT+4+/wB3fMKn27tjYuyfssxtiel+z676 W7Q3dn+0P7yYBszTSa90bQ/glYlFUj+KxvPSJ7r3WvT8JP5SH80H+fv33vf5Tdmbiz+3dk9k5/H7 17S+a3yEwG5aPa2+4J95t19msH8fsNicHj8T2xn+v8TtXKUeP23gZMLs7bVPtyHBVWT2+j4qnl91 7raT/wCgKX4E/wCi3+Ef7NZ8vP8ATX/cD+Hf6QPuOmf9Fv8ApS/u79t/fH/Q/wD6L/72f3A/vZ/l v92v78/xH+Hf5F/HfN/uQ9+690L38nf/AIS37W/lu/J3bfzH7c+U2f7k7i6pz/ZNN03tXrnZ2O6/ 60pNrbswHb/Ub5ns07ml3rund2f3d1VvXF5YY3FT4Cn2nuBKqi+/3LRpDXSe691tpe/de697917r Tv8A+FY1Tun4/bp/k7fzHqTDYDeeyfhP83JKncHW9TuXI7X3TvvdO4sj1V3ts/DYbLRbT3LicRgK 3E/E7OUGSyU4lqMfUZCgeCgrkao+3917ooW0/wDhcLtas3Ttqk3z/LYz+3dk1Wfw1NvDcG0/ljjt 57pwW1p8jTRbgzO2tn5j467DxO68/jMS009HjarOYWnrqhEgkr6RHaoj917q3n4xf8Kwf5QnyN3S +z9zb97e+KuWrM/szbW1av5O9bUWC2tu3I7yyNdizUpvnqPdnceydg4DadTT07ZrLbyyG2cXRU9f FUCokghrpKT3Xurt92fNP4lbM+MW5fmjmPkX1DWfFHamAzO5cp37tPe+E351pVY7BZ+p2hW022tx bGqtxU288/PvalbAUeJw/wB/lMjuApi6SnmyEkdM3uvdaSP8zL/hZBult05PrP8AlZbDwEGyYMB2 FtbcHyS+QmwcjVbpye6arI5DAbP398fuuIt5UeJwWAwWJo489j6rf+LyNRlqjIw0uS2xjkx1RFlP de607vkr8/vm98xf4tTfKH5Yd/d4YDLb/ru0P7h7+7Q3ZlurcHvqv/j0f8c2X1N/E4us9gfwyi3P kKPHU2DxOOo8VjquSjoooKU+H37r3Q/dX/yWf5tXb++sH13tP+XT8vMTn9w/xP7DIdodI726P2LT /wAJw+QzlV/HO0O6cXsDrPbHlosZIlN/EsvSfe1jRUlP5aqeCGT3Xut+z/hMz/I831/LY2L2T8l/ lzsn+5/zW7d/vD1fjdp4/s3D72w/V3xzpcxtLMx4PJ02xJq7YFVv/sjf+z1zFdUw5jckVNgqHCQ0 suLrJc9Rze691tZe/de697917r5yv89H/hMN8xpfkZ8kfm98JKf/AGZzrPujf+++/t99NQZGho/k ZsDeG+6rfnZ/bMW0dsSY7C4Dt/YFFn6cLt2iwdVNvqplzlJh4sHlJKKbM1vuvdU0fy1P54H8wf8A k39g5vqGSLP9hdO7Vz7bD7J+GXyKrN+4vHdX5HbPZeSznYuN6sxtfWU+W+Nvb02WyW4qHJNHjarF vlMnLVZzA5asoaIU3uvdfTH/AJbn83r4Q/zTNituX40dj/w7f+O/vPPuz459oVW09rfIzZWH2tmM Liand2c62w2690/xHYGR/vTh5KbcWHrMpgvLlIqCarhysNZQUvuvdWde/de697917r3v3Xugh7p+ QfQnxt2tQb5+RPd/UPQeycrn6XaeL3h3T2Vszqza2S3TXY7K5ii21Qbg3zmsFiazP1mJwVdVRUcc zVElPRzyKhSKRl917rSw/wCFBH/CnD+4H98PhN/LL7I2BuzJbs2BtOXsT5y9Odn/AN7P7gf3s/vP Ju7qvpKu29gP7p/3/wD7p/wCoO/8LubLfwD+LV+PpKeg3JQLkcV7r3VQ2y/5aP8Awre3P9n3TtzM fPvE5/s7YGwYKzcu4/5jG3+vO0snsXE/3j3ZsHaO/sNvT5Sba7M2/wD3Nrex81UQ7dz9LSVm38jm MiklJS1U9Yje690Z3Y/yg/4WD/y5t09b9cb56O+Tvyj2ttrAZzctPsrfHR1B869rbrx28cjvWkhp uyPkz8dv759xVWf27uOebIUOJquyaPKY2npcbFJT/wADkpqSo917p/2D/wALN/nt1N2lvTaPzC+C 3QOf/uh/ePZec6v2DJ3N8Ye0tkdpYDcVHjMnR70yHaGc+Q32n92v4bk8dkcBNt3H5GPIvGz1kH2s tNU+690P29P58OY/mx9W1lTuP/hL5v8A+evWe3v7/dX0e/Nubj313h/o0zG9Nu7ck39g9g9s7L+C uaz/AFBv+twFRhayapwGWxOdpNOOrI5YpI6OZfde6LF/Kl+FP/CnvpvsHrrcXw8wXb3xS+H9fn+w 49jdL/zEe7cNuDpzYPWlJ2Xm9/Vew+1/jpW4fF9xbVz/AGFuPbLYuq3bsvqrZe4MtJnJ8pj5sPi8 tPWJ7r3W+b8Lf9n2/wBFuf8A+HE/9lD/ANNf9/8AKf3X/wBkt/0zf6Lf9Fv93dq/wT+P/wCnL/f2 f3//AL2fxv7r7f8A3Hfw77Hx/vfce/de6N57917r/9Pf49+691737r3Xvfuvde9+691737r3Xvfu vde9+690wbs2ntbfm1ty7G3ztrAbz2TvPAZnae8Nn7sw2O3Ftbde1txY6pw+4Ntbl2/mKasxOdwG dxNZNS1lHVQy09VTyvHIjIzKfde60sP5jP8ALc/m6fy2PkZv75C/8J8G3/s/4q9u7A3z2h3l8XOu Nz9U722L1d3VS1WKyPYmc6i+IndeFrtp1X+kjaez8B/dim2Vi9ybupqyhyuBx0WLwkuEw83uvdUj /wDDv3/Csb/Sl/oN8vy8/wBNf9wP9K/+h/8A4bU6l/0pf6Lf7xf3Q/0lf6P/APZS/wC9n9wP72f7 i/4z9p/Dv4j/AJN5vN6PfuvdL/8A4cn/AOFjH/Puvn3/AOmo9j//AHHXv3XuiCdr/wDCjP8An0U3 +krpbtD5jb/2Bn6f++PV/Ym2v9l7+PPUHaWycxF/Edp7uwf8Z290ftHszq/f+261ain+5oarF53C ZGHXDLTVUKunuvdFD+Fv8sr+Yx/Ns7Sz+4ejesd/9q/3p3/lKzuD5S9r5fKY7q3E7wze4tq13YG4 +yu7t3vVf3w3/Q/6SKTcWZwuLfP76yGOqJq+mxVdZyfde6+mP/KD/kF/Er+VDtYbgigwHyS+V1Zn 8rma35V7661wmC3TtTHVGO3FtfF7T6P27V5fe9T0pgDsnctZR5uTH5ipym5qiuqmyFZJj1xmLxfu vdXr+/de697917r3v3Xuve/de697917r3v3Xuve/de6QHaHVHVveGxc51f3T1rsDt/rPc/8ADP7y 9d9obO27v/Yu4f4LmMfuHDfxzaO7MdlsBlv4Tn8TS11N9xTyeCspopk0yRow917oof8Aw1H/ACt/ +9bHwE/9I6+O/wD9rr37r3T/ALT/AJZ38uDYe6dtb52N/L9+EezN7bMz+G3Zs/eG0/il0Rt3dO1N 07dyNNmNv7l21uDD7Co8tgs/gstRw1VHWUs0VRS1ESSRurqrD3Xuje7T2ntbYe1ttbG2NtrAbM2T szAYbaez9n7Tw2O27tbam1tu46mw+39tba2/h6ajxOCwGCxNHDS0dHSwxU9LTxJHGioqqPde6f8A 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu vde9+691737r3Xvfuvde9+691737r3XvfuvdBD350H058o+nOwfj98gevsB2n072ngJttb52NuWG d8dl8c88FbSVNNV0U9HlsFn8FlqOnyGJy2PqKTKYbKUlPXUNRT1lPBPH7r3Wqb35/wAIvv5fG+Md 2DkPj98gPk70HvbcufmzOxqTcuR2F3X051tjq7dMGUq9p02xq3amw+1d14DGbWaoxWJkyHYDZSnk +3q66syTxTx1fuvdUz9of8Ipfntid9ZzH9LfKz4h7/6zp/4Z/drd3aFR3N1BvrLeXD4+fM/xzrva fV/eGA299hn5Kqmpvt90ZT7ujhiqX+2kmekg917r3V//AAil+e2W31g8f3T8rPiHsDrOo/if95d3 dX1Hc3b++sT4sPkJ8N/A+u92dX9H4DcP3+fjpaap+43Ri/tKOaWpT7mSFKSf3XutnP4Nf8Jc/wCV b8QsPs3M9jdT/wCzld14DyZDM9k/I4yZ/YuQzGX2LRbR3LjMP8c6as/0Kf3A/iX8Qy2EodzY3d2d wtZkA5zdVNRUE9P7r3WwttPae1th7W21sbY22sBszZOzMBhtp7P2ftPDY7bu1tqbW27jqbD7f21t rb+HpqPE4LAYLE0cNLR0dLDFT0tPEkcaKiqo917p/wDfuvde9+691737r3XvfuvdBD350H058o+n Owfj98gevsB2n072ngJttb52NuWGd8dl8c88FbSVNNV0U9HlsFn8FlqOnyGJy2PqKTKYbKUlPXUN RT1lPBPH7r3WrZ/0Bbfyt/8An/Xz7/8ARpfHf/7lj37r3VQ3zJ/4Ra/IzZP94t2fBr5M7A70wFP/ AKTNw4/qbvLF1XUHaVNh8X4sl1f13tffmDO7us+0N/7komnxtbl8zH1pgosjDT1BWmpauYY33Xuq Ke6f5Rf883oPa1B8Xd8/Dz5uZ3qrJZ+l78p+qulsdu/5JdCR9g1mOyvXkPYNfT/HbLdp9O4rt5Nu YabGyvVSw7lgwzwCRUoaqmMvuvdXMfyqP+EinenyPw9L3B/Mf3Bv/wCI/Wdb/CazanRu0aXZ9R8j Owdu7i2LU5um3HuHL5mbdeA+O/8AA8/mcTE+Fz+38xumolosvj8jitvyRUdbU+691vW/C3+Vv/L/ AP5eX8fqfh78YNgdQZ/c/wDFIM5vzz7m3/2lXYfNf3Vkye0f9LPaGf3t2ZTbAqa3ZWMrP7uw5aPB Jkab7xKRaqSWaT3Xuj9+/de697917r3v3Xuve/de697917qmf+ZX/Ic/l8fzSMjhN4d3bHz/AFZ3 Fi8+uZzHfvx1/uF173H2Djk2tjdoRbT7T3FuDr/fGJ7JwFBidv4lcbJmMfV5TCR4qKnxlZRUdRkK at917r5y3y5/lm/zQf5E3y1re6OvMZ28u1vjvn8F2D1H8+enevdyzdOVG1t15uXZe1p9+5s4/c2y evc/uqpyjbZ3PsHddVVU9bJXyY51zWDylDW5X3Xurt/il/wtS7j2P05ltsfMH4nYDvzuLbWAxEGx uzOqd8wdKY7snI0M/XuCq4e4Nr1u09+YnamfyeJXdG463cO14FxdRlP4fh6Ta2No5Z8pSe690WL5 Q/8ACyn+Yx2r/fjA/GrqvoH4obTz392f7l7j/g2U71702F/C/wC79ZuP/f6b+mx3Sm6f705LHV8H +V9ap9jh8j4Ir19PHlT7r3RBP+HQv+FGH8yP/mVHePz77m/0M/8AF/8A9kc603R13/dv/SJ/xa/9 KH+yW9f7F/jH8Y/uLU/wT+8v3X2/2tf/AA/xeWu8nuvdG829/wAJcP573zJ312J2h8p8tsDYHZlR /dH7/sT5hfKabt/fXbPiw8+3qX7Pd3Sy/JzP1f8AcTAbXx1DJ/eKoxfjo5qKGg+5jhnWl917q3n+ VR/wkEzHR/yMpe6f5mW8+ge9dgdb/wAJznWXQfUGT31vDYvYu+o6qpmXId8T9jda9b/fbA2f9rT1 EW16alr6PdNZOqZaZMVR1WJzvuvdb1vv3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/U3+Pf uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv fuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdMG7 Np7W35tbcuxt87awG89k7zwGZ2nvDZ+7MNjtxbW3XtbcWOqcPuDbW5dv5imrMTncBncTWTUtZR1U MtPVU8rxyIyMyn3Xuten5K/8JV/5OfyG/i2Q290vv/4w7sz+/wCu39nN3fGrtHOYD7v+K/x6fJ7L xPXfaEHbPSmyNgT5LNpUwY7bu18R/DP4fS01BJS0Cy0k3uvdD98av+E6X8nP4w/wnIbe+F+wO2d2 UmwKHYOc3d8lazOfIb+9/g/gM+T3pluu+0Mjn+lMBv8Az+SwCVM+R27tfB/a/c1VNQR0dBUy0je6 91dv7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r/9Xf49+691737r3X vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ 691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3 Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X//1t/j37r3Xvfu vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv fuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf//ZJQgAAEQA ZAAAAAAAAAAIAAAAAAAAAAAAAAAAANcKDQLoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAPAATwRgAAALIECvAIAAAAAgQAAAAKAABTAAvwIgAAAH8AEAAQAARBAgAAAAXBBAAAAAYB AgAAAP8BAAAIADEAAAAAABDwBAAAAAEAAIBiAAfwiwcAAAYGxK0YgDAnVy0moqyBNdNihf8AZwcA AAEAAACm/gEAAABSAABuHvBfBwAAxK0YgDAnVy0moqyBNdNihf+JUE5HDQoaCgAAAA1JSERSAAAA uQAAACMBAwAAAPKeOToAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAFiS0dEAIgF HUgAAAAEZ0lGZwAAAAp8We1TAAAADmdJRnhORVRTQ0FQRTIuMAEAACROmFAAAAAMY21QUEpDbXAw NzEyAAAAB09tt6UAAAFYSURBVDjLjdLBacMwFAZglRx89ATFcwQCGqTHjpBTCIkCubRQyAb1IIU6 0AG0QQRtQfTkBB9kIfn9lZ06ttMaKgn0Pz4QSHoMf48NG4dyEvYd4qbe9iApBTzMR12S78CDOIzK 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 bBoMqpTen4jZKoaLr/ElrGspS76MObPmzZcKAAA7WeTyKAAAAABJRU5ErkJggm9gAABEAGQAAAAA AAAACAAAAAAAAAAAAAAAAACoDLgLZgNmAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA DwAE8FIAAACyBArwCAAAAAQEAAAACgAAQwAL8C4AAAAEQQQAAAAFwRYAAAAGAQIAAAD/AQAACAAR BDUENwRLBDwETwQ9BD0ESwQ5BAAAAAAQ8AQAAAADAACAUgAH8MlfAAAFBXoi8vNvyM0n3N2H5m1Q 0DT/AKVfAAABAAAA4g4CAAAAUgCgRh3wnV8AAHoi8vNvyM0n3N2H5m1Q0DT//9j/4AAQSkZJRgAB AQEAYABgAAD/4QNSRXhpZgAATU0AKgAAAAgABVEAAAQAAAABAAAAAFEBAAMAAAABAAEAAFECAAEA AAMAAAAASlEDAAEAAAABAAAAAFEEAAEAAAAB/AAAAAAAAAAAAAAAADMAAGYAAJkAAMwAAP8AKwAA KzMAK2YAK5kAK8wAK/8AVQAAVTMAVWYAVZkAVcwAVf8AgAAAgDMAgGYAgJkAgMwAgP8AqgAAqjMA qmYAqpkAqswAqv8A1QAA1TMA1WYA1ZkA1cwA1f8A/wAA/zMA/2YA/5kA/8wA//8zAAAzADMzAGYz AJkzAMwzAP8zKwAzKzMzK2YzK5kzK8wzK/8zVQAzVTMzVWYzVZkzVcwzVf8zgAAzgDMzgGYzgJkz gMwzgP8zqgAzqjMzqmYzqpkzqswzqv8z1QAz1TMz1WYz1Zkz1cwz1f8z/wAz/zMz/2Yz/5kz/8wz //9mAABmADNmAGZmAJlmAMxmAP9mKwBmKzNmK2ZmK5lmK8xmK/9mVQBmVTNmVWZmVZlmVcxmVf9m gABmgDNmgGZmgJlmgMxmgP9mqgBmqjNmqmZmqplmqsxmqv9m1QBm1TNm1WZm1Zlm1cxm1f9m/wBm /zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZKwCZKzOZK2aZK5mZK8yZK/+ZVQCZVTOZ VWaZVZmZVcyZVf+ZgACZgDOZgGaZgJmZgMyZgP+ZqgCZqjOZqmaZqpmZqsyZqv+Z1QCZ1TOZ1WaZ 1ZmZ1cyZ1f+Z/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzMAP/MKwDMKzPMK2bMK5nM K8zMK//MVQDMVTPMVWbMVZnMVczMVf/MgADMgDPMgGbMgJnMgMzMgP/MqgDMqjPMqmbMqpnMqszM qv/M1QDM1TPM1WbM1ZnM1czM1f/M/wDM/zPM/2bM/5nM/8zM////AAD/ADP/AGb/AJn/AMz/AP// KwD/KzP/K2b/K5n/K8z/K///VQD/VTP/VWb/VZn/Vcz/Vf//gAD/gDP/gGb/gJn/gMz/gP//qgD/ qjP/qmb/qpn/qsz/qv//1QD/1TP/1Wb/1Zn/1cz/1f///wD//zP//2b//5n//8z///8AAAAAAAAA AAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0K CgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCADIANgDASIAAhEBAxEB/8QAHwAAAQUB AQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEG E1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLD xMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAA AAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKR obHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKK5/wCK XxY8K/A7wJfeKfGvibw/4P8ADGl+X9t1fW9Rh0+wtPMkWKPzJ5mWNN0jog3EZZ1A5IFfOHxr/b78 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 AQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMB AAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKj dDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cR AAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M0 8SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW 5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9VSSSSUpJJJJSkkkklKSSVYZT7M049LQ6ukfrFp7 OImuln7z9v6Sz/Rs2f6RJTZSSSSUwutrpqdba7bWwbnOPgFn2V25FfrZRcx9umLihxbtPLX2bPp3 N/nLP8HT/wBN8b8kZnUPs1LfXZiOBsaPoG76TBdZ9FrMb+c2fznrf8Sr9VG13q2n1LiI3RAA/drb +a1JSZJJJJT/AP/Q9VSSSSUpJJVXZ9Zca8Zrsl4mfTjaI/fudtqb/nb0lNpJVg3Osgveygd2sG93 /bj9rf8AwFVch922xmNe9z6gTZe9zAxn735npue2P3fZ/hElJupZ4xKxXV78y87cekauJ72bB/gq f5y1V+nvyqspmE2tjamMNmS4uL7N7zLHW2N21eve/fY9jd//AJ7WO/Ny8KxuRSxt+fmsik3yPRon +l5No9P1PWcP0WIxlF136KmrZ6d6s9KzMKjqNjWX32NNLrsm64PAtue6r3Npd/MurZtZXUypn89X T/g0lPRkgEAmCeFh3ZXV8ux+PU5lFWQ9zcWyr3WGtuj8lzvoV1N/e/nLLP0TPT/n0XO6dj5F9fV8 59lTcatzBjtIgteR7XwN/q2xsdXU/wDSfzKu4OPY3dk5AAyLolo1FbB/NY7f+L/P/wCFSUlw8SjD xmY1AiusQJMkn8573H6dj3e570ZJJJSkkkklP//R9VVe7MZW/wBFjTdeRIqZyB+9Y76FTP6/9hCd dfl2vpxiaqajstyNNxcPp1UB37v+Eud/6rOyvGxKjG2pky5zjyTy573/AEnf1klIvsll53Zr9ze2 OyRWP6/59/8Ab/R/8ErTWtY0NYA1rdA0CAAqruqYkTSXZHh6DHWA/wBtg9P/AKaY5Oe8D0MPbPe+ xrAPlT9ockpr9Sz7vtQ6djV2PtNYtsLAW+0ksZX9oj0qN7mv9Wz+dZV/NV+rYxZtFAdkOw8ctust IsynSRU70/Yymtk+3p+M/wBj2N/pd/s/7mWK7dj9Y6i52M/IGFjMIFz6GEPsOjnVU2Xl22nb7LLv R9/+CUB9V2i20/a7DVcWywgbgGMbU2sf9p/Tbs9n6r7ElM8i/pvS3G264ZPUbj+ja98uLiP8FX7/ ALLRp79jf+3LFT6Vj4dWbk5oqyMzKc8Fzwxza95Y2yx1Vd/o1s91rtn/AAa1asPA6RQ44dDRbcQ0 R9O2w/Q32H3f+k2JnteQOnU2H1X+/Lvby1r9XbT+bbd9Gn/RV+//AAaSkNV+Z1HJFwxduJjuIq9S xo32t9rrf0Pr+yn6FX/CfpP9ErgHVXHV1FTfIPsP/VUKzXWytja62hrGANa0cADQBSSU1m4+WR+k ynT/ACGMb/1bbVMYzddz7Hz4vI/6jYjJJKY+myIjT4lJSSSU/wD/0vS7Om4tlj7Iex1mtnpWWVhx 43ObS9jdydnTsFkEUtc4GQ5/vdP9eze5WUklKSSSSUpJJM7g/Dskpyn5dl2SX4wFlxBrxGH6LWg7 Ls26P8HvGyr/AEuz9F/OvV/ExWY1WxpL3uJfbY76T3n6T3/6+xnsWN9TPQ/Zr/Q9H09zY9P1fV+g 3+mfbf0/qf6L/gPTXQJKUkkkkpSSSSSlJJJJKf/Z/+0NClBob3Rvc2hvcCAzLjAAOEJJTQQEAAAA AAAHHAIAAAIAAAA4QklNBCUAAAAAABDo8VzzL8EYoaJ7Z63FZNW6OEJJTQQvAAAAAABK2AEBAFgC AABYAgAAAAAAAAAAAACeGgAAQBIAAJz///9y////AxsAANISAAAAAXsFAADgAwAAAQAPJwEAAAAA AAAA7e3t7e3tGOk4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAA AAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAA AAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2Zm AAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEA LQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD///// ////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////// //////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAA AAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAA7AAAAZAAAAAgAdgBvAHIAbwBuAGkA bgBhAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABkAAAAOwAAAAAAAAAAAAAAAAAA AAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAA AAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21s b25nAAAAOwAAAABSZ2h0bG9uZwAAAGQAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNs aWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVu dW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNl VHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcA AAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAADsAAAAAUmdodGxvbmcAAABkAAAAA3Vy bFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFn VEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAA AAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGln bmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAA EUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91 dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAA AAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAThCSU0EDAAAAAAG7AAA AAEAAABkAAAAOwAAASwAAEUkAAAG0AAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9D TQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwM DAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwM DAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAOwBkAwEiAAIRAQMR Af/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 9VSSSSUpJJJJSkkkklKSSVYZT7M049LQ6ukfrFp7OImuln7z9v6Sz/Rs2f6RJTZSSSSUwutrpqdb a7bWwbnOPgFn2V25FfrZRcx9umLihxbtPLX2bPp3N/nLP8HT/wBN8b8kZnUPs1LfXZiOBsaPoG76 TBdZ9FrMb+c2fznrf8Sr9VG13q2n1LiI3RAA/drb+a1JSZJJJJT/AP/Q9VSSSSUpJJVXZ9Zca8Zr sl4mfTjaI/fudtqb/nb0lNpJVg3Osgveygd2sG93/bj9rf8AwFVch922xmNe9z6gTZe9zAxn735n pue2P3fZ/hElJupZ4xKxXV78y87cekauJ72bB/gqf5y1V+nvyqspmE2tjamMNmS4uL7N7zLHW2N2 1eve/fY9jd//AJ7WO/Ny8KxuRSxt+fmsik3yPRon+l5No9P1PWcP0WIxlF136KmrZ6d6s9KzMKjq NjWX32NNLrsm64PAtue6r3Npd/MurZtZXUypn89XT/g0lPRkgEAmCeFh3ZXV8ux+PU5lFWQ9zcWy r3WGtuj8lzvoV1N/e/nLLP0TPT/n0XO6dj5F9fV859lTcatzBjtIgteR7XwN/q2xsdXU/wDSfzKu 4OPY3dk5AAyLolo1FbB/NY7f+L/P/wCFSUlw8SjDxmY1AiusQJMkn8573H6dj3e570ZJJJSkkkkl P//R9VVe7MZW/wBFjTdeRIqZyB+9Y76FTP6/9hCddfl2vpxiaqajstyNNxcPp1UB37v+Eud/6rOy vGxKjG2pky5zjyTy573/AEnf1klIvsll53Zr9ze2OyRWP6/59/8Ab/R/8ErTWtY0NYA1rdA0CAAq ruqYkTSXZHh6DHWA/wBtg9P/AKaY5Oe8D0MPbPe+xrAPlT9ockpr9Sz7vtQ6djV2PtNYtsLAW+0k sZX9oj0qN7mv9Wz+dZV/NV+rYxZtFAdkOw8ctustIsynSRU70/Yymtk+3p+M/wBj2N/pd/s/7mWK 7dj9Y6i52M/IGFjMIFz6GEPsOjnVU2Xl22nb7LLvR9/+CUB9V2i20/a7DVcWywgbgGMbU2sf9p/T bs9n6r7ElM8i/pvS3G264ZPUbj+ja98uLiP8FX7/ALLRp79jf+3LFT6Vj4dWbk5oqyMzKc8Fzwxz a95Y2yx1Vd/o1s91rtn/AAa1asPA6RQ44dDRbcQ0R9O2w/Q32H3f+k2JnteQOnU2H1X+/Lvby1r9 XbT+bbd9Gn/RV+//AAaSkNV+Z1HJFwxduJjuIq9Sxo32t9rrf0Pr+yn6FX/CfpP9ErgHVXHV1FTf IPsP/VUKzXWytja62hrGANa0cADQBSSU1m4+WR+kynT/ACGMb/1bbVMYzddz7Hz4vI/6jYjJJKY+ myIjT4lJSSSU/wD/0vS7Om4tlj7Iex1mtnpWWVhx43ObS9jdydnTsFkEUtc4GQ5/vdP9eze5WUkl KSSSSUpJJM7g/Dskpyn5dl2SX4wFlxBrxGH6LWg7Ls26P8HvGyr/AEuz9F/OvV/ExWY1WxpL3uJf bY76T3n6T3/6+xnsWN9TPQ/Zr/Q9H09zY9P1fV+g3+mfbf0/qf6L/gPTXQJKUkkkkpSSSSSlJJJJ Kf/ZOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAA EwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwAzAAAAAQA4QklNBAYAAAAAAAcA BAABAAEBAP/hD89odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i 77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0i YWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3Njcy MCwgTW9uIEZlYiAxOSAyMDA3IDIyOjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9 Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2Ny aXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhv dG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4YXBNTT0i aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnRpZmY9Imh0dHA6Ly9u cy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4 aWYvMS4wLyIgeGFwOkNyZWF0ZURhdGU9IjIwMDgtMTAtMjNUMTY6Mzg6NTQrMDQ6MDAiIHhhcDpN b2RpZnlEYXRlPSIyMDA4LTEwLTIzVDE2OjM4OjU0KzA0OjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIy MDA4LTEwLTIzVDE2OjM4OjU0KzA0OjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hv cCBDUzMgV2luZG93cyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2Rl PSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpI aXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6MTIyNjlCNUNGRkEwREQxMTlCMjdCQTBE Q0FCODBFMjIiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6MTEyNjlCNUNGRkEwREQxMTlCMjdCQTBE Q0FCODBFMjIiIHRpZmY6T3JpZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAv MTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVu aXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0 LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIs MzA1LDMxNSwzMzQzMjtCRTgyNzU2OTgwMDcyREMzNTI4MDE4RDA0MzQyMEU1QyIgZXhpZjpQaXhl bFhEaW1lbnNpb249IjEwMCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjU5IiBleGlmOkNvbG9yU3Bh Y2U9IjEiIGV4aWY6TmF0aXZlRGlnZXN0PSIzNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0 MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1 MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4Mywz NzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5 Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0 MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIs NCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYs MjcsMjgsMzA7QzlGRDc4RThFMDc2Q0VGMjI1M0FEQkYwNUUyOURBOTIiPiA8eGFwTU06RGVyaXZl ZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDpFMDY0QjJGOEYyQTBERDExQThFM0VGODJCMDJC MDZBOSIgc3RSZWY6ZG9jdW1lbnRJRD0idXVpZDpCQUExRUE3QkVEQTBERDExQThFM0VGODJCMDJC MDZBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAg 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+/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJ AAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwA AAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAA A9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RS QwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1Q YWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAA AAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNj AAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5p ZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAA AAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAA AAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAA AAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4g SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDP FAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMA KAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIB WQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4 AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oD ZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATT BOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowG nQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiq CL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsL Igs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPUR ExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSL FK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUY ihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzM HPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUh oSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3 JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDks biyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJj Mpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5 BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/i QCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVH e0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9J T5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2Cq YPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFq SGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQU dHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+ wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZ if6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSV X5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFH obaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1Erbiu La6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsu u6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJ Osm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc 1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3m lucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///+4ADkFkb2JlAGQAAAAAAf/bAIQA BgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAEHBwcNDA0YEBAYFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwM/8AAEQgAOwBkAwERAAIRAQMRAf/dAAQADf/EAHcAAQACAwEBAQAAAAAA AAAAAAAFBgIECAMBBwEBAAAAAAAAAAAAAAAAAAAAABAAAgEDAgMFBAgFBQAAAAAAAgMBAAQFERIi ExQhMTJCBkFRIzNhcYGhUkNTFZGxgiQHYqJjoxYRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhED EQA/AOqaBQKBQKBQKBQKBQeV3d29naturk4WhIybDn2RH1UFeube6v0dVkpYp11MDi8ULJXy57xN myYk3DHxGa7lp27Q/GYWb2UH/9DqmgUCgUCgUCgjRyj35orG0WJ21qMzkLkpnhYURK0hEeI9s8xn 6YbP1OEJKgUFWvsnGVz/AO32a+sRijErhYzoqbvsIIczSRELaNGbOJhOINofBKgnrWxkGzc3Jw68 KNss00ERnt2rGZnaPv8AMXmoNug//9HqmgUCgUCgUEP6kzw4y2BFtEOy95PKx1mMbzM572SEdvKT HxGlwjt83ENBG+n3ZW2yisOtCgtUpK4yJmZNuIa6dQJrB2q57z3sMB37QHx8S6C0yYRMRJREl3RM 9+nbQUe8ynq7J3DrG3amztb5prxdxbTLHlbr7DuSLwLUMT2F8xjCBQcv55BbcRibLE45GPsgkbdA 7RkpkjKe8jMp7TYZcRmXEZ8VBuUCg//S6poFAoIxmetjaSLBTMi8Ynd0+nKGY9huKRUM6+Xdv/0U GQqzr9Ca5NmHfKkjLj+rmHtH/poIzIvu+Vcqx1+03WwyVzfNNIJTETO7WZXyyMdJ4duwPzPwkFKd mctiLld9apXe57MK22ZXkTHSWW7tu7lsQuGS4oHlWgAhztikqEOW/YEl6VzGGs/Ub1pvr16iszu8 leXcNEbm7axXEKS0hJLDaC1AoOFy0hu5dBMZv07j76/t/VOZdcWwY+3akMeBRtJTiidpxESfNboI EtR/E4U8fnCawWPuFw3IXwQGQvNu5UTEwhI/KtxmOzReupzHiaRl4dtBK0CgUH//0+qaDQvculD4 tErO7vijWLZUayMT3Ewp4FB9JzxeTfQeP7Rc3s78u7mLnusEzI28R7jnsN/9e1f/ABUEmpS1LFag FawjQAGIgYiPZERQVr1Jnbz90DA463uHXJoi4uCSJBGwzkAX1ExykbyE5azdzQUPwlk1gbQrdlYg zItxNjIXdzczD8oyZIbZnInYCVhrw4+2PUDAeO7fuAyL+8ZQTV/f+m/TTJuLu7HIeobsp6dbm7mE yRnsUuZOLVAxE7yAdu3xcxniCH9K2GIt8zksvFpf5fKG4Ca8VMBEPJQsYSlv5Kw4mlAF4hWXi8e4 Jy1vsxnskN2OMheKsGFFrFw8I51yGok2YTD4kEzqCu35m9nkUVBMCPqlhzuZY2weyIBtwX8ZJEf7 aDNeOysxPPyrJmZ/IUlcae7jFs/fQe4Yxca8x72zOmu5pR3fQEhFB79OnZs04dde+f560H//1OkD vL3KXT7SwObaztjlV1kIiJMmD41IgtY4fCxxRwlwAO/cSw3kox2LtSgdlunWSYxhabinvIzOdSKf xFNBqH6oxMjM2pMv57dIslMuInTs8YRK4/qOg+Hk862B6PESG7vK9etMR9ieoL7qCGvcf6xz5ssH ZCMRjUlA3b7NMw+4LWCJSWPktqdvAx3J3H4Vbdu6g1w/xgsbu7L92uJtLuV71SI7xBSRUK4mP7fl jAahHS8G4ttBM22HwXpayZOJsFjd3ZiAxGkNuXzGgQbJ4p7t0+VYbi27aDFy3kI4C0uC6psS7L3w dhKBszJbZ8rXTqKR/KXx/lhuCet0Jt0LQgIWlQwCljGkCIxpER9UUGdAoFAoP//V6WuPTeKc9r9r ksfOr+nuH28HOmm4hSYDJaebxUGSPTuDTMENmszidYY6OccT797N5ffQSMRERpHZEUCgUCgqjsu+ 7yRNsAG4vSg0YlJT8Ja4LY69dpPYvfGxXnaIbVfNMhCfxWLTjraVAUtcwpbc3J+NrS8Rn/DQY8IB tAOAaDcoFAoFAoP/1uqaBQKBQKD4emwtddNJ7u/7NKCgf4Y6L/zjei6Pkb16dP1fU68kNes634/M /S3cPI5eyg/QKBQKBQKBQf/ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGAhAAEgABAJwADwAEAAAAAAAA AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA6AABA8f8CADoADAAAABRetgAAAAcAHgQxBEsERwQ9BEsEOQQAAAIAAAAQAF9IAQRtSBkEc0gZ BHRIGQQAAAAAAAAAAAAAAAAAAAAAAABCAEEA8v+hAEIADAUAAAAAAAAAABUAHgRBBD0EPgQyBD0E PgQ5BCAASARABDgERARCBCAAMAQxBDcEMARGBDAEAAAAAFgAaQDz/7MAWAAMBQAAAAAAAAAADwAe BDEESwRHBD0EMARPBCAAQgQwBDEEOwQ4BEYEMAQAABwAF/YDAAA01gYAAQoDbAA01gYAAQUDAABh 9gMAAAIACwAAAC4AawD0/8EALgAABQAAAAAAAAAACgAdBDUEQgQgAEEEPwQ4BEEEOgQwBAAAAgAA AAAAAAA+AEJAAQDyAD4ADAAAABRetgAAAA4AHgRBBD0EPgQyBD0EPgQ5BCAAQgQ1BDoEQQRCBAAA CAAPAAMkA2EkAwAAAAAAAHoGAAAEAAAkAAAAAP////8AAAAAAgAAAEMAAABPAAAAWwAAAHQAAACA AAAAgQAAAFACAABRAgAAUgIAAKUCAAD3AgAALAMAAEUDAACgAwAAuQMAAPcDAAAABAAAHAQAAF8E AABRBQAAoQUAAKIFAADvBQAAAAYAAAEGAAAmBgAALgYAAFYGAABYBgAAWQYAAGUGAAByBgAAfAYA AJAAAAAPMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAADzAAAAAAAAAAgAAAAIAAAAAAAAAAAAAA mAAAAA8wAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACY AAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgA AAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAA AAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAA ADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAA MAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAw AAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAA AAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAA AAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAA AAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAA AAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAA AACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAA AIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAA gAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACA AAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAA AACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAgAAAEMAAABPAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAABgECAAAAAAAAAAAAAAAAAAAAAAABAAAAAtXN1ZwuGxCT lwgAKyz5rjAAAADsAAAADAAAAAEAAABoAAAADwAAAHAAAAAFAAAAfAAAAAYAAACEAAAAEQAAAIwA AAAXAAAAlAAAAAsAAACcAAAAEAAAAKQAAAATAAAArAAAABYAAAC0AAAADQAAALwAAAAMAAAAyQAA AAIAAADjBAAAHgAAAAQAAAAAAAAAAwAAAAsAAAADAAAAAwAAAAMAAAB3BgAAAwAAAOYVCwALAAAA AAAAAAsAAAAAAAAACwAAAAAAAAALAAAAAAAAAB4QAAABAAAAAQAAAAAMEAAAAgAAAB4AAAAJAAAA zeDn4uDt6OUAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAM AAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAA/v///xQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoA AAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAA ACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAA NwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABF AAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMA AABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAYQAA AGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAA cAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAAB7AAAAfAAAAH0AAAB+ AAAAfwAAAIAAAACBAAAAggAAAIMAAACEAAAAhQAAAIYAAACHAAAAiAAAAIkAAACKAAAAiwAAAIwA AACNAAAAjgAAAI8AAACQAAAAkQAAAJIAAACTAAAAlAAAAJUAAACWAAAAlwAAAJgAAACZAAAAmgAA AJsAAACcAAAAnQAAAJ4AAACfAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAAKcAAACoAAAA qQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAALAAAACxAAAAsgAAALMAAAC0AAAAtQAAALYAAAC3 AAAAuAAAALkAAAC6AAAAuwAAALwAAAC9AAAAvgAAAL8AAADAAAAAwQAAAMIAAADDAAAAxAAAAMUA AADGAAAAxwAAAMgAAADJAAAAygAAAMsAAADMAAAAzQAAAM4AAADPAAAA0AAAANEAAADSAAAA0wAA ANQAAADVAAAA1gAAANcAAADYAAAA2QAAANoAAADbAAAA3AAAAN0AAADeAAAA3wAAAOAAAADhAAAA 4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADw AAAA8QAAAPIAAADzAAAA9AAAAPUAAAD2AAAA9wAAAPgAAAD5AAAA+gAAAPsAAAD8AAAA/QAAAP4A AAD/AAAAAAEAAAEBAAACAQAAAwEAAAQBAAAFAQAABgEAAAcBAAAIAQAACQEAAAoBAAALAQAADAEA AA0BAAAOAQAADwEAABABAAARAQAAEgEAABMBAAAUAQAAFQEAABYBAAAXAQAAGAEAABkBAAAaAQAA GwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAAp AQAAKgEAACsBAAAsAQAALQEAAC4BAAAvAQAAMAEAADEBAAAyAQAAMwEAADQBAAA1AQAANgEAADcB AAA4AQAAOQEAADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABEAQAARQEA AEYBAABHAQAASAEAAEkBAABKAQAASwEAAEwBAABNAQAATgEAAE8BAABQAQAAUQEAAFIBAABTAQAA VAEAAFUBAABWAQAAVwEAAFgBAABZAQAAWgEAAFsBAABcAQAAXQEAAF4BAABfAQAAYAEAAGEBAABi AQAAYwEAAGQBAABlAQAAZgEAAGcBAAD+////aQEAAGoBAABrAQAAbAEAAG0BAABuAQAAbwEAAHAB AABxAQAA/v///3MBAAB0AQAAdQEAAHYBAAB3AQAAeAEAAHkBAAD+////ewEAAHwBAAB9AQAAfgEA AH8BAACAAQAAgQEAAP7////9/////f////3////9////hwEAAP7////+/////v////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////9SAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAFgAFAf//////////AwAAAAYJAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAA AACwS9NsM+LPAYkBAACAAAAAAAAAAEQAYQB0AGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAIB////////////////AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAACSoAgAAAAAAMQBUAGEAYgBsAGUAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAgEBAAAABgAAAP// //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAQAAxBMAAAAAAABXAG8AcgBk AEQAbwBjAHUAbQBlAG4AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA GgACAQIAAAAFAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0 JAAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAoAAIB////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAcgEAAAAQAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0AbQBhAHIAeQBJAG4A ZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAADgAAgEEAAAA//////////8AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6AQAAABAAAAAAAAABAEMAbwBtAHAATwBiAGoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgACAP////////////// /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAQAAAP7///////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////8BAP7/AwoAAP////8GCQIAAAAAAMAAAAAAAABGHwAAAMTu6vPs5e3yIE1pY3Jvc29mdCBP ZmZpY2UgV29yZAAKAAAATVNXb3JkRG9jABAAAABXb3JkLkRvY3VtZW50LjgA9DmycQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA== ------=_NextPart_000_1189_01CFE2DF.AB95F670-- From victor.stinner@enovance.com Wed Oct 8 09:14: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A29037F3F for ; Wed, 8 Oct 2014 09:14:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 11012AC005 for ; Wed, 8 Oct 2014 07:14:36 -0700 (PDT) X-ASG-Debug-ID: 1412777670-04bdf02876366d0001-NocioJ Received: from mxi1.enovance.com (mxi1.enovance.com [94.143.114.217]) by cuda.sgi.com with ESMTP id BCWCgZshG6vHqUOk (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 08 Oct 2014 07:14:31 -0700 (PDT) X-Barracuda-Envelope-From: victor.stinner@enovance.com X-Barracuda-Apparent-Source-IP: 94.143.114.217 Received: from zimbra.enovance.com (94-143-114-250.enovance.net [94.143.114.250]) by mxi1.enovance.com (Postfix) with ESMTP id 0345D863839 for ; Wed, 8 Oct 2014 16:14:30 +0200 (CEST) Received: from localhost (mail-1 [127.0.0.1]) by zimbra.enovance.com (Postfix) with ESMTP id F419B5A8DC06 for ; Wed, 8 Oct 2014 16:14:29 +0200 (CEST) Received: from zimbra.enovance.com ([127.0.0.1]) by localhost (zimbra.enovance.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id QNvcJTKSGdYG for ; Wed, 8 Oct 2014 16:14:27 +0200 (CEST) Received: from localhost (mail-1 [127.0.0.1]) by zimbra.enovance.com (Postfix) with ESMTP id 018DF58D8846 for ; Wed, 8 Oct 2014 16:14:27 +0200 (CEST) X-Virus-Scanned: amavisd-new at enovance.com Received: from zimbra.enovance.com ([127.0.0.1]) by localhost (zimbra.enovance.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id EM1s5GNBQhIN for ; Wed, 8 Oct 2014 16:14:26 +0200 (CEST) Received: from zimbra.enovance.com (zimbra.enovance.com [94.143.114.250]) by zimbra.enovance.com (Postfix) with ESMTP id C386778080F for ; Wed, 8 Oct 2014 16:14:26 +0200 (CEST) Date: Wed, 8 Oct 2014 16:14:26 +0200 (CEST) From: victor stinner To: xfs@oss.sgi.com Message-ID: <734140413.8186921.1412777666412.JavaMail.zimbra@enovance.com> In-Reply-To: <1211918248.8179166.1412774638265.JavaMail.zimbra@enovance.com> Subject: Can you help me to investiage a soft lockup? MIME-Version: 1.0 X-ASG-Orig-Subj: Can you help me to investiage a soft lockup? Content-Type: multipart/mixed; boundary="----=_Part_8186919_654588180.1412777666395" X-Originating-IP: [78.200.212.199] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF32 (Linux)/8.0.6_GA_5922) Thread-Topic: Can you help me to investiage a soft lockup? Thread-Index: /3W72Lgl1BWTnWhUpeJ6K/sKqU2/Hg== X-Barracuda-Connect: mxi1.enovance.com[94.143.114.217] X-Barracuda-Start-Time: 1412777671 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.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=THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10334 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... ------=_Part_8186919_654588180.1412777666395 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hello, I'm working on OpenStack, and we hit a bug on Swift (distributed storage). The Linux kernel 3.2 logged many "soft lockup" messages which looks to be related to XFS: see kernel messages at the end of this email (it's only an extract of first messages, there are more later). I'm trying to find with google if the bug is known or not. "soft lockup" looks to be a "common" bug on Linux, but it's hard (for me) to check if existing bug reports are similar to our issue or not. And how can I check if it's an hardware issue or a Linux kernel (XFS?) issue? The following issues look similiar: - http://oss.sgi.com/archives/xfs/2013-06/msg00865.html : Centos, Linux kernel 2.6.32 This email mentions two bugzilla issues, probably the following ones, but I'm not allowed to see them :-/ https://bugzilla.redhat.com/show_bug.cgi?id=896224 https://bugzilla.redhat.com/show_bug.cgi?id=921961 - https://retrace.fedoraproject.org/faf/reports/98448/ : Fedora 18, Linux kernel 3.8 - https://bugs.centos.org/view.php?id=6287 : Linux 2.6.32 - https://lkml.org/lkml/2013/10/16/263 : RC version of Linux (3.12.0-rc1), maybe not reliable Some info about the server: - Dell PowerEdge R720xd/0X6H47 - Ubuntu 12.04 - Linux kernel 3.2.0-51-generic - Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz : 32 cores - 2 NUMA nodes There are 26 disks, HDD and SSD. All partitions used to store Swift objects are formatted with XFS, only a few system partitions are formatted as ext4 (and ext3 for /boot). There are 2 disk controllers: internal and a PCI Express controller. Victor Linux kernel messages: BUG: soft lockup - CPU#28 stuck for 22s! [swift-object-se:4354] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 28 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 4354, comm: swift-object-se Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff8802a0d95b68 EFLAGS: 00000293 RAX: 0000000000007c1c RBX: ffffffff811641cf RCX: ffff88080830a960 RDX: 0000000000007c1e RSI: ffff8801c6235c00 RDI: ffff88082420fea8 RBP: ffff8802a0d95b68 R08: ffff8802a0d95ca0 R09: ffff8802a0d95cac R10: 0000000000002134 R11: 000000000000000a R12: ffff8802a0d95b50 R13: ffff88082420fe00 R14: ffff880424d676f8 R15: ffff8802a0d95ae8 FS: 00007f3d8dffb700(0000) GS:ffff88042fdc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3dbcd1b000 CR3: 00000004140bf000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swift-object-se (pid: 4354, threadinfo ffff8802a0d94000, task ffff8801c6235c00) Stack: ffff8802a0d95b78 ffffffff816606be ffff8802a0d95c18 ffffffffa01cc548 ffff8802a0d95cac ffff8802a0d95ca0 ffff8802a0d95c90 000022546322c000 00000000000144c0 ffff8801c6235c00 ffff8802a0d95df5 000000000000000e Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b BUG: soft lockup - CPU#30 stuck for 22s! [xfsaild/sdf1:2876] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 30 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 2876, comm: xfsaild/sdf1 Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff88041116bc20 EFLAGS: 00000297 RAX: 00000000000007e5 RBX: 0000000000000000 RCX: 0000000000000231 RDX: 00000000000007e6 RSI: ffff88082420fea8 RDI: ffff880824b32e78 RBP: ffff88041116bc20 R08: 0000000000000001 R09: 0000000000000000 R10: ffff88041116ba24 R11: 0000000000000000 R12: 0000000000000001 R13: ffff8807eeedad80 R14: 0003000100000000 R15: ffff88041116bb88 FS: 0000000000000000(0000) GS:ffff88042fde0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f3dbcd1b000 CR3: 0000000001c05000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process xfsaild/sdf1 (pid: 2876, threadinfo ffff88041116a000, task ffff880819d35c00) Stack: ffff88041116bc30 ffffffff816606be ffff88041116bc50 ffffffffa01d13d4 ffff88082420fe00 ffff88082420fe00 ffff88041116bc70 ffffffffa01cc3fe ffff88041116bcc0 ffff88042121c800 ffff88041116bca0 ffffffffa01cc4d3 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_ail_min_lsn+0x24/0x60 [xfs] [] xlog_assign_tail_lsn+0x1e/0x40 [xfs] [] xlog_state_release_iclog+0xb3/0xd0 [xfs] [] _xfs_log_force+0x126/0x2a0 [xfs] [] ? down_trylock+0x36/0x50 [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] xfs_buf_item_trylock+0x58/0xc0 [xfs] [] xfsaild_push+0x24a/0x680 [xfs] [] xfsaild+0x62/0xc0 [xfs] [] ? xfsaild_push+0x680/0x680 [xfs] [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_ail_min_lsn+0x24/0x60 [xfs] [] xlog_assign_tail_lsn+0x1e/0x40 [xfs] [] xlog_state_release_iclog+0xb3/0xd0 [xfs] [] _xfs_log_force+0x126/0x2a0 [xfs] [] ? down_trylock+0x36/0x50 [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] xfs_buf_item_trylock+0x58/0xc0 [xfs] [] xfsaild_push+0x24a/0x680 [xfs] [] xfsaild+0x62/0xc0 [xfs] [] ? xfsaild_push+0x680/0x680 [xfs] [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:3:27580] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 0 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 27580, comm: kworker/0:3 Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff8801aeae3d40 EFLAGS: 00000293 RAX: 00000000000007e5 RBX: ffff8801aeae3cd0 RCX: 0000000000000003 RDX: 00000000000007e7 RSI: ffff880823a117d0 RDI: ffff880824b32e78 RBP: ffff8801aeae3d40 R08: ffff8801aeae2000 R09: 0000000000000093 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000002 R13: ffff88042fc137c0 R14: ffff880425a37a00 R15: 000000000000014b FS: 0000000000000000(0000) GS:ffff88042fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007effa8b52ef7 CR3: 0000000001c05000 CR4: 00000000000406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kworker/0:3 (pid: 27580, threadinfo ffff8801aeae2000, task ffff8800a5015c00) Stack: ffff8801aeae3d50 ffffffff816606be ffff8801aeae3d80 ffffffffa01cfe1b ffff8806e3d3dc48 ffff8800339f1600 ffff880421b76940 ffff8801bbe53500 ffff8801aeae3da0 ffffffffa01cef1c 0000000000000000 ffff880421b76940 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_buf_iodone+0x2b/0x60 [xfs] [] xfs_buf_do_callbacks+0x3c/0x50 [xfs] [] xfs_buf_iodone_callbacks+0x46/0x220 [xfs] [] xfs_buf_iodone_work+0x23/0x50 [xfs] [] process_one_work+0x127/0x470 [] worker_thread+0x164/0x370 [] ? manage_workers.isra.31+0x130/0x130 [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_buf_iodone+0x2b/0x60 [xfs] [] xfs_buf_do_callbacks+0x3c/0x50 [xfs] [] xfs_buf_iodone_callbacks+0x46/0x220 [xfs] [] xfs_buf_iodone_work+0x23/0x50 [xfs] [] process_one_work+0x127/0x470 [] worker_thread+0x164/0x370 [] ? manage_workers.isra.31+0x130/0x130 [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 BUG: soft lockup - CPU#7 stuck for 23s! [swift-object-se:4340] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 7 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 4340, comm: swift-object-se Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff8803362a1498 EFLAGS: 00000297 RAX: 0000000000007c1c RBX: 0000000700000006 RCX: ffff8804186a7ce8 RDX: 0000000000007c1d RSI: ffff8804112c9700 RDI: ffff88082420fea8 RBP: ffff8803362a1498 R08: ffff8803362a15d0 R09: ffff8803362a15dc R10: 000000000000121c R11: 0000000000000006 R12: ffffffffa01a6587 R13: ffff8803362a1428 R14: ffff8803362a1544 R15: 0000000000000000 FS: 00007f3db1ffb700(0000) GS:ffff88083fc60000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3dbcd1b000 CR3: 00000002955f6000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swift-object-se (pid: 4340, threadinfo ffff8803362a0000, task ffff8804112c9700) Stack: ffff8803362a14a8 ffffffff816606be ffff8803362a1548 ffffffffa01cc548 ffff8803362a15dc ffff8803362a15d0 ffff8803362a15c0 000013248103ec59 00000000000144c0 ffff8804112c9700 0000000000000286 ffff880556253d78 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? up+0x32/0x50 [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? xfs_iext_insert+0x7e/0x100 [xfs] [] ? xfs_bmap_add_extent_hole_real+0x112/0xad0 [xfs] [] _xfs_log_force+0x68/0x2a0 [xfs] [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] ? _xfs_buf_find+0x4b/0x240 [xfs] [] _xfs_buf_find+0xbc/0x240 [xfs] [] xfs_buf_get+0x34/0x1c0 [xfs] [] xfs_trans_get_buf+0x127/0x1a0 [xfs] [] xfs_da_do_buf+0x3d9/0x630 [xfs] [] xfs_da_get_buf+0x21/0x30 [xfs] [] xfs_attr_leaf_create.isra.2+0x47/0x100 [xfs] [] xfs_attr_shortform_to_leaf+0x104/0x240 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] ? kmem_zone_zalloc+0x39/0x50 [xfs] [] xfs_attr_set_int+0x406/0x4e0 [xfs] [] xfs_attr_set+0x7f/0x90 [xfs] [] xfs_xattr_set+0x47/0x60 [xfs] [] generic_setxattr+0x6b/0x90 [] __vfs_setxattr_noperm+0x7b/0x1c0 [] ? evm_inode_setxattr+0xe/0x10 [] vfs_setxattr+0xbc/0xc0 [] setxattr+0xc6/0x120 [] ? fsnotify+0x1c2/0x2a0 [] ? do_futex+0x7c/0x1b0 [] sys_fsetxattr+0xbb/0xe0 [] system_call_fastpath+0x16/0x1b Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? up+0x32/0x50 [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? xfs_iext_insert+0x7e/0x100 [xfs] [] ? xfs_bmap_add_extent_hole_real+0x112/0xad0 [xfs] [] _xfs_log_force+0x68/0x2a0 [xfs] [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] ? _xfs_buf_find+0x4b/0x240 [xfs] [] _xfs_buf_find+0xbc/0x240 [xfs] [] xfs_buf_get+0x34/0x1c0 [xfs] [] xfs_trans_get_buf+0x127/0x1a0 [xfs] [] xfs_da_do_buf+0x3d9/0x630 [xfs] [] xfs_da_get_buf+0x21/0x30 [xfs] [] xfs_attr_leaf_create.isra.2+0x47/0x100 [xfs] [] xfs_attr_shortform_to_leaf+0x104/0x240 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] ? kmem_zone_zalloc+0x39/0x50 [xfs] [] xfs_attr_set_int+0x406/0x4e0 [xfs] [] xfs_attr_set+0x7f/0x90 [xfs] [] xfs_xattr_set+0x47/0x60 [xfs] [] generic_setxattr+0x6b/0x90 [] __vfs_setxattr_noperm+0x7b/0x1c0 [] ? evm_inode_setxattr+0xe/0x10 [] vfs_setxattr+0xbc/0xc0 [] setxattr+0xc6/0x120 [] ? fsnotify+0x1c2/0x2a0 [] ? do_futex+0x7c/0x1b0 [] sys_fsetxattr+0xbb/0xe0 [] system_call_fastpath+0x16/0x1b BUG: soft lockup - CPU#9 stuck for 23s! [swift-object-se:4362] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 9 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 4362, comm: swift-object-se Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff8803df863b68 EFLAGS: 00000293 RAX: 0000000000007c1c RBX: ffffffff811641cf RCX: ffff880418632708 RDX: 0000000000007c1f RSI: ffff880110e99700 RDI: ffff88082420fea8 RBP: ffff8803df863b68 R08: ffff8803df863ca0 R09: ffff8803df863cac R10: 00000000000021c4 R11: 000000000000000a R12: ffff8803df863b50 R13: ffff88082420fe00 R14: ffff880808307a40 R15: ffff8803df863ae8 FS: 00007f3d6f7fe700(0000) GS:ffff88083fc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3dbcd1b000 CR3: 00000004140bf000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swift-object-se (pid: 4362, threadinfo ffff8803df862000, task ffff880110e99700) Stack: ffff8803df863b78 ffffffff816606be ffff8803df863c18 ffffffffa01cc548 ffff8803df863cac ffff8803df863ca0 ffff8803df863c90 000022e4244506c0 00000000000144c0 ffff880110e99700 ffff8803df863df5 000000000000000e Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b BUG: soft lockup - CPU#28 stuck for 22s! [swift-object-se:4354] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 28 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 4354, comm: swift-object-se Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff8802a0d95b68 EFLAGS: 00000293 RAX: 0000000000007c1c RBX: ffffffff811641cf RCX: ffff88080830a960 RDX: 0000000000007c1e RSI: ffff8801c6235c00 RDI: ffff88082420fea8 RBP: ffff8802a0d95b68 R08: ffff8802a0d95ca0 R09: ffff8802a0d95cac R10: 0000000000002134 R11: 000000000000000a R12: ffff8802a0d95b50 R13: ffff88082420fe00 R14: ffff880424d676f8 R15: ffff8802a0d95ae8 FS: 00007f3d8dffb700(0000) GS:ffff88042fdc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3dbcd1b000 CR3: 00000004140bf000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swift-object-se (pid: 4354, threadinfo ffff8802a0d94000, task ffff8801c6235c00) Stack: ffff8802a0d95b78 ffffffff816606be ffff8802a0d95c18 ffffffffa01cc548 ffff8802a0d95cac ffff8802a0d95ca0 ffff8802a0d95c90 000022546322c000 00000000000144c0 ffff8801c6235c00 ffff8802a0d95df5 000000000000000e Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xlog_state_get_iclog_space+0x58/0x2e0 [xfs] [] ? kmem_cache_alloc+0x11d/0x140 [] xlog_write+0xe9/0x400 [xfs] [] ? kmem_zone_alloc+0x67/0xe0 [xfs] [] xlog_cil_push+0x20c/0x380 [xfs] [] xlog_cil_force_lsn+0x10e/0x120 [xfs] [] ? setxattr+0xd1/0x120 [] _xfs_log_force_lsn+0x57/0x2e0 [xfs] [] ? down_read+0x16/0x2b [] ? xfs_iunlock+0xe6/0x150 [xfs] [] ? xfs_file_fsync+0x113/0x300 [xfs] [] xfs_file_fsync+0x1fc/0x300 [xfs] [] do_fsync+0x56/0x80 [] sys_fsync+0x10/0x20 [] system_call_fastpath+0x16/0x1b BUG: soft lockup - CPU#30 stuck for 22s! [xfsaild/sdf1:2876] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 30 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 2876, comm: xfsaild/sdf1 Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x25/0x30 RSP: 0018:ffff88041116bc20 EFLAGS: 00000297 RAX: 00000000000007e5 RBX: 0000000000000000 RCX: 0000000000000231 RDX: 00000000000007e6 RSI: ffff88082420fea8 RDI: ffff880824b32e78 RBP: ffff88041116bc20 R08: 0000000000000001 R09: 0000000000000000 R10: ffff88041116ba24 R11: 0000000000000000 R12: 0000000000000001 R13: ffff8807eeedad80 R14: 0003000100000000 R15: ffff88041116bb88 FS: 0000000000000000(0000) GS:ffff88042fde0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f3dbcd1b000 CR3: 0000000001c05000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process xfsaild/sdf1 (pid: 2876, threadinfo ffff88041116a000, task ffff880819d35c00) Stack: ffff88041116bc30 ffffffff816606be ffff88041116bc50 ffffffffa01d13d4 ffff88082420fe00 ffff88082420fe00 ffff88041116bc70 ffffffffa01cc3fe ffff88041116bcc0 ffff88042121c800 ffff88041116bca0 ffffffffa01cc4d3 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_ail_min_lsn+0x24/0x60 [xfs] [] xlog_assign_tail_lsn+0x1e/0x40 [xfs] [] xlog_state_release_iclog+0xb3/0xd0 [xfs] [] _xfs_log_force+0x126/0x2a0 [xfs] [] ? down_trylock+0x36/0x50 [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] xfs_buf_item_trylock+0x58/0xc0 [xfs] [] xfsaild_push+0x24a/0x680 [xfs] [] xfsaild+0x62/0xc0 [xfs] [] ? xfsaild_push+0x680/0x680 [xfs] [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 Code: 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 0f b7 07 <66> 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 e5 89 d1 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_ail_min_lsn+0x24/0x60 [xfs] [] xlog_assign_tail_lsn+0x1e/0x40 [xfs] [] xlog_state_release_iclog+0xb3/0xd0 [xfs] [] _xfs_log_force+0x126/0x2a0 [xfs] [] ? down_trylock+0x36/0x50 [] xfs_log_force+0x18/0x40 [xfs] [] xfs_buf_trylock+0xd0/0xe0 [xfs] [] xfs_buf_item_trylock+0x58/0xc0 [xfs] [] xfsaild_push+0x24a/0x680 [xfs] [] xfsaild+0x62/0xc0 [xfs] [] ? xfsaild_push+0x680/0x680 [xfs] [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:3:27580] Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] CPU 0 Modules linked in: ipmi_si mpt2sas scsi_transport_sas raid_class mptctl mptbase ipmi_devintf ipmi_msghandler dell_rbu xfs vesafb 8021q garp bonding joydev bridge stp shpchp dcdbas sb_edac mac_hid edac_core wmi acpi_power_meter lp mei(C) parport usbhid hid ixgbe mdio igb megaraid_sas dca [last unloaded: ipmi_si] Pid: 27580, comm: kworker/0:3 Tainted: G WC 3.2.0-51-generic #77-Ubuntu Dell Inc. PowerEdge R720xd/0X6H47 RIP: 0010:[] [] __ticket_spin_lock+0x22/0x30 RSP: 0018:ffff8801aeae3d40 EFLAGS: 00000293 RAX: 00000000000007e5 RBX: ffff8801aeae3cd0 RCX: 0000000000000003 RDX: 00000000000007e7 RSI: ffff880823a117d0 RDI: ffff880824b32e78 RBP: ffff8801aeae3d40 R08: ffff8801aeae2000 R09: 0000000000000093 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000002 R13: ffff88042fc137c0 R14: ffff880425a37a00 R15: 000000000000014b FS: 0000000000000000(0000) GS:ffff88042fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007effa8b52ef7 CR3: 0000000001c05000 CR4: 00000000000406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kworker/0:3 (pid: 27580, threadinfo ffff8801aeae2000, task ffff8800a5015c00) Stack: ffff8801aeae3d50 ffffffff816606be ffff8801aeae3d80 ffffffffa01cfe1b ffff8806e3d3dc48 ffff8800339f1600 ffff880421b76940 ffff8801bbe53500 ffff8801aeae3da0 ffffffffa01cef1c 0000000000000000 ffff880421b76940 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_buf_iodone+0x2b/0x60 [xfs] [] xfs_buf_do_callbacks+0x3c/0x50 [xfs] [] xfs_buf_iodone_callbacks+0x46/0x220 [xfs] [] xfs_buf_iodone_work+0x23/0x50 [xfs] [] process_one_work+0x127/0x470 [] worker_thread+0x164/0x370 [] ? manage_workers.isra.31+0x130/0x130 [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 Code: 90 90 90 90 90 90 90 90 90 55 b8 00 00 01 00 48 89 e5 f0 0f c1 07 89 c2 c1 ea 10 66 39 c2 74 13 66 0f 1f 84 00 00 00 00 00 f3 90 <0f> b7 07 66 39 d0 75 f6 5d c3 0f 1f 40 00 8b 17 55 31 c0 48 89 Call Trace: [] _raw_spin_lock+0xe/0x20 [] xfs_buf_iodone+0x2b/0x60 [xfs] [] xfs_buf_do_callbacks+0x3c/0x50 [xfs] [] xfs_buf_iodone_callbacks+0x46/0x220 [xfs] [] xfs_buf_iodone_work+0x23/0x50 [xfs] [] process_one_work+0x127/0x470 [] worker_thread+0x164/0x370 [] ? manage_workers.isra.31+0x130/0x130 [] kthread+0x8c/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? flush_kthread_worker+0xa0/0xa0 [] ? gs_change+0x13/0x13 ------=_Part_8186919_654588180.1412777666395 Content-Type: text/plain; name=soft_lockup.txt Content-Disposition: attachment; filename=soft_lockup.txt Content-Transfer-Encoding: base64 QlVHOiBzb2Z0IGxvY2t1cCAtIENQVSMyOCBzdHVjayBmb3IgMjJzISBbc3dpZnQtb2JqZWN0LXNl OjQzNTRdDQpNb2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNwb3J0 X3NhcyByYWlkX2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hhbmRs ZXIgZGVsbF9yYnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRnZSBz dHAgc2hwY2hwIGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bvd2Vy X21ldGVyIGxwIG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVnYXJh aWRfc2FzIGRjYSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCkNQVSAyOA0KTW9kdWxlcyBsaW5r ZWQgaW46IGlwbWlfc2kgbXB0MnNhcyBzY3NpX3RyYW5zcG9ydF9zYXMgcmFpZF9jbGFzcyBtcHRj dGwgbXB0YmFzZSBpcG1pX2RldmludGYgaXBtaV9tc2doYW5kbGVyIGRlbGxfcmJ1IHhmcyB2ZXNh ZmIgODAyMXEgZ2FycCBib25kaW5nIGpveWRldiBicmlkZ2Ugc3RwIHNocGNocCBkY2RiYXMgc2Jf ZWRhYyBtYWNfaGlkIGVkYWNfY29yZSB3bWkgYWNwaV9wb3dlcl9tZXRlciBscCBtZWkoQykgcGFy cG9ydCB1c2JoaWQgaGlkIGl4Z2JlIG1kaW8gaWdiIG1lZ2FyYWlkX3NhcyBkY2EgW2xhc3QgdW5s b2FkZWQ6IGlwbWlfc2ldDQoNClBpZDogNDM1NCwgY29tbTogc3dpZnQtb2JqZWN0LXNlIFRhaW50 ZWQ6IEcgICAgICAgIFdDICAgMy4yLjAtNTEtZ2VuZXJpYyAjNzctVWJ1bnR1IERlbGwgSW5jLiBQ b3dlckVkZ2UgUjcyMHhkLzBYNkg0Nw0KUklQOiAwMDEwOls8ZmZmZmZmZmY4MTAzZWJjNT5dICBb PGZmZmZmZmZmODEwM2ViYzU+XSBfX3RpY2tldF9zcGluX2xvY2srMHgyNS8weDMwDQpSU1A6IDAw MTg6ZmZmZjg4MDJhMGQ5NWI2OCAgRUZMQUdTOiAwMDAwMDI5Mw0KUkFYOiAwMDAwMDAwMDAwMDA3 YzFjIFJCWDogZmZmZmZmZmY4MTE2NDFjZiBSQ1g6IGZmZmY4ODA4MDgzMGE5NjANClJEWDogMDAw MDAwMDAwMDAwN2MxZSBSU0k6IGZmZmY4ODAxYzYyMzVjMDAgUkRJOiBmZmZmODgwODI0MjBmZWE4 DQpSQlA6IGZmZmY4ODAyYTBkOTViNjggUjA4OiBmZmZmODgwMmEwZDk1Y2EwIFIwOTogZmZmZjg4 MDJhMGQ5NWNhYw0KUjEwOiAwMDAwMDAwMDAwMDAyMTM0IFIxMTogMDAwMDAwMDAwMDAwMDAwYSBS MTI6IGZmZmY4ODAyYTBkOTViNTANClIxMzogZmZmZjg4MDgyNDIwZmUwMCBSMTQ6IGZmZmY4ODA0 MjRkNjc2ZjggUjE1OiBmZmZmODgwMmEwZDk1YWU4DQpGUzogIDAwMDA3ZjNkOGRmZmI3MDAoMDAw MCkgR1M6ZmZmZjg4MDQyZmRjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpDUzog IDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzDQpDUjI6IDAwMDA3 ZjNkYmNkMWIwMDAgQ1IzOiAwMDAwMDAwNDE0MGJmMDAwIENSNDogMDAwMDAwMDAwMDA0MDZlMA0K RFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAw MDAwMDAwMDANCkRSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZjBmZjAgRFI3 OiAwMDAwMDAwMDAwMDAwNDAwDQpQcm9jZXNzIHN3aWZ0LW9iamVjdC1zZSAocGlkOiA0MzU0LCB0 aHJlYWRpbmZvIGZmZmY4ODAyYTBkOTQwMDAsIHRhc2sgZmZmZjg4MDFjNjIzNWMwMCkNClN0YWNr Og0KIGZmZmY4ODAyYTBkOTViNzggZmZmZmZmZmY4MTY2MDZiZSBmZmZmODgwMmEwZDk1YzE4IGZm ZmZmZmZmYTAxY2M1NDgNCiBmZmZmODgwMmEwZDk1Y2FjIGZmZmY4ODAyYTBkOTVjYTAgZmZmZjg4 MDJhMGQ5NWM5MCAwMDAwMjI1NDYzMjJjMDAwDQogMDAwMDAwMDAwMDAxNDRjMCBmZmZmODgwMWM2 MjM1YzAwIGZmZmY4ODAyYTBkOTVkZjUgMDAwMDAwMDAwMDAwMDAwZQ0KQ2FsbCBUcmFjZToNCiBb PGZmZmZmZmZmODE2NjA2YmU+XSBfcmF3X3NwaW5fbG9jaysweGUvMHgyMA0KIFs8ZmZmZmZmZmZh MDFjYzU0OD5dIHhsb2dfc3RhdGVfZ2V0X2ljbG9nX3NwYWNlKzB4NTgvMHgyZTAgW3hmc10NCiBb PGZmZmZmZmZmODExNjY1NWQ+XSA/IGttZW1fY2FjaGVfYWxsb2MrMHgxMWQvMHgxNDANCiBbPGZm ZmZmZmZmYTAxY2NiOTk+XSB4bG9nX3dyaXRlKzB4ZTkvMHg0MDAgW3hmc10NCiBbPGZmZmZmZmZm YTAxOGM4Nzc+XSA/IGttZW1fem9uZV9hbGxvYysweDY3LzB4ZTAgW3hmc10NCiBbPGZmZmZmZmZm YTAxY2U0MGM+XSB4bG9nX2NpbF9wdXNoKzB4MjBjLzB4MzgwIFt4ZnNdDQogWzxmZmZmZmZmZmEw MWNlZDJlPl0geGxvZ19jaWxfZm9yY2VfbHNuKzB4MTBlLzB4MTIwIFt4ZnNdDQogWzxmZmZmZmZm ZjgxMTllMDMxPl0gPyBzZXR4YXR0cisweGQxLzB4MTIwDQogWzxmZmZmZmZmZmEwMWNkMzY3Pl0g X3hmc19sb2dfZm9yY2VfbHNuKzB4NTcvMHgyZTAgW3hmc10NCiBbPGZmZmZmZmZmODE2NWY5ODY+ XSA/IGRvd25fcmVhZCsweDE2LzB4MmINCiBbPGZmZmZmZmZmYTAxN2QxMTY+XSA/IHhmc19pdW5s b2NrKzB4ZTYvMHgxNTAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzkxMjM+XSA/IHhmc19maWxlX2Zz eW5jKzB4MTEzLzB4MzAwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTc5MjBjPl0geGZzX2ZpbGVfZnN5 bmMrMHgxZmMvMHgzMDAgW3hmc10NCiBbPGZmZmZmZmZmODExYThjNTY+XSBkb19mc3luYysweDU2 LzB4ODANCiBbPGZmZmZmZmZmODExYThmODA+XSBzeXNfZnN5bmMrMHgxMC8weDIwDQogWzxmZmZm ZmZmZjgxNjY4ZDAyPl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgxNi8weDFiDQpDb2RlOiA5MCA5 MCA5MCA5MCA5MCA5MCA1NSBiOCAwMCAwMCAwMSAwMCA0OCA4OSBlNSBmMCAwZiBjMSAwNyA4OSBj MiBjMSBlYSAxMCA2NiAzOSBjMiA3NCAxMyA2NiAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCBmMyA5 MCAwZiBiNyAwNyA8NjY+IDM5IGQwIDc1IGY2IDVkIGMzIDBmIDFmIDQwIDAwIDhiIDE3IDU1IDMx IGMwIDQ4IDg5IGU1IDg5IGQxDQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2MDZiZT5dIF9y YXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWNjNTQ4Pl0geGxvZ19zdGF0ZV9n ZXRfaWNsb2dfc3BhY2UrMHg1OC8weDJlMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTE2NjU1ZD5dID8g a21lbV9jYWNoZV9hbGxvYysweDExZC8weDE0MA0KIFs8ZmZmZmZmZmZhMDFjY2I5OT5dIHhsb2df d3JpdGUrMHhlOS8weDQwMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE4Yzg3Nz5dID8ga21lbV96b25l X2FsbG9jKzB4NjcvMHhlMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjZTQwYz5dIHhsb2dfY2lsX3B1 c2grMHgyMGMvMHgzODAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2VkMmU+XSB4bG9nX2NpbF9mb3Jj ZV9sc24rMHgxMGUvMHgxMjAgW3hmc10NCiBbPGZmZmZmZmZmODExOWUwMzE+XSA/IHNldHhhdHRy KzB4ZDEvMHgxMjANCiBbPGZmZmZmZmZmYTAxY2QzNjc+XSBfeGZzX2xvZ19mb3JjZV9sc24rMHg1 Ny8weDJlMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTY1Zjk4Nj5dID8gZG93bl9yZWFkKzB4MTYvMHgy Yg0KIFs8ZmZmZmZmZmZhMDE3ZDExNj5dID8geGZzX2l1bmxvY2srMHhlNi8weDE1MCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDE3OTEyMz5dID8geGZzX2ZpbGVfZnN5bmMrMHgxMTMvMHgzMDAgW3hmc10N CiBbPGZmZmZmZmZmYTAxNzkyMGM+XSB4ZnNfZmlsZV9mc3luYysweDFmYy8weDMwMCBbeGZzXQ0K IFs8ZmZmZmZmZmY4MTFhOGM1Nj5dIGRvX2ZzeW5jKzB4NTYvMHg4MA0KIFs8ZmZmZmZmZmY4MTFh OGY4MD5dIHN5c19mc3luYysweDEwLzB4MjANCiBbPGZmZmZmZmZmODE2NjhkMDI+XSBzeXN0ZW1f Y2FsbF9mYXN0cGF0aCsweDE2LzB4MWINCg0KDQpCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzMwIHN0 dWNrIGZvciAyMnMhIFt4ZnNhaWxkL3NkZjE6Mjg3Nl0NCk1vZHVsZXMgbGlua2VkIGluOiBpcG1p X3NpIG1wdDJzYXMgc2NzaV90cmFuc3BvcnRfc2FzIHJhaWRfY2xhc3MgbXB0Y3RsIG1wdGJhc2Ug aXBtaV9kZXZpbnRmIGlwbWlfbXNnaGFuZGxlciBkZWxsX3JidSB4ZnMgdmVzYWZiIDgwMjFxIGdh cnAgYm9uZGluZyBqb3lkZXYgYnJpZGdlIHN0cCBzaHBjaHAgZGNkYmFzIHNiX2VkYWMgbWFjX2hp ZCBlZGFjX2NvcmUgd21pIGFjcGlfcG93ZXJfbWV0ZXIgbHAgbWVpKEMpIHBhcnBvcnQgdXNiaGlk IGhpZCBpeGdiZSBtZGlvIGlnYiBtZWdhcmFpZF9zYXMgZGNhIFtsYXN0IHVubG9hZGVkOiBpcG1p X3NpXQ0KQ1BVIDMwDQpNb2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJh bnNwb3J0X3NhcyByYWlkX2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21z Z2hhbmRsZXIgZGVsbF9yYnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJy aWRnZSBzdHAgc2hwY2hwIGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3Bp X3Bvd2VyX21ldGVyIGxwIG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2Ig bWVnYXJhaWRfc2FzIGRjYSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCg0KUGlkOiAyODc2LCBj b21tOiB4ZnNhaWxkL3NkZjEgVGFpbnRlZDogRyAgICAgICAgV0MgICAzLjIuMC01MS1nZW5lcmlj ICM3Ny1VYnVudHUgRGVsbCBJbmMuIFBvd2VyRWRnZSBSNzIweGQvMFg2SDQ3DQpSSVA6IDAwMTA6 WzxmZmZmZmZmZjgxMDNlYmM1Pl0gIFs8ZmZmZmZmZmY4MTAzZWJjNT5dIF9fdGlja2V0X3NwaW5f bG9jaysweDI1LzB4MzANClJTUDogMDAxODpmZmZmODgwNDExMTZiYzIwICBFRkxBR1M6IDAwMDAw Mjk3DQpSQVg6IDAwMDAwMDAwMDAwMDA3ZTUgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogMDAw MDAwMDAwMDAwMDIzMQ0KUkRYOiAwMDAwMDAwMDAwMDAwN2U2IFJTSTogZmZmZjg4MDgyNDIwZmVh OCBSREk6IGZmZmY4ODA4MjRiMzJlNzgNClJCUDogZmZmZjg4MDQxMTE2YmMyMCBSMDg6IDAwMDAw MDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAwDQpSMTA6IGZmZmY4ODA0MTExNmJhMjQg UjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogMDAwMDAwMDAwMDAwMDAwMQ0KUjEzOiBmZmZmODgw N2VlZWRhZDgwIFIxNDogMDAwMzAwMDEwMDAwMDAwMCBSMTU6IGZmZmY4ODA0MTExNmJiODgNCkZT OiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODgwNDJmZGUwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDANCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAw MDAwODAwNTAwM2INCkNSMjogMDAwMDdmM2RiY2QxYjAwMCBDUjM6IDAwMDAwMDAwMDFjMDUwMDAg Q1I0OiAwMDAwMDAwMDAwMDQwNmUwDQpEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAw MDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMA0KRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERS NjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDANClByb2Nlc3MgeGZzYWls ZC9zZGYxIChwaWQ6IDI4NzYsIHRocmVhZGluZm8gZmZmZjg4MDQxMTE2YTAwMCwgdGFzayBmZmZm ODgwODE5ZDM1YzAwKQ0KU3RhY2s6DQogZmZmZjg4MDQxMTE2YmMzMCBmZmZmZmZmZjgxNjYwNmJl IGZmZmY4ODA0MTExNmJjNTAgZmZmZmZmZmZhMDFkMTNkNA0KIGZmZmY4ODA4MjQyMGZlMDAgZmZm Zjg4MDgyNDIwZmUwMCBmZmZmODgwNDExMTZiYzcwIGZmZmZmZmZmYTAxY2MzZmUNCiBmZmZmODgw NDExMTZiY2MwIGZmZmY4ODA0MjEyMWM4MDAgZmZmZjg4MDQxMTE2YmNhMCBmZmZmZmZmZmEwMWNj NGQzDQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4 ZS8weDIwDQogWzxmZmZmZmZmZmEwMWQxM2Q0Pl0geGZzX2FpbF9taW5fbHNuKzB4MjQvMHg2MCBb eGZzXQ0KIFs8ZmZmZmZmZmZhMDFjYzNmZT5dIHhsb2dfYXNzaWduX3RhaWxfbHNuKzB4MWUvMHg0 MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjYzRkMz5dIHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZysw eGIzLzB4ZDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2QxNTY+XSBfeGZzX2xvZ19mb3JjZSsweDEy Ni8weDJhMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA5MTZkNj5dID8gZG93bl90cnlsb2NrKzB4MzYv MHg1MA0KIFs8ZmZmZmZmZmZhMDFjZDJlOD5dIHhmc19sb2dfZm9yY2UrMHgxOC8weDQwIFt4ZnNd DQogWzxmZmZmZmZmZmEwMTc2MGIwPl0geGZzX2J1Zl90cnlsb2NrKzB4ZDAvMHhlMCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDFjZjFjOD5dIHhmc19idWZfaXRlbV90cnlsb2NrKzB4NTgvMHhjMCBbeGZz XQ0KIFs8ZmZmZmZmZmZhMDFkMTc3YT5dIHhmc2FpbGRfcHVzaCsweDI0YS8weDY4MCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDFkMWMxMj5dIHhmc2FpbGQrMHg2Mi8weGMwIFt4ZnNdDQogWzxmZmZmZmZm ZmEwMWQxYmIwPl0gPyB4ZnNhaWxkX3B1c2grMHg2ODAvMHg2ODAgW3hmc10NCiBbPGZmZmZmZmZm ODEwOGI3OGM+XSBrdGhyZWFkKzB4OGMvMHhhMA0KIFs8ZmZmZmZmZmY4MTY2YWU3ND5dIGtlcm5l bF90aHJlYWRfaGVscGVyKzB4NC8weDEwDQogWzxmZmZmZmZmZjgxMDhiNzAwPl0gPyBmbHVzaF9r dGhyZWFkX3dvcmtlcisweGEwLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzA+XSA/IGdzX2NoYW5n ZSsweDEzLzB4MTMNCkNvZGU6IDkwIDkwIDkwIDkwIDkwIDkwIDU1IGI4IDAwIDAwIDAxIDAwIDQ4 IDg5IGU1IGYwIDBmIGMxIDA3IDg5IGMyIGMxIGVhIDEwIDY2IDM5IGMyIDc0IDEzIDY2IDBmIDFm IDg0IDAwIDAwIDAwIDAwIDAwIGYzIDkwIDBmIGI3IDA3IDw2Nj4gMzkgZDAgNzUgZjYgNWQgYzMg MGYgMWYgNDAgMDAgOGIgMTcgNTUgMzEgYzAgNDggODkgZTUgODkgZDENCkNhbGwgVHJhY2U6DQog WzxmZmZmZmZmZjgxNjYwNmJlPl0gX3Jhd19zcGluX2xvY2srMHhlLzB4MjANCiBbPGZmZmZmZmZm YTAxZDEzZDQ+XSB4ZnNfYWlsX21pbl9sc24rMHgyNC8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZmEw MWNjM2ZlPl0geGxvZ19hc3NpZ25fdGFpbF9sc24rMHgxZS8weDQwIFt4ZnNdDQogWzxmZmZmZmZm ZmEwMWNjNGQzPl0geGxvZ19zdGF0ZV9yZWxlYXNlX2ljbG9nKzB4YjMvMHhkMCBbeGZzXQ0KIFs8 ZmZmZmZmZmZhMDFjZDE1Nj5dIF94ZnNfbG9nX2ZvcmNlKzB4MTI2LzB4MmEwIFt4ZnNdDQogWzxm ZmZmZmZmZjgxMDkxNmQ2Pl0gPyBkb3duX3RyeWxvY2srMHgzNi8weDUwDQogWzxmZmZmZmZmZmEw MWNkMmU4Pl0geGZzX2xvZ19mb3JjZSsweDE4LzB4NDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzYw YjA+XSB4ZnNfYnVmX3RyeWxvY2srMHhkMC8weGUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNmMWM4 Pl0geGZzX2J1Zl9pdGVtX3RyeWxvY2srMHg1OC8weGMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWQx NzdhPl0geGZzYWlsZF9wdXNoKzB4MjRhLzB4NjgwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWQxYzEy Pl0geGZzYWlsZCsweDYyLzB4YzAgW3hmc10NCiBbPGZmZmZmZmZmYTAxZDFiYjA+XSA/IHhmc2Fp bGRfcHVzaCsweDY4MC8weDY4MCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA4Yjc4Yz5dIGt0aHJlYWQr MHg4Yy8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTc0Pl0ga2VybmVsX3RocmVhZF9oZWxwZXIrMHg0 LzB4MTANCiBbPGZmZmZmZmZmODEwOGI3MDA+XSA/IGZsdXNoX2t0aHJlYWRfd29ya2VyKzB4YTAv MHhhMA0KIFs8ZmZmZmZmZmY4MTY2YWU3MD5dID8gZ3NfY2hhbmdlKzB4MTMvMHgxMw0KDQoNCkJV Rzogc29mdCBsb2NrdXAgLSBDUFUjMCBzdHVjayBmb3IgMjJzISBba3dvcmtlci8wOjM6Mjc1ODBd DQpNb2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNwb3J0X3NhcyBy YWlkX2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hhbmRsZXIgZGVs bF9yYnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRnZSBzdHAgc2hw Y2hwIGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bvd2VyX21ldGVy IGxwIG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVnYXJhaWRfc2Fz IGRjYSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCkNQVSAwDQpNb2R1bGVzIGxpbmtlZCBpbjog aXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNwb3J0X3NhcyByYWlkX2NsYXNzIG1wdGN0bCBtcHRi YXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hhbmRsZXIgZGVsbF9yYnUgeGZzIHZlc2FmYiA4MDIx cSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRnZSBzdHAgc2hwY2hwIGRjZGJhcyBzYl9lZGFjIG1h Y19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bvd2VyX21ldGVyIGxwIG1laShDKSBwYXJwb3J0IHVz YmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVnYXJhaWRfc2FzIGRjYSBbbGFzdCB1bmxvYWRlZDog aXBtaV9zaV0NCg0KUGlkOiAyNzU4MCwgY29tbToga3dvcmtlci8wOjMgVGFpbnRlZDogRyAgICAg ICAgV0MgICAzLjIuMC01MS1nZW5lcmljICM3Ny1VYnVudHUgRGVsbCBJbmMuIFBvd2VyRWRnZSBS NzIweGQvMFg2SDQ3DQpSSVA6IDAwMTA6WzxmZmZmZmZmZjgxMDNlYmM1Pl0gIFs8ZmZmZmZmZmY4 MTAzZWJjNT5dIF9fdGlja2V0X3NwaW5fbG9jaysweDI1LzB4MzANClJTUDogMDAxODpmZmZmODgw MWFlYWUzZDQwICBFRkxBR1M6IDAwMDAwMjkzDQpSQVg6IDAwMDAwMDAwMDAwMDA3ZTUgUkJYOiBm ZmZmODgwMWFlYWUzY2QwIFJDWDogMDAwMDAwMDAwMDAwMDAwMw0KUkRYOiAwMDAwMDAwMDAwMDAw N2U3IFJTSTogZmZmZjg4MDgyM2ExMTdkMCBSREk6IGZmZmY4ODA4MjRiMzJlNzgNClJCUDogZmZm Zjg4MDFhZWFlM2Q0MCBSMDg6IGZmZmY4ODAxYWVhZTIwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDkz DQpSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMDAxIFIxMjogMDAwMDAw MDAwMDAwMDAwMg0KUjEzOiBmZmZmODgwNDJmYzEzN2MwIFIxNDogZmZmZjg4MDQyNWEzN2EwMCBS MTU6IDAwMDAwMDAwMDAwMDAxNGINCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZm ODgwNDJmYzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANCkNTOiAgMDAxMCBEUzog MDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwM2INCkNSMjogMDAwMDdlZmZhOGI1MmVm NyBDUjM6IDAwMDAwMDAwMDFjMDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDQwNmYwDQpEUjA6IDAwMDAw MDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMA0K RFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAw MDAwMDA0MDANClByb2Nlc3Mga3dvcmtlci8wOjMgKHBpZDogMjc1ODAsIHRocmVhZGluZm8gZmZm Zjg4MDFhZWFlMjAwMCwgdGFzayBmZmZmODgwMGE1MDE1YzAwKQ0KU3RhY2s6DQogZmZmZjg4MDFh ZWFlM2Q1MCBmZmZmZmZmZjgxNjYwNmJlIGZmZmY4ODAxYWVhZTNkODAgZmZmZmZmZmZhMDFjZmUx Yg0KIGZmZmY4ODA2ZTNkM2RjNDggZmZmZjg4MDAzMzlmMTYwMCBmZmZmODgwNDIxYjc2OTQwIGZm ZmY4ODAxYmJlNTM1MDANCiBmZmZmODgwMWFlYWUzZGEwIGZmZmZmZmZmYTAxY2VmMWMgMDAwMDAw MDAwMDAwMDAwMCBmZmZmODgwNDIxYjc2OTQwDQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2 MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWNmZTFiPl0geGZz X2J1Zl9pb2RvbmUrMHgyYi8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjFjPl0geGZzX2J1 Zl9kb19jYWxsYmFja3MrMHgzYy8weDUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjk2Pl0geGZz X2J1Zl9pb2RvbmVfY2FsbGJhY2tzKzB4NDYvMHgyMjAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzY4 NDM+XSB4ZnNfYnVmX2lvZG9uZV93b3JrKzB4MjMvMHg1MCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA4 NWUzNz5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxMjcvMHg0NzANCiBbPGZmZmZmZmZmODEwODZmNDQ+ XSB3b3JrZXJfdGhyZWFkKzB4MTY0LzB4MzcwDQogWzxmZmZmZmZmZjgxMDg2ZGUwPl0gPyBtYW5h Z2Vfd29ya2Vycy5pc3JhLjMxKzB4MTMwLzB4MTMwDQogWzxmZmZmZmZmZjgxMDhiNzhjPl0ga3Ro cmVhZCsweDhjLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzQ+XSBrZXJuZWxfdGhyZWFkX2hlbHBl cisweDQvMHgxMA0KIFs8ZmZmZmZmZmY4MTA4YjcwMD5dID8gZmx1c2hfa3RocmVhZF93b3JrZXIr MHhhMC8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTcwPl0gPyBnc19jaGFuZ2UrMHgxMy8weDEzDQpD b2RlOiA5MCA5MCA5MCA5MCA5MCA5MCA1NSBiOCAwMCAwMCAwMSAwMCA0OCA4OSBlNSBmMCAwZiBj MSAwNyA4OSBjMiBjMSBlYSAxMCA2NiAzOSBjMiA3NCAxMyA2NiAwZiAxZiA4NCAwMCAwMCAwMCAw MCAwMCBmMyA5MCAwZiBiNyAwNyA8NjY+IDM5IGQwIDc1IGY2IDVkIGMzIDBmIDFmIDQwIDAwIDhi IDE3IDU1IDMxIGMwIDQ4IDg5IGU1IDg5IGQxDQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2 MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWNmZTFiPl0geGZz X2J1Zl9pb2RvbmUrMHgyYi8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjFjPl0geGZzX2J1 Zl9kb19jYWxsYmFja3MrMHgzYy8weDUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjk2Pl0geGZz X2J1Zl9pb2RvbmVfY2FsbGJhY2tzKzB4NDYvMHgyMjAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzY4 NDM+XSB4ZnNfYnVmX2lvZG9uZV93b3JrKzB4MjMvMHg1MCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA4 NWUzNz5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxMjcvMHg0NzANCiBbPGZmZmZmZmZmODEwODZmNDQ+ XSB3b3JrZXJfdGhyZWFkKzB4MTY0LzB4MzcwDQogWzxmZmZmZmZmZjgxMDg2ZGUwPl0gPyBtYW5h Z2Vfd29ya2Vycy5pc3JhLjMxKzB4MTMwLzB4MTMwDQogWzxmZmZmZmZmZjgxMDhiNzhjPl0ga3Ro cmVhZCsweDhjLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzQ+XSBrZXJuZWxfdGhyZWFkX2hlbHBl cisweDQvMHgxMA0KIFs8ZmZmZmZmZmY4MTA4YjcwMD5dID8gZmx1c2hfa3RocmVhZF93b3JrZXIr MHhhMC8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTcwPl0gPyBnc19jaGFuZ2UrMHgxMy8weDEzDQoN Cg0KQlVHOiBzb2Z0IGxvY2t1cCAtIENQVSM3IHN0dWNrIGZvciAyM3MhIFtzd2lmdC1vYmplY3Qt c2U6NDM0MF0NCk1vZHVsZXMgbGlua2VkIGluOiBpcG1pX3NpIG1wdDJzYXMgc2NzaV90cmFuc3Bv cnRfc2FzIHJhaWRfY2xhc3MgbXB0Y3RsIG1wdGJhc2UgaXBtaV9kZXZpbnRmIGlwbWlfbXNnaGFu ZGxlciBkZWxsX3JidSB4ZnMgdmVzYWZiIDgwMjFxIGdhcnAgYm9uZGluZyBqb3lkZXYgYnJpZGdl IHN0cCBzaHBjaHAgZGNkYmFzIHNiX2VkYWMgbWFjX2hpZCBlZGFjX2NvcmUgd21pIGFjcGlfcG93 ZXJfbWV0ZXIgbHAgbWVpKEMpIHBhcnBvcnQgdXNiaGlkIGhpZCBpeGdiZSBtZGlvIGlnYiBtZWdh cmFpZF9zYXMgZGNhIFtsYXN0IHVubG9hZGVkOiBpcG1pX3NpXQ0KQ1BVIDcNCk1vZHVsZXMgbGlu a2VkIGluOiBpcG1pX3NpIG1wdDJzYXMgc2NzaV90cmFuc3BvcnRfc2FzIHJhaWRfY2xhc3MgbXB0 Y3RsIG1wdGJhc2UgaXBtaV9kZXZpbnRmIGlwbWlfbXNnaGFuZGxlciBkZWxsX3JidSB4ZnMgdmVz YWZiIDgwMjFxIGdhcnAgYm9uZGluZyBqb3lkZXYgYnJpZGdlIHN0cCBzaHBjaHAgZGNkYmFzIHNi X2VkYWMgbWFjX2hpZCBlZGFjX2NvcmUgd21pIGFjcGlfcG93ZXJfbWV0ZXIgbHAgbWVpKEMpIHBh cnBvcnQgdXNiaGlkIGhpZCBpeGdiZSBtZGlvIGlnYiBtZWdhcmFpZF9zYXMgZGNhIFtsYXN0IHVu bG9hZGVkOiBpcG1pX3NpXQ0KDQpQaWQ6IDQzNDAsIGNvbW06IHN3aWZ0LW9iamVjdC1zZSBUYWlu dGVkOiBHICAgICAgICBXQyAgIDMuMi4wLTUxLWdlbmVyaWMgIzc3LVVidW50dSBEZWxsIEluYy4g UG93ZXJFZGdlIFI3MjB4ZC8wWDZINDcNClJJUDogMDAxMDpbPGZmZmZmZmZmODEwM2ViYzU+XSAg WzxmZmZmZmZmZjgxMDNlYmM1Pl0gX190aWNrZXRfc3Bpbl9sb2NrKzB4MjUvMHgzMA0KUlNQOiAw MDE4OmZmZmY4ODAzMzYyYTE0OTggIEVGTEFHUzogMDAwMDAyOTcNClJBWDogMDAwMDAwMDAwMDAw N2MxYyBSQlg6IDAwMDAwMDA3MDAwMDAwMDYgUkNYOiBmZmZmODgwNDE4NmE3Y2U4DQpSRFg6IDAw MDAwMDAwMDAwMDdjMWQgUlNJOiBmZmZmODgwNDExMmM5NzAwIFJESTogZmZmZjg4MDgyNDIwZmVh OA0KUkJQOiBmZmZmODgwMzM2MmExNDk4IFIwODogZmZmZjg4MDMzNjJhMTVkMCBSMDk6IGZmZmY4 ODAzMzYyYTE1ZGMNClIxMDogMDAwMDAwMDAwMDAwMTIxYyBSMTE6IDAwMDAwMDAwMDAwMDAwMDYg UjEyOiBmZmZmZmZmZmEwMWE2NTg3DQpSMTM6IGZmZmY4ODAzMzYyYTE0MjggUjE0OiBmZmZmODgw MzM2MmExNTQ0IFIxNTogMDAwMDAwMDAwMDAwMDAwMA0KRlM6ICAwMDAwN2YzZGIxZmZiNzAwKDAw MDApIEdTOmZmZmY4ODA4M2ZjNjAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KQ1M6 ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KQ1IyOiAwMDAw N2YzZGJjZDFiMDAwIENSMzogMDAwMDAwMDI5NTVmNjAwMCBDUjQ6IDAwMDAwMDAwMDAwNDA2ZTAN CkRSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAw MDAwMDAwMDAwDQpEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmYwZmYwIERS NzogMDAwMDAwMDAwMDAwMDQwMA0KUHJvY2VzcyBzd2lmdC1vYmplY3Qtc2UgKHBpZDogNDM0MCwg dGhyZWFkaW5mbyBmZmZmODgwMzM2MmEwMDAwLCB0YXNrIGZmZmY4ODA0MTEyYzk3MDApDQpTdGFj azoNCiBmZmZmODgwMzM2MmExNGE4IGZmZmZmZmZmODE2NjA2YmUgZmZmZjg4MDMzNjJhMTU0OCBm ZmZmZmZmZmEwMWNjNTQ4DQogZmZmZjg4MDMzNjJhMTVkYyBmZmZmODgwMzM2MmExNWQwIGZmZmY4 ODAzMzYyYTE1YzAgMDAwMDEzMjQ4MTAzZWM1OQ0KIDAwMDAwMDAwMDAwMTQ0YzAgZmZmZjg4MDQx MTJjOTcwMCAwMDAwMDAwMDAwMDAwMjg2IGZmZmY4ODA1NTYyNTNkNzgNCkNhbGwgVHJhY2U6DQog WzxmZmZmZmZmZjgxNjYwNmJlPl0gX3Jhd19zcGluX2xvY2srMHhlLzB4MjANCiBbPGZmZmZmZmZm YTAxY2M1NDg+XSB4bG9nX3N0YXRlX2dldF9pY2xvZ19zcGFjZSsweDU4LzB4MmUwIFt4ZnNdDQog WzxmZmZmZmZmZjgxMDkxOGEyPl0gPyB1cCsweDMyLzB4NTANCiBbPGZmZmZmZmZmODExNjY1NWQ+ XSA/IGttZW1fY2FjaGVfYWxsb2MrMHgxMWQvMHgxNDANCiBbPGZmZmZmZmZmYTAxY2NiOTk+XSB4 bG9nX3dyaXRlKzB4ZTkvMHg0MDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxOGM4Nzc+XSA/IGttZW1f em9uZV9hbGxvYysweDY3LzB4ZTAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2U0MGM+XSB4bG9nX2Np bF9wdXNoKzB4MjBjLzB4MzgwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZDJlPl0geGxvZ19jaWxf Zm9yY2VfbHNuKzB4MTBlLzB4MTIwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWJkOTdlPl0gPyB4ZnNf aWV4dF9pbnNlcnQrMHg3ZS8weDEwMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE5YjY2Mj5dID8geGZz X2JtYXBfYWRkX2V4dGVudF9ob2xlX3JlYWwrMHgxMTIvMHhhZDAgW3hmc10NCiBbPGZmZmZmZmZm YTAxY2QwOTg+XSBfeGZzX2xvZ19mb3JjZSsweDY4LzB4MmEwIFt4ZnNdDQogWzxmZmZmZmZmZmEw MWNkMmU4Pl0geGZzX2xvZ19mb3JjZSsweDE4LzB4NDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzYw YjA+XSB4ZnNfYnVmX3RyeWxvY2srMHhkMC8weGUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTc2MjFi Pl0gPyBfeGZzX2J1Zl9maW5kKzB4NGIvMHgyNDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzYyOGM+ XSBfeGZzX2J1Zl9maW5kKzB4YmMvMHgyNDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzY2OTQ+XSB4 ZnNfYnVmX2dldCsweDM0LzB4MWMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWQyNTA3Pl0geGZzX3Ry YW5zX2dldF9idWYrMHgxMjcvMHgxYTAgW3hmc10NCiBbPGZmZmZmZmZmYTAxYWJjZTk+XSB4ZnNf ZGFfZG9fYnVmKzB4M2Q5LzB4NjMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWFiZmQxPl0geGZzX2Rh X2dldF9idWYrMHgyMS8weDMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTk0OWI3Pl0geGZzX2F0dHJf bGVhZl9jcmVhdGUuaXNyYS4yKzB4NDcvMHgxMDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxOTcyNjQ+ XSB4ZnNfYXR0cl9zaG9ydGZvcm1fdG9fbGVhZisweDEwNC8weDI0MCBbeGZzXQ0KIFs8ZmZmZmZm ZmZhMDE4Yzg3Nz5dID8ga21lbV96b25lX2FsbG9jKzB4NjcvMHhlMCBbeGZzXQ0KIFs8ZmZmZmZm ZmZhMDE4YzkyOT5dID8ga21lbV96b25lX3phbGxvYysweDM5LzB4NTAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxOTMzMDY+XSB4ZnNfYXR0cl9zZXRfaW50KzB4NDA2LzB4NGUwIFt4ZnNdDQogWzxmZmZm ZmZmZmEwMTkzOTRmPl0geGZzX2F0dHJfc2V0KzB4N2YvMHg5MCBbeGZzXQ0KIFs8ZmZmZmZmZmZh MDE4ODA1Nz5dIHhmc194YXR0cl9zZXQrMHg0Ny8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZjgxMTlk NGZiPl0gZ2VuZXJpY19zZXR4YXR0cisweDZiLzB4OTANCiBbPGZmZmZmZmZmODExOWRkNWI+XSBf X3Zmc19zZXR4YXR0cl9ub3Blcm0rMHg3Yi8weDFjMA0KIFs8ZmZmZmZmZmY4MTJkZWNjZT5dID8g ZXZtX2lub2RlX3NldHhhdHRyKzB4ZS8weDEwDQogWzxmZmZmZmZmZjgxMTlkZjVjPl0gdmZzX3Nl dHhhdHRyKzB4YmMvMHhjMA0KIFs8ZmZmZmZmZmY4MTE5ZTAyNj5dIHNldHhhdHRyKzB4YzYvMHgx MjANCiBbPGZmZmZmZmZmODExYjhhNjI+XSA/IGZzbm90aWZ5KzB4MWMyLzB4MmEwDQogWzxmZmZm ZmZmZjgxMGExZTZjPl0gPyBkb19mdXRleCsweDdjLzB4MWIwDQogWzxmZmZmZmZmZjgxMTllNDNi Pl0gc3lzX2ZzZXR4YXR0cisweGJiLzB4ZTANCiBbPGZmZmZmZmZmODE2NjhkMDI+XSBzeXN0ZW1f Y2FsbF9mYXN0cGF0aCsweDE2LzB4MWINCkNvZGU6IDkwIDkwIDkwIDkwIDkwIDkwIDU1IGI4IDAw IDAwIDAxIDAwIDQ4IDg5IGU1IGYwIDBmIGMxIDA3IDg5IGMyIGMxIGVhIDEwIDY2IDM5IGMyIDc0 IDEzIDY2IDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIGYzIDkwIDBmIGI3IDA3IDw2Nj4gMzkgZDAg NzUgZjYgNWQgYzMgMGYgMWYgNDAgMDAgOGIgMTcgNTUgMzEgYzAgNDggODkgZTUgODkgZDENCkNh bGwgVHJhY2U6DQogWzxmZmZmZmZmZjgxNjYwNmJlPl0gX3Jhd19zcGluX2xvY2srMHhlLzB4MjAN CiBbPGZmZmZmZmZmYTAxY2M1NDg+XSB4bG9nX3N0YXRlX2dldF9pY2xvZ19zcGFjZSsweDU4LzB4 MmUwIFt4ZnNdDQogWzxmZmZmZmZmZjgxMDkxOGEyPl0gPyB1cCsweDMyLzB4NTANCiBbPGZmZmZm ZmZmODExNjY1NWQ+XSA/IGttZW1fY2FjaGVfYWxsb2MrMHgxMWQvMHgxNDANCiBbPGZmZmZmZmZm YTAxY2NiOTk+XSB4bG9nX3dyaXRlKzB4ZTkvMHg0MDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxOGM4 Nzc+XSA/IGttZW1fem9uZV9hbGxvYysweDY3LzB4ZTAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2U0 MGM+XSB4bG9nX2NpbF9wdXNoKzB4MjBjLzB4MzgwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZDJl Pl0geGxvZ19jaWxfZm9yY2VfbHNuKzB4MTBlLzB4MTIwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWJk OTdlPl0gPyB4ZnNfaWV4dF9pbnNlcnQrMHg3ZS8weDEwMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE5 YjY2Mj5dID8geGZzX2JtYXBfYWRkX2V4dGVudF9ob2xlX3JlYWwrMHgxMTIvMHhhZDAgW3hmc10N CiBbPGZmZmZmZmZmYTAxY2QwOTg+XSBfeGZzX2xvZ19mb3JjZSsweDY4LzB4MmEwIFt4ZnNdDQog WzxmZmZmZmZmZmEwMWNkMmU4Pl0geGZzX2xvZ19mb3JjZSsweDE4LzB4NDAgW3hmc10NCiBbPGZm ZmZmZmZmYTAxNzYwYjA+XSB4ZnNfYnVmX3RyeWxvY2srMHhkMC8weGUwIFt4ZnNdDQogWzxmZmZm ZmZmZmEwMTc2MjFiPl0gPyBfeGZzX2J1Zl9maW5kKzB4NGIvMHgyNDAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxNzYyOGM+XSBfeGZzX2J1Zl9maW5kKzB4YmMvMHgyNDAgW3hmc10NCiBbPGZmZmZmZmZm YTAxNzY2OTQ+XSB4ZnNfYnVmX2dldCsweDM0LzB4MWMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWQy NTA3Pl0geGZzX3RyYW5zX2dldF9idWYrMHgxMjcvMHgxYTAgW3hmc10NCiBbPGZmZmZmZmZmYTAx YWJjZTk+XSB4ZnNfZGFfZG9fYnVmKzB4M2Q5LzB4NjMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWFi ZmQxPl0geGZzX2RhX2dldF9idWYrMHgyMS8weDMwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTk0OWI3 Pl0geGZzX2F0dHJfbGVhZl9jcmVhdGUuaXNyYS4yKzB4NDcvMHgxMDAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxOTcyNjQ+XSB4ZnNfYXR0cl9zaG9ydGZvcm1fdG9fbGVhZisweDEwNC8weDI0MCBbeGZz XQ0KIFs8ZmZmZmZmZmZhMDE4Yzg3Nz5dID8ga21lbV96b25lX2FsbG9jKzB4NjcvMHhlMCBbeGZz XQ0KIFs8ZmZmZmZmZmZhMDE4YzkyOT5dID8ga21lbV96b25lX3phbGxvYysweDM5LzB4NTAgW3hm c10NCiBbPGZmZmZmZmZmYTAxOTMzMDY+XSB4ZnNfYXR0cl9zZXRfaW50KzB4NDA2LzB4NGUwIFt4 ZnNdDQogWzxmZmZmZmZmZmEwMTkzOTRmPl0geGZzX2F0dHJfc2V0KzB4N2YvMHg5MCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDE4ODA1Nz5dIHhmc194YXR0cl9zZXQrMHg0Ny8weDYwIFt4ZnNdDQogWzxm ZmZmZmZmZjgxMTlkNGZiPl0gZ2VuZXJpY19zZXR4YXR0cisweDZiLzB4OTANCiBbPGZmZmZmZmZm ODExOWRkNWI+XSBfX3Zmc19zZXR4YXR0cl9ub3Blcm0rMHg3Yi8weDFjMA0KIFs8ZmZmZmZmZmY4 MTJkZWNjZT5dID8gZXZtX2lub2RlX3NldHhhdHRyKzB4ZS8weDEwDQogWzxmZmZmZmZmZjgxMTlk ZjVjPl0gdmZzX3NldHhhdHRyKzB4YmMvMHhjMA0KIFs8ZmZmZmZmZmY4MTE5ZTAyNj5dIHNldHhh dHRyKzB4YzYvMHgxMjANCiBbPGZmZmZmZmZmODExYjhhNjI+XSA/IGZzbm90aWZ5KzB4MWMyLzB4 MmEwDQogWzxmZmZmZmZmZjgxMGExZTZjPl0gPyBkb19mdXRleCsweDdjLzB4MWIwDQogWzxmZmZm ZmZmZjgxMTllNDNiPl0gc3lzX2ZzZXR4YXR0cisweGJiLzB4ZTANCiBbPGZmZmZmZmZmODE2Njhk MDI+XSBzeXN0ZW1fY2FsbF9mYXN0cGF0aCsweDE2LzB4MWINCg0KDQpCVUc6IHNvZnQgbG9ja3Vw IC0gQ1BVIzkgc3R1Y2sgZm9yIDIzcyEgW3N3aWZ0LW9iamVjdC1zZTo0MzYyXQ0KTW9kdWxlcyBs aW5rZWQgaW46IGlwbWlfc2kgbXB0MnNhcyBzY3NpX3RyYW5zcG9ydF9zYXMgcmFpZF9jbGFzcyBt cHRjdGwgbXB0YmFzZSBpcG1pX2RldmludGYgaXBtaV9tc2doYW5kbGVyIGRlbGxfcmJ1IHhmcyB2 ZXNhZmIgODAyMXEgZ2FycCBib25kaW5nIGpveWRldiBicmlkZ2Ugc3RwIHNocGNocCBkY2RiYXMg c2JfZWRhYyBtYWNfaGlkIGVkYWNfY29yZSB3bWkgYWNwaV9wb3dlcl9tZXRlciBscCBtZWkoQykg cGFycG9ydCB1c2JoaWQgaGlkIGl4Z2JlIG1kaW8gaWdiIG1lZ2FyYWlkX3NhcyBkY2EgW2xhc3Qg dW5sb2FkZWQ6IGlwbWlfc2ldDQpDUFUgOQ0KTW9kdWxlcyBsaW5rZWQgaW46IGlwbWlfc2kgbXB0 MnNhcyBzY3NpX3RyYW5zcG9ydF9zYXMgcmFpZF9jbGFzcyBtcHRjdGwgbXB0YmFzZSBpcG1pX2Rl dmludGYgaXBtaV9tc2doYW5kbGVyIGRlbGxfcmJ1IHhmcyB2ZXNhZmIgODAyMXEgZ2FycCBib25k aW5nIGpveWRldiBicmlkZ2Ugc3RwIHNocGNocCBkY2RiYXMgc2JfZWRhYyBtYWNfaGlkIGVkYWNf Y29yZSB3bWkgYWNwaV9wb3dlcl9tZXRlciBscCBtZWkoQykgcGFycG9ydCB1c2JoaWQgaGlkIGl4 Z2JlIG1kaW8gaWdiIG1lZ2FyYWlkX3NhcyBkY2EgW2xhc3QgdW5sb2FkZWQ6IGlwbWlfc2ldDQoN ClBpZDogNDM2MiwgY29tbTogc3dpZnQtb2JqZWN0LXNlIFRhaW50ZWQ6IEcgICAgICAgIFdDICAg My4yLjAtNTEtZ2VuZXJpYyAjNzctVWJ1bnR1IERlbGwgSW5jLiBQb3dlckVkZ2UgUjcyMHhkLzBY Nkg0Nw0KUklQOiAwMDEwOls8ZmZmZmZmZmY4MTAzZWJjNT5dICBbPGZmZmZmZmZmODEwM2ViYzU+ XSBfX3RpY2tldF9zcGluX2xvY2srMHgyNS8weDMwDQpSU1A6IDAwMTg6ZmZmZjg4MDNkZjg2M2I2 OCAgRUZMQUdTOiAwMDAwMDI5Mw0KUkFYOiAwMDAwMDAwMDAwMDA3YzFjIFJCWDogZmZmZmZmZmY4 MTE2NDFjZiBSQ1g6IGZmZmY4ODA0MTg2MzI3MDgNClJEWDogMDAwMDAwMDAwMDAwN2MxZiBSU0k6 IGZmZmY4ODAxMTBlOTk3MDAgUkRJOiBmZmZmODgwODI0MjBmZWE4DQpSQlA6IGZmZmY4ODAzZGY4 NjNiNjggUjA4OiBmZmZmODgwM2RmODYzY2EwIFIwOTogZmZmZjg4MDNkZjg2M2NhYw0KUjEwOiAw MDAwMDAwMDAwMDAyMWM0IFIxMTogMDAwMDAwMDAwMDAwMDAwYSBSMTI6IGZmZmY4ODAzZGY4NjNi NTANClIxMzogZmZmZjg4MDgyNDIwZmUwMCBSMTQ6IGZmZmY4ODA4MDgzMDdhNDAgUjE1OiBmZmZm ODgwM2RmODYzYWU4DQpGUzogIDAwMDA3ZjNkNmY3ZmU3MDAoMDAwMCkgR1M6ZmZmZjg4MDgzZmM4 MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpDUzogIDAwMTAgRFM6IDAwMDAgRVM6 IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzDQpDUjI6IDAwMDA3ZjNkYmNkMWIwMDAgQ1IzOiAw MDAwMDAwNDE0MGJmMDAwIENSNDogMDAwMDAwMDAwMDA0MDZlMA0KRFIwOiAwMDAwMDAwMDAwMDAw MDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDANCkRSMzogMDAw MDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZjBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAw DQpQcm9jZXNzIHN3aWZ0LW9iamVjdC1zZSAocGlkOiA0MzYyLCB0aHJlYWRpbmZvIGZmZmY4ODAz ZGY4NjIwMDAsIHRhc2sgZmZmZjg4MDExMGU5OTcwMCkNClN0YWNrOg0KIGZmZmY4ODAzZGY4NjNi NzggZmZmZmZmZmY4MTY2MDZiZSBmZmZmODgwM2RmODYzYzE4IGZmZmZmZmZmYTAxY2M1NDgNCiBm ZmZmODgwM2RmODYzY2FjIGZmZmY4ODAzZGY4NjNjYTAgZmZmZjg4MDNkZjg2M2M5MCAwMDAwMjJl NDI0NDUwNmMwDQogMDAwMDAwMDAwMDAxNDRjMCBmZmZmODgwMTEwZTk5NzAwIGZmZmY4ODAzZGY4 NjNkZjUgMDAwMDAwMDAwMDAwMDAwZQ0KQ2FsbCBUcmFjZToNCiBbPGZmZmZmZmZmODE2NjA2YmU+ XSBfcmF3X3NwaW5fbG9jaysweGUvMHgyMA0KIFs8ZmZmZmZmZmZhMDFjYzU0OD5dIHhsb2dfc3Rh dGVfZ2V0X2ljbG9nX3NwYWNlKzB4NTgvMHgyZTAgW3hmc10NCiBbPGZmZmZmZmZmODExNjY1NWQ+ XSA/IGttZW1fY2FjaGVfYWxsb2MrMHgxMWQvMHgxNDANCiBbPGZmZmZmZmZmYTAxY2NiOTk+XSB4 bG9nX3dyaXRlKzB4ZTkvMHg0MDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxOGM4Nzc+XSA/IGttZW1f em9uZV9hbGxvYysweDY3LzB4ZTAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2U0MGM+XSB4bG9nX2Np bF9wdXNoKzB4MjBjLzB4MzgwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZDJlPl0geGxvZ19jaWxf Zm9yY2VfbHNuKzB4MTBlLzB4MTIwIFt4ZnNdDQogWzxmZmZmZmZmZjgxMTllMDMxPl0gPyBzZXR4 YXR0cisweGQxLzB4MTIwDQogWzxmZmZmZmZmZmEwMWNkMzY3Pl0gX3hmc19sb2dfZm9yY2VfbHNu KzB4NTcvMHgyZTAgW3hmc10NCiBbPGZmZmZmZmZmODE2NWY5ODY+XSA/IGRvd25fcmVhZCsweDE2 LzB4MmINCiBbPGZmZmZmZmZmYTAxN2QxMTY+XSA/IHhmc19pdW5sb2NrKzB4ZTYvMHgxNTAgW3hm c10NCiBbPGZmZmZmZmZmYTAxNzkxMjM+XSA/IHhmc19maWxlX2ZzeW5jKzB4MTEzLzB4MzAwIFt4 ZnNdDQogWzxmZmZmZmZmZmEwMTc5MjBjPl0geGZzX2ZpbGVfZnN5bmMrMHgxZmMvMHgzMDAgW3hm c10NCiBbPGZmZmZmZmZmODExYThjNTY+XSBkb19mc3luYysweDU2LzB4ODANCiBbPGZmZmZmZmZm ODExYThmODA+XSBzeXNfZnN5bmMrMHgxMC8weDIwDQogWzxmZmZmZmZmZjgxNjY4ZDAyPl0gc3lz dGVtX2NhbGxfZmFzdHBhdGgrMHgxNi8weDFiDQpDb2RlOiA5MCA5MCA5MCA5MCA5MCA5MCA1NSBi OCAwMCAwMCAwMSAwMCA0OCA4OSBlNSBmMCAwZiBjMSAwNyA4OSBjMiBjMSBlYSAxMCA2NiAzOSBj MiA3NCAxMyA2NiAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCBmMyA5MCAwZiBiNyAwNyA8NjY+IDM5 IGQwIDc1IGY2IDVkIGMzIDBmIDFmIDQwIDAwIDhiIDE3IDU1IDMxIGMwIDQ4IDg5IGU1IDg5IGQx DQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8w eDIwDQogWzxmZmZmZmZmZmEwMWNjNTQ4Pl0geGxvZ19zdGF0ZV9nZXRfaWNsb2dfc3BhY2UrMHg1 OC8weDJlMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTE2NjU1ZD5dID8ga21lbV9jYWNoZV9hbGxvYysw eDExZC8weDE0MA0KIFs8ZmZmZmZmZmZhMDFjY2I5OT5dIHhsb2dfd3JpdGUrMHhlOS8weDQwMCBb eGZzXQ0KIFs8ZmZmZmZmZmZhMDE4Yzg3Nz5dID8ga21lbV96b25lX2FsbG9jKzB4NjcvMHhlMCBb eGZzXQ0KIFs8ZmZmZmZmZmZhMDFjZTQwYz5dIHhsb2dfY2lsX3B1c2grMHgyMGMvMHgzODAgW3hm c10NCiBbPGZmZmZmZmZmYTAxY2VkMmU+XSB4bG9nX2NpbF9mb3JjZV9sc24rMHgxMGUvMHgxMjAg W3hmc10NCiBbPGZmZmZmZmZmODExOWUwMzE+XSA/IHNldHhhdHRyKzB4ZDEvMHgxMjANCiBbPGZm ZmZmZmZmYTAxY2QzNjc+XSBfeGZzX2xvZ19mb3JjZV9sc24rMHg1Ny8weDJlMCBbeGZzXQ0KIFs8 ZmZmZmZmZmY4MTY1Zjk4Nj5dID8gZG93bl9yZWFkKzB4MTYvMHgyYg0KIFs8ZmZmZmZmZmZhMDE3 ZDExNj5dID8geGZzX2l1bmxvY2srMHhlNi8weDE1MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE3OTEy Mz5dID8geGZzX2ZpbGVfZnN5bmMrMHgxMTMvMHgzMDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzky MGM+XSB4ZnNfZmlsZV9mc3luYysweDFmYy8weDMwMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTFhOGM1 Nj5dIGRvX2ZzeW5jKzB4NTYvMHg4MA0KIFs8ZmZmZmZmZmY4MTFhOGY4MD5dIHN5c19mc3luYysw eDEwLzB4MjANCiBbPGZmZmZmZmZmODE2NjhkMDI+XSBzeXN0ZW1fY2FsbF9mYXN0cGF0aCsweDE2 LzB4MWINCg0KDQpCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzI4IHN0dWNrIGZvciAyMnMhIFtzd2lm dC1vYmplY3Qtc2U6NDM1NF0NCk1vZHVsZXMgbGlua2VkIGluOiBpcG1pX3NpIG1wdDJzYXMgc2Nz aV90cmFuc3BvcnRfc2FzIHJhaWRfY2xhc3MgbXB0Y3RsIG1wdGJhc2UgaXBtaV9kZXZpbnRmIGlw bWlfbXNnaGFuZGxlciBkZWxsX3JidSB4ZnMgdmVzYWZiIDgwMjFxIGdhcnAgYm9uZGluZyBqb3lk ZXYgYnJpZGdlIHN0cCBzaHBjaHAgZGNkYmFzIHNiX2VkYWMgbWFjX2hpZCBlZGFjX2NvcmUgd21p IGFjcGlfcG93ZXJfbWV0ZXIgbHAgbWVpKEMpIHBhcnBvcnQgdXNiaGlkIGhpZCBpeGdiZSBtZGlv IGlnYiBtZWdhcmFpZF9zYXMgZGNhIFtsYXN0IHVubG9hZGVkOiBpcG1pX3NpXQ0KQ1BVIDI4DQpN b2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNwb3J0X3NhcyByYWlk X2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hhbmRsZXIgZGVsbF9y YnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRnZSBzdHAgc2hwY2hw IGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bvd2VyX21ldGVyIGxw IG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVnYXJhaWRfc2FzIGRj YSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCg0KUGlkOiA0MzU0LCBjb21tOiBzd2lmdC1vYmpl Y3Qtc2UgVGFpbnRlZDogRyAgICAgICAgV0MgICAzLjIuMC01MS1nZW5lcmljICM3Ny1VYnVudHUg RGVsbCBJbmMuIFBvd2VyRWRnZSBSNzIweGQvMFg2SDQ3DQpSSVA6IDAwMTA6WzxmZmZmZmZmZjgx MDNlYmM1Pl0gIFs8ZmZmZmZmZmY4MTAzZWJjNT5dIF9fdGlja2V0X3NwaW5fbG9jaysweDI1LzB4 MzANClJTUDogMDAxODpmZmZmODgwMmEwZDk1YjY4ICBFRkxBR1M6IDAwMDAwMjkzDQpSQVg6IDAw MDAwMDAwMDAwMDdjMWMgUkJYOiBmZmZmZmZmZjgxMTY0MWNmIFJDWDogZmZmZjg4MDgwODMwYTk2 MA0KUkRYOiAwMDAwMDAwMDAwMDA3YzFlIFJTSTogZmZmZjg4MDFjNjIzNWMwMCBSREk6IGZmZmY4 ODA4MjQyMGZlYTgNClJCUDogZmZmZjg4MDJhMGQ5NWI2OCBSMDg6IGZmZmY4ODAyYTBkOTVjYTAg UjA5OiBmZmZmODgwMmEwZDk1Y2FjDQpSMTA6IDAwMDAwMDAwMDAwMDIxMzQgUjExOiAwMDAwMDAw MDAwMDAwMDBhIFIxMjogZmZmZjg4MDJhMGQ5NWI1MA0KUjEzOiBmZmZmODgwODI0MjBmZTAwIFIx NDogZmZmZjg4MDQyNGQ2NzZmOCBSMTU6IGZmZmY4ODAyYTBkOTVhZTgNCkZTOiAgMDAwMDdmM2Q4 ZGZmYjcwMCgwMDAwKSBHUzpmZmZmODgwNDJmZGMwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAw MDAwMDANCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMN CkNSMjogMDAwMDdmM2RiY2QxYjAwMCBDUjM6IDAwMDAwMDA0MTQwYmYwMDAgQ1I0OiAwMDAwMDAw MDAwMDQwNmUwDQpEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERS MjogMDAwMDAwMDAwMDAwMDAwMA0KRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBm ZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDANClByb2Nlc3Mgc3dpZnQtb2JqZWN0LXNlIChw aWQ6IDQzNTQsIHRocmVhZGluZm8gZmZmZjg4MDJhMGQ5NDAwMCwgdGFzayBmZmZmODgwMWM2MjM1 YzAwKQ0KU3RhY2s6DQogZmZmZjg4MDJhMGQ5NWI3OCBmZmZmZmZmZjgxNjYwNmJlIGZmZmY4ODAy YTBkOTVjMTggZmZmZmZmZmZhMDFjYzU0OA0KIGZmZmY4ODAyYTBkOTVjYWMgZmZmZjg4MDJhMGQ5 NWNhMCBmZmZmODgwMmEwZDk1YzkwIDAwMDAyMjU0NjMyMmMwMDANCiAwMDAwMDAwMDAwMDE0NGMw IGZmZmY4ODAxYzYyMzVjMDAgZmZmZjg4MDJhMGQ5NWRmNSAwMDAwMDAwMDAwMDAwMDBlDQpDYWxs IFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQog WzxmZmZmZmZmZmEwMWNjNTQ4Pl0geGxvZ19zdGF0ZV9nZXRfaWNsb2dfc3BhY2UrMHg1OC8weDJl MCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTE2NjU1ZD5dID8ga21lbV9jYWNoZV9hbGxvYysweDExZC8w eDE0MA0KIFs8ZmZmZmZmZmZhMDFjY2I5OT5dIHhsb2dfd3JpdGUrMHhlOS8weDQwMCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDE4Yzg3Nz5dID8ga21lbV96b25lX2FsbG9jKzB4NjcvMHhlMCBbeGZzXQ0K IFs8ZmZmZmZmZmZhMDFjZTQwYz5dIHhsb2dfY2lsX3B1c2grMHgyMGMvMHgzODAgW3hmc10NCiBb PGZmZmZmZmZmYTAxY2VkMmU+XSB4bG9nX2NpbF9mb3JjZV9sc24rMHgxMGUvMHgxMjAgW3hmc10N CiBbPGZmZmZmZmZmODExOWUwMzE+XSA/IHNldHhhdHRyKzB4ZDEvMHgxMjANCiBbPGZmZmZmZmZm YTAxY2QzNjc+XSBfeGZzX2xvZ19mb3JjZV9sc24rMHg1Ny8weDJlMCBbeGZzXQ0KIFs8ZmZmZmZm ZmY4MTY1Zjk4Nj5dID8gZG93bl9yZWFkKzB4MTYvMHgyYg0KIFs8ZmZmZmZmZmZhMDE3ZDExNj5d ID8geGZzX2l1bmxvY2srMHhlNi8weDE1MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE3OTEyMz5dID8g eGZzX2ZpbGVfZnN5bmMrMHgxMTMvMHgzMDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxNzkyMGM+XSB4 ZnNfZmlsZV9mc3luYysweDFmYy8weDMwMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTFhOGM1Nj5dIGRv X2ZzeW5jKzB4NTYvMHg4MA0KIFs8ZmZmZmZmZmY4MTFhOGY4MD5dIHN5c19mc3luYysweDEwLzB4 MjANCiBbPGZmZmZmZmZmODE2NjhkMDI+XSBzeXN0ZW1fY2FsbF9mYXN0cGF0aCsweDE2LzB4MWIN CkNvZGU6IDkwIDkwIDkwIDkwIDkwIDkwIDU1IGI4IDAwIDAwIDAxIDAwIDQ4IDg5IGU1IGYwIDBm IGMxIDA3IDg5IGMyIGMxIGVhIDEwIDY2IDM5IGMyIDc0IDEzIDY2IDBmIDFmIDg0IDAwIDAwIDAw IDAwIDAwIGYzIDkwIDBmIGI3IDA3IDw2Nj4gMzkgZDAgNzUgZjYgNWQgYzMgMGYgMWYgNDAgMDAg OGIgMTcgNTUgMzEgYzAgNDggODkgZTUgODkgZDENCkNhbGwgVHJhY2U6DQogWzxmZmZmZmZmZjgx NjYwNmJlPl0gX3Jhd19zcGluX2xvY2srMHhlLzB4MjANCiBbPGZmZmZmZmZmYTAxY2M1NDg+XSB4 bG9nX3N0YXRlX2dldF9pY2xvZ19zcGFjZSsweDU4LzB4MmUwIFt4ZnNdDQogWzxmZmZmZmZmZjgx MTY2NTVkPl0gPyBrbWVtX2NhY2hlX2FsbG9jKzB4MTFkLzB4MTQwDQogWzxmZmZmZmZmZmEwMWNj Yjk5Pl0geGxvZ193cml0ZSsweGU5LzB4NDAwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMThjODc3Pl0g PyBrbWVtX3pvbmVfYWxsb2MrMHg2Ny8weGUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlNDBjPl0g eGxvZ19jaWxfcHVzaCsweDIwYy8weDM4MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjZWQyZT5dIHhs b2dfY2lsX2ZvcmNlX2xzbisweDEwZS8weDEyMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTE5ZTAzMT5d ID8gc2V0eGF0dHIrMHhkMS8weDEyMA0KIFs8ZmZmZmZmZmZhMDFjZDM2Nz5dIF94ZnNfbG9nX2Zv cmNlX2xzbisweDU3LzB4MmUwIFt4ZnNdDQogWzxmZmZmZmZmZjgxNjVmOTg2Pl0gPyBkb3duX3Jl YWQrMHgxNi8weDJiDQogWzxmZmZmZmZmZmEwMTdkMTE2Pl0gPyB4ZnNfaXVubG9jaysweGU2LzB4 MTUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTc5MTIzPl0gPyB4ZnNfZmlsZV9mc3luYysweDExMy8w eDMwMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDE3OTIwYz5dIHhmc19maWxlX2ZzeW5jKzB4MWZjLzB4 MzAwIFt4ZnNdDQogWzxmZmZmZmZmZjgxMWE4YzU2Pl0gZG9fZnN5bmMrMHg1Ni8weDgwDQogWzxm ZmZmZmZmZjgxMWE4ZjgwPl0gc3lzX2ZzeW5jKzB4MTAvMHgyMA0KIFs8ZmZmZmZmZmY4MTY2OGQw Mj5dIHN5c3RlbV9jYWxsX2Zhc3RwYXRoKzB4MTYvMHgxYg0KDQpCVUc6IHNvZnQgbG9ja3VwIC0g Q1BVIzMwIHN0dWNrIGZvciAyMnMhIFt4ZnNhaWxkL3NkZjE6Mjg3Nl0NCk1vZHVsZXMgbGlua2Vk IGluOiBpcG1pX3NpIG1wdDJzYXMgc2NzaV90cmFuc3BvcnRfc2FzIHJhaWRfY2xhc3MgbXB0Y3Rs IG1wdGJhc2UgaXBtaV9kZXZpbnRmIGlwbWlfbXNnaGFuZGxlciBkZWxsX3JidSB4ZnMgdmVzYWZi IDgwMjFxIGdhcnAgYm9uZGluZyBqb3lkZXYgYnJpZGdlIHN0cCBzaHBjaHAgZGNkYmFzIHNiX2Vk YWMgbWFjX2hpZCBlZGFjX2NvcmUgd21pIGFjcGlfcG93ZXJfbWV0ZXIgbHAgbWVpKEMpIHBhcnBv cnQgdXNiaGlkIGhpZCBpeGdiZSBtZGlvIGlnYiBtZWdhcmFpZF9zYXMgZGNhIFtsYXN0IHVubG9h ZGVkOiBpcG1pX3NpXQ0KQ1BVIDMwDQpNb2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2Fz IHNjc2lfdHJhbnNwb3J0X3NhcyByYWlkX2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50 ZiBpcG1pX21zZ2hhbmRsZXIgZGVsbF9yYnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcg am95ZGV2IGJyaWRnZSBzdHAgc2hwY2hwIGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3Jl IHdtaSBhY3BpX3Bvd2VyX21ldGVyIGxwIG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUg bWRpbyBpZ2IgbWVnYXJhaWRfc2FzIGRjYSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCg0KUGlk OiAyODc2LCBjb21tOiB4ZnNhaWxkL3NkZjEgVGFpbnRlZDogRyAgICAgICAgV0MgICAzLjIuMC01 MS1nZW5lcmljICM3Ny1VYnVudHUgRGVsbCBJbmMuIFBvd2VyRWRnZSBSNzIweGQvMFg2SDQ3DQpS SVA6IDAwMTA6WzxmZmZmZmZmZjgxMDNlYmM1Pl0gIFs8ZmZmZmZmZmY4MTAzZWJjNT5dIF9fdGlj a2V0X3NwaW5fbG9jaysweDI1LzB4MzANClJTUDogMDAxODpmZmZmODgwNDExMTZiYzIwICBFRkxB R1M6IDAwMDAwMjk3DQpSQVg6IDAwMDAwMDAwMDAwMDA3ZTUgUkJYOiAwMDAwMDAwMDAwMDAwMDAw IFJDWDogMDAwMDAwMDAwMDAwMDIzMQ0KUkRYOiAwMDAwMDAwMDAwMDAwN2U2IFJTSTogZmZmZjg4 MDgyNDIwZmVhOCBSREk6IGZmZmY4ODA4MjRiMzJlNzgNClJCUDogZmZmZjg4MDQxMTE2YmMyMCBS MDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAwDQpSMTA6IGZmZmY4ODA0 MTExNmJhMjQgUjExOiAwMDAwMDAwMDAwMDAwMDAwIFIxMjogMDAwMDAwMDAwMDAwMDAwMQ0KUjEz OiBmZmZmODgwN2VlZWRhZDgwIFIxNDogMDAwMzAwMDEwMDAwMDAwMCBSMTU6IGZmZmY4ODA0MTEx NmJiODgNCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODgwNDJmZGUwMDAwKDAw MDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBD UjA6IDAwMDAwMDAwODAwNTAwM2INCkNSMjogMDAwMDdmM2RiY2QxYjAwMCBDUjM6IDAwMDAwMDAw MDFjMDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDQwNmUwDQpEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIx OiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMA0KRFIzOiAwMDAwMDAwMDAw MDAwMDAwIERSNjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDANClByb2Nl c3MgeGZzYWlsZC9zZGYxIChwaWQ6IDI4NzYsIHRocmVhZGluZm8gZmZmZjg4MDQxMTE2YTAwMCwg dGFzayBmZmZmODgwODE5ZDM1YzAwKQ0KU3RhY2s6DQogZmZmZjg4MDQxMTE2YmMzMCBmZmZmZmZm ZjgxNjYwNmJlIGZmZmY4ODA0MTExNmJjNTAgZmZmZmZmZmZhMDFkMTNkNA0KIGZmZmY4ODA4MjQy MGZlMDAgZmZmZjg4MDgyNDIwZmUwMCBmZmZmODgwNDExMTZiYzcwIGZmZmZmZmZmYTAxY2MzZmUN CiBmZmZmODgwNDExMTZiY2MwIGZmZmY4ODA0MjEyMWM4MDAgZmZmZjg4MDQxMTE2YmNhMCBmZmZm ZmZmZmEwMWNjNGQzDQpDYWxsIFRyYWNlOg0KIFs8ZmZmZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bp bl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWQxM2Q0Pl0geGZzX2FpbF9taW5fbHNuKzB4 MjQvMHg2MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjYzNmZT5dIHhsb2dfYXNzaWduX3RhaWxfbHNu KzB4MWUvMHg0MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjYzRkMz5dIHhsb2dfc3RhdGVfcmVsZWFz ZV9pY2xvZysweGIzLzB4ZDAgW3hmc10NCiBbPGZmZmZmZmZmYTAxY2QxNTY+XSBfeGZzX2xvZ19m b3JjZSsweDEyNi8weDJhMCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA5MTZkNj5dID8gZG93bl90cnls b2NrKzB4MzYvMHg1MA0KIFs8ZmZmZmZmZmZhMDFjZDJlOD5dIHhmc19sb2dfZm9yY2UrMHgxOC8w eDQwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMTc2MGIwPl0geGZzX2J1Zl90cnlsb2NrKzB4ZDAvMHhl MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFjZjFjOD5dIHhmc19idWZfaXRlbV90cnlsb2NrKzB4NTgv MHhjMCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFkMTc3YT5dIHhmc2FpbGRfcHVzaCsweDI0YS8weDY4 MCBbeGZzXQ0KIFs8ZmZmZmZmZmZhMDFkMWMxMj5dIHhmc2FpbGQrMHg2Mi8weGMwIFt4ZnNdDQog WzxmZmZmZmZmZmEwMWQxYmIwPl0gPyB4ZnNhaWxkX3B1c2grMHg2ODAvMHg2ODAgW3hmc10NCiBb PGZmZmZmZmZmODEwOGI3OGM+XSBrdGhyZWFkKzB4OGMvMHhhMA0KIFs8ZmZmZmZmZmY4MTY2YWU3 ND5dIGtlcm5lbF90aHJlYWRfaGVscGVyKzB4NC8weDEwDQogWzxmZmZmZmZmZjgxMDhiNzAwPl0g PyBmbHVzaF9rdGhyZWFkX3dvcmtlcisweGEwLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzA+XSA/ IGdzX2NoYW5nZSsweDEzLzB4MTMNCkNvZGU6IDkwIDkwIDkwIDkwIDkwIDkwIDU1IGI4IDAwIDAw IDAxIDAwIDQ4IDg5IGU1IGYwIDBmIGMxIDA3IDg5IGMyIGMxIGVhIDEwIDY2IDM5IGMyIDc0IDEz IDY2IDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIGYzIDkwIDBmIGI3IDA3IDw2Nj4gMzkgZDAgNzUg ZjYgNWQgYzMgMGYgMWYgNDAgMDAgOGIgMTcgNTUgMzEgYzAgNDggODkgZTUgODkgZDENCkNhbGwg VHJhY2U6DQogWzxmZmZmZmZmZjgxNjYwNmJlPl0gX3Jhd19zcGluX2xvY2srMHhlLzB4MjANCiBb PGZmZmZmZmZmYTAxZDEzZDQ+XSB4ZnNfYWlsX21pbl9sc24rMHgyNC8weDYwIFt4ZnNdDQogWzxm ZmZmZmZmZmEwMWNjM2ZlPl0geGxvZ19hc3NpZ25fdGFpbF9sc24rMHgxZS8weDQwIFt4ZnNdDQog WzxmZmZmZmZmZmEwMWNjNGQzPl0geGxvZ19zdGF0ZV9yZWxlYXNlX2ljbG9nKzB4YjMvMHhkMCBb eGZzXQ0KIFs8ZmZmZmZmZmZhMDFjZDE1Nj5dIF94ZnNfbG9nX2ZvcmNlKzB4MTI2LzB4MmEwIFt4 ZnNdDQogWzxmZmZmZmZmZjgxMDkxNmQ2Pl0gPyBkb3duX3RyeWxvY2srMHgzNi8weDUwDQogWzxm ZmZmZmZmZmEwMWNkMmU4Pl0geGZzX2xvZ19mb3JjZSsweDE4LzB4NDAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxNzYwYjA+XSB4ZnNfYnVmX3RyeWxvY2srMHhkMC8weGUwIFt4ZnNdDQogWzxmZmZmZmZm ZmEwMWNmMWM4Pl0geGZzX2J1Zl9pdGVtX3RyeWxvY2srMHg1OC8weGMwIFt4ZnNdDQogWzxmZmZm ZmZmZmEwMWQxNzdhPl0geGZzYWlsZF9wdXNoKzB4MjRhLzB4NjgwIFt4ZnNdDQogWzxmZmZmZmZm ZmEwMWQxYzEyPl0geGZzYWlsZCsweDYyLzB4YzAgW3hmc10NCiBbPGZmZmZmZmZmYTAxZDFiYjA+ XSA/IHhmc2FpbGRfcHVzaCsweDY4MC8weDY4MCBbeGZzXQ0KIFs8ZmZmZmZmZmY4MTA4Yjc4Yz5d IGt0aHJlYWQrMHg4Yy8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTc0Pl0ga2VybmVsX3RocmVhZF9o ZWxwZXIrMHg0LzB4MTANCiBbPGZmZmZmZmZmODEwOGI3MDA+XSA/IGZsdXNoX2t0aHJlYWRfd29y a2VyKzB4YTAvMHhhMA0KIFs8ZmZmZmZmZmY4MTY2YWU3MD5dID8gZ3NfY2hhbmdlKzB4MTMvMHgx Mw0KDQoNCkJVRzogc29mdCBsb2NrdXAgLSBDUFUjMCBzdHVjayBmb3IgMjJzISBba3dvcmtlci8w OjM6Mjc1ODBdDQpNb2R1bGVzIGxpbmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNw b3J0X3NhcyByYWlkX2NsYXNzIG1wdGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hh bmRsZXIgZGVsbF9yYnUgeGZzIHZlc2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRn ZSBzdHAgc2hwY2hwIGRjZGJhcyBzYl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bv d2VyX21ldGVyIGxwIG1laShDKSBwYXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVn YXJhaWRfc2FzIGRjYSBbbGFzdCB1bmxvYWRlZDogaXBtaV9zaV0NCkNQVSAwDQpNb2R1bGVzIGxp bmtlZCBpbjogaXBtaV9zaSBtcHQyc2FzIHNjc2lfdHJhbnNwb3J0X3NhcyByYWlkX2NsYXNzIG1w dGN0bCBtcHRiYXNlIGlwbWlfZGV2aW50ZiBpcG1pX21zZ2hhbmRsZXIgZGVsbF9yYnUgeGZzIHZl c2FmYiA4MDIxcSBnYXJwIGJvbmRpbmcgam95ZGV2IGJyaWRnZSBzdHAgc2hwY2hwIGRjZGJhcyBz Yl9lZGFjIG1hY19oaWQgZWRhY19jb3JlIHdtaSBhY3BpX3Bvd2VyX21ldGVyIGxwIG1laShDKSBw YXJwb3J0IHVzYmhpZCBoaWQgaXhnYmUgbWRpbyBpZ2IgbWVnYXJhaWRfc2FzIGRjYSBbbGFzdCB1 bmxvYWRlZDogaXBtaV9zaV0NCg0KUGlkOiAyNzU4MCwgY29tbToga3dvcmtlci8wOjMgVGFpbnRl ZDogRyAgICAgICAgV0MgICAzLjIuMC01MS1nZW5lcmljICM3Ny1VYnVudHUgRGVsbCBJbmMuIFBv d2VyRWRnZSBSNzIweGQvMFg2SDQ3DQpSSVA6IDAwMTA6WzxmZmZmZmZmZjgxMDNlYmMyPl0gIFs8 ZmZmZmZmZmY4MTAzZWJjMj5dIF9fdGlja2V0X3NwaW5fbG9jaysweDIyLzB4MzANClJTUDogMDAx ODpmZmZmODgwMWFlYWUzZDQwICBFRkxBR1M6IDAwMDAwMjkzDQpSQVg6IDAwMDAwMDAwMDAwMDA3 ZTUgUkJYOiBmZmZmODgwMWFlYWUzY2QwIFJDWDogMDAwMDAwMDAwMDAwMDAwMw0KUkRYOiAwMDAw MDAwMDAwMDAwN2U3IFJTSTogZmZmZjg4MDgyM2ExMTdkMCBSREk6IGZmZmY4ODA4MjRiMzJlNzgN ClJCUDogZmZmZjg4MDFhZWFlM2Q0MCBSMDg6IGZmZmY4ODAxYWVhZTIwMDAgUjA5OiAwMDAwMDAw MDAwMDAwMDkzDQpSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMDAxIFIx MjogMDAwMDAwMDAwMDAwMDAwMg0KUjEzOiBmZmZmODgwNDJmYzEzN2MwIFIxNDogZmZmZjg4MDQy NWEzN2EwMCBSMTU6IDAwMDAwMDAwMDAwMDAxNGINCkZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAw KSBHUzpmZmZmODgwNDJmYzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANCkNTOiAg MDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwM2INCkNSMjogMDAwMDdl ZmZhOGI1MmVmNyBDUjM6IDAwMDAwMDAwMDFjMDUwMDAgQ1I0OiAwMDAwMDAwMDAwMDQwNmYwDQpE UjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAw MDAwMDAwMA0KRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6 IDAwMDAwMDAwMDAwMDA0MDANClByb2Nlc3Mga3dvcmtlci8wOjMgKHBpZDogMjc1ODAsIHRocmVh ZGluZm8gZmZmZjg4MDFhZWFlMjAwMCwgdGFzayBmZmZmODgwMGE1MDE1YzAwKQ0KU3RhY2s6DQog ZmZmZjg4MDFhZWFlM2Q1MCBmZmZmZmZmZjgxNjYwNmJlIGZmZmY4ODAxYWVhZTNkODAgZmZmZmZm ZmZhMDFjZmUxYg0KIGZmZmY4ODA2ZTNkM2RjNDggZmZmZjg4MDAzMzlmMTYwMCBmZmZmODgwNDIx Yjc2OTQwIGZmZmY4ODAxYmJlNTM1MDANCiBmZmZmODgwMWFlYWUzZGEwIGZmZmZmZmZmYTAxY2Vm MWMgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgwNDIxYjc2OTQwDQpDYWxsIFRyYWNlOg0KIFs8ZmZm ZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWNm ZTFiPl0geGZzX2J1Zl9pb2RvbmUrMHgyYi8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjFj Pl0geGZzX2J1Zl9kb19jYWxsYmFja3MrMHgzYy8weDUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNl Zjk2Pl0geGZzX2J1Zl9pb2RvbmVfY2FsbGJhY2tzKzB4NDYvMHgyMjAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxNzY4NDM+XSB4ZnNfYnVmX2lvZG9uZV93b3JrKzB4MjMvMHg1MCBbeGZzXQ0KIFs8ZmZm ZmZmZmY4MTA4NWUzNz5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxMjcvMHg0NzANCiBbPGZmZmZmZmZm ODEwODZmNDQ+XSB3b3JrZXJfdGhyZWFkKzB4MTY0LzB4MzcwDQogWzxmZmZmZmZmZjgxMDg2ZGUw Pl0gPyBtYW5hZ2Vfd29ya2Vycy5pc3JhLjMxKzB4MTMwLzB4MTMwDQogWzxmZmZmZmZmZjgxMDhi NzhjPl0ga3RocmVhZCsweDhjLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzQ+XSBrZXJuZWxfdGhy ZWFkX2hlbHBlcisweDQvMHgxMA0KIFs8ZmZmZmZmZmY4MTA4YjcwMD5dID8gZmx1c2hfa3RocmVh ZF93b3JrZXIrMHhhMC8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTcwPl0gPyBnc19jaGFuZ2UrMHgx My8weDEzDQpDb2RlOiA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA1NSBiOCAwMCAwMCAwMSAw MCA0OCA4OSBlNSBmMCAwZiBjMSAwNyA4OSBjMiBjMSBlYSAxMCA2NiAzOSBjMiA3NCAxMyA2NiAw ZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCBmMyA5MCA8MGY+IGI3IDA3IDY2IDM5IGQwIDc1IGY2IDVk IGMzIDBmIDFmIDQwIDAwIDhiIDE3IDU1IDMxIGMwIDQ4IDg5DQpDYWxsIFRyYWNlOg0KIFs8ZmZm ZmZmZmY4MTY2MDZiZT5dIF9yYXdfc3Bpbl9sb2NrKzB4ZS8weDIwDQogWzxmZmZmZmZmZmEwMWNm ZTFiPl0geGZzX2J1Zl9pb2RvbmUrMHgyYi8weDYwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNlZjFj Pl0geGZzX2J1Zl9kb19jYWxsYmFja3MrMHgzYy8weDUwIFt4ZnNdDQogWzxmZmZmZmZmZmEwMWNl Zjk2Pl0geGZzX2J1Zl9pb2RvbmVfY2FsbGJhY2tzKzB4NDYvMHgyMjAgW3hmc10NCiBbPGZmZmZm ZmZmYTAxNzY4NDM+XSB4ZnNfYnVmX2lvZG9uZV93b3JrKzB4MjMvMHg1MCBbeGZzXQ0KIFs8ZmZm ZmZmZmY4MTA4NWUzNz5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxMjcvMHg0NzANCiBbPGZmZmZmZmZm ODEwODZmNDQ+XSB3b3JrZXJfdGhyZWFkKzB4MTY0LzB4MzcwDQogWzxmZmZmZmZmZjgxMDg2ZGUw Pl0gPyBtYW5hZ2Vfd29ya2Vycy5pc3JhLjMxKzB4MTMwLzB4MTMwDQogWzxmZmZmZmZmZjgxMDhi NzhjPl0ga3RocmVhZCsweDhjLzB4YTANCiBbPGZmZmZmZmZmODE2NmFlNzQ+XSBrZXJuZWxfdGhy ZWFkX2hlbHBlcisweDQvMHgxMA0KIFs8ZmZmZmZmZmY4MTA4YjcwMD5dID8gZmx1c2hfa3RocmVh ZF93b3JrZXIrMHhhMC8weGEwDQogWzxmZmZmZmZmZjgxNjZhZTcwPl0gPyBnc19jaGFuZ2UrMHgx My8weDEzDQoNCg== ------=_Part_8186919_654588180.1412777666395-- From bfoster@redhat.com Wed Oct 8 09:24: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 E77EE7F3F for ; Wed, 8 Oct 2014 09:24:26 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1616BAC006 for ; Wed, 8 Oct 2014 07:24:26 -0700 (PDT) X-ASG-Debug-ID: 1412778264-04cb6c770634130001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id kLCqknR9fIFrH9xx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 08 Oct 2014 07:24: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-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 s98EOGPo001379 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 8 Oct 2014 10:24:16 -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 s98EOFCj002818; Wed, 8 Oct 2014 10:24:16 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 03847120064; Wed, 8 Oct 2014 10:24:14 -0400 (EDT) Date: Wed, 8 Oct 2014 10:24:14 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141008142414.GA30800@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: rework zero range to prevent invalid i_size updates References: <1412707548-46011-1-git-send-email-bfoster@redhat.com> <20141007214023.GR2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141007214023.GR2301@dastard> 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: 1412778264 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 Wed, Oct 08, 2014 at 08:40:23AM +1100, Dave Chinner wrote: > On Tue, Oct 07, 2014 at 02:45:48PM -0400, Brian Foster wrote: > > The zero range operation is analogous to fallocate with the exception of > > converting the range to zeroes. E.g., it attempts to allocate zeroed > > blocks over the range specified by the caller. The XFS implementation > > kills all delalloc blocks currently over the aligned range, converts the > > range to allocated zero blocks (unwritten extents) and handles the > > partial pages at the ends of the range by sending writes through the > > pagecache. > > > > The current implementation suffers from several problems associated with > > inode size. If the aligned range covers an extending I/O, said I/O is > > discarded and an inode size update from a previous write never makes it > > to disk. Further, if an unaligned zero range extends beyond eof, the > > page write induced for the partial end page can itself increase the > > inode size, even if the zero range request is not supposed to update > > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > > > The latter behavior not only incorrectly increases the inode size, but > > can lead to stray delalloc blocks on the inode. Typically, post-eof > > preallocation blocks are either truncated on release or inode eviction > > or explicitly written to by xfs_zero_eof() on natural file size > > extension. If the inode size increases due to zero range, however, > > associated blocks leak into the address space having never been > > converted or mapped to pagecache pages. A direct I/O to such an > > uncovered range cannot convert the extent via writeback and will BUG(). > > For example: > > > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > > ... > > $ xfs_io -d -c "pread 128k 128k" > > > > > > If the entire delalloc extent happens to not have page coverage > > whatsoever (e.g., delalloc conversion couldn't find a large enough free > > space extent), even a full file writeback won't convert what's left of > > the extent and we'll assert on inode eviction. > > > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > > Align to blocksize rather than page size and use uncached buffers to > > zero partial blocks. Preallocate the outward block-aligned range to > > provide fallocate allocation semantics and convert the inward range to > > unwritten extents to zero the range. > > > > Signed-off-by: Brian Foster > > comments below... > > > +/* > > + * Preallocate and zero a range of a file. This mechanism has the allocation > > + * semantics of fallocate and in addition converts data in the range to zeroes. > > + * This is done using unwritten extent conversion for complete blocks within the > > + * range. Partial start/end blocks cannot be converted to unwritten as they > > + * contain valid data. Therefore, partial blocks are preallocated and explicitly > > + * zeroed on-disk. > > If we don't modify the patch and continue with the uncached zeroing > mechanism, we need to add a big warning about why we avoid the page > cache for partial block zeroing. (i.e. to prevent ioend completions > from updating inode size incorrectly and causing data corruption). > Ok, I'll add a note on that here. > > trace_xfs_zero_file_space(ip); > > > > - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); > > + blksize = 1 << mp->m_sb.sb_blocklog; > > If we are now doing sub-page block manipulation, we have the issue > with racing page faults failing to refault after the extent map has > changed underneath partial pages. That, however, appears to be > mostly mitigated by the partial page writeback. > > > > > /* > > - * Round the range of extents we are going to convert inwards. If the > > - * offset is aligned, then it doesn't get changed so we zero from the > > - * start of the block offset points to. > > + * Align the range inward to blocksize. This represents the range that > > + * can be converted to unwritten extents. > > */ > > - start_boundary = round_up(offset, granularity); > > - end_boundary = round_down(offset + len, granularity); > > + start_boundary = round_up(offset, blksize); > > + end_boundary = round_down(offset + len, blksize); > > > > ASSERT(start_boundary >= offset); > > ASSERT(end_boundary <= offset + len); > > > > - if (start_boundary < end_boundary - 1) { > > - /* > > - * Writeback the range to ensure any inode size updates due to > > - * appending writes make it to disk (otherwise we could just > > - * punch out the delalloc blocks). > > - */ > > - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, > > - start_boundary, end_boundary - 1); > > + /* > > + * We generally want to avoid writeback here but must take a few things > > + * into consideration. If the eof page falls within the aligned range, > > + * write it back so we don't lose i_size updates. Also writeback > > + * unaligned start/end pages to avoid races with uncached I/O. > > + */ > > + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); > > + if (eof >= start_boundary && eof <= end_boundary) > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); > > That's only necessary if (VFS_I(ip)->i_size > ip->i_d.di_size), > right?. i.e. it's only needed if there are extending writes still > pending writeback that will update the on-disk inode size (see > xfs_setattr_size() for details). > Yes, that's true. I can update the logic there. > > + if (!PAGE_ALIGNED(offset) || !PAGE_ALIGNED(offset + len)) { > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, > > + start_boundary); > > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, > > + offset + len); > > + } > > If the offset and/or (offset+len) are beyond EOF, we need to write > them as ->writepage will see that they are beyond EOF and abort. > Hence I'd split this into separate check+flush start, check+flush > end branches that also check whether they are beyond EOF or in the > EOF page we've already written. > I assume you meant to say we don't need to write them, which makes sense. That said, I'm not sure I see the benefit of adding code to detect scenarios that are already correctly handled. E.g., the pages don't need to be written back, so they won't be. It's also just as possible that offset and offset+len fall into the same page and we call writeback twice. I believe I originally had the start/end checks as separate checks and combined them at some point just to keep things simple (e.g., we have to do I/O anyways if one of the start of end is unaligned). I can break it back up into independent checks, but I'm hesitant to sprinkle more logic just to prevent things like calling filemap_write_and_wait_range() one time too many to no practical benefit. > > + /* > > + * Punch out the pagecache and delalloc extents in the range. > > + * truncate_pagecache_range() handles partial page zeroing for us. > > + */ > > + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); > > + if (end_boundary > start_boundary) { > > + xfs_ilock(ip, XFS_ILOCK_EXCL); > > + error = xfs_bmap_punch_delalloc_range(ip, > > + XFS_B_TO_FSBT(mp, start_boundary), > > + XFS_B_TO_FSB(mp, > > + end_boundary - start_boundary)); > > + xfs_iunlock(ip, XFS_ILOCK_EXCL); > > + } > > I see this if (end_boundary > start_boundary) check repeatedly - if > this case is true, we are zeroing within a single block. If that > block is within EOF, then all we need to do is call xfs_iozero() and > we are done. Perhaps we should special case this right at the start > of the function (similar to the special sub-single-block case in > xfs_free_file_space()). > The boundary variables are rounded "inward" to block alignment. The 'if (end_boundary > start_boundary)' check means that the range covers one or more full blocks. We could add an optimization for the single/double block case as the original implementation had, but I'd prefer to do that as a separate patch considering the amount of testing I've done with this implementation so far. > > + > > + /* > > + * Now handle start and end sub-block zeroing. We do this before > > + * allocation because we want the blocks on disk consistent with > > + * pagecache if we hit ENOSPC. > > + */ > > + if (offset < start_boundary) { > > + /* don't go past the end offset if it's within the block */ > > + endoffset = min_t(xfs_off_t, start_boundary, offset + len); > > + > > + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); > > if (error) > > goto out; > > - truncate_pagecache_range(VFS_I(ip), start_boundary, > > - end_boundary - 1); > > + } > > + if (end_boundary >= start_boundary && offset + len > end_boundary) { > > + error = xfs_zero_remaining_bytes(ip, end_boundary, > > + offset + len - 1); > > + if (error) > > + goto out; > > + } > > So this means we now write the partial start/end blocks twice - once > to clean the page cache, then once to zero the blocks on disk. > Again, this does not need to happen if the start/end is beyond EOF, > as a truncate up will completely zero the underlying blocks if that > are allocated and in the written state. > Not exactly... I'll echo my previous sentiment with regard to keeping this simple. I'm not against follow-on optimizations to take better consideration of eof, to add an xfs_iozero() short-circuit, etc., but this took enough finagling and debugging to try and get right that I'd really prefer to keep this first version as simple as possible. > Hence I'm not sure that we actually need to do it this way. If we > do this: > > if (isize needs update) > filemap_write_and_wait_range(eof_block) > truncate_pagecache_range(start, end) > if (partial_and_within_eof(start_page)) > filemap_write_and_wait_range(start_page) > if (partial_and_within_eof(end_page)) > filemap_write_and_wait_range(end_page) > xfs_bmap_punch_delalloc_range(start, end) > > We should get the partial blocks correctly zeroed in the page cache, > then the correctly zeroed pages written to disk, and then we punch > out the delalloc blocks in the middle, thereby zeroing the in-memory > extent tree to match the pagecache after the truncation we just did. > This will probably reproduce an fsx data corruption failure. truncate_pagecache_range() will not read the page on a miss nor mark it dirty if it's currently clean AFAICT. If the pages happen to be cached and clean, we'd read what we expect until they are evicted and have to go back to disk. If they aren't cached, we'd still skip the on-disk update and probably detect it sooner. If they are cached and dirty, then perhaps that will work. So this is the reason for the current order: partial writeback, fix up pagecache, kill delalloc extents and update partial blocks on disk. I'm trying to document as much as possible in comments. Perhaps I should update the associated comment to make that bit more clear? FWIW, tracking down these kind of fsx issues is also why I'm particularly conservative about this patch at this point. I've played with various combinations of cache management and sub-block zeroing and had to track down numerous problems to try and get that part working. I've not been able to reproduce any corruption issues and I haven't seen a delalloc assert in ~450 some odd iterations of generic/269 on a setup that typically reproduces within 10-30 iterations. I did finally hit a getbmap delalloc assert, but I'm pretty sure I've seen that one for normal post-eof preallocation, e.g., not indicative of stray delalloc within eof. > > > > - /* convert the blocks */ > > + /* > > + * Finally, preallocate the unaligned range and convert the block > > + * aligned range to unwritten. We attempt extent conversion even if > > + * prealloc fails to convert as many existing extents as possible. > > + */ > > + error = xfs_alloc_file_space(ip, round_down(offset, blksize), > > + round_up(offset + len, blksize) - 1, > > + XFS_BMAPI_PREALLOC); > > + if (end_boundary > start_boundary) > > error = xfs_alloc_file_space(ip, start_boundary, > > end_boundary - start_boundary - 1, > > XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); > > That doesn't make a lot of sense - apart from the different > start/end offsets - if the initial xfs_alloc_file_space() call fails > with ENOSPC, the second call will too because it will try to pick up > unwritten extent allocation where the first call failed with ENOSPC. > i.e. it will fail with ENOSPC, too, at the same place. One call is > all that is needed, and if we special case the (end_boundary > > start_boundary) condition early on then there's only one range > needed here. > The different offsets are intentional because the first call does the allocation and the second does unwritten conversion. We want to make sure the partial/edge blocks are allocated but they cannot be converted to unwritten, so both calls are necessary. If you take a look back at v1, this basically reduces three alloc calls down to two in a manner that still does allocation linearly. Note that I did reproduce failures last night in generic/009 and xfs/242 that point out the length parameter in the first call is wrong. It passes the end offset rather than length. I expect for the second call to hit ENOSPC if the first one has. The reasoning here is that even though the allocation fails, we could still run though and convert some of the range up until we hit the point of allocation failure. Put another way, what I'd really like here is an xfs_bmap_convert_range() function that iterates similar to xfs_bmap_punch_delalloc_range() but converts all existing normal extents to unwritten without doing any block allocation. This means we could convert the range to zero value and put off preallocation (and the possibility of ENOSPC) to the absolute final step. That in turn means that even on ENOSPC, we'll have always zero-valued the range. That was also something I was considering looking into once this patch is merged. If the current logic is too ugly or I'm misjudging behavior, I could just wait until said helper exists and return immediately on allocation failure for now. Thoughts? Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Wed Oct 8 13:51: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 73F9A7F3F for ; Wed, 8 Oct 2014 13:51:29 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 60739304039 for ; Wed, 8 Oct 2014 11:51:29 -0700 (PDT) X-ASG-Debug-ID: 1412794287-04cb6c7705438d0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id eQuyeMgIt12wf7vy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 08 Oct 2014 11:51: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 s98IpQRO019128 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 8 Oct 2014 14:51:27 -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 s98IpPrp002958 for ; Wed, 8 Oct 2014 14:51:25 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 5C410120064; Wed, 8 Oct 2014 14:51:24 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3] xfs: rework zero range to prevent invalid i_size updates Date: Wed, 8 Oct 2014 14:51:24 -0400 X-ASG-Orig-Subj: [PATCH v3] xfs: rework zero range to prevent invalid i_size updates Message-Id: <1412794284-52268-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: 1412794288 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 The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Align to blocksize rather than page size and use uncached buffers to zero partial blocks. Preallocate the outward block-aligned range to provide fallocate allocation semantics and convert the inward range to unwritten extents to zero the range. Signed-off-by: Brian Foster --- v3: - Pass length to xfs_alloc_file_space() rather than end offset. - Split up start/end page writeback branches. - Fix up a bunch of comments. v2: http://oss.sgi.com/archives/xfs/2014-10/msg00138.html - Refactor the logic to punch out pagecache/delalloc first and do allocation last to prevent stray delalloc on ENOSPC. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00052.html fs/xfs/xfs_bmap_util.c | 133 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 92 insertions(+), 41 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 92e8f99..a69df91 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1338,7 +1338,18 @@ xfs_free_file_space( goto out; } - +/* + * Preallocate and zero a range of a file. This mechanism has the allocation + * semantics of fallocate and in addition converts data in the range to zeroes. + * This is done using unwritten extent conversion for complete blocks within the + * range. Partial start/end blocks cannot be converted to unwritten as they + * contain valid data. Therefore, partial blocks are preallocated and explicitly + * zeroed on-disk. + * + * NOTE: We explicitly avoid going through page cache (i.e., xfs_iozero()) for + * partial page zeroing because ioend completion can incorrectly update the + * inode size and cause data corruption. + */ int xfs_zero_file_space( struct xfs_inode *ip, @@ -1346,65 +1357,105 @@ xfs_zero_file_space( xfs_off_t len) { struct xfs_mount *mp = ip->i_mount; - uint granularity; + uint blksize; xfs_off_t start_boundary; xfs_off_t end_boundary; int error; + loff_t eof; + xfs_off_t endoffset; trace_xfs_zero_file_space(ip); - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); + blksize = 1 << mp->m_sb.sb_blocklog; /* - * Round the range of extents we are going to convert inwards. If the - * offset is aligned, then it doesn't get changed so we zero from the - * start of the block offset points to. + * Align the range inward to blocksize. This represents the range that + * can be converted to unwritten extents. */ - start_boundary = round_up(offset, granularity); - end_boundary = round_down(offset + len, granularity); + start_boundary = round_up(offset, blksize); + end_boundary = round_down(offset + len, blksize); ASSERT(start_boundary >= offset); ASSERT(end_boundary <= offset + len); - if (start_boundary < end_boundary - 1) { - /* - * Writeback the range to ensure any inode size updates due to - * appending writes make it to disk (otherwise we could just - * punch out the delalloc blocks). - */ - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, - start_boundary, end_boundary - 1); + /* + * We generally want to avoid writeback here but must take a few things + * into consideration. If file extending I/O is cached and the eof page + * falls within the aligned range, write it back so we don't lose i_size + * updates. Also writeback unaligned start/end pages to avoid races with + * uncached I/O. + */ + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); + if (i_size_read(VFS_I(ip)) > ip->i_d.di_size && + eof >= start_boundary && eof <= end_boundary) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, -1); + if (!PAGE_ALIGNED(offset)) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, + start_boundary); + if (!PAGE_ALIGNED(offset + len)) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, end_boundary, + offset + len); + + /* + * Punch out the pagecache and delalloc extents in the range. + * truncate_pagecache_range() handles partial page zeroing for us if the + * pages happen to be cached. Note that this will not cache fill or mark + * pages dirty so we must still make the blocks consistent on disk. + */ + truncate_pagecache_range(VFS_I(ip), offset, offset + len - 1); + if (end_boundary > start_boundary) { + xfs_ilock(ip, XFS_ILOCK_EXCL); + error = xfs_bmap_punch_delalloc_range(ip, + XFS_B_TO_FSBT(mp, start_boundary), + XFS_B_TO_FSB(mp, + end_boundary - start_boundary)); + xfs_iunlock(ip, XFS_ILOCK_EXCL); + } + + /* + * Now handle start and end sub-block zeroing. We do this before + * allocation because we want the blocks on disk consistent with + * pagecache if we hit ENOSPC. + */ + if (offset < start_boundary) { + /* don't go past the end offset if it's within the block */ + endoffset = min_t(xfs_off_t, start_boundary, offset + len); + + error = xfs_zero_remaining_bytes(ip, offset, endoffset - 1); if (error) goto out; - truncate_pagecache_range(VFS_I(ip), start_boundary, - end_boundary - 1); - - /* convert the blocks */ - error = xfs_alloc_file_space(ip, start_boundary, - end_boundary - start_boundary - 1, - XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); + } + if (end_boundary >= start_boundary && offset + len > end_boundary) { + error = xfs_zero_remaining_bytes(ip, end_boundary, + offset + len - 1); if (error) goto out; - - /* We've handled the interior of the range, now for the edges */ - if (start_boundary != offset) { - error = xfs_iozero(ip, offset, start_boundary - offset); - if (error) - goto out; - } - - if (end_boundary != offset + len) - error = xfs_iozero(ip, end_boundary, - offset + len - end_boundary); - - } else { - /* - * It's either a sub-granularity range or the range spanned lies - * partially across two adjacent blocks. - */ - error = xfs_iozero(ip, offset, len); } + /* + * First, preallocate the unaligned range to ensure the entire range is + * allocated. This does not convert extents because we cannot convert + * partial blocks. Second, convert the block-aligned range to unwritten + * extents. We do this as such because passing the entire range for + * allocation facilitates ideal contiguity from the allocator. + * + * Note that we attempt unwritten conversion even if we fail to + * preallocate space. This is an effort to convert as many extents as + * possible before we inevitably return ENOSPC. + * + * XXX: A helper that converts existing extents but does not preallocate + * would help clean all this up. We could convert extents first, + * preallocate second, and thus guarantee a zero-value range on ENOSPC. + */ + error = xfs_alloc_file_space(ip, round_down(offset, blksize), + round_up(offset + len, blksize) - + round_down(offset, blksize), + XFS_BMAPI_PREALLOC); + if (end_boundary > start_boundary) + error = xfs_alloc_file_space(ip, start_boundary, + end_boundary - start_boundary, + XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); + out: return error; -- 1.8.3.1 From david@fromorbit.com Wed Oct 8 16:24: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 AFC487F3F for ; Wed, 8 Oct 2014 16:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8F8EA304039 for ; Wed, 8 Oct 2014 14:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412803442-04bdf028794ce00001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id NBIYpiuRGiBtWH8p for ; Wed, 08 Oct 2014 14:24: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: AjIxAMaqNVR5LLGOPGdsb2JhbABfgw6DX7UoBpULhWoEAgKBCRcBBgEBAQE4OYQEAQEEOhwjEAgDGAklDwUlAwcaE4g9xj4YhgiJQhEBB0kHhEsFmHeETZoFKS+BBwgXgSQBAQE Received: from ppp121-44-177-142.lns20.syd7.internode.on.net (HELO dastard) ([121.44.177.142]) by ipmail06.adl2.internode.on.net with ESMTP; 09 Oct 2014 07:53:49 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xbyi3-0007iX-0K; Thu, 09 Oct 2014 08:23:47 +1100 Date: Thu, 9 Oct 2014 08:23:46 +1100 From: Dave Chinner To: victor stinner Cc: xfs@oss.sgi.com Subject: Re: Can you help me to investiage a soft lockup? Message-ID: <20141008212346.GS2301@dastard> X-ASG-Orig-Subj: Re: Can you help me to investiage a soft lockup? References: <1211918248.8179166.1412774638265.JavaMail.zimbra@enovance.com> <734140413.8186921.1412777666412.JavaMail.zimbra@enovance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <734140413.8186921.1412777666412.JavaMail.zimbra@enovance.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: 1412803442 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.10349 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 08, 2014 at 04:14:26PM +0200, victor stinner wrote: > Hello, > > I'm working on OpenStack, and we hit a bug on Swift (distributed > storage). The Linux kernel 3.2 logged many "soft lockup" messages > which looks to be related to XFS: see kernel messages at the end > of this email (it's only an extract of first messages, there are > more later). It's contending on the AIL lock, which is then causing contention on the next layer of locking above that (the iclog locks). There were lots of optimisations for AIL contention issues around the 3.2 timeframe as a result of the more widespread use of the recently introduced delayed logging functionality (which was made the default config in 3.2). I'm pretty sure these symptoms were a result of a bug that caused out-of-order items to be placed on the AIL, hence causing a walk of the AIL to find the insertion point for every item being added to the AIL rather than using the cursor to track the current insertion point and avoid repeated insertion point lookups. You best bet would be to upgrade to a more recent kernel rather than try to indentify and backport a bunch of fixes to an old kernel... Cheers, Dave. -- Dave Chinner david@fromorbit.com From service3@mx2.allarelbus.com Wed Oct 8 23:22: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=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 5F7587F3F for ; Wed, 8 Oct 2014 23:22:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id E2C3BAC003 for ; Wed, 8 Oct 2014 21:22:38 -0700 (PDT) X-ASG-Debug-ID: 1412828555-04cbb018ad59410001-NocioJ Received: from mail.mx2.allarelbus.com ([192.157.233.212]) by cuda.sgi.com with ESMTP id jjYk0px8mBCA1vRS for ; Wed, 08 Oct 2014 21:22:35 -0700 (PDT) X-Barracuda-Envelope-From: service3@mx2.allarelbus.com X-Barracuda-Apparent-Source-IP: 192.157.233.212 X-DKIM: Sendmail DKIM Filter v2.8.3 mail.mx2.allarelbus.com 64AFB6BE9423 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mx2.allarelbus.com; s=mx2.allarelbus; t=1412824975; bh=r27GOVn4fqhkgRGZCcTMhz62pL9M2Y5ta1eBA/wTHi8=; h=Date:From:To:Reply-To:Subject:Mime-Version:Content-Type: Content-Transfer-Encoding; b=anzM8P1yvgkon9wIycouxPaAqf86RpaqYuWGMYOYGffZPpFanQxMzGbejGCyjsWiX 16UwAPqoltbOPL2kCpn9s3sazytMDoFPVZewDCKkfKDrNURNpTE6cMJ7wrxcH7Y/e1 3HyrHnXK9Vvzg9onUTKhA66OeRl1iCH9/74y9tb8= Date: Thu, 9 Oct 2014 11:22:23 +0800 From: "Sunny" To: "scottzhou" Reply-To: Subject: =?GB2312?B?UmU6IGVucXVpcnk=?= X-Mailer: Foxmail 5.0 [cn] X-ASG-Orig-Subj: =?GB2312?B?UmU6IGVucXVpcnk=?= Mime-Version: 1.0 Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 Content-Disposition: inline X-Barracuda-Connect: UNKNOWN[192.157.233.212] X-Barracuda-Start-Time: 1412828555 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.24 X-Barracuda-Spam-Status: No, SCORE=0.24 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, MISSING_MID, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10362 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS Message-Id: <20141009042237.E92C21B8003@cuda.sgi.com> RGVhciAsDQoNCndlJ3JlIHByb2Zlc3Npb25hbCBpbiBtYW51ZmFjdHVyaW5nIGlubm92YXRpdmUg Y29uc3VtZXIgZWxlY3Ryb25pY3MgZGV2aWNlcyxoZXJlYnkgd291bGQgbGlrZSB0byByZWNvbW1l bmQgb3VyIGJlbG93IG5ldyBkZXNpZ25zIGZvciB5b3VyIG1hcmtldC4NCg0KMSwgRnJlZSBMaW5r IFVTQiBjYWJsZTogaG9sbG93IGRlc2lnbg0KMiwgRnJlZSBMaW5rIFVTQiBjYWJsZTogcm9ib3Qg c2hhcGUNCjMsIE11bHRpZnVuY3Rpb25hbCBVU0Igc3RvcmFnZQ0KNCwgUG93ZXIgYmFuayBpbiBw YWdlIHNoYXBlDQo1LCBQb3dlciBiYW5rIHdpdGggYSBzbWFsbCBjYWJsZQ0KQXJ0d29yazogICBa aW5jLWFsbG95IHNoZWxsIHdpdGggcG9saXNoaW5nIGZpbmlzaCwgd2l0aCBhIGdyZWF0IGhhbmQg ZmVlbA0KDQpQbGVhc2UgY2hlY2sgdGhlIGF0dGFjaG1lbnQgZm9yIGFsbCB0aGUgZGV0YWlscy4g DQpXZWxjb21lIHRvIGNvbnRhY3QgbWUgSWYgeW91IG5lZWQgb3VyIHByb2R1Y2VzLiANCiANCkJl c3QgUmVnYXJkcywNClZpdmlhbiANCg0KQWRkcmVzczpOby43NzcgWGl1SHUgV2VzdCBSb2FkLEVj b25vbWljIERldmVsb3BtZW50IFpvbmUsV3VqaWFuZyAsU3V6aG91LEppYW5nc3UsQ2hpbmEuDQpw b3N0YWxjb2Rlo7oyMTUyMDANClRlbKO6Kzg2LTUxMi02MzQ2NjIwMSAgICAgICAgICAgICAgICAN CkZheKO6Kzg2LTUxMi02MzQ2NTkxNyAgICAgICAgICAgICAgICANCk1Co7orODYtMTMwNTc0NjI1 NjUNCnNreXBlOiB2aXZpYW4ubGV1DQo= From stan@hardwarefreak.com Wed Oct 8 23:40: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 17D017F3F for ; Wed, 8 Oct 2014 23:40:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E7717304064 for ; Wed, 8 Oct 2014 21:40:27 -0700 (PDT) X-ASG-Debug-ID: 1412829626-04cbb018ab59c20001-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 YlMltaFSJtE9mUAH for ; Wed, 08 Oct 2014 21:40:26 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 38A776C0DC for ; Wed, 8 Oct 2014 23:40:26 -0500 (CDT) Message-ID: <543611CF.6030904@hardwarefreak.com> Date: Wed, 08 Oct 2014 23:40:47 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: gather write metrics on multiple files Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: gather write metrics on multiple files Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1412829626 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 Does anyone know of a utility that can track writes to files in an XFS directory tree, or filesystem wide for that matter, and gather filesystem blocks written per second data, or simply KiB/s, etc? I need to analyze an application's actual IO behavior to see if it matches what I'm being told the application is supposed to be doing. Thanks, Stan From joe.landman@gmail.com Wed Oct 8 23:50: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,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 9713F7F3F for ; Wed, 8 Oct 2014 23:50:01 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 76DCF8F8033 for ; Wed, 8 Oct 2014 21:49:58 -0700 (PDT) X-ASG-Debug-ID: 1412830196-04cbb018ad59fd0001-NocioJ Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by cuda.sgi.com with ESMTP id rI7ahvICOze5tAD1 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 08 Oct 2014 21:49:57 -0700 (PDT) X-Barracuda-Envelope-From: joe.landman@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] Received: by mail-oi0-f49.google.com with SMTP id a3so1076357oib.22 for ; Wed, 08 Oct 2014 21:49:56 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] 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:references :in-reply-to:content-type:content-transfer-encoding; bh=87PkDbtdLyOEipJNmxVYCOqzbRqA1MY7YkfY+7EYZB0=; b=AMpyX4f1GMYdkkx23Y1pCbci6gYkjtJxcvTMNqA7Q/UTYm6Xt5sHIlqdYwnEd4qnir eGziB7REUwIPdFKi8bvnR8Ry0lhTUdWefRSymOzJjpX95mBFdW5CiLTy8Outn1MvICKI uaufv8zp1M2JZut66vKY4Yugg6IsziFtApLwP67fgxZTZsf5zUMN8cEBQz2LtpB/0M3a UU0MMP+vj/ilGYb7jT9ssoTMNPVMEKSbfcWDvp8osjrxzMN4mKkQvqJE6ta8PNgSiPTu dDS0PkrXpEhdJlYLDCuwoA/3K9eAsdKO6luJF/uh9dN8fle1j+6MRqdTEp5rNZeagrS4 Qp1g== X-Received: by 10.60.220.169 with SMTP id px9mr18310918oec.67.1412830196640; Wed, 08 Oct 2014 21:49:56 -0700 (PDT) Received: from [192.168.5.50] ([70.88.96.213]) by mx.google.com with ESMTPSA id my9sm2217909obb.23.2014.10.08.21.49.55 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 08 Oct 2014 21:49:56 -0700 (PDT) Message-ID: <543613E7.70508@gmail.com> Date: Thu, 09 Oct 2014 00:49:43 -0400 From: Joe Landman User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <543611CF.6030904@hardwarefreak.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-oi0-f49.google.com[209.85.218.49] X-Barracuda-Start-Time: 1412830197 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.10362 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 10/09/2014 12:40 AM, Stan Hoeppner wrote: > Does anyone know of a utility that can track writes to files in an > XFS directory tree, or filesystem wide for that matter, and gather > filesystem blocks written per second data, or simply KiB/s, etc? I > need to analyze an application's actual IO behavior to see if it > matches what I'm being told the application is supposed to be doing. > We've written a few for this purpose (local IO probing). Start with collectl (looks at /proc/diskstats), and others. Our tools go to /proc/diskstats, and use this to compute BW and IOPs per device. If you need to log it for a long time, set up a time series database (we use influxdb and the graphite plugin). Then grab your favorite metrics tool that talks to graphite/influxdb (I like https://github.com/joelandman/sios-metrics for obvious reasons), and start collecting data. > Thanks, Stan > > _______________________________________________ xfs mailing list > xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs > From stan@hardwarefreak.com Thu Oct 9 00:24: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 59BDF7F3F for ; Thu, 9 Oct 2014 00:24:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 39176304048 for ; Wed, 8 Oct 2014 22:24:00 -0700 (PDT) X-ASG-Debug-ID: 1412832239-04cb6c77045e950001-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 OSAFvP9AQMdxxCGg for ; Wed, 08 Oct 2014 22:23:59 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id D8FAE6C121 for ; Thu, 9 Oct 2014 00:23:58 -0500 (CDT) Message-ID: <54361C04.5090404@hardwarefreak.com> Date: Thu, 09 Oct 2014 00:24:20 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <543613E7.70508@gmail.com> 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: 1412832239 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 10/08/2014 11:49 PM, Joe Landman wrote: > On 10/09/2014 12:40 AM, Stan Hoeppner wrote: >> Does anyone know of a utility that can track writes to files in an >> XFS directory tree, or filesystem wide for that matter, and gather >> filesystem blocks written per second data, or simply KiB/s, etc? I >> need to analyze an application's actual IO behavior to see if it >> matches what I'm being told the application is supposed to be doing. >> > > We've written a few for this purpose (local IO probing). > > Start with collectl (looks at /proc/diskstats), and others. Our tools go to /proc/diskstats, and use this to compute BW and IOPs per device. > > If you need to log it for a long time, set up a time series database (we use influxdb and the graphite plugin). Then grab your favorite metrics tool that talks to graphite/influxdb (I like https://github.com/joelandman/sios-metrics for obvious reasons), and start collecting data. I'm told we have 800 threads writing to nearly as many files concurrently on a single XFS on a 12+2 spindle RAID6 LUN. Achieved data rate is currently ~300 MiB/s. Some of these are files are supposedly being written at a rate of only 32KiB every 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine how many bytes we're writing to each of the low rate files, and how many files, to figure out RMW mitigation strategies. Out of the apparent 800 streams 700 are these low data rate suckers, one stream writing per file. Nary a stock RAID controller is going to be able to assemble full stripes out of these small slow writes. With a 768 KiB stripe that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? I've been playing with bcache for a few days but it actually drops throughput by about 30% no matter how I turn its knobs. Unless I can get Kent to respond to some of my questions bcache will be a dead end. I had high hopes for it, thinking it would turn these small random IOs into larger sequential writes. It may actually be doing so, but it's doing something else too, and badly. IO times go through the roof once bcache starts gobbling IOs, and throughput to the LUNs drops significantly even though bcache is writing 50-100 MIB/s to the SSD. Not sure what's causing that. >> Thanks, Stan >> >> _______________________________________________ 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 victor.stinner@enovance.com Thu Oct 9 02:12: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 566987F3F for ; Thu, 9 Oct 2014 02:12:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E5750AC006 for ; Thu, 9 Oct 2014 00:12:00 -0700 (PDT) X-ASG-Debug-ID: 1412838714-04bdf0287862d00001-NocioJ Received: from smtp2-g21.free.fr (smtp2-g21.free.fr [212.27.42.2]) by cuda.sgi.com with ESMTP id I94Q4Xyhv1TpOaKr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 00:11:55 -0700 (PDT) X-Barracuda-Envelope-From: victor.stinner@enovance.com X-Barracuda-Apparent-Source-IP: 212.27.42.2 Received: from smithers.localnet (unknown [IPv6:2a01:e34:ec8d:4c70:f66d:4ff:fe37:2fab]) by smtp2-g21.free.fr (Postfix) with ESMTPS id 9B0644B010F; Thu, 9 Oct 2014 09:10:50 +0200 (CEST) From: Victor Stinner To: xfs@oss.sgi.com Cc: Dave Chinner Subject: Re: Can you help me to investiage a soft lockup? Date: Thu, 09 Oct 2014 09:11:52 +0200 X-ASG-Orig-Subj: Re: Can you help me to investiage a soft lockup? Message-ID: <1673046.E2St3OFZUd@smithers> Organization: eNovance User-Agent: KMail/4.14.1 (Linux/3.14.8-200.fc20.x86_64; KDE/4.14.1; x86_64; ; ) In-Reply-To: <20141008212346.GS2301@dastard> References: <1211918248.8179166.1412774638265.JavaMail.zimbra@enovance.com> <734140413.8186921.1412777666412.JavaMail.zimbra@enovance.com> <20141008212346.GS2301@dastard> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Barracuda-Connect: smtp2-g21.free.fr[212.27.42.2] X-Barracuda-Start-Time: 1412838715 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.10365 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, On Thursday 09 October 2014 08:23:46 Dave Chinner wrote: > You best bet would be to upgrade to a more recent kernel rather than > try to indentify and backport a bunch of fixes to an old kernel... I don't know the Linux kernel enough to feel confident to backport changes. So upgrading is the safest option. Eric Sandeen gave me the same advice. We will try to upgrade to Linux 3.13. Thanks for your reply. Victor From eguan@redhat.com Thu Oct 9 03:39: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 8FDB67F3F for ; Thu, 9 Oct 2014 03:39:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7E7A9304048 for ; Thu, 9 Oct 2014 01:39:28 -0700 (PDT) X-ASG-Debug-ID: 1412843967-04cbb018ad60c90001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id nFOj78M6ve3FVE8K (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 01:39:27 -0700 (PDT) X-Barracuda-Envelope-From: eguan@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 s998dQiN022538 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 9 Oct 2014 04:39:26 -0400 Received: from localhost (dhcp12-153.nay.redhat.com [10.66.12.153] (may be forged)) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s998dOnj025905; Thu, 9 Oct 2014 04:39:25 -0400 From: Eryu Guan To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com, Eryu Guan Subject: [PATCH] xfs/262: update filter to deal with long device name correctly Date: Thu, 9 Oct 2014 16:38:51 +0800 X-ASG-Orig-Subj: [PATCH] xfs/262: update filter to deal with long device name correctly Message-Id: <1412843931-10447-1-git-send-email-eguan@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: 1412843967 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 If the device name is too long, the output of xfs_quota -c "df" will be broke into two lines as Filesystem 1K-blocks Used Available Use% Pathname /dev/mapper/rhel_hp--dl388eg8--01-testlv2 15718400 32932 15685468 0% /mnt/testarea/scratch /dev/mapper/rhel_hp--dl388eg8--01-testlv2 512000 0 512000 0% /mnt/testarea/scratch/test and _filter_quota_rpt() couldn't catch the correct available number and test will fail as [root@hp-dl388g8-01 xfstests]# diff -u tests/xfs/262.out /root/xfstests/results//xfs/262.out.bad --- tests/xfs/262.out 2014-10-08 20:16:19.000000000 +0800 +++ /root/xfstests/results//xfs/262.out.bad 2014-10-09 14:29:38.795813323 +0800 @@ -1,2 +1,4 @@ QA output created by 262 Silence is golden. +hard limit 0 bytes, expected 524288000 +hard limit 0 bytes, expected 524288000 Update the filter so it could catch the correct value. Signed-off-by: Eryu Guan --- tests/xfs/262 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/xfs/262 b/tests/xfs/262 index 6040f62..9d8b838 100755 --- a/tests/xfs/262 +++ b/tests/xfs/262 @@ -76,6 +76,8 @@ _require_scratch # both the "df" and the "report" output. For "report", the line we're # interested in contains our project name in the first field. For "df" # it contains our project directory in the last field. +# But if the device name is too long, the "df" output is broke into two +# lines, the fourth field is not correct, so take $(nf-2) of "df" _filter_quota_rpt() { awk ' BEGIN { @@ -96,9 +98,15 @@ _filter_quota_rpt() { return result; } { - if ($1 !~ proj_name && $nf !~ proj_dir) + if ($1 =~ proj_name) { + # this is the "report" output + bsize = byte_size($4); + } else if ($nf =~ proj_dir) { + # this is the "df" output + bsize = byte_size($(nf-2)); + } else { next; - bsize = byte_size($4); + } if (bsize != qlimit) printf("hard limit %d bytes, expected %d\n", bsize, qlimit); -- 1.8.3.1 From Sunghost@gmx.de Thu Oct 9 08:15: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=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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 637587F3F for ; Thu, 9 Oct 2014 08:15:14 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 41EBD304067 for ; Thu, 9 Oct 2014 06:15:14 -0700 (PDT) X-ASG-Debug-ID: 1412860507-04cb6c77066e7b0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by cuda.sgi.com with ESMTP id RIBIghv6iyG2bGB5 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 06:15:08 -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-bs31.server.lan (via HTTP); Thu, 9 Oct 2014 15:15:07 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: XFS Filesystem is broken and cant repair and mount! Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: XFS Filesystem is broken and cant repair and mount! Date: Thu, 9 Oct 2014 15:15:07 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:xsx6o2iQguarqKAz/dSOir17yYVeVKovA9+nY8Kx3js FBZPCIujqnilS5Sr41rGZyxIptUZN9qekPhv22+tmS0WZK64aG Eg2DuEXiCTFoxVkfClxlEjxOKvazI4b201RvNjStR8ZL0657q1 /Cm2yVCHF9UwA2ui5PAGF3/z6jBq7Ige1ZLcL0hLxPyQ580yC7 wsreKrpI74blv632LN5P4+Zr0Xfrr2i0VL6xrsFf76nSWwwYbd aEqjcFpwzluMVgzEtftsxh7V0u5JomGjdndzwQ3G0xlrgBGhg+ OmJ4ks= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.17.22] X-Barracuda-Start-Time: 1412860508 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.10372 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, while i copy some files to my software raid device the xfs filesystem reports an uncorrectable error unmount and stops. Reboot didnt work, same failure. Answers to the FAQS: 1.Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux 2.xfsprogs 3.1.7+b1 amd64 3. 1xCPU 4.cat /proc/meminfo MemTotal: 12057908 kB MemFree: 11797924 kB Buffers: 8988 kB Cached: 126440 kB SwapCached: 0 kB Active: 90800 kB Inactive: 67104 kB Active(anon): 25344 kB Inactive(anon): 352 kB Active(file): 65456 kB Inactive(file): 66752 kB Unevictable: 4400 kB Mlocked: 4400 kB SwapTotal: 3902456 kB SwapFree: 3902456 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 26776 kB Mapped: 11332 kB Shmem: 512 kB Slab: 23120 kB SReclaimable: 7128 kB SUnreclaim: 15992 kB KernelStack: 1240 kB PageTables: 2088 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 9931408 kB Committed_AS: 82268 kB VmallocTotal: 34359738367 kB VmallocUsed: 310772 kB VmallocChunk: 34359423548 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 56960 kB DirectMap2M: 2807808 kB DirectMap1G: 9437184 k 5. cat /proc/mounts rootfs / rootfs rw 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=1505634,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=1205792k,mode=755 0 0 /dev/disk/by-uuid/a32246ab-4987-499c-9564-16c7d90631a6 / ext4 rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=3192060k 0 0 rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0 6.cat /proc/partitions major minor #blocks name 8 0 2930266584 sda 8 1 96256 sda1 8 2 9765888 sda2 8 3 1952768 sda3 8 4 2918450176 sda4 8 16 2930266584 sdb 8 17 96256 sdb1 8 18 9765888 sdb2 8 19 1952768 sdb3 8 20 2918450176 sdb4 8 32 2930266584 sdc 8 33 96256 sdc1 8 34 9765888 sdc2 8 35 1952768 sdc3 8 36 2918450176 sdc4 8 48 2930266584 sdd 8 49 96256 sdd1 8 50 9765888 sdd2 8 51 1952768 sdd3 8 52 2918450176 sdd4 8 64 2930266584 sde 8 65 96256 sde1 8 66 9765888 sde2 8 67 1952768 sde3 8 68 2918450176 sde4 8 80 2930266584 sdf 8 81 96256 sdf1 8 82 9765888 sdf2 8 83 1952768 sdf3 8 84 2918450176 sdf4 8 96 2930266584 sdg 8 97 96256 sdg1 8 98 9765888 sdg2 8 99 1952768 sdg3 8 100 2918450176 sdg4 8 112 2930266584 sdh 8 113 96256 sdh1 8 114 9765888 sdh2 8 115 1952768 sdh3 8 116 2918450176 sdh4 9 0 9757568 md0 9 1 13658624 md1 9 2 20428230144 md2 7. software raid1 for root and system, software raid6 md1 for swap and raid6 md2 for filedata 8. no lvm 9. 3tb seagate st3000dm 10. write cache for all enabled 11. bbwc ?! 12. xfs_info - cant run while not mountable 13. dmesg: [ 7.541885] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled [ 7.542692] SGI XFS Quota Management subsystem [ 7.569679] XFS (md2): Mounting Filesystem [ 7.799071] XFS (md2): Starting recovery (logdev: internal) [ 8.992087] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff88031c344400, dino bp = 0xffff88032050d0c0, ino = 3469995060 [ 8.992354] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 [ 8.992360] [ 8.992681] Pid: 1677, comm: mount Not tainted 3.2.0-4-amd64 #1 Debian 3.2.60-1+deb7u3 [ 8.992687] Call Trace: [ 8.992742] [] ? xlog_recover_inode_pass2+0x202/0x6ac [xfs] [ 8.992773] [] ? xfs_buf_rele+0x68/0xc4 [xfs] [ 8.992817] [] ? xlog_recover_commit_trans+0x7d/0xa6 [xfs] [ 8.992861] [] ? xlog_recover_process_data+0x15f/0x1fa [xfs] [ 8.992904] [] ? xlog_do_recovery_pass+0x20d/0x508 [xfs] [ 8.992941] [] ? kmem_alloc+0x26/0x6f [xfs] [ 8.992977] [] ? xfs_parseargs+0xa0f/0xa0f [xfs] [ 8.993020] [] ? xlog_do_log_recovery+0x6a/0x8c [xfs] [ 8.993063] [] ? xlog_do_recover+0xe/0xc7 [xfs] [ 8.993106] [] ? xlog_recover+0x6e/0x78 [xfs] [ 8.993149] [] ? xfs_log_mount+0xc4/0x12c [xfs] [ 8.993193] [] ? xfs_mountfs+0x2d8/0x55e [xfs] [ 8.993227] [] ? xfs_fs_fill_super+0x177/0x255 [xfs] [ 8.993239] [] ? mount_bdev+0x14a/0x1ac [ 8.993248] [] ? __kmalloc_track_caller+0xfe/0x110 [ 8.993257] [] ? mount_fs+0x61/0x146 [ 8.993266] [] ? vfs_kern_mount+0x5f/0x99 [ 8.993273] [] ? do_kern_mount+0x49/0xd8 [ 8.993281] [] ? do_mount+0x660/0x6c6 [ 8.993290] [] ? memdup_user+0x36/0x5b [ 8.993297] [] ? sys_mount+0x88/0xc3 [ 8.993306] [] ? system_call_fastpath+0x16/0x1b [ 8.993330] XFS (md2): log mount/recovery failed: error 117 [ 8.993513] XFS (md2): log mount failed [ 10.765305] RPC: Registered named UNIX socket transport module. [ 10.765313] RPC: Registered udp transport module. [ 10.765318] RPC: Registered tcp transport module. [ 10.765322] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 10.812582] FS-Cache: Loaded [ 10.849349] FS-Cache: Netfs 'nfs' registered for caching [ 10.863441] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 11.180540] e1000e 0000:04:00.0: irq 44 for MSI/MSI-X [ 11.284215] e1000e 0000:04:00.0: irq 44 for MSI/MSI-X [ 11.290260] ADDRCONF(NETDEV_UP): eth1: link is not ready [ 14.096970] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [ 14.102885] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 24.544070] eth1: no IPv6 routers present [ 184.894882] ata1: exception Emask 0x10 SAct 0x0 SErr 0x90202 action 0xe frozen [ 184.895036] ata1: irq_stat 0x00400000, PHY RDY changed [ 184.895142] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } [ 184.895266] ata1: hard resetting link [ 191.412128] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 191.416411] ata1.00: configured for UDMA/133 [ 191.416425] ata1: EH complete [ 193.180043] ata1.00: exception Emask 0x10 SAct 0x40000 SErr 0x90202 action 0xe frozen [ 193.180218] ata1.00: irq_stat 0x00400000, PHY RDY changed [ 193.180329] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } [ 193.180455] ata1.00: failed command: READ FPDMA QUEUED [ 193.180567] ata1.00: cmd 60/60:90:00:00:b9/00:00:03:00:00/40 tag 18 ncq 49152 in [ 193.180570] res 40/00:90:00:00:b9/00:00:03:00:00/40 Emask 0x10 (ATA bus error) [ 193.180862] ata1.00: status: { DRDY } [ 193.180942] ata1: hard resetting link [ 199.716173] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 199.717582] ata1.00: configured for UDMA/133 [ 199.717610] ata1: EH complete [ 1641.107727] XFS (md2): Mounting Filesystem [ 1641.560291] XFS (md2): Starting recovery (logdev: internal) [ 1642.682850] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff8803206ce400, dino bp = 0xffff8803206d9580, ino = 3469995060 [ 1642.683117] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 [ 1642.683122] [ 1642.683444] Pid: 4780, comm: mount Not tainted 3.2.0-4-amd64 #1 Debian 3.2.60-1+deb7u3 [ 1642.683450] Call Trace: [ 1642.683508] [] ? xlog_recover_inode_pass2+0x202/0x6ac [xfs] [ 1642.683540] [] ? xfs_buf_rele+0x68/0xc4 [xfs] [ 1642.683584] [] ? xlog_recover_commit_trans+0x7d/0xa6 [xfs] [ 1642.683628] [] ? xlog_recover_process_data+0x15f/0x1fa [xfs] [ 1642.683671] [] ? xlog_do_recovery_pass+0x20d/0x508 [xfs] [ 1642.683709] [] ? kmem_alloc+0x26/0x6f [xfs] [ 1642.683745] [] ? kmem_alloc+0x26/0x6f [xfs] [ 1642.683781] [] ? xfs_parseargs+0xa0f/0xa0f [xfs] [ 1642.683824] [] ? xlog_do_log_recovery+0x6a/0x8c [xfs] [ 1642.683868] [] ? xlog_do_recover+0xe/0xc7 [xfs] [ 1642.683912] [] ? xlog_recover+0x6e/0x78 [xfs] [ 1642.683956] [] ? xfs_log_mount+0xc4/0x12c [xfs] [ 1642.683999] [] ? xfs_mountfs+0x2d8/0x55e [xfs] [ 1642.684073] [] ? xfs_fs_fill_super+0x177/0x255 [xfs] [ 1642.684085] [] ? mount_bdev+0x14a/0x1ac [ 1642.684094] [] ? __kmalloc_track_caller+0xfe/0x110 [ 1642.684107] [] ? mount_fs+0x61/0x146 [ 1642.684120] [] ? vfs_kern_mount+0x5f/0x99 [ 1642.684134] [] ? do_kern_mount+0x49/0xd8 [ 1642.684147] [] ? do_mount+0x660/0x6c6 [ 1642.684161] [] ? memdup_user+0x36/0x5b [ 1642.684174] [] ? sys_mount+0x88/0xc3 [ 1642.684189] [] ? system_call_fastpath+0x16/0x1b [ 1642.684216] XFS (md2): log mount/recovery failed: error 117 [ 1642.684395] XFS (md2): log mount failed Hope i have all and it helps to solve my problem From sandeen@sandeen.net Thu Oct 9 10:09: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 B87117F3F for ; Thu, 9 Oct 2014 10:09:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A6C398F8040 for ; Thu, 9 Oct 2014 08:09:36 -0700 (PDT) X-ASG-Debug-ID: 1412867372-04cb6c77047ae50001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 5cm5MUDisA18OFGg for ; Thu, 09 Oct 2014 08:09: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 92CED6B724A7; Thu, 9 Oct 2014 10:09:30 -0500 (CDT) Message-ID: <5436A52A.6020504@sandeen.net> Date: Thu, 09 Oct 2014 10:09:30 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! References: X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1412867372 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.10375 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- So, what happened on the system prior to this problem? I'd look at your system logs for storage errors; these don't look good: > [ 193.180043] ata1.00: exception Emask 0x10 SAct 0x40000 SErr 0x90202 action 0xe frozen > [ 193.180218] ata1.00: irq_stat 0x00400000, PHY RDY changed > [ 193.180329] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } > [ 193.180455] ata1.00: failed command: READ FPDMA QUEUED > [ 193.180567] ata1.00: cmd 60/60:90:00:00:b9/00:00:03:00:00/40 tag 18 ncq 49152 in > [ 193.180570] res 40/00:90:00:00:b9/00:00:03:00:00/40 Emask 0x10 (ATA bus error) If the storage goes bad, or flakes out XFS can't guarantee consistency. (I'm not sure if the above device is part of your xfs storage, but if so ...) -Eric On 10/9/14 8:15 AM, Dragon wrote: > Hello, > while i copy some files to my software raid device the xfs filesystem > reports an uncorrectable error unmount and stops. Reboot didnt work, > same failure. Answers to the FAQS: > > 1.Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux > 2.xfsprogs 3.1.7+b1 amd64 > 3. 1xCPU > 4.cat /proc/meminfo > MemTotal: 12057908 kB > MemFree: 11797924 kB > Buffers: 8988 kB > Cached: 126440 kB > SwapCached: 0 kB > Active: 90800 kB > Inactive: 67104 kB > Active(anon): 25344 kB > Inactive(anon): 352 kB > Active(file): 65456 kB > Inactive(file): 66752 kB > Unevictable: 4400 kB > Mlocked: 4400 kB > SwapTotal: 3902456 kB > SwapFree: 3902456 kB > Dirty: 0 kB > Writeback: 0 kB > AnonPages: 26776 kB > Mapped: 11332 kB > Shmem: 512 kB > Slab: 23120 kB > SReclaimable: 7128 kB > SUnreclaim: 15992 kB > KernelStack: 1240 kB > PageTables: 2088 kB > NFS_Unstable: 0 kB > Bounce: 0 kB > WritebackTmp: 0 kB > CommitLimit: 9931408 kB > Committed_AS: 82268 kB > VmallocTotal: 34359738367 kB > VmallocUsed: 310772 kB > VmallocChunk: 34359423548 kB > HardwareCorrupted: 0 kB > AnonHugePages: 0 kB > HugePages_Total: 0 > HugePages_Free: 0 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 2048 kB > DirectMap4k: 56960 kB > DirectMap2M: 2807808 kB > DirectMap1G: 9437184 k > > 5. cat /proc/mounts > rootfs / rootfs rw 0 0 > sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 > proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 > udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=1505634,mode=755 0 0 > devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 > tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=1205792k,mode=755 0 0 > /dev/disk/by-uuid/a32246ab-4987-499c-9564-16c7d90631a6 / ext4 rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0 > tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 > tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=3192060k 0 0 > rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0 > > 6.cat /proc/partitions > major minor #blocks name > > 8 0 2930266584 sda > 8 1 96256 sda1 > 8 2 9765888 sda2 > 8 3 1952768 sda3 > 8 4 2918450176 sda4 > 8 16 2930266584 sdb > 8 17 96256 sdb1 > 8 18 9765888 sdb2 > 8 19 1952768 sdb3 > 8 20 2918450176 sdb4 > 8 32 2930266584 sdc > 8 33 96256 sdc1 > 8 34 9765888 sdc2 > 8 35 1952768 sdc3 > 8 36 2918450176 sdc4 > 8 48 2930266584 sdd > 8 49 96256 sdd1 > 8 50 9765888 sdd2 > 8 51 1952768 sdd3 > 8 52 2918450176 sdd4 > 8 64 2930266584 sde > 8 65 96256 sde1 > 8 66 9765888 sde2 > 8 67 1952768 sde3 > 8 68 2918450176 sde4 > 8 80 2930266584 sdf > 8 81 96256 sdf1 > 8 82 9765888 sdf2 > 8 83 1952768 sdf3 > 8 84 2918450176 sdf4 > 8 96 2930266584 sdg > 8 97 96256 sdg1 > 8 98 9765888 sdg2 > 8 99 1952768 sdg3 > 8 100 2918450176 sdg4 > 8 112 2930266584 sdh > 8 113 96256 sdh1 > 8 114 9765888 sdh2 > 8 115 1952768 sdh3 > 8 116 2918450176 sdh4 > 9 0 9757568 md0 > 9 1 13658624 md1 > 9 2 20428230144 md2 > > 7. software raid1 for root and system, software raid6 md1 for swap and raid6 md2 for filedata > 8. no lvm > 9. 3tb seagate st3000dm > 10. write cache for all enabled > 11. bbwc ?! > 12. xfs_info - cant run while not mountable > 13. dmesg: > [ 7.541885] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled > [ 7.542692] SGI XFS Quota Management subsystem > [ 7.569679] XFS (md2): Mounting Filesystem > [ 7.799071] XFS (md2): Starting recovery (logdev: internal) > [ 8.992087] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff88031c344400, dino bp = 0xffff88032050d0c0, ino = 3469995060 > [ 8.992354] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 > [ 8.992360] > [ 8.992681] Pid: 1677, comm: mount Not tainted 3.2.0-4-amd64 #1 Debian 3.2.60-1+deb7u3 > [ 8.992687] Call Trace: > [ 8.992742] [] ? xlog_recover_inode_pass2+0x202/0x6ac [xfs] > [ 8.992773] [] ? xfs_buf_rele+0x68/0xc4 [xfs] > [ 8.992817] [] ? xlog_recover_commit_trans+0x7d/0xa6 [xfs] > [ 8.992861] [] ? xlog_recover_process_data+0x15f/0x1fa [xfs] > [ 8.992904] [] ? xlog_do_recovery_pass+0x20d/0x508 [xfs] > [ 8.992941] [] ? kmem_alloc+0x26/0x6f [xfs] > [ 8.992977] [] ? xfs_parseargs+0xa0f/0xa0f [xfs] > [ 8.993020] [] ? xlog_do_log_recovery+0x6a/0x8c [xfs] > [ 8.993063] [] ? xlog_do_recover+0xe/0xc7 [xfs] > [ 8.993106] [] ? xlog_recover+0x6e/0x78 [xfs] > [ 8.993149] [] ? xfs_log_mount+0xc4/0x12c [xfs] > [ 8.993193] [] ? xfs_mountfs+0x2d8/0x55e [xfs] > [ 8.993227] [] ? xfs_fs_fill_super+0x177/0x255 [xfs] > [ 8.993239] [] ? mount_bdev+0x14a/0x1ac > [ 8.993248] [] ? __kmalloc_track_caller+0xfe/0x110 > [ 8.993257] [] ? mount_fs+0x61/0x146 > [ 8.993266] [] ? vfs_kern_mount+0x5f/0x99 > [ 8.993273] [] ? do_kern_mount+0x49/0xd8 > [ 8.993281] [] ? do_mount+0x660/0x6c6 > [ 8.993290] [] ? memdup_user+0x36/0x5b > [ 8.993297] [] ? sys_mount+0x88/0xc3 > [ 8.993306] [] ? system_call_fastpath+0x16/0x1b > [ 8.993330] XFS (md2): log mount/recovery failed: error 117 > [ 8.993513] XFS (md2): log mount failed > [ 10.765305] RPC: Registered named UNIX socket transport module. > [ 10.765313] RPC: Registered udp transport module. > [ 10.765318] RPC: Registered tcp transport module. > [ 10.765322] RPC: Registered tcp NFSv4.1 backchannel transport module. > [ 10.812582] FS-Cache: Loaded > [ 10.849349] FS-Cache: Netfs 'nfs' registered for caching > [ 10.863441] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). > [ 11.180540] e1000e 0000:04:00.0: irq 44 for MSI/MSI-X > [ 11.284215] e1000e 0000:04:00.0: irq 44 for MSI/MSI-X > [ 11.290260] ADDRCONF(NETDEV_UP): eth1: link is not ready > [ 14.096970] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None > [ 14.102885] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready > [ 24.544070] eth1: no IPv6 routers present > [ 184.894882] ata1: exception Emask 0x10 SAct 0x0 SErr 0x90202 action 0xe frozen > [ 184.895036] ata1: irq_stat 0x00400000, PHY RDY changed > [ 184.895142] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } > [ 184.895266] ata1: hard resetting link > [ 191.412128] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) > [ 191.416411] ata1.00: configured for UDMA/133 > [ 191.416425] ata1: EH complete > [ 193.180043] ata1.00: exception Emask 0x10 SAct 0x40000 SErr 0x90202 action 0xe frozen > [ 193.180218] ata1.00: irq_stat 0x00400000, PHY RDY changed > [ 193.180329] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } > [ 193.180455] ata1.00: failed command: READ FPDMA QUEUED > [ 193.180567] ata1.00: cmd 60/60:90:00:00:b9/00:00:03:00:00/40 tag 18 ncq 49152 in > [ 193.180570] res 40/00:90:00:00:b9/00:00:03:00:00/40 Emask 0x10 (ATA bus error) > [ 193.180862] ata1.00: status: { DRDY } > [ 193.180942] ata1: hard resetting link > [ 199.716173] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) > [ 199.717582] ata1.00: configured for UDMA/133 > [ 199.717610] ata1: EH complete > [ 1641.107727] XFS (md2): Mounting Filesystem > [ 1641.560291] XFS (md2): Starting recovery (logdev: internal) > [ 1642.682850] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff8803206ce400, dino bp = 0xffff8803206d9580, ino = 3469995060 > [ 1642.683117] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 > [ 1642.683122] > [ 1642.683444] Pid: 4780, comm: mount Not tainted 3.2.0-4-amd64 #1 Debian 3.2.60-1+deb7u3 > [ 1642.683450] Call Trace: > [ 1642.683508] [] ? xlog_recover_inode_pass2+0x202/0x6ac [xfs] > [ 1642.683540] [] ? xfs_buf_rele+0x68/0xc4 [xfs] > [ 1642.683584] [] ? xlog_recover_commit_trans+0x7d/0xa6 [xfs] > [ 1642.683628] [] ? xlog_recover_process_data+0x15f/0x1fa [xfs] > [ 1642.683671] [] ? xlog_do_recovery_pass+0x20d/0x508 [xfs] > [ 1642.683709] [] ? kmem_alloc+0x26/0x6f [xfs] > [ 1642.683745] [] ? kmem_alloc+0x26/0x6f [xfs] > [ 1642.683781] [] ? xfs_parseargs+0xa0f/0xa0f [xfs] > [ 1642.683824] [] ? xlog_do_log_recovery+0x6a/0x8c [xfs] > [ 1642.683868] [] ? xlog_do_recover+0xe/0xc7 [xfs] > [ 1642.683912] [] ? xlog_recover+0x6e/0x78 [xfs] > [ 1642.683956] [] ? xfs_log_mount+0xc4/0x12c [xfs] > [ 1642.683999] [] ? xfs_mountfs+0x2d8/0x55e [xfs] > [ 1642.684073] [] ? xfs_fs_fill_super+0x177/0x255 [xfs] > [ 1642.684085] [] ? mount_bdev+0x14a/0x1ac > [ 1642.684094] [] ? __kmalloc_track_caller+0xfe/0x110 > [ 1642.684107] [] ? mount_fs+0x61/0x146 > [ 1642.684120] [] ? vfs_kern_mount+0x5f/0x99 > [ 1642.684134] [] ? do_kern_mount+0x49/0xd8 > [ 1642.684147] [] ? do_mount+0x660/0x6c6 > [ 1642.684161] [] ? memdup_user+0x36/0x5b > [ 1642.684174] [] ? sys_mount+0x88/0xc3 > [ 1642.684189] [] ? system_call_fastpath+0x16/0x1b > [ 1642.684216] XFS (md2): log mount/recovery failed: error 117 > [ 1642.684395] XFS (md2): log mount failed > > Hope i have all and it helps to solve my problem > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From bpm@sgi.com Thu Oct 9 10:19: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=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 C342C7F3F for ; Thu, 9 Oct 2014 10:19:56 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay1.corp.sgi.com (Postfix) with ESMTP id 987E58F8033; Thu, 9 Oct 2014 08:19:56 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 5C5494266DC; Thu, 9 Oct 2014 10:19:56 -0500 (CDT) Date: Thu, 9 Oct 2014 10:19:56 -0500 From: Ben Myers To: Christoph Hellwig Cc: linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com, olaf@sgi.com Subject: Re: [PATCH 13/16] xfs: implement demand load of utf8norm.ko Message-ID: <20141009151956.GA1865@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003220357.GM1865@sgi.com> <20141004071651.GB5168@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141004071651.GB5168@infradead.org> User-Agent: Mutt/1.5.20 (2009-06-14) On Sat, Oct 04, 2014 at 12:16:51AM -0700, Christoph Hellwig wrote: > > +int > > +xfs_init_utf8_module(struct xfs_mount *mp) > > +{ > > + request_module("utf8norm"); > > + > > + spin_lock(&utf8norm_lock); > > + if (utf8norm_initialized) { > > + spin_unlock(&utf8norm_lock); > > + return 0; > > + } > > + > > + utf8version_is_supported_func = symbol_get(utf8version_is_supported); > > + if (!utf8version_is_supported_func) > > + goto error; > > + > > + utf8nfkdi_func = symbol_get(utf8nfkdi); > > + if (!utf8nfkdi_func) > > + goto error; > > Please export a structure with a function pointes so that we just need > a single symbol_get call. I'd have to look up how symbol_get works, > but unless there's something that speaks against this it might be > simpler to than just do a symbol_get per mounst structure that uses > utf8 and can point to that structure so that we don't have to add > additional reference counting infrastructure around it. Sure, sounds good. I believe I've seen the approach you are suggesting used elsewhere and it works fine. -Ben From bpm@sgi.com Thu Oct 9 10:26: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=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 6A2017F47 for ; Thu, 9 Oct 2014 10:26:44 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3EE8530404E; Thu, 9 Oct 2014 08:26:40 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id BBB244266DC; Thu, 9 Oct 2014 10:26:40 -0500 (CDT) Date: Thu, 9 Oct 2014 10:26:40 -0500 From: Ben Myers To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 09/16] xfs: add a superblock feature bit to indicate UTF-8 support. Message-ID: <20141009152640.GB1865@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003215945.GH1865@sgi.com> <20141006212558.GF2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006212558.GF2301@dastard> User-Agent: Mutt/1.5.20 (2009-06-14) On Tue, Oct 07, 2014 at 08:25:58AM +1100, Dave Chinner wrote: > On Fri, Oct 03, 2014 at 04:59:46PM -0500, Ben Myers wrote: > > From: Olaf Weber > > > > When UTF-8 support is enabled, the xfs_dir_ci_inode_operations must be > > installed. Add xfs_sb_version_hasci(), which tests both the borgbit and > > the utf8bit, and returns true if at least one of them is set. Replace > > calls to xfs_sb_version_hasasciici() as needed. > > > > Signed-off-by: Olaf Weber > > --- > > fs/xfs/libxfs/xfs_sb.h | 24 +++++++++++++++++++++++- > > fs/xfs/xfs_fs.h | 1 + > > fs/xfs/xfs_fsops.c | 4 +++- > > fs/xfs/xfs_iops.c | 4 ++-- > > 4 files changed, 29 insertions(+), 4 deletions(-) > > > > diff --git a/fs/xfs/libxfs/xfs_sb.h b/fs/xfs/libxfs/xfs_sb.h > > index 2e73970..525eacb 100644 > > --- a/fs/xfs/libxfs/xfs_sb.h > > +++ b/fs/xfs/libxfs/xfs_sb.h > > @@ -70,6 +70,7 @@ struct xfs_trans; > > #define XFS_SB_VERSION2_RESERVED4BIT 0x00000004 > > #define XFS_SB_VERSION2_ATTR2BIT 0x00000008 /* Inline attr rework */ > > #define XFS_SB_VERSION2_PARENTBIT 0x00000010 /* parent pointers */ > > +#define XFS_SB_VERSION2_UTF8BIT 0x00000020 /* utf8 names */ > > #define XFS_SB_VERSION2_PROJID32BIT 0x00000080 /* 32 bit project id */ > > Can you explain why this bit is safe to use? I believe Olaf chose this value to match what was used in Barry's implementation. > I don't recall why > XFS_SB_VERSION2_PROJID32BIT skipped several bits because there > aren't any comments explaining why that value was chosen. Adding a > comment about the 0x00000040 bit at the same time would be useful. I'm not sure why we skipped. I'll see what I can find in mail archives. -Ben From bpm@sgi.com Thu Oct 9 10:42: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 679BD7F3F for ; Thu, 9 Oct 2014 10:42:44 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay3.corp.sgi.com (Postfix) with ESMTP id D9AE2AC003; Thu, 9 Oct 2014 08:42:40 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 6111A4266DC; Thu, 9 Oct 2014 10:42:40 -0500 (CDT) Date: Thu, 9 Oct 2014 10:42:40 -0500 From: Ben Myers To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. Message-ID: <20141009154240.GC1865@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003215542.GD1865@sgi.com> <20141006221928.GJ2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006221928.GJ2301@dastard> User-Agent: Mutt/1.5.20 (2009-06-14) On Tue, Oct 07, 2014 at 09:19:28AM +1100, Dave Chinner wrote: > On Fri, Oct 03, 2014 at 04:55:42PM -0500, Ben Myers wrote: > > From: Olaf Weber > > > > Change the XFS case-insensitive lookup code to return the first match > > found, even if it is not an exact match. Whether a filesystem uses > > case-insensitive lookups is determined by a superblock bit set during > > filesystem creation. This means that normal use cannot create two files > > that both match the same filename. > > > > Signed-off-by: Olaf Weber > > This is really dependent on whether we want to support mixed > CI/non-CI filesystems, yes? i.e. if we want to support mixed case > setups, then we need to keep the code as it stands? It depends upon what semantics you decide are correct in the mixed case. This is just one solution. > What is the > downside of keeping the code unchaged and our options open? The code that is being removed here was for the case when you could have multiple filenames that match for a lookup, which was only possible when the ascii-ci bit was implemented as a mount option. The mount option was never merged, and the ascii-ci bit is implemented at mkfs and is not changeable over the lifetime of the filesystem. So today this code is not doing us much good. Maybe there are performance implications where you have a hash collision, but mostly I think it makes sense to remove this code from a maintainability standpoint. -Ben From bfoster@redhat.com Thu Oct 9 14:00: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 A3DDF7F3F for ; Thu, 9 Oct 2014 14:00:48 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 74DEB304075 for ; Thu, 9 Oct 2014 12:00:45 -0700 (PDT) X-ASG-Debug-ID: 1412881243-04bdf0287710e470001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id l3PDVkF8Fl1HGSbz (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 12:00:44 -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 s99J0hrV024649 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 9 Oct 2014 15:00:43 -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 s99J0hJu008029 for ; Thu, 9 Oct 2014 15:00:43 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id ABDBE120064; Thu, 9 Oct 2014 15:00:41 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH] xfs: create zero range helper to convert existing extents to unwritten Date: Thu, 9 Oct 2014 15:00:41 -0400 X-ASG-Orig-Subj: [PATCH] xfs: create zero range helper to convert existing extents to unwritten Message-Id: <1412881241-34838-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: 1412881244 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 The zero range mechanism makes multiple xfs_alloc_file_space() calls to try convert as much of a range as possible to unwritten in the event of allocation failure. The problem is that the subsequent conversion call will progress no further than the first preallocate call if the latter happened to fail, because we have no ability to do extent conversion without preallocation. Create a helper to iterate a range of a bmap and convert all existing, normal extents to unwritten. Call the helper from xfs_zero_file_space() to accomplish the goal specified above. This allows zero range to put off preallocation to the final step and thus ensures the range is zero valued before any significant preallocation is attemped. Signed-off-by: Brian Foster --- Here's a stab at the kind of helper I was referring to in the review discussion of the zero range rework. This applies on top of v3: http://oss.sgi.com/archives/xfs/2014-10/msg00149.html Lightly tested, but I'm throwing some workloads at it now and so far, so good. Thoughts appreciated. Brian fs/xfs/xfs_bmap_util.c | 145 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 129 insertions(+), 16 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index a69df91..937528c 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -793,6 +793,119 @@ next_block: } /* + * Convert all normal extents in a range to unwritten. This function does not + * preallocate. Instead, seek out existing extents and convert to unwritten. + * This is a helper to zero-value a range of a file. All extents other than + * normal, non-delalloc extents are skipped and must be handled separately. + */ +static int +xfs_bmap_convert_unwritten_range( + struct xfs_inode *ip, + xfs_fileoff_t start_fsb, + xfs_fileoff_t length) +{ + xfs_fileoff_t cur_fsb; + xfs_fileoff_t end_fsb; + int error = 0; + struct xfs_mount *mp = ip->i_mount; + struct xfs_trans *tp; + int committed; + + cur_fsb = start_fsb; + end_fsb = start_fsb + length; /* exclusive end */ + + while (cur_fsb < end_fsb) { + xfs_bmbt_irec_t imap; + int nimaps = 1; + xfs_fsblock_t firstblock; + xfs_bmap_free_t flist; + xfs_fileoff_t count; + + tp = xfs_trans_alloc(mp, XFS_TRANS_DIOSTRAT); + /* + * We only convert existing extents. Reserve only what blocks + * might be necessary for an extent split. + */ + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_write, + XFS_DIOSTRAT_SPACE_RES(mp, 0), 0); + if (error) { + xfs_trans_cancel(tp, 0); + break; + } + + xfs_ilock(ip, XFS_ILOCK_EXCL); + + /* loop until we find a normal extent */ + do { + error = xfs_bmapi_read(ip, cur_fsb, end_fsb - cur_fsb, + &imap, &nimaps, XFS_BMAPI_ENTIRE); + if (error) { + /* something screwed, just bail */ + if (!XFS_FORCED_SHUTDOWN(ip->i_mount)) { + xfs_alert(ip->i_mount, + "Failed mapping lookup ino %lld fsb %lld.", + ip->i_ino, cur_fsb); + } + break; + } + + if (!nimaps) { + cur_fsb++; + continue; + } + + /* look for normal extents */ + if (imap.br_state == XFS_EXT_NORM && + imap.br_startblock != DELAYSTARTBLOCK && + imap.br_startblock != HOLESTARTBLOCK) + break; + + cur_fsb = imap.br_startoff + imap.br_blockcount; + } while (cur_fsb < end_fsb); + + /* check whether we failed or found nothing to convert */ + if (error || cur_fsb >= end_fsb) { + xfs_iunlock(ip, XFS_ILOCK_EXCL); + goto out_cancel; + } + + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); + + /* + * convert to the end of the extent or the end of the range, + * whichever is shorter + */ + count = imap.br_blockcount - (cur_fsb - imap.br_startoff); + count = min_t(xfs_fileoff_t, count, end_fsb - cur_fsb); + + xfs_bmap_init(&flist, &firstblock); + + error = xfs_bmapi_write(tp, ip, cur_fsb, count, + XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT, + &firstblock, 0, &imap, &nimaps, &flist); + if (error) + goto out_cancel; + + error = xfs_bmap_finish(&tp, &flist, &committed); + if (error) + goto out_cancel; + + error = xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); + if (error) + break; + + /* set cur fsb to start of next extent */ + cur_fsb = imap.br_startoff + imap.br_blockcount; + } + + return error; + +out_cancel: + xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT); + return error; +} + +/* * Test whether it is appropriate to check an inode for and free post EOF * blocks. The 'force' parameter determines whether we should also consider * regular files that are marked preallocated or append-only. @@ -1433,28 +1546,28 @@ xfs_zero_file_space( } /* - * First, preallocate the unaligned range to ensure the entire range is - * allocated. This does not convert extents because we cannot convert - * partial blocks. Second, convert the block-aligned range to unwritten - * extents. We do this as such because passing the entire range for - * allocation facilitates ideal contiguity from the allocator. + * At this point partial blocks are consistent on-disk and in pagecache + * and delalloc mappings are consistent between pagecache (buffer heads) + * and the in-core extent tree. We can proceed with allocation without + * worry of failure leaving inconsistencies. * - * Note that we attempt unwritten conversion even if we fail to - * preallocate space. This is an effort to convert as many extents as - * possible before we inevitably return ENOSPC. - * - * XXX: A helper that converts existing extents but does not preallocate - * would help clean all this up. We could convert extents first, - * preallocate second, and thus guarantee a zero-value range on ENOSPC. + * First, convert existing extents in the block aligned range to + * unwritten. Next, preallocate the unaligned range to fill in the gaps + * and cover partial start and end blocks. This sequence means that the + * range has likely been zero-valued even if we run out of space. */ + if (end_boundary > start_boundary) { + error = xfs_bmap_convert_unwritten_range(ip, + XFS_B_TO_FSBT(mp, start_boundary), + XFS_B_TO_FSB(mp, + end_boundary - start_boundary)); + if (error) + goto out; + } error = xfs_alloc_file_space(ip, round_down(offset, blksize), round_up(offset + len, blksize) - round_down(offset, blksize), XFS_BMAPI_PREALLOC); - if (end_boundary > start_boundary) - error = xfs_alloc_file_space(ip, start_boundary, - end_boundary - start_boundary, - XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); out: return error; -- 1.8.3.1 From david@fromorbit.com Thu Oct 9 15:38: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3A7237F3F for ; Thu, 9 Oct 2014 15:38:25 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 28CE230405F for ; Thu, 9 Oct 2014 13:38:20 -0700 (PDT) X-ASG-Debug-ID: 1412887097-04cbb018ab142100001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id ZoqefTh0zzpR9FkS for ; Thu, 09 Oct 2014 13:38: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: Alc8ABDxNlR5LODnPGdsb2JhbABggw6BK4I2hQewJgaVDYVqAgIBAQKBCBcBBgEBAQE4OYQDAQEBAwE6HCMQCAMOBwMJJQ8FJQMHGhMbiBsHwwUYGIYIiiQHgy2BHgWdSpoJKS+CSgEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Oct 2014 07:08:15 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XcKTW-0003oC-4h; Fri, 10 Oct 2014 07:38:14 +1100 Date: Fri, 10 Oct 2014 07:38:14 +1100 From: Dave Chinner To: Ben Myers Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. Message-ID: <20141009203814.GB4376@dastard> X-ASG-Orig-Subj: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. References: <20141003214758.GY1865@sgi.com> <20141003215542.GD1865@sgi.com> <20141006221928.GJ2301@dastard> <20141009154240.GC1865@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141009154240.GC1865@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: 1412887097 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.10385 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 09, 2014 at 10:42:40AM -0500, Ben Myers wrote: > On Tue, Oct 07, 2014 at 09:19:28AM +1100, Dave Chinner wrote: > > On Fri, Oct 03, 2014 at 04:55:42PM -0500, Ben Myers wrote: > > > From: Olaf Weber > > > > > > Change the XFS case-insensitive lookup code to return the first match > > > found, even if it is not an exact match. Whether a filesystem uses > > > case-insensitive lookups is determined by a superblock bit set during > > > filesystem creation. This means that normal use cannot create two files > > > that both match the same filename. > > > > > > Signed-off-by: Olaf Weber > > > > This is really dependent on whether we want to support mixed > > CI/non-CI filesystems, yes? i.e. if we want to support mixed case > > setups, then we need to keep the code as it stands? > > It depends upon what semantics you decide are correct in the mixed case. > This is just one solution. Ok, so we need this code or somethign very similar to support mixed case filesystems. Can you tell us what the other possible solutions and semantics have been considered? > > What is the downside of keeping the code unchaged and our > > options open? > > The code that is being removed here was for the case when you > could have multiple filenames that match for a lookup, which was > only possible when the ascii-ci bit was implemented as a mount > option. Yes, I know what the code did - it allowed us to support mixed case ascii-ci filesystems. All you've said is "if we remove mixed case support the code is cleaner" but not addressed the issue at hand. I'll try asking the same question a different way: if we keep this code, will it work for mixed case unicode filesystem or do we have to re-implement mixed case matching differently? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 9 16:07: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 34AFE7F3F for ; Thu, 9 Oct 2014 16:07:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0695F304071 for ; Thu, 9 Oct 2014 14:07:39 -0700 (PDT) X-ASG-Debug-ID: 1412888854-04bdf0287814c570001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id Altif76I731ixVqS for ; Thu, 09 Oct 2014 14:07:34 -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: AlxcABL4NlR5LODnPGdsb2JhbABggw5TWII2izupcgaTMoFbhWoCAgEBAoEIFwEGAQEBATg5hAQBAQQ6HCMQCAMYCSUPBSUDBxoTiD0OwnwBFxiGCIokB4MtgR4FnUqBL4ZziXKHdSkvAYJJAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Oct 2014 07:37:33 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XcKvs-0003vo-G1; Fri, 10 Oct 2014 08:07:32 +1100 Date: Fri, 10 Oct 2014 08:07:32 +1100 From: Dave Chinner To: Stan Hoeppner Cc: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files Message-ID: <20141009210732.GC4376@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <543611CF.6030904@hardwarefreak.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: 1412888854 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.10387 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 08, 2014 at 11:40:47PM -0500, Stan Hoeppner wrote: > Does anyone know of a utility that can track writes to files in an > XFS directory tree, or filesystem wide for that matter, and gather > filesystem blocks written per second data, or simply KiB/s, etc? > I need to analyze an application's actual IO behavior to see if it > matches what I'm being told the application is supposed to be > doing. iotop uses the task accounting infrastructure to give you per-process IO stats: Total DISK READ : 27.18 K/s | Total DISK WRITE : 395.10 M/s Actual DISK READ: 27.18 K/s | Actual DISK WRITE: 395.10 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 14822 be/4 dave 27.18 K/s 395.10 M/s 0.00 % 87.43 % dd if=/dev/zero of=foo bs=1024k count=16384 oflag=direct 5430 be/4 dave 0.00 B/s 3.88 K/s 0.00 % 0.00 % plasma-desktop 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [2] 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] .... For whole device stats, "iostat -d -x -m 5" will get you 5 second averages of the IO to a device, request sizes, queue depths, latencies, etc. blktrace/blkparse can give you way more information that you care about in the IO subsystem - iowatcher (formerly seekwatcher) is a good visualation tool that sits on top of blktrace... PCP (i.e using pmchart for live graphing of performance metrics) is probably useful here, too. As for limiting the stats gathering to a subset of the filesystem there isn't really anything that does that. You probably would need to do some perf or system tap magic to filter read/write ops in some way. A good place to start might be here: http://www.brendangregg.com/perf.html Specifically his iosnoop tool is a simple template that you can customise to your own needs: http://www.brendangregg.com/blog/2014-07-16/iosnoop-for-linux.html http://www.brendangregg.com/blog/2014-07-23/linux-iosnoop-latency-heat-maps.html Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 9 16:13: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 53D687F3F for ; Thu, 9 Oct 2014 16:13:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 32E28304070 for ; Thu, 9 Oct 2014 14:13:45 -0700 (PDT) X-ASG-Debug-ID: 1412889222-04cbb018ab163b90001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id arHTv5PV1Kymjjdh for ; Thu, 09 Oct 2014 14:13:43 -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: AhMcADr5NlR5LODnPGdsb2JhbABggw5TWII2tS0GkzCBXYVqBAICgQgXAQYBAQEBODmEAwEBAQMBOhwjBQsIAxgJJQ8FJQMHGhOINgcOwn0BEwQYhgiKJAeDLYEeBZY7hw+BL5BlhWgggW0pL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Oct 2014 07:43:40 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XcL1n-0003y6-EI; Fri, 10 Oct 2014 08:13:39 +1100 Date: Fri, 10 Oct 2014 08:13:39 +1100 From: Dave Chinner To: Stan Hoeppner Cc: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files Message-ID: <20141009211339.GD4376@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54361C04.5090404@hardwarefreak.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: 1412889222 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.10387 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 09, 2014 at 12:24:20AM -0500, Stan Hoeppner wrote: > On 10/08/2014 11:49 PM, Joe Landman wrote: > > On 10/09/2014 12:40 AM, Stan Hoeppner wrote: > >> Does anyone know of a utility that can track writes to files in > >> an XFS directory tree, or filesystem wide for that matter, and > >> gather filesystem blocks written per second data, or simply > >> KiB/s, etc? I need to analyze an application's actual IO > >> behavior to see if it matches what I'm being told the > >> application is supposed to be doing. > >> > > > > We've written a few for this purpose (local IO probing). > > > > Start with collectl (looks at /proc/diskstats), and others. Our > > tools go to /proc/diskstats, and use this to compute BW and IOPs > > per device. > > > > If you need to log it for a long time, set up a time series > > database (we use influxdb and the graphite plugin). Then grab > > your favorite metrics tool that talks to graphite/influxdb (I > > like https://github.com/joelandman/sios-metrics for obvious > > reasons), and start collecting data. > > I'm told we have 800 threads writing to nearly as many files > concurrently on a single XFS on a 12+2 spindle RAID6 LUN. > Achieved data rate is currently ~300 MiB/s. Some of these are > files are supposedly being written at a rate of only 32KiB every > 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine > how many bytes we're writing to each of the low rate files, and > how many files, to figure out RMW mitigation strategies. Out of > the apparent 800 streams 700 are these low data rate suckers, one > stream writing per file. > > Nary a stock RAID controller is going to be able to assemble full > stripes out of these small slow writes. With a 768 KiB stripe > that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? Raid controllers don't typically have the resources to track hundreds of separate write streams at a time. Most don't have the memory available to track that many active write streams, and those that do probably can't proritise writeback sanely given how slowly most cachelines would be touched. The fast writers would simply tune over the slower writer caches way too quickly. Perhaps you need to change the application to make the slow writers buffer stripe sized writes in memory and flush them 768k at a time... > I've been playing with bcache for a few days but it actually drops > throughput by about 30% no matter how I turn its knobs. Unless I > can get Kent to respond to some of my questions bcache will be a > dead end. I had high hopes for it, thinking it would turn these > small random IOs into larger sequential writes. It may actually > be doing so, but it's doing something else too, and badly. IO > times go through the roof once bcache starts gobbling IOs, and > throughput to the LUNs drops significantly even though bcache is > writing 50-100 MIB/s to the SSD. Not sure what's causing that. Have you tried dm-cache? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 9 16:20: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 467207F3F for ; Thu, 9 Oct 2014 16:20:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 32FA8304070 for ; Thu, 9 Oct 2014 14:20:40 -0700 (PDT) X-ASG-Debug-ID: 1412889637-04cb6c7707123400001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id Ncvnyb4dNc4nPABZ for ; Thu, 09 Oct 2014 14:20:38 -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: As0jAMb7NlR5LODnPGdsb2JhbABggw6BK4I2hQewJgaVDYVqBAICgQgXAQYBAQEBODmEAwEBAQMBOhwjBQsIAxgJJQ8FJQMHGhOINgfDFAEXGIYIiTkeTQeDLYEeBZ1KmgkpL4EHgUMBAQE Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Oct 2014 07:50:11 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XcL86-00040P-Ku; Fri, 10 Oct 2014 08:20:10 +1100 Date: Fri, 10 Oct 2014 08:20:10 +1100 From: Dave Chinner To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Message-ID: <20141009212010.GE4376@dastard> X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! 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: 1412889637 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.10387 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 09, 2014 at 03:15:07PM +0200, Dragon wrote: > Hello, while i copy some files to my software raid device the xfs > filesystem reports an uncorrectable error unmount and stops. > Reboot didnt work, same failure. Answers to the FAQS: > > 1.Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux > 2.xfsprogs 3.1.7+b1 amd64 I'd upgrade xfsprogs before doing anything else. > 13. dmesg: > [ 7.541885] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled > [ 7.542692] SGI XFS Quota Management subsystem > [ 7.569679] XFS (md2): Mounting Filesystem > [ 7.799071] XFS (md2): Starting recovery (logdev: internal) > [ 8.992087] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff88031c344400, dino bp = 0xffff88032050d0c0, ino = 3469995060 > [ 8.992354] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 Bad inode cluster on disk. You need to run xfs_repair on the filesystem. I'd suggest running "xfs_repair -n" to see whether that's the only error and whether it's likely to be able to repair without making a mess. If you don't have backups, you might want to mount -o ro,norecovery and take a backup before trying to repair properly. If you're really paranoid, take a metadump of the filesystem, restore themetadump to a file and see if repair can fix the image file first. Cheers, Dave. -- Dave Chinner david@fromorbit.com From Sunghost@gmx.de Thu Oct 9 16:37: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=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 B73567F3F for ; Thu, 9 Oct 2014 16:37:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A615F8F8059 for ; Thu, 9 Oct 2014 14:37:35 -0700 (PDT) X-ASG-Debug-ID: 1412890652-04cb6c7706130e90001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by cuda.sgi.com with ESMTP id nQwpice0Tz1ZfM9q (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 14:37:33 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.21 Received: from [85.177.203.226] by 3capp-gmx-bs22.server.lan (via HTTP); Thu, 9 Oct 2014 23:37:32 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re:XFS Filesystem is broken and cant repair and mount! Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Re:XFS Filesystem is broken and cant repair and mount! Date: Thu, 9 Oct 2014 23:37:32 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:zE64IQoYp4IuwUcr1X+CHf8rlUqIHs9wfzOd/iRUIbZ 21hS2RZk65RTjBPKJs04ajR58X9SjgIa3N31+pewtcqeyMcsNL 9QjDeNiL8H96wbmoZAvL/Ywe0PteokRWp0IW+5VislBmY+p8GA aPh2DJsOrXvikhQ8ePk196S+dUs7naTlBqQu+eeMaWbdQZAuIM 5qkA0pdy6ktmKcK/SI8VSslv/zuDh+q13J7qEanZb398G5AcAI hb6zOMOsdAa4Q5oTh2RIx13sMGPFvQU6mImz95KQRXOPS1oKj5 TxVsok= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.17.21] X-Barracuda-Start-Time: 1412890653 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.10387 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello Dave, and thx for reply. I have no backup and no disk todo this ;(. Here the result from xfs_repair -n:http://pastebin.com/jC5S0KSH best regards ---------------------- On Thu, Oct 09, 2014 at 03:15:07PM +0200, Dragon wrote: Hello, while i copy some files to my software raid device the xfs filesystem reports an uncorrectable error unmount and stops. Reboot didnt work, same failure. Answers to the FAQS: 1.Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux 2.xfsprogs 3.1.7+b1 amd64 I'd upgrade xfsprogs before doing anything else. 13. dmesg: [ 7.541885] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled [ 7.542692] SGI XFS Quota Management subsystem [ 7.569679] XFS (md2): Mounting Filesystem [ 7.799071] XFS (md2): Starting recovery (logdev: internal) [ 8.992087] XFS (md2): xlog_recover_inode_pass2: Bad inode magic number, dip = 0xffff88031c344400, dino bp = 0xffff88032050d0c0, ino = 3469995060 [ 8.992354] XFS (md2): Internal error xlog_recover_inode_pass2(1) at line 2248 of file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa03fe677 Bad inode cluster on disk. You need to run xfs_repair on the filesystem. I'd suggest running "xfs_repair -n" to see whether that's the only error and whether it's likely to be able to repair without making a mess. If you don't have backups, you might want to mount -o ro,norecovery and take a backup before trying to repair properly. If you're really paranoid, take a metadump of the filesystem, restore themetadump to a file and see if repair can fix the image file first. Cheers, Dave. -- Dave Chinner From david@fromorbit.com Thu Oct 9 16:49: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 867547F3F for ; Thu, 9 Oct 2014 16:49:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 72304304053 for ; Thu, 9 Oct 2014 14:49:05 -0700 (PDT) X-ASG-Debug-ID: 1412891340-04cb6c770413dfe0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id EKwUf1qOr7OFKunn for ; Thu, 09 Oct 2014 14:49:01 -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: AgFTAG0BN1R5LODnPGdsb2JhbABggw5TUwWCNrUtBogtYYoegWGFagEDAQECgQcXAQYBAQEBODmEBAEBBDocIxAIAxgJJQ8FJQMHGhOIPQnDDwEXGIYIiTlrB4MtgR4BBJY7hw+Ba41WikgpL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Oct 2014 08:19:00 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XcLZy-0004AK-Ds; Fri, 10 Oct 2014 08:48:58 +1100 Date: Fri, 10 Oct 2014 08:48:58 +1100 From: Dave Chinner To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Message-ID: <20141009214858.GF4376@dastard> X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! 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: 1412891340 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.10388 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 09, 2014 at 11:37:32PM +0200, Dragon wrote: > Hello Dave, > and thx for reply. I have no backup and no disk todo this ;(. > Here the result from xfs_repair -n:http://pastebin.com/jC5S0KSH Looks like a handful of corrupted inode blocks, with the main problem being that the inodes 3469995058-3469995060 (i.e. 3 inodes) do not have the corect magic numbers in them. the rest of the inodes in that chunk are corrupt in some way, too, so it would seem that there's been some kind of write error to these inodes. xfs_repair should fix this problems without issues. Cheers, Dave. -- Dave Chinner david@fromorbit.com From cbo@obpromote-akk.info Thu Oct 9 16:58: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.7 required=5.0 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE,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 90CAA7F3F for ; Thu, 9 Oct 2014 16:58:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7D1568F8066 for ; Thu, 9 Oct 2014 14:58:34 -0700 (PDT) X-ASG-Debug-ID: 1412891906-04cbb018ae179e80001-NocioJ Received: from mail.obpromote-akk.info (114-33-3-194.HINET-IP.hinet.net [114.33.3.194]) by cuda.sgi.com with ESMTP id FeKjuayC2Lhdpcce for ; Thu, 09 Oct 2014 14:58:27 -0700 (PDT) X-Barracuda-Envelope-From: cbo@obpromote-akk.info X-Barracuda-Apparent-Source-IP: 114.33.3.194 Received: from leadersupplier.com ([216.185.44.11]) by mail.obpromote-akk.info ([192.168.1.103]); Fri, 10 Oct 2014 05:58:21 +0800 Date: Fri, 10 Oct 2014 05:54:25 +0800 To: "xfs@oss.sgi.com" From: UNSION Subject: =?utf-8?Q?TAIWAN_TOOLS_SUPPLIER_-_UNISON?= Message-ID: <17639351936b1f1c8fbdd92e7072ee0a@leadersupplier.com> X-ASG-Orig-Subj: =?utf-8?Q?TAIWAN_TOOLS_SUPPLIER_-_UNISON?= X-Priority: 3 X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.4] MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_17639351936b1f1c8fbdd92e7072ee0a" X-Barracuda-Connect: 114-33-3-194.HINET-IP.hinet.net[114.33.3.194] X-Barracuda-Start-Time: 1412891906 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.74 X-Barracuda-Spam-Status: No, SCORE=1.74 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE, RDNS_DYNAMIC, SUBJ_ALL_CAPS, SUBJ_ALL_CAPS_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10388 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_IMAGE_ONLY_32 BODY: HTML: images with 2800-3200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 0.01 SUBJ_ALL_CAPS Subject is all capitals 1.62 SUBJ_ALL_CAPS_2 SUBJ_ALL_CAPS_2 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS --b1_17639351936b1f1c8fbdd92e7072ee0a Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit   unsubscribe | mobile version | best view it online UNISON 414 No 11, 150 Alley, 516 Lane, 2 Sec. Hsi Nan Rd., Wu-jih Dist., Taichung City, Taiwan, R.O.C. E-mail : service@unisontools.com --b1_17639351936b1f1c8fbdd92e7072ee0a Content-Type: text/html; charset = "utf-8" Content-Transfer-Encoding: 8bit

 

902 10 11 83 608 54 84 77
PROMOCI=C3=93N ESPECIAL FIN DE VACACIONES
VALIDEZ DE LA OFERTA HASTA EL 31/10/2014
=C2=A1=C2=A1OCASI=C3=93N!!
B=C3=81SCULAS SERIE IPS1
   

La serie IPS1 proporciona una serie precisa, r= =C3=A1pida y vers=C3=A1til de basculas solo peso. Su uso cumple con la orde= n 22/XII/94, BOE 03/01/95, apartado b. 
Dispone de bater=C3=ADa int= erna recargable. Puede funcionar con bater=C3=ADa (24h de autonom=C3=ADa co= n bater=C3=ADa a plena carga) o conectada a la red el=C3=A9ctrica.
El in= dicador dispone de un display de leds de alta luminiscencia.

ESPECIFICACIONES EST=C3=81NDAR  
  • Bot=C3=B3n de tara=20
  • Bot=C3=B3n de puesta a cero=20
  • Alarma sonora de sobrecarga=20
  • Funci=C3=B3n de autoapagado.
 
Las dimensiones del plato, de acero inoxidable, son: 4= 65x555mm.
La altura desde el suelo a la parte superior del indicador es = de 990mm. 
La estructura de la b=C3=A1scula es de hierro lacado.&nb= sp;
Su manejo y puesta en marcha es muy simple. No precisa de instalaci= =C3=B3n.
&nb= sp;  
Modelo Capacidad<= /TD> Divisi=C3= =B3n Dimensiones
IPS1-60 60 kg 5 g 900 x 555 x 465
IPS1-150 150 kg 10 g 900 x 555 x 465
IPS1-200 200 kg 20 g 900 x 555 x 465
&nb= sp;
=C2=A1=C2=A1=C2=A1OPORTUNIDAD!!!
278,30 =E2=82=AC
IVA Y PORTES INCLUIDOS
                 
           
                 
  <= IMG border=3D0 src=3D"cid:3585186199-7" width=3D157 height=3D41>  
                 

Advertencia legal:

De acuerdo con lo dispuesto en la Ley 15= /99 de Protecci=C3=B3n de Datos de Car=C3=A1cter Personal, le informamos qu= e sus datos est=C3=A1n incorporados en un fichero automatizado cuyo respons= able es B=C3=81SCULAS Y ARCAS CATALUNYA, S.A. (CIF A-08944118) quien los ut= iliza para el intercambio de informaci=C3=B3n sobre sus productos y servici= os, as=C3=AD como para la gesti=C3=B3n de las relaciones comerciales presen= tes o futuras con usted o su empresa. Estos datos no ser=C3=A1n cedidos ni = comunicados a terceros en ning=C3=BAn caso. Podr=C3=A1 ejercer sus derechos= de acceso, rectificaci=C3=B3n, y cancelaci=C3=B3n mediante escrito (acompa= =C3=B1ando fotocopia de su DNI) dirigido a B=C3=81SCULAS Y ARCAS CATALUNYA,= S.A. Pol. Ind. Santiga =E2=80=93 c/. Talleres, 2 =E2=80=93 nave 1, 08130 S= anta Perpetua de Mogoda (Barcelona).

Si no desea recibir m=C3=A1s comunicacio= nes de nuestra parte, por favor devu=C3=A9lvanos este correo indicando BAJA= en el Asunto. Este mensaje y, en su caso, los ficheros anexos son confiden= ciales, especialmente en lo que respecta a los datos personales, y se dirig= en exclusivamente al destinatario referenciado. Si usted no lo es y lo ha r= ecibido por error o tiene conocimiento del mismo por cualquier motivo, le r= ogamos que nos lo comunique por este medio y proceda a destruirlo o borrarl= o, y que en todo caso se abstenga de utilizar, reproducir, alterar, archiva= r o comunicar a terceros el presente mensaje y ficheros anexos, todo ello b= ajo pena de incurrir en responsabilidades legales. El emisor no garantiza l= a integridad, rapidez o seguridad del presente correo, ni se responsabiliza= de posibles perjuicios derivados de la captura, incorporaciones de virus o= cualesquiera otras manipulaciones efectuadas por terceros.

unsubscribe | mobile version | best view it online
UNISON
414 No 11, 150 Alley, 516 Lane, 2 Sec. Hsi Nan Rd., Wu-jih Dist., Taichung City, Taiwan, R.O.C.
E-mail : service@unisontools.com
--b1_17639351936b1f1c8fbdd92e7072ee0a-- From stan@hardwarefreak.com Thu Oct 9 17:30: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E38117F3F for ; Thu, 9 Oct 2014 17:30:13 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D2ACB8F8064 for ; Thu, 9 Oct 2014 15:30:10 -0700 (PDT) X-ASG-Debug-ID: 1412893809-04cbb018ab18a640001-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 UAe3B77Yk7C2Cob5 for ; Thu, 09 Oct 2014 15:30:09 -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 [134.64.128.200] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id E1F726C144; Thu, 9 Oct 2014 17:30:07 -0500 (CDT) Message-ID: <54370C84.4070400@hardwarefreak.com> Date: Thu, 09 Oct 2014 17:30:28 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <20141009211339.GD4376@dastard> 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: 1412893809 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 10/09/2014 04:13 PM, Dave Chinner wrote: > On Thu, Oct 09, 2014 at 12:24:20AM -0500, Stan Hoeppner wrote: >> On 10/08/2014 11:49 PM, Joe Landman wrote: >>> On 10/09/2014 12:40 AM, Stan Hoeppner wrote: >>>> Does anyone know of a utility that can track writes to files in >>>> an XFS directory tree, or filesystem wide for that matter, and >>>> gather filesystem blocks written per second data, or simply >>>> KiB/s, etc? I need to analyze an application's actual IO >>>> behavior to see if it matches what I'm being told the >>>> application is supposed to be doing. >>>> >>> >>> We've written a few for this purpose (local IO probing). >>> >>> Start with collectl (looks at /proc/diskstats), and others. Our >>> tools go to /proc/diskstats, and use this to compute BW and IOPs >>> per device. >>> >>> If you need to log it for a long time, set up a time series >>> database (we use influxdb and the graphite plugin). Then grab >>> your favorite metrics tool that talks to graphite/influxdb (I >>> like https://github.com/joelandman/sios-metrics for obvious >>> reasons), and start collecting data. >> >> I'm told we have 800 threads writing to nearly as many files >> concurrently on a single XFS on a 12+2 spindle RAID6 LUN. >> Achieved data rate is currently ~300 MiB/s. Some of these are >> files are supposedly being written at a rate of only 32KiB every >> 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine >> how many bytes we're writing to each of the low rate files, and >> how many files, to figure out RMW mitigation strategies. Out of >> the apparent 800 streams 700 are these low data rate suckers, one >> stream writing per file. >> >> Nary a stock RAID controller is going to be able to assemble full >> stripes out of these small slow writes. With a 768 KiB stripe >> that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? > > Raid controllers don't typically have the resources to track > hundreds of separate write streams at a time. Most don't have the > memory available to track that many active write streams, and those > that do probably can't proritise writeback sanely given how slowly > most cachelines would be touched. The fast writers would simply tune > over the slower writer caches way too quickly. > > Perhaps you need to change the application to make the slow writers > buffer stripe sized writes in memory and flush them 768k at a > time... Just started earlier today. Turns out the buffer sizes and buffer count are configurable, not hard coded, at least in the test harness. AIUI the actual application creates variable sized buffers on the fly. In which case the test harness doesn't accurately simulate the real app. So the numbers we might achieve optimizing the harness may not reflect reality, same for the storage subsystem tweaks for that matter. Which brings up a whole other set of questions regarding what we're actually doing.... >> I've been playing with bcache for a few days but it actually drops >> throughput by about 30% no matter how I turn its knobs. Unless I >> can get Kent to respond to some of my questions bcache will be a >> dead end. I had high hopes for it, thinking it would turn these >> small random IOs into larger sequential writes. It may actually >> be doing so, but it's doing something else too, and badly. IO >> times go through the roof once bcache starts gobbling IOs, and >> throughput to the LUNs drops significantly even though bcache is >> writing 50-100 MIB/s to the SSD. Not sure what's causing that. > > Have you tried dm-cache? Not yet. I have a feeler out to our Dell rep WRT LSI's CacheCade, since Dell PERCs are OEM LSIs. Initially it appears it is optimized for read caching as bcache seems to be. I've tested bcache on 3.12 and 3.17 and its write throughput on the latter is even worse, both being ~30-40 lower than native. Latency goes through the roof, and iostat shows the distribution across the LUNs is horribly uneven. Atop that, running iotop at 1 second intervals shows no IO on one LUN or the other for 1-2 seconds at a time. And when both do show IO the rates are up and down all over the place. Runnig native IO the rates are constant and the spread between LUNs in 2-3%. Not sure what the problem is here with bcache, but it certainly doesn't behave as I expected it would. It's really quite horrible for this workload. And that's when attempting to push only ~360 MB/s per LUN. Kent doesn't seem interested in assisting thus far. Which is a shame. Having bcache running on hundreds of systems of this caliber would be a feather in his cap, and a validation of his work. Natively we're currently achieving about 2.3 GB/s write throughput across 14 RAID6 LUNs (12+2) on two controllers in an active-active multipath setup. If bcache was performing how I'd think it should, with the right number of SSDs I'd think we could be knocking on the 3 GB/s door. Thanks, Stan From Sunghost@gmx.de Thu Oct 9 17:42: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=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 7EB6A7F3F for ; Thu, 9 Oct 2014 17:42:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1D897AC008 for ; Thu, 9 Oct 2014 15:42:37 -0700 (PDT) X-ASG-Debug-ID: 1412894554-04cb6c7704166370001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by cuda.sgi.com with ESMTP id nFi0XpL61L6uhWyv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 09 Oct 2014 15:42:35 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.22 Received: from [85.177.203.226] by 3capp-gmx-bs27.server.lan (via HTTP); Fri, 10 Oct 2014 00:42:34 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! Date: Fri, 10 Oct 2014 00:42:34 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:MpXMXBCn2lVcy0WN8a7tUsjmCcyIJGsbzLxpVnFeGYe 5AsYBvrKYvBQiWokQYON1ReVXMFRSLaz8ioFk+tUwF+Nr61kzn mzmQUCenYug5wPBUKDsJv7gwnIBAeOGGGxKKsD1Z5z26bsvOIS W4ORYNceCa4r8oAJl23e0CEpX2BdXjT1BA8ia9146uh/RpCPAY jr/G0p9n9gs3VNEd3+AZm8jaEb4Di5ry9fMfHJ+ume8L5qCqWz cgbwhP8tQ6ptkHM7lAH3sT3Uvpm2QUIknfRjnrCvqHYZQT4AmN jqIyhM= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.17.22] X-Barracuda-Start-Time: 1412894555 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.10389 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 Dave,
i do and have to use Option -L but it was with success. I reboot the system and tried to copy the files again and after a view hundreds of MB the failure occures again. A actually do xfs_repair -L again, but i think the problem still exists. Any idea where the problem cames from and what i could do? I will now check the smart values.
-------------------
On Thu, Oct 09, 2014 at 11:37:32PM +0200, Dragon wrote:
Hello Dave, and thx for reply. I have no backup and no disk todo this ;(. Here the result from xfs_repair -n:http://pastebin.com/jC5S0KSH
Looks like a handful of corrupted inode blocks, with the main problem being that the inodes 3469995058-3469995060 (i.e. 3 inodes) do not have the corect magic numbers in them. the rest of the inodes in that chunk are corrupt in some way, too, so it would seem that there's been some kind of write error to these inodes. xfs_repair should fix this problems without issues. Cheers, Dave. -- Dave Chinner david@fromorbit.com
From xuw@redhat.com Fri Oct 10 02:31: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 9F2457F3F for ; Fri, 10 Oct 2014 02:31:49 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6D8388F8054 for ; Fri, 10 Oct 2014 00:31:49 -0700 (PDT) X-ASG-Debug-ID: 1412926307-04bdf0287727ed30001-NocioJ Received: from mx4-phx2.redhat.com (mx4-phx2.redhat.com [209.132.183.25]) by cuda.sgi.com with ESMTP id cDExp2cM5XcydnYH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 00:31:47 -0700 (PDT) X-Barracuda-Envelope-From: xuw@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.25 Received: from zmail24.collab.prod.int.phx2.redhat.com (zmail24.collab.prod.int.phx2.redhat.com [10.5.83.30]) by mx4-phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s9A7VkUk020680 for ; Fri, 10 Oct 2014 03:31:46 -0400 Date: Fri, 10 Oct 2014 03:31:46 -0400 (EDT) From: Xu Wang To: xfs@oss.sgi.com Message-ID: <2090211370.42327532.1412926306812.JavaMail.zimbra@redhat.com> In-Reply-To: <929991500.42327290.1412926226461.JavaMail.zimbra@redhat.com> Subject: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push MIME-Version: 1.0 X-ASG-Orig-Subj: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.5.82.6] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF25 (Linux)/8.0.6_GA_5922) Thread-Topic: lock for removing item from cil->xc_cil in xlog_cil_push Thread-Index: AWgr59coV+eVCUv9nPbKc3KnzV7a3g== X-Barracuda-Connect: mx4-phx2.redhat.com[209.132.183.25] X-Barracuda-Start-Time: 1412926307 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.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=THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10402 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... >From 59c6babab7c4ce8708036018143d2acc1477cc7f Mon Sep 17 00:00:00 2001 From: George Wang Date: Fri, 10 Oct 2014 15:02:14 +0800 Subject: [PATCH] [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push There is a race condition when xlog_cil_force_lsn and xlog_cil_push for cil->xc_cil items. When function xlog_cil_push_now called in xlog_cil_force_lsn, and the xlog_cil_push run in workqueue just reaches the= point for setting cil->xc_current_sequence, the xlog_cil_force_lsn got the lock and check the "sequence =3D=3D cil->xc_current_sequence && !list_empty(&cil->xc_cil)" for restart. The statement "sequence =3D=3D cil->xc_current_sequence" is true, but the cil->xc_cil is empty according to the xlog_cil_push removed the items in cil->xc_cil without lock protectionl. So the function xlog_cil_force_lsn will return NULLCOMMITLSN, which means the cil log for current sequence will not be submitted to disk. And if there is no more operations(for example, when unmount fs, this situation happened in xfs_unmountfs->xfs_log_sbcount->xfs_trans_commit), the xfs will hang up. Signed-off-by: George Wang --- fs/xfs/xfs_log_cil.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c index f6b79e5..97ba527 100644 --- a/fs/xfs/xfs_log_cil.c +++ b/fs/xfs/xfs_log_cil.c @@ -478,6 +478,8 @@ xlog_cil_push( */ lv =3D NULL; num_iovecs =3D 0; + + spin_lock(&cil->xc_push_lock); while (!list_empty(&cil->xc_cil)) { struct xfs_log_item *item; @@ -530,7 +532,6 @@ xlog_cil_push( * against the current sequence in log forces without risking * deferencing a freed context pointer. */ - spin_lock(&cil->xc_push_lock); cil->xc_current_sequence =3D new_ctx->sequence; list_add(&ctx->committing, &cil->xc_committing); spin_unlock(&cil->xc_push_lock); --=20 1.9.3 --=20 George Wang =E7=8E=8B=E6=97=AD Kernel Quantity Engineer Red Hat Software (Beijing) Co.,Ltd IRC:xuw Tel:+86-010-62608041 Phone:15901231579 9/F, Tower C, Raycom From Sunghost@gmx.de Fri Oct 10 03:47: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.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 72D377F3F for ; Fri, 10 Oct 2014 03:47:44 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 00187AC008 for ; Fri, 10 Oct 2014 01:47:40 -0700 (PDT) X-ASG-Debug-ID: 1412930858-04cb6c77072bf170001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by cuda.sgi.com with ESMTP id kbixuK1vhtOEpjqx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 01:47:39 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.15 Received: from [194.12.218.135] by 3capp-gmx-bs24.server.lan (via HTTP); Fri, 10 Oct 2014 10:47:38 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! Date: Fri, 10 Oct 2014 10:47:38 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:tr1LTAUYbJaPhMryG4e/SHTzLFQv28AZBdcxxxWL1rn ujXg+JmXhf1lwgxRu9P8IqMONx5bjFQFZ+7dpEBAPGNjU/DhqA ioBcNpRyNgVpsFufrOLQorswt65/rmSvQ5hlFnx6OIljUbG8fS Yb++eglxIHNFp7zJLDw6m4g1GHQKzFqNklhKQDKJxH8QRHDCWc FtK5jYw4mZf41fx00xA2H7Je2aByLRlURh5jplU3gmPR4oUP9u lv0PyKwFiGKTDgU53VS26mZ82ro/W09JqBdgrgL2TMNJ+ZbvYX 0Mb/H4= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.15.15] X-Barracuda-Start-Time: 1412930859 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.10403 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 checked the syslog again, right before the next crash of xfs-filesystem occures, the raiddevice was successfull mounted and XFS says: Mounting Filesystem - Ending clean mount. Than i start to copy, in the log some snmpd events are logged, but i think these doesnt influence the system, than bang - kernel: ffff88031f3b2000: ..... - xfs internal error xfs_btree_check_sblock at line 119 file /build/linux-eKuxrT/linux-3.2.60/fs/xfs/xfs_btree.c caller 0xfffffffa03f08ca  - than trace of xfs_corruption - xfs corruption detected. unmount and run xfs_repair - xfs_do_force shutdown 0x8 called from line 3729 .. corruption of memory data detected. shutting filesystem. buffer i/o error on device md2 ... xfs xfs_log_force: error 5 returned - than some ata1.00 errors PHY RDY changed - serror: recovComm Persist PHYRdyChg 10B8b - failed command read fpdma queued, ata1.00 status. drdy eh complete .... how can i find out which drive is ata1.0?
 
Sorry have to manualy write this. Hope you can help...
From eflorac@intellique.com Fri Oct 10 05: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 725607F3F for ; Fri, 10 Oct 2014 05: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 5FFA0304075 for ; Fri, 10 Oct 2014 03:07:07 -0700 (PDT) X-ASG-Debug-ID: 1412935617-04cb6c77052c4c20001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id mpOXMDbhUsGBOrgD (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 03:06:58 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id DC821D480A1; Fri, 10 Oct 2014 12:05:52 +0200 (CEST) Date: Fri, 10 Oct 2014 12:07:00 +0200 From: Emmanuel Florac To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Message-ID: <20141010120700.13070d06@harpe.intellique.com> X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! In-Reply-To: References: Organization: Intellique X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1412935617 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.10405 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Fri, 10 Oct 2014 00:42:34 +0200 Dragon =C3=A9crivait: > i do and have to use Option -L but it was with success. I reboot the > system and tried to copy the files again and after a view hundreds of > MB the failure occures again. A actually do xfs_repair -L again, but > i think the problem still exists. Any idea where the problem cames > from and what i could do? I will now check the smart values. Certainly a hardware problem. Look at output from dmesg, /var/log/messages and the like for disk errors. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From eflorac@intellique.com Fri Oct 10 05:17: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 005E27F3F for ; Fri, 10 Oct 2014 05:17:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C508B8F8059 for ; Fri, 10 Oct 2014 03:17:11 -0700 (PDT) X-ASG-Debug-ID: 1412936229-04bdf0287828bd10001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id fL1EWnvYxsiZGRms (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 03:17:10 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id 63924D480DD; Fri, 10 Oct 2014 12:16:04 +0200 (CEST) Date: Fri, 10 Oct 2014 12:17:11 +0200 From: Emmanuel Florac To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Message-ID: <20141010121711.5ca3ce44@harpe.intellique.com> X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! In-Reply-To: References: Organization: Intellique X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1412936229 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.10405 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Fri, 10 Oct 2014 10:47:38 +0200 Dragon =C3=A9crivait: > buffer i/o error on device md2 This is an error from md2. Probably bad hardware. I'm looking at your past messages and see this: [ 184.894882] ata1: exception Emask 0x10 SAct 0x0 SErr 0x90202 action 0xe frozen [ 184.895036] ata1: irq_stat 0x00400000, PHY RDY changed [ 184.895142] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } [ 184.895266] ata1: hard resetting link [ 191.412128] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 191.416411] ata1.00: configured for UDMA/133 [ 191.416425] ata1: EH complete [ 193.180043] ata1.00: exception Emask 0x10 SAct 0x40000 SErr 0x90202 action 0xe frozen [ 193.180218] ata1.00: irq_stat 0x00400000, PHY RDY changed [ 193.180329] ata1: SError: { RecovComm Persist PHYRdyChg 10B8B } [ 193.180455] ata1.00: failed command: READ FPDMA QUEUED [ 193.180567] ata1.00: cmd 60/60:90:00:00:b9/00:00:03:00:00/40 tag 18 ncq 49152 in [ 193.180570] res 40/00:90:00:00:b9/00:00:03:00:00/40 Emask 0x10 (ATA bus error) [ 193.180862] ata1.00: status: { DRDY } [ 193.180942] ata1: hard resetting link [ 199.716173] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 199.717582] ata1.00: configured for UDMA/133 [ 199.717610] ata1: EH complete This isn't normal. This shouldn't happen. Something doesn't look right in your SATA setup. Check your cables, update your mobo BIOS... --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From Sunghost@gmx.de Fri Oct 10 05:28: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=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 679FE7F3F for ; Fri, 10 Oct 2014 05:28:25 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 374E0304077 for ; Fri, 10 Oct 2014 03:28:25 -0700 (PDT) X-ASG-Debug-ID: 1412936902-04bdf0287728ce10001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by cuda.sgi.com with ESMTP id Esea6o5WBgfKz2uv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 03:28:23 -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-bs24.server.lan (via HTTP); Fri, 10 Oct 2014 12:28:21 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! Date: Fri, 10 Oct 2014 12:28:21 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:bGCv7WBBTe9Y6lCgYZauZ6Q5vF74KZfG0oJWluIEcQD S5fPskwH0oenAGXiivpNHg67TdBFC31jk+wJVZ8vlcuFeVn5F8 J0cRVPKmrJ8VXR55LpDDS+1pQlT5U26VnHxYzPVeZEnpqNVpqY T7dstVcj8kWT/6jDhk1ZoFpvFzsxQf6oQzI6rX9kxTUcW8VW2Y RD39if1JJ5addc2D9ILvKh/OiahnDtLx2ca7ONKcdGCNAk53Tp 7sdSCcZnMPxhMA/Tmlih8Cj2rWYJFIa7IzwsvNDubh6q+FFhHv atFQns= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.15.18] X-Barracuda-Start-Time: 1412936903 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: 0.00 X-Barracuda-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.10406 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 Emmanuel,
i acknowledge your answer. i think its an hardware problem. i looked now for over 4 houres to find out how i match ata14. with the disk, but no script or tool like lshw shows the correct match. I also use an extra sata3 controller with Marvel 88SE9230 Chip on it. My Kernel is from stable wheezy 3.2.0-4-amd64 and i think its an bug for this card / controller. I know this is not longer an xfs Problem, but perhabs someone can help to solve this problem.
From bfoster@redhat.com Fri Oct 10 07: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=0.0 required=5.0 tests=none 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 F3B5E7F3F for ; Fri, 10 Oct 2014 07:08:01 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D399430407B for ; Fri, 10 Oct 2014 05:07:58 -0700 (PDT) X-ASG-Debug-ID: 1412942876-04cbb018ae2a0bd0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id FFXddYGzglNebutV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 05:07: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-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 s9AC7tHr019252 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 10 Oct 2014 08:07:56 -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 s9AC7tB8024807; Fri, 10 Oct 2014 08:07:55 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7A903120064; Fri, 10 Oct 2014 08:07:54 -0400 (EDT) Date: Fri, 10 Oct 2014 08:07:54 -0400 From: Brian Foster To: Xu Wang Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push Message-ID: <20141010120754.GB18297@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push References: <929991500.42327290.1412926226461.JavaMail.zimbra@redhat.com> <2090211370.42327532.1412926306812.JavaMail.zimbra@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <2090211370.42327532.1412926306812.JavaMail.zimbra@redhat.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: 1412942877 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 Fri, Oct 10, 2014 at 03:31:46AM -0400, Xu Wang wrote: > From 59c6babab7c4ce8708036018143d2acc1477cc7f Mon Sep 17 00:00:00 2001 > From: George Wang > Date: Fri, 10 Oct 2014 15:02:14 +0800 > Subject: [PATCH] [PATCH] xfs: lock for removing item from cil->xc_cil in > xlog_cil_push > > There is a race condition when xlog_cil_force_lsn and xlog_cil_push for > cil->xc_cil items. When function xlog_cil_push_now called in > xlog_cil_force_lsn, and the xlog_cil_push run in workqueue just reaches the point for > setting cil->xc_current_sequence, the xlog_cil_force_lsn got the lock > and check the "sequence == cil->xc_current_sequence && > !list_empty(&cil->xc_cil)" for restart. The statement "sequence == > cil->xc_current_sequence" is true, but the cil->xc_cil is empty > according to the xlog_cil_push removed the items in cil->xc_cil without > lock protectionl. So the function xlog_cil_force_lsn will return > NULLCOMMITLSN, which means the cil log for current sequence will not be > submitted to disk. And if there is no more operations(for example, when > unmount fs, this situation happened in > xfs_unmountfs->xfs_log_sbcount->xfs_trans_commit), the xfs will hang up. > > Signed-off-by: George Wang > --- Isn't this fixed by the following commit? 8af3dcd3 xfs: xlog_cil_force_lsn doesn't always wait correctly With that patch, xlog_cil_push() adds the ctx to the committing list before draining the ctx and updating the current sequence number. xlog_cil_force_lsn() walks the committing list and checks the sequence number and ctx list, all under the push lock. That means that xlog_cil_force_lsn() should see the ctx either on the committing list and wait for it (commit_lsn != NULL), or not on the committing list at all. If it's not on the committing list yet, xlog_cil_push() won't have either drained the ctx or updated the sequence number, as it adds to the committing list first and that requires the push lock (which xlog_cil_force_lsn() holds and doesn't release until after the restart check). Am I missing something? Do you reproduce a problem with the latest tree that includes the above patch? Brian > fs/xfs/xfs_log_cil.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c > index f6b79e5..97ba527 100644 > --- a/fs/xfs/xfs_log_cil.c > +++ b/fs/xfs/xfs_log_cil.c > @@ -478,6 +478,8 @@ xlog_cil_push( > */ > lv = NULL; > num_iovecs = 0; > + > + spin_lock(&cil->xc_push_lock); > while (!list_empty(&cil->xc_cil)) { > struct xfs_log_item *item; > > @@ -530,7 +532,6 @@ xlog_cil_push( > * against the current sequence in log forces without risking > * deferencing a freed context pointer. > */ > - spin_lock(&cil->xc_push_lock); > cil->xc_current_sequence = new_ctx->sequence; > list_add(&ctx->committing, &cil->xc_committing); > spin_unlock(&cil->xc_push_lock); > -- > 1.9.3 > > > -- > George Wang 王旭 > > Kernel Quantity Engineer > Red Hat Software (Beijing) Co.,Ltd > IRC:xuw > Tel:+86-010-62608041 > Phone:15901231579 > 9/F, Tower C, Raycom > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From jack@suse.cz Fri Oct 10 09:24: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 7868D7F3F for ; Fri, 10 Oct 2014 09:24:06 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 08254AC008 for ; Fri, 10 Oct 2014 07:24:05 -0700 (PDT) X-ASG-Debug-ID: 1412951043-04cb6c77072ddb10001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id ipepvnoxMI0FuC5W (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 8C1C2AD2B; Fri, 10 Oct 2014 14:24:02 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 61CB281FC2; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Derek Basehore , stable@vger.kernel.org, Jan Kara Subject: [PATCH 1/2 RESEND] bdi: Fix hung task on sync Date: Fri, 10 Oct 2014 16:23:06 +0200 X-ASG-Orig-Subj: [PATCH 1/2 RESEND] bdi: Fix hung task on sync Message-Id: <1412951028-4085-2-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951043 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Derek Basehore bdi_wakeup_thread_delayed() used the mod_delayed_work() function to schedule work to writeback dirty inodes. The problem with this is that it can delay work that is scheduled for immediate execution, such as the work from sync_inodes_sb(). This can happen since mod_delayed_work() can now steal work from a work_queue. This fixes the problem by using queue_delayed_work() instead. This is a regression caused by 839a8e8660b6 "writeback: replace custom worker pool implementation with unbound workqueue". The reason that this causes a problem is that laptop-mode will change the delay, dirty_writeback_centisecs, to 60000 (10 minutes) by default. In the case that bdi_wakeup_thread_delayed() races with sync_inodes_sb(), sync will be stopped for 10 minutes and trigger a hung task. Even if dirty_writeback_centisecs is not long enough to cause a hung task, we still don't want to delay sync for that long. We fix the problem by using queue_delayed_work() when we want to schedule writeback sometime in future. This function doesn't change the timer if it is already armed. For the same reason, we also change bdi_writeback_workfn() to immediately queue the work again in the case that the work_list is not empty. The same problem can happen if the sync work is run on the rescue worker. Fixes: 839a8e8660b6777e7fe4e80af1a048aebe2b5977 CC: stable@vger.kernel.org Reviewed-by: Tejun Heo Signed-off-by: Derek Basehore Signed-off-by: Jan Kara --- fs/fs-writeback.c | 8 ++++---- mm/backing-dev.c | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index e0259a163f98..8277b76be983 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -1047,10 +1047,10 @@ void bdi_writeback_workfn(struct work_struct *work) trace_writeback_pages_written(pages_written); } - if (!list_empty(&bdi->work_list) || - (wb_has_dirty_io(wb) && dirty_writeback_interval)) - queue_delayed_work(bdi_wq, &wb->dwork, - msecs_to_jiffies(dirty_writeback_interval * 10)); + if (!list_empty(&bdi->work_list)) + mod_delayed_work(bdi_wq, &wb->dwork, 0); + else if (wb_has_dirty_io(wb) && dirty_writeback_interval) + bdi_wakeup_thread_delayed(bdi); current->flags &= ~PF_SWAPWRITE; } diff --git a/mm/backing-dev.c b/mm/backing-dev.c index ce682f7a4f29..fab8401fc54e 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -288,13 +288,16 @@ int bdi_has_dirty_io(struct backing_dev_info *bdi) * Note, we wouldn't bother setting up the timer, but this function is on the * fast-path (used by '__mark_inode_dirty()'), so we save few context switches * by delaying the wake-up. + * + * We have to be careful not to postpone flush work if it is scheduled for + * earlier. Thus we use queue_delayed_work(). */ void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi) { unsigned long timeout; timeout = msecs_to_jiffies(dirty_writeback_interval * 10); - mod_delayed_work(bdi_wq, &bdi->wb.dwork, timeout); + queue_delayed_work(bdi_wq, &bdi->wb.dwork, timeout); } /* -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5E71A7F3F for ; Fri, 10 Oct 2014 09:24:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3F48A8F8050 for ; Fri, 10 Oct 2014 07:24:07 -0700 (PDT) X-ASG-Debug-ID: 1412951045-04cbb018ab2aff20001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 2GBfcoJUB5y5PNkh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:05 -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 2557EADD1; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 7D87A81FC5; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext4: Fix buffer double free in ext4_alloc_branch() Date: Fri, 10 Oct 2014 16:23:16 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Fix buffer double free in ext4_alloc_branch() Message-Id: <1412951028-4085-12-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951045 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.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_MV0249, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 2.00 BSF_SC0_MV0249 Custom rule MV0249 Error recovery in ext4_alloc_branch() calls ext4_forget() even for buffer corresponding to indirect block it did not allocate. This leads to brelse() being called twice for that buffer (once from ext4_forget() and once from cleanup in ext4_ind_map_blocks()) leading to buffer use count misaccounting. Eventually (but often much later because there are other users of the buffer) we will see messages like: VFS: brelse: Trying to free free buffer Another manifestation of this problem is an error: JBD2 unexpected failure: jbd2_journal_revoke: !buffer_revoked(bh); inconsistent data on disk The fix is easy - don't forget buffer we did not allocate. Also add an explanatory comment because the indexing at ext4_alloc_branch() is somewhat subtle. Signed-off-by: Jan Kara --- fs/ext4/indirect.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c index 594009f5f523..3b91d240da4d 100644 --- a/fs/ext4/indirect.c +++ b/fs/ext4/indirect.c @@ -389,7 +389,13 @@ static int ext4_alloc_branch(handle_t *handle, struct inode *inode, return 0; failed: for (; i >= 0; i--) { - if (i != indirect_blks && branch[i].bh) + /* + * We want to ext4_forget() only freshly allocated indirect + * blocks. Buffer for new_blocks[i-1] is at branch[i].bh and + * buffer at branch[0].bh is indirect block / inode already + * existing before ext4_alloc_branch() was called. + */ + if (i > 0 && i != indirect_blks && branch[i].bh) ext4_forget(handle, 1, inode, branch[i].bh, branch[i].bh->b_blocknr); ext4_free_blocks(handle, inode, NULL, new_blocks[i], -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 6EA1D7F3F for ; Fri, 10 Oct 2014 09:24:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5D7C48F8065 for ; Fri, 10 Oct 2014 07:24:05 -0700 (PDT) X-ASG-Debug-ID: 1412951043-04cb6c77062ddb10001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id vItAxkum4cQzr8wV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:04 -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 9A2D4ADBD; Fri, 10 Oct 2014 14:24:02 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 4C44381FBF; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 0/2 v2] Fix data corruption when blocksize < pagesize for mmapped data Date: Fri, 10 Oct 2014 16:23:05 +0200 X-ASG-Orig-Subj: [PATCH 0/2 v2] Fix data corruption when blocksize < pagesize for mmapped data Message-Id: <1412951028-4085-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: 1412951043 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hello, this is a second version of the patches to fix data corruption in mmapped data when blocksize < pagesize as tested by xfstests generic/030 test. The patchset fixes XFS and ext4. I've checked and btrfs doesn't need fixing because it doesn't support blocksize < pagesize. If that's ever going to change btrfs will likely need a similar treatment. ocfs2, ext2, ext3 are OK since they happily allocate blocks during writeback. For other filesystems like gfs2, ubifs, nilfs, ceph,... I'm not sure whether they support blocksize < pagesize at all. Interesting is also NFS which may care but I don't understand its ->page_mkwrite() handler good enough to judge. Changes since v1: - changed helper function name and moved it to mm/truncate.c - I originally thought we can make the helper function update i_size to simplify the interface but it's actually impossible due to generic_write_end() lock ordering constraints. - used round_up() instead of ALIGN() - taught truncate_setsize() to use the helper function Honza From jack@suse.cz Fri Oct 10 09:24: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 7D4ED7F4E for ; Fri, 10 Oct 2014 09:24:08 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4EC778F8059 for ; Fri, 10 Oct 2014 07:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412951045-04bdf028792a5570001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id VfpcUWUA9DXUAEpx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:06 -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 2E58FADD7; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 92B4F81FCA; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext4: Speedup WB_SYNC_ALL pass Date: Fri, 10 Oct 2014 16:23:20 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Speedup WB_SYNC_ALL pass Message-Id: <1412951028-4085-16-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951046 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When doing filesystem wide sync, there's no need to force transaction commit (or synchronously write inode buffer) separately for each inode because ext4_sync_fs() takes care of forcing commit at the end (VFS takes care of flushing buffer cache, respectively). Most of the time this slowness doesn't manifest because previous WB_SYNC_NONE writeback doesn't leave much to write but when there are processes aggressively creating new files and several filesystems to sync, the sync slowness can be noticeable. In the following test script sync(1) takes around 6 minutes when there are two ext4 filesystems mounted on a standard SATA drive. After this patch sync takes a couple of seconds so we have about two orders of magnitude improvement. function run_writers { for (( i = 0; i < 10; i++ )); do mkdir $1/dir$i for (( j = 0; j < 40000; j++ )); do dd if=/dev/zero of=$1/dir$i/$j bs=4k count=4 &>/dev/null done & done } for dir in "$@"; do run_writers $dir done sleep 40 time sync Signed-off-by: Jan Kara --- fs/ext4/inode.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 6e39895a91b8..7850584b0679 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4443,7 +4443,12 @@ int ext4_write_inode(struct inode *inode, struct writeback_control *wbc) return -EIO; } - if (wbc->sync_mode != WB_SYNC_ALL) + /* + * No need to force transaction in WB_SYNC_NONE mode. Also + * ext4_sync_fs() will force the commit after everything is + * written. + */ + if (wbc->sync_mode != WB_SYNC_ALL || wbc->for_sync) return 0; err = ext4_force_commit(inode->i_sb); @@ -4453,7 +4458,11 @@ int ext4_write_inode(struct inode *inode, struct writeback_control *wbc) err = __ext4_get_inode_loc(inode, &iloc, 0); if (err) return err; - if (wbc->sync_mode == WB_SYNC_ALL) + /* + * sync(2) will flush the whole buffer cache. No need to do + * it here separately for each inode. + */ + if (wbc->sync_mode == WB_SYNC_ALL && !wbc->for_sync) sync_dirty_buffer(iloc.bh); if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) { EXT4_ERROR_INODE_BLOCK(inode, iloc.bh->b_blocknr, -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 733F97F47 for ; Fri, 10 Oct 2014 09:24:08 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 45F8A8F8050 for ; Fri, 10 Oct 2014 07:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412951045-04bdf028782a5570001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id QVNuwQveEEz2apKQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:06 -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 2A1EAADD6; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 7054A81FC7; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext3: Fix deadlock in data=journal mode when fs is frozen Date: Fri, 10 Oct 2014 16:23:11 +0200 X-ASG-Orig-Subj: [PATCH] ext3: Fix deadlock in data=journal mode when fs is frozen Message-Id: <1412951028-4085-7-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951046 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When ext3 is used in data=journal mode, syncing filesystem makes sure all the data is committed in the journal but the data doesn't have to be checkpointed. ext3_freeze() then takes care of checkpointing all the data so all buffer heads are clean but pages can still have dangling dirty bits. So when flusher thread comes later when filesystem is frozen, it tries to write back dirty pages, ext3_journalled_writepage() tries to start a transaction and hangs waiting for frozen fs causing a deadlock because a holder of s_umount semaphore may be waiting for flusher thread to complete. The fix is luckily relatively easy. We don't have to start a transaction in ext3_journalled_writepage() when a page is just dirty (and doesn't have PageChecked set) because in that case all buffers should be already mapped (mapping must happen before writing a buffer to the journal) and it is enough to write them out. This optimization also solves the deadlock because block_write_full_page() will just find out there's no buffer to write and do nothing. Signed-off-by: Jan Kara --- fs/ext3/inode.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) JFYI: I've added this patch to my tree. diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index f5157d0d1b43..695abe738a24 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -1716,17 +1716,17 @@ static int ext3_journalled_writepage(struct page *page, WARN_ON_ONCE(IS_RDONLY(inode) && !(EXT3_SB(inode->i_sb)->s_mount_state & EXT3_ERROR_FS)); - if (ext3_journal_current_handle()) - goto no_write; - trace_ext3_journalled_writepage(page); - handle = ext3_journal_start(inode, ext3_writepage_trans_blocks(inode)); - if (IS_ERR(handle)) { - ret = PTR_ERR(handle); - goto no_write; - } - if (!page_has_buffers(page) || PageChecked(page)) { + if (ext3_journal_current_handle()) + goto no_write; + + handle = ext3_journal_start(inode, + ext3_writepage_trans_blocks(inode)); + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); + goto no_write; + } /* * It's mmapped pagecache. Add buffers and journal it. There * doesn't seem much point in redirtying the page here. @@ -1749,17 +1749,18 @@ static int ext3_journalled_writepage(struct page *page, atomic_set(&EXT3_I(inode)->i_datasync_tid, handle->h_transaction->t_tid); unlock_page(page); + err = ext3_journal_stop(handle); + if (!ret) + ret = err; } else { /* - * It may be a page full of checkpoint-mode buffers. We don't - * really know unless we go poke around in the buffer_heads. - * But block_write_full_page will do the right thing. + * It is a page full of checkpoint-mode buffers. Go and write + * them. They should have been already mapped when they went + * to the journal so provide NULL get_block function to catch + * errors. */ - ret = block_write_full_page(page, ext3_get_block, wbc); + ret = block_write_full_page(page, NULL, wbc); } - err = ext3_journal_stop(handle); - if (!ret) - ret = err; out: return ret; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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=0.0 required=5.0 tests=none 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 2CBA47F5A for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0B2BD8F8059 for ; Fri, 10 Oct 2014 07:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412951043-04bdf028792a5560001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id gYDP3qBUvkOiYaHB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 A2184ADCF; Fri, 10 Oct 2014 14:24:02 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 562D281FC4; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Dave Jones , Dave Jones , Jens Axboe , Linus Torvalds Subject: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths Date: Fri, 10 Oct 2014 16:23:07 +0200 X-ASG-Orig-Subj: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths Message-Id: <1412951028-4085-3-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951044 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: 2.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_MV0249, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 2.00 BSF_SC0_MV0249 Custom rule MV0249 From: Dave Jones Commit 7982e90c3a57 ("block: fix q->flush_rq NULL pointer crash on dm-mpath flush") moved an allocation to blk_init_allocated_queue(), but neglected to free that allocation on the error paths that follow. Signed-off-by: Dave Jones Acked-by: Mike Snitzer Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds --- block/blk-core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 4cd5ffc18442..bfe16d5af9f9 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -713,7 +713,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn, return NULL; if (blk_init_rl(&q->root_rl, q, GFP_KERNEL)) - return NULL; + goto fail; q->request_fn = rfn; q->prep_rq_fn = NULL; @@ -737,12 +737,16 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn, /* init elevator */ if (elevator_init(q, NULL)) { mutex_unlock(&q->sysfs_lock); - return NULL; + goto fail; } mutex_unlock(&q->sysfs_lock); return q; + +fail: + kfree(q->flush_rq); + return NULL; } EXPORT_SYMBOL(blk_init_allocated_queue); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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=0.0 required=5.0 tests=none 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 5FAE07F4E for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3F6968F8066 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951043-04bdf028762a5550001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id w3i1vv1u6RFG16du (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:04 -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 9A38AADBE; Fri, 10 Oct 2014 14:24:02 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 6962381FBC; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext3: Speedup WB_SYNC_ALL pass Date: Fri, 10 Oct 2014 16:23:12 +0200 X-ASG-Orig-Subj: [PATCH] ext3: Speedup WB_SYNC_ALL pass Message-Id: <1412951028-4085-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951044 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When doing filesystem wide sync, there's no need to force transaction commit separately for each inode because ext3_sync_fs() takes care of forcing commit at the end. Most of the time this slowness doesn't manifest because previous WB_SYNC_NONE writeback doesn't leave much to write but when there are processes aggressively creating new files and several filesystems to sync, the sync slowness can be noticeable. In the following test script sync(1) takes around 6 minutes when there are two ext3 filesystems mounted on a standard SATA drive. After this patch sync takes a couple of seconds so we have about two orders of magnitude improvement. function run_writers { for (( i = 0; i < 10; i++ )); do mkdir $1/dir$i for (( j = 0; j < 40000; j++ )); do dd if=/dev/zero of=$1/dir$i/$j bs=4k count=4 &>/dev/null done & done } for dir in "$@"; do run_writers $dir done sleep 40 time sync Signed-off-by: Jan Kara --- fs/ext3/inode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 384b6ebb655f..14c2faf3c312 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -3253,7 +3253,12 @@ int ext3_write_inode(struct inode *inode, struct writeback_control *wbc) return -EIO; } - if (wbc->sync_mode != WB_SYNC_ALL) + /* + * No need to force transaction in WB_SYNC_NONE mode. Also + * ext3_sync_fs() will force the commit after everything is + * written. + */ + if (wbc->sync_mode != WB_SYNC_ALL || wbc->for_sync) return 0; return ext3_force_commit(inode->i_sb); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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=0.0 required=5.0 tests=none 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 67D917F5D for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2AC118F8065 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951043-04bdf028782a5560001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id FkmHruFLKUtr9D57 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:04 -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 9A242AD5E; Fri, 10 Oct 2014 14:24:02 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 5AA6B81FC0; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Shaohua Li , Jens Axboe Subject: [PATCH] block: improve rq_affinity placement Date: Fri, 10 Oct 2014 16:23:08 +0200 X-ASG-Orig-Subj: [PATCH] block: improve rq_affinity placement Message-Id: <1412951028-4085-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951044 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Shaohua Li This patch reverts commit 35ae66e0a09ab70ed(block: Make rq_affinity = 1 work as expected). The purpose is to avoid an unnecessary IPI. Let's take an example. My test box has cpu 0-7, one socket. Say request is added from CPU 1, blk_complete_request() occurs at CPU 7. Without the reverted patch, softirq will be done at CPU 7. With it, an IPI will be directed to CPU 0, and softirq will be done at CPU 0. In this case, doing softirq at CPU 0 and CPU 7 have no difference from cache sharing point view and we can avoid an ipi if doing it in CPU 7. An immediate concern is this is just like QUEUE_FLAG_SAME_FORCE, but actually not. blk_complete_request() is running in interrupt handler, and currently I/O controller doesn't support multiple interrupts (I checked several LSI cards and AHCI), so only one CPU can run blk_complete_request(). This is still quite different as QUEUE_FLAG_SAME_FORCE. Since only one CPU runs softirq, the only difference with below patch is softirq not always runs at the first CPU of a group. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe --- block/blk-softirq.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/block/blk-softirq.c b/block/blk-softirq.c index 487addc85bb5..58340d0cb23a 100644 --- a/block/blk-softirq.c +++ b/block/blk-softirq.c @@ -103,7 +103,7 @@ static struct notifier_block __cpuinitdata blk_cpu_notifier = { void __blk_complete_request(struct request *req) { - int ccpu, cpu; + int ccpu, cpu, group_cpu = NR_CPUS; struct request_queue *q = req->q; unsigned long flags; @@ -117,12 +117,22 @@ void __blk_complete_request(struct request *req) */ if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) && req->cpu != -1) { ccpu = req->cpu; - if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) + if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) { ccpu = blk_cpu_to_group(ccpu); + group_cpu = blk_cpu_to_group(cpu); + } } else ccpu = cpu; - if (ccpu == cpu) { + /* + * If current CPU and requested CPU are in the same group, running + * softirq in current CPU. One might concern this is just like + * QUEUE_FLAG_SAME_FORCE, but actually not. blk_complete_request() is + * running in interrupt handler, and currently I/O controller doesn't + * support multiple interrupts, so current CPU is unique actually. This + * avoids IPI sending from current CPU to the first CPU of a group. + */ + if (ccpu == cpu || ccpu == group_cpu) { struct list_head *list; do_local: list = &__get_cpu_var(blk_cpu_done); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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=0.0 required=5.0 tests=none 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 7368F7F5F for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 53056304053 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951046-04bdf028792a5590001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id jyFcjPoBGp2LMHjR (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:07 -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 318F5ADD9; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8D81681FC8; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 1/2] ext4: Fix block zeroing when punching holes in indirect block files Date: Fri, 10 Oct 2014 16:23:15 +0200 X-ASG-Orig-Subj: [PATCH 1/2] ext4: Fix block zeroing when punching holes in indirect block files Message-Id: <1412951028-4085-11-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951047 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header free_holes_block() passed local variable as a block pointer to ext4_clear_blocks(). Thus ext4_clear_blocks() zeroed out this local variable instead of proper place in inode / indirect block. We later zero out proper place in inode / indirect block but don't dirty the inode / buffer again which can lead to subtle issues (some changes e.g. to inode can be lost). Signed-off-by: Jan Kara --- fs/ext4/indirect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c index 8a57e9fcd1b9..9d381707a6fc 100644 --- a/fs/ext4/indirect.c +++ b/fs/ext4/indirect.c @@ -1329,8 +1329,8 @@ static int free_hole_blocks(handle_t *handle, struct inode *inode, if (level == 0 || (bh && all_zeroes((__le32 *)bh->b_data, (__le32 *)bh->b_data + addr_per_block))) { - ext4_free_data(handle, inode, parent_bh, &blk, &blk+1); - *i_data = 0; + ext4_free_data(handle, inode, parent_bh, + i_data, i_data + 1); } brelse(bh); bh = NULL; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 196D37F59 for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EDBE28F8050 for ; Fri, 10 Oct 2014 07:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412951046-04cbb018ab2aff40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id tcMzFjHFQvRIIEe5 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:07 -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 4CDA5ADDC; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 9D50B81FD3; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext4: Fix jbd2 warning under heavy xattr load Date: Fri, 10 Oct 2014 16:23:17 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Fix jbd2 warning under heavy xattr load Message-Id: <1412951028-4085-13-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951047 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When heavily exercising xattr code the assertion that jbd2_journal_dirty_metadata() shouldn't return error was triggered: WARNING: at /srv/autobuild-ceph/gitbuilder.git/build/fs/jbd2/transaction.c:1237 jbd2_journal_dirty_metadata+0x1ba/0x260() CPU: 0 PID: 8877 Comm: ceph-osd Tainted: G W 3.10.0-ceph-00049-g68d04c9 #1 Hardware name: Dell Inc. PowerEdge R410/01V648, BIOS 1.6.3 02/07/2011 ffffffff81a1d3c8 ffff880214469928 ffffffff816311b0 ffff880214469968 ffffffff8103fae0 ffff880214469958 ffff880170a9dc30 ffff8802240fbe80 0000000000000000 ffff88020b366000 ffff8802256e7510 ffff880214469978 Call Trace: [] dump_stack+0x19/0x1b [] warn_slowpath_common+0x70/0xa0 [] warn_slowpath_null+0x1a/0x20 [] jbd2_journal_dirty_metadata+0x1ba/0x260 [] __ext4_handle_dirty_metadata+0xa3/0x140 [] ext4_xattr_release_block+0x103/0x1f0 [] ext4_xattr_block_set+0x1e0/0x910 [] ext4_xattr_set_handle+0x38b/0x4a0 [] ? trace_hardirqs_on+0xd/0x10 [] ext4_xattr_set+0xc2/0x140 [] ext4_xattr_user_set+0x47/0x50 [] generic_setxattr+0x6e/0x90 [] __vfs_setxattr_noperm+0x7b/0x1c0 [] vfs_setxattr+0xc4/0xd0 [] setxattr+0x13e/0x1e0 [] ? __sb_start_write+0xe7/0x1b0 [] ? mnt_want_write_file+0x28/0x60 [] ? fget_light+0x3c/0x130 [] ? mnt_want_write_file+0x28/0x60 [] ? __mnt_want_write+0x58/0x70 [] SyS_fsetxattr+0xbe/0x100 [] system_call_fastpath+0x16/0x1b The reason for the warning is that buffer_head passed into jbd2_journal_dirty_metadata() didn't have journal_head attached. This is caused by the following race of two ext4_xattr_release_block() calls: CPU1 CPU2 ext4_xattr_release_block() ext4_xattr_release_block() lock_buffer(bh); /* False */ if (BHDR(bh)->h_refcount == cpu_to_le32(1)) } else { le32_add_cpu(&BHDR(bh)->h_refcount, -1); unlock_buffer(bh); lock_buffer(bh); /* True */ if (BHDR(bh)->h_refcount == cpu_to_le32(1)) get_bh(bh); ext4_free_blocks() ... jbd2_journal_forget() jbd2_journal_unfile_buffer() -> JH is gone error = ext4_handle_dirty_xattr_block(handle, inode, bh); -> triggers the warning We fix the problem by moving ext4_handle_dirty_xattr_block() under the buffer lock. Sadly this cannot be done in nojournal mode as that function can call sync_dirty_buffer() which would deadlock. Luckily in nojournal mode the race is harmless (we only dirty already freed buffer) and thus for nojournal mode we leave the dirtying outside of the buffer lock. Reported-by: Sage Weil Signed-off-by: Jan Kara --- fs/ext4/xattr.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index e175e94116ac..55e611c1513c 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -517,8 +517,8 @@ static void ext4_xattr_update_super_block(handle_t *handle, } /* - * Release the xattr block BH: If the reference count is > 1, decrement - * it; otherwise free the block. + * Release the xattr block BH: If the reference count is > 1, decrement it; + * otherwise free the block. */ static void ext4_xattr_release_block(handle_t *handle, struct inode *inode, @@ -538,16 +538,31 @@ ext4_xattr_release_block(handle_t *handle, struct inode *inode, if (ce) mb_cache_entry_free(ce); get_bh(bh); + unlock_buffer(bh); ext4_free_blocks(handle, inode, bh, 0, 1, EXT4_FREE_BLOCKS_METADATA | EXT4_FREE_BLOCKS_FORGET); - unlock_buffer(bh); } else { le32_add_cpu(&BHDR(bh)->h_refcount, -1); if (ce) mb_cache_entry_release(ce); + /* + * Beware of this ugliness: Releasing of xattr block references + * from different inodes can race and so we have to protect + * from a race where someone else frees the block (and releases + * its journal_head) before we are done dirtying the buffer. In + * nojournal mode this race is harmless and we actually cannot + * call ext4_handle_dirty_xattr_block() with locked buffer as + * that function can call sync_dirty_buffer() so for that case + * we handle the dirtying after unlocking the buffer. + */ + if (ext4_handle_valid(handle)) + error = ext4_handle_dirty_xattr_block(handle, inode, + bh); unlock_buffer(bh); - error = ext4_handle_dirty_xattr_block(handle, inode, bh); + if (!ext4_handle_valid(handle)) + error = ext4_handle_dirty_xattr_block(handle, inode, + bh); if (IS_SYNC(inode)) ext4_handle_sync(handle); dquot_free_block(inode, EXT4_C2B(EXT4_SB(inode->i_sb), 1)); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 8CEF77F61 for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7BBEA304071 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951047-04cb6c77072ddb30001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 8mg5WERLud6dQHVC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:08 -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 B9B50ADE0; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id A736881FDE; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org Subject: [PATCH] ext4: Fix zeroing of page during writeback Date: Fri, 10 Oct 2014 16:23:18 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Fix zeroing of page during writeback Message-Id: <1412951028-4085-14-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951048 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Tail of a page straddling inode size must be zeroed when being written out due to POSIX requirement that modifications of mmaped page beyond inode size must not be written to the file. ext4_bio_write_page() did this only for blocks fully beyond inode size but didn't properly zero blocks partially beyond inode size. Fix this. The problem has been uncovered by mmap_11-4 test in openposix test suite (part of LTP). Reported-by: Xiaoguang Wang Fixes: 5a0dc7365c240 Fixes: bd2d0210cf22f CC: stable@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext4/page-io.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index c18d95b50540..b936388b834f 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -418,6 +418,17 @@ int ext4_bio_write_page(struct ext4_io_submit *io, ClearPageError(page); /* + * Comments copied from block_write_full_page_endio: + * + * The page straddles i_size. It must be zeroed out on each and every + * writepage invocation because it may be mmapped. "A file is mapped + * in multiples of the page size. For a file that is not a multiple of + * the page size, the remaining memory is zeroed when mapped, and + * writes to that region are not written out to the file." + */ + if (len < PAGE_CACHE_SIZE) + zero_user_segment(page, len, PAGE_CACHE_SIZE); + /* * In the first loop we prepare and mark buffers to submit. We have to * mark all buffers in the page before submitting so that * end_page_writeback() cannot be called from ext4_bio_end_io() when IO @@ -428,19 +439,6 @@ int ext4_bio_write_page(struct ext4_io_submit *io, do { block_start = bh_offset(bh); if (block_start >= len) { - /* - * Comments copied from block_write_full_page_endio: - * - * The page straddles i_size. It must be zeroed out on - * each and every writepage invocation because it may - * be mmapped. "A file is mapped in multiples of the - * page size. For a file that is not a multiple of - * the page size, the remaining memory is zeroed when - * mapped, and writes to that region are not written - * out to the file." - */ - zero_user_segment(page, block_start, - block_start + blocksize); clear_buffer_dirty(bh); set_buffer_uptodate(bh); continue; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 9FC817F62 for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 71744304075 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951046-04bdf028762a5580001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id rR8PqEwyZQuJE6wi (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:07 -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 32E82ADDA; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8A7D481FC9; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext4: Avoid lock inversion between i_mmap_mutex and transaction start Date: Fri, 10 Oct 2014 16:23:13 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Avoid lock inversion between i_mmap_mutex and transaction start Message-Id: <1412951028-4085-9-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951047 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When DAX is enabled, it uses i_mmap_mutex as a protection against truncate during page fault. This inevitably forces i_mmap_mutex to rank outside of a transaction start and thus we have to avoid calling pagecache purging operations when transaction is started. Signed-off-by: Jan Kara --- fs/ext4/inode.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 8a064734e6eb..494a8645d63e 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -3631,13 +3631,19 @@ int ext4_punch_hole(struct inode *inode, loff_t offset, loff_t length) if (IS_SYNC(inode)) ext4_handle_sync(handle); - /* Now release the pages again to reduce race window */ + inode->i_mtime = inode->i_ctime = ext4_current_time(inode); + ext4_mark_inode_dirty(handle, inode); + ext4_journal_stop(handle); + + /* + * Now release the pages again to reduce race window. This has to happen + * outside of a transaction to avoid lock inversion on i_mmap_mutex + * when DAX is enabled. + */ if (last_block_offset > first_block_offset) truncate_pagecache_range(inode, first_block_offset, last_block_offset); - - inode->i_mtime = inode->i_ctime = ext4_current_time(inode); - ext4_mark_inode_dirty(handle, inode); + goto out_dio; out_stop: ext4_journal_stop(handle); out_dio: -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C9D547F63 for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B914A8F8059 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951047-04cbb018ad2aff50001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id JQkNP46KwiAkelGB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:08 -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 2F45FADD8; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 78DB580BA9; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Dan Williams , Christoph Hellwig , Roland Dreier , Jens Axboe Subject: [PATCH] block: strict rq_affinity Date: Fri, 10 Oct 2014 16:23:10 +0200 X-ASG-Orig-Subj: [PATCH] block: strict rq_affinity Message-Id: <1412951028-4085-6-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951047 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Dan Williams Some systems benefit from completions always being steered to the strict requester cpu rather than the looser "per-socket" steering that blk_cpu_to_group() attempts by default. This is because the first CPU in the group mask ends up being completely overloaded with work, while the others (including the original submitter) has power left to spare. Allow the strict mode to be set by writing '2' to the sysfs control file. This is identical to the scheme used for the nomerges file, where '2' is a more aggressive setting than just being turned on. echo 2 > /sys/block//queue/rq_affinity Cc: Christoph Hellwig Cc: Roland Dreier Tested-by: Dave Jiang Signed-off-by: Dan Williams Signed-off-by: Jens Axboe --- Documentation/block/queue-sysfs.txt | 10 +++++++--- block/blk-core.c | 6 ++---- block/blk-softirq.c | 11 +++++++---- block/blk-sysfs.c | 13 +++++++++---- include/linux/blkdev.h | 3 ++- 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/Documentation/block/queue-sysfs.txt b/Documentation/block/queue-sysfs.txt index f65274081c8d..d8147b336c35 100644 --- a/Documentation/block/queue-sysfs.txt +++ b/Documentation/block/queue-sysfs.txt @@ -45,9 +45,13 @@ device. rq_affinity (RW) ---------------- -If this option is enabled, the block layer will migrate request completions -to the CPU that originally submitted the request. For some workloads -this provides a significant reduction in CPU cycles due to caching effects. +If this option is '1', the block layer will migrate request completions to the +cpu "group" that originally submitted the request. For some workloads this +provides a significant reduction in CPU cycles due to caching effects. + +For storage configurations that need to maximize distribution of completion +processing setting this option to '2' forces the completion to run on the +requesting cpu (bypassing the "group" aggregation logic). scheduler (RW) -------------- diff --git a/block/blk-core.c b/block/blk-core.c index a56485292062..b3228255304d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1279,10 +1279,8 @@ get_rq: init_request_from_bio(req, bio); if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) || - bio_flagged(bio, BIO_CPU_AFFINE)) { - req->cpu = blk_cpu_to_group(get_cpu()); - put_cpu(); - } + bio_flagged(bio, BIO_CPU_AFFINE)) + req->cpu = smp_processor_id(); plug = current->plug; if (plug) { diff --git a/block/blk-softirq.c b/block/blk-softirq.c index ee9c21602228..475fab809a80 100644 --- a/block/blk-softirq.c +++ b/block/blk-softirq.c @@ -103,22 +103,25 @@ static struct notifier_block __cpuinitdata blk_cpu_notifier = { void __blk_complete_request(struct request *req) { + int ccpu, cpu, group_cpu = NR_CPUS; struct request_queue *q = req->q; unsigned long flags; - int ccpu, cpu, group_cpu; BUG_ON(!q->softirq_done_fn); local_irq_save(flags); cpu = smp_processor_id(); - group_cpu = blk_cpu_to_group(cpu); /* * Select completion CPU */ - if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) && req->cpu != -1) + if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) && req->cpu != -1) { ccpu = req->cpu; - else + if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) { + ccpu = blk_cpu_to_group(ccpu); + group_cpu = blk_cpu_to_group(cpu); + } + } else ccpu = cpu; if (ccpu == cpu || ccpu == group_cpu) { diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index d935bd859c87..0ee17b5e7fb6 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -244,8 +244,9 @@ static ssize_t queue_nomerges_store(struct request_queue *q, const char *page, static ssize_t queue_rq_affinity_show(struct request_queue *q, char *page) { bool set = test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags); + bool force = test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags); - return queue_var_show(set, page); + return queue_var_show(set << force, page); } static ssize_t @@ -257,10 +258,14 @@ queue_rq_affinity_store(struct request_queue *q, const char *page, size_t count) ret = queue_var_store(&val, page, count); spin_lock_irq(q->queue_lock); - if (val) + if (val) { queue_flag_set(QUEUE_FLAG_SAME_COMP, q); - else - queue_flag_clear(QUEUE_FLAG_SAME_COMP, q); + if (val == 2) + queue_flag_set(QUEUE_FLAG_SAME_FORCE, q); + } else { + queue_flag_clear(QUEUE_FLAG_SAME_COMP, q); + queue_flag_clear(QUEUE_FLAG_SAME_FORCE, q); + } spin_unlock_irq(q->queue_lock); #endif return ret; diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index c0cd9a2f22ef..0e67c45b3bc9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -392,7 +392,7 @@ struct request_queue { #define QUEUE_FLAG_ELVSWITCH 6 /* don't use elevator, just do FIFO */ #define QUEUE_FLAG_BIDI 7 /* queue supports bidi requests */ #define QUEUE_FLAG_NOMERGES 8 /* disable merge attempts */ -#define QUEUE_FLAG_SAME_COMP 9 /* force complete on same CPU */ +#define QUEUE_FLAG_SAME_COMP 9 /* complete on same CPU-group */ #define QUEUE_FLAG_FAIL_IO 10 /* fake timeout */ #define QUEUE_FLAG_STACKABLE 11 /* supports request stacking */ #define QUEUE_FLAG_NONROT 12 /* non-rotational device (SSD) */ @@ -402,6 +402,7 @@ struct request_queue { #define QUEUE_FLAG_NOXMERGES 15 /* No extended merges */ #define QUEUE_FLAG_ADD_RANDOM 16 /* Contributes to random pool */ #define QUEUE_FLAG_SECDISCARD 17 /* supports SECDISCARD */ +#define QUEUE_FLAG_SAME_FORCE 18 /* force complete on same CPU */ #define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \ (1 << QUEUE_FLAG_STACKABLE) | \ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 14B197F47 for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B50AFAC010 for ; Fri, 10 Oct 2014 07:24:09 -0700 (PDT) X-ASG-Debug-ID: 1412951047-04bdf028782a5590001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id hTdhsxr2ZJKnH9VJ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:08 -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 AF0BDADDD; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id ACDC581FCE; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] fs: Avoid userspace mounting anon_inodefs filesystem Date: Fri, 10 Oct 2014 16:23:22 +0200 X-ASG-Orig-Subj: [PATCH] fs: Avoid userspace mounting anon_inodefs filesystem Message-Id: <1412951028-4085-18-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951048 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header anon_inodefs filesystem is a kernel internal filesystem userspace shouldn't mess with. Remove registration of it so userspace cannot even try to mount it (which would fail anyway because the filesystem is MS_NOUSER). This fixes an oops triggered by trinity when it tried mounting anon_inodefs which overwrote anon_inode_inode pointer while other CPU has been in anon_inode_getfile() between ihold() and d_instantiate(). Thus effectively creating dentry pointing to an inode without holding a reference to it. Reported-by: Sasha Levin Signed-off-by: Jan Kara --- fs/anon_inodes.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index 24084732b1d0..4b4543b8b894 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c @@ -177,9 +177,6 @@ static int __init anon_inode_init(void) { int error; - error = register_filesystem(&anon_inode_fs_type); - if (error) - goto err_exit; anon_inode_mnt = kern_mount(&anon_inode_fs_type); if (IS_ERR(anon_inode_mnt)) { error = PTR_ERR(anon_inode_mnt); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 866937F60 for ; Fri, 10 Oct 2014 09:24:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 152D5AC01B for ; Fri, 10 Oct 2014 07:24:08 -0700 (PDT) X-ASG-Debug-ID: 1412951046-04cbb018ac2aff40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id d5dHWvsQjLJtJ5PA (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:07 -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 3E457ADDB; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 961E581FDD; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] ext4: Remove orphan list handling Date: Fri, 10 Oct 2014 16:23:19 +0200 X-ASG-Orig-Subj: [PATCH] ext4: Remove orphan list handling Message-Id: <1412951028-4085-15-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951047 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- fs/ext4/namei.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 0486fbafb808..45a0d2b8953a 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -2559,6 +2559,7 @@ int ext4_orphan_add(handle_t *handle, struct inode *inode) int err = 0, rc; bool dirty = false; + return 0; if (!sbi->s_journal) return 0; @@ -2616,7 +2617,7 @@ int ext4_orphan_add(handle_t *handle, struct inode *inode) * list entries can cause panics at unmount time. */ mutex_lock(&sbi->s_orphan_lock); - list_del(&EXT4_I(inode)->i_orphan); + list_del_init(&EXT4_I(inode)->i_orphan); mutex_unlock(&sbi->s_orphan_lock); } } @@ -2641,6 +2642,7 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode) struct ext4_iloc iloc; int err = 0; + return 0; if (!sbi->s_journal && !(sbi->s_mount_state & EXT4_ORPHAN_FS)) return 0; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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.0 required=5.0 tests=none 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 3278E7F66 for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 12C8A304070 for ; Fri, 10 Oct 2014 07:24:07 -0700 (PDT) X-ASG-Debug-ID: 1412951045-04cbb018ae2aff30001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id MqqWIQ8VvJFY2zw4 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:05 -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 26B6DADD5; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 862A681FCB; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org Subject: [PATCH 1/2] ext4: Don't check quota format when there are no quota files Date: Fri, 10 Oct 2014 16:23:14 +0200 X-ASG-Orig-Subj: [PATCH 1/2] ext4: Don't check quota format when there are no quota files Message-Id: <1412951028-4085-10-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951045 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header The check whether quota format is set even though there are no quota files with journalled quota is pointless and it actually makes it impossible to turn off journalled quotas (as there's no way to unset journalled quota format). Just remove the check. CC: stable@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext4/super.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 0b28b36e7915..3ff598f3d4af 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1712,13 +1712,6 @@ static int parse_options(char *options, struct super_block *sb, "not specified"); return 0; } - } else { - if (sbi->s_jquota_fmt) { - ext4_msg(sb, KERN_ERR, "journaled quota format " - "specified with no journaling " - "enabled"); - return 0; - } } #endif if (test_opt(sb, DIOREAD_NOLOCK)) { -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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.0 required=5.0 tests=none 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 492897F67 for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1AF718F8050 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951047-04bdf028772a5590001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id RjIacAhe8qXSLB4r (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:08 -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 B2A43ADDE; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id B0F7A81FE0; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] jbd2: Optimize jbd2_log_do_checkpoint() a bit Date: Fri, 10 Oct 2014 16:23:24 +0200 X-ASG-Orig-Subj: [PATCH] jbd2: Optimize jbd2_log_do_checkpoint() a bit Message-Id: <1412951028-4085-20-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951048 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header When we discover written out buffer in transaction checkpoint list we don't have to recheck validity of a transaction. Either this is the last buffer in a transaction - and then we are done - or this isn't and then we can just take another buffer from the checkpoint list without dropping j_list_lock. Signed-off-by: Jan Kara --- fs/jbd2/checkpoint.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index 993a187527f3..3722e2e53638 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -343,12 +343,15 @@ restart: if (!buffer_dirty(bh)) { if (unlikely(buffer_write_io_error(bh)) && !result) result = -EIO; - get_bh(bh); BUFFER_TRACE(bh, "remove from checkpoint"); - __jbd2_journal_remove_checkpoint(jh); - spin_unlock(&journal->j_list_lock); - __brelse(bh); - goto retry; + if (__jbd2_journal_remove_checkpoint(jh)) { + /* + * This was the last buffer attached to the + * transaction. We are done. + */ + goto out; + } + continue; } /* * Important: we are about to write the buffer, and -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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.0 required=5.0 tests=none 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 8B52B7F5A for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7ADD8304053 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cb6c77062ddb30001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id jRHBfW57l8kSII6A (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 C47CDADE3; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id A398281FCC; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , , Andrew Morton , Linus Torvalds Subject: [PATCH for 3.14-stable] fanotify: fix double free of pending permission events Date: Fri, 10 Oct 2014 16:23:21 +0200 X-ASG-Orig-Subj: [PATCH for 3.14-stable] fanotify: fix double free of pending permission events Message-Id: <1412951028-4085-17-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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_SC0_MISMATCH_TO, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header commit 5838d4442bd5971687b72221736222637e03140d upstream. Commit 85816794240b ("fanotify: Fix use after free for permission events") introduced a double free issue for permission events which are pending in group's notification queue while group is being destroyed. These events are freed from fanotify_handle_event() but they are not removed from groups notification queue and thus they get freed again from fsnotify_flush_notify(). Fix the problem by removing permission events from notification queue before freeing them if we skip processing access response. Also expand comments in fanotify_release() to explain group shutdown in detail. Fixes: 85816794240b9659e66e4d9b0df7c6e814e5f603 Signed-off-by: Jan Kara Reported-by: Douglas Leeder Tested-by: Douglas Leeder Reported-by: Heinrich Schuchard Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Jan Kara --- fs/notify/fanotify/fanotify.c | 9 ++++++++- fs/notify/fanotify/fanotify_user.c | 12 ++++++++++++ fs/notify/notification.c | 18 +++++++++++++++++- include/linux/fsnotify_backend.h | 2 ++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c index dc638f786d5c..aadf397be4d9 100644 --- a/fs/notify/fanotify/fanotify.c +++ b/fs/notify/fanotify/fanotify.c @@ -70,8 +70,15 @@ static int fanotify_get_response_from_access(struct fsnotify_group *group, wait_event(group->fanotify_data.access_waitq, event->response || atomic_read(&group->fanotify_data.bypass_perm)); - if (!event->response) /* bypass_perm set */ + if (!event->response) { /* bypass_perm set */ + /* + * Event was canceled because group is being destroyed. Remove + * it from group's event list because we are responsible for + * freeing the permission event. + */ + fsnotify_remove_event(group, &event->fse); return 0; + } /* userspace responded, convert to something usable */ switch (event->response) { diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index 287a22c04149..ceb130dd3ac8 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -385,6 +385,11 @@ static int fanotify_release(struct inode *ignored, struct file *file) #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS struct fanotify_response_event *re, *lre; + /* + * There may be still new events arriving in the notification queue + * but since userspace cannot use fanotify fd anymore, no event can + * enter or leave access_list by now. + */ mutex_lock(&group->fanotify_data.access_mutex); atomic_inc(&group->fanotify_data.bypass_perm); @@ -400,6 +405,13 @@ static int fanotify_release(struct inode *ignored, struct file *file) } mutex_unlock(&group->fanotify_data.access_mutex); + /* + * Since bypass_perm is set, newly queued events will not wait for + * access response. Wake up the already sleeping ones now. + * synchronize_srcu() in fsnotify_destroy_group() will wait for all + * processes sleeping in fanotify_handle_event() waiting for access + * response and thus also for all permission events to be freed. + */ wake_up(&group->fanotify_data.access_waitq); #endif diff --git a/fs/notify/notification.c b/fs/notify/notification.c index 1e58402171a5..25a07c70f1c9 100644 --- a/fs/notify/notification.c +++ b/fs/notify/notification.c @@ -73,7 +73,8 @@ void fsnotify_destroy_event(struct fsnotify_group *group, /* Overflow events are per-group and we don't want to free them */ if (!event || event->mask == FS_Q_OVERFLOW) return; - + /* If the event is still queued, we have a problem... */ + WARN_ON(!list_empty(&event->list)); group->ops->free_event(event); } @@ -125,6 +126,21 @@ queue: } /* + * Remove @event from group's notification queue. It is the responsibility of + * the caller to destroy the event. + */ +void fsnotify_remove_event(struct fsnotify_group *group, + struct fsnotify_event *event) +{ + mutex_lock(&group->notification_mutex); + if (!list_empty(&event->list)) { + list_del_init(&event->list); + group->q_len--; + } + mutex_unlock(&group->notification_mutex); +} + +/* * Remove and return the first event from the notification list. It is the * responsibility of the caller to destroy the obtained event */ diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 64cf3ef50696..6191c2edb8c7 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -326,6 +326,8 @@ extern int fsnotify_add_notify_event(struct fsnotify_group *group, struct fsnotify_event *event, int (*merge)(struct list_head *, struct fsnotify_event *)); +/* Remove passed event from groups notification queue */ +extern void fsnotify_remove_event(struct fsnotify_group *group, struct fsnotify_event *event); /* true if the group notification queue is empty */ extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group); /* return, but do not dequeue the first event on the notification queue */ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id BA9D77F69 for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A9BD28F8050 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ae2aff60001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id WKtWKuCXWiKl8Lun (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 C2D3AADE1; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C067082000; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] mm: Fixup pagecache_isize_extended() definitions for !CONFIG_MMU Date: Fri, 10 Oct 2014 16:23:26 +0200 X-ASG-Orig-Subj: [PATCH] mm: Fixup pagecache_isize_extended() definitions for !CONFIG_MMU Message-Id: <1412951028-4085-22-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header For !CONFIG_MMU systems we defined pagecache_isize_extended() in both include/linux/mm.h and mm/truncate.c which causes compilation error. Although pagecache_isize_extended() doesn't do anything useful for !CONFIG_MMU systems, it could do something in future and it's overhead isn't huge. So don't try to be too smart and remove !CONFIG_MMU definition of pagecache_isize_extended(). Signed-off-by: Jan Kara --- include/linux/mm.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index f0e53e5a3b17..5005464fe012 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1155,14 +1155,7 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, extern void truncate_pagecache(struct inode *inode, loff_t new); extern void truncate_setsize(struct inode *inode, loff_t newsize); -#ifdef CONFIG_MMU void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to); -#else -static inline void pagecache_isize_extended(struct inode *inode, loff_t from, - loff_t to) -{ -} -#endif void truncate_pagecache_range(struct inode *inode, loff_t offset, loff_t end); int truncate_inode_page(struct address_space *mapping, struct page *page); int generic_error_remove_page(struct address_space *mapping, struct page *page); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id DF3707F5D for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id C550E304070 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ad2aff70001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id zjZgILgKkuXVRpb7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 D0D38ADE7; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id D5CE082029; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] scsi: Keep interrupts disabled while submitting requests Date: Fri, 10 Oct 2014 16:23:33 +0200 X-ASG-Orig-Subj: [PATCH] scsi: Keep interrupts disabled while submitting requests Message-Id: <1412951028-4085-29-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header scsi_request_fn() can be called from softirq context during IO completion. If it enables interrupts there, HW interrupts can interrupt softirq processing and queue more IO completion work which can eventually lead to softlockup reports because IO completion softirq runs for too long. Keep interrupts disabled in scsi_request_fn(). Signed-off-by: Jan Kara --- drivers/scsi/scsi_lib.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index f7e316368c99..44b867e9adc9 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -1481,7 +1481,8 @@ static void scsi_softirq_done(struct request *rq) * * Returns: Nothing * - * Lock status: IO request lock assumed to be held when called. + * Lock status: IO request lock assumed to be held when called, interrupts + * must be disabled. */ static void scsi_request_fn(struct request_queue *q) __releases(q->queue_lock) @@ -1563,7 +1564,7 @@ static void scsi_request_fn(struct request_queue *q) * XXX(hch): This is rather suboptimal, scsi_dispatch_cmd will * take the lock again. */ - spin_unlock_irq(shost->host_lock); + spin_unlock(shost->host_lock); /* * Finally, initialize any error handling parameters, and set up @@ -1575,7 +1576,7 @@ static void scsi_request_fn(struct request_queue *q) * Dispatch the command to the low-level driver. */ rtn = scsi_dispatch_cmd(cmd); - spin_lock_irq(q->queue_lock); + spin_lock(q->queue_lock); if (rtn) goto out_delay; } @@ -1583,7 +1584,7 @@ static void scsi_request_fn(struct request_queue *q) return; not_ready: - spin_unlock_irq(shost->host_lock); + spin_unlock(shost->host_lock); /* * lock q, handle tag, requeue req, and decrement device_busy. We @@ -1593,7 +1594,7 @@ static void scsi_request_fn(struct request_queue *q) * cases (host limits or settings) should run the queue at some * later time. */ - spin_lock_irq(q->queue_lock); + spin_lock(q->queue_lock); blk_requeue_request(q, req); sdev->device_busy--; out_delay: -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 09D8A7F5F for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id ECC8A304053 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ac2aff60001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id Z9UGzAHqTPBEiNS5 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 C5CE7ADE4; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id B97C581FE4; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 1/2] jbd2: Avoid pointless scanning of checkpoint lists Date: Fri, 10 Oct 2014 16:23:23 +0200 X-ASG-Orig-Subj: [PATCH 1/2] jbd2: Avoid pointless scanning of checkpoint lists Message-Id: <1412951028-4085-19-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Yuanhan has reported that when he is running fsync(2) heavy workload creating new files over ramdisk, significant amount of time is spent in __jbd2_journal_clean_checkpoint_list() trying to clean old transactions (but they cannot be cleaned up because flusher hasn't yet checkpointed those buffers). The workload can be generated by: fs_mark -d /fs/ram0/1 -D 2 -N 2560 -n 1000000 -L 1 -S 1 -s 4096 Reduce the amount of scanning by stopping to scan the transaction list once we find a transaction that cannot be checkpointed. Note that this way of cleaning is still enough to keep freeing space in the journal after fully checkpointed transactions. Reported-and-tested-by: Yuanhan Liu Signed-off-by: Jan Kara --- fs/jbd2/checkpoint.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index 7f34f4716165..e39b2d0e1079 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -478,7 +478,6 @@ int jbd2_cleanup_journal_tail(journal_t *journal) * Find all the written-back checkpoint buffers in the given list and * release them. * - * Called with the journal locked. * Called with j_list_lock held. * Returns number of buffers reaped (for debug) */ @@ -498,12 +497,12 @@ static int journal_clean_one_cp_list(struct journal_head *jh, int *released) jh = next_jh; next_jh = jh->b_cpnext; ret = __try_to_free_cp_buf(jh); - if (ret) { - freed++; - if (ret == 2) { - *released = 1; - return freed; - } + if (!ret) + return freed; + freed++; + if (ret == 2) { + *released = 1; + return freed; } /* * This function only frees up some memory @@ -523,7 +522,6 @@ static int journal_clean_one_cp_list(struct journal_head *jh, int *released) * * Find all the written-back checkpoint buffers in the journal and release them. * - * Called with the journal locked. * Called with j_list_lock held. * Returns number of buffers reaped (for debug) */ @@ -531,7 +529,8 @@ static int journal_clean_one_cp_list(struct journal_head *jh, int *released) int __jbd2_journal_clean_checkpoint_list(journal_t *journal) { transaction_t *transaction, *last_transaction, *next_transaction; - int ret = 0; + int ret; + int freed = 0; int released; transaction = journal->j_checkpoint_transactions; @@ -543,17 +542,21 @@ int __jbd2_journal_clean_checkpoint_list(journal_t *journal) do { transaction = next_transaction; next_transaction = transaction->t_cpnext; - ret += journal_clean_one_cp_list(transaction-> + ret = journal_clean_one_cp_list(transaction-> t_checkpoint_list, &released); /* * This function only frees up some memory if possible so we * dont have an obligation to finish processing. Bail out if * preemption requested: */ - if (need_resched()) + if (need_resched()) { + freed += ret; goto out; - if (released) + } + if (released) { + freed += ret; continue; + } /* * It is essential that we are as careful as in the case of * t_checkpoint_list with removing the buffer from the list as @@ -561,11 +564,12 @@ int __jbd2_journal_clean_checkpoint_list(journal_t *journal) */ ret += journal_clean_one_cp_list(transaction-> t_checkpoint_io_list, &released); - if (need_resched()) + freed += ret; + if (need_resched() || !ret) goto out; } while (transaction != last_transaction); out: - return ret; + return freed; } /* -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 28FAD7F72 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1841E8F8050 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cb6c77042ddb40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id dgk5MuGl0vVWapnc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 49D27ADF1; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id EBD6382045; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] udf: Print error when inode is loaded Date: Fri, 10 Oct 2014 16:23:37 +0200 X-ASG-Orig-Subj: [PATCH] udf: Print error when inode is loaded Message-Id: <1412951028-4085-33-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- fs/udf/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/udf/super.c b/fs/udf/super.c index 5401fc33f5cc..479875155d77 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -962,7 +962,7 @@ struct inode *udf_find_metadata_inode_efe(struct super_block *sb, metadata_fe = udf_iget(sb, &addr); if (IS_ERR(metadata_fe)) { - udf_warn(sb, "metadata inode efe not found\n"); + udf_warn(sb, "metadata inode efe not found: %d\n", PTR_ERR(metadata_fe)); return metadata_fe; } if (UDF_I(metadata_fe)->i_alloc_type != ICBTAG_FLAG_AD_SHORT) { -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 64D547F74 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 441E1304053 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cb6c77052ddb50001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id vFwYum9GLTQfdWAp (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 618FCADF4; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 10F6F8206C; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 2/2] ext4: Fix mmap data corruption when blocksize < pagesize Date: Fri, 10 Oct 2014 16:23:46 +0200 X-ASG-Orig-Subj: [PATCH 2/2] ext4: Fix mmap data corruption when blocksize < pagesize Message-Id: <1412951028-4085-42-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Use truncate_isize_extended() when hole is being created in a file so that ->page_mkwrite() will get called for the partial tail page if it is mmaped (see the first patch in the series for details). Signed-off-by: Jan Kara --- fs/ext4/inode.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 3aa26e9117c4..9e269489e094 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4536,8 +4536,12 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr) ext4_orphan_del(NULL, inode); goto err_out; } - } else + } else { + loff_t oldsize = inode->i_size; + i_size_write(inode, attr->ia_size); + pagecache_isize_extended(inode, oldsize, inode->i_size); + } /* * Blocks are going to be removed from the inode. Wait -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 5DB8E7F73 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1B5CAC019 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cb6c77062ddb40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id tyzoQ6AKrsybjr0F (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 DEA61ADEA; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C279E81FE7; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Dave Chiluk , Petr Vandrovec Subject: [PATCH] ncpfs: fix rmdir returns Device or resource busy Date: Fri, 10 Oct 2014 16:23:27 +0200 X-ASG-Orig-Subj: [PATCH] ncpfs: fix rmdir returns Device or resource busy Message-Id: <1412951028-4085-23-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> References: bnc#864880 X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Dave Chiluk 1d2ef5901483004d74947bbf78d5146c24038fe7 caused a regression in ncpfs such that directories could no longer be removed. This was because ncp_rmdir checked to see if a dentry could be unhashed before allowing it to be removed. Since 1d2ef5901483004d74947bbf78d5146c24038fe7 introduced a change that incremented dentry->d_count causing it to always be greater than 1 unhash would always fail. Thus causing the error path in ncp_rmdir to always be taken. Removing this error path is safe as unhashing is still accomplished by calls to dput from vfs_rmdir. Signed-off-by: Dave Chiluk Signed-off-by: Petr Vandrovec Signed-off-by: Al Viro Acked-by: Jan Kara --- fs/ncpfs/dir.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c index 816326093656..6792ce11f2bf 100644 --- a/fs/ncpfs/dir.c +++ b/fs/ncpfs/dir.c @@ -1029,15 +1029,6 @@ static int ncp_rmdir(struct inode *dir, struct dentry *dentry) DPRINTK("ncp_rmdir: removing %s/%s\n", dentry->d_parent->d_name.name, dentry->d_name.name); - /* - * fail with EBUSY if there are still references to this - * directory. - */ - dentry_unhash(dentry); - error = -EBUSY; - if (!d_unhashed(dentry)) - goto out; - len = sizeof(__name); error = ncp_io2vol(server, __name, &len, dentry->d_name.name, dentry->d_name.len, !ncp_preserve_case(dir)); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 483AF7F59 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BCD4DAC010 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ae2aff70001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id YzdMjAHxS5g1Xj9l (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 D5771ADE9; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DD6B682033; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] udf: Avoid infinite loop when processing indirect ICBs Date: Fri, 10 Oct 2014 16:23:36 +0200 X-ASG-Orig-Subj: [PATCH] udf: Avoid infinite loop when processing indirect ICBs Message-Id: <1412951028-4085-32-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We did not implement any bound on number of indirect ICBs we follow when loading inode. Thus corrupted medium could cause kernel to go into an infinite loop, possibly causing a stack overflow. Fix the possible stack overflow by removing recursion from __udf_read_inode() and limit number of indirect ICBs we follow to avoid infinite loops. Signed-off-by: Jan Kara --- fs/udf/inode.c | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 68cc7b144c26..a6a40536ebf1 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1270,6 +1270,13 @@ update_time: return 0; } +/* + * Maximum length of linked list formed by ICB hierarchy. The chosen number is + * arbitrary - just that we hopefully don't limit any real use of rewritten + * inode on write-once media but avoid looping for too long on corrupted media. + */ +#define UDF_MAX_ICB_NESTING 1024 + static void __udf_read_inode(struct inode *inode) { struct buffer_head *bh = NULL; @@ -1279,7 +1286,9 @@ static void __udf_read_inode(struct inode *inode) struct udf_inode_info *iinfo = UDF_I(inode); struct udf_sb_info *sbi = UDF_SB(inode->i_sb); unsigned int link_count; + unsigned int indirections = 0; +reread: /* * Set defaults, but the inode is still incomplete! * Note: get_new_inode() sets the following on a new inode: @@ -1317,28 +1326,26 @@ static void __udf_read_inode(struct inode *inode) ibh = udf_read_ptagged(inode->i_sb, &iinfo->i_location, 1, &ident); if (ident == TAG_IDENT_IE && ibh) { - struct buffer_head *nbh = NULL; struct kernel_lb_addr loc; struct indirectEntry *ie; ie = (struct indirectEntry *)ibh->b_data; loc = lelb_to_cpu(ie->indirectICB.extLocation); - if (ie->indirectICB.extLength && - (nbh = udf_read_ptagged(inode->i_sb, &loc, 0, - &ident))) { - if (ident == TAG_IDENT_FE || - ident == TAG_IDENT_EFE) { - memcpy(&iinfo->i_location, - &loc, - sizeof(struct kernel_lb_addr)); - brelse(bh); - brelse(ibh); - brelse(nbh); - __udf_read_inode(inode); + if (ie->indirectICB.extLength) { + brelse(bh); + brelse(ibh); + memcpy(&iinfo->i_location, &loc, + sizeof(struct kernel_lb_addr)); + if (++indirections > UDF_MAX_ICB_NESTING) { + udf_err(inode->i_sb, + "too many ICBs in ICB hierarchy" + " (max %d supported)\n", + UDF_MAX_ICB_NESTING); + make_bad_inode(inode); return; } - brelse(nbh); + goto reread; } } brelse(ibh); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 71A537F77 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 60AE0304070 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cbb018ac2aff70001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id wx8RJaBlErHBNTGj (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 03592ADEF; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E106282034; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Dave Chinner , Linus Torvalds Subject: [PATCH] sync: don't block the flusher thread waiting on IO Date: Fri, 10 Oct 2014 16:23:34 +0200 X-ASG-Orig-Subj: [PATCH] sync: don't block the flusher thread waiting on IO Message-Id: <1412951028-4085-30-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Dave Chinner When sync does it's WB_SYNC_ALL writeback, it issues data Io and then immediately waits for IO completion. This is done in the context of the flusher thread, and hence completely ties up the flusher thread for the backing device until all the dirty inodes have been synced. On filesystems that are dirtying inodes constantly and quickly, this means the flusher thread can be tied up for minutes per sync call and hence badly affect system level write IO performance as the page cache cannot be cleaned quickly. We already have a wait loop for IO completion for sync(2), so cut this out of the flusher thread and delegate it to wait_sb_inodes(). Hence we can do rapid IO submission, and then wait for it all to complete. Effect of sync on fsmark before the patch: FSUse% Count Size Files/sec App Overhead ..... 0 640000 4096 35154.6 1026984 0 720000 4096 36740.3 1023844 0 800000 4096 36184.6 916599 0 880000 4096 1282.7 1054367 0 960000 4096 3951.3 918773 0 1040000 4096 40646.2 996448 0 1120000 4096 43610.1 895647 0 1200000 4096 40333.1 921048 And a single sync pass took: real 0m52.407s user 0m0.000s sys 0m0.090s After the patch, there is no impact on fsmark results, and each individual sync(2) operation run concurrently with the same fsmark workload takes roughly 7s: real 0m6.930s user 0m0.000s sys 0m0.039s IOWs, sync is 7-8x faster on a busy filesystem and does not have an adverse impact on ongoing async data write operations. Signed-off-by: Dave Chinner Reviewed-by: Jan Kara Signed-off-by: Linus Torvalds --- fs/fs-writeback.c | 9 +++++++-- include/linux/writeback.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 3be57189efd5..a85ac4e33436 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -45,6 +45,7 @@ struct wb_writeback_work { unsigned int for_kupdate:1; unsigned int range_cyclic:1; unsigned int for_background:1; + unsigned int for_sync:1; /* sync(2) WB_SYNC_ALL writeback */ enum wb_reason reason; /* why was writeback initiated? */ struct list_head list; /* pending work list */ @@ -443,9 +444,11 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc) /* * Make sure to wait on the data before writing out the metadata. * This is important for filesystems that modify metadata on data - * I/O completion. + * I/O completion. We don't do it for sync(2) writeback because it has a + * separate, external IO completion path and ->sync_fs for guaranteeing + * inode metadata is written back correctly. */ - if (wbc->sync_mode == WB_SYNC_ALL) { + if (wbc->sync_mode == WB_SYNC_ALL && !wbc->for_sync) { int err = filemap_fdatawait(mapping); if (ret == 0) ret = err; @@ -578,6 +581,7 @@ static long writeback_sb_inodes(struct super_block *sb, .tagged_writepages = work->tagged_writepages, .for_kupdate = work->for_kupdate, .for_background = work->for_background, + .for_sync = work->for_sync, .range_cyclic = work->range_cyclic, .range_start = 0, .range_end = LLONG_MAX, @@ -1362,6 +1366,7 @@ void sync_inodes_sb(struct super_block *sb) .range_cyclic = 0, .done = &done, .reason = WB_REASON_SYNC, + .for_sync = 1, }; /* Nothing to do? */ diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 579a5007c696..abfe11787af3 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -78,6 +78,7 @@ struct writeback_control { unsigned tagged_writepages:1; /* tag-and-write to avoid livelock */ unsigned for_reclaim:1; /* Invoked from the page allocator */ unsigned range_cyclic:1; /* range_start is cyclic */ + unsigned for_sync:1; /* sync(2) WB_SYNC_ALL writeback */ }; /* -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9E9D47F4E for ; Fri, 10 Oct 2014 09:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8DCDD8F8050 for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ad2aff60001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id lqDeLLqI7GXyigKF (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 C41DFADE2; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id BC35381FE1; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 1/2] printk: Debug patch1 Date: Fri, 10 Oct 2014 16:23:29 +0200 X-ASG-Orig-Subj: [PATCH 1/2] printk: Debug patch1 Message-Id: <1412951028-4085-25-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- kernel/printk/printk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index ea2d5f6962ed..a39f4129f848 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1718,7 +1718,6 @@ asmlinkage int vprintk_emit(int facility, int level, logbuf_cpu = UINT_MAX; raw_spin_unlock(&logbuf_lock); - lockdep_on(); local_irq_restore(flags); /* If called from the scheduler, we can not call up(). */ @@ -1738,6 +1737,9 @@ asmlinkage int vprintk_emit(int facility, int level, if (console_trylock_for_printk()) console_unlock(); preempt_enable(); + local_irq_save(flags); + lockdep_on(); + local_irq_restore(flags); return printed_len; } -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6F6DD7F76 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 328E68F8050 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04bdf028782a55a0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id qwp5qyvDVeqhGCCl (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 D02FAADE6; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CFE768201E; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] quota: Fix race between dqput() and dquot_scan_active() Date: Fri, 10 Oct 2014 16:23:32 +0200 X-ASG-Orig-Subj: [PATCH] quota: Fix race between dqput() and dquot_scan_active() Message-Id: <1412951028-4085-28-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Currently last dqput() can race with dquot_scan_active() causing it to call callback for an already deactivated dquot. The race is as follows: CPU1 CPU2 dqput() spin_lock(&dq_list_lock); if (atomic_read(&dquot->dq_count) > 1) { - not taken if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { spin_unlock(&dq_list_lock); ->release_dquot(dquot); if (atomic_read(&dquot->dq_count) > 1) - not taken dquot_scan_active() spin_lock(&dq_list_lock); if (!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) - not taken atomic_inc(&dquot->dq_count); spin_unlock(&dq_list_lock); - proceeds to release dquot ret = fn(dquot, priv); - called for inactive dquot Fix the problem by making sure possible ->release_dquot() is finished by the time we call the callback and new calls to it will notice reference dquot_scan_active() has taken and bail out. Signed-off-by: Jan Kara --- fs/quota/dquot.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) This is the last patch needed to make ocfs2 quotas rock solid in my testing. I will carry it in my tree and push it to Linus soon. diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 831d49a4111f..cfc8dcc16043 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -581,9 +581,17 @@ int dquot_scan_active(struct super_block *sb, dqstats_inc(DQST_LOOKUPS); dqput(old_dquot); old_dquot = dquot; - ret = fn(dquot, priv); - if (ret < 0) - goto out; + /* + * ->release_dquot() can be racing with us. Our reference + * protects us from new calls to it so just wait for any + * outstanding call and recheck the DQ_ACTIVE_B after that. + */ + wait_on_dquot(dquot); + if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { + ret = fn(dquot, priv); + if (ret < 0) + goto out; + } spin_lock(&dq_list_lock); /* We are safe to continue now because our dquot could not * be moved out of the inuse list while we hold the reference */ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7325E7F78 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5258F8F8065 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cbb018ab2aff70001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id aOEn2sRBJOdCaWgy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:10 -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 5B43EADF3; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0731482049; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Dave Chinner , Jan Kara Subject: [PATCH] writeback: plug writeback at a high level Date: Fri, 10 Oct 2014 16:23:41 +0200 X-ASG-Orig-Subj: [PATCH] writeback: plug writeback at a high level Message-Id: <1412951028-4085-37-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Dave Chinner tl;dr: 3 lines of code, 86% better fsmark thoughput consuming 13% less CPU and 43% lower runtime. Doing writeback on lots of little files causes terrible IOPS storms because of the per-mapping writeback plugging we do. This essentially causes imeediate dispatch of IO for each mapping, regardless of the context in which writeback is occurring. IOWs, running a concurrent write-lots-of-small 4k files using fsmark on XFS results in a huge number of IOPS being issued for data writes. Metadata writes are sorted and plugged at a high level by XFS, so aggregate nicely into large IOs. However, data writeback IOs are dispatched in individual 4k IOs - even when the blocks of two consecutively written files are adjacent - because the underlying block device is fast enough not to congest on such IO. This behaviour is not SSD related - anything with hardware caches is going to see the same benefits as the IO rates are limited only by how fast adjacent IOs can be sent to the hardware caches for aggregation. Hence the speed of the physical device is irrelevant to this common writeback workload (happens every time you untar a tarball!) - performance is limited by the overhead of dispatching individual IOs from a single writeback thread. Test VM: 16p, 16GB RAM, 2xSSD in RAID0, 500TB sparse XFS filesystem, metadata CRCs enabled. Test: $ ./fs_mark -D 10000 -S0 -n 10000 -s 4096 -L 120 -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 Result: wall sys create rate Physical write IO time CPU (avg files/s) IOPS Bandwidth ----- ----- ------------- ------ --------- unpatched 5m54s 15m32s 32,500+/-2200 28,000 150MB/s patched 3m19s 13m28s 52,900+/-1800 1,500 280MB/s improvement -43.8% -13.3% +62.7% -94.6% +86.6% Signed-off-by: Dave Chinner Signed-off-by: Jan Kara --- fs/fs-writeback.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 279292ba9403..d935fd3796ba 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -599,6 +599,9 @@ static long generic_writeback_inodes(struct wb_writeback_work *work) unsigned long end_time = jiffies + HZ / 10; long write_chunk; long wrote = 0; /* count both pages and inodes */ + struct blk_plug plug; + + blk_start_plug(&plug); spin_lock(&wb->list_lock); while (1) { @@ -688,6 +691,8 @@ static long generic_writeback_inodes(struct wb_writeback_work *work) out: spin_unlock(&wb->list_lock); + blk_finish_plug(&plug); + return wrote; } -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8636A7F61 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0736AAC01B for ; Fri, 10 Oct 2014 07:24:10 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cb6c77072ddb40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 0MGptWxI6yB8TzYz (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 E26A0ADED; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E818482031; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] vfs: Allocate anon_inode_inode in anon_inode_init() Date: Fri, 10 Oct 2014 16:23:38 +0200 X-ASG-Orig-Subj: [PATCH] vfs: Allocate anon_inode_inode in anon_inode_init() Message-Id: <1412951028-4085-34-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Currently we allocated anon_inode_inode in anon_inodefs_mount. This is somewhat fragile as if that function ever gets called again, it will overwrite anon_inode_inode pointer. So move the initialization of anon_inode_inode to anon_inode_init(). Signed-off-by: Jan Kara --- fs/anon_inodes.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index 4b4543b8b894..7f34f7702204 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c @@ -41,19 +41,8 @@ static const struct dentry_operations anon_inodefs_dentry_operations = { static struct dentry *anon_inodefs_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { - struct dentry *root; - root = mount_pseudo(fs_type, "anon_inode:", NULL, + return mount_pseudo(fs_type, "anon_inode:", NULL, &anon_inodefs_dentry_operations, ANON_INODE_FS_MAGIC); - if (!IS_ERR(root)) { - struct super_block *s = root->d_sb; - anon_inode_inode = alloc_anon_inode(s); - if (IS_ERR(anon_inode_inode)) { - dput(root); - deactivate_locked_super(s); - root = ERR_CAST(anon_inode_inode); - } - } - return root; } static struct file_system_type anon_inode_fs_type = { @@ -180,12 +169,15 @@ static int __init anon_inode_init(void) anon_inode_mnt = kern_mount(&anon_inode_fs_type); if (IS_ERR(anon_inode_mnt)) { error = PTR_ERR(anon_inode_mnt); - goto err_unregister_filesystem; + goto err_exit; + } + anon_inode_inode = alloc_anon_inode(anon_inode_mnt->mnt_sb); + if (IS_ERR(anon_inode_inode)) { + error = PTR_ERR(anon_inode_inode); + goto err_exit; } return 0; -err_unregister_filesystem: - unregister_filesystem(&anon_inode_fs_type); err_exit: panic(KERN_ERR "anon_inode_init() failed (%d)\n", error); } -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 6BDC57F75 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2D735304071 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04bdf028792a55a0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id Spqmvu3qEREFB5An (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 C8ED2ADE5; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C61BA81FED; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org, Goldwyn Rodrigues , Mark Fasheh Subject: [PATCH] ocfs2: Fix quota file corruption Date: Fri, 10 Oct 2014 16:23:28 +0200 X-ASG-Orig-Subj: [PATCH] ocfs2: Fix quota file corruption Message-Id: <1412951028-4085-24-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Global quota files are accessed from different nodes. Thus we cannot cache offset of quota structure in the quota file after we drop our node reference count to it because after that moment quota structure may be freed and reallocated elsewhere by a different node resulting in corruption of quota file. Fix the problem by clearing dq_off when we are releasing dquot structure. We also remove the DB_READ_B handling because it is useless - DQ_ACTIVE_B is set iff DQ_READ_B is set. CC: stable@vger.kernel.org CC: Goldwyn Rodrigues CC: Mark Fasheh Signed-off-by: Jan Kara --- fs/ocfs2/quota_global.c | 27 +++++++++++++++++---------- fs/ocfs2/quota_local.c | 4 ---- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/fs/ocfs2/quota_global.c b/fs/ocfs2/quota_global.c index aaa50611ec66..d7b5108789e2 100644 --- a/fs/ocfs2/quota_global.c +++ b/fs/ocfs2/quota_global.c @@ -717,6 +717,12 @@ static int ocfs2_release_dquot(struct dquot *dquot) */ if (status < 0) mlog_errno(status); + /* + * Clear dq_off so that we search for the structure in quota file next + * time we acquire it. The structure might be deleted and reallocated + * elsewhere by another node while our dquot structure is on freelist. + */ + dquot->dq_off = 0; clear_bit(DQ_ACTIVE_B, &dquot->dq_flags); out_trans: ocfs2_commit_trans(osb, handle); @@ -756,16 +762,17 @@ static int ocfs2_acquire_dquot(struct dquot *dquot) status = ocfs2_lock_global_qf(info, 1); if (status < 0) goto out; - if (!test_bit(DQ_READ_B, &dquot->dq_flags)) { - status = ocfs2_qinfo_lock(info, 0); - if (status < 0) - goto out_dq; - status = qtree_read_dquot(&info->dqi_gi, dquot); - ocfs2_qinfo_unlock(info, 0); - if (status < 0) - goto out_dq; - } - set_bit(DQ_READ_B, &dquot->dq_flags); + status = ocfs2_qinfo_lock(info, 0); + if (status < 0) + goto out_dq; + /* + * We always want to read dquot structure from disk because we don't + * know what happened with it while it was on freelist. + */ + status = qtree_read_dquot(&info->dqi_gi, dquot); + ocfs2_qinfo_unlock(info, 0); + if (status < 0) + goto out_dq; OCFS2_DQUOT(dquot)->dq_use_count++; OCFS2_DQUOT(dquot)->dq_origspace = dquot->dq_dqb.dqb_curspace; diff --git a/fs/ocfs2/quota_local.c b/fs/ocfs2/quota_local.c index 2e4344be3b96..2001862bf2b1 100644 --- a/fs/ocfs2/quota_local.c +++ b/fs/ocfs2/quota_local.c @@ -1303,10 +1303,6 @@ int ocfs2_local_release_dquot(handle_t *handle, struct dquot *dquot) ocfs2_journal_dirty(handle, od->dq_chunk->qc_headerbh); out: - /* Clear the read bit so that next time someone uses this - * dquot he reads fresh info from disk and allocates local - * dquot structure */ - clear_bit(DQ_READ_B, &dquot->dq_flags); return status; } -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 C1D7E7F7B for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 92F428F8059 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04bdf028772a55a0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id hp9q7MzE8FyKIZzA (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 DF627ADEB; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CDBF382008; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] printk: enable interrupts before calling console_trylock_for_printk() Date: Fri, 10 Oct 2014 16:23:31 +0200 X-ASG-Orig-Subj: [PATCH] printk: enable interrupts before calling console_trylock_for_printk() Message-Id: <1412951028-4085-27-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We need interrupts disabled when calling console_trylock_for_printk() only so that cpu id we pass to can_use_console() remains valid (for other things console_sem provides all the exclusion we need and deadlocks on console_sem due to interrupts are impossible because we use down_trylock()). However if we are rescheduled, we are guaranteed to run on an online cpu so we can easily just get the cpu id in can_use_console(). We can lose a bit of performance when we enable interrupts in vprintk_emit() and then disable them again in console_unlock() but OTOH it can somewhat reduce interrupt latency caused by console_unlock(). We differ from (reverted) commit 939f04bec1a4 in that we avoid calling console_unlock() from vprintk_emit() with lockdep enabled as that has unveiled quite some bugs leading to system freezes during boot (e.g. https://lkml.org/lkml/2014/5/30/242, https://lkml.org/lkml/2014/6/28/521). Tested-by: Andreas Bombe Signed-off-by: Jan Kara --- kernel/printk/printk.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) Andrew, can you please queue this patch? Thanks. diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 13e839dbca07..fe4154d83fe4 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1416,10 +1416,9 @@ static int have_callable_console(void) /* * Can we actually use the console at this time on this cpu? * - * Console drivers may assume that per-cpu resources have - * been allocated. So unless they're explicitly marked as - * being able to cope (CON_ANYTIME) don't call them until - * this CPU is officially up. + * Console drivers may assume that per-cpu resources have been allocated. So + * unless they're explicitly marked as being able to cope (CON_ANYTIME) don't + * call them until this CPU is officially up. */ static inline int can_use_console(unsigned int cpu) { @@ -1432,8 +1431,10 @@ static inline int can_use_console(unsigned int cpu) * console_lock held, and 'console_locked' set) if it * is successful, false otherwise. */ -static int console_trylock_for_printk(unsigned int cpu) +static int console_trylock_for_printk(void) { + unsigned int cpu = smp_processor_id(); + if (!console_trylock()) return 0; /* @@ -1608,7 +1609,8 @@ asmlinkage int vprintk_emit(int facility, int level, */ if (!oops_in_progress && !lockdep_recursing(current)) { recursion_bug = 1; - goto out_restore_irqs; + local_irq_restore(flags); + return 0; } zap_locks(); } @@ -1716,21 +1718,30 @@ asmlinkage int vprintk_emit(int facility, int level, logbuf_cpu = UINT_MAX; raw_spin_unlock(&logbuf_lock); + lockdep_on(); + local_irq_restore(flags); /* If called from the scheduler, we can not call up(). */ if (!in_sched) { + lockdep_off(); + /* + * Disable preemption to avoid being preempted while holding + * console_sem which would prevent anyone from printing to + * console + */ + preempt_disable(); + /* * Try to acquire and then immediately release the console * semaphore. The release will print out buffers and wake up * /dev/kmsg and syslog() users. */ - if (console_trylock_for_printk(this_cpu)) + if (console_trylock_for_printk()) console_unlock(); + preempt_enable(); + lockdep_on(); } - lockdep_on(); -out_restore_irqs: - local_irq_restore(flags); return printed_len; } EXPORT_SYMBOL(vprintk_emit); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A026C7F62 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2FC04AC008 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04cbb018ab2aff60001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id EH7wXCqtgP59iOOY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 D39E9ADE8; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C8C0381FEE; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] printk: debug: Slow down printing to 9600 bauds Date: Fri, 10 Oct 2014 16:23:30 +0200 X-ASG-Orig-Subj: [PATCH] printk: debug: Slow down printing to 9600 bauds Message-Id: <1412951028-4085-26-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- include/trace/events/printk.h | 42 ++++++++++++++++ kernel/printk/printk.c | 112 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 151 insertions(+), 3 deletions(-) diff --git a/include/trace/events/printk.h b/include/trace/events/printk.h index c008bc99f9fa..7ba97681960c 100644 --- a/include/trace/events/printk.h +++ b/include/trace/events/printk.h @@ -22,6 +22,48 @@ TRACE_EVENT(console, TP_printk("%s", __get_str(msg)) ); + +DECLARE_EVENT_CLASS(printk_class, + TP_PROTO(int u), + TP_ARGS(u), + TP_STRUCT__entry( + __field( int, u) + ), + TP_fast_assign( + __entry->u = u; + ), + TP_printk("arg=%d", __entry->u) +); + +DEFINE_EVENT(printk_class, printk_hand_over, + TP_PROTO(int u), + TP_ARGS(u) +); + +DEFINE_EVENT(printk_class, printk_ask_help, + TP_PROTO(int u), + TP_ARGS(u) +); + +DEFINE_EVENT(printk_class, printk_thread_sleep, + TP_PROTO(int u), + TP_ARGS(u) +); + +DEFINE_EVENT(printk_class, printk_thread_woken, + TP_PROTO(int u), + TP_ARGS(u) +); + +DEFINE_EVENT(printk_class, printk_thread_locked, + TP_PROTO(int u), + TP_ARGS(u) +); + +DEFINE_EVENT(printk_class, printk_printing, + TP_PROTO(int u), + TP_ARGS(u) +); #endif /* _TRACE_PRINTK_H */ /* This part must be outside protection */ diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index a06ba16ba0d4..4e64abc45159 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -90,6 +91,8 @@ EXPORT_SYMBOL_GPL(console_drivers); /* This gets set if the currently printing task wants to hand over printing */ static int printk_handover; +static int thread_woken; + /* * Number of kernel threads for offloading printing. We need at least two so * that they can hand over printing from one to another one and thus switch @@ -1308,6 +1311,22 @@ static void call_console_drivers(int level, const char *text, size_t len) } } +static void printk_echo(char *fmt, ...) +{ + unsigned long flags; + va_list args; + char buf[128]; + int len; + + len = sprintf(buf, "P%d ", task_pid_nr(current)); + va_start(args, fmt); + len += vsprintf(buf + len, fmt, args); + va_end(args); + local_irq_save(flags); + call_console_drivers(0, buf, len); + local_irq_restore(flags); +} + /* * Zap console related locks when oopsing. Only zap at most once * every 10 seconds, to leave time for slow consoles to print a @@ -1512,6 +1531,7 @@ asmlinkage int vprintk_emit(int facility, int level, bool in_sched = false; /* cpu currently holding logbuf_lock in this function */ static volatile unsigned int logbuf_cpu = UINT_MAX; + bool irq_off = irqs_disabled(); if (level == SCHED_MESSAGE_LOGLEVEL) { level = -1; @@ -1566,6 +1586,8 @@ asmlinkage int vprintk_emit(int facility, int level, if (in_sched) text_len = scnprintf(text, sizeof(textbuf), KERN_WARNING "[sched_delayed] "); + if (irq_off) + text[text_len++] = 'X'; text_len += vscnprintf(text + text_len, sizeof(textbuf) - text_len, fmt, args); @@ -2030,6 +2052,31 @@ out: raw_spin_unlock_irqrestore(&logbuf_lock, flags); } +static struct task_struct *resched_task = NULL; +static unsigned long last_traced; + +static void echo_trace(struct task_struct *task) +{ + struct stack_trace trace; + unsigned long entries[16]; + int i; + + trace.nr_entries = 0; + trace.max_entries = 16; + trace.entries = entries; + trace.skip = 0; + + save_stack_trace_tsk(task, &trace); + for (i = 0; i < trace.nr_entries; i++) + printk_echo("%pS\n", (void *)entries[i]); + last_traced = jiffies; +} + +static void ipi_stacktrace(void *info) +{ + echo_trace(current); +} + /* * Returns true iff there is other cpu waiting to take over printing. This * function also takes are of setting printk_handover if we want to hand over @@ -2043,16 +2090,33 @@ static bool cpu_stop_printing(int printed_chars) if (!printk_offload_chars || printed_chars < printk_offload_chars) return false; /* Someone is sleeping on console_sem? Give away to him. */ - if (sema_contended(&console_sem)) + if (sema_contended(&console_sem)) { + printk_echo("Handing over printing\n"); + trace_printk_hand_over(0); return true; + } if (!printk_handover) { + unsigned long flags; + printk_handover = 1; + spin_lock_irqsave(&print_queue.lock, flags); + if (!list_empty(&print_queue.task_list)) + resched_task = list_entry(print_queue.task_list.next, wait_queue_t, task_list)->private; + spin_unlock_irqrestore(&print_queue.lock, flags); + printk_echo("Asking for help %p (%d)\n", resched_task, (resched_task ? task_pid_nr(resched_task) : 0)); + trace_printk_ask_help(0); /* * Paired with barrier in prepare_to_wait_exclusive() in * printing_task() */ smp_mb(); wake_up(&print_queue); + if (resched_task) { + printk_echo("Task state %ld, cpu %u, cur cpu %u\n", + resched_task->state, task_cpu(resched_task), + task_cpu(current)); + on_each_cpu(ipi_stacktrace, NULL, 1); + } } return false; } @@ -2088,6 +2152,9 @@ void console_unlock(void) return; } + if (oops_in_progress) + printk_echo("Oops!\n"); + trace_printk_printing(0); console_may_schedule = 0; /* flush buffered message fragment immediately to console */ @@ -2148,9 +2215,24 @@ skip: raw_spin_unlock(&logbuf_lock); stop_critical_timings(); /* don't trace print latency */ + if (printk_handover) { + if (sema_contended(&console_sem)) + printk_echo("B "); + else if (thread_woken) + printk_echo("A "); + else if (resched_task) { + printk_echo("X%ld ", resched_task->state); + if (time_is_before_jiffies(last_traced + HZ)) { + smp_call_function_single( + task_cpu(resched_task), + ipi_stacktrace, NULL, 1); + } + } + } call_console_drivers(level, text, len); start_critical_timings(); printed_chars += len; + mdelay(len); local_irq_restore(flags); } @@ -2159,6 +2241,7 @@ skip: exclusive_console = NULL; printk_handover = 0; + resched_task = NULL; console_locked = 0; mutex_release(&console_lock_dep_map, 1, _RET_IP_); up(&console_sem); @@ -2499,23 +2582,46 @@ static int printing_task(void *arg) DEFINE_WAIT(wait); while (1) { - prepare_to_wait_exclusive(&print_queue, &wait, + prepare_to_wait(&print_queue, &wait, TASK_INTERRUPTIBLE); - if (!printk_handover) + if (!printk_handover) { + trace_printk_thread_sleep(0); schedule(); + } finish_wait(&print_queue, &wait); + trace_printk_thread_woken(0); + thread_woken = 1; console_lock(); + thread_woken = 0; + trace_printk_thread_locked(0); console_unlock(); } return 0; } +static void do_print(struct work_struct *work) +{ + char buf[75]; + int i; + + sprintf(buf, "%p: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n", work); + for (i = 0; i < 15; i++) + printk(buf); +} + +static struct delayed_work print_work[100]; + static int __init printk_late_init(void) { struct console *con; int i; struct task_struct *task; + for (i = 0; i < 100; i++) { + INIT_DELAYED_WORK(&print_work[i], do_print); + schedule_delayed_work(&print_work[i], HZ * 180); + } + for_each_console(con) { if (!keep_bootcon && con->flags & CON_BOOT) { printk(KERN_INFO "turn off boot console %s%d\n", -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09: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 D3BF67F7C for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C2C05304075 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cb6c77042ddb50001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 7qI9cXOShu0UtJFK (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:10 -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 662F7ADF6; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id EFF2082043; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 1/2] vfs: Fix data corruption when blocksize < pagesize for mmaped data Date: Fri, 10 Oct 2014 16:23:39 +0200 X-ASG-Orig-Subj: [PATCH 1/2] vfs: Fix data corruption when blocksize < pagesize for mmaped data Message-Id: <1412951028-4085-35-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header ->page_mkwrite() is used by filesystems to allocate blocks under a page which is becoming writeably mmapped in some process' address space. This allows a filesystem to return a page fault if there is not enough space available, user exceeds quota or similar problem happens, rather than silently discarding data later when writepage is called. However VFS fails to call ->page_mkwrite() in all the cases where filesystems need it when blocksize < pagesize. For example when blocksize = 1024, pagesize = 4096 the following is problematic: ftruncate(fd, 0); pwrite(fd, buf, 1024, 0); map = mmap(NULL, 1024, PROT_WRITE, MAP_SHARED, fd, 0); map[0] = 'a'; ----> page_mkwrite() for index 0 is called ftruncate(fd, 10000); /* or even pwrite(fd, buf, 1, 10000) */ mremap(map, 1024, 10000, 0); map[4095] = 'a'; ----> no page_mkwrite() called At the moment ->page_mkwrite() is called, filesystem can allocate only one block for the page because i_size == 1024. Otherwise it would create blocks beyond i_size which is generally undesirable. But later at ->writepage() time, we also need to store data at offset 4095 but we don't have block allocated for it. This patch introduces a helper function filesystems can use to have ->page_mkwrite() called at all the necessary moments. Signed-off-by: Jan Kara --- fs/buffer.c | 3 +++ include/linux/mm.h | 8 ++++++++ mm/truncate.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) diff --git a/fs/buffer.c b/fs/buffer.c index 8f05111bbb8b..3ba5a6a1bc5f 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2080,6 +2080,7 @@ int generic_write_end(struct file *file, struct address_space *mapping, struct page *page, void *fsdata) { struct inode *inode = mapping->host; + loff_t old_size = inode->i_size; int i_size_changed = 0; copied = block_write_end(file, mapping, pos, len, copied, page, fsdata); @@ -2099,6 +2100,8 @@ int generic_write_end(struct file *file, struct address_space *mapping, unlock_page(page); page_cache_release(page); + if (old_size < pos) + pagecache_isize_extended(inode, old_size, pos); /* * Don't mark the inode dirty under page lock. First, it unnecessarily * makes the holding time of page lock longer. Second, it forces lock diff --git a/include/linux/mm.h b/include/linux/mm.h index 8981cc882ed2..f0e53e5a3b17 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1155,6 +1155,14 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, extern void truncate_pagecache(struct inode *inode, loff_t new); extern void truncate_setsize(struct inode *inode, loff_t newsize); +#ifdef CONFIG_MMU +void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to); +#else +static inline void pagecache_isize_extended(struct inode *inode, loff_t from, + loff_t to) +{ +} +#endif void truncate_pagecache_range(struct inode *inode, loff_t offset, loff_t end); int truncate_inode_page(struct address_space *mapping, struct page *page); int generic_error_remove_page(struct address_space *mapping, struct page *page); diff --git a/mm/truncate.c b/mm/truncate.c index 96d167372d89..261eaf6e5a19 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -20,6 +20,7 @@ #include /* grr. try_to_release_page, do_invalidatepage */ #include +#include #include "internal.h" static void clear_exceptional_entry(struct address_space *mapping, @@ -719,12 +720,68 @@ EXPORT_SYMBOL(truncate_pagecache); */ void truncate_setsize(struct inode *inode, loff_t newsize) { + loff_t oldsize = inode->i_size; + i_size_write(inode, newsize); + if (newsize > oldsize) + pagecache_isize_extended(inode, oldsize, newsize); truncate_pagecache(inode, newsize); } EXPORT_SYMBOL(truncate_setsize); /** + * pagecache_isize_extended - update pagecache after extension of i_size + * @inode: inode for which i_size was extended + * @from: original inode size + * @to: new inode size + * + * Handle extension of inode size either caused by extending truncate or by + * write starting after current i_size. We mark the page straddling current + * i_size RO so that page_mkwrite() is called on the nearest write access to + * the page. This way filesystem can be sure that page_mkwrite() is called on + * the page before user writes to the page via mmap after the i_size has been + * changed. + * + * The function must be called after i_size is updated so that page fault + * coming after we unlock the page will already see the new i_size. + * The function must be called while we still hold i_mutex - this not only + * makes sure i_size is stable but also that userspace cannot observe new + * i_size value before we are prepared to store mmap writes at new inode size. + */ +void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) +{ + int bsize = 1 << inode->i_blkbits; + loff_t rounded_from; + struct page *page; + pgoff_t index; + + WARN_ON(!mutex_is_locked(&inode->i_mutex)); + WARN_ON(to > inode->i_size); + + if (from >= to || bsize == PAGE_CACHE_SIZE) + return; + /* Page straddling @from will not have any hole block created? */ + rounded_from = round_up(from, bsize); + if (to <= rounded_from || !(rounded_from & (PAGE_CACHE_SIZE - 1))) + return; + + index = from >> PAGE_CACHE_SHIFT; + page = find_lock_page(inode->i_mapping, index); + /* Page not cached? Nothing to do */ + if (!page) + return; + /* + * See clear_page_dirty_for_io() for details why set_page_dirty() + * is needed. + */ + if (page_mkclean(page)) + set_page_dirty(page); + unlock_page(page); + page_cache_release(page); +} +EXPORT_SYMBOL(pagecache_isize_extended); + +/** * truncate_pagecache_range - unmap and remove pagecache that is hole-punched * @inode: inode * @lstart: offset of beginning of hole -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 D56A07F7E for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B5FD2304071 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04cbb018ae2aff80001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id CrdUW4SR1wHnkF0A (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 686DBADF7; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 186C682073; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org Subject: [PATCH 2/2] ext3: Don't check quota format when there are no quota files Date: Fri, 10 Oct 2014 16:23:44 +0200 X-ASG-Orig-Subj: [PATCH 2/2] ext3: Don't check quota format when there are no quota files Message-Id: <1412951028-4085-40-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header The check whether quota format is set even though there are no quota files with journalled quota is pointless and it actually makes it impossible to turn off journalled quotas (as there's no way to unset journalled quota format). Just remove the check. CC: stable@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext3/super.c | 7 ------- 1 file changed, 7 deletions(-) I'm going to queue this patch unless someone objects. diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 622e88249024..2c42e739e3d1 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -1354,13 +1354,6 @@ set_qf_format: "not specified."); return 0; } - } else { - if (sbi->s_jquota_fmt) { - ext3_msg(sb, KERN_ERR, "error: journaled quota format " - "specified with no journaling " - "enabled."); - return 0; - } } #endif return 1; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 D8DD37F80 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 59738AC01E for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951049-04cb6c77062ddb50001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id DHrYzolVsejROy6s (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24: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 4B7D1ADF2; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id F367982047; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH RESEND] vfs: Return EINVAL for default SEEK_HOLE, SEEK_DATA implementation Date: Fri, 10 Oct 2014 16:23:40 +0200 X-ASG-Orig-Subj: [PATCH RESEND] vfs: Return EINVAL for default SEEK_HOLE, SEEK_DATA implementation Message-Id: <1412951028-4085-36-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Generic implementation of SEEK_HOLE & SEEK_DATA in generic_file_llseek_size() and default_llseek() behaved as if everything within i_size is data and everything beyond i_size is a hole. That makes sense at the first sight (and definitely is a valid implementation of the spec) but at the second sight it isn't very useful. If anyone bothers with looking for holes / data, he should be better told we don't really know so that he can fall back to his chosen backup strategy (think of e.g. cp(1)). This is a userspace API change however the kernel interface is there only for two years so hopefully userspace is still prepared to handle EINVAL return value. Signed-off-by: Jan Kara --- fs/read_write.c | 38 ++------------------------------------ 1 file changed, 2 insertions(+), 36 deletions(-) Al, what do you think about this change? diff --git a/fs/read_write.c b/fs/read_write.c index edc5746a902a..71525d75742f 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -111,22 +111,8 @@ generic_file_llseek_size(struct file *file, loff_t offset, int whence, spin_unlock(&file->f_lock); return offset; case SEEK_DATA: - /* - * In the generic case the entire file is data, so as long as - * offset isn't at the end of the file then the offset is data. - */ - if (offset >= eof) - return -ENXIO; - break; case SEEK_HOLE: - /* - * There is a virtual hole at the end of the file, so as long as - * offset isn't i_size or larger, return i_size. - */ - if (offset >= eof) - return -ENXIO; - offset = eof; - break; + return -EINVAL; } return vfs_setpos(file, offset, maxsize); @@ -214,28 +200,8 @@ loff_t default_llseek(struct file *file, loff_t offset, int whence) offset += file->f_pos; break; case SEEK_DATA: - /* - * In the generic case the entire file is data, so as - * long as offset isn't at the end of the file then the - * offset is data. - */ - if (offset >= inode->i_size) { - retval = -ENXIO; - goto out; - } - break; case SEEK_HOLE: - /* - * There is a virtual hole at the end of the file, so - * as long as offset isn't i_size or larger, return - * i_size. - */ - if (offset >= inode->i_size) { - retval = -ENXIO; - goto out; - } - offset = inode->i_size; - break; + return -EINVAL; } retval = -EINVAL; if (offset >= 0 || unsigned_offsets(file)) { -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 E958D7F81 for ; Fri, 10 Oct 2014 09:24:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A2D818F8065 for ; Fri, 10 Oct 2014 07:24:11 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04bdf028762a55a0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id x0NUfvlgnaFFCpSP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 E206DADEC; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DADBD8202C; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] timer: Fix lock inversion between hrtimer_bases.lock and scheduler locks Date: Fri, 10 Oct 2014 16:23:35 +0200 X-ASG-Orig-Subj: [PATCH] timer: Fix lock inversion between hrtimer_bases.lock and scheduler locks Message-Id: <1412951028-4085-31-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header clockevents_increase_min_delta() calls printk() from under hrtimer_bases.lock. That causes lock inversion on scheduler locks because printk() can call into the scheduler. Lockdep puts it as: ====================================================== [ INFO: possible circular locking dependency detected ] 3.15.0-rc8-06195-g939f04b #2 Not tainted ------------------------------------------------------- trinity-main/74 is trying to acquire lock: (&port_lock_key){-.....}, at: [<811c60be>] serial8250_console_write+0x8c/0x10c but task is already holding lock: (hrtimer_bases.lock){-.-...}, at: [<8103caeb>] hrtimer_try_to_cancel+0x13/0x66 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #5 (hrtimer_bases.lock){-.-...}: [<8104a942>] lock_acquire+0x92/0x101 [<8142f11d>] _raw_spin_lock_irqsave+0x2e/0x3e [<8103c918>] __hrtimer_start_range_ns+0x1c/0x197 [<8107ec20>] perf_swevent_start_hrtimer.part.41+0x7a/0x85 [<81080792>] task_clock_event_start+0x3a/0x3f [<810807a4>] task_clock_event_add+0xd/0x14 [<8108259a>] event_sched_in+0xb6/0x17a [<810826a2>] group_sched_in+0x44/0x122 [<81082885>] ctx_sched_in.isra.67+0x105/0x11f [<810828e6>] perf_event_sched_in.isra.70+0x47/0x4b [<81082bf6>] __perf_install_in_context+0x8b/0xa3 [<8107eb8e>] remote_function+0x12/0x2a [<8105f5af>] smp_call_function_single+0x2d/0x53 [<8107e17d>] task_function_call+0x30/0x36 [<8107fb82>] perf_install_in_context+0x87/0xbb [<810852c9>] SYSC_perf_event_open+0x5c6/0x701 [<810856f9>] SyS_perf_event_open+0x17/0x19 [<8142f8ee>] syscall_call+0x7/0xb -> #4 (&ctx->lock){......}: [<8104a942>] lock_acquire+0x92/0x101 [<8142f04c>] _raw_spin_lock+0x21/0x30 [<81081df3>] __perf_event_task_sched_out+0x1dc/0x34f [<8142cacc>] __schedule+0x4c6/0x4cb [<8142cae0>] schedule+0xf/0x11 [<8142f9a6>] work_resched+0x5/0x30 -> #3 (&rq->lock){-.-.-.}: [<8104a942>] lock_acquire+0x92/0x101 [<8142f04c>] _raw_spin_lock+0x21/0x30 [<81040873>] __task_rq_lock+0x33/0x3a [<8104184c>] wake_up_new_task+0x25/0xc2 [<8102474b>] do_fork+0x15c/0x2a0 [<810248a9>] kernel_thread+0x1a/0x1f [<814232a2>] rest_init+0x1a/0x10e [<817af949>] start_kernel+0x303/0x308 [<817af2ab>] i386_start_kernel+0x79/0x7d -> #2 (&p->pi_lock){-.-...}: [<8104a942>] lock_acquire+0x92/0x101 [<8142f11d>] _raw_spin_lock_irqsave+0x2e/0x3e [<810413dd>] try_to_wake_up+0x1d/0xd6 [<810414cd>] default_wake_function+0xb/0xd [<810461f3>] __wake_up_common+0x39/0x59 [<81046346>] __wake_up+0x29/0x3b [<811b8733>] tty_wakeup+0x49/0x51 [<811c3568>] uart_write_wakeup+0x17/0x19 [<811c5dc1>] serial8250_tx_chars+0xbc/0xfb [<811c5f28>] serial8250_handle_irq+0x54/0x6a [<811c5f57>] serial8250_default_handle_irq+0x19/0x1c [<811c56d8>] serial8250_interrupt+0x38/0x9e [<810510e7>] handle_irq_event_percpu+0x5f/0x1e2 [<81051296>] handle_irq_event+0x2c/0x43 [<81052cee>] handle_level_irq+0x57/0x80 [<81002a72>] handle_irq+0x46/0x5c [<810027df>] do_IRQ+0x32/0x89 [<8143036e>] common_interrupt+0x2e/0x33 [<8142f23c>] _raw_spin_unlock_irqrestore+0x3f/0x49 [<811c25a4>] uart_start+0x2d/0x32 [<811c2c04>] uart_write+0xc7/0xd6 [<811bc6f6>] n_tty_write+0xb8/0x35e [<811b9beb>] tty_write+0x163/0x1e4 [<811b9cd9>] redirected_tty_write+0x6d/0x75 [<810b6ed6>] vfs_write+0x75/0xb0 [<810b7265>] SyS_write+0x44/0x77 [<8142f8ee>] syscall_call+0x7/0xb -> #1 (&tty->write_wait){-.....}: [<8104a942>] lock_acquire+0x92/0x101 [<8142f11d>] _raw_spin_lock_irqsave+0x2e/0x3e [<81046332>] __wake_up+0x15/0x3b [<811b8733>] tty_wakeup+0x49/0x51 [<811c3568>] uart_write_wakeup+0x17/0x19 [<811c5dc1>] serial8250_tx_chars+0xbc/0xfb [<811c5f28>] serial8250_handle_irq+0x54/0x6a [<811c5f57>] serial8250_default_handle_irq+0x19/0x1c [<811c56d8>] serial8250_interrupt+0x38/0x9e [<810510e7>] handle_irq_event_percpu+0x5f/0x1e2 [<81051296>] handle_irq_event+0x2c/0x43 [<81052cee>] handle_level_irq+0x57/0x80 [<81002a72>] handle_irq+0x46/0x5c [<810027df>] do_IRQ+0x32/0x89 [<8143036e>] common_interrupt+0x2e/0x33 [<8142f23c>] _raw_spin_unlock_irqrestore+0x3f/0x49 [<811c25a4>] uart_start+0x2d/0x32 [<811c2c04>] uart_write+0xc7/0xd6 [<811bc6f6>] n_tty_write+0xb8/0x35e [<811b9beb>] tty_write+0x163/0x1e4 [<811b9cd9>] redirected_tty_write+0x6d/0x75 [<810b6ed6>] vfs_write+0x75/0xb0 [<810b7265>] SyS_write+0x44/0x77 [<8142f8ee>] syscall_call+0x7/0xb -> #0 (&port_lock_key){-.....}: [<8104a62d>] __lock_acquire+0x9ea/0xc6d [<8104a942>] lock_acquire+0x92/0x101 [<8142f11d>] _raw_spin_lock_irqsave+0x2e/0x3e [<811c60be>] serial8250_console_write+0x8c/0x10c [<8104e402>] call_console_drivers.constprop.31+0x87/0x118 [<8104f5d5>] console_unlock+0x1d7/0x398 [<8104fb70>] vprintk_emit+0x3da/0x3e4 [<81425f76>] printk+0x17/0x19 [<8105bfa0>] clockevents_program_min_delta+0x104/0x116 [<8105c548>] clockevents_program_event+0xe7/0xf3 [<8105cc1c>] tick_program_event+0x1e/0x23 [<8103c43c>] hrtimer_force_reprogram+0x88/0x8f [<8103c49e>] __remove_hrtimer+0x5b/0x79 [<8103cb21>] hrtimer_try_to_cancel+0x49/0x66 [<8103cb4b>] hrtimer_cancel+0xd/0x18 [<8107f102>] perf_swevent_cancel_hrtimer.part.60+0x2b/0x30 [<81080705>] task_clock_event_stop+0x20/0x64 [<81080756>] task_clock_event_del+0xd/0xf [<81081350>] event_sched_out+0xab/0x11e [<810813e0>] group_sched_out+0x1d/0x66 [<81081682>] ctx_sched_out+0xaf/0xbf [<81081e04>] __perf_event_task_sched_out+0x1ed/0x34f [<8142cacc>] __schedule+0x4c6/0x4cb [<8142cae0>] schedule+0xf/0x11 [<8142f9a6>] work_resched+0x5/0x30 other info that might help us debug this: Chain exists of: &port_lock_key --> &ctx->lock --> hrtimer_bases.lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(hrtimer_bases.lock); lock(&ctx->lock); lock(hrtimer_bases.lock); lock(&port_lock_key); *** DEADLOCK *** 4 locks held by trinity-main/74: #0: (&rq->lock){-.-.-.}, at: [<8142c6f3>] __schedule+0xed/0x4cb #1: (&ctx->lock){......}, at: [<81081df3>] __perf_event_task_sched_out+0x1dc/0x34f #2: (hrtimer_bases.lock){-.-...}, at: [<8103caeb>] hrtimer_try_to_cancel+0x13/0x66 #3: (console_lock){+.+...}, at: [<8104fb5d>] vprintk_emit+0x3c7/0x3e4 stack backtrace: CPU: 0 PID: 74 Comm: trinity-main Not tainted 3.15.0-rc8-06195-g939f04b #2 00000000 81c3a310 8b995c14 81426f69 8b995c44 81425a99 8161f671 8161f570 8161f538 8161f559 8161f538 8b995c78 8b142bb0 00000004 8b142fdc 8b142bb0 8b995ca8 8104a62d 8b142fac 000016f2 81c3a310 00000001 00000001 00000003 Call Trace: [<81426f69>] dump_stack+0x16/0x18 [<81425a99>] print_circular_bug+0x18f/0x19c [<8104a62d>] __lock_acquire+0x9ea/0xc6d [<8104a942>] lock_acquire+0x92/0x101 [<811c60be>] ? serial8250_console_write+0x8c/0x10c [<811c6032>] ? wait_for_xmitr+0x76/0x76 [<8142f11d>] _raw_spin_lock_irqsave+0x2e/0x3e [<811c60be>] ? serial8250_console_write+0x8c/0x10c [<811c60be>] serial8250_console_write+0x8c/0x10c [<8104af87>] ? lock_release+0x191/0x223 [<811c6032>] ? wait_for_xmitr+0x76/0x76 [<8104e402>] call_console_drivers.constprop.31+0x87/0x118 [<8104f5d5>] console_unlock+0x1d7/0x398 [<8104fb70>] vprintk_emit+0x3da/0x3e4 [<81425f76>] printk+0x17/0x19 [<8105bfa0>] clockevents_program_min_delta+0x104/0x116 [<8105cc1c>] tick_program_event+0x1e/0x23 [<8103c43c>] hrtimer_force_reprogram+0x88/0x8f [<8103c49e>] __remove_hrtimer+0x5b/0x79 [<8103cb21>] hrtimer_try_to_cancel+0x49/0x66 [<8103cb4b>] hrtimer_cancel+0xd/0x18 [<8107f102>] perf_swevent_cancel_hrtimer.part.60+0x2b/0x30 [<81080705>] task_clock_event_stop+0x20/0x64 [<81080756>] task_clock_event_del+0xd/0xf [<81081350>] event_sched_out+0xab/0x11e [<810813e0>] group_sched_out+0x1d/0x66 [<81081682>] ctx_sched_out+0xaf/0xbf [<81081e04>] __perf_event_task_sched_out+0x1ed/0x34f [<8104416d>] ? __dequeue_entity+0x23/0x27 [<81044505>] ? pick_next_task_fair+0xb1/0x120 [<8142cacc>] __schedule+0x4c6/0x4cb [<81047574>] ? trace_hardirqs_off_caller+0xd7/0x108 [<810475b0>] ? trace_hardirqs_off+0xb/0xd [<81056346>] ? rcu_irq_exit+0x64/0x77 Fix the problem by using printk_deferred() which does not call into the scheduler. Reported-by: Fengguang Wu Signed-off-by: Jan Kara --- kernel/time/clockevents.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c index ad362c260ef4..9c94c19f1305 100644 --- a/kernel/time/clockevents.c +++ b/kernel/time/clockevents.c @@ -146,7 +146,8 @@ static int clockevents_increase_min_delta(struct clock_event_device *dev) { /* Nothing to do if we already reached the limit */ if (dev->min_delta_ns >= MIN_DELTA_LIMIT) { - printk(KERN_WARNING "CE: Reprogramming failure. Giving up\n"); + printk_deferred(KERN_WARNING + "CE: Reprogramming failure. Giving up\n"); dev->next_event.tv64 = KTIME_MAX; return -ETIME; } @@ -159,9 +160,10 @@ static int clockevents_increase_min_delta(struct clock_event_device *dev) if (dev->min_delta_ns > MIN_DELTA_LIMIT) dev->min_delta_ns = MIN_DELTA_LIMIT; - printk(KERN_WARNING "CE: %s increased min_delta_ns to %llu nsec\n", - dev->name ? dev->name : "?", - (unsigned long long) dev->min_delta_ns); + printk_deferred(KERN_WARNING + "CE: %s increased min_delta_ns to %llu nsec\n", + dev->name ? dev->name : "?", + (unsigned long long) dev->min_delta_ns); return 0; } -- 1.8.1.4 From jack@suse.cz Fri Oct 10 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=0.0 required=5.0 tests=none 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 3FCE47F47 for ; Fri, 10 Oct 2014 09:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2ED5E304053 for ; Fri, 10 Oct 2014 07:24:12 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04cb6c77062ddb60001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id L4clYAO2OaW9yxuN (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:11 -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 1D379ADF0; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 740DF81FC6; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Tao Ma , Christoph Hellwig , Roland Dreier , Dan Williams , Jens Axboe Subject: [PATCH] block: Make rq_affinity = 1 work as expected Date: Fri, 10 Oct 2014 16:23:09 +0200 X-ASG-Orig-Subj: [PATCH] block: Make rq_affinity = 1 work as expected Message-Id: <1412951028-4085-5-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header From: Tao Ma Commit 5757a6d76c introduced a new rq_affinity = 2 so as to make the request completed in the __make_request cpu. But it makes the old rq_affinity = 1 not work any more. The root cause is that if the 'cpu' and 'req->cpu' is in the same group and cpu != req->cpu, ccpu will be the same as group_cpu, so the completion will be excuted in the 'cpu' not 'group_cpu'. This patch fix problem by simpling removing group_cpu and the codes are more explicit now. If ccpu == cpu, we complete in cpu, otherwise we raise_blk_irq to ccpu. Cc: Christoph Hellwig Cc: Roland Dreier Cc: Dan Williams Cc: Jens Axboe Signed-off-by: Tao Ma Reviewed-by: Shaohua Li Signed-off-by: Jens Axboe --- block/blk-softirq.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/block/blk-softirq.c b/block/blk-softirq.c index 475fab809a80..487addc85bb5 100644 --- a/block/blk-softirq.c +++ b/block/blk-softirq.c @@ -103,7 +103,7 @@ static struct notifier_block __cpuinitdata blk_cpu_notifier = { void __blk_complete_request(struct request *req) { - int ccpu, cpu, group_cpu = NR_CPUS; + int ccpu, cpu; struct request_queue *q = req->q; unsigned long flags; @@ -117,14 +117,12 @@ void __blk_complete_request(struct request *req) */ if (test_bit(QUEUE_FLAG_SAME_COMP, &q->queue_flags) && req->cpu != -1) { ccpu = req->cpu; - if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) { + if (!test_bit(QUEUE_FLAG_SAME_FORCE, &q->queue_flags)) ccpu = blk_cpu_to_group(ccpu); - group_cpu = blk_cpu_to_group(cpu); - } } else ccpu = cpu; - if (ccpu == cpu || ccpu == group_cpu) { + if (ccpu == cpu) { struct list_head *list; do_local: list = &__get_cpu_var(blk_cpu_done); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 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=0.0 required=5.0 tests=none 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 9A8307F8E for ; Fri, 10 Oct 2014 09:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 89B168F8059 for ; Fri, 10 Oct 2014 07:24:12 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04cbb018ac2aff80001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id vuqvm4NmTi0EQULC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:11 -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 7476DADF9; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 1A7D482071; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org Subject: [PATCH 2/2 RESEND] bdi: Avoid oops on device removal Date: Fri, 10 Oct 2014 16:23:43 +0200 X-ASG-Orig-Subj: [PATCH 2/2 RESEND] bdi: Avoid oops on device removal Message-Id: <1412951028-4085-39-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header After 839a8e8660b67 "writeback: replace custom worker pool implementation with unbound workqueue" when device is removed while we are writing to it we crash in bdi_writeback_workfn() -> set_worker_desc() because bdi->dev is NULL. This can happen because even though bdi_unregister() cancels all pending flushing work, nothing really prevents new ones from being queued from balance_dirty_pages() or other places. Fix the problem by clearing BDI_registered bit in bdi_unregister() and checking it before scheduling of any flushing work. Fixes: 839a8e8660b6777e7fe4e80af1a048aebe2b5977 CC: stable@vger.kernel.org Reviewed-by: Tejun Heo Signed-off-by: Jan Kara --- fs/fs-writeback.c | 23 ++++++++++++++++++----- include/linux/backing-dev.h | 2 +- mm/backing-dev.c | 13 +++++++++---- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 8277b76be983..c24e7b8b521b 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -94,16 +94,29 @@ static inline struct inode *wb_inode(struct list_head *head) #define CREATE_TRACE_POINTS #include +static void bdi_wakeup_thread(struct backing_dev_info *bdi) +{ + spin_lock_bh(&bdi->wb_lock); + if (test_bit(BDI_registered, &bdi->state)) + mod_delayed_work(bdi_wq, &bdi->wb.dwork, 0); + spin_unlock_bh(&bdi->wb_lock); +} + static void bdi_queue_work(struct backing_dev_info *bdi, struct wb_writeback_work *work) { trace_writeback_queue(bdi, work); spin_lock_bh(&bdi->wb_lock); + if (!test_bit(BDI_registered, &bdi->state)) { + if (work->done) + complete(work->done); + goto out_unlock; + } list_add_tail(&work->list, &bdi->work_list); - spin_unlock_bh(&bdi->wb_lock); - mod_delayed_work(bdi_wq, &bdi->wb.dwork, 0); +out_unlock: + spin_unlock_bh(&bdi->wb_lock); } static void @@ -119,7 +132,7 @@ __bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages, work = kzalloc(sizeof(*work), GFP_ATOMIC); if (!work) { trace_writeback_nowork(bdi); - mod_delayed_work(bdi_wq, &bdi->wb.dwork, 0); + bdi_wakeup_thread(bdi); return; } @@ -166,7 +179,7 @@ void bdi_start_background_writeback(struct backing_dev_info *bdi) * writeback as soon as there is no other work to do. */ trace_writeback_wake_background(bdi); - mod_delayed_work(bdi_wq, &bdi->wb.dwork, 0); + bdi_wakeup_thread(bdi); } /* @@ -1025,7 +1038,7 @@ void bdi_writeback_workfn(struct work_struct *work) current->flags |= PF_SWAPWRITE; if (likely(!current_is_workqueue_rescuer() || - list_empty(&bdi->bdi_list))) { + !test_bit(BDI_registered, &bdi->state))) { /* * The normal path. Keep writing back @bdi until its * work_list is empty. Note that this path is also taken diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 24819001f5c8..e488e9459a93 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -95,7 +95,7 @@ struct backing_dev_info { unsigned int max_ratio, max_prop_frac; struct bdi_writeback wb; /* default writeback info for this bdi */ - spinlock_t wb_lock; /* protects work_list */ + spinlock_t wb_lock; /* protects work_list & wb.dwork scheduling */ struct list_head work_list; diff --git a/mm/backing-dev.c b/mm/backing-dev.c index fab8401fc54e..09d9591b7708 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -297,7 +297,10 @@ void bdi_wakeup_thread_delayed(struct backing_dev_info *bdi) unsigned long timeout; timeout = msecs_to_jiffies(dirty_writeback_interval * 10); - queue_delayed_work(bdi_wq, &bdi->wb.dwork, timeout); + spin_lock_bh(&bdi->wb_lock); + if (test_bit(BDI_registered, &bdi->state)) + queue_delayed_work(bdi_wq, &bdi->wb.dwork, timeout); + spin_unlock_bh(&bdi->wb_lock); } /* @@ -310,9 +313,6 @@ static void bdi_remove_from_list(struct backing_dev_info *bdi) spin_unlock_bh(&bdi_lock); synchronize_rcu_expedited(); - - /* bdi_list is now unused, clear it to mark @bdi dying */ - INIT_LIST_HEAD(&bdi->bdi_list); } int bdi_register(struct backing_dev_info *bdi, struct device *parent, @@ -363,6 +363,11 @@ static void bdi_wb_shutdown(struct backing_dev_info *bdi) */ bdi_remove_from_list(bdi); + /* Make sure nobody queues further work */ + spin_lock_bh(&bdi->wb_lock); + clear_bit(BDI_registered, &bdi->state); + spin_unlock_bh(&bdi->wb_lock); + /* * Drain work list and shutdown the delayed_work. At this point, * @bdi->bdi_list is empty telling bdi_Writeback_workfn() that @bdi -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 9F7787F91 for ; Fri, 10 Oct 2014 09:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2F311AC014 for ; Fri, 10 Oct 2014 07:24:12 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04cbb018ad2aff80001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id vgszfcsGQVpM4G9z (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:10 -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 74B0AADFA; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 20B7882077; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 2/2] printk: Debug patch 2 Date: Fri, 10 Oct 2014 16:23:48 +0200 X-ASG-Orig-Subj: [PATCH 2/2] printk: Debug patch 2 Message-Id: <1412951028-4085-44-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- kernel/printk/printk.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index a39f4129f848..00a9ad5c2708 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1718,17 +1718,19 @@ asmlinkage int vprintk_emit(int facility, int level, logbuf_cpu = UINT_MAX; raw_spin_unlock(&logbuf_lock); - local_irq_restore(flags); - - /* If called from the scheduler, we can not call up(). */ - if (in_sched) - return printed_len; - /* * Disable preemption to avoid being preempted while holding * console_sem which would prevent anyone from printing to console */ preempt_disable(); + local_irq_restore(flags); + + /* If called from the scheduler, we can not call up(). */ + if (in_sched) { + preempt_enable(); + return printed_len; + } + /* * Try to acquire and then immediately release the console semaphore. * The release will print out buffers and wake up /dev/kmsg and syslog() -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 C8ECE7F93 for ; Fri, 10 Oct 2014 09:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A7B6C8F8050 for ; Fri, 10 Oct 2014 07:24:12 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04bdf028762a55b0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id OSFpvRgBdeD7GZz2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:11 -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 6627FADF5; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 144EB82075; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara , stable@vger.kernel.org Subject: [PATCH 2/2] ext4: Fix hole punching for files with indirect blocks Date: Fri, 10 Oct 2014 16:23:45 +0200 X-ASG-Orig-Subj: [PATCH 2/2] ext4: Fix hole punching for files with indirect blocks Message-Id: <1412951028-4085-41-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951051 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hole punching code for files with indirect blocks wrongly computed number of blocks which need to be cleared when traversing the indirect block tree. That could result in punching more blocks than actually requested and thus effectively cause a data loss. For example: fallocate -n -p 10240000 4096 will punch the range 10240000 - 12632064 instead of the range 1024000 - 10244096. Fix the calculation. CC: stable@vger.kernel.org Fixes: 8bad6fc813a3a5300f51369c39d315679fd88c72 Signed-off-by: Jan Kara --- fs/ext4/indirect.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c index 9d381707a6fc..771949c82715 100644 --- a/fs/ext4/indirect.c +++ b/fs/ext4/indirect.c @@ -1310,16 +1310,24 @@ static int free_hole_blocks(handle_t *handle, struct inode *inode, blk = *i_data; if (level > 0) { ext4_lblk_t first2; + ext4_lblk_t count2; + bh = sb_bread(inode->i_sb, le32_to_cpu(blk)); if (!bh) { EXT4_ERROR_INODE_BLOCK(inode, le32_to_cpu(blk), "Read failure"); return -EIO; } - first2 = (first > offset) ? first - offset : 0; + if (first > offset) { + first2 = first - offset; + count2 = count; + } else { + first2 = 0; + count2 = count - (offset - first); + } ret = free_hole_blocks(handle, inode, bh, (__le32 *)bh->b_data, level - 1, - first2, count - offset, + first2, count2, inode->i_sb->s_blocksize >> 2); if (ret) { brelse(bh); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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 28C8D7FA6 for ; Fri, 10 Oct 2014 09:24:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id BC8ACAC014 for ; Fri, 10 Oct 2014 07:24:13 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04bdf028792a55c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id a4vSGmAUJrovjCIQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:12 -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 73AC6ADF8; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0992D82059; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] x86: Fixup lockdep complaint caused by io apic code Date: Fri, 10 Oct 2014 16:23:42 +0200 X-ASG-Orig-Subj: [PATCH] x86: Fixup lockdep complaint caused by io apic code Message-Id: <1412951028-4085-38-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951052 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0day kernel testing guys have reported following lockdep complaint: ====================================================== [ INFO: possible circular locking dependency detected ] 3.15.0-rc5-00567-gbafe980 #1 Not tainted ------------------------------------------------------- swapper/1 is trying to acquire lock: (&irq_desc_lock_class){-.-...}, at: [<8107dc8c>] __irq_get_desc_lock+0x3c/0x70 but task is already holding lock: (&port_lock_key){......}, at: [<815f5b27>] serial8250_startup+0x337/0x720 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&port_lock_key){......}: lock when printing to serial console> [<810750e5>] lock_acquire+0x85/0x190 [<81baed9d>] _raw_spin_lock_irqsave+0x4d/0x60 [<8106eb1c>] down_trylock+0xc/0x30 [<8107b795>] console_trylock+0x15/0xb0 [<8107be8f>] vprintk_emit+0x14f/0x4d0 [<81b969b9>] printk+0x38/0x3a [<82137f78>] print_ICs+0x5b/0x3e7 [<8212bb41>] do_one_initcall+0x8b/0x128 [<8212bd7d>] kernel_init_freeable+0x19f/0x236 [<81b9238b>] kernel_init+0xb/0xd0 [<81bb0080>] ret_from_kernel_thread+0x20/0x30 -> #1 (i8259A_lock){-.....}: [<810750e5>] lock_acquire+0x85/0x190 [<81baed9d>] _raw_spin_lock_irqsave+0x4d/0x60 [<81005af1>] unmask_8259A_irq+0x11/0x60 [<81005b4b>] enable_8259A_irq+0xb/0x10 [<8107fffb>] irq_enable+0x2b/0x40 [<8108005d>] irq_startup+0x4d/0x60 [<8107f2bc>] __setup_irq+0x39c/0x460 [<8107f433>] setup_irq+0x33/0x80 [<8212db15>] setup_default_timer_irq+0xf/0x11 [<8212db2d>] hpet_time_init+0x16/0x18 [<8212daff>] x86_late_time_init+0x9/0x10 [<8212ba3d>] start_kernel+0x331/0x3aa [<8212b380>] i386_start_kernel+0x12e/0x131 -> #0 (&irq_desc_lock_class){-.-...}: [<810743c2>] __lock_acquire+0x19c2/0x1b20 [<810750e5>] lock_acquire+0x85/0x190 [<81baed9d>] _raw_spin_lock_irqsave+0x4d/0x60 [<8107dc8c>] __irq_get_desc_lock+0x3c/0x70 [<8107eb1e>] __disable_irq_nosync+0x1e/0x50 [<8107eb58>] disable_irq_nosync+0x8/0x10 [<815f5c78>] serial8250_startup+0x488/0x720 [<815f205e>] uart_startup.part.4+0x6e/0x1e0 [<815f2a40>] uart_open+0xe0/0x140 [<815e4b51>] tty_open+0x141/0x510 [<81118bc0>] chrdev_open+0x60/0x140 [<8111372c>] do_dentry_open+0x14c/0x230 [<8111459e>] finish_open+0x2e/0x40 [<8112132a>] do_last+0x4aa/0xd30 [<81121c5a>] path_openat+0xaa/0x610 [<811221ec>] do_filp_open+0x2c/0x70 [<81114a81>] do_sys_open+0x111/0x210 [<81114b9d>] SyS_open+0x1d/0x20 [<8212bda4>] kernel_init_freeable+0x1c6/0x236 [<81b9238b>] kernel_init+0xb/0xd0 [<81bb0080>] ret_from_kernel_thread+0x20/0x30 I believe the core of the problem is that print_PIC() calls printk() from under i8259A_lock. I've checked and that doesn't seem to happen anywhere else in the kernel. So let's move printk() from under that lock. As a side note this problem has existed for a long time but it was uncovered by my patch resulting in extended lockdep coverage of printk code. Reported-by: Jet Chen Signed-off-by: Jan Kara --- arch/x86/kernel/apic/io_apic.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 6ad4658de705..b815a4c9e5e5 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -1770,7 +1770,7 @@ __apicdebuginit(void) print_local_APICs(int maxcpu) __apicdebuginit(void) print_PIC(void) { - unsigned int v; + unsigned int v0, v1, v2; unsigned long flags; if (!legacy_pic->nr_legacy_irqs) @@ -1780,24 +1780,23 @@ __apicdebuginit(void) print_PIC(void) raw_spin_lock_irqsave(&i8259A_lock, flags); - v = inb(0xa1) << 8 | inb(0x21); - printk(KERN_DEBUG "... PIC IMR: %04x\n", v); - - v = inb(0xa0) << 8 | inb(0x20); - printk(KERN_DEBUG "... PIC IRR: %04x\n", v); + v0 = inb(0xa1) << 8 | inb(0x21); + v1 = inb(0xa0) << 8 | inb(0x20); outb(0x0b,0xa0); outb(0x0b,0x20); - v = inb(0xa0) << 8 | inb(0x20); + v2 = inb(0xa0) << 8 | inb(0x20); outb(0x0a,0xa0); outb(0x0a,0x20); raw_spin_unlock_irqrestore(&i8259A_lock, flags); - printk(KERN_DEBUG "... PIC ISR: %04x\n", v); + printk(KERN_DEBUG "... PIC IMR: %04x\n", v0); + printk(KERN_DEBUG "... PIC IRR: %04x\n", v1); + printk(KERN_DEBUG "... PIC ISR: %04x\n", v2); - v = inb(0x4d1) << 8 | inb(0x4d0); - printk(KERN_DEBUG "... PIC ELCR: %04x\n", v); + v0 = inb(0x4d1) << 8 | inb(0x4d0); + printk(KERN_DEBUG "... PIC ELCR: %04x\n", v0); } static int __initdata show_lapic = 1; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 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=0.0 required=5.0 tests=none 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 9B2B47F90 for ; Fri, 10 Oct 2014 09:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8A405304053 for ; Fri, 10 Oct 2014 07:24:12 -0700 (PDT) X-ASG-Debug-ID: 1412951050-04cbb018ab2aff80001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 3Csx0TCUDEAkl2hB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:11 -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 82287ADFB; Fri, 10 Oct 2014 14:24:04 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 1E9B082070; Fri, 10 Oct 2014 16:24:02 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 2/2] jbd2: Simplify calling convention around __jbd2_journal_clean_checkpoint_list Date: Fri, 10 Oct 2014 16:23:47 +0200 X-ASG-Orig-Subj: [PATCH 2/2] jbd2: Simplify calling convention around __jbd2_journal_clean_checkpoint_list Message-Id: <1412951028-4085-43-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951050 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header __jbd2_journal_clean_checkpoint_list() returns number of buffers it freed but noone was using the value so just stop doing that. This also allows for simplifying the calling convention for journal_clean_once_cp_list(). Signed-off-by: Jan Kara --- fs/jbd2/checkpoint.c | 56 ++++++++++++++++++++++------------------------------ include/linux/jbd2.h | 2 +- 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index e39b2d0e1079..ef23d6f4a6a2 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -479,16 +479,15 @@ int jbd2_cleanup_journal_tail(journal_t *journal) * release them. * * Called with j_list_lock held. - * Returns number of buffers reaped (for debug) + * Returns 1 if we freed the transaction, 0 otherwise. */ - -static int journal_clean_one_cp_list(struct journal_head *jh, int *released) +static int journal_clean_one_cp_list(struct journal_head *jh) { struct journal_head *last_jh; struct journal_head *next_jh = jh; - int ret, freed = 0; + int ret; + int freed = 0; - *released = 0; if (!jh) return 0; @@ -499,11 +498,9 @@ static int journal_clean_one_cp_list(struct journal_head *jh, int *released) ret = __try_to_free_cp_buf(jh); if (!ret) return freed; - freed++; - if (ret == 2) { - *released = 1; - return freed; - } + if (ret == 2) + return 1; + freed = 1; /* * This function only frees up some memory * if possible so we dont have an obligation @@ -523,53 +520,48 @@ static int journal_clean_one_cp_list(struct journal_head *jh, int *released) * Find all the written-back checkpoint buffers in the journal and release them. * * Called with j_list_lock held. - * Returns number of buffers reaped (for debug) */ - -int __jbd2_journal_clean_checkpoint_list(journal_t *journal) +void __jbd2_journal_clean_checkpoint_list(journal_t *journal) { transaction_t *transaction, *last_transaction, *next_transaction; int ret; - int freed = 0; - int released; transaction = journal->j_checkpoint_transactions; if (!transaction) - goto out; + return; last_transaction = transaction->t_cpprev; next_transaction = transaction; do { transaction = next_transaction; next_transaction = transaction->t_cpnext; - ret = journal_clean_one_cp_list(transaction-> - t_checkpoint_list, &released); + ret = journal_clean_one_cp_list(transaction->t_checkpoint_list); /* * This function only frees up some memory if possible so we * dont have an obligation to finish processing. Bail out if * preemption requested: */ - if (need_resched()) { - freed += ret; - goto out; - } - if (released) { - freed += ret; + if (need_resched()) + return; + if (ret) continue; - } /* * It is essential that we are as careful as in the case of * t_checkpoint_list with removing the buffer from the list as * we can possibly see not yet submitted buffers on io_list */ - ret += journal_clean_one_cp_list(transaction-> - t_checkpoint_io_list, &released); - freed += ret; - if (need_resched() || !ret) - goto out; + ret = journal_clean_one_cp_list(transaction-> + t_checkpoint_io_list); + if (need_resched()) + return; + /* + * Stop scanning if we couldn't free the transaction. This + * avoids pointless scanning of transactions which still + * weren't checkpointed. + */ + if (!ret) + return; } while (transaction != last_transaction); -out: - return freed; } /* diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 0dae71e9971c..704b9a599b26 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1042,7 +1042,7 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block); extern void jbd2_journal_commit_transaction(journal_t *); /* Checkpoint list management */ -int __jbd2_journal_clean_checkpoint_list(journal_t *journal); +void __jbd2_journal_clean_checkpoint_list(journal_t *journal); int __jbd2_journal_remove_checkpoint(struct journal_head *); void __jbd2_journal_insert_checkpoint(struct journal_head *, transaction_t *); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:24: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_FILL_THIS_FORM_SHORT 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 243B37F69 for ; Fri, 10 Oct 2014 09:24:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id AE98DAC010 for ; Fri, 10 Oct 2014 07:24:13 -0700 (PDT) X-ASG-Debug-ID: 1412951048-04bdf028792a55b0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id xMrJCKkF41P2eCrn (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:24:09 -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 ED94FADEE; Fri, 10 Oct 2014 14:24:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id B682981FE2; Fri, 10 Oct 2014 16:24:01 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH] lockdep: Dump info via tracing Date: Fri, 10 Oct 2014 16:23:25 +0200 X-ASG-Orig-Subj: [PATCH] lockdep: Dump info via tracing Message-Id: <1412951028-4085-21-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412951028-4085-1-git-send-email-jack@suse.cz> References: <1412951028-4085-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412951049 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Signed-off-by: Jan Kara --- kernel/locking/lockdep.c | 707 +++++++++++++++++++++++++++-------------------- 1 file changed, 402 insertions(+), 305 deletions(-) diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index d24e4339b46d..b15e7dec55f6 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -77,6 +77,26 @@ module_param(lock_stat, int, 0644); */ static arch_spinlock_t lockdep_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; +static void sprint_ip_sym(char *buf, unsigned long ip) +{ + sprintf(buf, "[<%p>] %pS\n", (void *) ip, (void *) ip); +} + +static void trace_print_stack_trace(struct stack_trace *trace, int spaces) +{ + int i, n; + char buf[256]; + + if (!trace->entries) + return; + + for (i = 0; i < trace->nr_entries; i++) { + n = sprintf(buf, "%*c", 1 + spaces, ' '); + sprint_ip_sym(buf + n, trace->entries[i]); + trace_printk(buf); + } +} + static int graph_lock(void) { arch_spin_lock(&lockdep_lock); @@ -382,9 +402,9 @@ static unsigned long stack_trace[MAX_STACK_TRACE_ENTRIES]; static void print_lockdep_off(const char *bug_msg) { - printk(KERN_DEBUG "%s\n", bug_msg); - printk(KERN_DEBUG "turning off the locking correctness validator.\n"); - printk(KERN_DEBUG "Please attach the output of /proc/lock_stat to the bug report\n"); + trace_printk("%s\n", bug_msg); + trace_printk("turning off the locking correctness validator.\n"); + trace_printk("Please attach the output of /proc/lock_stat to the bug report\n"); } static int save_trace(struct stack_trace *trace) @@ -417,7 +437,7 @@ static int save_trace(struct stack_trace *trace) return 0; print_lockdep_off("BUG: MAX_STACK_TRACE_ENTRIES too low!"); - dump_stack(); + trace_dump_stack(0); return 0; } @@ -506,7 +526,7 @@ void get_usage_chars(struct lock_class *class, char usage[LOCK_USAGE_CHARS]) usage[i] = '\0'; } -static void __print_lock_name(struct lock_class *class) +static void __sprint_lock_name(char *buf, struct lock_class *class) { char str[KSYM_NAME_LEN]; const char *name; @@ -514,28 +534,28 @@ static void __print_lock_name(struct lock_class *class) name = class->name; if (!name) { name = __get_key_name(class->key, str); - printk("%s", name); + strcpy(buf, name); } else { - printk("%s", name); + strcpy(buf, name); if (class->name_version > 1) - printk("#%d", class->name_version); + sprintf(buf + strlen(buf), "#%d", class->name_version); if (class->subclass) - printk("/%d", class->subclass); + sprintf(buf + strlen(buf), "/%d", class->subclass); } } -static void print_lock_name(struct lock_class *class) +static void sprint_lock_name(char *buf, struct lock_class *class) { char usage[LOCK_USAGE_CHARS]; get_usage_chars(class, usage); - printk(" ("); - __print_lock_name(class); - printk("){%s}", usage); + strcpy(buf, " ("); + __sprint_lock_name(buf, class); + sprintf(buf + strlen(buf), "){%s}", usage); } -static void print_lockdep_cache(struct lockdep_map *lock) +static void sprint_lockdep_cache(char *buf, struct lockdep_map *lock) { const char *name; char str[KSYM_NAME_LEN]; @@ -544,14 +564,14 @@ static void print_lockdep_cache(struct lockdep_map *lock) if (!name) name = __get_key_name(lock->key->subkeys, str); - printk("%s", name); + strcpy(buf, name); } -static void print_lock(struct held_lock *hlock) +static void sprint_lock(char *buf, struct held_lock *hlock) { - print_lock_name(hlock_class(hlock)); - printk(", at: "); - print_ip_sym(hlock->acquire_ip); + sprint_lock_name(buf, hlock_class(hlock)); + strcat(buf, ", at: "); + sprint_ip_sym(buf + strlen(buf), hlock->acquire_ip); } static void lockdep_print_held_locks(struct task_struct *curr) @@ -559,21 +579,24 @@ static void lockdep_print_held_locks(struct task_struct *curr) int i, depth = curr->lockdep_depth; if (!depth) { - printk("no locks held by %s/%d.\n", curr->comm, task_pid_nr(curr)); + trace_printk("no locks held by %s/%d.\n", curr->comm, task_pid_nr(curr)); return; } - printk("%d lock%s held by %s/%d:\n", + trace_printk("%d lock%s held by %s/%d:\n", depth, depth > 1 ? "s" : "", curr->comm, task_pid_nr(curr)); for (i = 0; i < depth; i++) { - printk(" #%d: ", i); - print_lock(curr->held_locks + i); + char buf[256]; + + sprintf(buf, " #%d: ", i); + sprint_lock(buf + strlen(buf), curr->held_locks + i); + trace_printk(buf); } } static void print_kernel_ident(void) { - printk("%s %.*s %s\n", init_utsname()->release, + trace_printk("%s %.*s %s\n", init_utsname()->release, (int)strcspn(init_utsname()->version, " "), init_utsname()->version, print_tainted()); @@ -669,11 +692,11 @@ look_up_lock_class(struct lockdep_map *lock, unsigned int subclass) if (unlikely(subclass >= MAX_LOCKDEP_SUBCLASSES)) { debug_locks_off(); - printk(KERN_ERR + trace_printk( "BUG: looking up invalid subclass: %u\n", subclass); - printk(KERN_ERR + trace_printk(KERN_ERR "turning off the locking correctness validator.\n"); - dump_stack(); + trace_dump_stack(0); return NULL; } @@ -737,10 +760,10 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force) */ if (!static_obj(lock->key)) { debug_locks_off(); - printk("INFO: trying to register non-static key.\n"); - printk("the code is fine but needs lockdep annotation.\n"); - printk("turning off the locking correctness validator.\n"); - dump_stack(); + trace_printk("INFO: trying to register non-static key.\n"); + trace_printk("the code is fine but needs lockdep annotation.\n"); + trace_printk("turning off the locking correctness validator.\n"); + trace_dump_stack(0); return NULL; } @@ -772,7 +795,7 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force) raw_local_irq_restore(flags); print_lockdep_off("BUG: MAX_LOCKDEP_KEYS too low!"); - dump_stack(); + trace_dump_stack(0); return NULL; } class = lock_classes + nr_lock_classes++; @@ -798,11 +821,11 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force) graph_unlock(); raw_local_irq_restore(flags); - printk("\nnew class %p: %s", class->key, class->name); + trace_printk("\nnew class %p: %s", class->key, class->name); if (class->name_version > 1) - printk("#%d", class->name_version); - printk("\n"); - dump_stack(); + trace_printk("#%d", class->name_version); + trace_printk("\n"); + trace_dump_stack(0); raw_local_irq_save(flags); if (!graph_lock()) { @@ -842,7 +865,7 @@ static struct lock_list *alloc_list_entry(void) return NULL; print_lockdep_off("BUG: MAX_LOCKDEP_ENTRIES too low!"); - dump_stack(); + trace_dump_stack(0); return NULL; } return list_entries + nr_list_entries++; @@ -1078,12 +1101,15 @@ static inline int __bfs_backwards(struct lock_list *src_entry, static noinline int print_circular_bug_entry(struct lock_list *target, int depth) { + char buf[256]; + if (debug_locks_silent) return 0; - printk("\n-> #%u", depth); - print_lock_name(target->class); - printk(":\n"); - print_stack_trace(&target->trace, 6); + sprintf(buf, "\n-> #%u", depth); + sprint_lock_name(buf + strlen(buf), target->class); + strcat(buf, ":\n"); + trace_printk(buf); + trace_print_stack_trace(&target->trace, 6); return 0; } @@ -1096,6 +1122,7 @@ print_circular_lock_scenario(struct held_lock *src, struct lock_class *source = hlock_class(src); struct lock_class *target = hlock_class(tgt); struct lock_class *parent = prt->class; + char buf[256]; /* * A direct locking problem where unsafe_class lock is taken @@ -1111,31 +1138,36 @@ print_circular_lock_scenario(struct held_lock *src, * from the safe_class lock to the unsafe_class lock. */ if (parent != source) { - printk("Chain exists of:\n "); - __print_lock_name(source); - printk(" --> "); - __print_lock_name(parent); - printk(" --> "); - __print_lock_name(target); - printk("\n\n"); + trace_printk("Chain exists of:\n "); + __sprint_lock_name(buf, source); + strcat(buf, " --> "); + __sprint_lock_name(buf + strlen(buf), parent); + strcat(buf, " --> "); + __sprint_lock_name(buf + strlen(buf), target); + strcat(buf, "\n\n"); + trace_printk(buf); } - printk(" Possible unsafe locking scenario:\n\n"); - printk(" CPU0 CPU1\n"); - printk(" ---- ----\n"); - printk(" lock("); - __print_lock_name(target); - printk(");\n"); - printk(" lock("); - __print_lock_name(parent); - printk(");\n"); - printk(" lock("); - __print_lock_name(target); - printk(");\n"); - printk(" lock("); - __print_lock_name(source); - printk(");\n"); - printk("\n *** DEADLOCK ***\n\n"); + trace_printk(" Possible unsafe locking scenario:\n\n"); + trace_printk(" CPU0 CPU1\n"); + trace_printk(" ---- ----\n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), target); + strcat(buf, ");\n"); + trace_printk(buf); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), parent); + strcat(buf, ");\n"); + trace_printk(buf); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), target); + strcat(buf, ");\n"); + trace_printk(buf); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), source); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk("\n *** DEADLOCK ***\n\n"); } /* @@ -1148,22 +1180,25 @@ print_circular_bug_header(struct lock_list *entry, unsigned int depth, struct held_lock *check_tgt) { struct task_struct *curr = current; + char buf[256]; if (debug_locks_silent) return 0; - printk("\n"); - printk("======================================================\n"); - printk("[ INFO: possible circular locking dependency detected ]\n"); + trace_printk("\n"); + trace_printk("======================================================\n"); + trace_printk("[ INFO: possible circular locking dependency detected ]\n"); print_kernel_ident(); - printk("-------------------------------------------------------\n"); - printk("%s/%d is trying to acquire lock:\n", + trace_printk("-------------------------------------------------------\n"); + sprintf(buf, "%s/%d is trying to acquire lock:\n", curr->comm, task_pid_nr(curr)); - print_lock(check_src); - printk("\nbut task is already holding lock:\n"); - print_lock(check_tgt); - printk("\nwhich lock already depends on the new lock.\n\n"); - printk("\nthe existing dependency chain (in reverse order) is:\n"); + sprint_lock(buf + strlen(buf), check_src); + trace_printk(buf); + trace_printk("\nbut task is already holding lock:\n"); + sprint_lock(buf, check_tgt); + trace_printk(buf); + trace_printk("\nwhich lock already depends on the new lock.\n\n"); + trace_printk("\nthe existing dependency chain (in reverse order) is:\n"); print_circular_bug_entry(entry, depth); @@ -1203,14 +1238,14 @@ static noinline int print_circular_bug(struct lock_list *this, parent = get_lock_parent(parent); } - printk("\nother info that might help us debug this:\n\n"); + trace_printk("\nother info that might help us debug this:\n\n"); print_circular_lock_scenario(check_src, check_tgt, first_parent); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -1367,25 +1402,28 @@ find_usage_backwards(struct lock_list *root, enum lock_usage_bit bit, static void print_lock_class_header(struct lock_class *class, int depth) { int bit; + char buf[256]; - printk("%*s->", depth, ""); - print_lock_name(class); - printk(" ops: %lu", class->ops); - printk(" {\n"); + sprintf(buf, "%*s->", depth, ""); + sprint_lock_name(buf + strlen(buf), class); + sprintf(buf + strlen(buf), " ops: %lu {\n", class->ops); + trace_printk(buf); for (bit = 0; bit < LOCK_USAGE_STATES; bit++) { if (class->usage_mask & (1 << bit)) { int len = depth; - len += printk("%*s %s", depth, "", usage_str[bit]); - len += printk(" at:\n"); - print_stack_trace(class->usage_traces + bit, len); + len += sprintf(buf, "%*s %s", depth, "", usage_str[bit]); + len += sprintf(buf + strlen(buf), " at:\n"); + trace_printk(buf); + trace_print_stack_trace(class->usage_traces + bit, len); } } - printk("%*s }\n", depth, ""); + trace_printk("%*s }\n", depth, ""); - printk("%*s ... key at: ",depth,""); - print_ip_sym((unsigned long)class->key); + sprintf(buf, "%*s ... key at: ",depth,""); + sprint_ip_sym(buf + strlen(buf), (unsigned long)class->key); + trace_printk(buf); } /* @@ -1403,12 +1441,12 @@ print_shortest_lock_dependencies(struct lock_list *leaf, do { print_lock_class_header(entry->class, depth); - printk("%*s ... acquired at:\n", depth, ""); - print_stack_trace(&entry->trace, 2); - printk("\n"); + trace_printk("%*s ... acquired at:\n", depth, ""); + trace_print_stack_trace(&entry->trace, 2); + trace_printk("\n"); if (depth == 0 && (entry != root)) { - printk("lockdep:%s bad path found in chain graph\n", __func__); + trace_printk("lockdep:%s bad path found in chain graph\n", __func__); break; } @@ -1428,6 +1466,7 @@ print_irq_lock_scenario(struct lock_list *safe_entry, struct lock_class *safe_class = safe_entry->class; struct lock_class *unsafe_class = unsafe_entry->class; struct lock_class *middle_class = prev_class; + char buf[256]; if (middle_class == safe_class) middle_class = next_class; @@ -1446,33 +1485,39 @@ print_irq_lock_scenario(struct lock_list *safe_entry, * from the safe_class lock to the unsafe_class lock. */ if (middle_class != unsafe_class) { - printk("Chain exists of:\n "); - __print_lock_name(safe_class); - printk(" --> "); - __print_lock_name(middle_class); - printk(" --> "); - __print_lock_name(unsafe_class); - printk("\n\n"); + trace_printk("Chain exists of:\n"); + strcpy(buf, " "); + __sprint_lock_name(buf + strlen(buf), safe_class); + strcat(buf, " --> "); + __sprint_lock_name(buf + strlen(buf), middle_class); + strcat(buf, " --> "); + __sprint_lock_name(buf + strlen(buf), unsafe_class); + strcat(buf, "\n\n"); + trace_printk(buf); } - printk(" Possible interrupt unsafe locking scenario:\n\n"); - printk(" CPU0 CPU1\n"); - printk(" ---- ----\n"); - printk(" lock("); - __print_lock_name(unsafe_class); - printk(");\n"); - printk(" local_irq_disable();\n"); - printk(" lock("); - __print_lock_name(safe_class); - printk(");\n"); - printk(" lock("); - __print_lock_name(middle_class); - printk(");\n"); - printk(" \n"); - printk(" lock("); - __print_lock_name(safe_class); - printk(");\n"); - printk("\n *** DEADLOCK ***\n\n"); + trace_printk(" Possible interrupt unsafe locking scenario:\n\n"); + trace_printk(" CPU0 CPU1\n"); + trace_printk(" ---- ----\n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), unsafe_class); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk(" local_irq_disable();\n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), safe_class); + strcat(buf, ");\n"); + trace_printk(buf); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), middle_class); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk(" \n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), safe_class); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk("\n *** DEADLOCK ***\n\n"); } static int @@ -1487,65 +1532,74 @@ print_bad_irq_dependency(struct task_struct *curr, enum lock_usage_bit bit2, const char *irqclass) { + char buf[256]; + if (!debug_locks_off_graph_unlock() || debug_locks_silent) return 0; - printk("\n"); - printk("======================================================\n"); - printk("[ INFO: %s-safe -> %s-unsafe lock order detected ]\n", + trace_printk("\n"); + trace_printk("======================================================\n"); + trace_printk("[ INFO: %s-safe -> %s-unsafe lock order detected ]\n", irqclass, irqclass); print_kernel_ident(); - printk("------------------------------------------------------\n"); - printk("%s/%d [HC%u[%lu]:SC%u[%lu]:HE%u:SE%u] is trying to acquire:\n", + trace_printk("------------------------------------------------------\n"); + trace_printk("%s/%d [HC%u[%lu]:SC%u[%lu]:HE%u:SE%u] is trying to acquire:\n", curr->comm, task_pid_nr(curr), curr->hardirq_context, hardirq_count() >> HARDIRQ_SHIFT, curr->softirq_context, softirq_count() >> SOFTIRQ_SHIFT, curr->hardirqs_enabled, curr->softirqs_enabled); - print_lock(next); - - printk("\nand this task is already holding:\n"); - print_lock(prev); - printk("which would create a new lock dependency:\n"); - print_lock_name(hlock_class(prev)); - printk(" ->"); - print_lock_name(hlock_class(next)); - printk("\n"); - - printk("\nbut this new dependency connects a %s-irq-safe lock:\n", + sprint_lock(buf, next); + trace_printk(buf); + + trace_printk("\nand this task is already holding:\n"); + sprint_lock(buf, prev); + trace_printk(buf); + trace_printk("which would create a new lock dependency:\n"); + sprint_lock_name(buf, hlock_class(prev)); + strcat(buf, " ->"); + sprint_lock_name(buf + strlen(buf), hlock_class(next)); + strcat(buf, "\n"); + trace_printk(buf); + + trace_printk("\nbut this new dependency connects a %s-irq-safe lock:\n", irqclass); - print_lock_name(backwards_entry->class); - printk("\n... which became %s-irq-safe at:\n", irqclass); + sprint_lock_name(buf, backwards_entry->class); + strcat(buf, "\n"); + trace_printk(buf); + trace_printk("... which became %s-irq-safe at:\n", irqclass); - print_stack_trace(backwards_entry->class->usage_traces + bit1, 1); + trace_print_stack_trace(backwards_entry->class->usage_traces + bit1, 1); - printk("\nto a %s-irq-unsafe lock:\n", irqclass); - print_lock_name(forwards_entry->class); - printk("\n... which became %s-irq-unsafe at:\n", irqclass); - printk("..."); + trace_printk("\nto a %s-irq-unsafe lock:\n", irqclass); + sprint_lock_name(buf, forwards_entry->class); + strcat(buf, "\n"); + trace_printk(buf); + trace_printk("... which became %s-irq-unsafe at:\n", irqclass); + trace_printk("..."); - print_stack_trace(forwards_entry->class->usage_traces + bit2, 1); + trace_print_stack_trace(forwards_entry->class->usage_traces + bit2, 1); - printk("\nother info that might help us debug this:\n\n"); + trace_printk("\nother info that might help us debug this:\n\n"); print_irq_lock_scenario(backwards_entry, forwards_entry, hlock_class(prev), hlock_class(next)); lockdep_print_held_locks(curr); - printk("\nthe dependencies between %s-irq-safe lock", irqclass); - printk(" and the holding lock:\n"); + trace_printk("\nthe dependencies between %s-irq-safe lock", irqclass); + trace_printk(" and the holding lock:\n"); if (!save_trace(&prev_root->trace)) return 0; print_shortest_lock_dependencies(backwards_entry, prev_root); - printk("\nthe dependencies between the lock to be acquired"); - printk(" and %s-irq-unsafe lock:\n", irqclass); + trace_printk("\nthe dependencies between the lock to be acquired"); + trace_printk(" and %s-irq-unsafe lock:\n", irqclass); if (!save_trace(&next_root->trace)) return 0; print_shortest_lock_dependencies(forwards_entry, next_root); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -1699,44 +1753,51 @@ print_deadlock_scenario(struct held_lock *nxt, { struct lock_class *next = hlock_class(nxt); struct lock_class *prev = hlock_class(prv); - - printk(" Possible unsafe locking scenario:\n\n"); - printk(" CPU0\n"); - printk(" ----\n"); - printk(" lock("); - __print_lock_name(prev); - printk(");\n"); - printk(" lock("); - __print_lock_name(next); - printk(");\n"); - printk("\n *** DEADLOCK ***\n\n"); - printk(" May be due to missing lock nesting notation\n\n"); + char buf[256]; + + trace_printk(" Possible unsafe locking scenario:\n\n"); + trace_printk(" CPU0\n"); + trace_printk(" ----\n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), prev); + strcat(buf, ");\n"); + trace_printk(buf); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), next); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk("\n *** DEADLOCK ***\n\n"); + trace_printk(" May be due to missing lock nesting notation\n\n"); } static int print_deadlock_bug(struct task_struct *curr, struct held_lock *prev, struct held_lock *next) { + char buf[256]; + if (!debug_locks_off_graph_unlock() || debug_locks_silent) return 0; - printk("\n"); - printk("=============================================\n"); - printk("[ INFO: possible recursive locking detected ]\n"); + trace_printk("\n"); + trace_printk("=============================================\n"); + trace_printk("[ INFO: possible recursive locking detected ]\n"); print_kernel_ident(); - printk("---------------------------------------------\n"); - printk("%s/%d is trying to acquire lock:\n", + trace_printk("---------------------------------------------\n"); + trace_printk("%s/%d is trying to acquire lock:\n", curr->comm, task_pid_nr(curr)); - print_lock(next); - printk("\nbut task is already holding lock:\n"); - print_lock(prev); + sprint_lock(buf, next); + trace_printk(buf); + trace_printk("\nbut task is already holding lock:\n"); + sprint_lock(buf, prev); + trace_printk(buf); - printk("\nother info that might help us debug this:\n"); + trace_printk("\nother info that might help us debug this:\n"); print_deadlock_scenario(next, prev); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -1894,13 +1955,16 @@ check_prev_add(struct task_struct *curr, struct held_lock *prev, * Debugging printouts: */ if (verbose(hlock_class(prev)) || verbose(hlock_class(next))) { + char buf[256]; + graph_unlock(); - printk("\n new dependency: "); - print_lock_name(hlock_class(prev)); - printk(" => "); - print_lock_name(hlock_class(next)); - printk("\n"); - dump_stack(); + strcpy(buf, "\n new dependency: "); + sprint_lock_name(buf + strlen(buf), hlock_class(prev)); + strcat(buf, " => "); + sprint_lock_name(buf + strlen(buf), hlock_class(next)); + strcat(buf, "\n"); + trace_printk(buf); + trace_dump_stack(0); return graph_lock(); } return 1; @@ -2025,7 +2089,7 @@ static inline int lookup_chain_cache(struct task_struct *curr, cache_hit: debug_atomic_inc(chain_lookup_hits); if (very_verbose(class)) - printk("\nhash chain already cached, key: " + trace_printk("\nhash chain already cached, key: " "%016Lx tail class: [%p] %s\n", (unsigned long long)chain_key, class->key, class->name); @@ -2033,7 +2097,7 @@ cache_hit: } } if (very_verbose(class)) - printk("\nnew hash chain, key: %016Lx tail class: [%p] %s\n", + trace_printk("\nnew hash chain, key: %016Lx tail class: [%p] %s\n", (unsigned long long)chain_key, class->key, class->name); /* * Allocate a new chain entry from the static array, and add @@ -2055,7 +2119,7 @@ cache_hit: return 0; print_lockdep_off("BUG: MAX_LOCKDEP_CHAINS too low!"); - dump_stack(); + trace_dump_stack(0); return 0; } chain = lock_chains + nr_lock_chains++; @@ -2203,55 +2267,61 @@ static void print_usage_bug_scenario(struct held_lock *lock) { struct lock_class *class = hlock_class(lock); - - printk(" Possible unsafe locking scenario:\n\n"); - printk(" CPU0\n"); - printk(" ----\n"); - printk(" lock("); - __print_lock_name(class); - printk(");\n"); - printk(" \n"); - printk(" lock("); - __print_lock_name(class); - printk(");\n"); - printk("\n *** DEADLOCK ***\n\n"); + char buf[256]; + + trace_printk(" Possible unsafe locking scenario:\n\n"); + trace_printk(" CPU0\n"); + trace_printk(" ----\n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), class); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk(" \n"); + strcpy(buf, " lock("); + __sprint_lock_name(buf + strlen(buf), class); + strcat(buf, ");\n"); + trace_printk(buf); + trace_printk("\n *** DEADLOCK ***\n\n"); } static int print_usage_bug(struct task_struct *curr, struct held_lock *this, enum lock_usage_bit prev_bit, enum lock_usage_bit new_bit) { + char buf[256]; + if (!debug_locks_off_graph_unlock() || debug_locks_silent) return 0; - printk("\n"); - printk("=================================\n"); - printk("[ INFO: inconsistent lock state ]\n"); + trace_printk("\n"); + trace_printk("=================================\n"); + trace_printk("[ INFO: inconsistent lock state ]\n"); print_kernel_ident(); - printk("---------------------------------\n"); + trace_printk("---------------------------------\n"); - printk("inconsistent {%s} -> {%s} usage.\n", + trace_printk("inconsistent {%s} -> {%s} usage.\n", usage_str[prev_bit], usage_str[new_bit]); - printk("%s/%d [HC%u[%lu]:SC%u[%lu]:HE%u:SE%u] takes:\n", + trace_printk("%s/%d [HC%u[%lu]:SC%u[%lu]:HE%u:SE%u] takes:\n", curr->comm, task_pid_nr(curr), trace_hardirq_context(curr), hardirq_count() >> HARDIRQ_SHIFT, trace_softirq_context(curr), softirq_count() >> SOFTIRQ_SHIFT, trace_hardirqs_enabled(curr), trace_softirqs_enabled(curr)); - print_lock(this); + sprint_lock(buf, this); + trace_printk(buf); - printk("{%s} state was registered at:\n", usage_str[prev_bit]); - print_stack_trace(hlock_class(this)->usage_traces + prev_bit, 1); + trace_printk("{%s} state was registered at:\n", usage_str[prev_bit]); + trace_print_stack_trace(hlock_class(this)->usage_traces + prev_bit, 1); print_irqtrace_events(curr); - printk("\nother info that might help us debug this:\n"); + trace_printk("\nother info that might help us debug this:\n"); print_usage_bug_scenario(this); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -2285,32 +2355,36 @@ print_irq_inversion_bug(struct task_struct *curr, struct lock_list *entry = other; struct lock_list *middle = NULL; int depth; + char buf[256]; if (!debug_locks_off_graph_unlock() || debug_locks_silent) return 0; - printk("\n"); - printk("=========================================================\n"); - printk("[ INFO: possible irq lock inversion dependency detected ]\n"); + trace_printk("\n"); + trace_printk("=========================================================\n"); + trace_printk("[ INFO: possible irq lock inversion dependency detected ]\n"); print_kernel_ident(); - printk("---------------------------------------------------------\n"); - printk("%s/%d just changed the state of lock:\n", + trace_printk("---------------------------------------------------------\n"); + trace_printk("%s/%d just changed the state of lock:\n", curr->comm, task_pid_nr(curr)); - print_lock(this); + sprint_lock(buf, this); + trace_printk(buf); if (forwards) - printk("but this lock took another, %s-unsafe lock in the past:\n", irqclass); + trace_printk("but this lock took another, %s-unsafe lock in the past:\n", irqclass); else - printk("but this lock was taken by another, %s-safe lock in the past:\n", irqclass); - print_lock_name(other->class); - printk("\n\nand interrupts could create inverse lock ordering between them.\n\n"); + trace_printk("but this lock was taken by another, %s-safe lock in the past:\n", irqclass); + sprint_lock_name(buf, other->class); + strcat(buf, "\n"); + trace_printk(buf); + trace_printk("\nand interrupts could create inverse lock ordering between them.\n\n"); - printk("\nother info that might help us debug this:\n"); + trace_printk("\nother info that might help us debug this:\n"); /* Find a middle lock (if one exists) */ depth = get_lock_depth(other); do { if (depth == 0 && (entry != root)) { - printk("lockdep:%s bad path found in chain graph\n", __func__); + trace_printk("lockdep:%s bad path found in chain graph\n", __func__); break; } middle = entry; @@ -2326,13 +2400,13 @@ print_irq_inversion_bug(struct task_struct *curr, lockdep_print_held_locks(curr); - printk("\nthe shortest dependencies between 2nd lock and 1st lock:\n"); + trace_printk("\nthe shortest dependencies between 2nd lock and 1st lock:\n"); if (!save_trace(&root->trace)) return 0; print_shortest_lock_dependencies(other, root); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -2387,15 +2461,21 @@ check_usage_backwards(struct task_struct *curr, struct held_lock *this, void print_irqtrace_events(struct task_struct *curr) { - printk("irq event stamp: %u\n", curr->irq_events); - printk("hardirqs last enabled at (%u): ", curr->hardirq_enable_event); - print_ip_sym(curr->hardirq_enable_ip); - printk("hardirqs last disabled at (%u): ", curr->hardirq_disable_event); - print_ip_sym(curr->hardirq_disable_ip); - printk("softirqs last enabled at (%u): ", curr->softirq_enable_event); - print_ip_sym(curr->softirq_enable_ip); - printk("softirqs last disabled at (%u): ", curr->softirq_disable_event); - print_ip_sym(curr->softirq_disable_ip); + char buf[256]; + + trace_printk("irq event stamp: %u\n", curr->irq_events); + sprintf(buf, "hardirqs last enabled at (%u): ", curr->hardirq_enable_event); + sprint_ip_sym(buf + strlen(buf), curr->hardirq_enable_ip); + trace_printk(buf); + sprintf(buf, "hardirqs last disabled at (%u): ", curr->hardirq_disable_event); + sprint_ip_sym(buf + strlen(buf), curr->hardirq_disable_ip); + trace_printk(buf); + sprintf(buf, "softirqs last enabled at (%u): ", curr->softirq_enable_event); + sprint_ip_sym(buf + strlen(buf), curr->softirq_enable_ip); + trace_printk(buf); + sprintf(buf, "softirqs last disabled at (%u): ", curr->softirq_disable_event); + sprint_ip_sym(buf + strlen(buf), curr->softirq_disable_ip); + trace_printk(buf); } static int HARDIRQ_verbose(struct lock_class *class) @@ -2937,10 +3017,13 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, * We must printk outside of the graph_lock: */ if (ret == 2) { - printk("\nmarked lock as {%s}:\n", usage_str[new_bit]); - print_lock(this); + char buf[256]; + + trace_printk("\nmarked lock as {%s}:\n", usage_str[new_bit]); + sprint_lock(buf, this); + trace_printk(buf); print_irqtrace_events(curr); - dump_stack(); + trace_dump_stack(0); } return ret; @@ -2982,7 +3065,7 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, * Sanity check, the lock-class key must be persistent: */ if (!static_obj(key)) { - printk("BUG: key %p not in .data!\n", key); + trace_printk("BUG: key %p not in .data!\n", key); /* * What it says above ^^^^^, I suggest you read it. */ @@ -3007,31 +3090,34 @@ print_lock_nested_lock_not_held(struct task_struct *curr, struct held_lock *hlock, unsigned long ip) { + char buf[256]; + if (!debug_locks_off()) return 0; if (debug_locks_silent) return 0; - printk("\n"); - printk("==================================\n"); - printk("[ BUG: Nested lock was not taken ]\n"); + trace_printk("\n"); + trace_printk("==================================\n"); + trace_printk("[ BUG: Nested lock was not taken ]\n"); print_kernel_ident(); - printk("----------------------------------\n"); + trace_printk("----------------------------------\n"); - printk("%s/%d is trying to lock:\n", curr->comm, task_pid_nr(curr)); - print_lock(hlock); + trace_printk("%s/%d is trying to lock:\n", curr->comm, task_pid_nr(curr)); + sprint_lock(buf, hlock); + trace_printk(buf); - printk("\nbut this task is not holding:\n"); - printk("%s\n", hlock->nest_lock->name); + trace_printk("\nbut this task is not holding:\n"); + trace_printk("%s\n", hlock->nest_lock->name); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); - printk("\nother info that might help us debug this:\n"); + trace_printk("\nother info that might help us debug this:\n"); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -3081,11 +3167,11 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, } atomic_inc((atomic_t *)&class->ops); if (very_verbose(class)) { - printk("\nacquire class [%p] %s", class->key, class->name); + trace_printk("\nacquire class [%p] %s", class->key, class->name); if (class->name_version > 1) - printk("#%d", class->name_version); - printk("\n"); - dump_stack(); + trace_printk("#%d", class->name_version); + trace_printk("\n"); + trace_dump_stack(0); } /* @@ -3192,12 +3278,12 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, if (unlikely(curr->lockdep_depth >= MAX_LOCK_DEPTH)) { debug_locks_off(); print_lockdep_off("BUG: MAX_LOCK_DEPTH too low!"); - printk(KERN_DEBUG "depth: %i max: %lu!\n", + trace_printk("depth: %i max: %lu!\n", curr->lockdep_depth, MAX_LOCK_DEPTH); lockdep_print_held_locks(current); debug_show_all_locks(); - dump_stack(); + trace_dump_stack(0); return 0; } @@ -3212,27 +3298,31 @@ static int print_unlock_imbalance_bug(struct task_struct *curr, struct lockdep_map *lock, unsigned long ip) { + char buf[256]; + if (!debug_locks_off()) return 0; if (debug_locks_silent) return 0; - printk("\n"); - printk("=====================================\n"); - printk("[ BUG: bad unlock balance detected! ]\n"); + trace_printk("\n"); + trace_printk("=====================================\n"); + trace_printk("[ BUG: bad unlock balance detected! ]\n"); print_kernel_ident(); - printk("-------------------------------------\n"); - printk("%s/%d is trying to release lock (", + trace_printk("-------------------------------------\n"); + sprintf(buf, "%s/%d is trying to release lock (", curr->comm, task_pid_nr(curr)); - print_lockdep_cache(lock); - printk(") at:\n"); - print_ip_sym(ip); - printk("but there are no more locks to release!\n"); - printk("\nother info that might help us debug this:\n"); + sprint_lockdep_cache(buf + strlen(buf), lock); + strcat(buf, ") at:\n"); + trace_printk(buf); + sprint_ip_sym(buf, ip); + trace_printk(buf); + trace_printk("but there are no more locks to release!\n"); + trace_printk("\nother info that might help us debug this:\n"); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -3532,11 +3622,11 @@ static void check_flags(unsigned long flags) if (irqs_disabled_flags(flags)) { if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) { - printk("possible reason: unannotated irqs-off.\n"); + trace_printk("possible reason: unannotated irqs-off.\n"); } } else { if (DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)) { - printk("possible reason: unannotated irqs-on.\n"); + trace_printk("possible reason: unannotated irqs-on.\n"); } } @@ -3657,27 +3747,31 @@ static int print_lock_contention_bug(struct task_struct *curr, struct lockdep_map *lock, unsigned long ip) { + char buf[256]; + if (!debug_locks_off()) return 0; if (debug_locks_silent) return 0; - printk("\n"); - printk("=================================\n"); - printk("[ BUG: bad contention detected! ]\n"); + trace_printk("\n"); + trace_printk("=================================\n"); + trace_printk("[ BUG: bad contention detected! ]\n"); print_kernel_ident(); - printk("---------------------------------\n"); - printk("%s/%d is trying to contend lock (", + trace_printk("---------------------------------\n"); + sprintf(buf, "%s/%d is trying to contend lock (", curr->comm, task_pid_nr(curr)); - print_lockdep_cache(lock); - printk(") at:\n"); - print_ip_sym(ip); - printk("but there are no locks held!\n"); - printk("\nother info that might help us debug this:\n"); + sprint_lockdep_cache(buf + strlen(buf), lock); + strcat(buf, ") at:\n"); + trace_printk(buf); + sprint_ip_sym(buf, ip); + trace_printk(buf); + trace_printk("but there are no locks held!\n"); + trace_printk("\nother info that might help us debug this:\n"); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); return 0; } @@ -4033,23 +4127,26 @@ static void print_freed_lock_bug(struct task_struct *curr, const void *mem_from, const void *mem_to, struct held_lock *hlock) { + char buf[256]; + if (!debug_locks_off()) return; if (debug_locks_silent) return; - printk("\n"); - printk("=========================\n"); - printk("[ BUG: held lock freed! ]\n"); + trace_printk("\n"); + trace_printk("=========================\n"); + trace_printk("[ BUG: held lock freed! ]\n"); print_kernel_ident(); - printk("-------------------------\n"); - printk("%s/%d is freeing memory %p-%p, with a lock still held there!\n", + trace_printk("-------------------------\n"); + trace_printk("%s/%d is freeing memory %p-%p, with a lock still held there!\n", curr->comm, task_pid_nr(curr), mem_from, mem_to-1); - print_lock(hlock); + sprint_lock(buf, hlock); + trace_printk(buf); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); } static inline int not_in_range(const void* mem_from, unsigned long mem_len, @@ -4096,15 +4193,15 @@ static void print_held_locks_bug(void) if (debug_locks_silent) return; - printk("\n"); - printk("=====================================\n"); - printk("[ BUG: %s/%d still has locks held! ]\n", + trace_printk("\n"); + trace_printk("=====================================\n"); + trace_printk("[ BUG: %s/%d still has locks held! ]\n", current->comm, task_pid_nr(current)); print_kernel_ident(); - printk("-------------------------------------\n"); + trace_printk("-------------------------------------\n"); lockdep_print_held_locks(current); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); } void debug_check_no_locks_held(void) @@ -4195,12 +4292,12 @@ asmlinkage __visible void lockdep_sys_exit(void) if (unlikely(curr->lockdep_depth)) { if (!debug_locks_off()) return; - printk("\n"); - printk("================================================\n"); - printk("[ BUG: lock held when returning to user space! ]\n"); + trace_printk("\n"); + trace_printk("================================================\n"); + trace_printk("[ BUG: lock held when returning to user space! ]\n"); print_kernel_ident(); - printk("------------------------------------------------\n"); - printk("%s/%d is leaving the kernel with locks still held!\n", + trace_printk("------------------------------------------------\n"); + trace_printk("%s/%d is leaving the kernel with locks still held!\n", curr->comm, curr->pid); lockdep_print_held_locks(curr); } @@ -4215,14 +4312,14 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s) return; #endif /* #ifdef CONFIG_PROVE_RCU_REPEATEDLY */ /* Note: the following can be executed concurrently, so be careful. */ - printk("\n"); - printk("===============================\n"); - printk("[ INFO: suspicious RCU usage. ]\n"); + trace_printk("\n"); + trace_printk("===============================\n"); + trace_printk("[ INFO: suspicious RCU usage. ]\n"); print_kernel_ident(); - printk("-------------------------------\n"); - printk("%s:%d %s!\n", file, line, s); - printk("\nother info that might help us debug this:\n\n"); - printk("\n%srcu_scheduler_active = %d, debug_locks = %d\n", + trace_printk("-------------------------------\n"); + trace_printk("%s:%d %s!\n", file, line, s); + trace_printk("\nother info that might help us debug this:\n\n"); + trace_printk("\n%srcu_scheduler_active = %d, debug_locks = %d\n", !rcu_lockdep_current_cpu_online() ? "RCU used illegally from offline CPU!\n" : !rcu_is_watching() @@ -4249,10 +4346,10 @@ void lockdep_rcu_suspicious(const char *file, const int line, const char *s) * rcu_read_lock_bh() and so on from extended quiescent states. */ if (!rcu_is_watching()) - printk("RCU used illegally from extended quiescent state!\n"); + trace_printk("RCU used illegally from extended quiescent state!\n"); lockdep_print_held_locks(curr); - printk("\nstack backtrace:\n"); - dump_stack(); + trace_printk("\nstack backtrace:\n"); + trace_dump_stack(0); } EXPORT_SYMBOL_GPL(lockdep_rcu_suspicious); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:53: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 35F297FA2 for ; Fri, 10 Oct 2014 09:53:53 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B705AAC008 for ; Fri, 10 Oct 2014 07:53:52 -0700 (PDT) X-ASG-Debug-ID: 1412952830-04cbb018ae2b37c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id tmBla8SSh4HleTWP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:53:50 -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 B7DAAAD2B; Fri, 10 Oct 2014 14:53:48 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 80A3F81FBC; Fri, 10 Oct 2014 16:53:47 +0200 (CEST) Date: Fri, 10 Oct 2014 16:53:47 +0200 From: Jan Kara To: jack@suse.cz Subject: Sorry for patch spam! Message-ID: <20141010145347.GA345@quack.suse.cz> X-ASG-Orig-Subj: Sorry for patch spam! 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: 1412952830 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.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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_ADDR_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address Hello, I'm deeply sorry about the patch spam I set a while ago. I've accidentally run git-send-email on a wrong directory... Honza -- Jan Kara SUSE Labs, CR From jack@suse.cz Fri Oct 10 09:55: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 ECC6E7FA2 for ; Fri, 10 Oct 2014 09:55:19 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8A8E4AC008 for ; Fri, 10 Oct 2014 07:55:19 -0700 (PDT) X-ASG-Debug-ID: 1412952917-04cbb018ae2b39f0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id fC7vpXduJSqzNYM3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:18 -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 7434BAD2B; Fri, 10 Oct 2014 14:55:17 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CA76C81FBC; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 0/12 v2] Moving i_dquot out of struct inode Date: Fri, 10 Oct 2014 16:54:58 +0200 X-ASG-Orig-Subj: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-Id: <1412952910-7142-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: 1412952918 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hello, this patch set moves i_dquot array from struct inode into filesystem private part of the inode. Thus filesystems which don't need it save 2 pointers in their inodes (would be 3 after we add project quota support into generic quota). I have patches to move inode->i_data.private_list into filesystem private part of the inode which is going to save another 2 pointers using the same mechanism. However I didn't want to mix those in. The patch series also contains a change to quotactl so that each filesystem can set quota types it supports. This is in the end unrelated change (originally it was necessary for i_dquot moving but in the end I changed things so that it's not anymore). I can move that into a separate series but I was somewhat reluctant to do that since that would mean another 6 one-line patches to the same files we are changing here... If noone has any objections, I'd like to queue this series into my tree for the next merge window. For that I'd prefer to get acks from affected fs maintainers (the changes are pretty trivial and I don't feel it's a must but still I'd prefer fs maintainers to ack they are aware of the changes). Honza Changes since v1: * Inode field names are now named enum * Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of opencoding shifts. From jack@suse.cz Fri Oct 10 09:55: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 62CE47FA3 for ; Fri, 10 Oct 2014 09:55:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 31D1D8F8065 for ; Fri, 10 Oct 2014 07:55:20 -0700 (PDT) X-ASG-Debug-ID: 1412952917-04bdf028792a90c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id yczTItOrqQesh2IK (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:18 -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 926BBAD5E; Fri, 10 Oct 2014 14:55:17 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id D296D81FC0; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 02/12] gfs2: Set allowed quota types Date: Fri, 10 Oct 2014 16:55:00 +0200 X-ASG-Orig-Subj: [PATCH 02/12] gfs2: Set allowed quota types Message-Id: <1412952910-7142-3-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952918 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user and group quotas. Tell vfs about it. Acked-by: Steven Whitehouse CC: cluster-devel@redhat.com Signed-off-by: Jan Kara --- fs/gfs2/ops_fstype.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index d3eae244076e..23854d24eb50 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -1083,6 +1083,7 @@ static int fill_super(struct super_block *sb, struct gfs2_args *args, int silent sb->s_xattr = gfs2_xattr_handlers; sb->s_qcop = &gfs2_quotactl_ops; sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; sb->s_time_gran = 1; sb->s_maxbytes = MAX_LFS_FILESIZE; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 D87307FA8 for ; Fri, 10 Oct 2014 09:55:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9997F8F8065 for ; Fri, 10 Oct 2014 07:55:20 -0700 (PDT) X-ASG-Debug-ID: 1412952918-04bdf028772a90c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id q2YK8U8OJS4v4w3q (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:19 -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 AE008ADCF; Fri, 10 Oct 2014 14:55:17 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DDA5B81FC4; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 04/12] fs: Generic infrastructure for optional inode fields Date: Fri, 10 Oct 2014 16:55:02 +0200 X-ASG-Orig-Subj: [PATCH 04/12] fs: Generic infrastructure for optional inode fields Message-Id: <1412952910-7142-5-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952918 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.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_SC0_MISMATCH_TO, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header There are parts of struct inode which are used only by a few filesystems (e.g. i_dquot pointers, i_mapping->private_list, ...). Thus all the other filesystems are just wasting memory with these fields. On the other hand it isn't simple to just move these fields to filesystem specific part of inode because there is generic code which needs to peek into the fields and it is cumbersome to provide helpers into which fs has to stuff the field it is storing elsewhere. We create a simple infrastructure which allows for optional inode fields stored in the fs-specific part of the inode. Accessing these fields has a slightly worse performance as we have to lookup their offset in the offset table stored in the superblock but in most cases this is acceptable. Notably, this offset-table mechanism is faster than having fs-specific hook functions which would need to be called to provide pointers to desired fields. Signed-off-by: Jan Kara --- include/linux/fs.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index 94187721ad41..f2468786a36b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -615,6 +615,11 @@ struct inode { void *i_private; /* fs or device private pointer */ }; +/* Optional inode fields (stored in filesystems inode if the fs needs them) */ +enum inode_fields { + IF_FIELD_NR /* Number of optional inode fields */ +}; + static inline int inode_unhashed(struct inode *inode) { return hlist_unhashed(&inode->i_hash); @@ -1236,6 +1241,11 @@ struct super_block { void *s_fs_info; /* Filesystem private info */ unsigned int s_max_links; fmode_t s_mode; + /* + * We could have here just a pointer to the offsets array but this + * way we save one dereference when looking up field offsets + */ + int s_inode_fields[IF_FIELD_NR]; /* Granularity of c/m/atime in ns. Cannot be worse than a second */ @@ -1286,6 +1296,24 @@ struct super_block { struct rcu_head rcu; }; +static inline void *inode_field(const struct inode *inode, + enum inode_fields field) +{ + int offset; + + BUG_ON(field >= IF_FIELD_NR); + offset = inode->i_sb->s_inode_fields[field]; + if (!offset) /* Field not present? */ + return NULL; + return ((char *)inode) + offset; +} + +static inline void sb_init_inode_fields(struct super_block *sb, + const int *fields) +{ + memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); +} + extern struct timespec current_fs_time(struct super_block *sb); /* -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 E36897FAE for ; Fri, 10 Oct 2014 09:55:20 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 72D9CAC008 for ; Fri, 10 Oct 2014 07:55:20 -0700 (PDT) X-ASG-Debug-ID: 1412952917-04cb6c77062e1610001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id clvUUk6Z4Mky7agM (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:18 -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 A097DADBE; Fri, 10 Oct 2014 14:55:17 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CE4F681FBF; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports Date: Fri, 10 Oct 2014 16:54:59 +0200 X-ASG-Orig-Subj: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports Message-Id: <1412952910-7142-2-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952918 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Currently all filesystems supporting VFS quota support user and group quotas. With introduction of project quotas this is going to change so make sure filesystem isn't called for quota type it doesn't support by introduction of a bitmask determining which quota types each filesystem supports. Signed-off-by: Jan Kara --- fs/quota/quota.c | 13 +++++++++++-- fs/super.c | 7 +++++++ include/linux/quota.h | 6 ++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/fs/quota/quota.c b/fs/quota/quota.c index 75621649dbd7..0f28eac6e638 100644 --- a/fs/quota/quota.c +++ b/fs/quota/quota.c @@ -47,8 +47,11 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd, static void quota_sync_one(struct super_block *sb, void *arg) { - if (sb->s_qcop && sb->s_qcop->quota_sync) - sb->s_qcop->quota_sync(sb, *(int *)arg); + int type = *(int *)arg; + + if (sb->s_qcop && sb->s_qcop->quota_sync && + (sb->s_dquot.allowed_types & (1 << type))) + sb->s_qcop->quota_sync(sb, type); } static int quota_sync_all(int type) @@ -297,8 +300,14 @@ static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, if (type >= (XQM_COMMAND(cmd) ? XQM_MAXQUOTAS : MAXQUOTAS)) return -EINVAL; + /* + * Quota not supported on this fs? Check this before allowed_types + * since they needn't be set if quota is not supported. + */ if (!sb->s_qcop) return -ENOSYS; + if (!(sb->s_dquot.allowed_types & (1 << type))) + return -EINVAL; ret = check_quotactl_permission(sb, type, cmd, id); if (ret < 0) diff --git a/fs/super.c b/fs/super.c index b9a214d2fe98..c6c9b2de9e31 100644 --- a/fs/super.c +++ b/fs/super.c @@ -215,6 +215,13 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); + /* + * For now MAXQUOTAS check in do_quotactl() will limit quota type + * appropriately. When each fs sets allowed_types, we can remove the + * line below + */ + s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | + QTYPE_MASK_PRJ; mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; diff --git a/include/linux/quota.h b/include/linux/quota.h index 80d345a3524c..b52539f42e19 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -56,6 +56,11 @@ enum quota_type { PRJQUOTA = 2, /* element used for project quotas */ }; +/* Masks for quota types when used as a bitmask */ +#define QTYPE_MASK_USER (1 << USRQUOTA) +#define QTYPE_MASK_GROUP (1 << GRPQUOTA) +#define QTYPE_MASK_PROJECT (1 << PRJQUOTA) + typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */ typedef long long qsize_t; /* Type in which we store sizes */ @@ -388,6 +393,7 @@ static inline void quota_send_warning(struct kqid qid, dev_t dev, struct quota_info { unsigned int flags; /* Flags for diskquotas on this device */ + unsigned int allowed_types; /* Bitmask of quota types this fs supports */ struct mutex dqio_mutex; /* lock device while I/O in progress */ struct mutex dqonoff_mutex; /* Serialize quotaon & quotaoff */ struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 7B6B27FA8 for ; Fri, 10 Oct 2014 09:55:21 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6A80B8F8065 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cb6c77062e1620001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id dBWgJ0rB2DrPo3g2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 3E5B4ADD6; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id EB85581FC7; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 07/12] ext3: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:05 +0200 X-ASG-Orig-Subj: [PATCH 07/12] ext3: Convert to private i_dquot field Message-Id: <1412952910-7142-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext3/ext3.h | 4 ++++ fs/ext3/super.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fs/ext3/ext3.h b/fs/ext3/ext3.h index e85ff15a060e..04f30a1f96cb 100644 --- a/fs/ext3/ext3.h +++ b/fs/ext3/ext3.h @@ -613,6 +613,10 @@ struct ext3_inode_info { atomic_t i_sync_tid; atomic_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 622e88249024..9e152626ab47 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -485,6 +485,10 @@ static struct inode *ext3_alloc_inode(struct super_block *sb) ei->vfs_inode.i_version = 1; atomic_set(&ei->i_datasync_tid, 0); atomic_set(&ei->i_sync_tid, 0); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -807,6 +811,13 @@ static const struct super_operations ext3_sops = { .bdev_try_to_free_page = bdev_try_to_free_page, }; +static const int ext3_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct ext3_inode_info, i_dquot) - + (int)offsetof(struct ext3_inode_info, vfs_inode), +#endif +}; + static const struct export_operations ext3_export_ops = { .fh_to_dentry = ext3_fh_to_dentry, .fh_to_parent = ext3_fh_to_parent, @@ -2008,7 +2019,9 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->s_qcop = &ext3_qctl_operations; sb->dq_op = &ext3_quota_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif + sb_init_inode_fields(sb, ext3_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ mutex_init(&sbi->s_orphan_lock); -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 856BB7FAE for ; Fri, 10 Oct 2014 09:55:21 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 742F18F8050 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cbb018ae2b3a10001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id BqynLE4iNVZYkKyw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 3F6C1ADD7; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id EFB2F81FC8; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 08/12] ext4: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:06 +0200 X-ASG-Orig-Subj: [PATCH 08/12] ext4: Convert to private i_dquot field Message-Id: <1412952910-7142-9-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org CC: "Theodore Ts'o" Signed-off-by: Jan Kara --- fs/ext4/ext4.h | 4 ++++ fs/ext4/super.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index b0c225cdb52c..571a9f409e94 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -940,6 +940,10 @@ struct ext4_inode_info { tid_t i_sync_tid; tid_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + /* Precomputed uuid+inum+igen checksum for seeding inode checksums */ __u32 i_csum_seed; }; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 0b28b36e7915..ceac3c1b1552 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -895,6 +895,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb) spin_lock_init(&(ei->i_block_reservation_lock)); #ifdef CONFIG_QUOTA ei->i_reserved_quota = 0; + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); #endif ei->jinode = NULL; INIT_LIST_HEAD(&ei->i_rsv_conversion_list); @@ -1143,6 +1144,13 @@ static const struct super_operations ext4_nojournal_sops = { .bdev_try_to_free_page = bdev_try_to_free_page, }; +static const int ext4_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ext4_inode_info, i_dquot) - + offsetof(struct ext4_inode_info, vfs_inode), +#endif +}; + static const struct export_operations ext4_export_ops = { .fh_to_dentry = ext4_fh_to_dentry, .fh_to_parent = ext4_fh_to_parent, @@ -3916,7 +3924,9 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &ext4_qctl_sysfile_operations; else sb->s_qcop = &ext4_qctl_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif + sb_init_inode_fields(sb, ext4_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 9E5317FB4 for ; Fri, 10 Oct 2014 09:55:21 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 822F08F8066 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cbb018ac2b3a00001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id cy6u8Z0OxB8spL3r (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 3E531ADD5; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 021EC80BA9; Fri, 10 Oct 2014 16:55:17 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 09/12] ocfs2: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:07 +0200 X-ASG-Orig-Subj: [PATCH 09/12] ocfs2: Convert to private i_dquot field Message-Id: <1412952910-7142-10-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Mark Fasheh CC: Joel Becker CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara --- fs/ocfs2/inode.h | 4 ++++ fs/ocfs2/super.c | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index a6c991c0fc98..aed65d3aff57 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h @@ -80,6 +80,10 @@ struct ocfs2_inode_info */ tid_t i_sync_tid; tid_t i_datasync_tid; + +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index ddb662b32447..4147b6962097 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -157,6 +157,13 @@ static const struct super_operations ocfs2_sops = { .quota_write = ocfs2_quota_write, }; +static const int ocfs2_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ocfs2_inode_info, i_dquot) - + offsetof(struct ocfs2_inode_info, vfs_inode), +#endif +}; + enum { Opt_barrier, Opt_err_panic, @@ -563,6 +570,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) oi->i_sync_tid = 0; oi->i_datasync_tid = 0; +#ifdef CONFIG_QUOTA + memset(&oi->i_dquot, 0, sizeof(oi->i_dquot)); +#endif jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); return &oi->vfs_inode; @@ -2069,7 +2079,9 @@ static int ocfs2_initialize_super(struct super_block *sb, sb->s_export_op = &ocfs2_export_ops; sb->s_qcop = &ocfs2_quotactl_ops; sb->dq_op = &ocfs2_quota_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; sb->s_xattr = ocfs2_xattr_handlers; + sb_init_inode_fields(sb, ocfs2_inode_fields); sb->s_time_gran = 1; sb->s_flags |= MS_NOATIME; /* this is needed to support O_LARGEFILE */ -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D97A57FAE for ; Fri, 10 Oct 2014 09:55:21 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C860B304077 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cb6c77042e1610001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id V97SnsrnvBpueplC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 25909ADD4; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E15BF81FC5; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 05/12] quota: Use optional inode field for i_dquot pointers Date: Fri, 10 Oct 2014 16:55:03 +0200 X-ASG-Orig-Subj: [PATCH 05/12] quota: Use optional inode field for i_dquot pointers Message-Id: <1412952910-7142-6-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952919 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.10411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header i_dquot is a first candidate for using optional inode fields since it is used by relatively few filesystems (ext?, ocfs2, jfs, reiserfs). We cannot just pass quota pointers from filesystems to quota functions because during quotaon and quotaoff we have to traverse list of all inodes and manipulate i_dquot pointers for each inode. Firstly, we setup optional inode field so that it points at i_dquot array in struct inode and convert quota code to use the accessor function. Signed-off-by: Jan Kara --- fs/quota/dquot.c | 51 ++++++++++++++++++++++++++++----------------------- fs/super.c | 3 +++ include/linux/fs.h | 1 + 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index f2d0eee9d1f1..ecb8732fe299 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -893,6 +893,11 @@ out: } EXPORT_SYMBOL(dqget); +static inline struct dquot **i_dquot(const struct inode *inode) +{ + return ((struct dquot **)inode_field(inode, IF_DQUOTS)); +} + static int dqinit_needed(struct inode *inode, int type) { int cnt; @@ -900,9 +905,9 @@ static int dqinit_needed(struct inode *inode, int type) if (IS_NOQUOTA(inode)) return 0; if (type != -1) - return !inode->i_dquot[type]; + return !i_dquot(inode)[type]; for (cnt = 0; cnt < MAXQUOTAS; cnt++) - if (!inode->i_dquot[cnt]) + if (!i_dquot(inode)[cnt]) return 1; return 0; } @@ -965,9 +970,9 @@ static void add_dquot_ref(struct super_block *sb, int type) static void remove_inode_dquot_ref(struct inode *inode, int type, struct list_head *tofree_head) { - struct dquot *dquot = inode->i_dquot[type]; + struct dquot *dquot = i_dquot(inode)[type]; - inode->i_dquot[type] = NULL; + i_dquot(inode)[type] = NULL; if (!dquot) return; @@ -1402,7 +1407,7 @@ static void __dquot_initialize(struct inode *inode, int type) * we check it without locking here to avoid unnecessary * dqget()/dqput() calls. */ - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) continue; init_needed = 1; @@ -1433,8 +1438,8 @@ static void __dquot_initialize(struct inode *inode, int type) /* We could race with quotaon or dqget() could have failed */ if (!got[cnt]) continue; - if (!inode->i_dquot[cnt]) { - inode->i_dquot[cnt] = got[cnt]; + if (!i_dquot(inode)[cnt]) { + i_dquot(inode)[cnt] = got[cnt]; got[cnt] = NULL; /* * Make quota reservation system happy if someone @@ -1442,7 +1447,7 @@ static void __dquot_initialize(struct inode *inode, int type) */ rsv = inode_get_rsv_space(inode); if (unlikely(rsv)) - dquot_resv_space(inode->i_dquot[cnt], rsv); + dquot_resv_space(i_dquot(inode)[cnt], rsv); } } out_err: @@ -1472,8 +1477,8 @@ static void __dquot_drop(struct inode *inode) spin_lock(&dq_data_lock); for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - put[cnt] = inode->i_dquot[cnt]; - inode->i_dquot[cnt] = NULL; + put[cnt] = i_dquot(inode)[cnt]; + i_dquot(inode)[cnt] = NULL; } spin_unlock(&dq_data_lock); dqput_all(put); @@ -1494,7 +1499,7 @@ void dquot_drop(struct inode *inode) * add quota pointers back anyway. */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) break; } @@ -1595,7 +1600,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE; if (!dquot_active(inode)) { @@ -1647,7 +1652,7 @@ int dquot_alloc_inode(const struct inode *inode) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); if (!dquot_active(inode)) return 0; @@ -1696,14 +1701,14 @@ int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_claim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_claim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_claim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return 0; } @@ -1725,14 +1730,14 @@ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_reclaim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_reclaim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_reclaim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return; } @@ -1745,7 +1750,7 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE, index; if (!dquot_active(inode)) { @@ -1788,7 +1793,7 @@ void dquot_free_inode(const struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); int index; if (!dquot_active(inode)) @@ -1865,7 +1870,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) if (!sb_has_quota_active(inode->i_sb, cnt)) continue; is_valid[cnt] = 1; - transfer_from[cnt] = inode->i_dquot[cnt]; + transfer_from[cnt] = i_dquot(inode)[cnt]; ret = check_idq(transfer_to[cnt], 1, &warn_to[cnt]); if (ret) goto over_quota; @@ -1901,7 +1906,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) dquot_incr_space(transfer_to[cnt], cur_space); dquot_resv_space(transfer_to[cnt], rsv_space); - inode->i_dquot[cnt] = transfer_to[cnt]; + i_dquot(inode)[cnt] = transfer_to[cnt]; } spin_unlock(&dq_data_lock); diff --git a/fs/super.c b/fs/super.c index c6c9b2de9e31..9ae340f857ee 100644 --- a/fs/super.c +++ b/fs/super.c @@ -228,6 +228,9 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) s->s_op = &default_op; s->s_time_gran = 1000000000; s->cleancache_poolid = -1; +#ifdef CONFIG_QUOTA + s->s_inode_fields[IF_DQUOTS] = offsetof(struct inode, i_dquot); +#endif s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index f2468786a36b..4b7b62543786 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -617,6 +617,7 @@ struct inode { /* Optional inode fields (stored in filesystems inode if the fs needs them) */ enum inode_fields { + IF_DQUOTS, /* Quota pointers: struct dquot *foo[MAXQUOTAS] */ IF_FIELD_NR /* Number of optional inode fields */ }; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 543D77FA2 for ; Fri, 10 Oct 2014 09:55:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E656EAC010 for ; Fri, 10 Oct 2014 07:55:19 -0700 (PDT) X-ASG-Debug-ID: 1412952917-04bdf028782a90c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id OH3YkyDmCOCSPrM6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:18 -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 9CBA7AD95; Fri, 10 Oct 2014 14:55:17 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id D94FB81FC2; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 03/12] xfs: Set allowed quota types Date: Fri, 10 Oct 2014 16:55:01 +0200 X-ASG-Orig-Subj: [PATCH 03/12] xfs: Set allowed quota types Message-Id: <1412952910-7142-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952918 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user, group, and project quotas. Tell VFS about it. CC: xfs@oss.sgi.com CC: Dave Chinner Signed-off-by: Jan Kara --- fs/xfs/xfs_super.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index b194652033cd..2da4c6512e4d 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1419,6 +1419,8 @@ xfs_fs_fill_super( sb->s_export_op = &xfs_export_operations; #ifdef CONFIG_XFS_QUOTA sb->s_qcop = &xfs_quotactl_operations; + sb->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | + QTYPE_MASK_PRJ; #endif sb->s_op = &xfs_super_operations; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 BEADF7FA8 for ; Fri, 10 Oct 2014 09:55:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5C9F8AC008 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04bdf028762a90c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id G2q7uUj1j0LG3Lz0 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 233AFADD1; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E74A181FC6; Fri, 10 Oct 2014 16:55:16 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 06/12] ext2: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:04 +0200 X-ASG-Orig-Subj: [PATCH 06/12] ext2: Convert to private i_dquot field Message-Id: <1412952910-7142-7-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext2/ext2.h | 3 +++ fs/ext2/super.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index d9a17d0b124d..e4279ead4a05 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -689,6 +689,9 @@ struct ext2_inode_info { struct mutex truncate_mutex; struct inode vfs_inode; struct list_head i_orphan; /* unlinked but open inodes */ +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ext2/super.c b/fs/ext2/super.c index b88edc05c230..47d97af2ebcd 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -166,6 +166,10 @@ static struct inode *ext2_alloc_inode(struct super_block *sb) return NULL; ei->i_block_alloc_info = NULL; ei->vfs_inode.i_version = 1; +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -323,6 +327,13 @@ static const struct super_operations ext2_sops = { #endif }; +static const int ext2_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = offsetof(struct ext2_inode_info, i_dquot) - + offsetof(struct ext2_inode_info, vfs_inode), +#endif +}; + static struct inode *ext2_nfs_get_inode(struct super_block *sb, u64 ino, u32 generation) { @@ -1090,7 +1101,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif + sb_init_inode_fields(sb, ext2_inode_fields); root = ext2_iget(sb, EXT2_ROOT_INO); if (IS_ERR(root)) { -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 62B2C7FC2 for ; Fri, 10 Oct 2014 09:55:22 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id E60B3AC009 for ; Fri, 10 Oct 2014 07:55:21 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cbb018ad2b3a10001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id wBCtpLttNiuvB2kv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 46B3FADD9; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0E19D81FCA; Fri, 10 Oct 2014 16:55:17 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 11/12] jfs: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:09 +0200 X-ASG-Orig-Subj: [PATCH 11/12] jfs: Convert to private i_dquot field Message-Id: <1412952910-7142-12-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Dave Kleikamp CC: jfs-discussion@lists.sourceforge.net Signed-off-by: Jan Kara --- fs/jfs/jfs_incore.h | 3 +++ fs/jfs/super.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index cf47f09e8ac8..fa7e795bd8ae 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h @@ -94,6 +94,9 @@ struct jfs_inode_info { unchar _inline_ea[128]; /* 128: inline extended attr */ } link; } u; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif u32 dev; /* will die when we get wide dev_t */ struct inode vfs_inode; }; diff --git a/fs/jfs/super.c b/fs/jfs/super.c index adf8cb045b9e..a13727dd3826 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -54,6 +54,7 @@ static struct kmem_cache *jfs_inode_cachep; static const struct super_operations jfs_super_operations; static const struct export_operations jfs_export_operations; +static const int jfs_inode_fields[IF_FIELD_NR]; static struct file_system_type jfs_fs_type; #define MAX_COMMIT_THREADS 64 @@ -117,6 +118,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); if (!jfs_inode) return NULL; +#ifdef CONFIG_QUOTA + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); +#endif return &jfs_inode->vfs_inode; } @@ -537,7 +541,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif + sb_init_inode_fields(sb, jfs_inode_fields); /* * Initialize direct-mapping inode/address-space @@ -857,6 +863,13 @@ static const struct super_operations jfs_super_operations = { #endif }; +static const int jfs_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - + (int)offsetof(struct jfs_inode_info, vfs_inode), +#endif +}; + static const struct export_operations jfs_export_operations = { .fh_to_dentry = jfs_fh_to_dentry, .fh_to_parent = jfs_fh_to_parent, -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 B36C47FAE for ; Fri, 10 Oct 2014 09:55:22 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4237BAC012 for ; Fri, 10 Oct 2014 07:55:22 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cbb018ac2b3a10001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id UvnshglIu9RjLfDm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 51D50ADDA; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 12C5681FCB; Fri, 10 Oct 2014 16:55:17 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 12/12] vfs: Remove i_dquot field from inode Date: Fri, 10 Oct 2014 16:55:10 +0200 X-ASG-Orig-Subj: [PATCH 12/12] vfs: Remove i_dquot field from inode Message-Id: <1412952910-7142-13-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header All filesystems using VFS quotas are now converted to use their private i_dquot fields. Remove the i_dquot field from generic inode structure. Signed-off-by: Jan Kara --- fs/inode.c | 3 --- fs/super.c | 10 ---------- include/linux/fs.h | 3 --- 3 files changed, 16 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index 26753ba7b6d6..2ed95f7caa4f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -143,9 +143,6 @@ int inode_init_always(struct super_block *sb, struct inode *inode) inode->i_blocks = 0; inode->i_bytes = 0; inode->i_generation = 0; -#ifdef CONFIG_QUOTA - memset(&inode->i_dquot, 0, sizeof(inode->i_dquot)); -#endif inode->i_pipe = NULL; inode->i_bdev = NULL; inode->i_cdev = NULL; diff --git a/fs/super.c b/fs/super.c index 9ae340f857ee..b9a214d2fe98 100644 --- a/fs/super.c +++ b/fs/super.c @@ -215,22 +215,12 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); - /* - * For now MAXQUOTAS check in do_quotactl() will limit quota type - * appropriately. When each fs sets allowed_types, we can remove the - * line below - */ - s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | - QTYPE_MASK_PRJ; mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; s->s_op = &default_op; s->s_time_gran = 1000000000; s->cleancache_poolid = -1; -#ifdef CONFIG_QUOTA - s->s_inode_fields[IF_DQUOTS] = offsetof(struct inode, i_dquot); -#endif s->s_shrink.seeks = DEFAULT_SEEKS; s->s_shrink.scan_objects = super_cache_scan; diff --git a/include/linux/fs.h b/include/linux/fs.h index 4b7b62543786..6a801ca46cf7 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -595,9 +595,6 @@ struct inode { const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ struct file_lock *i_flock; struct address_space i_data; -#ifdef CONFIG_QUOTA - struct dquot *i_dquot[MAXQUOTAS]; -#endif struct list_head i_devices; union { struct pipe_inode_info *i_pipe; -- 1.8.1.4 From jack@suse.cz Fri Oct 10 09:55: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 91E787FC3 for ; Fri, 10 Oct 2014 09:55:22 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 12DC2AC010 for ; Fri, 10 Oct 2014 07:55:22 -0700 (PDT) X-ASG-Debug-ID: 1412952919-04cbb018ab2b3a00001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id MTaRvjKi8MTGgda8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 07:55:20 -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 42802ADD8; Fri, 10 Oct 2014 14:55:18 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 0989D81FC9; Fri, 10 Oct 2014 16:55:17 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jan Kara Subject: [PATCH 10/12] reiserfs: Convert to private i_dquot field Date: Fri, 10 Oct 2014 16:55:08 +0200 X-ASG-Orig-Subj: [PATCH 10/12] reiserfs: Convert to private i_dquot field Message-Id: <1412952910-7142-11-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> References: <1412952910-7142-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412952920 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: reiserfs-devel@vger.kernel.org CC: Jeff Mahoney Signed-off-by: Jan Kara --- fs/reiserfs/reiserfs.h | 4 ++++ fs/reiserfs/super.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h index 735c2c2b4536..197e59cbeb1c 100644 --- a/fs/reiserfs/reiserfs.h +++ b/fs/reiserfs/reiserfs.h @@ -97,6 +97,10 @@ struct reiserfs_inode_info { #ifdef CONFIG_REISERFS_FS_XATTR struct rw_semaphore i_xattr_sem; #endif +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index d46e88a33b02..04babe57253a 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -594,6 +594,10 @@ static struct inode *reiserfs_alloc_inode(struct super_block *sb) return NULL; atomic_set(&ei->openers, 0); mutex_init(&ei->tailpack); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -771,6 +775,13 @@ static const struct super_operations reiserfs_sops = { #endif }; +static const int reiserfs_inode_fields[IF_FIELD_NR] = { +#ifdef CONFIG_QUOTA + [IF_DQUOTS] = (int)offsetof(struct reiserfs_inode_info, i_dquot) - + (int)offsetof(struct reiserfs_inode_info, vfs_inode), +#endif +}; + #ifdef CONFIG_QUOTA #define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group") @@ -1633,7 +1644,9 @@ static int read_super_block(struct super_block *s, int offset) #ifdef CONFIG_QUOTA s->s_qcop = &reiserfs_qctl_operations; s->dq_op = &reiserfs_quota_operations; + sb_dqopt(s)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif + sb_init_inode_fields(s, reiserfs_inode_fields); /* * new format is limited by the 32 bit wide i_blocks field, want to -- 1.8.1.4 From davej@redhat.com Fri Oct 10 10:20: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 096FD7FC2 for ; Fri, 10 Oct 2014 10:20:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EC0F730404E for ; Fri, 10 Oct 2014 08:20:13 -0700 (PDT) X-ASG-Debug-ID: 1412954412-04cbb018ad2b62a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Jb6POPiwbebCCBpq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:20:13 -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 s9AFJNo8008262 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 10 Oct 2014 11:19:23 -0400 Received: from gelk.kernelslacker.org (ovpn-113-101.phx2.redhat.com [10.3.113.101]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9AFJHor024255 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 10 Oct 2014 11:19: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 s9AFJFjN011311; Fri, 10 Oct 2014 11:19:15 -0400 Received: (from davej@localhost) by gelk.kernelslacker.org (8.14.8/8.14.8/Submit) id s9AFJ6Q8011310; Fri, 10 Oct 2014 11:19:06 -0400 X-Authentication-Warning: gelk.kernelslacker.org: davej set sender to davej@redhat.com using -f Date: Fri, 10 Oct 2014 11:19:06 -0400 From: Dave Jones To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jens Axboe , Linus Torvalds Subject: Re: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths Message-ID: <20141010151906.GB8874@redhat.com> X-ASG-Orig-Subj: Re: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths References: <1412951028-4085-1-git-send-email-jack@suse.cz> <1412951028-4085-3-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412951028-4085-3-git-send-email-jack@suse.cz> 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: 1412954413 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 Fri, Oct 10, 2014 at 04:23:07PM +0200, Jan Kara wrote: > From: Dave Jones > > Commit 7982e90c3a57 ("block: fix q->flush_rq NULL pointer crash on > dm-mpath flush") moved an allocation to blk_init_allocated_queue(), but > neglected to free that allocation on the error paths that follow. > > Signed-off-by: Dave Jones > Acked-by: Mike Snitzer > Signed-off-by: Jens Axboe > Signed-off-by: Linus Torvalds Um, This got applied months ago. Dave From dave.kleikamp@oracle.com Fri Oct 10 10:27: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 4A4507FB5 for ; Fri, 10 Oct 2014 10:27:35 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 35F68304067 for ; Fri, 10 Oct 2014 08:27:35 -0700 (PDT) X-ASG-Debug-ID: 1412954853-04cbb018ae2b6f80001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id a6pwEFIwQWFItWnv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:27:33 -0700 (PDT) X-Barracuda-Envelope-From: dave.kleikamp@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 s9AFQiPC010116 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 10 Oct 2014 15:26:45 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 s9AFQhmo004899 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 10 Oct 2014 15:26:43 GMT Received: from abhmp0016.oracle.com (abhmp0016.oracle.com [141.146.116.22]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s9AFQgAE004886; Fri, 10 Oct 2014 15:26:43 GMT Received: from [192.168.1.103] (/99.156.91.244) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 10 Oct 2014 08:26:42 -0700 Message-ID: <5437FAB1.1010005@oracle.com> Date: Fri, 10 Oct 2014 10:26:41 -0500 From: Dave Kleikamp User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Jan Kara , linux-fsdevel@vger.kernel.org CC: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports References: <1412952910-7142-1-git-send-email-jack@suse.cz> <1412952910-7142-2-git-send-email-jack@suse.cz> X-ASG-Orig-Subj: Re: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports In-Reply-To: <1412952910-7142-2-git-send-email-jack@suse.cz> Content-Type: text/plain; charset=windows-1252 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: 1412954853 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/10/2014 09:54 AM, Jan Kara wrote: > Currently all filesystems supporting VFS quota support user and group > quotas. With introduction of project quotas this is going to change so > make sure filesystem isn't called for quota type it doesn't support by > introduction of a bitmask determining which quota types each filesystem > supports. > > Signed-off-by: Jan Kara > --- > fs/quota/quota.c | 13 +++++++++++-- > fs/super.c | 7 +++++++ > include/linux/quota.h | 6 ++++++ > 3 files changed, 24 insertions(+), 2 deletions(-) > > diff --git a/fs/quota/quota.c b/fs/quota/quota.c > index 75621649dbd7..0f28eac6e638 100644 > --- a/fs/quota/quota.c > +++ b/fs/quota/quota.c > @@ -47,8 +47,11 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd, > > static void quota_sync_one(struct super_block *sb, void *arg) > { > - if (sb->s_qcop && sb->s_qcop->quota_sync) > - sb->s_qcop->quota_sync(sb, *(int *)arg); > + int type = *(int *)arg; > + > + if (sb->s_qcop && sb->s_qcop->quota_sync && > + (sb->s_dquot.allowed_types & (1 << type))) > + sb->s_qcop->quota_sync(sb, type); > } > > static int quota_sync_all(int type) > @@ -297,8 +300,14 @@ static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, > > if (type >= (XQM_COMMAND(cmd) ? XQM_MAXQUOTAS : MAXQUOTAS)) > return -EINVAL; > + /* > + * Quota not supported on this fs? Check this before allowed_types > + * since they needn't be set if quota is not supported. > + */ > if (!sb->s_qcop) > return -ENOSYS; > + if (!(sb->s_dquot.allowed_types & (1 << type))) > + return -EINVAL; > > ret = check_quotactl_permission(sb, type, cmd, id); > if (ret < 0) > diff --git a/fs/super.c b/fs/super.c > index b9a214d2fe98..c6c9b2de9e31 100644 > --- a/fs/super.c > +++ b/fs/super.c > @@ -215,6 +215,13 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) > atomic_set(&s->s_active, 1); > mutex_init(&s->s_vfs_rename_mutex); > lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); > + /* > + * For now MAXQUOTAS check in do_quotactl() will limit quota type > + * appropriately. When each fs sets allowed_types, we can remove the > + * line below > + */ > + s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | > + QTYPE_MASK_PRJ; > mutex_init(&s->s_dquot.dqio_mutex); > mutex_init(&s->s_dquot.dqonoff_mutex); > s->s_maxbytes = MAX_NON_LFS; > diff --git a/include/linux/quota.h b/include/linux/quota.h > index 80d345a3524c..b52539f42e19 100644 > --- a/include/linux/quota.h > +++ b/include/linux/quota.h > @@ -56,6 +56,11 @@ enum quota_type { > PRJQUOTA = 2, /* element used for project quotas */ > }; > > +/* Masks for quota types when used as a bitmask */ > +#define QTYPE_MASK_USER (1 << USRQUOTA) > +#define QTYPE_MASK_GROUP (1 << GRPQUOTA) > +#define QTYPE_MASK_PROJECT (1 << PRJQUOTA) The uses of these masks use the names QTYPE_MASK_USR, QTYPE_MASK_GRP, and QTYPE_MASK_PRJ > + > typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */ > typedef long long qsize_t; /* Type in which we store sizes */ > > @@ -388,6 +393,7 @@ static inline void quota_send_warning(struct kqid qid, dev_t dev, > > struct quota_info { > unsigned int flags; /* Flags for diskquotas on this device */ > + unsigned int allowed_types; /* Bitmask of quota types this fs supports */ > struct mutex dqio_mutex; /* lock device while I/O in progress */ > struct mutex dqonoff_mutex; /* Serialize quotaon & quotaoff */ > struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ > From jack@suse.cz Fri Oct 10 10:32: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 1C9357F51 for ; Fri, 10 Oct 2014 10:32:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9F286AC010 for ; Fri, 10 Oct 2014 08:32:39 -0700 (PDT) X-ASG-Debug-ID: 1412955157-04cbb018ae2b7830001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id OKQi6DOH1Sxn36Us (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:32: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 B3D14ACCD; Fri, 10 Oct 2014 15:32:36 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 5D1E881FBC; Fri, 10 Oct 2014 17:32:35 +0200 (CEST) Date: Fri, 10 Oct 2014 17:32:35 +0200 From: Jan Kara To: Dave Jones Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, Jens Axboe , Linus Torvalds Subject: Re: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths Message-ID: <20141010153235.GA8705@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH] block: free q->flush_rq in blk_init_allocated_queue error paths References: <1412951028-4085-1-git-send-email-jack@suse.cz> <1412951028-4085-3-git-send-email-jack@suse.cz> <20141010151906.GB8874@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141010151906.GB8874@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412955158 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.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0249, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 2.00 BSF_SC0_MV0249 Custom rule MV0249 On Fri 10-10-14 11:19:06, Dave Jones wrote: > On Fri, Oct 10, 2014 at 04:23:07PM +0200, Jan Kara wrote: > > From: Dave Jones > > > > Commit 7982e90c3a57 ("block: fix q->flush_rq NULL pointer crash on > > dm-mpath flush") moved an allocation to blk_init_allocated_queue(), but > > neglected to free that allocation on the error paths that follow. > > > > Signed-off-by: Dave Jones > > Acked-by: Mike Snitzer > > Signed-off-by: Jens Axboe > > Signed-off-by: Linus Torvalds > > Um, This got applied months ago. Yes, I mistakenly used git-send-email on a wrong directory. Sorry for confusion... Honza -- Jan Kara SUSE Labs, CR From dave.kleikamp@oracle.com Fri Oct 10 10:33: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 4639C7F51 for ; Fri, 10 Oct 2014 10:33:50 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 33A28304067 for ; Fri, 10 Oct 2014 08:33:50 -0700 (PDT) X-ASG-Debug-ID: 1412955228-04cbb018ae2b7a50001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id WkZg53hpNaRfJRA7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:33:49 -0700 (PDT) X-Barracuda-Envelope-From: dave.kleikamp@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s9AFX6RO018034 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 10 Oct 2014 15:33:07 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 s9AFX46T021553 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 10 Oct 2014 15:33:05 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s9AFX47B027503; Fri, 10 Oct 2014 15:33:04 GMT Received: from [192.168.1.103] (/99.156.91.244) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 10 Oct 2014 08:33:04 -0700 Message-ID: <5437FC2E.6020000@oracle.com> Date: Fri, 10 Oct 2014 10:33:02 -0500 From: Dave Kleikamp User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Jan Kara , linux-fsdevel@vger.kernel.org CC: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 11/12] jfs: Convert to private i_dquot field References: <1412952910-7142-1-git-send-email-jack@suse.cz> <1412952910-7142-12-git-send-email-jack@suse.cz> X-ASG-Orig-Subj: Re: [PATCH 11/12] jfs: Convert to private i_dquot field In-Reply-To: <1412952910-7142-12-git-send-email-jack@suse.cz> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1412955229 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/10/2014 09:55 AM, Jan Kara wrote: > CC: Dave Kleikamp > CC: jfs-discussion@lists.sourceforge.net > Signed-off-by: Jan Kara > --- > fs/jfs/jfs_incore.h | 3 +++ > fs/jfs/super.c | 13 +++++++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h > index cf47f09e8ac8..fa7e795bd8ae 100644 > --- a/fs/jfs/jfs_incore.h > +++ b/fs/jfs/jfs_incore.h > @@ -94,6 +94,9 @@ struct jfs_inode_info { > unchar _inline_ea[128]; /* 128: inline extended attr */ > } link; > } u; > +#ifdef CONFIG_QUOTA > + struct dquot *i_dquot[MAXQUOTAS]; > +#endif > u32 dev; /* will die when we get wide dev_t */ > struct inode vfs_inode; > }; > diff --git a/fs/jfs/super.c b/fs/jfs/super.c > index adf8cb045b9e..a13727dd3826 100644 > --- a/fs/jfs/super.c > +++ b/fs/jfs/super.c > @@ -54,6 +54,7 @@ static struct kmem_cache *jfs_inode_cachep; > > static const struct super_operations jfs_super_operations; > static const struct export_operations jfs_export_operations; > +static const int jfs_inode_fields[IF_FIELD_NR]; see below > static struct file_system_type jfs_fs_type; > > #define MAX_COMMIT_THREADS 64 > @@ -117,6 +118,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) > jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); > if (!jfs_inode) > return NULL; > +#ifdef CONFIG_QUOTA > + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); > +#endif > return &jfs_inode->vfs_inode; > } > > @@ -537,7 +541,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) > #ifdef CONFIG_QUOTA > sb->dq_op = &dquot_operations; > sb->s_qcop = &dquot_quotactl_ops; > + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > + sb_init_inode_fields(sb, jfs_inode_fields); > > /* > * Initialize direct-mapping inode/address-space > @@ -857,6 +863,13 @@ static const struct super_operations jfs_super_operations = { > #endif > }; > > +static const int jfs_inode_fields[IF_FIELD_NR] = { > +#ifdef CONFIG_QUOTA > + [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - > + (int)offsetof(struct jfs_inode_info, vfs_inode), > +#endif > +}; Why isn't the initialization done up above where jfs_inode_fields is first defined? > + > static const struct export_operations jfs_export_operations = { > .fh_to_dentry = jfs_fh_to_dentry, > .fh_to_parent = jfs_fh_to_parent, > From jack@suse.cz Fri Oct 10 10:37: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 24A907F63 for ; Fri, 10 Oct 2014 10:37:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id A5AABAC009 for ; Fri, 10 Oct 2014 08:37:30 -0700 (PDT) X-ASG-Debug-ID: 1412955448-04cbb018ac2b8140001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id QHWd3N8r3zUQB132 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:37:29 -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 42668AD2B; Fri, 10 Oct 2014 15:37:28 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8107981FBC; Fri, 10 Oct 2014 17:37:27 +0200 (CEST) Date: Fri, 10 Oct 2014 17:37:27 +0200 From: Jan Kara To: Dave Kleikamp Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports Message-ID: <20141010153727.GB8705@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 01/12] quota: Allow each filesystem to specify which quota types it supports References: <1412952910-7142-1-git-send-email-jack@suse.cz> <1412952910-7142-2-git-send-email-jack@suse.cz> <5437FAB1.1010005@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5437FAB1.1010005@oracle.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412955449 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri 10-10-14 10:26:41, Dave Kleikamp wrote: > On 10/10/2014 09:54 AM, Jan Kara wrote: > > diff --git a/include/linux/quota.h b/include/linux/quota.h > > index 80d345a3524c..b52539f42e19 100644 > > --- a/include/linux/quota.h > > +++ b/include/linux/quota.h > > @@ -56,6 +56,11 @@ enum quota_type { > > PRJQUOTA = 2, /* element used for project quotas */ > > }; > > > > +/* Masks for quota types when used as a bitmask */ > > +#define QTYPE_MASK_USER (1 << USRQUOTA) > > +#define QTYPE_MASK_GROUP (1 << GRPQUOTA) > > +#define QTYPE_MASK_PROJECT (1 << PRJQUOTA) > > The uses of these masks use the names QTYPE_MASK_USR, QTYPE_MASK_GRP, > and QTYPE_MASK_PRJ Sigh. Friday afternoon isn't a good time for sending out patch sets :( Thanks for catching this. I'll wait if someone has other feedback before resending the patches... Honza -- Jan Kara SUSE Labs, CR From jack@suse.cz Fri Oct 10 10:40: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 8C6F17F63 for ; Fri, 10 Oct 2014 10:40:47 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 78FB8304067 for ; Fri, 10 Oct 2014 08:40:47 -0700 (PDT) X-ASG-Debug-ID: 1412955645-04cb6c77052e5d40001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id OoaVVjHimHsh8FTT (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:40:45 -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 0A160ACCD; Fri, 10 Oct 2014 15:40:45 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 1582281FBC; Fri, 10 Oct 2014 17:40:44 +0200 (CEST) Date: Fri, 10 Oct 2014 17:40:44 +0200 From: Jan Kara To: Dave Kleikamp Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 11/12] jfs: Convert to private i_dquot field Message-ID: <20141010154043.GC8705@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 11/12] jfs: Convert to private i_dquot field References: <1412952910-7142-1-git-send-email-jack@suse.cz> <1412952910-7142-12-git-send-email-jack@suse.cz> <5437FC2E.6020000@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5437FC2E.6020000@oracle.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1412955645 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri 10-10-14 10:33:02, Dave Kleikamp wrote: > On 10/10/2014 09:55 AM, Jan Kara wrote: > > CC: Dave Kleikamp > > CC: jfs-discussion@lists.sourceforge.net > > Signed-off-by: Jan Kara > > --- > > fs/jfs/jfs_incore.h | 3 +++ > > fs/jfs/super.c | 13 +++++++++++++ > > 2 files changed, 16 insertions(+) > > > > diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h > > index cf47f09e8ac8..fa7e795bd8ae 100644 > > --- a/fs/jfs/jfs_incore.h > > +++ b/fs/jfs/jfs_incore.h > > @@ -94,6 +94,9 @@ struct jfs_inode_info { > > unchar _inline_ea[128]; /* 128: inline extended attr */ > > } link; > > } u; > > +#ifdef CONFIG_QUOTA > > + struct dquot *i_dquot[MAXQUOTAS]; > > +#endif > > u32 dev; /* will die when we get wide dev_t */ > > struct inode vfs_inode; > > }; > > diff --git a/fs/jfs/super.c b/fs/jfs/super.c > > index adf8cb045b9e..a13727dd3826 100644 > > --- a/fs/jfs/super.c > > +++ b/fs/jfs/super.c > > @@ -54,6 +54,7 @@ static struct kmem_cache *jfs_inode_cachep; > > > > static const struct super_operations jfs_super_operations; > > static const struct export_operations jfs_export_operations; > > +static const int jfs_inode_fields[IF_FIELD_NR]; > > see below > > > static struct file_system_type jfs_fs_type; > > > > #define MAX_COMMIT_THREADS 64 > > @@ -117,6 +118,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) > > jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); > > if (!jfs_inode) > > return NULL; > > +#ifdef CONFIG_QUOTA > > + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); > > +#endif > > return &jfs_inode->vfs_inode; > > } > > > > @@ -537,7 +541,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) > > #ifdef CONFIG_QUOTA > > sb->dq_op = &dquot_operations; > > sb->s_qcop = &dquot_quotactl_ops; > > + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > > #endif > > + sb_init_inode_fields(sb, jfs_inode_fields); > > > > /* > > * Initialize direct-mapping inode/address-space > > @@ -857,6 +863,13 @@ static const struct super_operations jfs_super_operations = { > > #endif > > }; > > > > +static const int jfs_inode_fields[IF_FIELD_NR] = { > > +#ifdef CONFIG_QUOTA > > + [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - > > + (int)offsetof(struct jfs_inode_info, vfs_inode), > > +#endif > > +}; > > Why isn't the initialization done up above where jfs_inode_fields is > first defined? There's no good reason, I'll move the definition. The code got created this way because I added the table in all filesystems after jfs_super_operations definition but JFS needed the structure earlier... Thanks for review. Honza -- Jan Kara SUSE Labs, CR From dave.kleikamp@oracle.com Fri Oct 10 10:43: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 0289F7F90 for ; Fri, 10 Oct 2014 10:43:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E317B304070 for ; Fri, 10 Oct 2014 08:43:47 -0700 (PDT) X-ASG-Debug-ID: 1412955826-04cb6c77052e6240001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id Nr6z8iBBGumO71x0 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 10 Oct 2014 08:43:46 -0700 (PDT) X-Barracuda-Envelope-From: dave.kleikamp@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 s9AFhAVt000479 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 10 Oct 2014 15:43:11 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s9AFh8d7001889 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 10 Oct 2014 15:43:09 GMT Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s9AFh7vp026130; Fri, 10 Oct 2014 15:43:07 GMT Received: from [192.168.1.103] (/99.156.91.244) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 10 Oct 2014 08:43:07 -0700 Message-ID: <5437FE89.7040005@oracle.com> Date: Fri, 10 Oct 2014 10:43:05 -0500 From: Dave Kleikamp User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Jan Kara CC: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 11/12] jfs: Convert to private i_dquot field References: <1412952910-7142-1-git-send-email-jack@suse.cz> <1412952910-7142-12-git-send-email-jack@suse.cz> <5437FC2E.6020000@oracle.com> <20141010154043.GC8705@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 11/12] jfs: Convert to private i_dquot field In-Reply-To: <20141010154043.GC8705@quack.suse.cz> Content-Type: text/plain; charset=windows-1252 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: 1412955826 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.10412 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- You can add my Acked-by: Dave Kleikamp On 10/10/2014 10:40 AM, Jan Kara wrote: > On Fri 10-10-14 10:33:02, Dave Kleikamp wrote: >> On 10/10/2014 09:55 AM, Jan Kara wrote: >>> CC: Dave Kleikamp >>> CC: jfs-discussion@lists.sourceforge.net >>> Signed-off-by: Jan Kara >>> --- >>> fs/jfs/jfs_incore.h | 3 +++ >>> fs/jfs/super.c | 13 +++++++++++++ >>> 2 files changed, 16 insertions(+) >>> >>> diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h >>> index cf47f09e8ac8..fa7e795bd8ae 100644 >>> --- a/fs/jfs/jfs_incore.h >>> +++ b/fs/jfs/jfs_incore.h >>> @@ -94,6 +94,9 @@ struct jfs_inode_info { >>> unchar _inline_ea[128]; /* 128: inline extended attr */ >>> } link; >>> } u; >>> +#ifdef CONFIG_QUOTA >>> + struct dquot *i_dquot[MAXQUOTAS]; >>> +#endif >>> u32 dev; /* will die when we get wide dev_t */ >>> struct inode vfs_inode; >>> }; >>> diff --git a/fs/jfs/super.c b/fs/jfs/super.c >>> index adf8cb045b9e..a13727dd3826 100644 >>> --- a/fs/jfs/super.c >>> +++ b/fs/jfs/super.c >>> @@ -54,6 +54,7 @@ static struct kmem_cache *jfs_inode_cachep; >>> >>> static const struct super_operations jfs_super_operations; >>> static const struct export_operations jfs_export_operations; >>> +static const int jfs_inode_fields[IF_FIELD_NR]; >> >> see below >> >>> static struct file_system_type jfs_fs_type; >>> >>> #define MAX_COMMIT_THREADS 64 >>> @@ -117,6 +118,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) >>> jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); >>> if (!jfs_inode) >>> return NULL; >>> +#ifdef CONFIG_QUOTA >>> + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); >>> +#endif >>> return &jfs_inode->vfs_inode; >>> } >>> >>> @@ -537,7 +541,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) >>> #ifdef CONFIG_QUOTA >>> sb->dq_op = &dquot_operations; >>> sb->s_qcop = &dquot_quotactl_ops; >>> + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; >>> #endif >>> + sb_init_inode_fields(sb, jfs_inode_fields); >>> >>> /* >>> * Initialize direct-mapping inode/address-space >>> @@ -857,6 +863,13 @@ static const struct super_operations jfs_super_operations = { >>> #endif >>> }; >>> >>> +static const int jfs_inode_fields[IF_FIELD_NR] = { >>> +#ifdef CONFIG_QUOTA >>> + [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - >>> + (int)offsetof(struct jfs_inode_info, vfs_inode), >>> +#endif >>> +}; >> >> Why isn't the initialization done up above where jfs_inode_fields is >> first defined? > There's no good reason, I'll move the definition. The code got created this > way because I added the table in all filesystems after jfs_super_operations > definition but JFS needed the structure earlier... Thanks for review. > > Honza > From sandeen@sandeen.net Fri Oct 10 23: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 30A987F3F for ; Fri, 10 Oct 2014 23:19:45 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 102868F8065 for ; Fri, 10 Oct 2014 21:19:41 -0700 (PDT) X-ASG-Debug-ID: 1413001176-04cb6c7705313460001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 2bi41H1NsajDudRU for ; Fri, 10 Oct 2014 21:19: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 64F1260FD2E3; Fri, 10 Oct 2014 23:19:36 -0500 (CDT) Message-ID: <5438AFD8.6060105@sandeen.net> Date: Fri, 10 Oct 2014 23:19:36 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Brian Foster , Xu Wang CC: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push References: <929991500.42327290.1412926226461.JavaMail.zimbra@redhat.com> <2090211370.42327532.1412926306812.JavaMail.zimbra@redhat.com> <20141010120754.GB18297@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push In-Reply-To: <20141010120754.GB18297@bfoster.bfoster> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413001176 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.10435 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/10/14 7:07 AM, Brian Foster wrote: > Isn't this fixed by the following commit? > > 8af3dcd3 xfs: xlog_cil_force_lsn doesn't always wait correctly > > With that patch, xlog_cil_push() adds the ctx to the committing list > before draining the ctx and updating the current sequence number. > xlog_cil_force_lsn() walks the committing list and checks the sequence > number and ctx list, all under the push lock. > > That means that xlog_cil_force_lsn() should see the ctx either on the > committing list and wait for it (commit_lsn != NULL), or not on the > committing list at all. If it's not on the committing list yet, > xlog_cil_push() won't have either drained the ctx or updated the > sequence number, as it adds to the committing list first and that > requires the push lock (which xlog_cil_force_lsn() holds and doesn't > release until after the restart check). > > Am I missing something? Do you reproduce a problem with the latest tree > that includes the above patch? We clarified that Dave's patch does fix the problem; this was a Red Hat bug, and I hadn't put the upstream commit into it yet, sorry about that. George, thanks for working on it! -Eric > Brian From BATV+9d858ccfc96c2e3655b8+4066+infradead.org+hch@bombadil.srs.infradead.org Sat Oct 11 08:35: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 8AEEB7F47 for ; Sat, 11 Oct 2014 08:35:03 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4DCBC8F8065 for ; Sat, 11 Oct 2014 06:35:00 -0700 (PDT) X-ASG-Debug-ID: 1413034497-04bdf028792f2570001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id 8FFaB9uQYGIRIIM7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 11 Oct 2014 06:34:57 -0700 (PDT) X-Barracuda-Envelope-From: BATV+9d858ccfc96c2e3655b8+4066+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 1Xcwou-0007ru-Lg; Sat, 11 Oct 2014 13:34:52 +0000 Date: Sat, 11 Oct 2014 06:34:52 -0700 From: Christoph Hellwig To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141011133452.GA29004@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1412952910-7142-1-git-send-email-jack@suse.cz> 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: 1413034497 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.10448 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I still very much disagree with the s_inode_fields indirection. Please find a patch below to remove it, and use a get_dquots super_block operation instead. This leads to less and better readable code, and serves 4 bytes in every inode in the system. Additionally the indirection could easily be optimized away by directly passing the dquot array in various functions, but for now I'd like to keep it simple. diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 47d97af..c330e90 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -307,6 +307,11 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root) #ifdef CONFIG_QUOTA static ssize_t ext2_quota_read(struct super_block *sb, int type, char *data, size_t len, loff_t off); static ssize_t ext2_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); + +static struct dquot **ext2_get_dquots(struct inode *inode) +{ + return EXT2_I(inode)->i_dquot; +} #endif static const struct super_operations ext2_sops = { @@ -324,13 +329,7 @@ static const struct super_operations ext2_sops = { #ifdef CONFIG_QUOTA .quota_read = ext2_quota_read, .quota_write = ext2_quota_write, -#endif -}; - -static const int ext2_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = offsetof(struct ext2_inode_info, i_dquot) - - offsetof(struct ext2_inode_info, vfs_inode), + .get_dquots = ext2_get_dquots, #endif }; @@ -1103,7 +1102,6 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &dquot_quotactl_ops; sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif - sb_init_inode_fields(sb, ext2_inode_fields); root = ext2_iget(sb, EXT2_ROOT_INO); if (IS_ERR(root)) { diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 9e15262..9ca145d 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -769,6 +769,11 @@ static ssize_t ext3_quota_read(struct super_block *sb, int type, char *data, static ssize_t ext3_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); +static struct dquot **ext3_get_dquots(struct inode *inode) +{ + return EXT3_I(inode)->i_dquot; +} + static const struct dquot_operations ext3_quota_operations = { .write_dquot = ext3_write_dquot, .acquire_dquot = ext3_acquire_dquot, @@ -807,17 +812,11 @@ static const struct super_operations ext3_sops = { #ifdef CONFIG_QUOTA .quota_read = ext3_quota_read, .quota_write = ext3_quota_write, + .get_dquots = ext3_get_dquots, #endif .bdev_try_to_free_page = bdev_try_to_free_page, }; -static const int ext3_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = (int)offsetof(struct ext3_inode_info, i_dquot) - - (int)offsetof(struct ext3_inode_info, vfs_inode), -#endif -}; - static const struct export_operations ext3_export_ops = { .fh_to_dentry = ext3_fh_to_dentry, .fh_to_parent = ext3_fh_to_parent, @@ -2021,7 +2020,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) sb->dq_op = &ext3_quota_operations; sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif - sb_init_inode_fields(sb, ext3_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ mutex_init(&sbi->s_orphan_lock); diff --git a/fs/ext4/super.c b/fs/ext4/super.c index ceac3c1..f7d4332 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1072,6 +1072,11 @@ static int ext4_quota_enable(struct super_block *sb, int type, int format_id, unsigned int flags); static int ext4_enable_quotas(struct super_block *sb); +static struct dquot **ext4_get_dquots(struct inode *inode) +{ + return EXT4_I(inode)->i_dquot; +} + static const struct dquot_operations ext4_quota_operations = { .get_reserved_space = ext4_get_reserved_space, .write_dquot = ext4_write_dquot, @@ -1140,17 +1145,11 @@ static const struct super_operations ext4_nojournal_sops = { #ifdef CONFIG_QUOTA .quota_read = ext4_quota_read, .quota_write = ext4_quota_write, + .get_dquots = ext4_get_dquots, #endif .bdev_try_to_free_page = bdev_try_to_free_page, }; -static const int ext4_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = offsetof(struct ext4_inode_info, i_dquot) - - offsetof(struct ext4_inode_info, vfs_inode), -#endif -}; - static const struct export_operations ext4_export_ops = { .fh_to_dentry = ext4_fh_to_dentry, .fh_to_parent = ext4_fh_to_parent, @@ -3926,7 +3925,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &ext4_qctl_operations; sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif - sb_init_inode_fields(sb, ext4_inode_fields); memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ diff --git a/fs/jfs/super.c b/fs/jfs/super.c index a13727d..a7b0447 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -54,7 +54,6 @@ static struct kmem_cache *jfs_inode_cachep; static const struct super_operations jfs_super_operations; static const struct export_operations jfs_export_operations; -static const int jfs_inode_fields[IF_FIELD_NR]; static struct file_system_type jfs_fs_type; #define MAX_COMMIT_THREADS 64 @@ -543,7 +542,6 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &dquot_quotactl_ops; sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif - sb_init_inode_fields(sb, jfs_inode_fields); /* * Initialize direct-mapping inode/address-space @@ -842,6 +840,10 @@ out: return len - towrite; } +static struct dquot **jfs_get_dquots(struct inode *inode) +{ + return JFS_IP(inode)->i_dquot; +} #endif static const struct super_operations jfs_super_operations = { @@ -860,13 +862,7 @@ static const struct super_operations jfs_super_operations = { #ifdef CONFIG_QUOTA .quota_read = jfs_quota_read, .quota_write = jfs_quota_write, -#endif -}; - -static const int jfs_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - - (int)offsetof(struct jfs_inode_info, vfs_inode), + .get_dquots = jfs_get_dquots, #endif }; diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 5d94b9a..c575bab 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend); static int ocfs2_enable_quotas(struct ocfs2_super *osb); static void ocfs2_disable_quotas(struct ocfs2_super *osb); +static struct dquot **ocfs2_get_dquots(struct inode *inode) +{ + return OCFS2_I(inode)->i_dquot; +} + static const struct super_operations ocfs2_sops = { .statfs = ocfs2_statfs, .alloc_inode = ocfs2_alloc_inode, @@ -155,13 +160,7 @@ static const struct super_operations ocfs2_sops = { .show_options = ocfs2_show_options, .quota_read = ocfs2_quota_read, .quota_write = ocfs2_quota_write, -}; - -static const int ocfs2_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = offsetof(struct ocfs2_inode_info, i_dquot) - - offsetof(struct ocfs2_inode_info, vfs_inode), -#endif + .get_dquots = ocfs2_get_dquots, }; enum { @@ -2081,7 +2080,6 @@ static int ocfs2_initialize_super(struct super_block *sb, sb->dq_op = &ocfs2_quota_operations; sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; sb->s_xattr = ocfs2_xattr_handlers; - sb_init_inode_fields(sb, ocfs2_inode_fields); sb->s_time_gran = 1; sb->s_flags |= MS_NOATIME; /* this is needed to support O_LARGEFILE */ diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index ecb8732..b3af224 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -893,9 +893,9 @@ out: } EXPORT_SYMBOL(dqget); -static inline struct dquot **i_dquot(const struct inode *inode) +static inline struct dquot **i_dquot(struct inode *inode) { - return ((struct dquot **)inode_field(inode, IF_DQUOTS)); + return inode->i_sb->s_op->get_dquots(inode); } static int dqinit_needed(struct inode *inode, int type) @@ -1648,7 +1648,7 @@ EXPORT_SYMBOL(__dquot_alloc_space); /* * This operation can block, but only after everything is updated */ -int dquot_alloc_inode(const struct inode *inode) +int dquot_alloc_inode(struct inode *inode) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; @@ -1789,7 +1789,7 @@ EXPORT_SYMBOL(__dquot_free_space); /* * This operation can block, but only after everything is updated */ -void dquot_free_inode(const struct inode *inode) +void dquot_free_inode(struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 04babe5..72bdcc8 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -754,6 +754,11 @@ static ssize_t reiserfs_quota_write(struct super_block *, int, const char *, size_t, loff_t); static ssize_t reiserfs_quota_read(struct super_block *, int, char *, size_t, loff_t); + +static struct dquot **reiserfs_get_dquots(struct inode *inode) +{ + return REISERFS_I(inode)->i_dquot; +} #endif static const struct super_operations reiserfs_sops = { @@ -772,13 +777,7 @@ static const struct super_operations reiserfs_sops = { #ifdef CONFIG_QUOTA .quota_read = reiserfs_quota_read, .quota_write = reiserfs_quota_write, -#endif -}; - -static const int reiserfs_inode_fields[IF_FIELD_NR] = { -#ifdef CONFIG_QUOTA - [IF_DQUOTS] = (int)offsetof(struct reiserfs_inode_info, i_dquot) - - (int)offsetof(struct reiserfs_inode_info, vfs_inode), + .get_dquots = reiserfs_get_dquots, #endif }; @@ -1646,7 +1645,6 @@ static int read_super_block(struct super_block *s, int offset) s->dq_op = &reiserfs_quota_operations; sb_dqopt(s)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif - sb_init_inode_fields(s, reiserfs_inode_fields); /* * new format is limited by the 32 bit wide i_blocks field, want to diff --git a/include/linux/fs.h b/include/linux/fs.h index 6a801ca..3e1c596 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -612,12 +612,6 @@ struct inode { void *i_private; /* fs or device private pointer */ }; -/* Optional inode fields (stored in filesystems inode if the fs needs them) */ -enum inode_fields { - IF_DQUOTS, /* Quota pointers: struct dquot *foo[MAXQUOTAS] */ - IF_FIELD_NR /* Number of optional inode fields */ -}; - static inline int inode_unhashed(struct inode *inode) { return hlist_unhashed(&inode->i_hash); @@ -1239,11 +1233,6 @@ struct super_block { void *s_fs_info; /* Filesystem private info */ unsigned int s_max_links; fmode_t s_mode; - /* - * We could have here just a pointer to the offsets array but this - * way we save one dereference when looking up field offsets - */ - int s_inode_fields[IF_FIELD_NR]; /* Granularity of c/m/atime in ns. Cannot be worse than a second */ @@ -1294,24 +1283,6 @@ struct super_block { struct rcu_head rcu; }; -static inline void *inode_field(const struct inode *inode, - enum inode_fields field) -{ - int offset; - - BUG_ON(field >= IF_FIELD_NR); - offset = inode->i_sb->s_inode_fields[field]; - if (!offset) /* Field not present? */ - return NULL; - return ((char *)inode) + offset; -} - -static inline void sb_init_inode_fields(struct super_block *sb, - const int *fields) -{ - memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); -} - extern struct timespec current_fs_time(struct super_block *sb); /* @@ -1609,6 +1580,7 @@ struct super_operations { #ifdef CONFIG_QUOTA ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); + struct dquot **(*get_dquots)(struct inode *); #endif int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); long (*nr_cached_objects)(struct super_block *, int); diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 1d3eee5..f23538a 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h @@ -64,10 +64,10 @@ void dquot_destroy(struct dquot *dquot); int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags); void __dquot_free_space(struct inode *inode, qsize_t number, int flags); -int dquot_alloc_inode(const struct inode *inode); +int dquot_alloc_inode(struct inode *inode); int dquot_claim_space_nodirty(struct inode *inode, qsize_t number); -void dquot_free_inode(const struct inode *inode); +void dquot_free_inode(struct inode *inode); void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number); int dquot_disable(struct super_block *sb, int type, unsigned int flags); @@ -213,12 +213,12 @@ static inline void dquot_drop(struct inode *inode) { } -static inline int dquot_alloc_inode(const struct inode *inode) +static inline int dquot_alloc_inode(struct inode *inode) { return 0; } -static inline void dquot_free_inode(const struct inode *inode) +static inline void dquot_free_inode(struct inode *inode) { } From billstuff2001@sbcglobal.net Sat Oct 11 13:59: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=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 C38EF7F50 for ; Sat, 11 Oct 2014 13:59:34 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id A285E304064 for ; Sat, 11 Oct 2014 11:59:31 -0700 (PDT) X-ASG-Debug-ID: 1413053969-04cb6c770632dd20001-NocioJ Received: from nm7-vm5.access.bullet.mail.gq1.yahoo.com (nm7-vm5.access.bullet.mail.gq1.yahoo.com [216.39.63.125]) by cuda.sgi.com with ESMTP id TUWgsiyyXGUqYS3F (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 11 Oct 2014 11:59:30 -0700 (PDT) X-Barracuda-Envelope-From: billstuff2001@sbcglobal.net X-Barracuda-Apparent-Source-IP: 216.39.63.125 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sbcglobal.net; s=s1024; t=1413053969; bh=keXo+xe94zZPL1pZt8TN+8fIHspSdPdA6OubU0w8Iik=; h=Date:From:To:Subject:From:Subject; b=ibTSAfBt8NnXGyVDjfXaRhEZUf+8vKLf4Ovf3mnYNB8kkpWYKVnEtcxp9qx/IbhtlI0yMDNZNzSYc8hIyF1WVkGW6xBLPRQoRdAvqvqut9sqbYqwsCKkhYv5o0kyd0ZMi3fwHWcCBfkgRJLl+/RVg/Oy9boYBYTNBF31gp/oHYI= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=sbcglobal.net; b=PPUbunAeU0Qm2BUXGYWaReoJV9M4DbwPkA3uolIqbvpz30L+3VmbtgstLYvXLsfQDloxLs5CGX4Zflp/4i8RmX23t6jCxnYkOfAvy6DoZWXzvnGuVmyFlTcTQxzrGRXo+2u6WbDV0WW/sWLmQwk67OCxIMfZn2BNdNgAbV/Xfxc=; Received: from [216.39.60.171] by nm7.access.bullet.mail.gq1.yahoo.com with NNFMP; 11 Oct 2014 18:59:29 -0000 Received: from [98.138.104.98] by tm7.access.bullet.mail.gq1.yahoo.com with NNFMP; 11 Oct 2014 18:59:29 -0000 Received: from [127.0.0.1] by smtp118.sbc.mail.ne1.yahoo.com with NNFMP; 11 Oct 2014 18:59:29 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sbcglobal.net; s=s1024; t=1413053969; bh=keXo+xe94zZPL1pZt8TN+8fIHspSdPdA6OubU0w8Iik=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:Content-Transfer-Encoding; b=WIrqEn7nqXAc+TaGuI5VKqG4lN0wICKx2Bq58tA5CBJkzN2QAISYkifYlZUjl3Tl1Py4A078Z8F7oDnqQjjm2W/KnTXA2vvEZZvwi8ekrl3yfnXAs3qZkzphhfIP2lj2Spm93wMQ1r7RJSmtRdIA2ZPQpNKIHBgJj+yAfSMc6tI= X-Yahoo-Newman-Id: 62047.35962.bm@smtp118.sbc.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: rGVmqlMVM1lcpOpchBmVwEWG98S.EjlnJJNE2MDo3Z1Ck9s mxqZVz3ufKTt6VdbGFRb7KlXJFt4y7ACbxpvUOKchWzjRIplvBgPViUwsuze CEZKu09P_9y9MhB7ID22ygIvGQNq2mmCs403DjlYQ9DONdzdP4D4M0hbo2Dv 5uVDwdQSkONjURTS5H7mgLm6zwnBUrEKhXoA76IXd1.0ecIdD9S7KTaHbi3D B3Y4YWEN3pH9XEU8HDYYtR0M7dbegdkgbpT6xxbOqE_81.Atu3t4tTQ8wuw_ YM6kFnJu_yrpMN.pnvtxLYDn1eBTHmjf7UZKgIUejqM4MI64fziqYG0PombT BC79bS5a61K33_2yy8DSEGqFxt2JYLHpQ6Bc8uyz4Had1Bfg5t.PqnbNXDAO c5avJ55GjSDkhfOAl4LopuoKCEpqfHTCr1oZhdQT6R1PZO8wMuG73RvkMvJx _zLj1mW5NybdV89zljscqGcGT5ibNr5sLzRO1JcAgyDIL2RnDKZW51qH7iHg sZoXEK13lCE1oM4vctXgF4efViNSsr65vwqKANiULEe3E5Rh78iA- X-Yahoo-SMTP: dV6Y3D2swBAl90UzsR1c1EUZ5QpNhk2oh3bumrVn95TC.A-- Message-ID: <54397E0F.2050700@sbcglobal.net> Date: Sat, 11 Oct 2014 13:59:27 -0500 From: BillStuff User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: dmesg error in xfs_aops.c on kernel 3.14.21 Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-ASG-Orig-Subj: dmesg error in xfs_aops.c on kernel 3.14.21 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: nm7-vm5.access.bullet.mail.gq1.yahoo.com[216.39.63.125] X-Barracuda-Start-Time: 1413053970 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.10455 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'm running 3.14.21, and got these traces in dmesg; they appear to be from xfs: [56180.816526] ------------[ cut here ]------------ [56180.816550] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 xfs_vm_releasepage+0x9e/0xb0 [xfs]() [56180.816551] Modules linked in: bsd_comp ppp_synctty ppp_async crc_ccitt ppp_generic slhc nvidia(PO) nct6775 hwmon_vid nfsd ipv6 ipt_MASQUERADE xt_conntrack iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables pcmcia pcmcia_core nls_utf8 isofs agpgart fuse or51132 snd_usb_audio snd_usbmidi_lib cx88_dvb videobuf_dvb dvb_core cx88_vp3054_i2c snd_hwdep snd_pcm ir_mce_kbd_decoder ir_lirc_codec lirc_dev ir_sony_decoder ir_nec_decoder ir_sanyo_decoder ir_rc6_decoder ir_rc5_decoder ir_jvc_decoder snd_rawmidi rc_hauppauge tuner_simple tuner_types tda9887 tda8290 tuner snd_seq_device x86_pkg_temp_thermal snd_timer coretemp cx8800 kvm_intel cx8802 cx88xx tveeprom btcx_risc videobuf_dma_sg videobuf_core snd i2c_algo_bit rc_core kvm crc32c_intel v4l2_common i2c_dev usb_storage r8169 videodev i2c_i801 processor microcode soundcore thermal_sys i2c_core mii lpc_ich hwmon mfd_core evdev mxm_wmi wmi button loop hid_generic xhci_hcd uhci_hcd ohci_hcd ehci_pci ehci_hcd usbhid hid pata_jmicron xfs ext3 jbd ext2 mbcache raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor async_tx [last unloaded: nvidia] [56180.816581] CPU: 5 PID: 67 Comm: kswapd0 Tainted: P O 3.14.21be-dirty #1 [56180.816582] Hardware name: System manufacturer System Product Name/SABERTOOTH X79, BIOS 4608 12/24/2013 [56180.816583] 00000000 00000000 e8ff5d48 c14d69b3 00000000 e8ff5d78 c104348e c15d9f44 [56180.816586] 00000005 00000043 f3b72e77 00000494 f3afbdbe f3afbdbe f3afbd20 00000000 [56180.816588] edcd43c0 e8ff5d88 c1043552 00000009 00000000 e8ff5db0 f3afbdbe 00000000 [56180.816590] Call Trace: [56180.816594] [] dump_stack+0x41/0x52 [56180.816597] [] warn_slowpath_common+0x7e/0xa0 [56180.816604] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.816609] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.816615] [] ? xfs_count_page_state+0x60/0x60 [xfs] [56180.816616] [] warn_slowpath_null+0x22/0x30 [56180.816621] [] xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.816627] [] ? xfs_count_page_state+0x60/0x60 [xfs] [56180.816629] [] try_to_release_page+0x33/0x50 [56180.816632] [] shrink_active_list+0x28a/0x290 [56180.816634] [] shrink_zone+0x483/0x6f0 [56180.816636] [] ? zone_balanced+0x29/0x70 [56180.816637] [] kswapd+0x3fe/0x890 [56180.816639] [] ? try_to_free_pages+0x4f0/0x4f0 [56180.816642] [] kthread+0xa1/0xc0 [56180.816644] [] ret_from_kernel_thread+0x1b/0x28 [56180.816646] [] ? kthread_create_on_node+0x110/0x110 [56180.816647] ---[ end trace f7821664f1bc8f4b ]--- [56180.821101] ------------[ cut here ]------------ [56180.821109] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 xfs_vm_releasepage+0x9e/0xb0 [xfs]() [56180.821110] Modules linked in: bsd_comp ppp_synctty ppp_async crc_ccitt ppp_generic slhc nvidia(PO) nct6775 hwmon_vid nfsd ipv6 ipt_MASQUERADE xt_conntrack iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables pcmcia pcmcia_core nls_utf8 isofs agpgart fuse or51132 snd_usb_audio snd_usbmidi_lib cx88_dvb videobuf_dvb dvb_core cx88_vp3054_i2c snd_hwdep snd_pcm ir_mce_kbd_decoder ir_lirc_codec lirc_dev ir_sony_decoder ir_nec_decoder ir_sanyo_decoder ir_rc6_decoder ir_rc5_decoder ir_jvc_decoder snd_rawmidi rc_hauppauge tuner_simple tuner_types tda9887 tda8290 tuner snd_seq_device x86_pkg_temp_thermal snd_timer coretemp cx8800 kvm_intel cx8802 cx88xx tveeprom btcx_risc videobuf_dma_sg videobuf_core snd i2c_algo_bit rc_core kvm crc32c_intel v4l2_common i2c_dev usb_storage r8169 videodev i2c_i801 processor microcode soundcore thermal_sys i2c_core mii lpc_ich hwmon mfd_core evdev mxm_wmi wmi button loop hid_generic xhci_hcd uhci_hcd ohci_hcd ehci_pci ehci_hcd usbhid hid pata_jmicron xfs ext3 jbd ext2 mbcache raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor async_tx [last unloaded: nvidia] [56180.821137] CPU: 5 PID: 67 Comm: kswapd0 Tainted: P W O 3.14.21be-dirty #1 [56180.821138] Hardware name: System manufacturer System Product Name/SABERTOOTH X79, BIOS 4608 12/24/2013 [56180.821138] 00000000 00000000 e8ff5d48 c14d69b3 00000000 e8ff5d78 c104348e c15d9f44 [56180.821140] 00000005 00000043 f3b72e77 00000494 f3afbdbe f3afbdbe f3afbd20 00000000 [56180.821143] f07f2660 e8ff5d88 c1043552 00000009 00000000 e8ff5db0 f3afbdbe 00000000 [56180.821145] Call Trace: [56180.821146] [] dump_stack+0x41/0x52 [56180.821148] [] warn_slowpath_common+0x7e/0xa0 [56180.821154] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.821160] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.821165] [] ? xfs_count_page_state+0x60/0x60 [xfs] [56180.821167] [] warn_slowpath_null+0x22/0x30 [56180.821172] [] xfs_vm_releasepage+0x9e/0xb0 [xfs] [56180.821177] [] ? xfs_count_page_state+0x60/0x60 [xfs] [56180.821179] [] try_to_release_page+0x33/0x50 [56180.821181] [] shrink_active_list+0x28a/0x290 [56180.821182] [] shrink_zone+0x483/0x6f0 [56180.821184] [] ? zone_balanced+0x29/0x70 [56180.821186] [] kswapd+0x3fe/0x890 [56180.821188] [] ? try_to_free_pages+0x4f0/0x4f0 [56180.821189] [] kthread+0xa1/0xc0 [56180.821191] [] ret_from_kernel_thread+0x1b/0x28 [56180.821192] [] ? kthread_create_on_node+0x110/0x110 [56180.821193] ---[ end trace f7821664f1bc8f4c ]--- Can anyone tell me what these mean and if they might be bad? thanks, Bill From root@krios.tbi.univie.ac.at Sat Oct 11 23:25: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CF5BA7F3F for ; Sat, 11 Oct 2014 23:25:10 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id BE23E8F8035 for ; Sat, 11 Oct 2014 21:25:07 -0700 (PDT) X-ASG-Debug-ID: 1413087905-04cb6c770433b4d0001-NocioJ Received: from krios.tbi.univie.ac.at (krios.tbi.univie.ac.at [131.130.44.60]) by cuda.sgi.com with ESMTP id skO71JPHDngP5GD8 for ; Sat, 11 Oct 2014 21:25:06 -0700 (PDT) X-Barracuda-Envelope-From: root@krios.tbi.univie.ac.at X-Barracuda-Apparent-Source-IP: 131.130.44.60 Received: by krios.tbi.univie.ac.at (Postfix) id 1F3BF5F1A2; Sun, 12 Oct 2014 06:25:03 +0200 (CEST) Delivered-To: root@krios.tbi.univie.ac.at Received: by krios.tbi.univie.ac.at (Postfix, from userid 0) id 10F155F1D6; Sun, 12 Oct 2014 06:25:03 +0200 (CEST) From: root@krios.tbi.univie.ac.at (Cron Daemon) To: root@krios.tbi.univie.ac.at Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: Message-Id: <20141012042503.10F155F1D6@krios.tbi.univie.ac.at> Date: Sun, 12 Oct 2014 06:25:03 +0200 (CEST) X-Barracuda-Connect: krios.tbi.univie.ac.at[131.130.44.60] X-Barracuda-Start-Time: 1413087905 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.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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_ADDR_MATCH, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10467 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address /etc/cron.daily/logrotate: error: error opening /home/git/gitlab/log/application.log: Permission denied error: error opening /home/git/gitlab/log/githost.log: Permission denied error: error opening /home/git/gitlab/log/production.log: Permission denied error: error opening /home/git/gitlab/log/satellites.log: Permission denied error: error opening /home/git/gitlab/log/sidekiq.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stderr.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stdout.log: Permission denied error: error opening /home/git/gitlab-shell/gitlab-shell.log: Permission denied run-parts: /etc/cron.daily/logrotate exited with return code 1 From Yaniv.Kaul@emc.com Sun Oct 12 01:58: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=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 236DA7F4E for ; Sun, 12 Oct 2014 01:58:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1028530405F for ; Sat, 11 Oct 2014 23:58:07 -0700 (PDT) X-ASG-Debug-ID: 1413097082-04cb6c770433f800001-NocioJ Received: from mailuogwhop.emc.com (mailuogwhop.emc.com [168.159.213.141]) by cuda.sgi.com with ESMTP id pfaE92t2pn3SCzew (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 11 Oct 2014 23:58:03 -0700 (PDT) X-Barracuda-Envelope-From: Yaniv.Kaul@emc.com X-Barracuda-Apparent-Source-IP: 168.159.213.141 Received: from maildlpprd01.lss.emc.com (maildlpprd01.lss.emc.com [10.253.24.33]) by mailuogwprd01.lss.emc.com (Sentrion-MTA-4.3.0/Sentrion-MTA-4.3.0) with ESMTP id s9C6w10c025688 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 02:58:02 -0400 X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com s9C6w10c025688 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1413097082; bh=3a8uTSz8QKYVTtVRiFeLvGmFskI=; h=From:To:Date:Subject:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=i0K414+EUngrtFhQvpR+bsWi0kdZdlbc/qxgd0CrvbXcyx9GHl7U7ddqbkwFAH317 nNHeiTIeiqtEns1pKSS8qoQJmwNEAzkjndwV2LtNrOVw7W5n3++NelY6FU4s2yUVfA 18OoQdqGF4uRRSZAGSJWBQoxBFHReFMhjtOvj4iM= X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com s9C6w10c025688 Received: from mailusrhubprd03.lss.emc.com (mailusrhubprd03.lss.emc.com [10.253.24.21]) by maildlpprd01.lss.emc.com (RSA Interceptor) for ; Sun, 12 Oct 2014 02:57:36 -0400 Received: from mxhub13.corp.emc.com (mxhub13.corp.emc.com [128.222.70.234]) by mailusrhubprd03.lss.emc.com (Sentrion-MTA-4.3.0/Sentrion-MTA-4.3.0) with ESMTP id s9C6vpgU004347 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL) for ; Sun, 12 Oct 2014 02:57:51 -0400 Received: from mx19a.corp.emc.com ([169.254.1.186]) by mxhub13.corp.emc.com ([128.222.70.234]) with mapi; Sun, 12 Oct 2014 02:57:51 -0400 From: "Kaul, Yaniv" To: "xfs@oss.sgi.com" Date: Sun, 12 Oct 2014 02:58:50 -0400 Subject: Can't build RPM of xfstests Thread-Topic: Can't build RPM of xfstests X-ASG-Orig-Subj: Can't build RPM of xfstests Thread-Index: Ac/l6QMX3jfeUaEyQDKnOPY0WOIJHQ== Message-ID: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Sentrion-Hostname: mailusrhubprd03.lss.emc.com X-RSA-Classifications: public X-Barracuda-Connect: mailuogwhop.emc.com[168.159.213.141] X-Barracuda-Start-Time: 1413097083 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.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=DKIM_SIGNED, DKIM_VERIFIED, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10471 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature I'm getting the sources from https://kernel.googlesource.com/pub/scm/fs/xfs= /xfstests-dev (as I can't use git directly, only over HTTP(s) due to compan= y policy) I'm trying to compile the RPM on either CentOS 6.5 or 7, both fail identica= lly. Log snippets: =3D=3D dist, log is Logs/dist make: Entering directory `/var/jenkins/workspace/xfstests-build/build' /bin/tar: xfstests-1.1.1/m4/general_headers.m4: Cannot stat: No such file o= r directory /bin/tar: Exiting with failure status due to previous errors Wrote: /var/jenkins/workspace/xfstests-build/build/xfstests-1.1.1.src.tar.g= z =3D=3D=3D install =3D=3D=3D gmake[1]: Entering directory `/var/jenkins/workspace/xfstests-build' Building include Building lib Building ltp Building src Building aio-dio-regress Building m4 Building common Building tests /usr/bin/gmake --no-print-directory Q=3D@ -C include install ... gmake[1]: Leaving directory `/var/jenkins/workspace/xfstests-build' =3D=3D=3D tar =3D=3D=3D Wrote: /var/jenkins/workspace/xfstests-build/build/tar/xfstests-1.1.1.tar.g= z =3D=3D=3D rpm =3D=3D=3D /bin/sed -e's|@pkg_name@|xfstests|g' \ -e's|@pkg_version@|1.1.1|g' \ -e's|@pkg_release@|1|g' \ -e's|@pkg_distribution@|Linux|g' \ -e's|@build_root@|/tmp/34943|g' \ -e'/^BuildRoot: *$/d' \ -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in > xfstests.spec /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No such file = or directory gmake[1]: *** [dist] Error 1 OK, I manually copy the file over, and then try again: usr/bin/gmake --no-print-directory Q=3D default /usr/bin/gmake --no-print-directory Q=3D include lib ltp src m4 common test= s Building include /usr/bin/gmake --no-print-directory Q=3D -q -C include || /usr/bin/gmake --= no-print-directory Q=3D -C include Building lib /usr/bin/gmake --no-print-directory Q=3D -q -C lib || /usr/bin/gmake --no-p= rint-directory Q=3D -C lib [LTDEP] if [ -n "$( echo dataascii.c databin.c datapid.c file_lock.c forker.c patte= rn.c open_flags.c random_range.c string_to_tokens.c str_to_bytes.c tlibio.c= write_log.c random.c)" ]; then \ gcc -MM -g -O2 -g -O2 -DDEBUG -I../include -DVERSION=3D\"1.1.1\" -D_G= NU_SOURCE -D_FILE_OFFSET_BITS=3D64 -funsigned-char -fno-strict-aliasing -Wa= ll dataascii.c databin.c datapid.c file_lock.c forker.c pattern.c open_fla= gs.c random_range.c string_to_tokens.c str_to_bytes.c tlibio.c write_log.c = random.c | \ /bin/sed -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep; \ else \ cp /dev/null .ltdep; \ fi file_lock.c:28:23: error: file_lock.h: No such file or directory forker.c:104:20: error: forker.h: No such file or directory open_flags.c:91:24: error: open_flags.h: No such file or directory str_to_bytes.c:20:26: error: str_to_bytes.h: No such file or directory [CC] dataascii.lo /usr/bin/libtool --quiet --tag=3DCC --mode=3Dcompile gcc -g -O2 -g -O2 -DDE= BUG -I../include -DVERSION=3D\"1.1.1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS= =3D64 -funsigned-char -fno-strict-aliasing -Wall -c dataascii.c [CC] databin.lo /usr/bin/libtool --quiet --tag=3DCC --mode=3Dcompile gcc -g -O2 -g -O2 -DDE= BUG -I../include -DVERSION=3D\"1.1.1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS= =3D64 -funsigned-char -fno-strict-aliasing -Wall -c databin.c [CC] datapid.lo /usr/bin/libtool --quiet --tag=3DCC --mode=3Dcompile gcc -g -O2 -g -O2 -DDE= BUG -I../include -DVERSION=3D\"1.1.1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS= =3D64 -funsigned-char -fno-strict-aliasing -Wall -c datapid.c [CC] file_lock.lo /usr/bin/libtool --quiet --tag=3DCC --mode=3Dcompile gcc -g -O2 -g -O2 -DDE= BUG -I../include -DVERSION=3D\"1.1.1\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS= =3D64 -funsigned-char -fno-strict-aliasing -Wall -c file_lock.c file_lock.c:28:23: error: file_lock.h: No such file or directory gmake[5]: *** [file_lock.lo] Error 1 gmake[4]: *** [lib] Error 2 gmake[3]: *** [default] Error 2 gmake[2]: *** [default] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.MrYMY7 (%build) My job is simple: yum -y install libuuid-devel xfsprogs xfsprogs-qa-devel xfsprogs-devel liba= ttr-devel libacl-devel gcc autoconf libtool libaio-devel openssl-devel rpm-= build e2fsprogs-devel mkdir -p /var/lib/xfstests/ltp /var/lib/xfstests/src make realclean ./Makepkgs verbose rpm Any ideas? From tom_in_canada@hotmail.com Sun Oct 12 03:45: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=FORGED_HOTMAIL_RCVD2, 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 6C73C7F4E for ; Sun, 12 Oct 2014 03:45:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 04160AC006 for ; Sun, 12 Oct 2014 01:45:04 -0700 (PDT) X-ASG-Debug-ID: 1413103503-04cb6c77063426c0001-NocioJ Received: from mwork.nabble.com (static.162.253.133.43.macminivault.com [162.253.133.43]) by cuda.sgi.com with ESMTP id GkwYrFZvsJ1X9pwn for ; Sun, 12 Oct 2014 01:45:03 -0700 (PDT) X-Barracuda-Envelope-From: tom_in_canada@hotmail.com X-Barracuda-Apparent-Source-IP: 162.253.133.43 Received: from mtom.nabble.com (unknown [162.253.133.81]) by mwork.nabble.com (Postfix) with ESMTP id 0E3D877227A for ; Sun, 12 Oct 2014 01:45:04 -0700 (PDT) Date: Sun, 12 Oct 2014 01:43:28 -0700 (MST) From: tommason To: xfs@oss.sgi.com Message-ID: <1413103408756-35026.post@n7.nabble.com> Subject: Mount: Structure needs cleaning MIME-Version: 1.0 X-ASG-Orig-Subj: Mount: Structure needs cleaning Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Barracuda-Connect: static.162.253.133.43.macminivault.com[162.253.133.43] X-Barracuda-Start-Time: 1413103503 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.12 X-Barracuda-Spam-Status: No, SCORE=1.12 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=FORGED_HOTMAIL_RCVD2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10473 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.12 FORGED_HOTMAIL_RCVD2 hotmail.com 'From' address, but no 'Received:' Hi, First up - my knowledge of linux is pretty sparse - I've used it a few times before, so please be gentle! I've had a neil poulton network space for some time now - it freaked out a while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock and rescue the files. This has now happened again - the drive would not get out of a cycle and was not spinning properly. Bring out the dock and liveCD (this time Knoppix). All good. This time however as I eagerly copied files to another drive (a USB powered lacie rugged thing) and left it overnight i woke up to an error. I was copying around 500GB in a few diffferent chunks. The first error it reported was I think error 15? mount structure needs cleaning... I then tried with a Ubuntu liveCD - same error. This is maybe where I made a bit of an error of my own. In an attempt to shake it out of it's stupor I 'stupidly' plugged it into windows and opened up the disk utility (sorry I'm generally mac based) and deleted in total 5 partitions (3x8mb, 1x250odd mb & 1x600mbish partition) This left the partition that I assumed contained all my files: a 920GB partition. Tried to look at it again on Linux & (both Knoppix & Ubuntu) and the error message had changed slightly. It now reads: "Error mounting /dev/sdc2 at /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount -t "xfs" -o "uhelper=udisks2,nodev,nosuid" "/dev/sdc2" "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-zero exit status 32: mount: Structure needs cleaning" This drive has all my audio and video stored on it! Any help to move me toward a solution would be much appreciated! Thanks for your time... Tom -- View this message in context: http://xfs.9218.n7.nabble.com/Mount-Structure-needs-cleaning-tp35026.html Sent from the Xfs - General mailing list archive at Nabble.com. From MAILER-DAEMON Sun Oct 12 05:24: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=2.6 required=5.0 tests=FH_FROMEML_NOTLD,FROM_NO_USER, 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 427B07F4E for ; Sun, 12 Oct 2014 05:24:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C5489AC001 for ; Sun, 12 Oct 2014 03:24:09 -0700 (PDT) X-ASG-Debug-ID: 1413109444-04cb6c77043441f0001-NocioJ Received: from smtp-14.idc2.mandic.com.br (smtp-14c.idc2.mandic.com.br [177.70.124.76]) by cuda.sgi.com with ESMTP id Kx8VNuNIU57Nox9u (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 03:24:05 -0700 (PDT) X-Barracuda-Envelope-From: X-Barracuda-Apparent-Source-IP: 177.70.124.76 Received: by smtp-14.smtp.mandic.prv (Postfix, from userid 491) id 004AC2004D46; Sun, 12 Oct 2014 07:24:03 -0300 (BRT) Received: from [162.248.75.211] (unknown [162.248.75.211]) by smtp-14.smtp.mandic.prv (Postfix) with ESMTPSA id 3BCE82004F3F; Sun, 12 Oct 2014 07:24:00 -0300 (BRT) Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: Your prompt response is being awaited. To: Recipients <> X-ASG-Orig-Subj: Your prompt response is being awaited. From: Dave Dawes <> Date: Sun, 12 Oct 2014 11:23:56 +0100 Reply-To: d_dawes@foxmail.com X-Mandic-Auth: 80+F/itEOcOp1OQNHDmP/mNcWwNARwOpHVNk7L4R3L4fQjhsjJE+RpD0ybHS/WLVTn54nu3LGFQ= Message-Id: <20141012102404.004AC2004D46@smtp-14.smtp.mandic.prv> X-Barracuda-Connect: smtp-14c.idc2.mandic.com.br[177.70.124.76] X-Barracuda-Start-Time: 1413109445 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.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=ANY_BOUNCE_MESSAGE, BOUNCE_MESSAGE, BSF_SC3_MJ5788, BSF_SC7_SA298e, EMPTY_ENV_FROM, FROM_NO_USER, TO_MALFORMED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10475 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 TO_MALFORMED To: has a malformed address 0.00 EMPTY_ENV_FROM Empty Envelope From Address 0.50 FROM_NO_USER From: has no local-part before @ sign 1.50 BSF_SC3_MJ5788 Custom Rule MJ5788 0.20 BSF_SC7_SA298e Custom Rule SA298e 0.00 BOUNCE_MESSAGE MTA bounce message 0.00 ANY_BOUNCE_MESSAGE Message is some kind of bounce message My wife and i have a donation check for you, please reply back for more det= ails. From MAILER-DAEMON Sun Oct 12 06:08: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=2.6 required=5.0 tests=FH_FROMEML_NOTLD,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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2F98A7F4E for ; Sun, 12 Oct 2014 06:08:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1D8A68F8049 for ; Sun, 12 Oct 2014 04:08:46 -0700 (PDT) X-ASG-Debug-ID: 1413112120-04cb6c7704344d30001-NocioJ Received: from mail.shori.com.br (correio.shori.com.br [189.3.125.212]) by cuda.sgi.com with ESMTP id lrGXQ8AlFrE84gye (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO); Sun, 12 Oct 2014 04:08:41 -0700 (PDT) X-Barracuda-Envelope-From: X-Barracuda-Apparent-Source-IP: 189.3.125.212 Received: from [162.248.75.211] (162.248.75.211) by EXC.shori.com.br (10.1.17.253) with Microsoft SMTP Server (TLS) id 14.3.195.1; Sun, 12 Oct 2014 08:08:27 -0300 Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: Your prompt response is being awaited. To: Recipients X-ASG-Orig-Subj: Your prompt response is being awaited. From: Dave, Dawes Date: Sun, 12 Oct 2014 12:07:48 +0100 Reply-To: Message-ID: <217705c3-a3cd-4c40-b051-14a15cbcb10e@EXC.shori.com.br> X-Originating-IP: [162.248.75.211] X-Barracuda-Connect: correio.shori.com.br[189.3.125.212] X-Barracuda-Start-Time: 1413112121 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.70 X-Barracuda-Spam-Status: No, SCORE=1.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=ANY_BOUNCE_MESSAGE, BOUNCE_MESSAGE, BSF_SC3_MJ5788, BSF_SC7_SA298e, EMPTY_ENV_FROM, TO_MALFORMED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10476 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 TO_MALFORMED To: has a malformed address 0.00 EMPTY_ENV_FROM Empty Envelope From Address 1.50 BSF_SC3_MJ5788 Custom Rule MJ5788 0.20 BSF_SC7_SA298e Custom Rule SA298e 0.00 BOUNCE_MESSAGE MTA bounce message 0.00 ANY_BOUNCE_MESSAGE Message is some kind of bounce message My wife and i have a donation check for you, please reply back for more det= ails. From bfoster@redhat.com Sun Oct 12 09:07: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 E27D97F4E for ; Sun, 12 Oct 2014 09:07:12 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 62D8BAC004 for ; Sun, 12 Oct 2014 07:07:08 -0700 (PDT) X-ASG-Debug-ID: 1413122826-04cb6c7705348160001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 0G9qilMpayx4JQPB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 07:07: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-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 s9CE76O2003974 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 12 Oct 2014 10:07:06 -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 s9CE76ok003087; Sun, 12 Oct 2014 10:07:06 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 07A8E120064; Sun, 12 Oct 2014 10:07:04 -0400 (EDT) Date: Sun, 12 Oct 2014 10:07:04 -0400 From: Brian Foster To: BillStuff Cc: xfs@oss.sgi.com Subject: Re: dmesg error in xfs_aops.c on kernel 3.14.21 Message-ID: <20141012140704.GA35667@bfoster.bfoster> X-ASG-Orig-Subj: Re: dmesg error in xfs_aops.c on kernel 3.14.21 References: <54397E0F.2050700@sbcglobal.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54397E0F.2050700@sbcglobal.net> 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: 1413122827 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 Sat, Oct 11, 2014 at 01:59:27PM -0500, BillStuff wrote: > Hi, > > I'm running 3.14.21, and got these traces in dmesg; they appear to be from > xfs: > > [56180.816526] ------------[ cut here ]------------ > [56180.816550] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 if (WARN_ON(delalloc)) return 0; So this generally looks like stale delalloc blocks on a page that is reclaimed/invalidated or otherwise expected to be clean. We've been seeing this a lot over the past few kernel releases and there have been a variety of fixes in error paths and such so it's hard to say precisely what might be causing this. Some examples: aad3f375 xfs: xfs_vm_write_end truncates too much on failure 72ab70a1 xfs: write failure beyond EOF truncates too much data 4ab9ed57 xfs: kill buffers over failed write ranges properly It looks like those are in the stable tree as of 3.15, so you could give that a try and see if it helps. Otherwise, can you post xfs_info for the filesytem? Do you have particular workloads or sequences of operations that tend to reproduce this? Brian > xfs_vm_releasepage+0x9e/0xb0 [xfs]() > [56180.816551] Modules linked in: bsd_comp ppp_synctty ppp_async crc_ccitt > ppp_generic slhc nvidia(PO) nct6775 hwmon_vid nfsd ipv6 ipt_MASQUERADE > xt_conntrack iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat > nf_conntrack iptable_filter ip_tables x_tables pcmcia pcmcia_core nls_utf8 > isofs agpgart fuse or51132 snd_usb_audio snd_usbmidi_lib cx88_dvb > videobuf_dvb dvb_core cx88_vp3054_i2c snd_hwdep snd_pcm ir_mce_kbd_decoder > ir_lirc_codec lirc_dev ir_sony_decoder ir_nec_decoder ir_sanyo_decoder > ir_rc6_decoder ir_rc5_decoder ir_jvc_decoder snd_rawmidi rc_hauppauge > tuner_simple tuner_types tda9887 tda8290 tuner snd_seq_device > x86_pkg_temp_thermal snd_timer coretemp cx8800 kvm_intel cx8802 cx88xx > tveeprom btcx_risc videobuf_dma_sg videobuf_core snd i2c_algo_bit rc_core > kvm crc32c_intel v4l2_common i2c_dev usb_storage r8169 videodev i2c_i801 > processor microcode soundcore thermal_sys i2c_core mii lpc_ich hwmon > mfd_core evdev mxm_wmi wmi button loop hid_generic xhci_hcd uhci_hcd > ohci_hcd ehci_pci ehci_hcd usbhid hid pata_jmicron xfs ext3 jbd ext2 mbcache > raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor > async_tx [last unloaded: nvidia] > [56180.816581] CPU: 5 PID: 67 Comm: kswapd0 Tainted: P O > 3.14.21be-dirty #1 > [56180.816582] Hardware name: System manufacturer System Product > Name/SABERTOOTH X79, BIOS 4608 12/24/2013 > [56180.816583] 00000000 00000000 e8ff5d48 c14d69b3 00000000 e8ff5d78 > c104348e c15d9f44 > [56180.816586] 00000005 00000043 f3b72e77 00000494 f3afbdbe f3afbdbe > f3afbd20 00000000 > [56180.816588] edcd43c0 e8ff5d88 c1043552 00000009 00000000 e8ff5db0 > f3afbdbe 00000000 > [56180.816590] Call Trace: > [56180.816594] [] dump_stack+0x41/0x52 > [56180.816597] [] warn_slowpath_common+0x7e/0xa0 > [56180.816604] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.816609] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.816615] [] ? xfs_count_page_state+0x60/0x60 [xfs] > [56180.816616] [] warn_slowpath_null+0x22/0x30 > [56180.816621] [] xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.816627] [] ? xfs_count_page_state+0x60/0x60 [xfs] > [56180.816629] [] try_to_release_page+0x33/0x50 > [56180.816632] [] shrink_active_list+0x28a/0x290 > [56180.816634] [] shrink_zone+0x483/0x6f0 > [56180.816636] [] ? zone_balanced+0x29/0x70 > [56180.816637] [] kswapd+0x3fe/0x890 > [56180.816639] [] ? try_to_free_pages+0x4f0/0x4f0 > [56180.816642] [] kthread+0xa1/0xc0 > [56180.816644] [] ret_from_kernel_thread+0x1b/0x28 > [56180.816646] [] ? kthread_create_on_node+0x110/0x110 > [56180.816647] ---[ end trace f7821664f1bc8f4b ]--- > [56180.821101] ------------[ cut here ]------------ > [56180.821109] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 > xfs_vm_releasepage+0x9e/0xb0 [xfs]() > [56180.821110] Modules linked in: bsd_comp ppp_synctty ppp_async crc_ccitt > ppp_generic slhc nvidia(PO) nct6775 hwmon_vid nfsd ipv6 ipt_MASQUERADE > xt_conntrack iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat > nf_conntrack iptable_filter ip_tables x_tables pcmcia pcmcia_core nls_utf8 > isofs agpgart fuse or51132 snd_usb_audio snd_usbmidi_lib cx88_dvb > videobuf_dvb dvb_core cx88_vp3054_i2c snd_hwdep snd_pcm ir_mce_kbd_decoder > ir_lirc_codec lirc_dev ir_sony_decoder ir_nec_decoder ir_sanyo_decoder > ir_rc6_decoder ir_rc5_decoder ir_jvc_decoder snd_rawmidi rc_hauppauge > tuner_simple tuner_types tda9887 tda8290 tuner snd_seq_device > x86_pkg_temp_thermal snd_timer coretemp cx8800 kvm_intel cx8802 cx88xx > tveeprom btcx_risc videobuf_dma_sg videobuf_core snd i2c_algo_bit rc_core > kvm crc32c_intel v4l2_common i2c_dev usb_storage r8169 videodev i2c_i801 > processor microcode soundcore thermal_sys i2c_core mii lpc_ich hwmon > mfd_core evdev mxm_wmi wmi button loop hid_generic xhci_hcd uhci_hcd > ohci_hcd ehci_pci ehci_hcd usbhid hid pata_jmicron xfs ext3 jbd ext2 mbcache > raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor > async_tx [last unloaded: nvidia] > [56180.821137] CPU: 5 PID: 67 Comm: kswapd0 Tainted: P W O > 3.14.21be-dirty #1 > [56180.821138] Hardware name: System manufacturer System Product > Name/SABERTOOTH X79, BIOS 4608 12/24/2013 > [56180.821138] 00000000 00000000 e8ff5d48 c14d69b3 00000000 e8ff5d78 > c104348e c15d9f44 > [56180.821140] 00000005 00000043 f3b72e77 00000494 f3afbdbe f3afbdbe > f3afbd20 00000000 > [56180.821143] f07f2660 e8ff5d88 c1043552 00000009 00000000 e8ff5db0 > f3afbdbe 00000000 > [56180.821145] Call Trace: > [56180.821146] [] dump_stack+0x41/0x52 > [56180.821148] [] warn_slowpath_common+0x7e/0xa0 > [56180.821154] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.821160] [] ? xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.821165] [] ? xfs_count_page_state+0x60/0x60 [xfs] > [56180.821167] [] warn_slowpath_null+0x22/0x30 > [56180.821172] [] xfs_vm_releasepage+0x9e/0xb0 [xfs] > [56180.821177] [] ? xfs_count_page_state+0x60/0x60 [xfs] > [56180.821179] [] try_to_release_page+0x33/0x50 > [56180.821181] [] shrink_active_list+0x28a/0x290 > [56180.821182] [] shrink_zone+0x483/0x6f0 > [56180.821184] [] ? zone_balanced+0x29/0x70 > [56180.821186] [] kswapd+0x3fe/0x890 > [56180.821188] [] ? try_to_free_pages+0x4f0/0x4f0 > [56180.821189] [] kthread+0xa1/0xc0 > [56180.821191] [] ret_from_kernel_thread+0x1b/0x28 > [56180.821192] [] ? kthread_create_on_node+0x110/0x110 > [56180.821193] ---[ end trace f7821664f1bc8f4c ]--- > > Can anyone tell me what these mean and if they might be bad? > > thanks, > Bill > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Sun Oct 12 09: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 0AF387F4E for ; Sun, 12 Oct 2014 09:20:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 77066AC003 for ; Sun, 12 Oct 2014 07:20:13 -0700 (PDT) X-ASG-Debug-ID: 1413123611-04cb6c77043486c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id vBLQzyPOh37CYRBd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 07:20: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-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 s9CEKAuH026596 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 12 Oct 2014 10:20:10 -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 s9CEK94a003222; Sun, 12 Oct 2014 10:20:10 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id E91C7120064; Sun, 12 Oct 2014 10:20:08 -0400 (EDT) Date: Sun, 12 Oct 2014 10:20:08 -0400 From: Brian Foster To: tommason Cc: xfs@oss.sgi.com Subject: Re: Mount: Structure needs cleaning Message-ID: <20141012142008.GB35667@bfoster.bfoster> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning References: <1413103408756-35026.post@n7.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413103408756-35026.post@n7.nabble.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: 1413123612 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 Sun, Oct 12, 2014 at 01:43:28AM -0700, tommason wrote: > Hi, > > First up - my knowledge of linux is pretty sparse - I've used it a few times > before, so please be gentle! > > I've had a neil poulton network space for some time now - it freaked out a > while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock and > rescue the files. > > This has now happened again - the drive would not get out of a cycle and was > not spinning properly. Bring out the dock and liveCD (this time Knoppix). > All good. This time however as I eagerly copied files to another drive (a > USB powered lacie rugged thing) and left it overnight i woke up to an error. > I was copying around 500GB in a few diffferent chunks. The first error it > reported was I think error 15? mount structure needs cleaning... > Logs? Kernel version? etc. http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F > I then tried with a Ubuntu liveCD - same error. This is maybe where I made a > bit of an error of my own. In an attempt to shake it out of it's stupor I > 'stupidly' plugged it into windows and opened up the disk utility (sorry I'm > generally mac based) and deleted in total 5 partitions (3x8mb, 1x250odd mb & > 1x600mbish partition) This left the partition that I assumed contained all > my files: a 920GB partition. Tried to look at it again on Linux & (both > Knoppix & Ubuntu) and the error message had changed slightly. It now reads: > "Error mounting /dev/sdc2 at > /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount -t > "xfs" -o "uhelper=udisks2,nodev,nosuid" "/dev/sdc2" > "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-zero > exit status 32: mount: Structure needs cleaning" > To be clear, you've deleted partitions other than the partition of interest? I suppose that shouldn't effect things either way, but I'm not really sure what the disk utility might do. It might be worth checking whether 'file -s ' still identifies the partition as an XFS filesystem..? Beyond that, I'd suggest to capture and post the logs of the failed mount and perhaps the output of 'xfs_repair -n .' This will attempt a dry-run (e.g., no modifications) check and repair of the filesystem. Brian > This drive has all my audio and video stored on it! Any help to move me > toward a solution would be much appreciated! > > Thanks for your time... > > Tom > > > > -- > View this message in context: http://xfs.9218.n7.nabble.com/Mount-Structure-needs-cleaning-tp35026.html > Sent from the Xfs - General mailing list archive at Nabble.com. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Sun Oct 12 13:26: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 49DB97F4E for ; Sun, 12 Oct 2014 13:26:23 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3862E30404E for ; Sun, 12 Oct 2014 11:26:19 -0700 (PDT) X-ASG-Debug-ID: 1413138378-04cbb018ad3228d0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id agAmG89bvqfz7h3f for ; Sun, 12 Oct 2014 11:26: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 96C9F61F88D0; Sun, 12 Oct 2014 13:26:17 -0500 (CDT) Message-ID: <543AC7C9.5040503@sandeen.net> Date: Sun, 12 Oct 2014 13:26:17 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss , Jie Liu Subject: [PATCH] xfs: fix agno increment in xfs_inumbers() loop Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfs: fix agno increment in xfs_inumbers() loop Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413138378 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.10487 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- commit c7cb51d xfs: fix error handling at xfs_inumbers caused a regression in xfs_inumbers, which in turn broke xfsdump, causing incomplete dumps. The loop in xfs_inumbers() needs to fill the user-supplied buffers, and iterates via xfs_btree_increment, reading new ags as needed. But the first time through the loop, if xfs_btree_increment() succeeds, we continue, which triggers the ++agno at the bottom of the loop, and we skip to soon to the next ag - without the proper setup under next_ag to read the next ag. Fix this by removing the agno increment from the loop conditional, and only increment agno if we have actually hit the code under the next_ag: target. Cc: stable@vger.kernel.org Signed-off-by: Eric Sandeen --- p.s. it's alarming that apparently no test in the dump group detects this problem! I'll look into it. So I can say that I've tested this with xfstests, but I guess that doesn't matter much, yet. diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index f71be9c..f1deb96 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -639,7 +639,8 @@ next_ag: xfs_buf_relse(agbp); agbp = NULL; agino = 0; - } while (++agno < mp->m_sb.sb_agcount); + agno++; + } while (agno < mp->m_sb.sb_agcount); if (!error) { if (bufidx) { From viro@ftp.linux.org.uk Sun Oct 12 13:54: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 256357F4E for ; Sun, 12 Oct 2014 13:54:24 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E9F1E8F8049 for ; Sun, 12 Oct 2014 11:54:20 -0700 (PDT) X-ASG-Debug-ID: 1413140054-04bdf02877321ee0001-NocioJ Received: from ZenIV.linux.org.uk (zeniv.linux.org.uk [195.92.253.2]) by cuda.sgi.com with ESMTP id abE3onNqQnXqlBIK (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 11:54:15 -0700 (PDT) X-Barracuda-Envelope-From: viro@ftp.linux.org.uk X-Barracuda-Apparent-Source-IP: 195.92.253.2 Received: from viro by ZenIV.linux.org.uk with local (Exim 4.76 #1 (Red Hat Linux)) id 1XdOGa-0003xk-PL; Sun, 12 Oct 2014 18:53:16 +0000 Date: Sun, 12 Oct 2014 19:53:16 +0100 From: Al Viro To: Christoph Hellwig Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141012185316.GQ7996@ZenIV.linux.org.uk> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> <20141011133452.GA29004@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141011133452.GA29004@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: Al Viro X-Barracuda-Connect: zeniv.linux.org.uk[195.92.253.2] X-Barracuda-Start-Time: 1413140055 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.10489 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, Oct 11, 2014 at 06:34:52AM -0700, Christoph Hellwig wrote: > I still very much disagree with the s_inode_fields indirection. Please > find a patch below to remove it, and use a get_dquots super_block > operation instead. This leads to less and better readable code, > and serves 4 bytes in every inode in the system. Additionally the > indirection could easily be optimized away by directly passing the > dquot array in various functions, but for now I'd like to keep it > simple. Indeed. This "array of offsets" approach is asking for trouble. Please, don't go there - playing that way with type safety is a bad idea. From billstuff2001@sbcglobal.net Sun Oct 12 14:00: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=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 1C7057F4E for ; Sun, 12 Oct 2014 14:00:22 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C71338F8050 for ; Sun, 12 Oct 2014 12:00:21 -0700 (PDT) X-ASG-Debug-ID: 1413140420-04bdf02877322310001-NocioJ Received: from nm27-vm8.access.bullet.mail.gq1.yahoo.com (nm27-vm8.access.bullet.mail.gq1.yahoo.com [216.39.63.235]) by cuda.sgi.com with ESMTP id LnG9fPtr6YTg5V4v (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 12 Oct 2014 12:00:20 -0700 (PDT) X-Barracuda-Envelope-From: billstuff2001@sbcglobal.net X-Barracuda-Apparent-Source-IP: 216.39.63.235 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sbcglobal.net; s=s1024; t=1413140420; bh=s7sIVcavJ3/FHimPS8CaVpCyvEoJN6wFjKyFgKaxIE8=; h=Date:From:To:CC:Subject:References:In-Reply-To:From:Subject; b=fHQtptUF47UJSYQFMxFL3nMUEJuAlldGu7TqaKhBZb+ABsZuF+M2W9ibIVklzCJD/vPA0aifv61aeV9XefBohQWzeNU90zo7cl2QTNJB+6id8HnhFsYDoKHxdkvN+okglkDolVGTeHZ58u2k8nLi+X3tG208KXkn+eGn7sQiDuI= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=sbcglobal.net; b=a/6kP4Jfl7/OZbU5y+ZCfNusTFjKn40LZHedCLegb6K/ShelwG/C3l8P0vIN8/QY016m02Z1XV/DFXqXwFL2bEaNxTqzoqTn0SvZoiQqsRAA2503qXFnhY6BAtvGTqZkDQO//klS7dcn5ystUwmCLp9CjS0rTv+W1AmHohGWDZs=; Received: from [216.39.60.172] by nm27.access.bullet.mail.gq1.yahoo.com with NNFMP; 12 Oct 2014 19:00:20 -0000 Received: from [98.138.226.244] by tm8.access.bullet.mail.gq1.yahoo.com with NNFMP; 12 Oct 2014 19:00:20 -0000 Received: from [127.0.0.1] by smtp115.sbc.mail.ne1.yahoo.com with NNFMP; 12 Oct 2014 19:00:19 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sbcglobal.net; s=s1024; t=1413140419; bh=s7sIVcavJ3/FHimPS8CaVpCyvEoJN6wFjKyFgKaxIE8=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=5k6LET/gU0CeW3aNbpBQJnUd/o71mN7P5pBF0rBpKF2sstSA/QkLpHivC9wOeyK2HM4S+YaNqOJf2pilP036cA7uSm1yqyH9j3l/ZiIoox9t4p00PqC+JBv0Q8bYU+P8j2zc38md51HgnLoiH9PGNmuQ1cHWE+iwXyI6DwBSBfQ= X-Yahoo-Newman-Id: 972446.51631.bm@smtp115.sbc.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: mq_atykVM1mJB43K32Xs_fFYeSiRQHp9RGJz4zies5wGyie FjoC6QFLIHJqJ0eQ6StA3jcr6c9nUdfMYPKVFAfTCXN2FPCvwlU3EF7LkVyD LUxgSX_OdUuV_gnctLCHLCxTb3mrJIrM9QVlWQ3XJU1QhbyDjQCsXfEB8n_K WNoPRzVcMTi61sXQ9EVJ7GeuB_m2LmxioZToAmQB4eg5TgSJY0NZE_ptVFyZ RleaOyXO74EOnQbBYFRqqcELM8mo2JJn6WZTFsRw.ASUtMlociVMSro.ZyIk bwlc.aYqOX.ghGPaGQxJOHQM9Eho7SxPDaujr_usUNQU1Iz3a4sfUYucwqKd 92ePdncM7SCit_iocIW3VTRPMZEMAzziXL_cyxYNBcxypJPHvcWKmzPNAeP3 s5PCGZ52j1JMWI_2Fc6lTHg807lEcvAMRZrszM3N_UEDfOAW_V.0i71VV7D8 JSWmBkt3Rxd1wGywVo1Ev_i9z6eIK8iKxsQ1j1jO3yxRV3Yfv6Ki9RHm9VBA RWfADv29UhZs1BS08e280SdwK.gR5xfdghoZzQ903n3cqaHK3VNI- X-Yahoo-SMTP: dV6Y3D2swBAl90UzsR1c1EUZ5QpNhk2oh3bumrVn95TC.A-- Message-ID: <543ACFC2.2090308@sbcglobal.net> Date: Sun, 12 Oct 2014 14:00:18 -0500 From: BillStuff User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Brian Foster CC: xfs@oss.sgi.com Subject: Re: dmesg error in xfs_aops.c on kernel 3.14.21 References: <54397E0F.2050700@sbcglobal.net> <20141012140704.GA35667@bfoster.bfoster> X-ASG-Orig-Subj: Re: dmesg error in xfs_aops.c on kernel 3.14.21 In-Reply-To: <20141012140704.GA35667@bfoster.bfoster> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: nm27-vm8.access.bullet.mail.gq1.yahoo.com[216.39.63.235] X-Barracuda-Start-Time: 1413140420 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.10489 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 10/12/2014 09:07 AM, Brian Foster wrote: > On Sat, Oct 11, 2014 at 01:59:27PM -0500, BillStuff wrote: >> Hi, >> >> I'm running 3.14.21, and got these traces in dmesg; they appear to be from >> xfs: >> >> [56180.816526] ------------[ cut here ]------------ >> [56180.816550] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 > > if (WARN_ON(delalloc)) > return 0; > > So this generally looks like stale delalloc blocks on a page that is > reclaimed/invalidated or otherwise expected to be clean. We've been > seeing this a lot over the past few kernel releases and there have been > a variety of fixes in error paths and such so it's hard to say precisely > what might be causing this. Some examples: > > aad3f375 xfs: xfs_vm_write_end truncates too much on failure > 72ab70a1 xfs: write failure beyond EOF truncates too much data > 4ab9ed57 xfs: kill buffers over failed write ranges properly > > It looks like those are in the stable tree as of 3.15, so you could give > that a try and see if it helps. Otherwise, can you post xfs_info for the > filesytem? Do you have particular workloads or sequences of operations > that tend to reproduce this? > > Brian > Thanks Brian, I'll try out those fixes. The filesystem is home theater recordings on a 6 disk raid5 array: meta-data=/dev/md3 isize=256 agcount=81, agsize=15237264 blks = sectsz=4096 attr=2 data = bsize=4096 blocks=1218981920, imaxpct=5 = sunit=16 swidth=80 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=2 = sectsz=4096 sunit=1 blks, lazy-count=0 realtime =none extsz=131072 blocks=0, rtextents=0 I believe it was just starting a recording when I got this message. -Bill From Sunghost@gmx.de Sun Oct 12 15:26: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=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 EB9167F4E for ; Sun, 12 Oct 2014 15:26:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6CF37AC004 for ; Sun, 12 Oct 2014 13:26:07 -0700 (PDT) X-ASG-Debug-ID: 1413145561-04cbb018ab324550001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by cuda.sgi.com with ESMTP id 1bfUB0X78uHyFJTm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 13:26:02 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.15 Received: from [85.177.210.181] by 3capp-gmx-bs13.server.lan (via HTTP); Sun, 12 Oct 2014 22:26:00 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! Date: Sun, 12 Oct 2014 22:26:00 +0200 Importance: normal Sensitivity: Normal Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-Provags-ID: V03:K0:WdCRPi6aFBWBjeKI3JPB/QoZqhrHjIGrfVF0LagrFB6 l9zu32D0J6Tk6/zwob6cx8eyBBIkI7HN44qCYcMDZUVBL/tM3s cxkR7A7oeTHNMG/d4F59h8zT1a/9B21D6qwQVsMc3cPBFDDoQ3 bnVJwVW76SNWL5ilZu4Uz4P9csY9lEMyx1HtUZLcSpu/davXv0 5fj26DG7oBOAGNjDBhIGCGcVf4hYwkvWyUiy/CHzSNI6WQnVVT O8kC1iEKSrwGAFDlusc6865462rejxh7GIlBzmWR2wJPe6NmbL PdtzbU= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.15.15] X-Barracuda-Start-Time: 1413145561 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.10491 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, i changed the sata cable and upgrade kernel to latest. If i now copy files= i got a new failure: =C2=A0XFS: Internal error XFS_WANT_CORRUPTED_RETURN at line 348 of file /b= uild/linux-nBoDV9/linux-3.16.3/fs/xfs/xfs_alloc.c.=C2=A0 Caller xfs_alloc_a= g_vextent_size+0x569/0x6c0 [xfs] -------------- =C2=A0 I found a forum thread in which another solved the problem and i am not su= re, but perhaps i have the same problem. My initial raid was aprox. 6TB and= rised step by step to 20TB. my xfs_info: Metadaten =3D/dev/md2=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 isize=3D256=C2=A0=C2=A0=C2=A0 agcount=3D1= 12, agsize=3D45598848 blks =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D=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= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sectsz=3D4096=C2=A0 attr=3D2 Daten=C2=A0=C2=A0=C2=A0=C2=A0 =3D=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=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 bsize=3D4096=C2=A0=C2=A0 Bl=C3=B6cke=3D5107057536, imaxp= ct=3D5 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D=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= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sunit=3D128=C2=A0=C2=A0=C2=A0 sw= idth=3D256 blks Benennung =3DVersion 2=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 bsize=3D4096=C2=A0=C2=A0 ascii-ci=3D0 Protokoll =3DIntern=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=C2=A0 bsize=3D4096=C2=A0=C2=A0 Bl=C3= =B6cke=3D521728, Version=3D2 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =3D=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= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sectsz=3D4096=C2=A0 sunit=3D1 bl= ks, lazy-count=3D1 Echtzeit=C2=A0 =3Dkeine=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=C2=A0=C2=A0 extsz=3D4096=C2=A0=C2= =A0 Bl=C3=B6cke=3D0, rtextents=3D0 =C2=A0 Could i have a problem with the group_size? From sandeen@sandeen.net Sun Oct 12 15:39: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 4EDDC7F4E for ; Sun, 12 Oct 2014 15:39:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3D57D304067 for ; Sun, 12 Oct 2014 13:39:06 -0700 (PDT) X-ASG-Debug-ID: 1413146345-04cb6c77073505e0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id rERPFHsb2scFjEia for ; Sun, 12 Oct 2014 13:39: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id CDD98657E39D; Sun, 12 Oct 2014 15:39:04 -0500 (CDT) Message-ID: <543AE6E8.3040202@sandeen.net> Date: Sun, 12 Oct 2014 15:39:04 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! References: X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413146345 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.10491 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/12/14 3:26 PM, Dragon wrote: > > Hello, > i changed the sata cable and upgrade kernel to latest. If i now copy files i got a new failure: > XFS: Internal error XFS_WANT_CORRUPTED_RETURN at line 348 of file /build/linux-nBoDV9/linux-3.16.3/fs/xfs/xfs_alloc.c. Caller xfs_alloc_ag_vextent_size+0x569/0x6c0 [xfs] > -------------- > > I found a forum thread in which another solved the problem and i am not sure, but perhaps i have the same problem. My initial raid was aprox. 6TB and rised step by step to 20TB. > my xfs_info: > Metadaten =/dev/md2 isize=256 agcount=112, agsize=45598848 blks > = sectsz=4096 attr=2 > Daten = bsize=4096 Blöcke=5107057536, imaxpct=5 > = sunit=128 swidth=256 blks > Benennung =Version 2 bsize=4096 ascii-ci=0 > Protokoll =Intern bsize=4096 Blöcke=521728, Version=2 > = sectsz=4096 sunit=1 blks, lazy-count=1 > Echtzeit =keine extsz=4096 Blöcke=0, rtextents=0 > > Could i have a problem with the group_size? no. You changed the cable & upgraded your kernel. Did you run xfs_repair to fix the previous problem which existed on disk? -Eric From Sunghost@gmx.de Sun Oct 12 15:54: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=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 44A2E7F4E for ; Sun, 12 Oct 2014 15:54:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id D366CAC003 for ; Sun, 12 Oct 2014 13:54:14 -0700 (PDT) X-ASG-Debug-ID: 1413147252-04bdf02877330d10001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by cuda.sgi.com with ESMTP id s0Bdj3BkSDs7tuw7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 13:54:13 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.22 Received: from [85.177.210.181] by 3capp-gmx-bs13.server.lan (via HTTP); Sun, 12 Oct 2014 22:54:11 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! Date: Sun, 12 Oct 2014 22:54:11 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:HclIy1ednFtv3mqBP6KwRALxInhxbEF43Kl9WWsi0JX GsVP5AfyJAXPd2P8Dzm6qtSv2rXEU4KGPhpNRYQ+IMbU82D7BI 5CP+jXTVv7VcdheQjUWnyeJlxCpcFWCIwCTXYtiQBpUpckhpRy c8tqGHdtiR0tm4dCIKEP+/UzoU9CdLOWkLiCbGiJcubEPD5/xX /MmWZ5fcrAqI6IXe/S5kc1duI/uBM9NONmRNyZE6IBzI9bEbQu VOznHmE1tkwe+QPZvXemXUVRUj5rgzjzU1Y/VM+OTpkf2I5q7b 3rkTh0= X-UI-Out-Filterresults: notjunk:1; X-Barracuda-Connect: mout.gmx.net[212.227.17.22] X-Barracuda-Start-Time: 1413147253 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.10492 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
And why not, just for explaination so i can understand this ,). thx.
 
Yes i run xfs_repair.
From sandeen@sandeen.net Sun Oct 12 15:56: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 BC2F77F4E for ; Sun, 12 Oct 2014 15:56:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 99E48304059 for ; Sun, 12 Oct 2014 13:56:37 -0700 (PDT) X-ASG-Debug-ID: 1413147396-04cbb018ac324dc0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id jnsWGPBkAqJCG8wi for ; Sun, 12 Oct 2014 13:56: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 16A00657C514; Sun, 12 Oct 2014 15:56:36 -0500 (CDT) Message-ID: <543AEB04.1030503@sandeen.net> Date: Sun, 12 Oct 2014 15:56:36 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! References: X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413147396 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.10492 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/12/14 3:54 PM, Dragon wrote: > And why not, just for explaination so i can understand this ,). thx. > > Yes i run xfs_repair. ... and what did it say? You need to provide full information on each bug report/question, not just little pieces of info. What was the xfs_repair output when you ran it? What was the dmesg when you hit this most recent error? Did you run xfs_repair again after that, and what did it find, if anything? -Eric From david@fromorbit.com Sun Oct 12 17:16: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 435A57F4E for ; Sun, 12 Oct 2014 17:16:58 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C6336AC004 for ; Sun, 12 Oct 2014 15:16:54 -0700 (PDT) X-ASG-Debug-ID: 1413152211-04cb6c7706352cb0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id crSVbXjqVM3PHvNX for ; Sun, 12 Oct 2014 15:16:52 -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: AoUuAG39OlR5LODnPGdsb2JhbABbgkhGgSuCNoUHsAQGlRmFagICAQECgQUXAQYBAQEBODuEAwEBBDocIxAIAxgJJQ8FJQMHGhOIPcMZAQEIAgEfGIYIiUMRAVAHgy2BHgWdSoEvg0aCOopliAkpL4EPgTsBAQE Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail05.adl6.internode.on.net with ESMTP; 13 Oct 2014 08:46:44 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdRRT-00044y-1m; Mon, 13 Oct 2014 09:16:43 +1100 Date: Mon, 13 Oct 2014 09:16:43 +1100 From: Dave Chinner To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Filesystem is broken and cant repair and mount! Message-ID: <20141012221642.GA5267@dastard> X-ASG-Orig-Subj: Re: XFS Filesystem is broken and cant repair and mount! 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: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1413152211 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.10493 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Oct 12, 2014 at 10:54:11PM +0200, Dragon wrote: >
And why not, just for explaination so i can understand this ,). thx.
> >
 
> >
Yes i run xfs_repair.
For future reference, please format your emails in plain text, not html. People tend to ignore html email on the lists... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 12 17:35: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 0C3947F4E for ; Sun, 12 Oct 2014 17:35:24 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EDB9E8F8052 for ; Sun, 12 Oct 2014 15:35:23 -0700 (PDT) X-ASG-Debug-ID: 1413153318-04cbb018ad326c80001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id 6Hg3iUp8Q9TZGq0c for ; Sun, 12 Oct 2014 15:35:18 -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: AlkuAPMAO1R5LODnPGdsb2JhbABbgw6BK4I2hQewBAaVGYVqAgIBAQKBBhcBBgEBAQE4O4QCAQEBAwEnExwjBQsIAxgJJQ8FJQMHGhOINgfDHgEBAQEGAgEfGIYIiiUHgy2BHgWdSoEvhnOEO41AKS+CSgEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail05.adl6.internode.on.net with ESMTP; 13 Oct 2014 09:05:17 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdRjQ-00046j-BI; Mon, 13 Oct 2014 09:35:16 +1100 Date: Mon, 13 Oct 2014 09:35:16 +1100 From: Dave Chinner To: Eric Sandeen Cc: xfs-oss , Jie Liu Subject: Re: [PATCH] xfs: fix agno increment in xfs_inumbers() loop Message-ID: <20141012223516.GB5267@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix agno increment in xfs_inumbers() loop References: <543AC7C9.5040503@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <543AC7C9.5040503@sandeen.net> 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: 1413153318 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.10494 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Oct 12, 2014 at 01:26:17PM -0500, Eric Sandeen wrote: > commit c7cb51d xfs: fix error handling at xfs_inumbers > caused a regression in xfs_inumbers, which in turn broke > xfsdump, causing incomplete dumps. > > The loop in xfs_inumbers() needs to fill the user-supplied > buffers, and iterates via xfs_btree_increment, reading new > ags as needed. > > But the first time through the loop, if xfs_btree_increment() > succeeds, we continue, which triggers the ++agno at the bottom > of the loop, and we skip to soon to the next ag - without > the proper setup under next_ag to read the next ag. > > Fix this by removing the agno increment from the loop conditional, > and only increment agno if we have actually hit the code under > the next_ag: target. > > Cc: stable@vger.kernel.org > Signed-off-by: Eric Sandeen > --- > > p.s. it's alarming that apparently no test in the dump group > detects this problem! I'll look into it. The dump tests must not create more than an inode chunks worth of files in each AG. Yup, see common/dump::_mk_fillconfig1() - maybe 35 files? > So I can say that I've tested this with xfstests, but I guess > that doesn't matter much, yet. > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index f71be9c..f1deb96 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -639,7 +639,8 @@ next_ag: > xfs_buf_relse(agbp); > agbp = NULL; > agino = 0; > - } while (++agno < mp->m_sb.sb_agcount); > + agno++; > + } while (agno < mp->m_sb.sb_agcount); Yeah, it fixes the bug, but I don't like the structure of the code that leads to it. What we actually have it two loops in one: do { while (inobt records exist) { /* format record */ } } while (++agno < mp->m_sb.sb_agcount) But the inner loop is not implemented as a loop, it's implemented split across two iterations on the outer loop (i.e. increment in one iteration, formatting in the next). Hence the bug. The code should really be further factored to: do { /* read agi */ error = xfs_ialloc_read_agi(agno, &agbp) if (error) break; error = xfs_inumbers_ag(...); if (error) break; xfs_buf_relse(agbp); agino = 0; agno++; } while (agno < mp->m_sb.sb_agcount) So that the AG is traversed and records processed within it's own cursor-based traversal loop inside xfs_inumbers_ag(), not split across the outer ag scope loop. I'll take the first patch right away, but can you follow up with the above refactoring, Eric? Cheers, Dave. -- Dave Chinner david@fromorbit.com From tom_in_canada@hotmail.com Sun Oct 12 17: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=FREEMAIL_FROM,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 0B4737F4E for ; Sun, 12 Oct 2014 17:40:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id AFE348F8059 for ; Sun, 12 Oct 2014 15:40:03 -0700 (PDT) X-ASG-Debug-ID: 1413153599-04bdf028793337f0001-NocioJ Received: from DUB004-OMC4S9.hotmail.com (dub004-omc4s9.hotmail.com [157.55.2.84]) by cuda.sgi.com with ESMTP id 0VHR78dlPdUXAOgZ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 15:40:00 -0700 (PDT) X-Barracuda-Envelope-From: tom_in_canada@hotmail.com X-Barracuda-Apparent-Source-IP: 157.55.2.84 Received: from DUB113-W9 ([157.55.2.72]) by DUB004-OMC4S9.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Sun, 12 Oct 2014 15:39:58 -0700 X-TMN: [cyvXR8IkZoUAaBjta3dA/PkfDl7ZX51k] X-Originating-Email: [tom_in_canada@hotmail.com] Message-ID: Content-Type: multipart/alternative; boundary="_154c6de5-f12a-4026-88ac-c73ca38c4c54_" From: tom mason To: Brian Foster CC: "xfs@oss.sgi.com" Subject: RE: Mount: Structure needs cleaning Date: Sun, 12 Oct 2014 22:39:58 +0000 X-ASG-Orig-Subj: RE: Mount: Structure needs cleaning Importance: Normal In-Reply-To: <20141012142008.GB35667@bfoster.bfoster> References: <1413103408756-35026.post@n7.nabble.com>,<20141012142008.GB35667@bfoster.bfoster> MIME-Version: 1.0 X-OriginalArrivalTime: 12 Oct 2014 22:39:58.0579 (UTC) FILETIME=[73CECC30:01CFE66D] X-Barracuda-Connect: dub004-omc4s9.hotmail.com[157.55.2.84] X-Barracuda-Start-Time: 1413153600 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=BSF_SC0_SA085, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10494 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 BSF_SC0_SA085 Custom Rule SA085 --_154c6de5-f12a-4026-88ac-c73ca38c4c54_ Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable > Date: Sun=2C 12 Oct 2014 10:20:08 -0400 > From: bfoster@redhat.com > To: tom_in_canada@hotmail.com > CC: xfs@oss.sgi.com > Subject: Re: Mount: Structure needs cleaning >=20 > On Sun=2C Oct 12=2C 2014 at 01:43:28AM -0700=2C tommason wrote: > > Hi=2C > >=20 > > First up - my knowledge of linux is pretty sparse - I've used it a few = times > > before=2C so please be gentle! > >=20 > > I've had a neil poulton network space for some time now - it freaked ou= t a > > while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock= and > > rescue the files. > >=20 > > This has now happened again - the drive would not get out of a cycle an= d was > > not spinning properly. Bring out the dock and liveCD (this time Knoppix= ). > > All good. This time however as I eagerly copied files to another drive = (a > > USB powered lacie rugged thing) and left it overnight i woke up to an e= rror. > > I was copying around 500GB in a few diffferent chunks. The first error = it > > reported was I think error 15? mount structure needs cleaning... > Logs? Kernel version? etc. Hey Brian=2C Apologies! I'm pretty new to all this so you'll have to walk me through it = if possible - how do I check the logs? - Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 201= 4 x86_64 x86_64 x86_64 GNU/Linux - xfs_repair version 3.1.9 >=20 > http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_whe= n_reporting_a_problem.3F >=20 > > I then tried with a Ubuntu liveCD - same error. This is maybe where I m= ade a > > bit of an error of my own. In an attempt to shake it out of it's stupor= I > > 'stupidly' plugged it into windows and opened up the disk utility (sorr= y I'm > > generally mac based) and deleted in total 5 partitions (3x8mb=2C 1x250o= dd mb & > > 1x600mbish partition) This left the partition that I assumed contained = all > > my files: a 920GB partition. Tried to look at it again on Linux & (both > > Knoppix & Ubuntu) and the error message had changed slightly. It now re= ads: > > "Error mounting /dev/sdc2 at > > /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount= -t > > "xfs" -o "uhelper=3Dudisks2=2Cnodev=2Cnosuid" "/dev/sdc2" > > "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-z= ero > > exit status 32: mount: Structure needs cleaning" > To be clear=2C you've deleted partitions other than the partition of > interest? I suppose that shouldn't effect things either way=2C but I'm no= t > really sure what the disk utility might do. It might be worth checking > whether 'file -s ' still identifies the partition as an XFS > filesystem..? Yes it's a NAS drive and so I assume had some kind of proprietary OS on the= other partitions (this is where i might have messed up by deleting?!) I'm = pretty sure that the drive in bold below (sdc2) is the one I'm after which = is xfs... ubuntu@ubuntu:~$ sudo lsblk -o NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL NAME FSTYPE SIZE MOUNTPOINT LABEL sda 596.2G =20 =86=80sda1 vfat 200M EFI =86=80sda2 hfsplus 491.8G Macintosh HD =86=80sda3 hfsplus 619.9M Recovery HD =84=80sda4 ntfs 103.6G =20 sdc 931.5G =20 =86=80sdc1 1K =20 =84=80sdc2 xfs 930.6G =20 sr0 iso9660 981M /cdrom Ubuntu 14.04.1 LTS amd64 loop0 squashfs 938.7M /rofs & This: ubuntu@ubuntu:~$ sudo fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk = doesn't support GPT. Use GNU Parted. Disk /dev/sda: 640.1 GB=2C 640135028736 bytes 255 heads=2C 63 sectors/track=2C 77825 cylinders=2C total 1250263728 sector= s Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x34873486 Device Boot Start End Blocks Id System /dev/sda1 1 409639 204819+ ee GPT /dev/sda2 409640 1031659623 515624992 af HFS / HFS+ /dev/sda3 1031659624 1032929167 634772 ab Darwin boot /dev/sda4 * 1032929280 1250263039 108666880 7 HPFS/NTFS/exFAT Disk /dev/sdb: 500.1 GB=2C 500107862016 bytes 255 heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 sectors Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1734c26c Device Boot Start End Blocks Id System /dev/sdb1 2 976773167 488386583 b W95 FAT32 Disk /dev/sdc: 1000.2 GB=2C 1000204886016 bytes 255 heads=2C 63 sectors/track=2C 121601 cylinders=2C total 1953525168 secto= rs Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb06a2add Device Boot Start End Blocks Id System /dev/sdc1 63 2008124 1004031 5 Extended /dev/sdc2 2008125 1953520064 975755970 83 Linux >=20 > Beyond that=2C I'd suggest to capture and post the logs of the failed > mount and perhaps the output of 'xfs_repair -n .' This will attempt > a dry-run (e.g.=2C no modifications) check and repair of the filesystem. Apologies again but you'd have to walk me through the process of exactly wh= at to type in - as I say I'm really not very experienced with Linux/ubuntu = & terminal! Cheers! Tom > Brian >=20 > > This drive has all my audio and video stored on it! Any help to move me > > toward a solution would be much appreciated! > >=20 > > Thanks for your time... > >=20 > > Tom=20 > >=20 > >=20 > >=20 > > -- > > View this message in context: http://xfs.9218.n7.nabble.com/Mount-Struc= ture-needs-cleaning-tp35026.html > > Sent from the Xfs - General mailing list archive at Nabble.com. > >=20 > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs = --_154c6de5-f12a-4026-88ac-c73ca38c4c54_ Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable


>=3B Date: Sun=2C 12 Oct 2014 10:20:08 -0400
>=3B From: bfoster@redhat.com
>=3B To: tom_in_canada@hotmail.com
>=3B CC: xfs@oss.sgi.com
= >=3B Subject: Re: Mount: Structure needs cleaning
>=3B
>=3B On Sun=2C Oct 12=2C= 2014 at 01:43:28AM -0700=2C tommason wrote:
>=3B >=3B Hi=2C>=3B >=3B =
>=3B >=3B First up - my knowledge of linux is= pretty sparse - I've used it a few times
&= gt=3B >=3B before=2C so please be gentle!
>=3B >=3B
>=3B >=3B I've had a ne= il poulton network space for some time now - it freaked out a
>=3B >=3B while ago and I managed to rig it up to a = Ubuntu liveCD via a SATA dock and
>=3B &g= t=3B rescue the files.<= br>>=3B >=3B
>=3B >=3B This has now happened again - the = drive would not get out of a cycle and was
= >=3B >=3B not spinning properly. Bring out the dock and liveCD (this ti= me Knoppix).
= >=3B >=3B All good. This t= ime however as I eagerly copied files to another drive (a
>=3B >=3B USB powered lacie rugged thing) and left it o= vernight i woke up to an error.
>=3B >= =3B I was copying around 500GB in a few diffferent chunks. The first error = it
>=3B >=3B reported was I think error= 15? mount structure needs cleaning...
>=3B Logs? Kernel ve= rsion? etc.


Hey Brian=2C
Apolo= gies! I'm pretty new to all this so you'll h= ave to walk me through it if possible - how do I check the logs?

- Linux ubuntu 3.13.0-32-= generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GN= U/Linux
- xfs_repair version
3.1.9



>=3B
= >=3B http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_includ= e_when_reporting_a_problem.3F
>=3B
>=3B >=3B I then tried with a Ubuntu liveCD= - same error. This is maybe where I made a
>=3B >=3B bit of an error of my own. In an attempt to shake it out of = it's stupor I
>=3B >=3B 'stupidly' plug= ged it into windows and opened up the disk utility (sorry I'm
>=3B >=3B generally mac based) and deleted in total = 5 partitions (3x8mb=2C 1x250odd mb &=3B
= >=3B >=3B 1x600mbish partition) This left the partition that I assumed = contained all
>=3B >=3B my files: a 920= GB partition. Tried to look at it again on Linux &=3B (both
>=3B >=3B Knoppix &=3B Ubuntu) and the error mes= sage had changed slightly. It now reads:
&g= t=3B >=3B "Error mounting /dev/sdc2 at
&g= t=3B >=3B /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-lin= e `mount -t
<= font style=3D"font-size: 8pt=3B" size=3D"1">>=3B >=3B "xfs" -o "uhelper= =3Dudisks2=2Cnodev=2Cnosuid" "/dev/sdc2"

&g= t=3B >=3B "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited wi= th non-zero
<= font style=3D"font-size: 8pt=3B" size=3D"1">>=3B >=3B exit status 32: m= ount: Structure needs cleaning"



>=3B To be clear=2C you'= ve deleted partitions other than the partition of
>=3B interest? I suppose that shouldn't effect things either way= =2C but I'm not
>=3B really sure what the= disk utility might do. It might be worth checking
>=3B whether 'file -s <=3Bdevice>=3B' still identifies the pa= rtition as an XFS
>=3B filesystem..?


Yes it's a NAS drive and so I assume had some= kind of proprietary OS on the other partitions (this is where i might have messed up by deleting= ?!) I'm pretty sure that the drive in bold below (sdc2) is the one I'm afte= r which is xfs...

ubuntu@ubuntu:~$ sudo lsblk -o = NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL
NAME =3B =3B = FSTYPE =3B =3B =3B =3B SIZE MOUNTPOINT LABEL
sd= a =3B =3B =3B =3B =3B =3B =3B =3B =3B&n= bsp=3B =3B =3B 596.2G =3B =3B =3B =3B =3B = =3B =3B =3B =3B =3B =3B
=86=80sda1 vfat&nb= sp=3B =3B =3B =3B =3B =3B 200M =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B =3B =3B EFI<= font style=3D"font-size: 10pt=3B">
=86=80sda2 hfsplus =3B 491.8G =3B =3B =3B =3B = =3B =3B =3B =3B =3B =3B =3B Macintosh HD
=86=80sda3 hfsplus =3B 619.9M =3B =3B =3B =3B =3B=  =3B =3B =3B =3B =3B =3B Recovery HD
= =84=80sda4 ntfs =3B =3B =3B =3B 103.6G =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =
sdc =3B =3B =3B =3B =3B =3B =3B =3B&n= bsp=3B =3B =3B =3B 931.5G =3B =3B =3B =3B = =3B =3B =3B =3B =3B =3B =3B
=86=80sdc1=  =3B =3B =3B =3B =3B =3B =3B =3B =3B&nb= sp=3B =3B =3B =3B 1K =3B =3B =3B =3B =3B&nb= sp=3B =3B =3B =3B =3B =3B
=84=80sdc2 xf= s =3B =3B =3B =3B =3B 930.6G =3B =3B =3B =3B =3B =3B =3B=  =3B =3B =3B =3B =
sr0 =3B =3B =3B i= so9660 =3B =3B =3B 981M /cdrom =3B =3B =3B =3B = Ubuntu 14.04.1 LTS amd64
loop0 =3B squashfs 938.7M /rofs
&=3B This:

= ubuntu@ubuntu:~$ sudo fdisk -l

WARNING: GPT (GUID Partition Table) d= etected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.<= br>

Disk /dev/sda: 640.1 GB=2C 640135028736 bytes
255 heads=2C 63= sectors/track=2C 77825 cylinders=2C total 1250263728 sectors
Units =3D = sectors of 1 * 512 =3D 512 bytes
Sector size (logical/physical): 512 byt= es / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk= identifier: 0x34873486

 =3B =3B Device Boot =3B =3B=  =3B =3B =3B Start =3B =3B =3B =3B =3B = =3B =3B =3B End =3B =3B =3B =3B =3B Blocks = =3B =3B Id =3B System
/dev/sda1 =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B =3B =3B =3B&nbs= p=3B 1 =3B =3B =3B =3B =3B 409639 =3B =3B = =3B =3B =3B 204819+ =3B ee =3B GPT
/dev/sda2 =3B&nbs= p=3B =3B =3B =3B =3B =3B =3B =3B 409640 =3B= 1031659623 =3B =3B 515624992 =3B =3B af =3B HFS / HFS+=
/dev/sda3 =3B =3B =3B =3B =3B 1031659624 =3B 10= 32929167 =3B =3B =3B =3B =3B 634772 =3B =3B ab&= nbsp=3B Darwin boot
/dev/sda4 =3B =3B * =3B 1032929280 = =3B 1250263039 =3B =3B 108666880 =3B =3B =3B 7 =3B = HPFS/NTFS/exFAT

Disk /dev/sdb: 500.1 GB=2C 500107862016 bytes
255= heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 sectorsUnits =3D sectors of 1 * 512 =3D 512 bytes
Sector size (logical/physica= l): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 by= tes
Disk identifier: 0x1734c26c

 =3B =3B Device Boot = =3B =3B =3B =3B =3B Start =3B =3B =3B =3B&n= bsp=3B =3B =3B =3B End =3B =3B =3B =3B =3B = Blocks =3B =3B Id =3B System
/dev/sdb1 =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =3B=  =3B =3B 2 =3B =3B 976773167 =3B =3B 488386583 = =3B =3B =3B b =3B W95 FAT32

Disk /dev/sdc: 1000.2 GB=2C = 1000204886016 bytes
255 heads=2C 63 sectors/track=2C 121601 cylinders=2C= total 1953525168 sectors
Units =3D sectors of 1 * 512 =3D 512 bytes
= Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/= optimal): 512 bytes / 512 bytes
Disk identifier: 0xb06a2add

 = =3B =3B Device Boot =3B =3B =3B =3B =3B Start = =3B =3B =3B =3B =3B =3B =3B =3B End =3B&nbs= p=3B =3B =3B =3B Blocks =3B =3B Id =3B System
/d= ev/sdc1 =3B =3B =3B =3B =3B =3B =3B =3B&nbs= p=3B =3B =3B =3B =3B 63 =3B =3B =3B =3B 200= 8124 =3B =3B =3B =3B 1004031 =3B =3B =3B 5 = =3B Extended
/dev/sdc2 =3B =3B =3B =3B =3B =3B&n= bsp=3B =3B 2008125 =3B 1953520064 =3B =3B 975755970 =3B=  =3B 83 =3B Linux


>=3B =
>=3B Beyond that= =2C I'd suggest to capture and post the logs of the failed
>=3B mount and perhaps the output of 'xfs_repair -n <= =3Bdev>=3B.' This will attempt
>=3B a d= ry-run (e.g.=2C no modifications) check and repair of the filesystem.

Apologies again but you'd have to walk me t= hrough the process of exactly what to type in - as I say I'm really not ver= y experienced with Linux/ubuntu &=3B terminal!
Cheers!
To= m

>=3B Brian
>=3B
>=3B >=3B This drive ha= s all my audio and video stored on it! Any help to move me
>=3B >=3B toward a solution would be much appreciated!<= /font>
>=3B >=3B
>=3B >=3B Thanks for your time...
>=3B >=3B
>=3B >=3B Tom <= font style=3D"font-size: 8pt=3B" size=3D"1">
>=3B >=3B
>= =3B >=3B
<= font style=3D"font-size: 8pt=3B" size=3D"1">>=3B >=3B

>=3B >=3B --
>=3B >= =3B View this message in context: http://xfs.9218.n7.nabble.com/Mount-Struc= ture-needs-cleaning-tp35026.html
>=3B >= =3B Sent from the Xfs - General mailing list archive at Nabble.com.<= font style=3D"font-size: 8pt=3B" size=3D"1">
>=3B >=3B
>= =3B >=3B _______________________________________________
>=3B >=3B xfs mailing list
>=3B >=3B xfs@oss.sgi.com
>=3B &g= t=3B http://oss.sgi.com/mailman/listinfo/xfs
= --_154c6de5-f12a-4026-88ac-c73ca38c4c54_-- From tom_in_canada@hotmail.com Sun Oct 12 17: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.0 required=5.0 tests=FREEMAIL_FROM,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 6D2647F4E for ; Sun, 12 Oct 2014 17:48:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 06EEEAC004 for ; Sun, 12 Oct 2014 15:48:40 -0700 (PDT) X-ASG-Debug-ID: 1413154117-04bdf02878333b30001-NocioJ Received: from DUB004-OMC4S10.hotmail.com (dub004-omc4s10.hotmail.com [157.55.2.85]) by cuda.sgi.com with ESMTP id v6UB8F2uumSDnz3b (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 15:48:38 -0700 (PDT) X-Barracuda-Envelope-From: tom_in_canada@hotmail.com X-Barracuda-Apparent-Source-IP: 157.55.2.85 Received: from DUB113-W80 ([157.55.2.72]) by DUB004-OMC4S10.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Sun, 12 Oct 2014 15:48:36 -0700 X-TMN: [E9ce2+FdIuRgb4/IjH+Msf8CtDi/8Pyf] X-Originating-Email: [tom_in_canada@hotmail.com] Message-ID: Content-Type: multipart/alternative; boundary="_edfca06b-45a4-450b-ab16-8ae5d896b14c_" From: tom mason To: Brian Foster CC: "xfs@oss.sgi.com" Subject: RE: Mount: Structure needs cleaning Date: Sun, 12 Oct 2014 22:48:36 +0000 X-ASG-Orig-Subj: RE: Mount: Structure needs cleaning Importance: Normal In-Reply-To: References: <1413103408756-35026.post@n7.nabble.com>,<20141012142008.GB35667@bfoster.bfoster>, MIME-Version: 1.0 X-OriginalArrivalTime: 12 Oct 2014 22:48:36.0962 (UTC) FILETIME=[A8C9C420:01CFE66E] X-Barracuda-Connect: dub004-omc4s10.hotmail.com[157.55.2.85] X-Barracuda-Start-Time: 1413154118 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=BSF_SC0_SA085, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10494 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 BSF_SC0_SA085 Custom Rule SA085 --_edfca06b-45a4-450b-ab16-8ae5d896b14c_ Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable ok - so I worked out & tried the xfs_repair command: root@ubuntu:~# xfs_repair -n /dev/sdc2 Phase 1 - find and verify superblock... superblock read failed=2C offset 62448377856=2C size 131072=2C ag 2=2C rval= -1 fatal error -- Input/output error =0A= =0A= =0A= > Date: Sun=2C 12 Oct 2014 10:20:08 -0400 > From: bfoster@redhat.com > To: tom_in_canada@hotmail.com > CC: xfs@oss.sgi.com > Subject: Re: Mount: Structure needs cleaning >=20 > On Sun=2C Oct 12=2C 2014 at 01:43:28AM -0700=2C tommason wrote: > > Hi=2C > >=20 > > First up - my knowledge of linux is pretty sparse - I've used it a few = times > > before=2C so please be gentle! > >=20 > > I've had a neil poulton network space for some time now - it freaked ou= t a > > while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock= and > > rescue the files. > >=20 > > This has now happened again - the drive would not get out of a cycle an= d was > > not spinning properly. Bring out the dock and liveCD (this time Knoppix= ). > > All good. This time however as I eagerly copied files to another drive = (a > > USB powered lacie rugged thing) and left it overnight i woke up to an e= rror. > > I was copying around 500GB in a few diffferent chunks. The first error = it > > reported was I think error 15? mount structure needs cleaning... > Logs? Kernel version? etc. Hey Brian=2C Apologies! I'm pretty new to all this so you'll have to walk me through it = if possible - how do I check the logs? - Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 201= 4 x86_64 x86_64 x86_64 GNU/Linux - xfs_repair version 3.1.9 >=20 > http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_whe= n_reporting_a_problem.3F >=20 > > I then tried with a Ubuntu liveCD - same error. This is maybe where I m= ade a > > bit of an error of my own. In an attempt to shake it out of it's stupor= I > > 'stupidly' plugged it into windows and opened up the disk utility (sorr= y I'm > > generally mac based) and deleted in total 5 partitions (3x8mb=2C 1x250o= dd mb & > > 1x600mbish partition) This left the partition that I assumed contained = all > > my files: a 920GB partition. Tried to look at it again on Linux & (both > > Knoppix & Ubuntu) and the error message had changed slightly. It now re= ads: > > "Error mounting /dev/sdc2 at > > /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount= -t > > "xfs" -o "uhelper=3Dudisks2=2Cnodev=2Cnosuid" "/dev/sdc2" > > "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-z= ero > > exit status 32: mount: Structure needs cleaning" > To be clear=2C you've deleted partitions other than the partition of > interest? I suppose that shouldn't effect things either way=2C but I'm no= t > really sure what the disk utility might do. It might be worth checking > whether 'file -s ' still identifies the partition as an XFS > filesystem..? Yes it's a NAS drive and so I assume had some kind of proprietary OS on the= other partitions (this is where i might have messed up by deleting?!) I'm = pretty sure that the drive in bold below (sdc2) is the one I'm after which = is xfs... ubuntu@ubuntu:~$ sudo lsblk -o NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL NAME FSTYPE SIZE MOUNTPOINT LABEL sda 596.2G =20 =86=80sda1 vfat 200M EFI =86=80sda2 hfsplus 491.8G Macintosh HD =86=80sda3 hfsplus 619.9M Recovery HD =84=80sda4 ntfs 103.6G =20 sdc 931.5G =20 =86=80sdc1 1K =20 =84=80sdc2 xfs 930.6G =20 sr0 iso9660 981M /cdrom Ubuntu 14.04.1 LTS amd64 loop0 squashfs 938.7M /rofs & This: ubuntu@ubuntu:~$ sudo fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk = doesn't support GPT. Use GNU Parted. Disk /dev/sda: 640.1 GB=2C 640135028736 bytes 255 heads=2C 63 sectors/track=2C 77825 cylinders=2C total 1250263728 sector= s Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x34873486 Device Boot Start End Blocks Id System /dev/sda1 1 409639 204819+ ee GPT /dev/sda2 409640 1031659623 515624992 af HFS / HFS+ /dev/sda3 1031659624 1032929167 634772 ab Darwin boot /dev/sda4 * 1032929280 1250263039 108666880 7 HPFS/NTFS/exFAT Disk /dev/sdb: 500.1 GB=2C 500107862016 bytes 255 heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 sectors Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1734c26c Device Boot Start End Blocks Id System /dev/sdb1 2 976773167 488386583 b W95 FAT32 Disk /dev/sdc: 1000.2 GB=2C 1000204886016 bytes 255 heads=2C 63 sectors/track=2C 121601 cylinders=2C total 1953525168 secto= rs Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb06a2add Device Boot Start End Blocks Id System /dev/sdc1 63 2008124 1004031 5 Extended /dev/sdc2 2008125 1953520064 975755970 83 Linux >=20 > Beyond that=2C I'd suggest to capture and post the logs of the failed > mount and perhaps the output of 'xfs_repair -n .' This will attempt > a dry-run (e.g.=2C no modifications) check and repair of the filesystem. Apologies again but you'd have to walk me through the process of exactly wh= at to type in - as I say I'm really not very experienced with Linux/ubuntu = & terminal! Cheers! Tom > Brian >=20 > > This drive has all my audio and video stored on it! Any help to move me > > toward a solution would be much appreciated! > >=20 > > Thanks for your time... > >=20 > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs = --_edfca06b-45a4-450b-ab16-8ae5d896b14c_ Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable
ok - so I worked out &=3B tried the xfs_repair command:<= /font>

root@ubuntu:~# xfs_repair -n /dev/sdc2
Phase 1 - find and verify superblock...
superblock read failed=2C offset 62448377856=2C size 13107= 2=2C ag 2=2C rval -1
fatal error -- Input/output error

=0A= =0A= =0A=


&= gt=3B Date: Sun=2C 12 Oct 2014 10:20:08 -0400
>=3B From: bfoster@redhat.com
>=3B To: t= om_in_canada@hotmail.com=
>=3B CC: xfs@oss.s= gi.com
>=3B Subject: Re: Mount: Structure n= eeds cleaning
= >=3B
>=3B On Sun=2C Oct 12=2C 2014 at 01:43:28AM -0700=2C tommason wrot= e:
>=3B >=3B Hi=2C
>=3B >=3B >=3B >=3B First up= - my knowledge of linux is pretty sparse - I've used it a few times=
>=3B >=3B before=2C so please be gentle!=
>=3B >=3B
>= =3B >=3B I've had a neil poulton network space for some time now - it fre= aked out a
>=3B >=3B while ago and I mana= ged to rig it up to a Ubuntu liveCD via a SATA dock and

>=3B >=3B rescue the files.
= >=3B >=3B
>=3B >=3B This has now hap= pened again - the drive would not get out of a cycle and was
>=3B >=3B not spinning properly. Bring out the dock and= liveCD (this time Knoppix).
>=3B >=3B Al= l good. This time however as I eagerly copied files to another drive (a
>=3B >=3B USB powered lacie rugged thing) an= d left it overnight i woke up to an error.
&g= t=3B >=3B I was copying around 500GB in a few diffferent chunks. The firs= t error it
>=3B >=3B reported was I think= error 15? mount structure needs cleaning...

=

>=3B Logs? Ker= nel version? etc.

Hey Brian=2C
Apolo= gies! I'm pretty new to all this so you'll hav= e to walk me through it if possible - how do I check the logs?

- Linux ubuntu 3.13.0-32-gen= eric #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/L= inux
- xfs_repair version 3.1.9


>=3B
>=3B ht= tp://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_re= porting_a_problem.3F
=
>=3B
>=3B >=3B I then tried with a Ubuntu liveCD - same erro= r. This is maybe where I made a
>=3B >=3B= bit of an error of my own. In an attempt to shake it out of it's stupor I<= /font>
>=3B >=3B 'stupidly' plugged it into wind= ows and opened up the disk utility (sorry I'm
>=3B >=3B generally mac based) and deleted in total 5 partitions (3x8m= b=2C 1x250odd mb &=3B=
>=3B >=3B 1x600m= bish partition) This left the partition that I assumed contained all=
>=3B >=3B my files: a 920GB partition. Tried to= look at it again on Linux &=3B (both
>= =3B >=3B Knoppix &=3B Ubuntu) and the error message had changed slight= ly. It now reads:
>=3B >=3B "Error mounti= ng /dev/sdc2 at
>=3B >=3B /media/ubuntu/e= 8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount -t
>=3B >=3B "xfs" -o "uhelper=3Dudisks2=2Cnodev=2Cnosuid"= "/dev/sdc2"
<= font style=3D"font-size:8pt=3B" size=3D"1">>=3B >=3B "/media/ubuntu/e8b= 90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-zero

>=3B >=3B exit status 32: mount: Structure needs cleaning"=


>=3B To be clear=2C you've deleted partitions other than= the partition of
>=3B interest? I suppose = that shouldn't effect things either way=2C but I'm not
>=3B really sure what the disk utility might do. It might be wo= rth checking
<= font style=3D"font-size:8pt=3B" size=3D"1">>=3B whether 'file -s <=3Bde= vice>=3B' still identifies the partition as an XFS

>=3B filesystem..?


Yes it's a NAS= drive and so I assume had some kind of proprietary OS on the other partiti= ons (this is where i mi= ght have messed up by deleting?!) I'm pretty sure that the drive in bold be= low (sdc2) is the one I'm after which is xfs...

ubu= ntu@ubuntu:~$ sudo lsblk -o NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL
NAME =3B =3B FSTYPE =3B =3B =3B =3B SIZE MOUNT= POINT LABEL
sda =3B =3B =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B 596.2G =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =
=86=80sda1 vfat =3B =3B =3B =3B =3B =3B 200M&n= bsp=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B EFI
=86=80sda2 hfsplus =3B 491.8G =3B =3B=  =3B =3B =3B =3B =3B =3B =3B =3B =3B Ma= cintosh HD
=86=80sda3 hfsplus =3B 619.9M =3B =3B&nb= sp=3B =3B =3B =3B =3B =3B =3B =3B =3B Recov= ery HD
=84=80sda4 ntfs =3B =3B =3B =3B 103.6G&nbs= p=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B
sdc =3B =3B =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B 931.5G =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =
=86=80sdc1 =3B =3B =3B =3B =3B =3B =3B&nbs= p=3B =3B =3B =3B =3B =3B 1K =3B =3B =3B&nbs= p=3B =3B =3B =3B =3B =3B =3B =3B
= =84=80sdc2 xfs =3B =3B =3B =3B =3B 930.6G =3B = =3B =3B =3B =3B&nb= sp=3B =3B =3B =3B =3B =3B
sr0 =3B = =3B =3B iso9660 =3B =3B =3B 981M /cdrom =3B =3B&nbs= p=3B =3B Ubuntu 14.04.1 LTS amd64
loop0 =3B squashfs 93= 8.7M /rofs

&=3B T= his:

ubuntu@ubuntu:~$ sudo fdisk -l

WARNING: GPT (GUID Partit= ion Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use = GNU Parted.


Disk /dev/sda: 640.1 GB=2C 640135028736 bytes
255= heads=2C 63 sectors/track=2C 77825 cylinders=2C total 1250263728 sectorsUnits =3D sectors of 1 * 512 =3D 512 bytes
Sector size (logical/physic= al): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 b= ytes
Disk identifier: 0x34873486

 =3B =3B Device Boot&nbs= p=3B =3B =3B =3B =3B Start =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B End =3B =3B =3B =3B =3B= Blocks =3B =3B Id =3B System
/dev/sda1 =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =3B=  =3B =3B 1 =3B =3B =3B =3B =3B 409639 =3B&n= bsp=3B =3B =3B =3B 204819+ =3B ee =3B GPT
/dev/sda2&= nbsp=3B =3B =3B =3B =3B =3B =3B =3B =3B 409= 640 =3B 1031659623 =3B =3B 515624992 =3B =3B af =3B= HFS / HFS+
/dev/sda3 =3B =3B =3B =3B =3B 1031659624=  =3B 1032929167 =3B =3B =3B =3B =3B 634772 =3B&= nbsp=3B ab =3B Darwin boot
/dev/sda4 =3B =3B * =3B 10329= 29280 =3B 1250263039 =3B =3B 108666880 =3B =3B =3B = 7 =3B HPFS/NTFS/exFAT

Disk /dev/sdb: 500.1 GB=2C 500107862016 by= tes
255 heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 = sectors
Units =3D sectors of 1 * 512 =3D 512 bytes
Sector size (logic= al/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 byte= s / 512 bytes
Disk identifier: 0x1734c26c

 =3B =3B Device= Boot =3B =3B =3B =3B =3B Start =3B =3B =3B=  =3B =3B =3B =3B =3B End =3B =3B =3B = =3B =3B Blocks =3B =3B Id =3B System
/dev/sdb1 =3B&n= bsp=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B =3B =3B 2 =3B =3B 976773167 =3B =3B 488= 386583 =3B =3B =3B b =3B W95 FAT32

Disk /dev/sdc: 10= 00.2 GB=2C 1000204886016 bytes
255 heads=2C 63 sectors/track=2C 121601 c= ylinders=2C total 1953525168 sectors
Units =3D sectors of 1 * 512 =3D 51= 2 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O siz= e (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb06a2add
 =3B =3B Device Boot =3B =3B =3B =3B =3B = Start =3B =3B =3B =3B =3B =3B =3B =3B End&n= bsp=3B =3B =3B =3B =3B Blocks =3B =3B Id =3B Sy= stem
/dev/sdc1 =3B =3B =3B =3B =3B =3B =3B&n= bsp=3B =3B =3B =3B =3B =3B 63 =3B =3B =3B&n= bsp=3B 2008124 =3B =3B =3B =3B 1004031 =3B =3B = =3B 5 =3B Extended
/dev/sdc2 =3B =3B =3B =3B =3B=  =3B =3B =3B 2008125 =3B 1953520064 =3B =3B 9757559= 70 =3B =3B 83 =3B Linux


>=3B
>=3B Beyond= that=2C I'd suggest to capture and post the logs of the failed
>=3B mount and perhaps the output of 'xfs_repair -n &l= t=3Bdev>=3B.' This will attempt
>=3B a dr= y-run (e.g.=2C no modifications) check and repair of the filesystem.=

Apologies again but you'd have to walk me thro= ugh the process of exactly what to type in - as I say I'm really not very e= xperienced with Linux/ubuntu &=3B terminal!
Cheers!
Tom

>=3B Brian
&g= t=3B
>=3B >=3B This drive has all my aud= io and video stored on it! Any help to move me
>=3B >=3B toward a solution would be much appreciated!
>=3B >=3B
>=3B >=3B= Thanks for your time...=
>=3B >=3B

>=3B >=3B xfs@oss.sgi.com
>=3B &= gt=3B http://oss.sgi.com/mailman/listinfo/xfs
<= /div>
= --_edfca06b-45a4-450b-ab16-8ae5d896b14c_-- From tom_in_canada@hotmail.com Sun Oct 12 17:51: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=FREEMAIL_FROM,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 A880C7F4E for ; Sun, 12 Oct 2014 17:51:55 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 523C3AC005 for ; Sun, 12 Oct 2014 15:51:55 -0700 (PDT) X-ASG-Debug-ID: 1413154310-04bdf02876333c60001-NocioJ Received: from DUB004-OMC4S10.hotmail.com (dub004-omc4s10.hotmail.com [157.55.2.85]) by cuda.sgi.com with ESMTP id 1OCpPfMn8H3YsExQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 12 Oct 2014 15:51:51 -0700 (PDT) X-Barracuda-Envelope-From: tom_in_canada@hotmail.com X-Barracuda-Apparent-Source-IP: 157.55.2.85 Received: from DUB113-W23 ([157.55.2.72]) by DUB004-OMC4S10.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Sun, 12 Oct 2014 15:51:50 -0700 X-TMN: [ZA3PuS86HL+/ZVKbSyCtr3UuswWb1eUM] X-Originating-Email: [tom_in_canada@hotmail.com] Message-ID: Content-Type: multipart/alternative; boundary="_7109ffa0-b93c-4751-8a76-8b3511522604_" From: tom mason To: Brian Foster CC: "xfs@oss.sgi.com" Subject: RE: Mount: Structure needs cleaning Date: Sun, 12 Oct 2014 22:51:49 +0000 X-ASG-Orig-Subj: RE: Mount: Structure needs cleaning Importance: Normal In-Reply-To: References: <1413103408756-35026.post@n7.nabble.com>,<20141012142008.GB35667@bfoster.bfoster>,, MIME-Version: 1.0 X-OriginalArrivalTime: 12 Oct 2014 22:51:50.0295 (UTC) FILETIME=[1C060A70:01CFE66F] X-Barracuda-Connect: dub004-omc4s10.hotmail.com[157.55.2.85] X-Barracuda-Start-Time: 1413154311 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=BSF_SC0_SA085, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10494 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 BSF_SC0_SA085 Custom Rule SA085 --_7109ffa0-b93c-4751-8a76-8b3511522604_ Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable and now xfs_check: root@ubuntu:~# xfs_check /dev/sdc2 ERROR: The filesystem has valuable metadata changes in a log which needs to be replayed. Mount the filesystem to replay the log=2C and unmount it befo= re re-running xfs_check. If you are unable to mount the filesystem=2C then us= e the xfs_repair -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. > Date: Sun=2C 12 Oct 2014 10:20:08 -0400 > From: bfoster@redhat.com > To: tom_in_canada@hotmail.com > CC: xfs@oss.sgi.com > Subject: Re: Mount: Structure needs cleaning >=20 > On Sun=2C Oct 12=2C 2014 at 01:43:28AM -0700=2C tommason wrote: > > Hi=2C > >=20 > > First up - my knowledge of linux is pretty sparse - I've used it a few = times > > before=2C so please be gentle! > >=20 > > I've had a neil poulton network space for some time now - it freaked ou= t a > > while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock= and > > rescue the files. > >=20 > > This has now happened again - the drive would not get out of a cycle an= d was > > not spinning properly. Bring out the dock and liveCD (this time Knoppix= ). > > All good. This time however as I eagerly copied files to another drive = (a > > USB powered lacie rugged thing) and left it overnight i woke up to an e= rror. > > I was copying around 500GB in a few diffferent chunks. The first error = it > > reported was I think error 15? mount structure needs cleaning... > Logs? Kernel version? etc. Hey Brian=2C Apologies! I'm pretty new to all this so you'll have to walk me through it = if possible - how do I check the logs? - Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 201= 4 x86_64 x86_64 x86_64 GNU/Linux - xfs_repair version 3.1.9 >=20 > http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_whe= n_reporting_a_problem.3F >=20 > > I then tried with a Ubuntu liveCD - same error. This is maybe where I m= ade a > > bit of an error of my own. In an attempt to shake it out of it's stupor= I > > 'stupidly' plugged it into windows and opened up the disk utility (sorr= y I'm > > generally mac based) and deleted in total 5 partitions (3x8mb=2C 1x250o= dd mb & > > 1x600mbish partition) This left the partition that I assumed contained = all > > my files: a 920GB partition. Tried to look at it again on Linux & (both > > Knoppix & Ubuntu) and the error message had changed slightly. It now re= ads: > > "Error mounting /dev/sdc2 at > > /media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount= -t > > "xfs" -o "uhelper=3Dudisks2=2Cnodev=2Cnosuid" "/dev/sdc2" > > "/media/ubuntu/e8b90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-z= ero > > exit status 32: mount: Structure needs cleaning" > To be clear=2C you've deleted partitions other than the partition of > interest? I suppose that shouldn't effect things either way=2C but I'm no= t > really sure what the disk utility might do. It might be worth checking > whether 'file -s ' still identifies the partition as an XFS > filesystem..? Yes it's a NAS drive and so I assume had some kind of proprietary OS on the= other partitions (this is where i might have messed up by deleting?!) I'm = pretty sure that the drive in bold below (sdc2) is the one I'm after which = is xfs... ubuntu@ubuntu:~$ sudo lsblk -o NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL NAME FSTYPE SIZE MOUNTPOINT LABEL sda 596.2G =20 =86=80sda1 vfat 200M EFI =86=80sda2 hfsplus 491.8G Macintosh HD =86=80sda3 hfsplus 619.9M Recovery HD =84=80sda4 ntfs 103.6G =20 sdc 931.5G =20 =86=80sdc1 1K =20 =84=80sdc2 xfs 930.6G =20 sr0 iso9660 981M /cdrom Ubuntu 14.04.1 LTS amd64 loop0 squashfs 938.7M /rofs & This: ubuntu@ubuntu:~$ sudo fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk = doesn't support GPT. Use GNU Parted. Disk /dev/sda: 640.1 GB=2C 640135028736 bytes 255 heads=2C 63 sectors/track=2C 77825 cylinders=2C total 1250263728 sector= s Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x34873486 Device Boot Start End Blocks Id System /dev/sda1 1 409639 204819+ ee GPT /dev/sda2 409640 1031659623 515624992 af HFS / HFS+ /dev/sda3 1031659624 1032929167 634772 ab Darwin boot /dev/sda4 * 1032929280 1250263039 108666880 7 HPFS/NTFS/exFAT Disk /dev/sdb: 500.1 GB=2C 500107862016 bytes 255 heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 sectors Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1734c26c Device Boot Start End Blocks Id System /dev/sdb1 2 976773167 488386583 b W95 FAT32 Disk /dev/sdc: 1000.2 GB=2C 1000204886016 bytes 255 heads=2C 63 sectors/track=2C 121601 cylinders=2C total 1953525168 secto= rs Units =3D sectors of 1 * 512 =3D 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb06a2add Device Boot Start End Blocks Id System /dev/sdc1 63 2008124 1004031 5 Extended /dev/sdc2 2008125 1953520064 975755970 83 Linux >=20 > Beyond that=2C I'd suggest to capture and post the logs of the failed > mount and perhaps the output of 'xfs_repair -n .' This will attempt > a dry-run (e.g.=2C no modifications) check and repair of the filesystem. Apologies again but you'd have to walk me through the process of exactly wh= at to type in - as I say I'm really not very experienced with Linux/ubuntu = & terminal! Cheers! Tom > Brian >=20 > > This drive has all my audio and video stored on it! Any help to move me > > toward a solution would be much appreciated! > >=20 > > Thanks for your time... > >=20 > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs = --_7109ffa0-b93c-4751-8a76-8b3511522604_ Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable
and now xfs_check:

root@ubuntu:~# xfs_= check /dev/sdc2
ERROR: The filesystem has= valuable metadata changes in a log which needs to
be replayed. =3B Mount the filesystem to replay the log=2C an= d unmount it beforere-running xfs_check.=  =3B If you are unable to mount the filesystem=2C then use
the xfs_repair -L option to destroy the log and attem= pt a repair.
Note that destroying the log= may cause corruption -- please attempt a mount
of the filesystem before doing this.

=

= >=3B Date: Sun=2C 12 Oct 2014 10:20:08 -0400
>=3B From: bfoster@redhat.com
>=3B To: = tom_in_canada@hotmail.com
>=3B CC: xfs@oss.= sgi.com
>=3B Subject: Re: Mount: Structure = needs cleaning
>=3B
>=3B On Sun=2C Oct 12=2C 2014 at 01:43:28AM -0700=2C tommason wro= te:
>=3B >=3B Hi=2C
>=3B >=3B <= br>>=3B >=3B First u= p - my knowledge of linux is pretty sparse - I've used it a few times
>=3B >=3B before=2C so please be gentle!
>=3B >=3B
>= =3B >=3B I've had a neil poulton network space for some time now - it fre= aked out a
>=3B >=3B while ago and I mana= ged to rig it up to a Ubuntu liveCD via a SATA dock and

>=3B >=3B rescue the files.
= >=3B >=3B
>=3B >=3B This has now hap= pened again - the drive would not get out of a cycle and was
>=3B >=3B not spinning properly. Bring out the dock and= liveCD (this time Knoppix).
>=3B >=3B Al= l good. This time however as I eagerly copied files to another drive (a
>=3B >=3B USB powered lacie rugged thing) an= d left it overnight i woke up to an error.
&g= t=3B >=3B I was copying around 500GB in a few diffferent chunks. The firs= t error it
>=3B >=3B reported was I think= error 15? mount structure needs cleaning...

=

>=3B Logs? Ker= nel version? etc.

Hey Brian=2C
Apolo= gies! I'm pretty new to all this so you'll hav= e to walk me through it if possible - how do I check the logs?

- Linux ubuntu 3.13.0-32-gen= eric #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/L= inux
- xfs_repair version 3.1.9


>=3B
>=3B ht= tp://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_re= porting_a_problem.3F
=
>=3B
>=3B >=3B I then tried with a Ubuntu liveCD - same erro= r. This is maybe where I made a
>=3B >=3B= bit of an error of my own. In an attempt to shake it out of it's stupor I<= /font>
>=3B >=3B 'stupidly' plugged it into wind= ows and opened up the disk utility (sorry I'm
>=3B >=3B generally mac based) and deleted in total 5 partitions (3x8m= b=2C 1x250odd mb &=3B=
>=3B >=3B 1x600m= bish partition) This left the partition that I assumed contained all=
>=3B >=3B my files: a 920GB partition. Tried to= look at it again on Linux &=3B (both
>= =3B >=3B Knoppix &=3B Ubuntu) and the error message had changed slight= ly. It now reads:
>=3B >=3B "Error mounti= ng /dev/sdc2 at
>=3B >=3B /media/ubuntu/e= 8b90eb2-8718-4964-939d-8a2b899b68bd: Command-line `mount -t
>=3B >=3B "xfs" -o "uhelper=3Dudisks2=2Cnodev=2Cnosuid"= "/dev/sdc2"
<= font style=3D"font-size:8pt=3B" size=3D"1">>=3B >=3B "/media/ubuntu/e8b= 90eb2-8718-4964-939d-8a2b899b68bd"' exited with non-zero

>=3B >=3B exit status 32: mount: Structure needs cleaning"=


>=3B To be clear=2C you've deleted partitions other than= the partition of
>=3B interest? I suppose = that shouldn't effect things either way=2C but I'm not
>=3B really sure what the disk utility might do. It might be wo= rth checking
<= font style=3D"font-size:8pt=3B" size=3D"1">>=3B whether 'file -s <=3Bde= vice>=3B' still identifies the partition as an XFS

>=3B filesystem..?


Yes it's a NAS= drive and so I assume had some kind of proprietary OS on the other partiti= ons (this is where i mi= ght have messed up by deleting?!) I'm pretty sure that the drive in bold be= low (sdc2) is the one I'm after which is xfs...

ubu= ntu@ubuntu:~$ sudo lsblk -o NAME=2CFSTYPE=2CSIZE=2CMOUNTPOINT=2CLABEL
NAME =3B =3B FSTYPE =3B =3B =3B =3B SIZE MOUNT= POINT LABEL
sda =3B =3B =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B 596.2G =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =
=86=80sda1 vfat =3B =3B =3B =3B =3B =3B 200M&n= bsp=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B EFI
=86=80sda2 hfsplus =3B 491.8G =3B =3B=  =3B =3B =3B =3B =3B =3B =3B =3B =3B Ma= cintosh HD
=86=80sda3 hfsplus =3B 619.9M =3B =3B&nb= sp=3B =3B =3B =3B =3B =3B =3B =3B =3B Recov= ery HD
=84=80sda4 ntfs =3B =3B =3B =3B 103.6G&nbs= p=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B
sdc =3B =3B =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B =3B =3B 931.5G =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =
=86=80sdc1 =3B =3B =3B =3B =3B =3B =3B&nbs= p=3B =3B =3B =3B =3B =3B 1K =3B =3B =3B&nbs= p=3B =3B =3B =3B =3B =3B =3B =3B
= =84=80sdc2 xfs =3B =3B =3B =3B =3B 930.6G =3B = =3B =3B =3B =3B&nb= sp=3B =3B =3B =3B =3B =3B
sr0 =3B = =3B =3B iso9660 =3B =3B =3B 981M /cdrom =3B =3B&nbs= p=3B =3B Ubuntu 14.04.1 LTS amd64
loop0 =3B squashfs 93= 8.7M /rofs

&=3B T= his:

ubuntu@ubuntu:~$ sudo fdisk -l

WARNING: GPT (GUID Partit= ion Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use = GNU Parted.


Disk /dev/sda: 640.1 GB=2C 640135028736 bytes
255= heads=2C 63 sectors/track=2C 77825 cylinders=2C total 1250263728 sectorsUnits =3D sectors of 1 * 512 =3D 512 bytes
Sector size (logical/physic= al): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 b= ytes
Disk identifier: 0x34873486

 =3B =3B Device Boot&nbs= p=3B =3B =3B =3B =3B Start =3B =3B =3B =3B&= nbsp=3B =3B =3B =3B End =3B =3B =3B =3B =3B= Blocks =3B =3B Id =3B System
/dev/sda1 =3B =3B = =3B =3B =3B =3B =3B =3B =3B =3B =3B =3B=  =3B =3B 1 =3B =3B =3B =3B =3B 409639 =3B&n= bsp=3B =3B =3B =3B 204819+ =3B ee =3B GPT
/dev/sda2&= nbsp=3B =3B =3B =3B =3B =3B =3B =3B =3B 409= 640 =3B 1031659623 =3B =3B 515624992 =3B =3B af =3B= HFS / HFS+
/dev/sda3 =3B =3B =3B =3B =3B 1031659624=  =3B 1032929167 =3B =3B =3B =3B =3B 634772 =3B&= nbsp=3B ab =3B Darwin boot
/dev/sda4 =3B =3B * =3B 10329= 29280 =3B 1250263039 =3B =3B 108666880 =3B =3B =3B = 7 =3B HPFS/NTFS/exFAT

Disk /dev/sdb: 500.1 GB=2C 500107862016 by= tes
255 heads=2C 63 sectors/track=2C 60801 cylinders=2C total 976773168 = sectors
Units =3D sectors of 1 * 512 =3D 512 bytes
Sector size (logic= al/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 byte= s / 512 bytes
Disk identifier: 0x1734c26c

 =3B =3B Device= Boot =3B =3B =3B =3B =3B Start =3B =3B =3B=  =3B =3B =3B =3B =3B End =3B =3B =3B = =3B =3B Blocks =3B =3B Id =3B System
/dev/sdb1 =3B&n= bsp=3B =3B =3B =3B =3B =3B =3B =3B =3B = =3B =3B =3B =3B 2 =3B =3B 976773167 =3B =3B 488= 386583 =3B =3B =3B b =3B W95 FAT32

Disk /dev/sdc: 10= 00.2 GB=2C 1000204886016 bytes
255 heads=2C 63 sectors/track=2C 121601 c= ylinders=2C total 1953525168 sectors
Units =3D sectors of 1 * 512 =3D 51= 2 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O siz= e (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb06a2add
 =3B =3B Device Boot =3B =3B =3B =3B =3B = Start =3B =3B =3B =3B =3B =3B =3B =3B End&n= bsp=3B =3B =3B =3B =3B Blocks =3B =3B Id =3B Sy= stem
/dev/sdc1 =3B =3B =3B =3B =3B =3B =3B&n= bsp=3B =3B =3B =3B =3B =3B 63 =3B =3B =3B&n= bsp=3B 2008124 =3B =3B =3B =3B 1004031 =3B =3B = =3B 5 =3B Extended
/dev/sdc2 =3B =3B =3B =3B =3B=  =3B =3B =3B 2008125 =3B 1953520064 =3B =3B 9757559= 70 =3B =3B 83 =3B Linux


>=3B
>=3B Beyond= that=2C I'd suggest to capture and post the logs of the failed
>=3B mount and perhaps the output of 'xfs_repair -n &l= t=3Bdev>=3B.' This will attempt
>=3B a dr= y-run (e.g.=2C no modifications) check and repair of the filesystem.=

Apologies again but you'd have to walk me thro= ugh the process of exactly what to type in - as I say I'm really not very e= xperienced with Linux/ubuntu &=3B terminal!
Cheers!
Tom

>=3B Brian
&g= t=3B
>=3B >=3B This drive has all my aud= io and video stored on it! Any help to move me
>=3B >=3B toward a solution would be much appreciated!
>=3B >=3B
>=3B >=3B= Thanks for your time...=
>=3B >=3B

>=3B >=3B xfs@oss.sgi.com
>=3B &= gt=3B http://oss.sgi.com/mailman/listinfo/xfs
<= /div>
= --_7109ffa0-b93c-4751-8a76-8b3511522604_-- From david@fromorbit.com Sun Oct 12 18: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 0BA757F4E for ; Sun, 12 Oct 2014 18:11:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id EDFE78F8033 for ; Sun, 12 Oct 2014 16:10:59 -0700 (PDT) X-ASG-Debug-ID: 1413155457-04cb6c77063541f0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id DHlPvAoFaq8iiqru for ; Sun, 12 Oct 2014 16:10:57 -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: ArwaACYJO1R5LODnPGdsb2JhbABBGoMOU1iCNrULBoJXG5BMgVuFagQCAoEHFwEGAQEBATg7hAIBAQEDATocIwULCAMRAwECAQklDwUlAwcMDhOIKgMJBw43wlsBAQEBAQEEAQEBAQEdGIYIh3OCMgeDLYEeBZY7hQCCD4Evg0aDLYccil8pLwGCSQEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail05.adl6.internode.on.net with ESMTP; 13 Oct 2014 09:40:02 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdSH3-0004BC-No; Mon, 13 Oct 2014 10:10:01 +1100 Date: Mon, 13 Oct 2014 10:10:01 +1100 From: Dave Chinner To: tom mason Cc: Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141012231001.GC5267@dastard> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning References: <1413103408756-35026.post@n7.nabble.com> <20141012142008.GB35667@bfoster.bfoster> 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: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1413155457 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.10494 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 [ please don't top post. ] On Sun, Oct 12, 2014 at 10:48:36PM +0000, tom mason wrote: > > Date: Sun, 12 Oct 2014 10:20:08 -0400 > > From: bfoster@redhat.com > > To: tom_in_canada@hotmail.com > > CC: xfs@oss.sgi.com > > Subject: Re: Mount: Structure needs cleaning > > > > On Sun, Oct 12, 2014 at 01:43:28AM -0700, tommason wrote: > > > Hi, > > > > > > First up - my knowledge of linux is pretty sparse - I've used it a few times > > > before, so please be gentle! > > > > > > I've had a neil poulton network space for some time now - it freaked out a > > > while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock and > > > rescue the files. > > > > > > This has now happened again - the drive would not get out of a cycle and was > > > not spinning properly. Bring out the dock and liveCD (this time Knoppix). > > > All good. This time however as I eagerly copied files to another drive (a > > > USB powered lacie rugged thing) and left it overnight i woke up to an error. > > > I was copying around 500GB in a few diffferent chunks. The first error it > > > reported was I think error 15? mount structure needs cleaning... > > > > Logs? Kernel version? etc. > > Hey Brian, > Apologies! I'm pretty new to all this so you'll have to walk me through it if possible - how do I check the logs? > > - Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux > - xfs_repair version 3.1.9 > > ok - so I worked out & tried the xfs_repair command: > > root@ubuntu:~# xfs_repair -n /dev/sdc2 > Phase 1 - find and verify superblock... > superblock read failed, offset 62448377856, size 131072, ag 2, rval -1 > > fatal error -- Input/output error Which means the filesystem tried to read the offset at 62GB and the underlying device failed it with EIO. That's not an XFS failure. What error is there in dmesg when you run that xfs_repair command? > > http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F This asks you to post the contents of /proc/partitions, which is what the kernel thinks are the partition sizes. > Yes it's a NAS drive and so I assume had some kind of proprietary > OS on the other partitions (this is where i might have messed up > by deleting?!) I'm pretty sure that the drive in bold below (sdc2) > is the one I'm after which is xfs... Ummm, exactly what are you trying to do with this drive/filesystem? What device did the drive come from in the first place? Cheers, Dave. -- Dave Chinner david@fromorbit.com From dgc@oss.sgi.com Sun Oct 12 19:29: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=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 A03D07F50; Sun, 12 Oct 2014 19:29:08 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-misc-fixes-for-3.18-3, updated. v3.16-11826-ga8b1ee8 X-Git-Refname: refs/heads/xfs-misc-fixes-for-3.18-3 X-Git-Reftype: branch X-Git-Oldrev: 52177937e9ac4573391143065b250403d3a6ae4b X-Git-Newrev: a8b1ee8bafc765ebf029d03c5479a69aebff9693 Message-Id: <20141013002908.A03D07F50@oss.sgi.com> Date: Sun, 12 Oct 2014 19:29:07 -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-for-3.18-3 has been updated a8b1ee8 xfs: fix agno increment in xfs_inumbers() loop from 52177937e9ac4573391143065b250403d3a6ae4b (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 a8b1ee8bafc765ebf029d03c5479a69aebff9693 Author: Eric Sandeen Date: Mon Oct 13 10:21:53 2014 +1100 xfs: fix agno increment in xfs_inumbers() loop caused a regression in xfs_inumbers, which in turn broke xfsdump, causing incomplete dumps. The loop in xfs_inumbers() needs to fill the user-supplied buffers, and iterates via xfs_btree_increment, reading new ags as needed. But the first time through the loop, if xfs_btree_increment() succeeds, we continue, which triggers the ++agno at the bottom of the loop, and we skip to soon to the next ag - without the proper setup under next_ag to read the next ag. Fix this by removing the agno increment from the loop conditional, and only increment agno if we have actually hit the code under the next_ag: target. Cc: stable@vger.kernel.org Signed-off-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_itable.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Sun Oct 12 19:29: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=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 A5C707F55; Sun, 12 Oct 2014 19:29:51 -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.18-rc1 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: bdb119bb6e9d11ee7cd5a28503de060172c3db56 X-Git-Newrev: 6889e783cd68b79f8330ad4d10a2571c67c3f7df Message-Id: <20141013002951.A5C707F55@oss.sgi.com> Date: Sun, 12 Oct 2014 19:29:51 -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 bdb119bb6e9d11ee7cd5a28503de060172c3db56 (commit) 6889e78 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next a8b1ee8 xfs: fix agno increment in xfs_inumbers() loop from bdb119bb6e9d11ee7cd5a28503de060172c3db56 (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 6889e783cd68b79f8330ad4d10a2571c67c3f7df Merge: 75e58ce a8b1ee8 Author: Dave Chinner Date: Mon Oct 13 10:22:45 2014 +1100 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_itable.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- XFS development tree From david@fromorbit.com Sun Oct 12 20:37: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 810277F4E for ; Sun, 12 Oct 2014 20:37:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5D0128F8052 for ; Sun, 12 Oct 2014 18:37:48 -0700 (PDT) X-ASG-Debug-ID: 1413164264-04cbb018ab329cc0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id 5srLKGQagg82FkUm for ; Sun, 12 Oct 2014 18:37:45 -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: ArgaAJAsO1R5LODnPGdsb2JhbABbgw5TWII2hQewCQaTNIFlhWoEAoEMFwEGAQEBATg7hEMcIxgkNAUlAwctiD3DLwELIBiGCIolgzSBHgWGLZAOgQiGB4Evg0aKB4MYiAkpL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail05.adl6.internode.on.net with ESMTP; 13 Oct 2014 12:07:15 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdUZX-0004YE-5F; Mon, 13 Oct 2014 12:37:15 +1100 Date: Mon, 13 Oct 2014 12:37:15 +1100 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.18-rc1 Message-ID: <20141013013715.GD4503@dastard> X-ASG-Orig-Subj: [GIT PULL] xfs: updates for 3.18-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: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1413164265 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.10499 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 current XFS updates from the tree below? The changes outlined in the tag description include everything that is not in your tree, but I has a question about that because there are commits in the branch that are already in your tree. i.e. I have generated this pull-req from the base tree I've been working on (3.17-rc2) but there have already been commits merged into a more recent upstream tree (3.17-rc4) in this tree. When I generate the pull request from the underlying 3.17-rc2 branch, it includes all those commits, both in the summary and the diffstat. If I base the pull request off 3.17, the base commit is the last one that was merged into your tree, and the diffstat and commit list reflect that. So my question is this: Which tree should I generate the pull request from? I flipped a coin an generated this one from 3.17-rc2, but if you'd prefer to see just the commits/diffstat that aren't in your tree, let me know and I'll do it differently next time.... -Dave. The following changes since commit 52addcf9d6669fa439387610bc65c92fa0980cef: Linux 3.17-rc2 (2014-08-25 15:36:20 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs tags/xfs-for-linus-3.18-rc1 for you to fetch changes up to 6889e783cd68b79f8330ad4d10a2571c67c3f7df: Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next (2014-10-13 10:22:45 +1100) ---------------------------------------------------------------- xfs: update for 3.18-rc1 This update contains: o various cleanups o log recovery debug hooks o seek hole/data implementation merge o extent shift rework to fix collapse range bugs o various sparse warning fixes o log recovery transaction processing rework to fix use after free bugs o metadata buffer IO infrastructuer rework to ensure all buffers under IO have valid reference counts o various fixes for ondisk flags, writeback and zero range corner cases ---------------------------------------------------------------- Brian Foster (13): xfs: don't log inode unless extent shift makes extent modifications xfs: trim eofblocks before collapse range xfs: mark all internal workqueues as freezable xfs: add debug sysfs attribute set xfs: export log_recovery_delay to delay mount time log recovery xfs: track collapse via file offset rather than extent index xfs: refactor shift-by-merge into xfs_bmse_merge() helper xfs: refactor single extent shift into xfs_bmse_shift_one() helper xfs: writeback and inval. file range to be shifted by collapse xfs: only writeback and truncate pages for the freed range xfs: check for inode size overflow in xfs_new_eof() xfs: restore buffer_head unwritten bit on ioend cancel xfs: flush the range before zero range conversion Chris Mason (1): xfs: don't zero partial page cache pages during O_DIRECT writes Christoph Hellwig (1): xfs: simplify xfs_zero_remaining_bytes Dave Chinner (39): xfs: don't dirty buffers beyond EOF xfs: don't zero partial page cache pages during O_DIRECT writes xfs: use ranged writeback and invalidation for direct IO xfs: xfs_file_collapse_range is delalloc challenged Merge branch 'xfs-misc-fixes-for-3.18-1' into for-next xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly Merge branch 'xfs-shift-extents-rework' into for-next xfs: xlog_cil_force_lsn doesn't always wait correctly xfs: xfs_buf_write_fail_rl_state can be static xfs: xfs_swap_extent_flush can be static xfs: flush entire last page of old EOF on truncate up Merge branch 'xfs-misc-fixes-for-3.18-2' into for-next xfs: refactor xlog_recover_process_data() xfs: recovery of XLOG_UNMOUNT_TRANS leaks memory xfs: fix double free in xlog_recover_commit_trans xfs: reorganise transaction recovery item code xfs: refactor recovery transaction start handling Merge branch 'xfs-trans-recover-cleanup' into for-next xfs: fix use of agi_newino in finobt lookup xfs: xfs_qm_dquot_isolate needs locking annotations for sparse xfs: xfs_kset should be static xfs: annotate user variables passed as void Merge branch 'xfs-sparse-fixes' into for-next xfs: force the log before shutting down xfs: Don't use xfs_buf_iowait in the delwri buffer code xfs: synchronous buffer IO needs a reference xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality xfs: rework xfs_buf_bio_endio error handling xfs: kill xfs_bdstrat_cb xfs: xfs_bioerror can die. xfs: kill xfs_bioerror_relse xfs: introduce xfs_buf_submit[_wait] xfs: check xfs_buf_read_uncached returns correctly Merge branch 'xfs-buf-iosubmit' into for-next xfs: compat_xfs_bstat does not have forkoff xfs: kill time.h xfs: project id inheritance is a directory only flag xfs: only set extent size hint when asked Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next Eric Sandeen (13): xfs: add a few more verifier tests xfs: combine xfs_seek_hole & xfs_seek_data xfs: lseek: the "whence" argument is called "whence" xfs: deduplicate xlog_do_recovery_pass() xfs: check resblks before calling xfs_dir_canenter xfs: combine xfs_dir_canenter into xfs_dir_createname xfs: combine xfs_rtmodify_summary and xfs_rtget_summary xfs: remove rbpp check from xfs_rtmodify_summary_int xfs: don't ASSERT on corrupt ftype xfs: don't send null bp to xfs_trans_brelse() xfs: fix crc field handling in xfs_sb_to/from_disk xfs: check for null dquot in xfs_quota_calc_throttle() xfs: fix agno increment in xfs_inumbers() loop Fabian Frederick (1): xfs: remove second xfs_quota.h inclusion in xfs_icache.c Fengguang Wu (1): xfs: xfs_rtget_summary can be static Mark Tinguely (1): xfs: xfs_iflush_done checks the wrong log item callback fs/xfs/kmem.c | 1 - fs/xfs/libxfs/xfs_alloc.c | 4 + fs/xfs/libxfs/xfs_bmap.c | 371 ++++++++++++++-------- fs/xfs/libxfs/xfs_bmap.h | 7 +- fs/xfs/libxfs/xfs_da_btree.c | 3 +- fs/xfs/libxfs/xfs_da_format.c | 1 - fs/xfs/libxfs/xfs_dir2.c | 67 +--- fs/xfs/libxfs/xfs_dir2.h | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 7 +- fs/xfs/libxfs/xfs_rtbitmap.c | 49 ++- fs/xfs/libxfs/xfs_sb.c | 7 + fs/xfs/time.h | 36 --- fs/xfs/xfs_aops.c | 84 ++++- fs/xfs/xfs_bmap_util.c | 120 +++---- fs/xfs/xfs_buf.c | 355 ++++++++++----------- fs/xfs/xfs_buf.h | 15 +- fs/xfs/xfs_buf_item.c | 10 +- fs/xfs/xfs_file.c | 205 +++++------- fs/xfs/xfs_fsops.c | 11 +- fs/xfs/xfs_globals.c | 4 + fs/xfs/xfs_icache.c | 1 - fs/xfs/xfs_inode.c | 34 +- fs/xfs/xfs_inode.h | 2 +- fs/xfs/xfs_inode_item.c | 2 +- fs/xfs/xfs_ioctl.c | 28 +- fs/xfs/xfs_ioctl32.c | 2 + fs/xfs/xfs_ioctl32.h | 3 +- fs/xfs/xfs_iomap.c | 4 +- fs/xfs/xfs_iops.c | 30 ++ fs/xfs/xfs_itable.c | 3 +- fs/xfs/xfs_linux.h | 6 +- fs/xfs/xfs_log.c | 59 ++-- fs/xfs/xfs_log_cil.c | 47 ++- fs/xfs/xfs_log_recover.c | 689 +++++++++++++++++++++-------------------- fs/xfs/xfs_mount.c | 58 ++-- fs/xfs/xfs_mru_cache.c | 3 +- fs/xfs/xfs_qm.c | 1 + fs/xfs/xfs_rtalloc.c | 85 +---- fs/xfs/xfs_rtalloc.h | 4 + fs/xfs/xfs_super.c | 39 ++- fs/xfs/xfs_symlink.c | 8 +- fs/xfs/xfs_sysctl.h | 5 + fs/xfs/xfs_sysfs.c | 74 +++++ fs/xfs/xfs_sysfs.h | 1 + fs/xfs/xfs_trace.h | 3 +- fs/xfs/xfs_trans_buf.c | 16 +- fs/xfs/xfs_trans_inode.c | 2 +- 47 files changed, 1399 insertions(+), 1169 deletions(-) delete mode 100644 fs/xfs/time.h -- Dave Chinner david@fromorbit.com From 3PzE7VA8JAzYZWfjqjaUZSjVt01YeSad.UgepXkgkk.kYa.Uge@trix.bounces.google.com Sun Oct 12 20:56:17 2014 Return-Path: <3PzE7VA8JAzYZWfjqjaUZSjVt01YeSad.UgepXkgkk.kYa.Uge@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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 660567F4E for ; Sun, 12 Oct 2014 20:56:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 421E58F8052 for ; Sun, 12 Oct 2014 18:56:17 -0700 (PDT) X-ASG-Debug-ID: 1413165375-04cbb018ad32a0b0001-NocioJ Received: from mail-pd0-f198.google.com (mail-pd0-f198.google.com [209.85.192.198]) by cuda.sgi.com with ESMTP id Oyycfzcu55IwRbY8 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 12 Oct 2014 18:56:16 -0700 (PDT) X-Barracuda-Envelope-From: 3PzE7VA8JAzYZWfjqjaUZSjVt01YeSad.UgepXkgkk.kYa.Uge@trix.bounces.google.com X-Barracuda-Apparent-Source-IP: 209.85.192.198 X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.192.198] Received: by mail-pd0-f198.google.com with SMTP id v10so31308947pde.9 for ; Sun, 12 Oct 2014 18:56:15 -0700 (PDT) X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.192.198] X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.192.198] 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=MbuKLVAyswgeeRWpILV/cyFMBwFc+ESFBol19Y4uy+U=; b=fxHBMsoO7mw07NShKuaUrCU/hU9P+DdufbfnVBv/UhdEhC6N/5TC3wwHT3+h/AFvhU 2pvEmpOiu+GqkJjzGzRh/U3o6AIwUskWJxqj2aqc2BKG2w0txVKA/fwra3zpTAfANHT3 8v3pKubiuI/XdFgrs1l1KKKAudQxbWYV9A1+SF/0I8wtGalBPoyX7xeFeVCtRhVqZXC6 XH9sR6P6aFzLXWa5QExlQUbEwybzj2gki1WrVx58taZLbWq7jfJT6iXRjC28n90KXhei hMBdkwXwucM2rrDceReYIFvsjSU1L85YISq6G7vDe4LX6g2lj29u22WTQMtq230QPW16 IhkA== MIME-Version: 1.0 X-Received: by 10.66.171.10 with SMTP id aq10mt11916086pac.28.1413165375523; Sun, 12 Oct 2014 18:56:15 -0700 (PDT) X-No-Auto-Attachment: 1 Message-ID: <047d7bd74f323792b80505443401@google.com> Date: Mon, 13 Oct 2014 01:56:15 +0000 Subject: =?GB2312?B?UkWjutf2zeLDs6Os1dK/zbuno6y589Ta1ve2r6Os1tjU2g==?= =?GB2312?B?t723qA==?= From: henryrichard189@gmail.com X-ASG-Orig-Subj: =?GB2312?B?UkWjutf2zeLDs6Os1dK/zbuno6y589Ta1ve2r6Os1tjU2g==?= =?GB2312?B?t723qA==?= To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=047d7bd74f323986640505443460 X-Barracuda-Connect: mail-pd0-f198.google.com[209.85.192.198] X-Barracuda-Start-Time: 1413165376 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, HTML_MESSAGE, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10499 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 --047d7bd74f323986640505443460 Content-Type: text/plain; charset=GB2312; format=flowed; delsp=yes Content-Transfer-Encoding: base64 ob62pdLX1tC5+qG/zeLDs7/Nu6fL0cv30+u/qreiz7XNs9XwurPI/bTzuabE3NPrxPq5ss/to7oN Cg0K0rujrMvRy/e5psTco7q6zcirx/I1MDC24Lj2y9HL99L9x+a07r2oway906OsuLK4xzIwMLbg uPa5+rzSo6zH4cvJyMPIq8fyDQrTxdbKv827p76h1NrE48rW1tCjoQ0Ktv6jrLncwO25psTco7qw 0b/Nu6fXytS0vfjQ0NPQ0PK7r7ncwO2jrMjDxPq21MO/uPa/zbunwcvI59a41cajoQ0KyP2jrM3G ueO5psTco7oxo6y/7MvZy9HL99K7xfrS4s/yv827p6Oss8m9u7/staWjoQ0KMqOs1tzG2tDUzca5 48Xg0fjSu8X6zsi2qNPF1sq/zbuno6ENCjOjrL7Dtvi+w9autcS547jm0KfS5qOszOHJ/bnzy77U 2rqjzeK1xNaqw/u2yKOstc2zybG+o6y439Cn0uajoQ0K18nRr7Xnu7CjujEzNzU1NjkxNDU0IMfr vNNRUaO6MTQwMDU4NjYxMiCjqNTaz9/R3cq+o6kgv7XJ+g0KDQoNCg0KDQoNCg0KDQrO0tLR0fvH 68T6zO7QtLHttaUgUkWjutf2zeLDs6Os1dK/zbuno6y589Ta1ve2r6Os1tjU2re9t6ihoyDSqszu 0LS0y7HtDQq1paOsx+u3w87Ko7oNCmh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2Zvcm1zL2QvMVY5 ZFFDcXVVU18tVHY4VzFlRllZdlE1a3BXNGViZEhPZTdUUmtZeFowT1Uvdmlld2Zvcm0/Yz0wJnc9 MSZ1c3A9bWFpbF9mb3JtX2xpbmsNCg== --047d7bd74f323986640505443460 Content-Type: text/html; charset=GB2312 Content-Transfer-Encoding: base64 PGh0bWw+PGJvZHkgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9FbWFpbE1l c3NhZ2UiIHN0eWxlPSIiPjxkaXYgY2xhc3M9InNzLWVtYWlsLWJvZHkiIHN0eWxlPSJkaXNwbGF5 OmlubGluZTt3aWR0aDo1NzZweDsiPjxkaXYgaXRlbXByb3A9ImFjdGlvbiIgaXRlbXNjb3BlIGl0 ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9WaWV3QWN0aW9uIiBzdHlsZT0iIj48bWV0YSBpdGVt cHJvcD0ibmFtZSIgY29udGVudD0izO7QtLHttaUiIHN0eWxlPSIiPgo8bWV0YSBpdGVtcHJvcD0i dXJsIiBjb250ZW50PSJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kLzFWOWRRQ3F1VVNf LVR2OFcxZUZZWXZRNWtwVzRlYmRIT2U3VFJrWXhaME9VL3ZpZXdmb3JtP2M9MCZhbXA7dz0xJmFt cDt1c3A9bWFpbF9nb3RvX2Zvcm0iIHN0eWxlPSIiPjwvZGl2Pgo8cCBpdGVtcHJvcD0iZGVzY3Jp cHRpb24iIHN0eWxlPSIiPqG+tqXS19bQufqhv83iw7O/zbuny9HL99Prv6q3os+1zbPV8LqzyP20 87mmxNzT68T6ubLP7aO6IDxwPjxicj7Su6Osy9HL97mmxNyjurrNyKvH8jUwMLbguPbL0cv30v3H 5rTuvajBrL3To6y4srjHMjAwtuC49rn6vNKjrMfhy8nIw8irx/LTxdbKv827p76h1NrE48rW1tCj oSA8cD62/qOsudzA7bmmxNyjurDRv827p9fK1LS9+NDQ09DQ8ruvudzA7aOsyMPE+rbUw7+49r/N u6fBy8jn1rjVxqOhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwPsj9o6zNxrnjuabE3KO6MaOsv+zL2cvRy/fSu8X60uLP8r/Nu6ejrLPJvbu/7LWlo6EgPHA+ ICAgICAgICAgICAgICAyo6zW3Mba0NTNxrnjxeDR+NK7xfrOyLao08XWyr/Nu6ejoTxwPiAgICAg ICAgICAgICAgM6OsvsO2+L7D1q61xLnjuObQp9Lmo6zM4cn9ufPLvtTauqPN4rXE1qrD+7bIo6y1 zbPJsb6jrLjf0KfS5qOhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPtfJ0a+157uwo7oxMzc1NTY5MTQ1NCAgIMfr vNNRUaO6MTQwMDU4NjYxMiCjqNTaz9/R3cq+o6kgv7XJ+jxicj48L3A+PC9wPjwvcD48L3A+PC9w PjwvcD48L3A+CgrO0tLR0fvH68T6zO7QtLHttaUgPGI+PHNwYW4gZGlyPSJsdHIiIHN0eWxlPSIi PlJFo7rX9s3iw7OjrNXSv827p6OsufPU2tb3tq+jrNbY1Nq3vbeoPC9zcGFuPjwvYj6hoyDSqszu 0LS0y7HttaWjrMfrt8POyqO6Cjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20v Zm9ybXMvZC8xVjlkUUNxdVVTXy1UdjhXMWVGWVl2UTVrcFc0ZWJkSE9lN1RSa1l4WjBPVS92aWV3 Zm9ybT9jPTAmYW1wO3c9MSZhbXA7dXNwPW1haWxfZm9ybV9saW5rIiBzdHlsZT0iIj5odHRwczov L2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kLzFWOWRRQ3F1VVNfLVR2OFcxZUZZWXZRNWtwVzRlYmRI T2U3VFJrWXhaME9VL3ZpZXdmb3JtP2M9MCZhbXA7dz0xJmFtcDt1c3A9bWFpbF9mb3JtX2xpbms8 L2E+CjxwPjwvcD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBzdHlsZT0i Ij48L3N0eWxlPjwvZGl2PjwvYm9keT48L2h0bWw+ --047d7bd74f323986640505443460-- From eflorac@intellique.com Mon Oct 13 04:26: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D002F7F4E for ; Mon, 13 Oct 2014 04:26:49 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 56E62AC007 for ; Mon, 13 Oct 2014 02:26:46 -0700 (PDT) X-ASG-Debug-ID: 1413192401-04cb6c7705362b20001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id s8LCxyyFPmbHArVo (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 13 Oct 2014 02:26:41 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id 21BADD4811D; Mon, 13 Oct 2014 11:25:28 +0200 (CEST) Date: Mon, 13 Oct 2014 11:26:43 +0200 From: Emmanuel Florac To: tom mason Cc: Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141013112643.0ce779d9@harpe.intellique.com> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning In-Reply-To: References: <1413103408756-35026.post@n7.nabble.com> <20141012142008.GB35667@bfoster.bfoster> Organization: Intellique X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1413192401 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.10510 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Sun, 12 Oct 2014 22:48:36 +0000 tom mason =C3=A9crivait: > superblock read failed, offset 62448377856, size 131072, ag 2, rval -1 >=20 > fatal error -- Input/output error You've got an hardware error here. Probably a bad disk drive. What does=20 smartcl -A /dev/sdc reports? --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From linus971@gmail.com Mon Oct 13 04:48: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.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 7671E7F4E for ; Mon, 13 Oct 2014 04:48:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5B3808F804B for ; Mon, 13 Oct 2014 02:48:21 -0700 (PDT) X-ASG-Debug-ID: 1413193698-04cb6c7705363450001-NocioJ Received: from mail-vc0-f169.google.com (mail-vc0-f169.google.com [209.85.220.169]) by cuda.sgi.com with ESMTP id BKkaRsRaiKxV7JhS (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 13 Oct 2014 02:48:19 -0700 (PDT) X-Barracuda-Envelope-From: linus971@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.220.169 X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.169] Received: by mail-vc0-f169.google.com with SMTP id hy4so5583865vcb.28 for ; Mon, 13 Oct 2014 02:48:18 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.169] X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.169] 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=jwtgGaqnQ/hbPZMWLJu2kB0ZRuorgXlQrGPHEBebIT4=; b=J6o7x5RaKi01NaIX8ZQ9bj3CTRZdEhvKTRQ9cjcsmiUCa23X0QNd6ARdK3qktv+itm JQp7C1HebnGlHvzlJ8+EBnpeAbLK0ZRCSiZmJKskad132Wja1CtQPGWzUfcfVKY32HCI ndbODmYOYYSut4G03sPkn6P/4ZS5GUIvFyl0czNdFP2ujBO/aQTYyTuvqvN6se3Hy1eE ORMK6kcAeJi7JKJY8NHKdyaQSF6Pc9SSc7ZDbZpD9+wPHRuBG19FAKUT1ZZesYBXeDbv jF6hNJFS0EX0T5J7fx7+C03rStLbIKjivPqYrNS5G9jyeeFTwdMHs8Psx+RdfBU9Vr/y 65sw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=jwtgGaqnQ/hbPZMWLJu2kB0ZRuorgXlQrGPHEBebIT4=; b=GvMN5q9zNALKhxlAgAs08YUsZmCT2CGa+KIseJsiFVb1SPa5sAV1WVfaAa+dm3TBLC gSgI2danV12ouPi/sH+nzj3ug8jncOY6y0a9Zv+/DpFCTL7pi34EDfSukHwhQla7ShW8 ESYEfpnB0dMBH3rAupNaGaL6SMJtJfTQTKkLw= MIME-Version: 1.0 X-Received: by 10.220.193.67 with SMTP id dt3mr19498907vcb.4.1413193698337; Mon, 13 Oct 2014 02:48:18 -0700 (PDT) Sender: linus971@gmail.com Received: by 10.220.3.148 with HTTP; Mon, 13 Oct 2014 02:48:18 -0700 (PDT) In-Reply-To: <20141013013715.GD4503@dastard> References: <20141013013715.GD4503@dastard> Date: Mon, 13 Oct 2014 05:48:18 -0400 X-Google-Sender-Auth: NEyI2Bfip44LzpO-LzesoTNSKbk Message-ID: Subject: Re: [GIT PULL] xfs: updates for 3.18-rc1 From: Linus Torvalds X-ASG-Orig-Subj: Re: [GIT PULL] xfs: updates for 3.18-rc1 To: Dave Chinner Cc: Andrew Morton , Linux Kernel Mailing List , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-vc0-f169.google.com[209.85.220.169] X-Barracuda-Start-Time: 1413193698 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.10511 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, Oct 12, 2014 at 9:37 PM, Dave Chinner wrote: > > i.e. I have generated this pull-req from the base tree I've been working > on (3.17-rc2) but there have already been commits merged into a more > recent upstream tree (3.17-rc4) in this tree. When I generate the > pull request from the underlying 3.17-rc2 branch, it includes all > those commits, both in the summary and the diffstat. If I base the > pull request off 3.17, the base commit is the last one that was > merged into your tree, and the diffstat and commit list reflect > that. That's fine, and works for me too. This is normal and expected for stuff that has gotten into my tree other ways (ie bugfixes that were cherrypicked to be backported from development trees etc). I'm used to it, and while I hope people minimize it (not only because of multiple commits showing up with the same patch, but because it can easily cause stupid merge conflicts because the development tree then made further changes on top of the same patch), it's also very much considered "normal development". That said, when there are actual *common* commits as in your case (as opposed to cherrypicked commits that generate duplicate commits with the same patch), I would generally suggest you just let "git merge-base" figure it all out from my latest tree. That way it takes into account the stuff that you sent earlier on its own. But this is not a big deal. > So my question is this: Which tree should I generate the pull > request from? I flipped a coin an generated this one from 3.17-rc2, > but if you'd prefer to see just the commits/diffstat that aren't in > your tree, let me know and I'll do it differently next time.... Normally, I'd suggest the easiest way to handle things is to have a "linus" branch that tracks my upstream, and then just generate the pull request off that. Git will figure out the latest merge base and just do the right thing, and you don't need to really think about where you forked things off, and which parts you have already sent to me. As mentioned, even then the diffstat doesn't always end up being exactly right, because the history with partially merged branches, and with potential cherry-picked commits. So I am not surprised or upset if the diffstat doesn't always match, it happens quite commonly. I go on a rant when that i sdue to bad development practices, but I don't see anything like that in your tree. Some people avoid this by actually generating a test-merge (to warn me about upcoming conflicts etc), and then generate the diffstat from that test merge instead of just using the plain "git diff" in the git-pull-request helper scripts. Whatever works. This is not a huge deal, exactly because it's "normal development" (unlike the back-merges issue). And in this case, it looks like you don't even have cherry-picks, but just shared common branches, some of which you sent earlier. It looks like the diffstat if you just use my current tree as the other point of the git merge-base is correct, although I haven't actually done the merge itself yet (still waiting for the build for the previous merge to finish). Linus From tom_mason@me.com Mon Oct 13 05: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=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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id BC9487F4E for ; Mon, 13 Oct 2014 05:05:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 935A6304059 for ; Mon, 13 Oct 2014 03:05:56 -0700 (PDT) X-ASG-Debug-ID: 1413194753-04cbb018ab336460001-NocioJ Received: from st11p01mm-asmtp002.mac.com (st11p01mm-asmtp002.mac.com [17.172.204.237]) by cuda.sgi.com with ESMTP id 3IRZZxkYyjaLsYCL (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 13 Oct 2014 03:05:53 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.237 X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] Received: from [192.168.142.67] (unknown [82.71.189.231]) by st11p01mm-asmtp002.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDD004OUO1PQM50@st11p01mm-asmtp002.mac.com> for xfs@oss.sgi.com; Mon, 13 Oct 2014 10:05:52 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-13_01:2014-10-10,2014-10-12,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410130103 References: <1413103408756-35026.post@n7.nabble.com> <20141012142008.GB35667@bfoster.bfoster> <20141012231001.GC5267@dastard> In-reply-to: <20141012231001.GC5267@dastard> MIME-version: 1.0 (1.0) Content-transfer-encoding: quoted-printable Content-type: text/plain; charset=us-ascii Message-id: Cc: Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Mon, 13 Oct 2014 11:05:49 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Dave Chinner X-Barracuda-Connect: st11p01mm-asmtp002.mac.com[17.172.204.237] X-Barracuda-Start-Time: 1413194753 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 13 Oct 2014, at 00:10, Dave Chinner wrote: >=20 > [ please don't top post. ] >=20 > On Sun, Oct 12, 2014 at 10:48:36PM +0000, tom mason wrote: >>> Date: Sun, 12 Oct 2014 10:20:08 -0400 >>> From: bfoster@redhat.com >>> To: tom_in_canada@hotmail.com >>> CC: xfs@oss.sgi.com >>> Subject: Re: Mount: Structure needs cleaning >>>=20 >>>> On Sun, Oct 12, 2014 at 01:43:28AM -0700, tommason wrote: >>>> Hi, >>>>=20 >>>> First up - my knowledge of linux is pretty sparse - I've used it a few t= imes >>>> before, so please be gentle! >>>>=20 >>>> I've had a neil poulton network space for some time now - it freaked ou= t a >>>> while ago and I managed to rig it up to a Ubuntu liveCD via a SATA dock= and >>>> rescue the files. >>>>=20 >>>> This has now happened again - the drive would not get out of a cycle an= d was >>>> not spinning properly. Bring out the dock and liveCD (this time Knoppix= ). >>>> All good. This time however as I eagerly copied files to another drive (= a >>>> USB powered lacie rugged thing) and left it overnight i woke up to an e= rror. >>>> I was copying around 500GB in a few diffferent chunks. The first error i= t >>>> reported was I think error 15? mount structure needs cleaning... >>=20 >>=20 >>> Logs? Kernel version? etc. >>=20 >> Hey Brian, >> Apologies! I'm pretty new to all this so you'll have to walk me through i= t if possible - how do I check the logs? >>=20 >> - Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2= 014 x86_64 x86_64 x86_64 GNU/Linux >> - xfs_repair version 3.1.9 >>=20 >> ok - so I worked out & tried the xfs_repair command: >>=20 >> root@ubuntu:~# xfs_repair -n /dev/sdc2 >> Phase 1 - find and verify superblock... >> superblock read failed, offset 62448377856, size 131072, ag 2, rval -1 >>=20 >> fatal error -- Input/output error >=20 > Which means the filesystem tried to read the offset at 62GB and the > underlying device failed it with EIO. That's not an XFS failure. > What error is there in dmesg when you run that xfs_repair command? What's EIO? 'Error in dmesg' How would I report this info to you?=20 >=20 >>> http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_wh= en_reporting_a_problem.3F >=20 > This asks you to post the contents of /proc/partitions, which is > what the kernel thinks are the partition sizes. How do I do this? >=20 >> Yes it's a NAS drive and so I assume had some kind of proprietary >> OS on the other partitions (this is where i might have messed up >> by deleting?!) I'm pretty sure that the drive in bold below (sdc2) >> is the one I'm after which is xfs... >=20 > Ummm, exactly what are you trying to do with this drive/filesystem? > What device did the drive come from in the first place? It's a lacie 'Neil poulton' network space1 1tb NAS drive (see first paragrap= h of post) - it recently stopped working and was stuck in a 'spin cycle' - i= t contains my music and video backups. I'm trying to recover the files... Cheers, Tom >=20 > Cheers, >=20 > Dave. > --=20 > Dave Chinner > david@fromorbit.com >=20 From eflorac@intellique.com Mon Oct 13 05:19: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 B38B07F4E for ; Mon, 13 Oct 2014 05:19:54 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8793E8F804B for ; Mon, 13 Oct 2014 03:19:51 -0700 (PDT) X-ASG-Debug-ID: 1413195589-04cb6c7707363ea0001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id wKYQQHAdz0UyWXy9 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 13 Oct 2014 03:19:49 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id BB503D48098; Mon, 13 Oct 2014 12:18:35 +0200 (CEST) Date: Mon, 13 Oct 2014 12:19:51 +0200 From: Emmanuel Florac To: Tom Mason Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141013121951.6daa8652@harpe.intellique.com> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning In-Reply-To: References: <1413103408756-35026.post@n7.nabble.com> <20141012142008.GB35667@bfoster.bfoster> <20141012231001.GC5267@dastard> Organization: Intellique X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1413195589 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.10511 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Mon, 13 Oct 2014 11:05:49 +0100 Tom Mason =C3=A9crivait: > > Which means the filesystem tried to read the offset at 62GB and the > > underlying device failed it with EIO. That's not an XFS failure. > > What error is there in dmesg when you run that xfs_repair command? =20 >=20 > What's EIO? > 'Error in dmesg' How would I report this info to you?=20 "Input/Output Error" . Run the "dmesg" command immediately after this error, and see what it reports last (end of command output). > > This asks you to post the contents of /proc/partitions, which is > > what the kernel thinks are the partition sizes. =20 >=20 > How do I do this? cat /proc/partitions > >> Yes it's a NAS drive and so I assume had some kind of proprietary > >> OS on the other partitions (this is where i might have messed up > >> by deleting?!) I'm pretty sure that the drive in bold below (sdc2) > >> is the one I'm after which is xfs... =20 > >=20 > > Ummm, exactly what are you trying to do with this drive/filesystem? > > What device did the drive come from in the first place? =20 >=20 > It's a lacie 'Neil poulton' network space1 1tb NAS drive (see first > paragraph of post) - it recently stopped working and was stuck in a > 'spin cycle' - it contains my music and video backups. I'm trying to > recover the files... Most probably disk is badly damaged, dead or dying. It's advisable to try to create an image of the disk on another one, and work for this image, because this disk will probably die any time now. It's no use trying to repair a filesystem on a bad drive, which is the cause of the errors from the beginning.=20 If all you care is to get your files back, just try to mount the volume in read-only, non-recovery mode : mount -o ro,norecovery /dev/sdc2 /tmp/mount Then proceed by copying whatever you can get. Consider that any file that gives an error is lost. The other option is Kroll Ontrack or similar services, of course. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From tom_mason@me.com Mon Oct 13 05:40: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=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 5776D7F4E for ; Mon, 13 Oct 2014 05:40:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 39ABE8F804B for ; Mon, 13 Oct 2014 03:40:56 -0700 (PDT) X-ASG-Debug-ID: 1413196854-04cbb018ad336f90001-NocioJ Received: from st11p01mm-asmtp001.mac.com (st11p01mm-asmtp001.mac.com [17.172.204.239]) by cuda.sgi.com with ESMTP id 0gmLz0xbzDVpWtG7 (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 13 Oct 2014 03:40:55 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.239 X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] Received: from [192.168.142.67] (unknown [82.71.189.231]) by st11p01mm-asmtp001.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDD00H4RPNMVH80@st11p01mm-asmtp001.mac.com> for xfs@oss.sgi.com; Mon, 13 Oct 2014 10:40:36 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-13_01:2014-10-10,2014-10-12,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410130109 References: <1413103408756-35026.post@n7.nabble.com> <20141012142008.GB35667@bfoster.bfoster> <20141012231001.GC5267@dastard> <20141013121951.6daa8652@harpe.intellique.com> MIME-version: 1.0 (1.0) In-reply-to: <20141013121951.6daa8652@harpe.intellique.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: <7053E9A9-ABEF-441B-85F9-AFAE7C97C7F5@me.com> Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Mon, 13 Oct 2014 11:40:33 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Emmanuel Florac X-Barracuda-Connect: st11p01mm-asmtp001.mac.com[17.172.204.239] X-Barracuda-Start-Time: 1413196855 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 13 Oct 2014, at 11:19, Emmanuel Florac wrote: >=20 > Le Mon, 13 Oct 2014 11:05:49 +0100 > Tom Mason =C3=A9crivait: >=20 >>> Which means the filesystem tried to read the offset at 62GB and the >>> underlying device failed it with EIO. That's not an XFS failure. >>> What error is there in dmesg when you run that xfs_repair command? =20 >>=20 >> What's EIO? >> 'Error in dmesg' How would I report this info to you? >=20 > "Input/Output Error" . Run the "dmesg" command immediately after > this error, and see what it reports last (end of command output). >=20 >>> This asks you to post the contents of /proc/partitions, which is >>> what the kernel thinks are the partition sizes. =20 >>=20 >> How do I do this? >=20 > cat /proc/partitions >=20 >>>> Yes it's a NAS drive and so I assume had some kind of proprietary >>>> OS on the other partitions (this is where i might have messed up >>>> by deleting?!) I'm pretty sure that the drive in bold below (sdc2) >>>> is the one I'm after which is xfs... =20 >>>=20 >>> Ummm, exactly what are you trying to do with this drive/filesystem? >>> What device did the drive come from in the first place? =20 >>=20 >> It's a lacie 'Neil poulton' network space1 1tb NAS drive (see first >> paragraph of post) - it recently stopped working and was stuck in a >> 'spin cycle' - it contains my music and video backups. I'm trying to >> recover the files... >=20 > Most probably disk is badly damaged, dead or dying. It's advisable to > try to create an image of the disk on another one, and work for this > image, because this disk will probably die any time now. It's no use > trying to repair a filesystem on a bad drive, which is the cause of the > errors from the beginning.=20 >=20 > If all you care is to get your files back, just try to mount the volume > in read-only, non-recovery mode : >=20 > mount -o ro,norecovery /dev/sdc2 /tmp/mount >=20 > Then proceed by copying whatever you can get. Consider that any file > that gives an error is lost. >=20 > The other option is Kroll Ontrack or similar services, of course. >=20 > Emmanuel Florac =20 Thanks everyone - I'm away from the device at the moment so will report back= when I get home, in about 8 hours or so.. Tom= From bfoster@redhat.com Mon Oct 13 06:21: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 0212D7F4E for ; Mon, 13 Oct 2014 06:21:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6E793AC007 for ; Mon, 13 Oct 2014 04:21:08 -0700 (PDT) X-ASG-Debug-ID: 1413199266-04cbb018ae337e70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XQl53W9jaSm8xk5F (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 13 Oct 2014 04:21: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-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 s9DBL6jM029854 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 13 Oct 2014 07:21:06 -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 s9DBL6ea005536; Mon, 13 Oct 2014 07:21:06 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 6AAB6120064; Mon, 13 Oct 2014 07:21:05 -0400 (EDT) Date: Mon, 13 Oct 2014 07:21:05 -0400 From: Brian Foster To: BillStuff Cc: xfs@oss.sgi.com Subject: Re: dmesg error in xfs_aops.c on kernel 3.14.21 Message-ID: <20141013112104.GA32963@bfoster.bfoster> X-ASG-Orig-Subj: Re: dmesg error in xfs_aops.c on kernel 3.14.21 References: <54397E0F.2050700@sbcglobal.net> <20141012140704.GA35667@bfoster.bfoster> <543ACFC2.2090308@sbcglobal.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <543ACFC2.2090308@sbcglobal.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: 1413199267 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 Sun, Oct 12, 2014 at 02:00:18PM -0500, BillStuff wrote: > On 10/12/2014 09:07 AM, Brian Foster wrote: > >On Sat, Oct 11, 2014 at 01:59:27PM -0500, BillStuff wrote: > >>Hi, > >> > >>I'm running 3.14.21, and got these traces in dmesg; they appear to be from > >>xfs: > >> > >>[56180.816526] ------------[ cut here ]------------ > >>[56180.816550] WARNING: CPU: 5 PID: 67 at fs/xfs/xfs_aops.c:1172 > > > > if (WARN_ON(delalloc)) > > return 0; > > > >So this generally looks like stale delalloc blocks on a page that is > >reclaimed/invalidated or otherwise expected to be clean. We've been > >seeing this a lot over the past few kernel releases and there have been > >a variety of fixes in error paths and such so it's hard to say precisely > >what might be causing this. Some examples: > > > >aad3f375 xfs: xfs_vm_write_end truncates too much on failure > >72ab70a1 xfs: write failure beyond EOF truncates too much data > >4ab9ed57 xfs: kill buffers over failed write ranges properly > > > >It looks like those are in the stable tree as of 3.15, so you could give > >that a try and see if it helps. Otherwise, can you post xfs_info for the > >filesytem? Do you have particular workloads or sequences of operations > >that tend to reproduce this? > > > >Brian > > > Thanks Brian, > > I'll try out those fixes. > It might be better to move to a more recent stable kernel if you can, as there could have been other fixes that I've missed. > The filesystem is home theater recordings on a 6 disk raid5 array: > > meta-data=/dev/md3 isize=256 agcount=81, agsize=15237264 > blks > = sectsz=4096 attr=2 > data = bsize=4096 blocks=1218981920, imaxpct=5 > = sunit=16 swidth=80 blks > naming =version 2 bsize=4096 ascii-ci=0 > log =internal bsize=4096 blocks=32768, version=2 > = sectsz=4096 sunit=1 blks, lazy-count=0 > realtime =none extsz=131072 blocks=0, rtextents=0 > > I believe it was just starting a recording when I got this message. > So creation of a new file? I guess that could mean reclaim of an old page to free up memory or something of that sort had detected it. If so, the problem could have originated any time in the past. Brian > -Bill > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Oct 13 12:11: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7C4EE7F4E for ; Mon, 13 Oct 2014 12:11:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3F9B18F8054 for ; Mon, 13 Oct 2014 10:11:30 -0700 (PDT) X-ASG-Debug-ID: 1413220288-04bdf028773545c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id UFGIugjdqn5wJev2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 13 Oct 2014 10:11: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-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 s9DHBRKb016209 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 13 Oct 2014 13:11:28 -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 s9DHBRFC007673 for ; Mon, 13 Oct 2014 13:11:27 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id E4CC2120064; Mon, 13 Oct 2014 13:11:25 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Date: Mon, 13 Oct 2014 13:11:25 -0400 X-ASG-Orig-Subj: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-Id: <1413220285-24886-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: 1413220288 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 The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Use the existing hole punch and prealloc mechanisms as primitives for zero range. We punch out the pagecache beforehand to eliminate unnecessary writeback. The hole punch mechanism handles partial block zeroing for us and facilitates the use of a single prealloc call over the entire range, which increases the odds of contiguous allocation. Signed-off-by: Brian Foster --- This is v4, but effectively an alternate implementation to v3 that reduces zero range to a hole punch and preallocate operation. I originally reproduced a hang with v3 + my unwritten conversion helper patch that I thought somehow related to said helper, but I have seen what appears to be the same thing with this patch after a couple hundred cycles of generic/269. That leads me to believe that there is a more general problem perhaps related to the increased extent manipulation going on in either implementation (whether for conversion or removal). I don't reproduce such a failure with focused hole punch testing on tot, but I do reproduce other assert failures that I suspect just mask the ability to reproduce this one. In short, all three of these configurations pass basic correctness tests for me. v3 has been the most reliable in stress tests. v3+unwritten conversion and v4 seem to reproduce this hang after a while. v4 is probably the most simple implementation of the three. Brian v4: - Simplify the implementation to use hole punch. v3: http://oss.sgi.com/archives/xfs/2014-10/msg00149.html - Pass length to xfs_alloc_file_space() rather than end offset. - Split up start/end page writeback branches. - Fix up a bunch of comments. v2: http://oss.sgi.com/archives/xfs/2014-10/msg00138.html - Refactor the logic to punch out pagecache/delalloc first and do allocation last to prevent stray delalloc on ENOSPC. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00052.html fs/xfs/xfs_bmap_util.c | 95 +++++++++++++++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 40 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 92e8f99..8d178fc 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1338,7 +1338,10 @@ xfs_free_file_space( goto out; } - +/* + * Preallocate and zero a range of a file. This mechanism has the allocation + * semantics of fallocate and in addition converts data in the range to zeroes. + */ int xfs_zero_file_space( struct xfs_inode *ip, @@ -1346,65 +1349,77 @@ xfs_zero_file_space( xfs_off_t len) { struct xfs_mount *mp = ip->i_mount; - uint granularity; + uint blksize; xfs_off_t start_boundary; xfs_off_t end_boundary; int error; + loff_t eof; trace_xfs_zero_file_space(ip); - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); + blksize = 1 << mp->m_sb.sb_blocklog; /* - * Round the range of extents we are going to convert inwards. If the - * offset is aligned, then it doesn't get changed so we zero from the - * start of the block offset points to. + * Align the range inward to page size. This represents the range of + * pages that can be tossed, even if dirty. */ - start_boundary = round_up(offset, granularity); - end_boundary = round_down(offset + len, granularity); + start_boundary = round_up(offset, PAGE_CACHE_SIZE); + end_boundary = round_down(offset + len, PAGE_CACHE_SIZE); ASSERT(start_boundary >= offset); ASSERT(end_boundary <= offset + len); - if (start_boundary < end_boundary - 1) { + /* + * If the range covers one or more full pages, punch out the pagecache + * and any delalloc blocks over the range. This is an optimization to + * prevent writeback and delalloc extent conversion over the zeroed + * range via the hole punch or prealloc calls. + * + * We only handle the page aligned range here because this function does + * not handle the partial block zeroing necessary to keep the cache and + * on-disk data consistent. That is the responsibility of the + * xfs_free_file_space() call below. + */ + if (end_boundary > start_boundary) { /* - * Writeback the range to ensure any inode size updates due to - * appending writes make it to disk (otherwise we could just - * punch out the delalloc blocks). + * Flush the eof page first if it falls within the range so we + * do not lose i_size updates. */ - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, - start_boundary, end_boundary - 1); - if (error) - goto out; + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); + if (i_size_read(VFS_I(ip)) > ip->i_d.di_size && + eof >= start_boundary && eof <= end_boundary) + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, + -1); truncate_pagecache_range(VFS_I(ip), start_boundary, end_boundary - 1); - /* convert the blocks */ - error = xfs_alloc_file_space(ip, start_boundary, - end_boundary - start_boundary - 1, - XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); - if (error) - goto out; - - /* We've handled the interior of the range, now for the edges */ - if (start_boundary != offset) { - error = xfs_iozero(ip, offset, start_boundary - offset); - if (error) - goto out; - } - - if (end_boundary != offset + len) - error = xfs_iozero(ip, end_boundary, - offset + len - end_boundary); - - } else { - /* - * It's either a sub-granularity range or the range spanned lies - * partially across two adjacent blocks. - */ - error = xfs_iozero(ip, offset, len); + xfs_ilock(ip, XFS_ILOCK_EXCL); + error = xfs_bmap_punch_delalloc_range(ip, + XFS_B_TO_FSBT(mp, start_boundary), + XFS_B_TO_FSB(mp, end_boundary - start_boundary)); + xfs_iunlock(ip, XFS_ILOCK_EXCL); } + /* + * Punch a hole and prealloc the range. We use hole punch rather than + * unwritten extent conversion for two reasons: + * + * 1.) Hole punch handles partial block zeroing for us. Note that we've + * already tossed pagecache over the aligned range so we won't write + * back too much data (only unaligned start/end pages to avoid races + * with uncached I/O). + * + * 2.) If prealloc returns ENOSPC, the file range is still zero-valued + * by virtue of the hole punch. + */ + error = xfs_free_file_space(ip, offset, len); + if (error) + goto out; + + error = xfs_alloc_file_space(ip, round_down(offset, blksize), + round_up(offset + len, blksize) - + round_down(offset, blksize), + XFS_BMAPI_PREALLOC); out: return error; -- 1.8.3.1 From tom_mason@me.com Mon Oct 13 15: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=HTML_MESSAGE,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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 123947F4E for ; Mon, 13 Oct 2014 15:34:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9B21630404E for ; Mon, 13 Oct 2014 13:34:10 -0700 (PDT) X-ASG-Debug-ID: 1413232447-04bdf0287835e7d0001-NocioJ Received: from st11p01mm-asmtp001.mac.com (st11p01mm-asmtp001.mac.com [17.172.204.239]) by cuda.sgi.com with ESMTP id Vq7vYYYN2OxeuU4x (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 13 Oct 2014 13:34:08 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.239 X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] Received: from st11p01mm-spool001.mac.com ([17.172.204.246]) by st11p01mm-asmtp001.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTP id <0NDE00DSVH4MFV30@st11p01mm-asmtp001.mac.com> for xfs@oss.sgi.com; Mon, 13 Oct 2014 20:34:00 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-13_03:2014-10-13,2014-10-13,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410130208 MIME-version: 1.0 Content-type: multipart/alternative; boundary="Boundary_(ID_SR8WvReHYm2n+SZJPUUEbg)" Received: from localhost ([17.172.205.17]) by st11p01mm-spool001.mac.com (Oracle Communications Messaging Server 7u4-27.08(7.0.4.27.7) 64bit (built Aug 22 2013)) with ESMTP id <0NDE006PJH4MHO50@st11p01mm-spool001.mac.com>; Mon, 13 Oct 2014 20:33:58 +0000 (GMT) To: Emmanuel Florac Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Mon, 13 Oct 2014 20:33:57 +0000 (GMT) X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning X-Mailer: iCloud MailClient14FPlus30 MailServer14G.17174 X-Originating-IP: [86.134.5.249] Message-id: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> X-Barracuda-Connect: st11p01mm-asmtp001.mac.com[17.172.204.239] X-Barracuda-Start-Time: 1413232448 X-Barracuda-Encrypted: RC4-MD5 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 --Boundary_(ID_SR8WvReHYm2n+SZJPUUEbg) Content-type: text/plain; charset=utf-8; format=flowed Content-transfer-encoding: quoted-printable =0A=0AOn Oct 13, 2014, at 11:19 AM, Emmanuel Florac wrote:=0A=0A> Le Mon, 13 Oct 2014 11:05:49 +0100=0A> Tom Mason =C3=A9crivait:=0A>=0A> > > Which means the file= system tried to read the offset at 62GB and the=0A> > > underl= ying device failed it with EIO. That's not an XFS failure.=0A> > = > What error is there in dmesg when you run that xfs_repair command?=0A= > >=0A> > What's EIO?=0A> > 'Error in dmesg' How woul= d I report this info to you?=0A =0Ar 1=0A[ 6.829125] ehci-pci 0000:00:0= 4.1: debug port 1=0A[ 6.829162] ehci-pci 0000:00:04.1: cache line size = of 256 is not supported=0A[ 6.829185] ehci-pci 0000:00:04.1: irq 22, io= mem 0xd0489200=0A[ 6.840043] ehci-pci 0000:00:04.1: USB 2.0 started, E= HCI 1.00=0A[ 6.840112] usb usb1: New USB device found, idVendor=3D1d6b,= idProduct=3D0002=0A[ 6.840116] usb usb1: New USB device strings: Mfr=3D= 3, Product=3D2, SerialNumber=3D1=0A[ 6.840119] usb usb1: Product: EHCI = Host Controller=0A[ 6.840122] usb usb1: Manufacturer: Linux 3.13.0-32-g= eneric ehci_hcd=0A[ 6.840125] usb usb1: SerialNumber: 0000:00:04.1=0A[ = 6.840295] hub 1-0:1.0: USB hub found=0A[ 6.840307] hub 1-0:1.0: 7 po= rts detected=0A[ 6.840791] ehci-pci 0000:00:06.1: EHCI Host Controller=0A= [ 6.840799] ehci-pci 0000:00:06.1: new USB bus registered, assigned bus= number 2=0A[ 6.840809] ehci-pci 0000:00:06.1: debug port 1=0A[ 6.84= 0837] ehci-pci 0000:00:06.1: cache line size of 256 is not supported=0A[ = 6.840855] ehci-pci 0000:00:06.1: irq 20, io mem 0xd0489100=0A[ 6.8520= 97] ehci-pci 0000:00:06.1: USB 2.0 started, EHCI 1.00=0A[ 6.852153] usb= usb2: New USB device found, idVendor=3D1d6b, idProduct=3D0002=0A[ 6.85= 2156] usb usb2: New USB device strings: Mfr=3D3, Product=3D2, SerialNumber= =3D1=0A[ 6.852160] usb usb2: Product: EHCI Host Controller=0A[ 6.852= 163] usb usb2: Manufacturer: Linux 3.13.0-32-generic ehci_hcd=0A[ 6.852= 166] usb usb2: SerialNumber: 0000:00:06.1=0A[ 6.852324] hub 2-0:1.0: US= B hub found=0A[ 6.852337] hub 2-0:1.0: 5 ports detected=0A[ 6.852595= ] ehci-platform: EHCI generic platform driver=0A[ 6.852609] ohci_hcd: U= SB 1.1 'Open' Host Controller (OHCI) Driver=0A[ 6.852611] ohci-pci: OHC= I PCI platform driver=0A[ 6.852818] ohci-pci 0000:00:04.0: OHCI PCI hos= t controller=0A[ 6.852825] ohci-pci 0000:00:04.0: new USB bus registere= d, assigned bus number 3=0A[ 6.852852] ohci-pci 0000:00:04.0: irq 23, i= o mem 0xd0488000=0A[ 6.910128] usb usb3: New USB device found, idVendor= =3D1d6b, idProduct=3D0001=0A[ 6.910132] usb usb3: New USB device string= s: Mfr=3D3, Product=3D2, SerialNumber=3D1=0A[ 6.910135] usb usb3: Produ= ct: OHCI PCI host controller=0A[ 6.910138] usb usb3: Manufacturer: Linu= x 3.13.0-32-generic ohci_hcd=0A[ 6.910141] usb usb3: SerialNumber: 0000= :00:04.0=0A[ 6.910291] hub 3-0:1.0: USB hub found=0A[ 6.910304] hub = 3-0:1.0: 7 ports detected=0A[ 6.910784] ohci-pci 0000:00:06.0: OHCI PCI= host controller=0A[ 6.910792] ohci-pci 0000:00:06.0: new USB bus regis= tered, assigned bus number 4=0A[ 6.910817] ohci-pci 0000:00:06.0: irq 2= 1, io mem 0xd0487000=0A[ 6.966125] usb usb4: New USB device found, idVe= ndor=3D1d6b, idProduct=3D0001=0A[ 6.966130] usb usb4: New USB device st= rings: Mfr=3D3, Product=3D2, SerialNumber=3D1=0A[ 6.966133] usb usb4: P= roduct: OHCI PCI host controller=0A[ 6.966136] usb usb4: Manufacturer: = Linux 3.13.0-32-generic ohci_hcd=0A[ 6.966139] usb usb4: SerialNumber: = 0000:00:06.0=0A[ 6.966289] hub 4-0:1.0: USB hub found=0A[ 6.966302] = hub 4-0:1.0: 5 ports detected=0A[ 6.966553] ohci-platform: OHCI generic= platform driver=0A[ 6.966564] uhci_hcd: USB Universal Host Controller = Interface driver=0A[ 6.966638] i8042: PNP: No PS/2 controller found. Pr= obing ports directly.=0A[ 7.993878] i8042: No controller found=0A[ 7= .993976] mousedev: PS/2 mouse device common for all mice=0A[ 7.994467] = rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0=0A[ 7.994520] rtc= _cmos 00:06: alarms up to one year, y3k, 242 bytes nvram, hpet irqs=0A[ = 7.994609] device-mapper: uevent: version 1.0.3=0A[ 7.994707] device-ma= pper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com=0A= [ 7.994714] ledtrig-cpu: registered to indicate activity on CPUs=0A[ = 7.994853] TCP: cubic registered=0A[ 7.994990] NET: Registered protocol= family 10=0A[ 7.995233] NET: Registered protocol family 17=0A[ 7.99= 5252] Key type dns_resolver registered=0A[ 7.995588] Loading compiled-i= n X.509 certificates=0A[ 7.997230] Loaded X.509 cert 'Magrathea: Glacie= r signing key: 5e3c0f9ca6e36543535fa2bb5b709e84f16da7c7'=0A[ 7.997251] = registered taskstats version 1=0A[ 8.001292] Key type trusted registere= d=0A[ 8.004490] Key type encrypted registered=0A[ 8.007652] AppArmor= : AppArmor sha1 policy hashing enabled=0A[ 8.007656] IMA: No TPM chip f= ound, activating TPM-bypass!=0A[ 8.008268] regulator-dummy: disabling=0A= [ 8.008332] Magic number: 2:86:43=0A[ 8.008478] rtc_cmos 00:06: se= tting system clock to 2014-10-13 20:01:54 UTC (1413230514)=0A[ 8.009069= ] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found=0A[ 8.009072] ED= D information not available.=0A[ 8.009129] PM: Hibernation image not pr= esent or could not be loaded.=0A[ 8.010552] Freeing unused kernel memor= y: 1336K (ffffffff81d1f000 - ffffffff81e6d000)=0A[ 8.010554] Write prot= ecting the kernel read-only data: 12288k=0A[ 8.012782] Freeing unused k= ernel memory: 816K (ffff880001734000 - ffff880001800000)=0A[ 8.014538] = Freeing unused kernel memory: 696K (ffff880001b52000 - ffff880001c00000)=0A= [ 8.027129] systemd-udevd[100]: starting version 204=0A[ 8.050650] f= orcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.=0A[ = 8.050899] ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 16=0A[ 8.06049= 8] [drm] Initialized drm 1.1.0 20060810=0A[ 8.088254] firewire_ohci 000= 0:04:00.0: irq 43 for MSI/MSI-X=0A[ 8.090165] [drm] radeon kernel modes= etting enabled.=0A[ 8.090427] [drm] initializing kernel modesetting (RV= 770 0x1002:0x944A 0x106B:0x944A).=0A[ 8.090442] [drm] register mmio bas= e: 0xD0220000=0A[ 8.090443] [drm] register mmio size: 65536=0A[ 8.09= 0492] radeon 0000:02:00.0: Invalid ROM contents=0A[ 8.091227] ATOM BIOS= : 113=0A[ 8.091254] radeon 0000:02:00.0: VRAM: 512M 0x0000000000000000 = - 0x000000001FFFFFFF (512M used)=0A[ 8.091256] radeon 0000:02:00.0: GTT= : 1024M 0x0000000020000000 - 0x000000005FFFFFFF=0A[ 8.091258] [drm] Det= ected VRAM RAM=3D512M, BAR=3D256M=0A[ 8.091259] [drm] RAM width 256bits= DDR=0A[ 8.091404] [TTM] Zone kernel: Available graphics memory: 40763= 28 kiB=0A[ 8.091405] [TTM] Zone dma32: Available graphics memory: 209= 7152 kiB=0A[ 8.091406] [TTM] Initializing pool allocator=0A[ 8.09141= 1] [TTM] Initializing DMA pool allocator=0A[ 8.091427] [drm] radeon: 51= 2M of VRAM memory ready=0A[ 8.091428] [drm] radeon: 1024M of GTT memory= ready.=0A[ 8.091441] [drm] Loading RV770 Microcode=0A[ 8.091512] [d= rm] GART: num cpu pages 262144, num gpu pages 262144=0A[ 8.094226] [drm= ] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=3D0=0A[ = 8.111879] usb 1-4: new high-speed USB device number 2 using ehci-pci=0A[= 8.111916] ssb: Found chip with id 0x4322, rev 0x01 and package 0x0A=0A= [ 8.111921] ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x17, vendor 0= x4243)=0A[ 8.111927] ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x10= , vendor 0x4243)=0A[ 8.111932] ssb: Core 2 found: PCI-E (cc 0x820, rev = 0x0B, vendor 0x4243)=0A[ 8.111937] ssb: Core 3 found: PCI (cc 0x804, re= v 0x0E, vendor 0x4243)=0A[ 8.111942] ssb: Core 4 found: USB 2.0 Device = (cc 0x81A, rev 0x05, vendor 0x4243)=0A[ 8.111947] ssb: Core 5 found: UN= KNOWN (cc 0x8FF, rev 0x00, vendor 0x4243)=0A[ 8.111953] ssb: Core 6 fou= nd: Internal Memory (cc 0x80E, rev 0x03, vendor 0x4243)=0A[ 8.113736] [= drm] PCIE GART of 1024M enabled (table at 0x0000000000040000).=0A[ 8.11= 3775] radeon 0000:02:00.0: WB enabled=0A[ 8.113778] radeon 0000:02:00.0= : fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xff= ff88023352ec00=0A[ 8.113780] radeon 0000:02:00.0: fence driver on ring = 3 use gpu addr 0x0000000020000c0c and cpu addr 0xffff88023352ec0c=0A[ 8= .113783] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).=0A[ = 8.113784] [drm] Driver supports precise vblank timestamp query.=0A[ 8= .113805] radeon 0000:02:00.0: irq 44 for MSI/MSI-X=0A[ 8.113816] radeon= 0000:02:00.0: radeon: using MSI.=0A[ 8.113841] [drm] radeon: irq initi= alized.=0A[ 8.129822] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x73= 2 @ 1, addr 00:25:00:a5:98:42=0A[ 8.129825] forcedeth 0000:00:0a.0: hig= hdma csum pwrctl gbit lnktim msi desc-v3=0A[ 8.144058] firewire_ohci 00= 00:04:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirk= s 0x0=0A[ 8.161628] [drm] ring test on 0 succeeded in 0 usecs=0A[ 8.= 161806] [drm] ring test on 3 succeeded in 0 usecs=0A[ 8.162282] [drm] E= nabling audio 0 support=0A[ 8.162342] [drm] ib test on ring 0 succeeded= in 0 usecs=0A[ 8.162880] [drm] ib test on ring 3 succeeded in 0 usecs=0A= [ 8.168632] ahci 0000:00:0b.0: version 3.0=0A[ 8.169043] ACPI: PCI I= nterrupt Link [LSI0] enabled at IRQ 23=0A[ 8.170020] ahci 0000:00:0b.0:= irq 45 for MSI/MSI-X=0A[ 8.170036] ahci 0000:00:0b.0: controller can't= do PMP, turning off CAP_PMP=0A[ 8.170104] ahci 0000:00:0b.0: AHCI 0001= .0200 32 slots 6 ports 3 Gbps 0x3 impl IDE mode=0A[ 8.170107] ahci 0000= :00:0b.0: flags: 64bit ncq sntf pm led pio slum part boh=0A[ 8.170957] = scsi0 : ahci=0A[ 8.171028] scsi1 : ahci=0A[ 8.171081] scsi2 : ahci=0A= [ 8.171130] scsi3 : ahci=0A[ 8.171180] scsi4 : ahci=0A[ 8.171235]= scsi5 : ahci=0A[ 8.171268] ata1: SATA max UDMA/133 abar m8192@0xd04840= 00 port 0xd0484100 irq 45=0A[ 8.171270] ata2: SATA max UDMA/133 abar m8= 192@0xd0484000 port 0xd0484180 irq 45=0A[ 8.171271] ata3: DUMMY=0A[ = 8.171272] ata4: DUMMY=0A[ 8.171273] ata5: DUMMY=0A[ 8.171274] ata6: = DUMMY=0A[ 8.192095] [drm] radeon atom DIG backlight initialized=0A[ = 8.192099] [drm] Radeon Display Connectors=0A[ 8.192101] [drm] Connector= 0:=0A[ 8.192103] [drm] DP-1=0A[ 8.192105] [drm] HPD2=0A[ 8.1= 92108] [drm] DDC: 0x7e60 0x7e60 0x7e64 0x7e64 0x7e68 0x7e68 0x7e6c 0x7e6= c=0A[ 8.192110] [drm] Encoders:=0A[ 8.192112] [drm] DFP1: INTE= RNAL_UNIPHY=0A[ 8.192114] [drm] Connector 1:=0A[ 8.192116] [drm] D= P-2=0A[ 8.192117] [drm] HPD3=0A[ 8.192120] [drm] DDC: 0x7e20 0x7= e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c=0A[ 8.192122] [drm] Enc= oders:=0A[ 8.192123] [drm] DFP2: INTERNAL_UNIPHY=0A[ 8.192125] [= drm] Connector 2:=0A[ 8.192127] [drm] LVDS-1=0A[ 8.192129] [drm] = Encoders:=0A[ 8.192130] [drm] LCD1: INTERNAL_KLDSCP_LVTMA=0A[ 8= .192132] [drm] Connector 3:=0A[ 8.192134] [drm] VGA-1=0A[ 8.192137= ] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c=0A[= 8.192138] [drm] Encoders:=0A[ 8.192140] [drm] CRT1: INTERNAL_= KLDSCP_DAC1=0A[ 8.192279] [drm] Special thermal controller config=0A[ = 8.192290] [drm] radeon: power management initialized=0A[ 8.220198] ss= b: Sonics Silicon Backplane found on PCI device 0000:03:00.0=0A[ 8.2762= 86] usb 1-4: Duplicate descriptor for config 1 interface 1 altsetting 5, s= kipping=0A[ 8.276291] usb 1-4: config 1 interface 1 has no altsetting 1= =0A[ 8.277975] usb 1-4: New USB device found, idVendor=3D05ac, idProduc= t=3D8502=0A[ 8.277979] usb 1-4: New USB device strings: Mfr=3D1, Produc= t=3D2, SerialNumber=3D3=0A[ 8.277982] usb 1-4: Product: Built-in iSight= =0A[ 8.277985] usb 1-4: Manufacturer: Apple Inc.=0A[ 8.277988] usb 1= -4: SerialNumber: 8J94412442CX3E00=0A[ 8.488109] ata1: SATA link up 3.0= Gbps (SStatus 123 SControl 300)=0A[ 8.489125] ata1.00: ATA-8: Hitachi = HDT721064SLA360, ST0KA36A, max UDMA/133=0A[ 8.489129] ata1.00: 12502637= 28 sectors, multi 0: LBA48 NCQ (depth 31/32)=0A[ 8.490389] ata1.00: con= figured for UDMA/133=0A[ 8.490581] scsi 0:0:0:0: Direct-Access ATA = Hitachi HDT72106 ST0K PQ: 0 ANSI: 5=0A[ 8.490699] sd 0:0:0:0: Atta= ched scsi generic sg0 type 0=0A[ 8.490783] sd 0:0:0:0: [sda] 1250263728= 512-byte logical blocks: (640 GB/596 GiB)=0A[ 8.490898] sd 0:0:0:0: [s= da] Write Protect is off=0A[ 8.490901] sd 0:0:0:0: [sda] Mode Sense: 00= 3a 00 00=0A[ 8.490948] sd 0:0:0:0: [sda] Write cache: enabled, read ca= che: enabled, doesn't support DPO or FUA=0A[ 8.492063] ata2: SATA link = up 1.5 Gbps (SStatus 113 SControl 300)=0A[ 8.496523] ata2.00: ATAPI: HL= -DT-ST DVDRW GA11N, KA16, max UDMA/133=0A[ 8.502177] ata2.00: configur= ed for UDMA/133=0A[ 8.508246] scsi 1:0:0:0: CD-ROM HL-DT-ST = DVDRW GA11N KA16 PQ: 0 ANSI: 5=0A[ 8.512429] sr0: scsi3-mmc drive:= 31x/31x writer cd/rw xa/form2 cdda caddy=0A[ 8.512432] cdrom: Uniform = CD-ROM driver Revision: 3.20=0A[ 8.512534] sr 1:0:0:0: Attached scsi CD= -ROM sr0=0A[ 8.512578] sr 1:0:0:0: Attached scsi generic sg1 type 5=0A[= 8.555847] sda: sda1 sda2 sda3 sda4=0A[ 8.556239] sd 0:0:0:0: [sda]= Attached SCSI disk=0A[ 8.644196] firewire_core 0000:04:00.0: created d= evice fw0: GUID 002500fffea59842, S800=0A[ 8.704105] usb 2-4: new high-= speed USB device number 3 using ehci-pci=0A[ 8.844637] usb 2-4: New USB= device found, idVendor=3D05ac, idProduct=3D1006=0A[ 8.844641] usb 2-4:= New USB device strings: Mfr=3D1, Product=3D2, SerialNumber=3D3=0A[ 8.8= 44645] usb 2-4: Product: Keyboard Hub=0A[ 8.844648] usb 2-4: Manufactur= er: Apple, Inc.=0A[ 8.844651] usb 2-4: SerialNumber: 000000000000=0A[ = 8.844900] hub 2-4:1.0: USB hub found=0A[ 8.845009] hub 2-4:1.0: 3 por= ts detected=0A[ 8.887236] [drm] fb mappable at 0xC0241000=0A[ 8.8872= 38] [drm] vram apper at 0xC0000000=0A[ 8.887239] [drm] size 9216000=0A[= 8.887240] [drm] fb depth is 24=0A[ 8.887241] [drm] pitch is 7680= =0A[ 8.887305] fbcon: radeondrmfb (fb0) is primary device=0A[ 8.9371= 01] Console: switching to colour frame buffer device 240x75=0A[ 8.94202= 2] radeon 0000:02:00.0: fb0: radeondrmfb frame buffer device=0A[ 8.9420= 24] radeon 0000:02:00.0: registered panic notifier=0A[ 8.942033] [drm] = Initialized radeon 2.36.0 20080528 for 0000:02:00.0 on minor 0=0A[ 9.14= 8130] usb 4-1: new full-speed USB device number 2 using ohci-pci=0A[ 9.= 370182] usb 4-1: New USB device found, idVendor=3D0a5c, idProduct=3D4500=0A= [ 9.370187] usb 4-1: New USB device strings: Mfr=3D1, Product=3D2, Seri= alNumber=3D0=0A[ 9.370191] usb 4-1: Product: BRCM2046 Hub=0A[ 9.3701= 94] usb 4-1: Manufacturer: Apple Inc.=0A[ 9.373223] hub 4-1:1.0: USB hu= b found=0A[ 9.376193] hub 4-1:1.0: 3 ports detected=0A[ 9.820112] us= b 3-5: new low-speed USB device number 2 using ohci-pci=0A[ 10.035180] u= sb 3-5: New USB device found, idVendor=3D05ac, idProduct=3D8242=0A[ 10.0= 35184] usb 3-5: New USB device strings: Mfr=3D1, Product=3D2, SerialNumber= =3D0=0A[ 10.035188] usb 3-5: Product: IR Receiver=0A[ 10.035191] usb 3= -5: Manufacturer: Apple Computer, Inc.=0A[ 10.044975] hidraw: raw HID ev= ents driver (C) Jiri Kosina=0A[ 10.052155] usbcore: registered new inter= face driver usbhid=0A[ 10.052156] usbhid: USB HID core driver=0A[ 10.1= 12160] usb 2-4.2: new low-speed USB device number 4 using ehci-pci=0A[ 1= 0.211410] usb 2-4.2: New USB device found, idVendor=3D05ac, idProduct=3D02= 21=0A[ 10.211414] usb 2-4.2: New USB device strings: Mfr=3D1, Product=3D= 2, SerialNumber=3D0=0A[ 10.211418] usb 2-4.2: Product: Apple Keyboard=0A= [ 10.211421] usb 2-4.2: Manufacturer: Apple, Inc=0A[ 10.219118] input:= Apple, Inc Apple Keyboard as /devices/pci0000:00/0000:00:06.1/usb2/2-4/2-= 4.2/2-4.2:1.0/input/input3=0A[ 10.219184] apple 0003:05AC:0221.0002: inp= ut,hidraw0: USB HID v1.11 Keyboard [Apple, Inc Apple Keyboard] on usb-0000= :00:06.1-4.2/input0=0A[ 10.219906] input: Apple, Inc Apple Keyboard as /= devices/pci0000:00/0000:00:06.1/usb2/2-4/2-4.2/2-4.2:1.1/input/input4=0A[ = 10.219967] apple 0003:05AC:0221.0003: input,hidraw1: USB HID v1.11 Devic= e [Apple, Inc Apple Keyboard] on usb-0000:00:06.1-4.2/input1=0A[ 10.2881= 62] usb 2-4.3: new low-speed USB device number 5 using ehci-pci=0A[ 10.3= 86637] usb 2-4.3: New USB device found, idVendor=3D05ac, idProduct=3D0304=0A= [ 10.386642] usb 2-4.3: New USB device strings: Mfr=3D1, Product=3D2, Se= rialNumber=3D0=0A[ 10.386645] usb 2-4.3: Product: Apple Optical USB Mous= e=0A[ 10.386648] usb 2-4.3: Manufacturer: Mitsumi Electric=0A[ 10.3896= 28] input: Mitsumi Electric Apple Optical USB Mouse as /devices/pci0000:00= /0000:00:06.1/usb2/2-4/2-4.3/2-4.3:1.0/input/input5=0A[ 10.389708] apple= 0003:05AC:0304.0004: input,hidraw2: USB HID v1.10 Mouse [Mitsumi Electric= Apple Optical USB Mouse] on usb-0000:00:06.1-4.3/input0=0A[ 10.466183] = usb 4-1.1: new full-speed USB device number 3 using ohci-pci=0A[ 10.5881= 82] usb 4-1.1: New USB device found, idVendor=3D05ac, idProduct=3D8215=0A[= 10.588187] usb 4-1.1: New USB device strings: Mfr=3D1, Product=3D2, Ser= ialNumber=3D3=0A[ 10.588190] usb 4-1.1: Product: Bluetooth USB Host Cont= roller=0A[ 10.588193] usb 4-1.1: Manufacturer: Apple Inc.=0A[ 10.58819= 6] usb 4-1.1: SerialNumber: 002500C0F736=0A[ 10.665180] usb 4-1.2: new f= ull-speed USB device number 4 using ohci-pci=0A[ 10.776183] usb 4-1.2: N= ew USB device found, idVendor=3D05ac, idProduct=3D820a=0A[ 10.776188] us= b 4-1.2: New USB device strings: Mfr=3D0, Product=3D0, SerialNumber=3D0=0A= [ 10.788074] input: HID 05ac:820a as /devices/pci0000:00/0000:00:06.0/us= b4/4-1/4-1.2/4-1.2:1.0/input/input6=0A[ 10.788130] hid-generic 0003:05AC= :820A.0005: input,hidraw3: USB HID v1.11 Keyboard [HID 05ac:820a] on usb-0= 000:00:06.0-1.2/input0=0A[ 10.861178] usb 4-1.3: new full-speed USB devi= ce number 5 using ohci-pci=0A[ 10.972182] usb 4-1.3: New USB device foun= d, idVendor=3D05ac, idProduct=3D820b=0A[ 10.972187] usb 4-1.3: New USB d= evice strings: Mfr=3D0, Product=3D0, SerialNumber=3D0=0A[ 10.982514] inp= ut: HID 05ac:820b as /devices/pci0000:00/0000:00:06.0/usb4/4-1/4-1.3/4-1.3= :1.0/input/input7=0A[ 10.982589] hid-generic 0003:05AC:820B.0006: input,= hidraw4: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:06.0-1.3/input= 0=0A[ 11.867826] random: nonblocking pool is initialized=0A[ 16.829248= ] ISO 9660 Extensions: Microsoft Joliet Level 3=0A[ 16.832917] ISO 9660 = Extensions: RRIP_1991A=0A[ 19.402642] squashfs: version 4.0 (2009/01/31)= Phillip Lougher=0A[ 95.404256] IPv6: ADDRCONF(NETDEV_UP): eth0: link is= not ready=0A[ 98.480471] systemd-udevd[1054]: starting version 204=0A[ = 107.782107] lp: driver loaded but no devices found=0A[ 108.557147] ppdev= : user-space parallel port driver=0A[ 111.968587] init: cups main process= (1100) killed by HUP signal=0A[ 111.968600] init: cups main process ende= d, respawning=0A[ 111.975115] Bluetooth: Core ver 2.17=0A[ 111.975128] N= ET: Registered protocol family 31=0A[ 111.975129] Bluetooth: HCI device a= nd connection manager initialized=0A[ 111.975137] Bluetooth: HCI socket l= ayer initialized=0A[ 111.975139] Bluetooth: L2CAP socket layer initialize= d=0A[ 111.975142] Bluetooth: SCO socket layer initialized=0A[ 113.413518= ] Bluetooth: RFCOMM TTY layer initialized=0A[ 113.413530] Bluetooth: RFCO= MM socket layer initialized=0A[ 113.413534] Bluetooth: RFCOMM ver 1.11=0A= [ 113.875800] Bluetooth: BNEP (Ethernet Emulation) ver 1.3=0A[ 113.87580= 3] Bluetooth: BNEP filters: protocol multicast=0A[ 113.875812] Bluetooth:= BNEP socket layer initialized=0A[ 114.143675] i2c i2c-7: nForce2 SMBus a= dapter at 0x2140=0A[ 114.143719] i2c i2c-8: nForce2 SMBus adapter at 0x21= 00=0A[ 119.341861] device-mapper: multipath: version 1.6.0 loaded=0A[ 12= 2.364816] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 22=0A[ 122.36482= 6] hda_intel: Disabling MSI=0A[ 122.364850] hda-intel 0000:00:08.0: Disab= ling 64bit DMA=0A[ 122.369265] hda-intel 0000:00:08.0: Enable delay in RI= RB handling=0A[ 122.537244] cfg80211: Calling CRDA to update world regula= tory domain=0A[ 122.548169] input: Apple Computer, Inc. IR Receiver as /d= evices/pci0000:00/0000:00:04.0/usb3/3-5/3-5:1.0/input/input8=0A[ 122.5482= 67] appleir 0003:05AC:8242.0001: input,hiddev0,hidraw5: USB HID v1.11 Devi= ce [Apple Computer, Inc. IR Receiver] on usb-0000:00:04.0-5/input0=0A[ 12= 3.624345] usbcore: registered new interface driver btusb=0A[ 123.641112] = usb 4-1.2: USB disconnect, device number 4=0A[ 123.788302] hda_codec: ALC= 889A: SKU not ready 0x400000f0=0A[ 123.800111] usb 4-1.3: USB disconnect,= device number 5=0A[ 123.844020] autoconfig: line_outs=3D2 (0x1a/0x18/0x0= /0x0/0x0) type:speaker=0A[ 123.844023] speaker_outs=3D0 (0x0/0x0/0x0/0= x0/0x0)=0A[ 123.844025] hp_outs=3D1 (0x14/0x0/0x0/0x0/0x0)=0A[ 123.84= 4026] mono: mono_out=3D0x0=0A[ 123.844027] dig-out=3D0x1e/0x0=0A[ = 123.844028] inputs:=0A[ 123.844029] Mic=3D0x19=0A[ 123.844030] = Line=3D0x15=0A[ 123.844031] dig-in=3D0x1f=0A[ 123.844033] realtek= : No valid SSID, checking pincfg 0x400000f0 for NID 0x1d=0A[ 123.844034] = realtek: Enable default setup for auto mode as fallback=0A[ 124.645737] L= inux video capture interface: v2.00=0A[ 125.527345] init: failsafe main p= rocess (1316) killed by TERM signal=0A[ 125.579476] input: HDA NVidia Hea= dphone as /devices/pci0000:00/0000:00:08.0/sound/card0/input10=0A[ 125.58= 2542] input: HDA NVidia Line as /devices/pci0000:00/0000:00:08.0/sound/car= d0/input9=0A[ 125.635895] ACPI: PCI Interrupt Link [Z004] enabled at IRQ = 21=0A[ 125.635914] hda-intel 0000:02:00.1: Handle VGA-switcheroo audio cl= ient=0A[ 125.635915] hda-intel 0000:02:00.1: Using LPIB position fix=0A[ = 125.635959] snd_hda_intel 0000:02:00.1: irq 46 for MSI/MSI-X=0A[ 125.649= 835] hda-intel 0000:02:00.1: Enable sync_write for stable communication=0A= [ 125.685886] applesmc: key=3D241 fan=3D3 temp=3D15 index=3D15 acc=3D0 lu= x=3D2 kbd=3D0=0A[ 126.589401] HDMI ATI/AMD: no speaker allocation for ELD= =0A[ 126.589455] input: HDA ATI HDMI HDMI/DP,pcm=3D3 as /devices/pci0000:= 00/0000:00:0c.0/0000:02:00.1/sound/card1/input11=0A[ 127.755350] cfg80211= : World regulatory domain updated:=0A[ 127.755354] cfg80211: (start_fre= q - end_freq @ bandwidth), (max_antenna_gain, max_eirp)=0A[ 127.755356] c= fg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)=0A= [ 127.755358] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 m= Bi, 2000 mBm)=0A[ 127.755359] cfg80211: (2474000 KHz - 2494000 KHz @ 20= 000 KHz), (300 mBi, 2000 mBm)=0A[ 127.755361] cfg80211: (5170000 KHz - = 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)=0A[ 127.755362] cfg80211: = (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)=0A[ 127.908= 347] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8502)=0A[ 127.= 913856] input: Built-in iSight as /devices/pci0000:00/0000:00:04.1/usb1/1-= 4/1-4:1.0/input/input12=0A[ 127.913952] usbcore: registered new interface= driver uvcvideo=0A[ 127.913953] USB Video Class driver (1.1.1)=0A[ 129.= 566189] b43-phy0: Broadcom 4322 WLAN found (core revision 16)=0A[ 129.608= 044] b43-phy0: Found PHY: Analog 8, Type 4 (N), Revision 4=0A[ 129.632482= ] b43 ssb0:0: Direct firmware load failed with error -2=0A[ 129.632485] b= 43 ssb0:0: Falling back to user helper=0A[ 129.632529] Broadcom 43xx driv= er loaded [ Features: PNL ]=0A[ 129.633372] b43 ssb0:0: Direct firmware l= oad failed with error -2=0A[ 129.633375] b43 ssb0:0: Falling back to user= helper=0A[ 129.634217] b43 ssb0:0: Direct firmware load failed with erro= r -2=0A[ 129.634220] b43 ssb0:0: Falling back to user helper=0A[ 129.634= 711] b43 ssb0:0: Direct firmware load failed with error -2=0A[ 129.634713= ] b43 ssb0:0: Falling back to user helper=0A[ 129.635388] b43-phy0 ERROR:= Firmware file "b43/ucode16_mimo.fw" not found=0A[ 129.635391] b43-phy0 E= RROR: Firmware file "b43-open/ucode16_mimo.fw" not found=0A[ 129.635393] = b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers= /b43#devicefirmware and download the correct firmware for this driver vers= ion. Please carefully read all instructions on this website.=0A[ 153.4548= 44] init: alsa-restore main process (1570) terminated with status 99=0A[ = 159.859881] forcedeth 0000:00:0a.0: irq 47 for MSI/MSI-X=0A[ 159.859908] = forcedeth 0000:00:0a.0 eth0: MSI enabled=0A[ 180.483909] init: plymouth-u= pstart-bridge main process ended, respawning=0A[ 180.498245] init: plymou= th-upstart-bridge main process ended, respawning=0A[ 862.456063] usb 1-3:= new high-speed USB device number 4 using ehci-pci=0A[ 862.591595] usb 1-= 3: New USB device found, idVendor=3D1bcf, idProduct=3D0c31=0A[ 862.591601= ] usb 1-3: New USB device strings: Mfr=3D2, Product=3D3, SerialNumber=3D1=0A= [ 862.591604] usb 1-3: Product: USB to Serial-ATA bridge=0A[ 862.591608]= usb 1-3: Manufacturer: Sunplus Innovation Technology.=0A[ 862.591611] us= b 1-3: SerialNumber: FAFFFFF0FDF13FF1BF901305=0A[ 864.683460] usb-storage= 1-3:1.0: USB Mass Storage device detected=0A[ 864.683638] scsi6 : usb-st= orage 1-3:1.0=0A[ 864.683708] usbcore: registered new interface driver us= b-storage=0A[ 865.690235] scsi 6:0:0:0: Direct-Access SAMSUNG HD103U= J PQ: 0 ANSI: 4=0A[ 865.690464] sd 6:0:0:0: Attached scsi g= eneric sg2 type 0=0A[ 865.694619] sd 6:0:0:0: [sdb] 1953525168 512-byte l= ogical blocks: (1.00 TB/931 GiB)=0A[ 865.700970] sd 6:0:0:0: [sdb] Write = Protect is off=0A[ 865.700973] sd 6:0:0:0: [sdb] Mode Sense: 38 00 00 00=0A= [ 865.707350] sd 6:0:0:0: [sdb] No Caching mode page found=0A[ 865.70735= 2] sd 6:0:0:0: [sdb] Assuming drive cache: write through=0A[ 865.721592] = sd 6:0:0:0: [sdb] No Caching mode page found=0A[ 865.721595] sd 6:0:0:0: = [sdb] Assuming drive cache: write through=0A[ 865.741343] sdb: sdb1 < > = sdb2=0A[ 865.780852] sd 6:0:0:0: [sdb] No Caching mode page found=0A[ 86= 5.780855] sd 6:0:0:0: [sdb] Assuming drive cache: write through=0A[ 865.7= 80857] sd 6:0:0:0: [sdb] Attached SCSI disk=0A[ 869.594066] SGI XFS with = ACLs, security attributes, realtime, large block/inode numbers, no debug e= nabled=0A[ 869.609228] XFS (sdb2): Mounting Filesystem=0A[ 869.687220] X= FS (sdb2): Internal error xlog_clear_stale_blocks(2) at line 1368 of file = /build/buildd/linux-3.13.0/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa07= a8951=0A[ 869.687226] CPU: 1 PID: 5635 Comm: mount Not tainted 3.13.0-32-= generic #57-Ubuntu=0A[ 869.687227] Hardware name: Apple Inc. iMac9,1/Mac-= F2218FA9, BIOS IM91.88Z.008D.B08.0904271717 04/27/09=0A[ 869.687229] = 00000000000045e1 ffff88021f8f5c38 ffffffff8171bcb4 ffff88020c7c7400=0A[ = 869.687232] ffff88021f8f5c50 ffffffffa075753b ffffffffa07a8951 ffff88021f= 8f5c90=0A[ 869.687234] ffffffffa07a5cf3 ffffffffa07a538f ffff88020c7c740= 0 ffff880219400780=0A[ 869.687236] Call Trace:=0A[ 869.687243] [] dump_stack+0x45/0x56=0A[ 869.687269] [] x= fs_error_report+0x3b/0x40 [xfs]=0A[ 869.687287] [] ? x= log_find_tail+0x341/0x3d0 [xfs]=0A[ 869.687302] [] xlo= g_clear_stale_blocks+0x183/0x1c0 [xfs]=0A[ 869.687318] [] ? xlog_bread+0x3f/0x50 [xfs]=0A[ 869.687334] [] xl= og_find_tail+0x341/0x3d0 [xfs]=0A[ 869.687350] [] xlog= _recover+0x1e/0xc0 [xfs]=0A[ 869.687367] [] xfs_log_mo= unt+0x1bc/0x260 [xfs]=0A[ 869.687380] [] xfs_mountfs+0= x3aa/0x700 [xfs]=0A[ 869.687392] [] xfs_fs_fill_super+= 0x2b2/0x330 [xfs]=0A[ 869.687396] [] mount_bdev+0x1b0/= 0x1f0=0A[ 869.687409] [] ? xfs_parseargs+0xbd0/0xbd0 [= xfs]=0A[ 869.687422] [] xfs_fs_mount+0x15/0x20 [xfs]=0A= [ 869.687425] [] mount_fs+0x39/0x1b0=0A[ 869.687428] = [] ? __alloc_percpu+0x10/0x20=0A[ 869.687431] [] vfs_kern_mount+0x67/0x110=0A[ 869.687433] [] do_mount+0x23e/0xad0=0A[ 869.687435] [] ? strndup= _user+0x4b/0xf0=0A[ 869.687437] [] SyS_mount+0x83/0xc0= =0A[ 869.687440] [] tracesys+0xe1/0xe6=0A[ 869.687442= ] XFS (sdb2): failed to locate log tail=0A[ 869.687444] XFS (sdb2): log m= ount/recovery failed: error 117=0A[ 869.687486] XFS (sdb2): log mount fai= led=0A[ 1404.460745] sd 6:0:0:0: [sdb] Unhandled sense code=0A[ 1404.46075= 1] sd 6:0:0:0: [sdb] =0A[ 1404.460753] Result: hostbyte=3DDID_OK driverbyt= e=3DDRIVER_SENSE=0A[ 1404.460756] sd 6:0:0:0: [sdb] =0A[ 1404.460758] Sens= e Key : Medium Error [current]=0A[ 1404.460763] sd 6:0:0:0: [sdb] =0A[ 140= 4.460766] Add. Sense: Unrecovered read error=0A[ 1404.460769] sd 6:0:0:0: = [sdb] CDB:=0A[ 1404.460771] Read(10): 28 00 07 63 bf 8d 00 00 eb 00=0A[ 14= 04.460781] end_request: critical medium error, dev sdb, sector 123977613=0A= [ 1489.507727] sd 6:0:0:0: [sdb] Unhandled sense code=0A[ 1489.507734] sd = 6:0:0:0: [sdb] =0A[ 1489.507736] Result: hostbyte=3DDID_OK driverbyte=3DDR= IVER_SENSE=0A[ 1489.507739] sd 6:0:0:0: [sdb] =0A[ 1489.507741] Sense Key = : Medium Error [current]=0A[ 1489.507746] sd 6:0:0:0: [sdb] =0A[ 1489.5077= 49] Add. Sense: Unrecovered read error=0A[ 1489.507752] sd 6:0:0:0: [sdb] = CDB:=0A[ 1489.507754] Read(10): 28 00 07 63 bf 8d 00 00 eb 00=0A[ 1489.507= 769] end_request: critical medium error, dev sdb, sector 123977613=0Aroot@= ubuntu:~#=0A=0A=0A>=0A> "Input/Output Error" . Run the "dmesg" command imm= ediately after=0A> this error, and see what it reports last (end of comman= d output).=0A>=0A> > > This asks you to post the contents of /= proc/partitions, which is=0A> > > what the kernel thinks are t= he partition sizes.=0A> >=0A> > How do I do this?=0A>=0A> ca= t /proc/partitions=0A =0Aroot@ubuntu:~# cat /proc/partitions=0Amajor minor= #blocks name=0A=0A 7 0 961232 loop0=0A 8 0 62513= 1864 sda=0A 8 1 204800 sda1=0A 8 2 515624992 sda2=0A= 8 3 634772 sda3=0A 8 4 108666880 sda4=0A 11 = 0 1004544 sr0=0A 8 16 976762584 sdb=0A 8 17 = 1 sdb1=0A 8 18 975755970 sdb2=0Aroot@ubuntu:~#=0A=0AHi Emmanuel,= so that should be what you asked for? I did a reset in terminal and tried= the dmesg, so I hope this didn't wipe any data on the failed mount which = I had completed before. I'm about to try mouning as read only - fingers cr= ossed!=EF=BB=BF=0ACheers,=0ATom=0A=0A>=0A> > > > Yes it's a= NAS drive and so I assume had some kind of proprietary=0A> > = > > OS on the other partitions (this is where i might have messed up=0A= > > > > by deleting?!) I'm pretty sure that the drive in bo= ld below (sdc2)=0A> > > > is the one I'm after which is xfs= ...=0A> > >=0A> > > Ummm, exactly what are you try= ing to do with this drive/filesystem?=0A> > > What device did = the drive come from in the first place?=0A> >=0A> > It's a l= acie 'Neil poulton' network space1 1tb NAS drive (see first=0A> > p= aragraph of post) - it recently stopped working and was stuck in a=0A> = > 'spin cycle' - it contains my music and video backups. I'm trying to= =0A> > recover the files...=0A>=0A> Most probably disk is badly dam= aged, dead or dying. It's advisable to=0A> try to create an image of the d= isk on another one, and work for this=0A> image, because this disk will pr= obably die any time now. It's no use=0A> trying to repair a filesystem on = a bad drive, which is the cause of the=0A> errors from the beginning.=0A>=0A= > If all you care is to get your files back, just try to mount the volume=0A= > in read-only, non-recovery mode :=0A>=0A> mount -o ro,norecovery /dev/sd= c2 /tmp/mount=0A>=0A> Then proceed by copying whatever you can get. Consid= er that any file=0A> that gives an error is lost.=0A>=0A> The other option= is Kroll Ontrack or similar services, of course.=0A>=0A> -- =0A> --------= ----------------------------------------------------------------=0A> Emman= uel Florac | Direction technique=0A> | Intellique=0A> | =0A> | +33 1 78 94 84 02=0A> --------------------------= ----------------------------------------------=0A= --Boundary_(ID_SR8WvReHYm2n+SZJPUUEbg) Content-type: multipart/related; boundary="Boundary_(ID_hAgNeBqJCRzm0dnAH0FhmQ)"; type="text/html" --Boundary_(ID_hAgNeBqJCRzm0dnAH0FhmQ) Content-type: text/html; charset=ISO-8859-1 Content-transfer-encoding: quoted-printable


On Oct 13, 2014, at 11:19 AM, Emmanuel Florac <= eflorac@intellique.com> wrote:

Le Mon, 13 Oct 2014 1= 1:05:49 +0100
Tom Mason <tom_mason@me.com    > = =E9crivait:

       >      &g= t; Which means the filesystem tried to read the offset at 62GB and the
=        >      > underlying devic= e failed it with EIO. That's not an XFS failure.
      =  >      > What error is there in dmesg when you = run that xfs_repair command?
       >
&nb= sp;      > What's EIO?
       &g= t; 'Error in dmesg' How would I report this info to you?
=
 
r 1
[    6.8291= 25] ehci-pci 0000:00:04.1: debug port 1
[    6.829162] ehci-pci 0000:00:04.1: cache line s= ize of 256 is not supported
[&n= bsp;   6.829185] ehci-pci 0000:00:04.1: irq 22, io mem 0xd048920= 0
[    6.840043]= ehci-pci 0000:00:04.1: USB 2.0 started, EHCI 1.00
[    6.840112] usb usb1: New USB device = found, idVendor=3D1d6b, idProduct=3D0002
[    6.840116] usb usb1: New USB device strings: = Mfr=3D3, Product=3D2, SerialNumber=3D1
[    6.840119] usb usb1: Product: EHCI Host Control= ler
[    6.84012= 2] usb usb1: Manufacturer: Linux 3.13.0-32-generic ehci_hcd
[    6.840125] usb usb1: Seria= lNumber: 0000:00:04.1
[ &n= bsp;  6.840295] hub 1-0:1.0: USB hub found
[    6.840307] hub 1-0:1.0: 7 ports detect= ed
[    6.840791= ] ehci-pci 0000:00:06.1: EHCI Host Controller
[    6.840799] ehci-pci 0000:00:06.1: new US= B bus registered, assigned bus number 2
[    6.840809] ehci-pci 0000:00:06.1: debug port 1=
[    6.840837] = ehci-pci 0000:00:06.1: cache line size of 256 is not supported
<= span style=3D"font-size: 10px;">[    6.840855] ehci-pci 000= 0:00:06.1: irq 20, io mem 0xd0489100
[    6.852097] ehci-pci 0000:00:06.1: USB 2.0 started= , EHCI 1.00
[   = 6.852153] usb usb2: New USB device found, idVendor=3D1d6b, idProduct=3D00= 02
[    6.852156= ] usb usb2: New USB device strings: Mfr=3D3, Product=3D2, SerialNumber=3D1=
[    6.852160] = usb usb2: Product: EHCI Host Controller
[    6.852163] usb usb2: Manufacturer: Linux 3.13.= 0-32-generic ehci_hcd
[ &n= bsp;  6.852166] usb usb2: SerialNumber: 0000:00:06.1
[    6.852324] hub 2-0:1.0: USB = hub found
[    6= .852337] hub 2-0:1.0: 5 ports detected
[    6.852595] ehci-platform: EHCI generic platform= driver
[    6.8= 52609] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    6.852611] ohci-pci: OHC= I PCI platform driver
[ &n= bsp;  6.852818] ohci-pci 0000:00:04.0: OHCI PCI host controller
[    6.852825] ohci-p= ci 0000:00:04.0: new USB bus registered, assigned bus number 3
<= span style=3D"font-size: 10px;">[    6.852852] ohci-pci 000= 0:00:04.0: irq 23, io mem 0xd0488000

[    6.910128] usb usb3: New USB device found, idVend= or=3D1d6b, idProduct=3D0001
[&n= bsp;   6.910132] usb usb3: New USB device strings: Mfr=3D3, Prod= uct=3D2, SerialNumber=3D1
[&nbs= p;   6.910135] usb usb3: Product: OHCI PCI host controller
[    6.910138] usb us= b3: Manufacturer: Linux 3.13.0-32-generic ohci_hcd
[    6.910141] usb usb3: SerialNumber: 0= 000:00:04.0
[   = 6.910291] hub 3-0:1.0: USB hub found
[    6.910304] hub 3-0:1.0: 7 ports detected<= br>[    6.910784] ohci-pci= 0000:00:06.0: OHCI PCI host controller
[    6.910792] ohci-pci 0000:00:06.0: new USB bus = registered, assigned bus number 4
[    6.910817] ohci-pci 0000:00:06.0: irq 21, io mem 0xd= 0487000
[    6.9= 66125] usb usb4: New USB device found, idVendor=3D1d6b, idProduct=3D0001
[    6.966130] us= b usb4: New USB device strings: Mfr=3D3, Product=3D2, SerialNumber=3D1
[    6.966133] usb = usb4: Product: OHCI PCI host controller
[    6.966136] usb usb4: Manufacturer: Linux 3.13.= 0-32-generic ohci_hcd
[ &n= bsp;  6.966139] usb usb4: SerialNumber: 0000:00:06.0
[    6.966289] hub 4-0:1.0: USB = hub found
[    6= .966302] hub 4-0:1.0: 5 ports detected
[    6.966553] ohci-platform: OHCI generic platform= driver
[    6.9= 66564] uhci_hcd: USB Universal Host Controller Interface driver
= [    6.966638] i8042: PNP:= No PS/2 controller found. Probing ports directly.
[    7.993878] i8042: No controller foun= d
[    7.993976]= mousedev: PS/2 mouse device common for all mice
[    7.994467] rtc_cmos 00:06: rtc core: = registered rtc_cmos as rtc0
[&n= bsp;   7.994520] rtc_cmos 00:06: alarms up to one year, y3k, 242= bytes nvram, hpet irqs
[ =    7.994609] device-mapper: uevent: version 1.0.3
[    7.994707] device-mapper: = ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com
[    7.994714] ledtrig-c= pu: registered to indicate activity on CPUs
[    7.994853] TCP: cubic registered[    7.994990] NET: Regis= tered protocol family 10
[ = ;   7.995233] NET: Registered protocol family 17
[    7.995252] Key type dns_res= olver registered

[  &= nbsp; 7.995588] Loading compiled-in X.509 certificates
[    7.997230] Loaded X.509 cert 'M= agrathea: Glacier signing key: 5e3c0f9ca6e36543535fa2bb5b709e84f16da7c7'
[    7.997251] re= gistered taskstats version 1
[&= nbsp;   8.001292] Key type trusted registered
[    8.004490] Key type encrypted = registered
[    = 8.007652] AppArmor: AppArmor sha1 policy hashing enabled
[    8.007656] IMA: No TPM chip f= ound, activating TPM-bypass!
[&= nbsp;   8.008268] regulator-dummy: disabling
[    8.008332]   Magic nu= mber: 2:86:43
[  &nbs= p; 8.008478] rtc_cmos 00:06: setting system clock to 2014-10-13 20:01:54 U= TC (1413230514)
[  &n= bsp; 8.009069] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found=
[    8.009072] EDD inf= ormation not available.
[ =    8.009129] PM: Hibernation image not present or could not be l= oaded.
[    8.01= 0552] Freeing unused kernel memory: 1336K (ffffffff81d1f000 - ffffffff81e6= d000)
[    8.010= 554] Write protecting the kernel read-only data: 12288k
[    8.012782] Freeing unused kern= el memory: 816K (ffff880001734000 - ffff880001800000)
[    8.014538] Freeing unused kernel= memory: 696K (ffff880001b52000 - ffff880001c00000)
[    8.027129] systemd-udevd[100]: start= ing version 204
[  &n= bsp; 8.050650] forcedeth: Reverse Engineered nForce ethernet driver. Versi= on 0.64.
[    8.= 050899] ACPI: PCI Interrupt Link [LMAC] enabled at IRQ 16
[    8.060498] [drm] Initialized= drm 1.1.0 20060810
[ &nbs= p;  8.088254] firewire_ohci 0000:04:00.0: irq 43 for MSI/MSI-X=
[    8.090165] [drm] r= adeon kernel modesetting enabled.
[    8.090427] [drm] initializing kernel modesetting (RV= 770 0x1002:0x944A 0x106B:0x944A).
[    8.090442] [drm] register mmio base: 0xD0220000

[    8.090443] [drm]= register mmio size: 65536
[&nb= sp;   8.090492] radeon 0000:02:00.0: Invalid ROM contents=
[    8.091227] ATOM BI= OS: 113
[    8.0= 91254] radeon 0000:02:00.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFF= FFFF (512M used)
[  &= nbsp; 8.091256] radeon 0000:02:00.0: GTT: 1024M 0x0000000020000000 - 0x000= 000005FFFFFFF
[  &nbs= p; 8.091258] [drm] Detected VRAM RAM=3D512M, BAR=3D256M
[    8.091259] [drm] RAM width 256= bits DDR
[    8.= 091404] [TTM] Zone  kernel: Available graphics memory: 4076328 kiB
[    8.091405] [TT= M] Zone   dma32: Available graphics memory: 2097152 kiB[    8.091406] [TTM] Ini= tializing pool allocator
[ = ;   8.091411] [TTM] Initializing DMA pool allocator
[    8.091427] [drm] radeon:= 512M of VRAM memory ready

[&nb= sp;   8.091428] [drm] radeon: 1024M of GTT memory ready.<= br>[    8.091441] [drm] Lo= ading RV770 Microcode
[ &n= bsp;  8.091512] [drm] GART: num cpu pages 262144, num gpu pages 26214= 4
[    8.094226]= [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=3D0<= /span>
[    8.111879] u= sb 1-4: new high-speed USB device number 2 using ehci-pci
[    8.111916] ssb: Found chip w= ith id 0x4322, rev 0x01 and package 0x0A
[    8.111921] ssb: Core 0 found: ChipCommon (cc = 0x800, rev 0x17, vendor 0x4243)
[    8.111927] ssb: Core 1 found: IEEE 802.11 (cc 0x812, r= ev 0x10, vendor 0x4243)
[ =    8.111932] ssb: Core 2 found: PCI-E (cc 0x820, rev 0x0B, vendo= r 0x4243)
[    8= .111937] ssb: Core 3 found: PCI (cc 0x804, rev 0x0E, vendor 0x4243)=
[    8.111942] ssb: Co= re 4 found: USB 2.0 Device (cc 0x81A, rev 0x05, vendor 0x4243)
<= span style=3D"font-size: 10px;">[    8.111947] ssb: Core 5 = found: UNKNOWN (cc 0x8FF, rev 0x00, vendor 0x4243)

[    8.111953] ssb: Core 6 found: Intern= al Memory (cc 0x80E, rev 0x03, vendor 0x4243)
[    8.113736] [drm] PCIE GART of 1024M enab= led (table at 0x0000000000040000).
[    8.113775] radeon 0000:02:00.0: WB enabled[    8.113778] radeon 00= 00:02:00.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu= addr 0xffff88023352ec00
[ = ;   8.113780] radeon 0000:02:00.0: fence driver on ring 3 use gp= u addr 0x0000000020000c0c and cpu addr 0xffff88023352ec0c
[    8.113783] [drm] Supports vb= lank timestamp caching Rev 2 (21.10.2013).
[    8.113784] [drm] Driver supports precise vb= lank timestamp query.
[ &n= bsp;  8.113805] radeon 0000:02:00.0: irq 44 for MSI/MSI-X
<= span style=3D"font-size: 10px;">[    8.113816] radeon 0000:= 02:00.0: radeon: using MSI.
[&n= bsp;   8.113841] [drm] radeon: irq initialized.
[    8.129822] forcedeth 0000:00= :0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr 00:25:00:a5:98:42
[    8.129825] forcedeth 000= 0:00:0a.0: highdma csum pwrctl gbit lnktim msi desc-v3
[    8.144058] firewire_ohci 0000:0= 4:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirks 0x= 0
[    8.161628]= [drm] ring test on 0 succeeded in 0 usecs
[    8.161806] [drm] ring test on 3 succeeded i= n 0 usecs
[    8= .162282] [drm] Enabling audio 0 support
[    8.162342] [drm] ib test on ring 0 succeeded i= n 0 usecs
[    8= .162880] [drm] ib test on ring 3 succeeded in 0 usecs
[    8.168632] ahci 0000:00:0b.0: ve= rsion 3.0
[    8= .169043] ACPI: PCI Interrupt Link [LSI0] enabled at IRQ 23
[    8.170020] ahci 0000:00:0b.= 0: irq 45 for MSI/MSI-X
[ =    8.170036] ahci 0000:00:0b.0: controller can't do PMP, turning= off CAP_PMP
[   = ; 8.170104] ahci 0000:00:0b.0: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3 = impl IDE mode
[  &nbs= p; 8.170107] ahci 0000:00:0b.0: flags: 64bit ncq sntf pm led pio slum part= boh
[    8.170= 957] scsi0 : ahci
[  =   8.171028] scsi1 : ahci
[=     8.171081] scsi2 : ahci
[    8.171130] scsi3 : ahci
[    8.171180] scsi4 : ahci[    8.171235] scsi5 : a= hci
[    8.17126= 8] ata1: SATA max UDMA/133 abar m8192@0xd0484000 port 0xd0484100 irq 45

[    8.171270] ata= 2: SATA max UDMA/133 abar m8192@0xd0484000 port 0xd0484180 irq 45[    8.171271] ata3: DUM= MY
[    8.171272= ] ata4: DUMMY
[  &nbs= p; 8.171273] ata5: DUMMY
[ = ;   8.171274] ata6: DUMMY
[    8.192095] [drm] radeon atom DIG backlight initial= ized
[    8.1920= 99] [drm] Radeon Display Connectors
[    8.192101] [drm] Connector 0:
[    8.192103] [drm]   DP-= 1
[    8.192105]= [drm]   HPD2
[ =    8.192108] [drm]   DDC: 0x7e60 0x7e60 0x7e64 0x7e64 = 0x7e68 0x7e68 0x7e6c 0x7e6c
[&n= bsp;   8.192110] [drm]   Encoders:
[    8.192112] [drm]  &nb= sp;  DFP1: INTERNAL_UNIPHY
[    8.192114] [drm] Connector 1:
[    8.192116] [drm]   DP-2
[    8.192117] [dr= m]   HPD3
[ &nbs= p;  8.192120] [drm]   DDC: 0x7e20 0x7e20 0x7e24 0x7e24 0x7e= 28 0x7e28 0x7e2c 0x7e2c
[ =    8.192122] [drm]   Encoders:
[    8.192123] [drm]   &n= bsp; DFP2: INTERNAL_UNIPHY
[&nb= sp;   8.192125] [drm] Connector 2:
[    8.192127] [drm]   LVDS-1
[    8.192129] [drm]&= nbsp;  Encoders:
[ &n= bsp;  8.192130] [drm]     LCD1: INTERNAL_KLDSCP_L= VTMA
[    8.1921= 32] [drm] Connector 3:
[ &= nbsp;  8.192134] [drm]   VGA-1
[    8.192137] [drm]   DDC: 0x7e40= 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[    8.192138] [drm]   Encoder= s:
[    8.192140= ] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    8.192279] [drm] Special th= ermal controller config

[ =    8.192290] [drm] radeon: power management initialized[    8.220198] ssb: Soni= cs Silicon Backplane found on PCI device 0000:03:00.0
[    8.276286] usb 1-4: Duplicate de= scriptor for config 1 interface 1 altsetting 5, skipping
[    8.276291] usb 1-4: config 1 = interface 1 has no altsetting 1
[    8.277975] usb 1-4: New USB device found, idVendor=3D0= 5ac, idProduct=3D8502
[ &n= bsp;  8.277979] usb 1-4: New USB device strings: Mfr=3D1, Product=3D2= , SerialNumber=3D3
[  = ;  8.277982] usb 1-4: Product: Built-in iSight
[    8.277985] usb 1-4: Manufacturer: Ap= ple Inc.
[    8.= 277988] usb 1-4: SerialNumber: 8J94412442CX3E00
[    8.488109] ata1: SATA link up 3.0 Gbps= (SStatus 123 SControl 300)
[&n= bsp;   8.489125] ata1.00: ATA-8: Hitachi HDT721064SLA360, ST0KA3= 6A, max UDMA/133
[  &= nbsp; 8.489129] ata1.00: 1250263728 sectors, multi 0: LBA48 NCQ (depth 31/= 32)
[    8.49038= 9] ata1.00: configured for UDMA/133
[    8.490581] scsi 0:0:0:0: Direct-Access  =    ATA      Hitachi HDT72106 ST0K PQ: 0= ANSI: 5
[    8.= 490699] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    8.490783] sd 0:0:0:0: [sda] 1250= 263728 512-byte logical blocks: (640 GB/596 GiB)
[    8.490898] sd 0:0:0:0: [sda] Write Pr= otect is off
[   = ; 8.490901] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    8.490948] sd 0:0:0:0: [sda] Wri= te cache: enabled, read cache: enabled, doesn't support DPO or FUA<= br>[    8.492063] ata2: SA= TA link up 1.5 Gbps (SStatus 113 SControl 300)
[    8.496523] ata2.00: ATAPI: HL-DT-ST DVD= RW  GA11N, KA16, max UDMA/133
[    8.502177] ata2.00: configured for UDMA/133<= br>[    8.508246] scsi 1:0= :0:0: CD-ROM          &n= bsp; HL-DT-ST DVDRW  GA11N     KA16 PQ: 0 ANSI: 5=
[    8.512429] = sr0: scsi3-mmc drive: 31x/31x writer cd/rw xa/form2 cdda caddy
<= span style=3D"font-size: 10px;">[    8.512432] cdrom: Unifo= rm CD-ROM driver Revision: 3.20

[    8.512534] sr 1:0:0:0: Attached scsi CD-ROM sr0=
[    8.512578] sr 1:0:= 0:0: Attached scsi generic sg1 type 5
[    8.555847]  sda: sda1 sda2 sda3 sda4=
[    8.556239] sd 0:0:= 0:0: [sda] Attached SCSI disk
[=     8.644196] firewire_core 0000:04:00.0: created device fw= 0: GUID 002500fffea59842, S800
= [    8.704105] usb 2-4: new high-speed USB device number 3 = using ehci-pci
[  &nb= sp; 8.844637] usb 2-4: New USB device found, idVendor=3D05ac, idProduct=3D= 1006
[    8.8446= 41] usb 2-4: New USB device strings: Mfr=3D1, Product=3D2, SerialNumber=3D= 3
[    8.844645]= usb 2-4: Product: Keyboard Hub
[    8.844648] usb 2-4: Manufacturer: Apple, Inc.[    8.844651] usb 2-4: = SerialNumber: 000000000000
[&nb= sp;   8.844900] hub 2-4:1.0: USB hub found
[    8.845009] hub 2-4:1.0: 3 ports d= etected
[    8.8= 87236] [drm] fb mappable at 0xC0241000
[    8.887238] [drm] vram apper at 0xC0000000
[    8.887239] [drm] = size 9216000
[   = ; 8.887240] [drm] fb depth is 24
[    8.887305] fbcon= : radeondrmfb (fb0) is primary device
[    8.937101] Console: switching to colour frame bu= ffer device 240x75
[  = ;  8.942022] radeon 0000:02:00.0: fb0: radeondrmfb frame buffer devic= e
[    8.942024]= radeon 0000:02:00.0: registered panic notifier
[    8.942033] [drm] Initialized radeon 2.= 36.0 20080528 for 0000:02:00.0 on minor 0
[    9.148130] usb 4-1: new full-speed USB devic= e number 2 using ohci-pci
[&nbs= p;   9.370182] usb 4-1: New USB device found, idVendor=3D0a5c, i= dProduct=3D4500
[  &n= bsp; 9.370187] usb 4-1: New USB device strings: Mfr=3D1, Product=3D2, Seri= alNumber=3D0
[   = ; 9.370191] usb 4-1: Product: BRCM2046 Hub
[    9.370194] usb 4-1: Manufacturer: Apple Inc= .
[    9.373223]= hub 4-1:1.0: USB hub found
[&n= bsp;   9.376193] hub 4-1:1.0: 3 ports detected
[    9.820112] usb 3-5: new low-s= peed USB device number 2 using ohci-pci
[   10.035180] usb 3-5: New USB device found, idVendor=3D= 05ac, idProduct=3D8242
[ &= nbsp; 10.035184] usb 3-5: New USB device strings: Mfr=3D1, Product=3D2, Se= rialNumber=3D0
[   10= .035188] usb 3-5: Product: IR Receiver
[   10.035191] usb 3-5: Manufacturer: Apple Computer, In= c.
[   10.044975] hid= raw: raw HID events driver (C) Jiri Kosina
[   10.052155] usbcore: registered new interface dri= ver usbhid
[   10.052= 156] usbhid: USB HID core driver
[   10.2= 11410] usb 2-4.2: New USB device found, idVendor=3D05ac, idProduct=3D0221<= /span>
[   10.211414] usb 2-= 4.2: New USB device strings: Mfr=3D1, Product=3D2, SerialNumber=3D0=
[   10.211418] usb 2-4.2: P= roduct: Apple Keyboard
[ &= nbsp; 10.211421] usb 2-4.2: Manufacturer: Apple, Inc
[   10.219118] input: Apple, Inc Apple Key= board as /devices/pci0000:00/0000:00:06.1/usb2/2-4/2-4.2/2-4.2:1.0/input/i= nput3
[   10.219184] = apple 0003:05AC:0221.0002: input,hidraw0: USB HID v1.11 Keyboard [Apple, I= nc Apple Keyboard] on usb-0000:00:06.1-4.2/input0
[   10.219906] input: Apple, Inc Apple Keyboa= rd as /devices/pci0000:00/0000:00:06.1/usb2/2-4/2-4.2/2-4.2:1.1/input/inpu= t4
[   10.219967] app= le 0003:05AC:0221.0003: input,hidraw1: USB HID v1.11 Device [Apple, Inc Ap= ple Keyboard] on usb-0000:00:06.1-4.2/input1
[   10.288162] usb 2-4.3: new low-speed USB device= number 5 using ehci-pci
[ = ;  10.386637] usb 2-4.3: New USB device found, idVendor=3D05ac, idPro= duct=3D0304
[   10.38= 6642] usb 2-4.3: New USB device strings: Mfr=3D1, Product=3D2, SerialNumbe= r=3D0
[   10.386645] = usb 2-4.3: Product: Apple Optical USB Mouse
[   10.386648] usb 2-4.3: Manufacturer: Mitsumi Ele= ctric
[   10.389628] = input: Mitsumi Electric Apple Optical USB Mouse as /devices/pci0000:00/000= 0:00:06.1/usb2/2-4/2-4.3/2-4.3:1.0/input/input5
[   10.389708] apple 0003:05AC:0304.0004: input= ,hidraw2: USB HID v1.10 Mouse [Mitsumi Electric Apple Optical USB Mouse] o= n usb-0000:00:06.1-4.3/input0
[=    10.466183] usb 4-1.1: new full-speed USB device number 3 usin= g ohci-pci
[   10.588= 182] usb 4-1.1: New USB device found, idVendor=3D05ac, idProduct=3D8215
[   10.588187] usb 4-1.= 1: New USB device strings: Mfr=3D1, Product=3D2, SerialNumber=3D3[   10.588190] usb 4-1.1: Pro= duct: Bluetooth USB Host Controller
[   10.588193] usb 4-1.1: Manufacturer: Apple Inc.[   10.588196] usb 4-1.1: Ser= ialNumber: 002500C0F736
[ =   10.665180] usb 4-1.2: new full-speed USB device number 4 using ohci= -pci
[   10.776183] u= sb 4-1.2: New USB device found, idVendor=3D05ac, idProduct=3D820a[   10.776188] usb 4-1.2: New= USB device strings: Mfr=3D0, Product=3D0, SerialNumber=3D0
[   10.788074] input: HID 05ac:820a= as /devices/pci0000:00/0000:00:06.0/usb4/4-1/4-1.2/4-1.2:1.0/input/input6=

[   10.788130] hid-g= eneric 0003:05AC:820A.0005: input,hidraw3: USB HID v1.11 Keyboard [HID 05a= c:820a] on usb-0000:00:06.0-1.2/input0
[   10.861178] usb 4-1.3: new full-speed USB device numb= er 5 using ohci-pci
[ &nbs= p; 10.972182] usb 4-1.3: New USB device found, idVendor=3D05ac, idProduct=3D= 820b
[   10.972187] u= sb 4-1.3: New USB device strings: Mfr=3D0, Product=3D0, SerialNumber=3D0
[   10.982514] input: = HID 05ac:820b as /devices/pci0000:00/0000:00:06.0/usb4/4-1/4-1.3/4-1.3:1.0= /input/input7
[   10.= 982589] hid-generic 0003:05AC:820B.0006: input,hidraw4: USB HID v1.11 Mous= e [HID 05ac:820b] on usb-0000:00:06.0-1.3/input0
[   11.867826] random: nonblocking pool is ini= tialized
[   16.82924= 8] ISO 9660 Extensions: Microsoft Joliet Level 3
[   16.832917] ISO 9660 Extensions: RRIP_1991A=
[   19.402642] squas= hfs: version 4.0 (2009/01/31) Phillip Lougher
[   95.404256] IPv6: ADDRCONF(NETDEV_UP): eth0: l= ink is not ready
[   = 98.480471] systemd-udevd[1054]: starting version 204
[  107.782107] lp: driver loaded but no devices= found
[  108.557147] ppde= v: user-space parallel port driver
[  111.968587] init: cups main process (1100) killed by HUP signa= l
[  111.968600] init: cup= s main process ended, respawning
[  111.975128] NET: Registered protocol family 31
[  111.975129] Bluetooth: HCI= device and connection manager initialized
[  111.975137] Bluetooth: HCI socket layer initialized
[  111.975139] Bluetooth: L2= CAP socket layer initialized
[&= nbsp; 111.975142] Bluetooth: SCO socket layer initialized
[  113.413518] Bluetooth: RFCOMM TTY layer= initialized
[  113.413530= ] Bluetooth: RFCOMM socket layer initialized
[  113.413534] Bluetooth: RFCOMM ver 1.11
[  113.875800] Bluetooth: BNEP (Etherne= t Emulation) ver 1.3

[  11= 3.875803] Bluetooth: BNEP filters: protocol multicast
[  113.875812] Bluetooth: BNEP socket layer in= itialized
[  114.143675] i= 2c i2c-7: nForce2 SMBus adapter at 0x2140
[  114.143719] i2c i2c-8: nForce2 SMBus adapter at 0x2100<= /span>
[  119.341861] device-mapp= er: multipath: version 1.6.0 loaded
[  122.364816] ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 22=
[  122.364826] hda_intel:= Disabling MSI
[  122.3648= 50] hda-intel 0000:00:08.0: Disabling 64bit DMA
[  122.369265] hda-intel 0000:00:08.0: Enable delay = in RIRB handling
[  122.53= 7244] cfg80211: Calling CRDA to update world regulatory domain
<= span style=3D"font-size: 10px;">[  122.548169] input: Apple Computer,= Inc. IR Receiver as /devices/pci0000:00/0000:00:04.0/usb3/3-5/3-5:1.0/inp= ut/input8

[  122.548267] a= ppleir 0003:05AC:8242.0001: input,hiddev0,hidraw5: USB HID v1.11 Device [A= pple Computer, Inc. IR Receiver] on usb-0000:00:04.0-5/input0
[  123.624345] usbcore: registered new= interface driver btusb

[ = 123.641112] usb 4-1.2: USB disconnect, device number 4
[  123.788302] hda_codec: ALC889A: SKU not r= eady 0x400000f0
[  123.800= 111] usb 4-1.3: USB disconnect, device number 5
[  123.844020] autoconfig: line_outs=3D2 (0x1a/0x18/= 0x0/0x0/0x0) type:speaker
[&nbs= p; 123.844023]    speaker_outs=3D0 (0x0/0x0/0x0/0x0/0x0)
[  123.844025]  &n= bsp; hp_outs=3D1 (0x14/0x0/0x0/0x0/0x0)
[  123.844026]    mono: mono_out=3D0x0=
[  123.844027]   = dig-out=3D0x1e/0x0
[  123= .844028]    inputs:
[  123.844029]      Mic=3D0x19[  123.844030]   &nb= sp;  Line=3D0x15
[  1= 23.844031]    dig-in=3D0x1f
[  123.844033] realtek: No valid SSID, checking pincfg 0x= 400000f0 for NID 0x1d
[  1= 23.844034] realtek: Enable default setup for auto mode as fallback<= br>[  124.645737] Linux video captur= e interface: v2.00
[  125.= 527345] init: failsafe main process (1316) killed by TERM signal[  125.579476] input: HDA NVidia He= adphone as /devices/pci0000:00/0000:00:08.0/sound/card0/input10
= [  125.582542] input: HDA NVidia Lin= e as /devices/pci0000:00/0000:00:08.0/sound/card0/input9
[  125.635895] ACPI: PCI Interrupt Link [Z0= 04] enabled at IRQ 21
[  1= 25.635914] hda-intel 0000:02:00.1: Handle VGA-switcheroo audio client
[  125.635915] hda-intel 0000:= 02:00.1: Using LPIB position fix
[  125.649835] hda-intel 0000= :02:00.1: Enable sync_write for stable communication
[  125.685886] applesmc: key=3D241 fan=3D3 temp= =3D15 index=3D15 acc=3D0 lux=3D2 kbd=3D0
[  126.589401] HDMI ATI/AMD: no speaker allocation for ELD<= /span>
[  126.589455] input: HDA = ATI HDMI HDMI/DP,pcm=3D3 as /devices/pci0000:00/0000:00:0c.0/0000:02:00.1/= sound/card1/input11
[  127= .755350] cfg80211: World regulatory domain updated:
[  127.755354] cfg80211:   (start_freq -= end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  127.755356] cfg80211:   (2402000 K= Hz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  127.755358] cfg80211:   (2457000 KHz = - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  127.755359] cfg80211:   (2474000 KHz - = 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[  127.755361] cfg80211:   (5170000 KHz - 52= 50000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  127.755362] cfg80211:   (5735000 KHz - 5835= 000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  127.908347] uvcvideo: Found UVC 1.00 device Built-in iS= ight (05ac:8502)
[  127.91= 3856] input: Built-in iSight as /devices/pci0000:00/0000:00:04.1/usb1/1-4/= 1-4:1.0/input/input12
[  1= 27.913952] usbcore: registered new interface driver uvcvideo
[  127.913953] USB Video Class driver (= 1.1.1)

[  129.566189] b43-= phy0: Broadcom 4322 WLAN found (core revision 16)
[  129.608044] b43-phy0: Found PHY: Analog 8, Type= 4 (N), Revision 4
[  129.= 632482] b43 ssb0:0: Direct firmware load failed with error -2
[  129.632485] b43 ssb0:0: Falling bac= k to user helper

[  129.63= 2529] Broadcom 43xx driver loaded [ Features: PNL ]
[  129.633372] b43 ssb0:0: Direct firmware load fa= iled with error -2
[  129.= 633375] b43 ssb0:0: Falling back to user helper
[  129.634217] b43 ssb0:0: Direct firmware load fail= ed with error -2
[  129.63= 4220] b43 ssb0:0: Falling back to user helper
[  129.634711] b43 ssb0:0: Direct firmware load failed= with error -2
[  129.6347= 13] b43 ssb0:0: Falling back to user helper
[  129.635388] b43-phy0 ERROR: Firmware file "b43/ucode1= 6_mimo.fw" not found
[  12= 9.635391] b43-phy0 ERROR: Firmware file "b43-open/ucode16_mimo.fw" not fou= nd
[  129.635393] b43-phy0= ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#dev= icefirmware and download the correct firmware for this driver version. Ple= ase carefully read all instructions on this website.
[  153.454844] init: alsa-restore main process = (1570) terminated with status 99
[  159.859908] forcedeth 0000:00:= 0a.0 eth0: MSI enabled
[  = 180.483909] init: plymouth-upstart-bridge main process ended, respawning
[  180.498245] init: plymou= th-upstart-bridge main process ended, respawning
[  862.456063] usb 1-3: new high-speed USB device n= umber 4 using ehci-pci
[  = 862.591595] usb 1-3: New USB device found, idVendor=3D1bcf, idProduct=3D0c= 31
[  862.591601] usb 1-3:= New USB device strings: Mfr=3D2, Product=3D3, SerialNumber=3D1
= [  862.591604] usb 1-3: Product: USB= to Serial-ATA bridge
[  8= 62.591608] usb 1-3: Manufacturer: Sunplus Innovation Technology.[  862.591611] usb 1-3: SerialNumbe= r: FAFFFFF0FDF13FF1BF901305
[&n= bsp; 864.683460] usb-storage 1-3:1.0: USB Mass Storage device detected
[  864.683638] scsi6 : usb-st= orage 1-3:1.0
[  864.68370= 8] usbcore: registered new interface driver usb-storage
[  865.690235] scsi 6:0:0:0: Direct-Access&n= bsp;    SAMSUNG  HD103UJ     =           PQ: 0 ANSI: 4
[  865.690464] sd 6:0:0:0: Atta= ched scsi generic sg2 type 0
[&= nbsp; 865.694619] sd 6:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1= .00 TB/931 GiB)
[  865.700= 970] sd 6:0:0:0: [sdb] Write Protect is off
[  865.700973] sd 6:0:0:0: [sdb] Mode Sense: 38 00 00 00=
[  865.707350] sd 6:0:0:0= : [sdb] No Caching mode page found
[  865.707352] sd 6:0:0:0: [sdb] Assuming drive cache: write thro= ugh
[  865.721592] sd 6:0:= 0:0: [sdb] No Caching mode page found
[  865.721595] sd 6:0:0:0: [sdb] Assuming drive cache: write t= hrough
[  865.741343] = ; sdb: sdb1 < > sdb2
[&nb= sp; 865.780852] sd 6:0:0:0: [sdb] No Caching mode page found
[  865.780855] sd 6:0:0:0: [sdb] Assumi= ng drive cache: write through

[=   865.780857] sd 6:0:0:0: [sdb] Attached SCSI disk
[  869.594066] SGI XFS with ACLs, security a= ttributes, realtime, large block/inode numbers, no debug enabled[  869.609228] XFS (sdb2): Mounting= Filesystem
[  869.687220]= XFS (sdb2): Internal error xlog_clear_stale_blocks(2) at line 1368 of fil= e /build/buildd/linux-3.13.0/fs/xfs/xfs_log_recover.c.  Caller 0xffff= ffffa07a8951
[  869.687226= ] CPU: 1 PID: 5635 Comm: mount Not tainted 3.13.0-32-generic #57-Ubuntu
[  869.687227] Hardware name= : Apple Inc. iMac9,1/Mac-F2218FA9, BIOS     IM91.88Z.0= 08D.B08.0904271717 04/27/09
[&n= bsp; 869.687229]  00000000000045e1 ffff88021f8f5c38 ffffffff8171bcb4 = ffff88020c7c7400
[  869.68= 7232]  ffff88021f8f5c50 ffffffffa075753b ffffffffa07a8951 ffff88021f8= f5c90
[  869.687234] = ffffffffa07a5cf3 ffffffffa07a538f ffff88020c7c7400 ffff880219400780
[  869.687236] Call Trace:
[  869.687243]  [<ffff= ffff8171bcb4>] dump_stack+0x45/0x56
[  869.687269]  [<ffffffffa075753b>] xfs_error_rep= ort+0x3b/0x40 [xfs]
[  869= .687287]  [<ffffffffa07a8951>] ? xlog_find_tail+0x341/0x3d0 [xf= s]
[  869.687302]  [&= lt;ffffffffa07a5cf3>] xlog_clear_stale_blocks+0x183/0x1c0 [xfs]<= br>[  869.687318]  [<fffffff= fa07a538f>] ? xlog_bread+0x3f/0x50 [xfs]
[  869.687334]  [<ffffffffa07a8951>] xlog_fin= d_tail+0x341/0x3d0 [xfs]
[ = ; 869.687350]  [<ffffffffa07aa2be>] xlog_recover+0x1e/0xc0 [xfs= ]
[  869.687367]  [&l= t;ffffffffa07ae8ac>] xfs_log_mount+0x1bc/0x260 [xfs]
[  869.687380]  [<ffffffffa0766cca&g= t;] xfs_mountfs+0x3aa/0x700 [xfs]
[  869.687392]  [<ffffffffa076a142>] xfs_fs_fill_super+= 0x2b2/0x330 [xfs]
[  869.6= 87396]  [<ffffffff811c0030>] mount_bdev+0x1b0/0x1f0
<= span style=3D"font-size: 10px;">[  869.687409]  [<ffffffffa07= 69e90>] ? xfs_parseargs+0xbd0/0xbd0 [xfs]

[  869.687422]  [<ffffffffa0768185>] xfs_fs_= mount+0x15/0x20 [xfs]
[  8= 69.687425]  [<ffffffff811c0a29>] mount_fs+0x39/0x1b0
= [  869.687428]  [<ffffffff81= 16f260>] ? __alloc_percpu+0x10/0x20
[  869.687431]  [<ffffffff811dbcd7>] vfs_kern_moun= t+0x67/0x110
[  869.687433= ]  [<ffffffff811de4ee>] do_mount+0x23e/0xad0
[  869.687435]  [<ffffffff8116a28b&g= t;] ? strndup_user+0x4b/0xf0
[&= nbsp; 869.687437]  [<ffffffff811df073>] SyS_mount+0x83/0xc0
[  869.687440]  [<fff= fffff8172c87f>] tracesys+0xe1/0xe6
[  869.687442] XFS (sdb2): failed to locate log tail[  869.687444] XFS (sdb2): log moun= t/recovery failed: error 117
[&= nbsp; 869.687486] XFS (sdb2): log mount failed
[ 1404.460745] sd 6:0:0:0: [sdb] Unhandled sense code
[ 1404.460751] sd 6:0:0:0: [sdb]&nb= sp;
[ 1404.460753] Result: hos= tbyte=3DDID_OK driverbyte=3DDRIVER_SENSE
[ 1404.460756] sd 6:0:0:0: [sdb] 
[ 1404.460758] Sense Key : Medium Error [current]
[ 1404.460763] sd 6:0:0:0: [sdb]&nb= sp;
[ 1404.460766] Add. Sense:= Unrecovered read error
[ 1404.= 460769] sd 6:0:0:0: [sdb] CDB:
[ 1404.460771] Read(10): 28 00 07 63 bf 8d 00 00 eb 00
[ 1404.460781] end_request: critical medium error= , dev sdb, sector 123977613
[ 1= 489.507727] sd 6:0:0:0: [sdb] Unhandled sense code
[ 1489.507734] sd 6:0:0:0: [sdb] 
[ 1489.507736] Result: hostbyte=3DDID_OK drive= rbyte=3DDRIVER_SENSE

[ 1489.507= 739] sd 6:0:0:0: [sdb] 
[= 1489.507741] Sense Key : Medium Error [current]
[ 1489.507746] sd 6:0:0:0: [sdb] 
[ 1489.507749] Add. Sense: Unrecovered read er= ror

[ 1489.507752] sd 6:0:0:0: = [sdb] CDB:
[ 1489.507754] Read= (10): 28 00 07 63 bf 8d 00 00 eb 00
[ 1489.507769] end_request: critical medium error, dev sdb, sector 12= 3977613
root@ubuntu:~# <= br>



"Input/Output Error" . Run the "dmesg" command i= mmediately after
this error, and see what it reports last (end of comma= nd output).

       >      &g= t; This asks you to post the contents of /proc/partitions, which is
&n= bsp;      >      > what the kernel thi= nks are the partition sizes.
       >
&nb= sp;      > How do I do this?

cat /proc/partitions=
 
root@ubuntu:~# cat /proc/partitions
major minor  #blocks  name

=    7    &nb= sp;   0     961232 loop0
   8      =   0  625131864 sda
&n= bsp;  8        1   =   204800 sda1
  = 8        2  515624992 sda2=
   8    = ;    3     634772 sda3
   8     &nb= sp;  4  108666880 sda4
   8 = ;      16  976762584 sdb
   8      = 17          1 sdb1   8    &n= bsp;  18  975755970 sdb2
root@ubuntu:~#

Hi Emmanuel, so that should be what you = asked for? I did a reset in terminal and tried the dmesg, so I hope this d= idn't wipe any data on the failed mount which I had completed before. I'm = about to try mouning as read only - fingers crossed!
Cheers,
Tom
=


       >      &g= t;    > Yes it's a NAS drive and so I assume had some kind of= proprietary
       >      > =    > OS on the other partitions (this is where i might have m= essed up
       >      > &nbs= p;  > by deleting?!) I'm pretty sure that the drive in bold below = (sdc2)
       >      >  =  > is the one I'm after which is xfs...
     =  >      >
       > =      > Ummm, exactly what are you trying to do with this= drive/filesystem?
       >      = ;> What device did the drive come from in the first place?
  =      >
       > It's a lacie= 'Neil poulton' network space1 1tb NAS drive (see first
    =    > paragraph of post) - it recently stopped working and was= stuck in a
       > 'spin cycle' - it contains= my music and video backups. I'm trying to
       = > recover the files...

Most probably disk is badly damaged, dead= or dying. It's advisable to
try to create an image of the disk on anot= her one, and work for this
image, because this disk will probably die a= ny time now. It's no use
trying to repair a filesystem on a bad drive, = which is the cause of the
errors from the beginning.

If all you= care is to get your files back, just try to mount the volume
in read-o= nly, non-recovery mode :

mount -o ro,norecovery /dev/sdc2 /tmp/moun= t

Then proceed by copying whatever you can get. Consider that any f= ile
that gives an error is lost.

The other option is Kroll Ontra= ck or similar services, of course.

--
-------------------------= -----------------------------------------------
Emmanuel Florac | Direc= tion technique
| Intellique
|      <eflorac@intellique.com        >
| +33 1= 78 94 84 02
----------------------------------------------------------= --------------
= --Boundary_(ID_hAgNeBqJCRzm0dnAH0FhmQ)-- --Boundary_(ID_SR8WvReHYm2n+SZJPUUEbg)-- From david@fromorbit.com Mon Oct 13 16: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=none 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 3578B7F4E for ; Mon, 13 Oct 2014 16:56:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1599D8F8064 for ; Mon, 13 Oct 2014 14:56:01 -0700 (PDT) X-ASG-Debug-ID: 1413237358-04cb6c7706393ae0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 8IG2W6eVC3mDrSpf for ; Mon, 13 Oct 2014 14:55: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: AlkuAABKPFR5LODnPGdsb2JhbABbgw6BK4I2hQewOgaVGYVqAgIBAQKBHhcBBgEBAQE4O4QCAQEBAwE6HCMFCwgDGAkMGQ8FJQMHGhOINgfFGgEBAQcCAR8YhgiKJQcKgyOBHgWdSoEvkGWICSkvgkoBAQE Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 08:25:33 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdnaV-0007PP-NS; Tue, 14 Oct 2014 08:55:31 +1100 Date: Tue, 14 Oct 2014 08:55:31 +1100 From: Dave Chinner To: Linus Torvalds Cc: Andrew Morton , Linux Kernel Mailing List , xfs@oss.sgi.com Subject: Re: [GIT PULL] xfs: updates for 3.18-rc1 Message-ID: <20141013215531.GD17506@dastard> X-ASG-Orig-Subj: Re: [GIT PULL] xfs: updates for 3.18-rc1 References: <20141013013715.GD4503@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: 1413237359 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.10532 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 13, 2014 at 05:48:18AM -0400, Linus Torvalds wrote: > On Sun, Oct 12, 2014 at 9:37 PM, Dave Chinner wrote: > > > > i.e. I have generated this pull-req from the base tree I've been working > > on (3.17-rc2) but there have already been commits merged into a more > > recent upstream tree (3.17-rc4) in this tree. When I generate the > > pull request from the underlying 3.17-rc2 branch, it includes all > > those commits, both in the summary and the diffstat. If I base the > > pull request off 3.17, the base commit is the last one that was > > merged into your tree, and the diffstat and commit list reflect > > that. > > That's fine, and works for me too. This is normal and expected for > stuff that has gotten into my tree other ways (ie bugfixes that were > cherrypicked to be backported from development trees etc). I'm used > to it, and while I hope people minimize it (not only because of > multiple commits showing up with the same patch, but because it can > easily cause stupid merge conflicts because the development tree then > made further changes on top of the same patch), it's also very much > considered "normal development". > > That said, when there are actual *common* commits as in your case (as > opposed to cherrypicked commits that generate duplicate commits with > the same patch), I would generally suggest you just let "git > merge-base" figure it all out from my latest tree. That way it takes > into account the stuff that you sent earlier on its own. Ok, that seems easy enough to check. I wasn't aware of git merge-base, so thanks for letting me know about it. > But this is not a big deal. > > > So my question is this: Which tree should I generate the pull > > request from? I flipped a coin an generated this one from 3.17-rc2, > > but if you'd prefer to see just the commits/diffstat that aren't in > > your tree, let me know and I'll do it differently next time.... > > Normally, I'd suggest the easiest way to handle things is to have a > "linus" branch that tracks my upstream, and then just generate the > pull request off that. Git will figure out the latest merge base and > just do the right thing, and you don't need to really think about > where you forked things off, and which parts you have already sent to > me. OK, that's exactly what I would have done if the coin flip landed the other way. I'll use that method in future. > As mentioned, even then the diffstat doesn't always end up being > exactly right, because the history with partially merged branches, and > with potential cherry-picked commits. So I am not surprised or upset > if the diffstat doesn't always match, it happens quite commonly. I go > on a rant when that i sdue to bad development practices, but I don't > see anything like that in your tree. That's good to know - I'm trying to keep the topic branches as stable as possible so you can see when they were first pushed into the tree, if/when fixes are appended to them and the dependencies between them so bisects won't break. If you do see something wrong or dodgy, just yell. ;) > Some people avoid this by actually generating a test-merge (to warn me > about upcoming conflicts etc), and then generate the diffstat from > that test merge instead of just using the plain "git diff" in the > git-pull-request helper scripts. Whatever works. This is not a huge > deal, exactly because it's "normal development" (unlike the > back-merges issue). *nod* Definitely "normal development" - I do that "test merge" as part of my day-to-day workflow. My test tree (i.e. what I point overnight xfstests runs at) is your TOT + the current XFS for-next + any patch sets I'm reviewing, testing and/or developing.... Thanks for the info, Linus. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 13 17:09: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 41A137F4E for ; Mon, 13 Oct 2014 17:09:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 308458F8054 for ; Mon, 13 Oct 2014 15:09:45 -0700 (PDT) X-ASG-Debug-ID: 1413238182-04cbb018ab369950001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id E9x2ca7p3bre89nW for ; Mon, 13 Oct 2014 15:09: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: AlcuAFlMPFR5LODnPGdsb2JhbABbgw6BK4I2hQewOwaVGYVqAgIBAQKBHhcBBgEBAQE4O4QDAQEEMgEjGgkQCAMYCSUPBSUDBxoTiD3FHwEBAQEBBQIBHxiGCIlcSQeDLYEeBYUVA5gygS+Gc5F7KS+BB4FDAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 08:39:41 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdnoC-0007Rc-CW; Tue, 14 Oct 2014 09:09:40 +1100 Date: Tue, 14 Oct 2014 09:09:40 +1100 From: Dave Chinner To: Tom Mason Cc: Emmanuel Florac , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141013220940.GE17506@dastard> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.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: 1413238182 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.10532 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 13, 2014 at 08:33:57PM +0000, Tom Mason wrote: > > > On Oct 13, 2014, at 11:19 AM, Emmanuel Florac wrote: > > >Le Mon, 13 Oct 2014 11:05:49 +0100 > >Tom Mason écrivait: > > > > > > Which means the filesystem tried to read the offset at 62GB and the > > > > underlying device failed it with EIO. That's not an XFS failure. > > > > What error is there in dmesg when you run that xfs_repair command? > > > > > > What's EIO? > > > 'Error in dmesg' How would I report this info to you? .... > [ 862.456063] usb 1-3: new high-speed USB device number 4 using ehci-pci > [ 862.591595] usb 1-3: New USB device found, idVendor=1bcf, idProduct=0c31 > [ 862.591601] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=1 > [ 862.591604] usb 1-3: Product: USB to Serial-ATA bridge > [ 862.591608] usb 1-3: Manufacturer: Sunplus Innovation Technology. > [ 862.591611] usb 1-3: SerialNumber: FAFFFFF0FDF13FF1BF901305 > [ 864.683460] usb-storage 1-3:1.0: USB Mass Storage device detected > [ 864.683638] scsi6 : usb-storage 1-3:1.0 > [ 864.683708] usbcore: registered new interface driver usb-storage > [ 865.690235] scsi 6:0:0:0: Direct-Access SAMSUNG HD103UJ PQ: 0 ANSI: 4 > [ 865.690464] sd 6:0:0:0: Attached scsi generic sg2 type 0 > [ 865.694619] sd 6:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB) > [ 865.700970] sd 6:0:0:0: [sdb] Write Protect is off > [ 865.700973] sd 6:0:0:0: [sdb] Mode Sense: 38 00 00 00 > [ 865.707350] sd 6:0:0:0: [sdb] No Caching mode page found > [ 865.707352] sd 6:0:0:0: [sdb] Assuming drive cache: write through > [ 865.721592] sd 6:0:0:0: [sdb] No Caching mode page found > [ 865.721595] sd 6:0:0:0: [sdb] Assuming drive cache: write through > [ 865.741343] sdb: sdb1 < > sdb2 > [ 865.780852] sd 6:0:0:0: [sdb] No Caching mode page found > [ 865.780855] sd 6:0:0:0: [sdb] Assuming drive cache: write through > [ 865.780857] sd 6:0:0:0: [sdb] Attached SCSI disk Device plugged in.... > [ 869.594066] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled > [ 869.609228] XFS (sdb2): Mounting Filesystem > [ 869.687220] XFS (sdb2): Internal error xlog_clear_stale_blocks(2) at line 1368 of file /build/buildd/linux-3.13.0/fs/xfs/xfs_log_recover.c. Caller 0xffffffffa07a8951 ..... > [ 869.687442] XFS (sdb2): failed to locate log tail > [ 869.687444] XFS (sdb2): log mount/recovery failed: error 117 > [ 869.687486] XFS (sdb2): log mount failed And that is XFS telling us that the log is corrupt and can't be recovered. > [ 1404.460745] sd 6:0:0:0: [sdb] Unhandled sense code > [ 1404.460751] sd 6:0:0:0: [sdb] [ 1404.460753] Result: > hostbyte=DID_OK driverbyte=DRIVER_SENSE > [ 1404.460756] sd 6:0:0:0: [sdb] [ 1404.460758] Sense Key : Medium > Error [current] > [ 1404.460763] sd 6:0:0:0: [sdb] [ 1404.460766] Add. Sense: > Unrecovered read error > [ 1404.460769] sd 6:0:0:0: [sdb] CDB: > [ 1404.460771] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 > [ 1404.460781] end_request: critical medium error, dev sdb, sector 123977613 > [ 1489.507727] sd 6:0:0:0: [sdb] Unhandled sense code > [ 1489.507734] sd 6:0:0:0: [sdb] [ 1489.507736] Result: > hostbyte=DID_OK driverbyte=DRIVER_SENSE > [ 1489.507739] sd 6:0:0:0: [sdb] [ 1489.507741] Sense Key : Medium > Error [current] > [ 1489.507746] sd 6:0:0:0: [sdb] [ 1489.507749] Add. Sense: > Unrecovered read error > [ 1489.507752] sd 6:0:0:0: [sdb] CDB: > [ 1489.507754] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 > [ 1489.507769] end_request: critical medium error, dev sdb, sector 123977613 And that is when you ran xfs_repair 10 minutes later? THose are IO errors, and the "Unrecovered read error" and "critical medium error" messages indicate that the drive has lost the data in those sectors permanently. i.e. the disk has physically failed and it needs to be replaced. As Emmanuel has already mentioned, the best you can probably do at this point mount the filesystem "-o ro,norecover" and copy everything you can off onto a new drive.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From tom_mason@me.com Mon Oct 13 17:26: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2EC717F4E for ; Mon, 13 Oct 2014 17:26:00 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id C0D90AC00C for ; Mon, 13 Oct 2014 15:25:56 -0700 (PDT) X-ASG-Debug-ID: 1413239152-04bdf02879363560001-NocioJ Received: from st11p01mm-asmtp002.mac.com (st11p01mm-asmtp002.mac.com [17.172.204.237]) by cuda.sgi.com with ESMTP id MlfzlTQFqVNCeCCn (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 13 Oct 2014 15:25:52 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.237 X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] Received: from [192.168.1.75] (host86-134-5-249.range86-134.btcentralplus.com [86.134.5.249]) by st11p01mm-asmtp002.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDE0019YMB012B0@st11p01mm-asmtp002.mac.com> for xfs@oss.sgi.com; Mon, 13 Oct 2014 22:25:52 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-13_04:2014-10-13,2014-10-13,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410130227 References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> MIME-version: 1.0 (1.0) In-reply-to: <20141013220940.GE17506@dastard> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: Cc: Emmanuel Florac , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Mon, 13 Oct 2014 23:25:47 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Dave Chinner X-Barracuda-Connect: st11p01mm-asmtp002.mac.com[17.172.204.237] X-Barracuda-Start-Time: 1413239152 X-Barracuda-Encrypted: RC4-MD5 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 13 Oct 2014, at 23:09, Dave Chinner wrote: >=20 >> On Mon, Oct 13, 2014 at 08:33:57PM +0000, Tom Mason wrote: >>=20 >>=20 >>> On Oct 13, 2014, at 11:19 AM, Emmanuel Florac w= rote: >>>=20 >>> Le Mon, 13 Oct 2014 11:05:49 +0100 >>> Tom Mason =C3=A9crivait: >>>=20 >>>>> Which means the filesystem tried to read the offset at 62GB and the >>>>> underlying device failed it with EIO. That's not an XFS failure. >>>>> What error is there in dmesg when you run that xfs_repair command? >>>>=20 >>>> What's EIO? >>>> 'Error in dmesg' How would I report this info to you? > .... >> [ 862.456063] usb 1-3: new high-speed USB device number 4 using ehci-pci= >> [ 862.591595] usb 1-3: New USB device found, idVendor=3D1bcf, idProduct=3D= 0c31 >> [ 862.591601] usb 1-3: New USB device strings: Mfr=3D2, Product=3D3, Ser= ialNumber=3D1 >> [ 862.591604] usb 1-3: Product: USB to Serial-ATA bridge >> [ 862.591608] usb 1-3: Manufacturer: Sunplus Innovation Technology. >> [ 862.591611] usb 1-3: SerialNumber: FAFFFFF0FDF13FF1BF901305 >> [ 864.683460] usb-storage 1-3:1.0: USB Mass Storage device detected >> [ 864.683638] scsi6 : usb-storage 1-3:1.0 >> [ 864.683708] usbcore: registered new interface driver usb-storage >> [ 865.690235] scsi 6:0:0:0: Direct-Access SAMSUNG HD103UJ = PQ: 0 ANSI: 4 >> [ 865.690464] sd 6:0:0:0: Attached scsi generic sg2 type 0 >> [ 865.694619] sd 6:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.0= 0 TB/931 GiB) >> [ 865.700970] sd 6:0:0:0: [sdb] Write Protect is off >> [ 865.700973] sd 6:0:0:0: [sdb] Mode Sense: 38 00 00 00 >> [ 865.707350] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.707352] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.721592] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.721595] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.741343] sdb: sdb1 < > sdb2 >> [ 865.780852] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.780855] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.780857] sd 6:0:0:0: [sdb] Attached SCSI disk >=20 > Device plugged in.... >=20 >> [ 869.594066] SGI XFS with ACLs, security attributes, realtime, large bl= ock/inode numbers, no debug enabled >> [ 869.609228] XFS (sdb2): Mounting Filesystem >> [ 869.687220] XFS (sdb2): Internal error xlog_clear_stale_blocks(2) at l= ine 1368 of file /build/buildd/linux-3.13.0/fs/xfs/xfs_log_recover.c. Calle= r 0xffffffffa07a8951 > ..... >> [ 869.687442] XFS (sdb2): failed to locate log tail >> [ 869.687444] XFS (sdb2): log mount/recovery failed: error 117 >> [ 869.687486] XFS (sdb2): log mount failed >=20 > And that is XFS telling us that the log is corrupt and can't be > recovered. >=20 >> [ 1404.460745] sd 6:0:0:0: [sdb] Unhandled sense code >> [ 1404.460751] sd 6:0:0:0: [sdb] [ 1404.460753] Result: >> hostbyte=3DDID_OK driverbyte=3DDRIVER_SENSE >> [ 1404.460756] sd 6:0:0:0: [sdb] [ 1404.460758] Sense Key : Medium >> Error [current] >> [ 1404.460763] sd 6:0:0:0: [sdb] [ 1404.460766] Add. Sense: >> Unrecovered read error >> [ 1404.460769] sd 6:0:0:0: [sdb] CDB: >> [ 1404.460771] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 >> [ 1404.460781] end_request: critical medium error, dev sdb, sector 123977= 613 >> [ 1489.507727] sd 6:0:0:0: [sdb] Unhandled sense code >> [ 1489.507734] sd 6:0:0:0: [sdb] [ 1489.507736] Result: >> hostbyte=3DDID_OK driverbyte=3DDRIVER_SENSE >> [ 1489.507739] sd 6:0:0:0: [sdb] [ 1489.507741] Sense Key : Medium >> Error [current] >> [ 1489.507746] sd 6:0:0:0: [sdb] [ 1489.507749] Add. Sense: >> Unrecovered read error >> [ 1489.507752] sd 6:0:0:0: [sdb] CDB: >> [ 1489.507754] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 >> [ 1489.507769] end_request: critical medium error, dev sdb, sector 123977= 613 >=20 > And that is when you ran xfs_repair 10 minutes later? THose are IO > errors, and the "Unrecovered read error" and "critical medium error" > messages indicate that the drive has lost the data in those sectors > permanently. i.e. the disk has physically failed and it needs to be > replaced. As Emmanuel has already mentioned, the best you can > probably do at this point mount the filesystem "-o ro,norecover" and > copy everything you can off onto a new drive.... >=20 > Cheers, >=20 > Dave Thanks guys - much appreciated, managed to mount the drive again and have sa= ved some more files although I have lost a lot : (=20 Noob question: Could this have occurred due to me copying too many differing= folders all 100gb+ when I first mounted the drive successfully in knoppix? O= r was this drive just going to go anyway?=20 Cheers! Tom= From tom_mason@me.com Mon Oct 13 17:38: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=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 3BAE17F4E for ; Mon, 13 Oct 2014 17:38:42 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0C7AD8F8054 for ; Mon, 13 Oct 2014 15:38:41 -0700 (PDT) X-ASG-Debug-ID: 1413239920-04bdf02879363df0001-NocioJ Received: from st11p01mm-asmtp002.mac.com (st11p01mm-asmtp002.mac.com [17.172.204.237]) by cuda.sgi.com with ESMTP id S9lW2FGCnCfnDOXy (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 13 Oct 2014 15:38:40 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.237 X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] Received: from [192.168.1.75] (host86-134-5-249.range86-134.btcentralplus.com [86.134.5.249]) by st11p01mm-asmtp002.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDE008CKMWA4230@st11p01mm-asmtp002.mac.com> for xfs@oss.sgi.com; Mon, 13 Oct 2014 22:38:40 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-13_04:2014-10-13,2014-10-13,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410130229 References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> MIME-version: 1.0 (1.0) In-reply-to: <20141013220940.GE17506@dastard> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: Cc: Emmanuel Florac , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Mon, 13 Oct 2014 23:38:34 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Dave Chinner X-Barracuda-Connect: st11p01mm-asmtp002.mac.com[17.172.204.237] X-Barracuda-Start-Time: 1413239920 X-Barracuda-Encrypted: RC4-MD5 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 13 Oct 2014, at 23:09, Dave Chinner wrote: >=20 >> On Mon, Oct 13, 2014 at 08:33:57PM +0000, Tom Mason wrote: >>=20 >>=20 >>> On Oct 13, 2014, at 11:19 AM, Emmanuel Florac w= rote: >>>=20 >>> Le Mon, 13 Oct 2014 11:05:49 +0100 >>> Tom Mason =C3=A9crivait: >>>=20 >>>>> Which means the filesystem tried to read the offset at 62GB and the >>>>> underlying device failed it with EIO. That's not an XFS failure. >>>>> What error is there in dmesg when you run that xfs_repair command? >>>>=20 >>>> What's EIO? >>>> 'Error in dmesg' How would I report this info to you? > .... >> [ 862.456063] usb 1-3: new high-speed USB device number 4 using ehci-pci= >> [ 862.591595] usb 1-3: New USB device found, idVendor=3D1bcf, idProduct=3D= 0c31 >> [ 862.591601] usb 1-3: New USB device strings: Mfr=3D2, Product=3D3, Ser= ialNumber=3D1 >> [ 862.591604] usb 1-3: Product: USB to Serial-ATA bridge >> [ 862.591608] usb 1-3: Manufacturer: Sunplus Innovation Technology. >> [ 862.591611] usb 1-3: SerialNumber: FAFFFFF0FDF13FF1BF901305 >> [ 864.683460] usb-storage 1-3:1.0: USB Mass Storage device detected >> [ 864.683638] scsi6 : usb-storage 1-3:1.0 >> [ 864.683708] usbcore: registered new interface driver usb-storage >> [ 865.690235] scsi 6:0:0:0: Direct-Access SAMSUNG HD103UJ = PQ: 0 ANSI: 4 >> [ 865.690464] sd 6:0:0:0: Attached scsi generic sg2 type 0 >> [ 865.694619] sd 6:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.0= 0 TB/931 GiB) >> [ 865.700970] sd 6:0:0:0: [sdb] Write Protect is off >> [ 865.700973] sd 6:0:0:0: [sdb] Mode Sense: 38 00 00 00 >> [ 865.707350] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.707352] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.721592] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.721595] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.741343] sdb: sdb1 < > sdb2 >> [ 865.780852] sd 6:0:0:0: [sdb] No Caching mode page found >> [ 865.780855] sd 6:0:0:0: [sdb] Assuming drive cache: write through >> [ 865.780857] sd 6:0:0:0: [sdb] Attached SCSI disk >=20 > Device plugged in.... >=20 >> [ 869.594066] SGI XFS with ACLs, security attributes, realtime, large bl= ock/inode numbers, no debug enabled >> [ 869.609228] XFS (sdb2): Mounting Filesystem >> [ 869.687220] XFS (sdb2): Internal error xlog_clear_stale_blocks(2) at l= ine 1368 of file /build/buildd/linux-3.13.0/fs/xfs/xfs_log_recover.c. Calle= r 0xffffffffa07a8951 > ..... >> [ 869.687442] XFS (sdb2): failed to locate log tail >> [ 869.687444] XFS (sdb2): log mount/recovery failed: error 117 >> [ 869.687486] XFS (sdb2): log mount failed >=20 > And that is XFS telling us that the log is corrupt and can't be > recovered. >=20 >> [ 1404.460745] sd 6:0:0:0: [sdb] Unhandled sense code >> [ 1404.460751] sd 6:0:0:0: [sdb] [ 1404.460753] Result: >> hostbyte=3DDID_OK driverbyte=3DDRIVER_SENSE >> [ 1404.460756] sd 6:0:0:0: [sdb] [ 1404.460758] Sense Key : Medium >> Error [current] >> [ 1404.460763] sd 6:0:0:0: [sdb] [ 1404.460766] Add. Sense: >> Unrecovered read error >> [ 1404.460769] sd 6:0:0:0: [sdb] CDB: >> [ 1404.460771] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 >> [ 1404.460781] end_request: critical medium error, dev sdb, sector 123977= 613 >> [ 1489.507727] sd 6:0:0:0: [sdb] Unhandled sense code >> [ 1489.507734] sd 6:0:0:0: [sdb] [ 1489.507736] Result: >> hostbyte=3DDID_OK driverbyte=3DDRIVER_SENSE >> [ 1489.507739] sd 6:0:0:0: [sdb] [ 1489.507741] Sense Key : Medium >> Error [current] >> [ 1489.507746] sd 6:0:0:0: [sdb] [ 1489.507749] Add. Sense: >> Unrecovered read error >> [ 1489.507752] sd 6:0:0:0: [sdb] CDB: >> [ 1489.507754] Read(10): 28 00 07 63 bf 8d 00 00 eb 00 >> [ 1489.507769] end_request: critical medium error, dev sdb, sector 123977= 613 >=20 > And that is when you ran xfs_repair 10 minutes later? THose are IO > errors, and the "Unrecovered read error" and "critical medium error" > messages indicate that the drive has lost the data in those sectors > permanently. i.e. the disk has physically failed and it needs to be > replaced. As Emmanuel has already mentioned, the best you can > probably do at this point mount the filesystem "-o ro,norecover" and > copy everything you can off onto a new drive.... >=20 > Cheers, >=20 > Dave. > --=20 > Dave Chinner > david@fromorbit.com Btw - before I get rid of this old samsung 1tb drive, the folder's propertie= s in the failed drive actually report a lot higher for file numbers and size= s than eventually get copied - it reports: "Error while copying There was an error getting information about the files in the folder 'xxxxx'= no data available" ...is there a way around this or is this my lost data?= From david@fromorbit.com Mon Oct 13 18:44: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 695117F4E for ; Mon, 13 Oct 2014 18:44:55 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id EBE05AC00D for ; Mon, 13 Oct 2014 16:44:51 -0700 (PDT) X-ASG-Debug-ID: 1413243889-04cbb018ae36f9e0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id d87OAQsaxlpDypvC for ; Mon, 13 Oct 2014 16:44: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: ArgaANtiPFR5LODnPGdsb2JhbABbgw6BK4I2hQewRAaVGYVqBAICgRcXAQYBAQEBODuEAwEBBDocIxAIAxgJJQ8FJQMHGhOIPcU/AQEBBwIBHxiGCIolB4MtgR4BBJ1Kmh0pL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 10:14:48 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdpIE-0007bn-90; Tue, 14 Oct 2014 10:44:46 +1100 Date: Tue, 14 Oct 2014 10:44:46 +1100 From: Dave Chinner To: Tom Mason Cc: Emmanuel Florac , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141013234446.GE5267@dastard> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@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: 1413243889 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.10536 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 13, 2014 at 11:25:47PM +0100, Tom Mason wrote: > Noob question: Could this have occurred due to me copying too many > differing folders all 100gb+ when I first mounted the drive > successfully in knoppix? Or was this drive just going to go > anyway? The drive is dying - it's not related to anything you did. -Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 13 18: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 55DED7F4E for ; Mon, 13 Oct 2014 18: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 D7501AC00C for ; Mon, 13 Oct 2014 16:47:18 -0700 (PDT) X-ASG-Debug-ID: 1413244035-04cbb018ae36fb50001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 7BiqEtPmeJnTXDjT for ; Mon, 13 Oct 2014 16:47:16 -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: ArgaAAdkPFR5LODnPGdsb2JhbABbgw6BK4I2hQewRAaVGYVqBAICgRQXAQYBAQEBODuEAwEBBDocIxAIAxgJJQ8FJQMHGhOIPcVBAQEBBwIBHxiGCIolB4MtgR4BBIUVA5gymh0pL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 10:17:02 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdpKP-0007cQ-0h; Tue, 14 Oct 2014 10:47:01 +1100 Date: Tue, 14 Oct 2014 10:47:00 +1100 From: Dave Chinner To: Tom Mason Cc: Emmanuel Florac , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141013234700.GF5267@dastard> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@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: 1413244035 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.10536 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 13, 2014 at 11:38:34PM +0100, Tom Mason wrote: > Btw - before I get rid of this old samsung 1tb drive, the folder's > properties in the failed drive actually report a lot higher for > file numbers and sizes than eventually get copied - it reports: > "Error while copying There was an error getting information about > the files in the folder 'xxxxx' no data available" ...is there a > way around this or is this my lost data? You're now into disaster recovery territory. Use ddrescue to image the filesystem, then something like photorec or some other data recovery tool to scrape the image for intact files that otherwise couldn't be pulled from the mounted filesystem. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 13 19: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 617257F4E for ; Mon, 13 Oct 2014 19:18:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4E60E8F804C for ; Mon, 13 Oct 2014 17:18:13 -0700 (PDT) X-ASG-Debug-ID: 1413245889-04cb6c7704398df0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 56KhMDsumCAey4EA for ; Mon, 13 Oct 2014 17:18:09 -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: AlcuAA5rPFR5LODnPGdsb2JhbABbgw6BK4I2hQewRQaVGYVqAgIBAQKBFBcBBgEBAQE4O4QDAQEEOhwjEAgDDgoJJQ8FJQMHGhOIPcVJAQEBBwIBHxiGCIolB4RLBYYtlx2BL4sugh+LISkvgkoBAQE Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 10:48:08 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdpoU-0007gS-JT; Tue, 14 Oct 2014 11:18:06 +1100 Date: Tue, 14 Oct 2014 11:18:06 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141014001806.GG5267@dastard> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413220285-24886-1-git-send-email-bfoster@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: 1413245889 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.10539 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 13, 2014 at 01:11:25PM -0400, Brian Foster wrote: > The zero range operation is analogous to fallocate with the exception of > converting the range to zeroes. E.g., it attempts to allocate zeroed > blocks over the range specified by the caller. The XFS implementation > kills all delalloc blocks currently over the aligned range, converts the > range to allocated zero blocks (unwritten extents) and handles the > partial pages at the ends of the range by sending writes through the > pagecache. > > The current implementation suffers from several problems associated with > inode size. If the aligned range covers an extending I/O, said I/O is > discarded and an inode size update from a previous write never makes it > to disk. Further, if an unaligned zero range extends beyond eof, the > page write induced for the partial end page can itself increase the > inode size, even if the zero range request is not supposed to update > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > The latter behavior not only incorrectly increases the inode size, but > can lead to stray delalloc blocks on the inode. Typically, post-eof > preallocation blocks are either truncated on release or inode eviction > or explicitly written to by xfs_zero_eof() on natural file size > extension. If the inode size increases due to zero range, however, > associated blocks leak into the address space having never been > converted or mapped to pagecache pages. A direct I/O to such an > uncovered range cannot convert the extent via writeback and will BUG(). > For example: > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > ... > $ xfs_io -d -c "pread 128k 128k" > > > If the entire delalloc extent happens to not have page coverage > whatsoever (e.g., delalloc conversion couldn't find a large enough free > space extent), even a full file writeback won't convert what's left of > the extent and we'll assert on inode eviction. > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > Use the existing hole punch and prealloc mechanisms as primitives for > zero range. We punch out the pagecache beforehand to eliminate > unnecessary writeback. The hole punch mechanism handles partial block > zeroing for us and facilitates the use of a single prealloc call over > the entire range, which increases the odds of contiguous allocation. > > Signed-off-by: Brian Foster > --- This patch triggers the same bug pretty much straight away on generic/033 on all my test systems: [ 306.378041] XFS: Assertion failed: startblockval(del.br_startblock) > 0, file: fs/xfs/libxfs/xfs_bmap.c, line: 5279 [ 306.380694] ------------[ cut here ]------------ [ 306.381655] kernel BUG at fs/xfs/xfs_message.c:107! [ 306.382535] invalid opcode: 0000 [#1] SMP [ 306.383310] Modules linked in: [ 306.383889] CPU: 0 PID: 12151 Comm: xfs_io Not tainted 3.17.0-dgc+ #537 [ 306.384665] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 306.384665] task: ffff88007597e2c0 ti: ffff880077644000 task.ti: ffff880077644000 [ 306.384665] RIP: 0010:[] [] assfail+0x22/0x30 [ 306.384665] RSP: 0018:ffff880077647c98 EFLAGS: 00010296 [ 306.384665] RAX: 0000000000000067 RBX: 0000000000000007 RCX: 0000000000000000 [ 306.384665] RDX: 0000000000000001 RSI: ffff88007fc0d258 RDI: ffff88007fc0d258 [ 306.384665] RBP: ffff880077647c98 R08: 000000000000000a R09: 0000000000000000 [ 306.384665] R10: 000000000000026b R11: ffff880077647946 R12: 0000000000000007 [ 306.384665] R13: ffff88006a35d300 R14: ffff880076669370 R15: ffff880077647db0 [ 306.384665] FS: 00007fc0b858e700(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000 [ 306.384665] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 306.384665] CR2: 000000000061dc40 CR3: 000000007592d000 CR4: 00000000000006f0 [ 306.384665] Stack: [ 306.384665] ffff880077647d88 ffffffff81491341 ffff880077647d40 ffff880077647db4 [ 306.384665] ffff880075997000 0000000100000007 ffff88006a35d340 0000000000000000 [ 306.384665] 0000000000000000 ffffffff00000000 0000000700000000 0000000000000000 [ 306.384665] Call Trace: [ 306.384665] [] xfs_bunmapi+0x781/0x1000 [ 306.384665] [] xfs_bmap_punch_delalloc_range+0xf6/0x1a0 [ 306.384665] [] xfs_zero_file_space+0xf3/0x1d0 [ 306.384665] [] xfs_file_fallocate+0xe8/0x2f0 [ 306.384665] [] ? __sb_start_write+0x58/0xf0 [ 306.384665] [] do_fallocate+0x127/0x1c0 [ 306.384665] [] SyS_fallocate+0x44/0x70 [ 306.384665] [] system_call_fastpath+0x16/0x1b [ 306.384665] Code: 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 f1 41 89 d0 48 89 e5 48 89 fa 48 c7 c6 f0 67 15 82 31 ff 31 c0 e8 ce fb ff ff <0f> 0b 66 66 66 [ 306.384665] RIP [] assfail+0x22/0x30 [ 306.384665] RSP [ 306.418027] ---[ end trace 18ffcc2e14a50ab1 ]--- I'm running 3.17 + for-next + a handful of local patches, but this is the only patch that modifies anything in this area. I'll remove all the other patches I have just to check.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Oct 13 19:51: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 698FB7F4E for ; Mon, 13 Oct 2014 19:51:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 563B08F804B for ; Mon, 13 Oct 2014 17:51:03 -0700 (PDT) X-ASG-Debug-ID: 1413247860-04cb6c770439a110001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id aRCgkSR1kQ1EsFM1 for ; Mon, 13 Oct 2014 17:51: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: ArgaABhyPFR5LODnPGdsb2JhbABbgw6BK4I2hQewTgaVGYVqBAICgRQXAQYBAQEBODuEAwEBBDocIxAIAw4KCSUPBSUDBxoTiD3FUAEBCAIgGIYIiiUHhEsFnUqMXY1AKS+CSgEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail04.adl6.internode.on.net with ESMTP; 14 Oct 2014 11:20:59 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XdqKI-0007jV-AE; Tue, 14 Oct 2014 11:50:58 +1100 Date: Tue, 14 Oct 2014 11:50:58 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141014005058.GH5267@dastard> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> <20141014001806.GG5267@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141014001806.GG5267@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: 1413247860 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.10540 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 14, 2014 at 11:18:06AM +1100, Dave Chinner wrote: > I'm running 3.17 + for-next + a handful of local patches, but this > is the only patch that modifies anything in this area. I'll remove > all the other patches I have just to check.... When this is the only patch on top of 3.17+for-next it still triggers. Cheers, Dave. -- Dave Chinner david@fromorbit.com From eflorac@intellique.com Tue Oct 14 05:55: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 9B3277F3F for ; Tue, 14 Oct 2014 05:55:06 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2875FAC00F for ; Tue, 14 Oct 2014 03:55:06 -0700 (PDT) X-ASG-Debug-ID: 1413284103-04cbb018ad396dd0001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id lVF8yZHAsSETlpqO (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 03:55:04 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id 4A1AFD48065; Tue, 14 Oct 2014 12:53:47 +0200 (CEST) Date: Tue, 14 Oct 2014 12:55:06 +0200 From: Emmanuel Florac To: Tom Mason Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141014125506.4bbeaefd@harpe.intellique.com> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning In-Reply-To: References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> Organization: Intellique X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1413284104 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.10553 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Mon, 13 Oct 2014 23:38:34 +0100 Tom Mason =C3=A9crivait: > Btw - before I get rid of this old samsung 1tb drive, the folder's > properties in the failed drive actually report a lot higher for file > numbers and sizes than eventually get copied - it reports: "Error > while copying There was an error getting information about the files > in the folder 'xxxxx' no data available" ...is there a way around > this or is this my lost data? The metadata information from the drive may be inaccurate because the log is corrupted. Then some folder data may have been lost and prevent you from recovering the files that are in some folders. After you're done copying all files you can from the disk, you can try to make a mirror image on another drive at least as big as this one, and run xfs_repair on the image. After that you could eventually get more data back (it depends upon the extent of the damage to the actual data and file structure). To copy the disk on another one, you can use ddrescue or dd with "noerror" option. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From bfoster@redhat.com Tue Oct 14 06:38: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 204D37F3F for ; Tue, 14 Oct 2014 06:38:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id BE64BAC010 for ; Tue, 14 Oct 2014 04:38:10 -0700 (PDT) X-ASG-Debug-ID: 1413286687-04bdf0287637fab0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id V8s4tbrPXzJCKhlg (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 04:38:08 -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 s9EBc0Ts007157 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 14 Oct 2014 07:38:00 -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 s9EBbxTJ031730; Tue, 14 Oct 2014 07:37:59 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id BF7B6120064; Tue, 14 Oct 2014 07:37:58 -0400 (EDT) Date: Tue, 14 Oct 2014 07:37:58 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141014113758.GA64776@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> <20141014001806.GG5267@dastard> <20141014005058.GH5267@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141014005058.GH5267@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: 1413286688 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 Tue, Oct 14, 2014 at 11:50:58AM +1100, Dave Chinner wrote: > On Tue, Oct 14, 2014 at 11:18:06AM +1100, Dave Chinner wrote: > > I'm running 3.17 + for-next + a handful of local patches, but this > > is the only patch that modifies anything in this area. I'll remove > > all the other patches I have just to check.... > > When this is the only patch on top of 3.17+for-next it still > triggers. > Interesting, I didn't catch this. I do reproduce with v4 and v3. Note that this is the assert for having at least 1 indirect block reservation, so it's a separate problem (not a stale delalloc problem): http://oss.sgi.com/archives/xfs/2014-09/msg00337.html What looks like is going on here is this patch regresses current for-next due to our previous zero range workaround to flush on zero range. This was originally reproducible on tot, the zero range flush quiets it down by forcing delalloc conversion, and this patch reintroduces it simply by eliminating the flush. I've just recently got back to fixing that problem. I have a couple patches that need more testing, but I'll try to get them posted for review today. Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bpm@sgi.com Tue Oct 14 10:04: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=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 64CA67F3F for ; Tue, 14 Oct 2014 10:04:09 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3B6C0304051; Tue, 14 Oct 2014 08:04:05 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id CEDEC4266DC; Tue, 14 Oct 2014 10:04:05 -0500 (CDT) Date: Tue, 14 Oct 2014 10:04:05 -0500 From: Ben Myers To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 05/16] xfs: return the first match during case-insensitive lookup. Message-ID: <20141014150405.GA2199@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003215542.GD1865@sgi.com> <20141006221928.GJ2301@dastard> <20141009154240.GC1865@sgi.com> <20141009203814.GB4376@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141009203814.GB4376@dastard> User-Agent: Mutt/1.5.20 (2009-06-14) Dave, On Fri, Oct 10, 2014 at 07:38:14AM +1100, Dave Chinner wrote: > On Thu, Oct 09, 2014 at 10:42:40AM -0500, Ben Myers wrote: > > On Tue, Oct 07, 2014 at 09:19:28AM +1100, Dave Chinner wrote: > > > On Fri, Oct 03, 2014 at 04:55:42PM -0500, Ben Myers wrote: > > > > From: Olaf Weber > > > > > > > > Change the XFS case-insensitive lookup code to return the first match > > > > found, even if it is not an exact match. Whether a filesystem uses > > > > case-insensitive lookups is determined by a superblock bit set during > > > > filesystem creation. This means that normal use cannot create two files > > > > that both match the same filename. > > > > > > > > Signed-off-by: Olaf Weber > > > > > > This is really dependent on whether we want to support mixed > > > CI/non-CI filesystems, yes? i.e. if we want to support mixed case > > > setups, then we need to keep the code as it stands? > > > > It depends upon what semantics you decide are correct in the mixed case. > > This is just one solution. > > Ok, so we need this code or somethign very similar to support mixed > case filesystems. Can you tell us what the other possible solutions > and semantics have been considered? There was some discussion of this in the v2 posting of this rfc. http://marc.info/?l=linux-xfs&m=141176024430150&w=2 Olaf's "readme" example at the above link is a pretty good example of what we're facing. And I don't have a good answer for which file to open. So for now we're just going for the cleanest solution. > > > What is the downside of keeping the code unchaged and our > > > options open? > > > > The code that is being removed here was for the case when you > > could have multiple filenames that match for a lookup, which was > > only possible when the ascii-ci bit was implemented as a mount > > option. > > Yes, I know what the code did - it allowed us to support mixed case > ascii-ci filesystems. All you've said is "if we remove mixed case > support the code is cleaner" but not addressed the issue at hand. I also tried to explain that as the codebase stands today, removal of this code does not represent a loss of functionality. It is dead code. > I'll try asking the same question a different way: if we keep this > code, will it work for mixed case unicode filesystem or do we have > to re-implement mixed case matching differently? If you definately want to keep this code around I'll look into this, but right now I don't have plans to extend the patchset to support mixed case insensitivity in a single filesystem. -Ben From bpm@sgi.com Tue Oct 14 10: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=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 3144F7F3F for ; Tue, 14 Oct 2014 10:34:47 -0500 (CDT) Received: from whiskey.americas.sgi.com (whiskey.americas.sgi.com [128.162.233.19]) by relay2.corp.sgi.com (Postfix) with ESMTP id E95B0304059; Tue, 14 Oct 2014 08:34:46 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 671744266DC; Tue, 14 Oct 2014 10:34:46 -0500 (CDT) Date: Tue, 14 Oct 2014 10:34:46 -0500 From: Ben Myers To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, olaf@sgi.com, xfs@oss.sgi.com Subject: Re: [PATCH 08/16] xfs: change interface of xfs_nameops.hashname Message-ID: <20141014153446.GB2199@sgi.com> References: <20141003214758.GY1865@sgi.com> <20141003215844.GG1865@sgi.com> <20141006221708.GI2301@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141006221708.GI2301@dastard> User-Agent: Mutt/1.5.20 (2009-06-14) On Tue, Oct 07, 2014 at 09:17:08AM +1100, Dave Chinner wrote: > On Fri, Oct 03, 2014 at 04:58:44PM -0500, Ben Myers wrote: > > From: Olaf Weber > > > > With the introduction of the xfs_nameops.normhash callout, all uses of the > > hashname callout now occur in places where an xfs_name structure must be > > explicitly created just to match the parameter passing convention of this > > callout. Change the arguments to a const unsigned char * and int instead. > > > > Signed-off-by: Olaf Weber > > > > [v2: pass a 3rd argument for sb_utf8version to hashname. --bpm] > > So now I've looked at most of the rest of the patch set, I think > this is the wrong thing to do. I see no reason apart from "it's less > typing" to drop the use of the xfs-name structure, but it removes a > key piece of documentation from the code. i.e. that the name/namelen > are an inseparable tuple and cannot be separated. Indeed, lots of > the utf8 xfs code declares norm/normlen tuples on the stack for > temporary use, so really this comes down to a matter of taste. > > And in that matter, I'd prefer that we keep the existing name > abstaction and propagate it into the new code rather than the other > way around. Does something like this suit you? struct xfs_name { const unsigned char *name; int len; int type; __uint32_t utf8version; }; From tom_mason@me.com Tue Oct 14 10:46: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=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 0EDA97F3F for ; Tue, 14 Oct 2014 10:46:45 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id DDF538F804C for ; Tue, 14 Oct 2014 08:46:44 -0700 (PDT) X-ASG-Debug-ID: 1413301603-04cb6c77043b89f0001-NocioJ Received: from st11p01mm-asmtp002.mac.com (st11p01mm-asmtpout002.mac.com [17.172.204.237]) by cuda.sgi.com with ESMTP id LS3bcJt0qS4jsHCS (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Tue, 14 Oct 2014 08:46:43 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.237 X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] Received: from [192.168.142.67] ([82.71.189.231]) by st11p01mm-asmtp002.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDF000YKYHR7900@st11p01mm-asmtp002.mac.com> for xfs@oss.sgi.com; Tue, 14 Oct 2014 15:46:43 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-14_07:2014-10-14,2014-10-14,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410140153 References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> <20141014125506.4bbeaefd@harpe.intellique.com> MIME-version: 1.0 (1.0) In-reply-to: <20141014125506.4bbeaefd@harpe.intellique.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: <7630F174-D8AF-412D-8BBA-C3B1F7E05B9F@me.com> Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Tue, 14 Oct 2014 16:46:39 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Emmanuel Florac X-Barracuda-Connect: st11p01mm-asmtpout002.mac.com[17.172.204.237] X-Barracuda-Start-Time: 1413301603 X-Barracuda-Encrypted: RC4-MD5 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 14 Oct 2014, at 11:55, Emmanuel Florac wrote: >=20 > Le Mon, 13 Oct 2014 23:38:34 +0100 > Tom Mason =C3=A9crivait: >=20 >> Btw - before I get rid of this old samsung 1tb drive, the folder's >> properties in the failed drive actually report a lot higher for file >> numbers and sizes than eventually get copied - it reports: "Error >> while copying There was an error getting information about the files >> in the folder 'xxxxx' no data available" ...is there a way around >> this or is this my lost data? >=20 > The metadata information from the drive may be inaccurate because the > log is corrupted. Then some folder data may have been lost and prevent > you from recovering the files that are in some folders. >=20 > After you're done copying all files you can from the disk, you can try > to make a mirror image on another drive at least as big as this one, > and run xfs_repair on the image. After that you could eventually get > more data back (it depends upon the extent of the damage to the actual > data and file structure). >=20 > To copy the disk on another one, you can use ddrescue or dd with > "noerror" option. > ----------------------------------------- Thanks again! Can I create an image on a new NAS drive such as a seagate 3tb 'Central netw= ork attached storage NAS' STCG3000200 without interfering with its capabilit= ies as a NAS drive? Tom= From eflorac@intellique.com Tue Oct 14 11:38: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 34A437F3F for ; Tue, 14 Oct 2014 11:38:06 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 11AE28F8066 for ; Tue, 14 Oct 2014 09:38:05 -0700 (PDT) X-ASG-Debug-ID: 1413304679-04bdf062fa00800001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id YGaDmoBD46Y6SAl4 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 09:38:00 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from harpe.intellique.com (unknown [82.225.196.72]) by smtp5-g21.free.fr (Postfix) with ESMTP id 26710D480CF; Tue, 14 Oct 2014 18:36:41 +0200 (CEST) Date: Tue, 14 Oct 2014 18:38:04 +0200 From: Emmanuel Florac To: Tom Mason Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" Subject: Re: Mount: Structure needs cleaning Message-ID: <20141014183804.2baa8dd5@harpe.intellique.com> X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning In-Reply-To: <7630F174-D8AF-412D-8BBA-C3B1F7E05B9F@me.com> References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> <20141014125506.4bbeaefd@harpe.intellique.com> <7630F174-D8AF-412D-8BBA-C3B1F7E05B9F@me.com> Organization: Intellique X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1413304680 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.10561 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Tue, 14 Oct 2014 16:46:39 +0100 Tom Mason =C3=A9crivait: > > To copy the disk on another one, you can use ddrescue or dd with > > "noerror" option. > > ----------------------------------------- =20 > Thanks again! > Can I create an image on a new NAS drive such as a seagate 3tb > 'Central network attached storage NAS' STCG3000200 without > interfering with its capabilities as a NAS drive? Yes of course, simply make a file image on the shared volume : dd if=3D/dev/sdb2 noerror of=3D/mountpoint/mynas/disk1TB.img=20 Then you can run xfs_repair on the image file: xfs_repair -f /mountpoint/mynas/disk1TB.img Or run photorec on it=20 photorec /mountpoint/mynas/disk1TB.img --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From tom_mason@me.com Tue Oct 14 11:43: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=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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id EF8B17F3F for ; Tue, 14 Oct 2014 11:43:32 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id CE90B304048 for ; Tue, 14 Oct 2014 09:43:29 -0700 (PDT) X-ASG-Debug-ID: 1413305008-04cb6c6faf00be0001-NocioJ Received: from st11p01mm-asmtp001.mac.com (st11p01mm-asmtp001.mac.com [17.172.204.239]) by cuda.sgi.com with ESMTP id GuQg4BhdH576btFZ (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Tue, 14 Oct 2014 09:43:29 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.239 X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] Received: from [192.168.142.67] ([82.71.189.231]) by st11p01mm-asmtp001.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDG00GMZ14DK610@st11p01mm-asmtp001.mac.com> for xfs@oss.sgi.com; Tue, 14 Oct 2014 16:43:28 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Barracuda-IPDD: Level2 [me.com/17.172.204.239] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-14_07:2014-10-14,2014-10-14,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410140162 References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> <20141014125506.4bbeaefd@harpe.intellique.com> <7630F174-D8AF-412D-8BBA-C3B1F7E05B9F@me.com> <20141014183804.2baa8dd5@harpe.intellique.com> MIME-version: 1.0 (1.0) In-reply-to: <20141014183804.2baa8dd5@harpe.intellique.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: <0199BE3F-9AA3-43F5-8622-777245C6824E@me.com> Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12A405) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Tue, 14 Oct 2014 17:43:25 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Emmanuel Florac X-Barracuda-Connect: st11p01mm-asmtp001.mac.com[17.172.204.239] X-Barracuda-Start-Time: 1413305008 X-Barracuda-Encrypted: RC4-MD5 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 14 Oct 2014, at 17:38, Emmanuel Florac wrote: >=20 > Le Tue, 14 Oct 2014 16:46:39 +0100 > Tom Mason =C3=A9crivait: >=20 >>> To copy the disk on another one, you can use ddrescue or dd with >>> "noerror" option. >>> ----------------------------------------- =20 >> Thanks again! >> Can I create an image on a new NAS drive such as a seagate 3tb >> 'Central network attached storage NAS' STCG3000200 without >> interfering with its capabilities as a NAS drive? >=20 > Yes of course, simply make a file image on the shared volume : >=20 >=20 > dd if=3D/dev/sdb2 noerror of=3D/mountpoint/mynas/disk1TB.img >=20 > Then you can run xfs_repair on the image file: >=20 > xfs_repair -f /mountpoint/mynas/disk1TB.img >=20 > Or run photorec on it=20 >=20 > photorec /mountpoint/mynas/disk1TB.img >=20 >=20 Thanks Emmanuel! Much appreciated : ) I'll order a new NAS and might have so= me more questions when I get to work on it if thats ok? Thanks again for all the help Dave/Brian/Emmanuel! Tom= From bfoster@redhat.com Tue Oct 14 16:59: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 A92527F3F for ; Tue, 14 Oct 2014 16:59:22 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 993438F8035 for ; Tue, 14 Oct 2014 14:59:19 -0700 (PDT) X-ASG-Debug-ID: 1413323958-04cb6c6faf11b30001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id cqzj1zihQGIEQGAH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 14:59:18 -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 s9ELxHr9022311 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 14 Oct 2014 17:59:18 -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 s9ELxHNE027025 for ; Tue, 14 Oct 2014 17:59:17 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 095BB12014A; Tue, 14 Oct 2014 17:59:15 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH 1/2] xfs: update icsb freeblocks counter after extent deletion Date: Tue, 14 Oct 2014 17:59:14 -0400 X-ASG-Orig-Subj: [PATCH 1/2] xfs: update icsb freeblocks counter after extent deletion Message-Id: <1413323955-19976-2-git-send-email-bfoster@redhat.com> In-Reply-To: <1413323955-19976-1-git-send-email-bfoster@redhat.com> References: <1413323955-19976-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: 1413323958 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 xfs_bunmapi() currently updates the icsb fdblocks counter, unreserves quota, etc. before the extent is deleted by xfs_bmap_del_extent(). The function has problems dividing up the indirect reserved blocks for scenarios where a single delalloc extent is split in two. Particularly, there aren't always enough blocks reserved for multiple extents in a single extent reservation. The solution to this problem is to allow the extent removal code to steal from the deleted extent to meet indirect reservation requirements. Move the block of code in xfs_bmapi() that updates the icsb fdblocks counter to after the call to xfs_bmap_del_extent() to allow the codepath to update the extent record before the free blocks are accounted. Also, reshuffle the code slightly so the delalloc accounting occurs near the xfs_bmap_del_extent() call to provide context for the comments. Signed-off-by: Brian Foster --- fs/xfs/libxfs/xfs_bmap.c | 59 ++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 79c9819..5abd22b 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -5277,9 +5277,37 @@ xfs_bunmapi( goto nodelete; } } + + /* + * If it's the case where the directory code is running + * with no block reservation, and the deleted block is in + * the middle of its extent, and the resulting insert + * of an extent would cause transformation to btree format, + * then reject it. The calling code will then swap + * blocks around instead. + * We have to do this now, rather than waiting for the + * conversion to btree format, since the transaction + * will be dirty. + */ + if (!wasdel && xfs_trans_get_block_res(tp) == 0 && + XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && + XFS_IFORK_NEXTENTS(ip, whichfork) >= /* Note the >= */ + XFS_IFORK_MAXEXT(ip, whichfork) && + del.br_startoff > got.br_startoff && + del.br_startoff + del.br_blockcount < + got.br_startoff + got.br_blockcount) { + error = -ENOSPC; + goto error0; + } + + /* + * Unreserve quota and update realtime free space, if + * appropriate. If delayed allocation, update the inode delalloc + * counter now and wait to update the sb counters as + * xfs_bmap_del_extent() might need to borrow some blocks. + */ if (wasdel) { ASSERT(startblockval(del.br_startblock) > 0); - /* Update realtime/data freespace, unreserve quota */ if (isrt) { xfs_filblks_t rtexts; @@ -5291,8 +5319,6 @@ xfs_bunmapi( ip, -((long)del.br_blockcount), 0, XFS_QMOPT_RES_RTBLKS); } else { - xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS, - (int64_t)del.br_blockcount, 0); (void)xfs_trans_reserve_quota_nblks(NULL, ip, -((long)del.br_blockcount), 0, XFS_QMOPT_RES_REGBLKS); @@ -5303,32 +5329,17 @@ xfs_bunmapi( XFS_BTCUR_BPRV_WASDEL; } else if (cur) cur->bc_private.b.flags &= ~XFS_BTCUR_BPRV_WASDEL; - /* - * If it's the case where the directory code is running - * with no block reservation, and the deleted block is in - * the middle of its extent, and the resulting insert - * of an extent would cause transformation to btree format, - * then reject it. The calling code will then swap - * blocks around instead. - * We have to do this now, rather than waiting for the - * conversion to btree format, since the transaction - * will be dirty. - */ - if (!wasdel && xfs_trans_get_block_res(tp) == 0 && - XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_EXTENTS && - XFS_IFORK_NEXTENTS(ip, whichfork) >= /* Note the >= */ - XFS_IFORK_MAXEXT(ip, whichfork) && - del.br_startoff > got.br_startoff && - del.br_startoff + del.br_blockcount < - got.br_startoff + got.br_blockcount) { - error = -ENOSPC; - goto error0; - } + error = xfs_bmap_del_extent(ip, tp, &lastx, flist, cur, &del, &tmp_logflags, whichfork); logflags |= tmp_logflags; if (error) goto error0; + + if (!isrt && wasdel) + xfs_icsb_modify_counters(mp, XFS_SBS_FDBLOCKS, + (int64_t) del.br_blockcount, 0); + bno = del.br_startoff - 1; nodelete: /* -- 1.8.3.1 From bfoster@redhat.com Tue Oct 14 16:59: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 7115F7F3F for ; Tue, 14 Oct 2014 16:59:23 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id F174EAC013 for ; Tue, 14 Oct 2014 14:59:19 -0700 (PDT) X-ASG-Debug-ID: 1413323957-04cb6c6fb011b30001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id SxBohGwDwLvNaxr8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 14:59:18 -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 s9ELxHQl019374 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 14 Oct 2014 17:59:17 -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 s9ELxHWv017884 for ; Tue, 14 Oct 2014 17:59:17 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id CF283120141; Tue, 14 Oct 2014 17:59:15 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH 0/2] fix up indlen reservations on extent split Date: Tue, 14 Oct 2014 17:59:13 -0400 X-ASG-Orig-Subj: [PATCH 0/2] fix up indlen reservations on extent split Message-Id: <1413323955-19976-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: 1413323958 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 a couple patches to fix up the indirect block reservation problem when splitting delalloc extents, described in more detail in the patch 2 commit log. This runs through xfstests without any explosions and quiets down generic/033 when used in combination with the zero range rework (current for-next includes the writeback on zero range workaround that also prevents generic/033 asserts). Brian v1: - xfs_bunmapi() code into independent patch. - Refactor fix into separate helper function. rfc: http://oss.sgi.com/archives/xfs/2014-09/msg00337.html Brian Foster (2): xfs: update icsb freeblocks counter after extent deletion xfs: borrow indirect blocks from freed extent when available fs/xfs/libxfs/xfs_bmap.c | 159 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 116 insertions(+), 43 deletions(-) -- 1.8.3.1 From bfoster@redhat.com Tue Oct 14 16:59: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 71EBB7F47 for ; Tue, 14 Oct 2014 16:59:23 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id F3E40AC014 for ; Tue, 14 Oct 2014 14:59:19 -0700 (PDT) X-ASG-Debug-ID: 1413323958-04cbb01fbe10790001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id hoQ9mzYe9EDTqh6n (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 14 Oct 2014 14:59:18 -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 s9ELxHBR008288 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 14 Oct 2014 17:59:18 -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 s9ELxHK0017888 for ; Tue, 14 Oct 2014 17:59:17 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id E280912004F; Tue, 14 Oct 2014 17:59:15 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH 2/2] xfs: borrow indirect blocks from freed extent when available Date: Tue, 14 Oct 2014 17:59:15 -0400 X-ASG-Orig-Subj: [PATCH 2/2] xfs: borrow indirect blocks from freed extent when available Message-Id: <1413323955-19976-3-git-send-email-bfoster@redhat.com> In-Reply-To: <1413323955-19976-1-git-send-email-bfoster@redhat.com> References: <1413323955-19976-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: 1413323958 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 xfs_bmap_del_extent() handles extent removal from the in-core and on-disk extent lists. When removing a delalloc range, it updates the indirect block reservation appropriately based on the removal. It currently enforces that the new indirect block reservation is less than or equal to the original. This is normally the case in all situations except for in certain cases when the removed range creates a hole in a single delalloc extent, thus splitting a single delalloc extent in two. It is possible with small enough extents to split an indlen==1 extent into two such slightly smaller extents. This leaves one extent with 0 indirect blocks and leads to assert failures in other areas (e.g., xfs_bunmapi() if the extent happens to be removed). Refactor the indirect reservation code into a new helper function invoked by xfs_bunmapi(). Allow the helper to steal blocks from the deleted extent if necessary to satisfy the worst case indirect reservation of the new extents. This is safe now that the caller does not update icsb counters until the extent is removed (such stolen blocks simply remain accounted as allocated). Fall back to the original reservation using the existing algorithm and warn if we end up with extents without any reservation at all to detect this more easily in the future. This allows generic/033 to run on XFS without assert failures. Signed-off-by: Brian Foster --- fs/xfs/libxfs/xfs_bmap.c | 100 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 81 insertions(+), 19 deletions(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 5abd22b..64b88b6 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -4701,6 +4701,68 @@ error0: } /* + * When a delalloc extent is split (e.g., due to a hole punch), the original + * indlen reservation must be shared across the two new extents that are left + * behind. + * + * Provided the worst case indlen for two extents, limit the total reservation + * against that of the original extent. We may want to steal blocks from any + * extra that might be available according to the caller to make up a deficiency + * (e.g., if the original reservation consists of one block). The number of such + * stolen blocks is returned. The availability and accounting of stealable + * blocks is the responsibility of the caller. + */ +static xfs_filblks_t +xfs_bmap_limit_indlen( + xfs_filblks_t ores, /* original res. */ + xfs_filblks_t *indlen1, /* ext1 worst indlen */ + xfs_filblks_t *indlen2, /* ext2 worst indlen */ + xfs_filblks_t avail) /* stealable blocks */ +{ + xfs_filblks_t nres; /* new total res. */ + xfs_filblks_t temp; + xfs_filblks_t temp2; + xfs_filblks_t stolen = 0; + + temp = *indlen1; + temp2 = *indlen2; + nres = temp + temp2; + + /* + * Steal as many blocks as we can to try and satisfy the worst case + * indlen of both new extents. + */ + while (nres > ores && avail) { + nres--; + avail--; + stolen++; + } + + /* + * If we've exhausted stealable blocks and still haven't satisfied the + * worst case reservation, we have no choice but to pare back until + * covered by the original reservation. + */ + while (nres > ores) { + if (temp) { + temp--; + nres--; + } + if (nres == ores) + break; + if (temp2) { + temp2--; + nres--; + } + } + + *indlen1 = temp; + *indlen2 = temp2; + + return stolen; +} + +/* * Called by xfs_bmapi to update file extent records and the btree * after removing space (or undoing a delayed allocation). */ @@ -4963,28 +5025,28 @@ xfs_bmap_del_extent( XFS_IFORK_NEXT_SET(ip, whichfork, XFS_IFORK_NEXTENTS(ip, whichfork) + 1); } else { + xfs_filblks_t stolen; ASSERT(whichfork == XFS_DATA_FORK); - temp = xfs_bmap_worst_indlen(ip, temp); + + /* + * Fix up the indlen reservations. We can safely steal + * blocks from the deleted extent as this simply fudges + * the icsb fdblocks accounting in xfs_bunmapi(). + */ + temp = xfs_bmap_worst_indlen(ip, got.br_blockcount); + temp2 = xfs_bmap_worst_indlen(ip, new.br_blockcount); + stolen = xfs_bmap_limit_indlen(da_old, &temp, &temp2, + del->br_blockcount); + da_new = temp + temp2 - stolen; + del->br_blockcount -= stolen; + + /* + * Set the reservation for each extent. Warn if either + * is zero as this can lead to delalloc problems. + */ + WARN_ON_ONCE(!temp || !temp2); xfs_bmbt_set_startblock(ep, nullstartblock((int)temp)); - temp2 = xfs_bmap_worst_indlen(ip, temp2); new.br_startblock = nullstartblock((int)temp2); - da_new = temp + temp2; - while (da_new > da_old) { - if (temp) { - temp--; - da_new--; - xfs_bmbt_set_startblock(ep, - nullstartblock((int)temp)); - } - if (da_new == da_old) - break; - if (temp2) { - temp2--; - da_new--; - new.br_startblock = - nullstartblock((int)temp2); - } - } } trace_xfs_bmap_post_update(ip, *idx, state, _THIS_IP_); xfs_iext_insert(ip, *idx + 1, 1, &new, state); -- 1.8.3.1 From dave@fromorbit.com Tue Oct 14 17:12: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 AD8597F3F for ; Tue, 14 Oct 2014 17:12:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3B797AC013 for ; Tue, 14 Oct 2014 15:12:13 -0700 (PDT) X-ASG-Debug-ID: 1413324731-04cbb01fbf10fa0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id YKpxRyvTuoymApxv for ; Tue, 14 Oct 2014 15:12:11 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlwPAMqePVR5LODnPGdsb2JhbABbgw6BK4c9sTsGnB8XAQYBAQEBODuEMC87GGoDBy2IPaJVpQ2GIIpChDUFnnmGc483AQsBgjcpL4JKAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail05.adl6.internode.on.net with ESMTP; 15 Oct 2014 08:42:09 +1030 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1XeAK8-00028S-Lr for xfs@oss.sgi.com; Wed, 15 Oct 2014 09:12:08 +1100 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1XeAK8-00013G-Kt for xfs@oss.sgi.com; Wed, 15 Oct 2014 09:12:08 +1100 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH] xfs: bulkstat doesn't release AGI buffer on error Date: Wed, 15 Oct 2014 09:12:08 +1100 X-ASG-Orig-Subj: [PATCH] xfs: bulkstat doesn't release AGI buffer on error Message-Id: <1413324728-4008-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1413324731 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.10572 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner The recent refactoring of the bulkstat code left a small landmine in the code. If a inobt read fails, then the tree walk is aborted and returns without releasing the AGI buffer or freeing the cursor. This can lead to a subsequent bulkstat call hanging trying to grab the AGI buffer again. Signed-off-by: Dave Chinner --- fs/xfs/xfs_itable.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index f1deb96..ef8ea05 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -427,7 +427,7 @@ xfs_bulkstat( error = xfs_bulkstat_grab_ichunk(cur, agino, &icount, &r); if (error) - break; + goto del_cursor; if (icount) { irbp->ir_startino = r.ir_startino; irbp->ir_freecount = r.ir_freecount; @@ -442,7 +442,7 @@ xfs_bulkstat( error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); } if (error) - break; + goto del_cursor; /* * Loop through inode btree records in this ag, @@ -454,7 +454,7 @@ xfs_bulkstat( error = xfs_inobt_get_rec(cur, &r, &i); if (error || i == 0) { end_of_ag = 1; - break; + goto del_cursor; } /* @@ -476,13 +476,17 @@ xfs_bulkstat( error = xfs_btree_increment(cur, 0, &tmp); cond_resched(); } + /* - * Drop the btree buffers and the agi buffer. - * We can't hold any of the locks these represent - * when calling iget. + * Drop the btree buffers and the agi buffer as we can't hold any + * of the locks these represent when calling iget. If there is a + * pending error, then we are done. */ +del_cursor: xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); xfs_buf_relse(agbp); + if (error) + break; /* * Now format all the good inodes into the user's buffer. */ -- 2.0.0 From faggotsbro@wp.pl Wed Oct 15 03:46: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=FREEMAIL_FROM,HTML_MESSAGE, T_FRT_CONTACT 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 ADD027F3F for ; Wed, 15 Oct 2014 03:46:53 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 99C958F8033 for ; Wed, 15 Oct 2014 01:46:53 -0700 (PDT) X-ASG-Debug-ID: 1413362810-04cbb01fc1246a0001-NocioJ Received: from 81.85.209.88.static.monaco.mc (81.85.209.88.static.monaco.mc [88.209.85.81]) by cuda.sgi.com with ESMTP id TxpQBSLd7cDuVnWf for ; Wed, 15 Oct 2014 01:46:50 -0700 (PDT) X-Barracuda-Envelope-From: faggotsbro@wp.pl X-Barracuda-Apparent-Source-IP: 88.209.85.81 Received: from [55.39.25.26] (account arnold93@wp.pl HELO ooabrvgmyx.curqmkmucqlysz.su) by 81.85.209.88.static.monaco.mc (CommuniGate Pro SMTP 5.2.3) with ESMTPA id 435789821 for xfs@oss.sgi.com; Wed, 15 Oct 2014 09:46:51 +0100 Received: from [36.96.65.5] (helo=gvlscac.jgbevpfybrucbv.info) by 81.85.209.88.static.monaco.mc with esmtpa (Exim 4.69) (envelope-from ) id 1MM4T6-3883bu-R0 for xfs@oss.sgi.com; Wed, 15 Oct 2014 09:46:51 +0100 Date: Wed, 15 Oct 2014 09:46:51 +0100 From: To: Subject: FW: kontrakt listopad MIME-Version: 1.0 X-ASG-Orig-Subj: FW: kontrakt listopad X-Priority: 3 Message-ID: <07487572644081.25132248.0794157614@ljxby.hlpybobvvclipe.ru> Content-Type: multipart/mixed; boundary="----=a__rflyynhpy_24_54_73" X-Barracuda-Connect: 81.85.209.88.static.monaco.mc[88.209.85.81] X-Barracuda-Start-Time: 1413362810 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: 2.69 X-Barracuda-Spam-Status: No, SCORE=2.69 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_EXE_IN_ZIP, BSF_SC0_TG035a, HELO_DYNAMIC_SPLIT_IP, HTML_MESSAGE, NO_REAL_NAME, RCVD_NUMERIC_HELO, T_TVD_FW_GRAPHIC_ID1 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10589 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO 0.01 T_TVD_FW_GRAPHIC_ID1 BODY: T_TVD_FW_GRAPHIC_ID1 0.00 HTML_MESSAGE BODY: HTML included in message 1.80 BSF_SC0_EXE_IN_ZIP BODY: Custom Rule BSF_SC0_EXE_IN_ZIP 0.00 BSF_SC0_TG035a Message contains invalid style definition 0.88 HELO_DYNAMIC_SPLIT_IP Relay HELO'd using suspicious hostname (Split IP) ------=a__rflyynhpy_24_54_73 Content-Type: multipart/alternative; boundary="----=_rflyynhpy_24_54_73" ------=_rflyynhpy_24_54_73 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable witam serdecznie,pilnie proszę o przesłanie podpisanego kontrak= tu listopaddziękujęPozdrawiam,Wiadomość ta oraz wszel= kie załączone do niej pliki są tajemnicą nadawcy i mo= gą być prawnie chronione.Jeżeli nie jest Pan|Pani zamierzo= nym adresatem niniejszej wiadomości, nie może Pan|Pani jej ujaw= niać, kopiować, dystrybuować ani też w żaden inn= y sposób udostępniać lub wykorzystywać.O błę= ;dnym zaadresowaniu wiadomości prosimy niezwłocznie poinformowa= ć nadawcę i usunąć wiadomość. ------=_rflyynhpy_24_54_73 Content-Type: text/html; charset="windows-1250" Content-Transfer-Encoding: quoted-printable
witam serdecznie,



pilnie proszę o przesłanie podpisanego kontraktu listopad

dziękuję


Pozdrawiam,




Wiadomość ta oraz wszelkie załączone do niej pliki s&=
#261; tajemnicą nadawcy i mogą być prawnie chronione.
Jeżeli nie jest Pan|Pani zamierzonym adresatem niniejszej wiadomo=
47;ci, nie może Pan|Pani jej ujawniać, kopiować, dystrybuo=
wać ani też w żaden inny sposób udostępniać=
 lub wykorzystywać.
O błędnym zaadresowaniu wiadomości prosimy niezwłoczn=
ie poinformować nadawcę i usunąć wiadomość.
------=_rflyynhpy_24_54_73-- ------=a__rflyynhpy_24_54_73 Content-Type: application/zip; name="kontrakt listopad 2014 -doc.zip" Content-Transfer-Encoding: base64 Content-ID: <006801cfe85c$f20ae7f0$0c01a8c0@R8C06L2> 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 tLa1d3R2dff09vVPmDhp8pSp06bPmDlr9py58+YvWLho8ZKly5avWLlq9Zq169Zv2Lhp85at 27bv2Llr9569+/YfOHjo8JGjx46fOHnq9Jmz585fuHjp8pWr167fuHnr9p279+4/ePjo8ZOn z56/ePnq9Zu3795/+Pjp85ev377/+Pnr95+///5T3GHD3SEjqsM20P5vGOrhT6jDjFt+UIQ/ s1SSnxcjeNyRAURzM3DPZGDcAmQ127qe1dXzmsn1YvqyiUEHp9oHFvwU//k/UzTj4OJ3iRfb v5zJfmZ05c+BSobyvszUbV4AANgAJ/8qZ9EKkaEY7IuPuJcRiCuRU4H2fY9GcopThW1ts/lr 85e/yWQLkxl9MWns5JOPUAuwmZcjhK67BUlVo1Of7z4uP5OXBJFhKdlatKMY0nezcUF9tyWf mae+l4+FHT2mkJifNFHIp2LdQ2mR4LYtFV594wjqGeu6KHuXDFktd82HUdMsPknyjz+1H23y zU2Ie6mDhxAK851tTfeGyL4/mdUhZGVlOfwx91nyKVeOm8+X61nxFy1vfVcxKSFcqoc6x7FV 98uAP5XXKapBL52XwpIm/oX8sX6oF5kq7+V6e0/i/u1XurGKLqcVe201oybmtnOt9nlsH+l/ MjXptHel4vQLlgfNA58G6Olmdq4Erx1iE892dYeGK4jmgYcrg+Run64ws4Ri3fl/CueKnhRv 95+aWPbQ9njb9KWTptsxWAVOkzm+2pmpGGi/Yfu1xprTAYmV35JfZJ9+nVRinG9YtT//aIpb RNdOW7fZCb+yWL4K6t/In/lHdnpLltiUGJV3pXM70xIY7QPFN/J1VC6cXjJzJedNf6sZrb88 uduj3t6bmH0zXnJv/39bgAr4i1mn5tlwlX6IOn3/7KvUtDL+uU8bf/YvT5TUSOaSYixKqli+ 7OShq3LtzW0ncmrPfcli2l+4TsQz3NXoJfeiuplFpv/vlHdpd2TfvjXjXWBVq25i2qrLdvGZ 3YxK87uYA6q2ryhVdLFyXpg2P35b5zO11Ytd7LeylkczlO7tnHC+eH7X7vdBsw9Pu9dTa6oc 6desm3p7xW8jq+TMUqaHRut+BnwLuXw4p9W6o/z6bNV8z/o1+gwQkCLTGqoFDVcQzQsP1zcs x12161Y1AADYACf/iVa/0PbMRlXyF8/Z4vyNj5uJ02HZYqOlvCn0zLsRMlF8lDeZ9grHYeRs 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 ------=a__rflyynhpy_24_54_73-- From bfoster@redhat.com Wed Oct 15 07:59: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 DA3B37F3F for ; Wed, 15 Oct 2014 07:59:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id AC1CE304032 for ; Wed, 15 Oct 2014 05:59:41 -0700 (PDT) X-ASG-Debug-ID: 1413377976-04bdf062f72dea0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id OgTdDQObRwJhjw2O (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 15 Oct 2014 05:59: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-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 s9FCxTvu016690 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 15 Oct 2014 08:59:29 -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 s9FCxS54008500; Wed, 15 Oct 2014 08:59:28 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id C9362120064; Wed, 15 Oct 2014 08:59:27 -0400 (EDT) Date: Wed, 15 Oct 2014 08:59:27 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: bulkstat doesn't release AGI buffer on error Message-ID: <20141015125927.GA63003@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: bulkstat doesn't release AGI buffer on error References: <1413324728-4008-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413324728-4008-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.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1413377977 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, Oct 15, 2014 at 09:12:08AM +1100, Dave Chinner wrote: > From: Dave Chinner > > The recent refactoring of the bulkstat code left a small landmine in > the code. If a inobt read fails, then the tree walk is aborted and > returns without releasing the AGI buffer or freeing the cursor. This > can lead to a subsequent bulkstat call hanging trying to grab the > AGI buffer again. > > Signed-off-by: Dave Chinner > --- Reviewed-by: Brian Foster > fs/xfs/xfs_itable.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index f1deb96..ef8ea05 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -427,7 +427,7 @@ xfs_bulkstat( > > error = xfs_bulkstat_grab_ichunk(cur, agino, &icount, &r); > if (error) > - break; > + goto del_cursor; > if (icount) { > irbp->ir_startino = r.ir_startino; > irbp->ir_freecount = r.ir_freecount; > @@ -442,7 +442,7 @@ xfs_bulkstat( > error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); > } > if (error) > - break; > + goto del_cursor; > > /* > * Loop through inode btree records in this ag, > @@ -454,7 +454,7 @@ xfs_bulkstat( > error = xfs_inobt_get_rec(cur, &r, &i); > if (error || i == 0) { > end_of_ag = 1; > - break; > + goto del_cursor; > } > > /* > @@ -476,13 +476,17 @@ xfs_bulkstat( > error = xfs_btree_increment(cur, 0, &tmp); > cond_resched(); > } > + > /* > - * Drop the btree buffers and the agi buffer. > - * We can't hold any of the locks these represent > - * when calling iget. > + * Drop the btree buffers and the agi buffer as we can't hold any > + * of the locks these represent when calling iget. If there is a > + * pending error, then we are done. > */ > +del_cursor: > xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); > xfs_buf_relse(agbp); > + if (error) > + break; > /* > * Now format all the good inodes into the user's buffer. > */ > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From dan.carpenter@oracle.com Wed Oct 15 08:05: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=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 A943B7F3F for ; Wed, 15 Oct 2014 08:05:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4729DAC003 for ; Wed, 15 Oct 2014 06:05:44 -0700 (PDT) X-ASG-Debug-ID: 1413378342-04bdf062f92e550001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id CmsCtdInzVVnRw4j (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 15 Oct 2014 06:05:43 -0700 (PDT) X-Barracuda-Envelope-From: dan.carpenter@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 s9FD5fm2029260 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 15 Oct 2014 13:05:42 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 s9FD5efu017694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 15 Oct 2014 13:05:41 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 s9FD5epS002734 for ; Wed, 15 Oct 2014 13:05:40 GMT Received: from mwanda (/41.202.233.183) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 15 Oct 2014 06:05:39 -0700 Date: Wed, 15 Oct 2014 16:05:35 +0300 From: Dan Carpenter To: xfs@oss.sgi.com Subject: Re: xfs: use after free on error in xfs_qm_log_quotaoff() Message-ID: <20141015130535.GN26918@mwanda> X-ASG-Orig-Subj: Re: xfs: use after free on error in xfs_qm_log_quotaoff() References: <20140219095305.GA22351@elgon.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140219095305.GA22351@elgon.mountain> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1413378343 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: 2.60 X-Barracuda-Spam-Status: No, SCORE=2.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0249, MARKETING_SUBJECT, UNPARSEABLE_RELAY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10595 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 0.00 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 2.00 BSF_SC0_MV0249 Custom rule MV0249 This bug is still around. regards, dan carpenter On Wed, Feb 19, 2014 at 12:53:05PM +0300, Dan Carpenter wrote: > Smatch complains here. I don't think I have reported this one before. > It feels very familiar but I have grepped my outbox. > > fs/xfs/xfs_qm_syscalls.c:814 xfs_qm_log_quotaoff() > warn: 'tp' was already freed. > > fs/xfs/xfs_qm_syscalls.c > 804 /* > 805 * We have to make sure that the transaction is secure on disk before we > 806 * return and actually stop quota accounting. So, make it synchronous. > 807 * We don't care about quotoff's performance. > 808 */ > 809 xfs_trans_set_sync(tp); > 810 error = xfs_trans_commit(tp, 0); > ^^^^^^^^^^^^^^^^ > This function frees tp. > > 811 > 812 error0: > 813 if (error) { > 814 xfs_trans_cancel(tp, 0); > ^^^^^^^^^^^^^^^^^ > Use after free. > > 815 /* > 816 * No one else is modifying sb_qflags, so this is OK. > 817 * We still hold the quotaofflock. > 818 */ > > regards, > dan carpenter From cmaiolino@redhat.com Wed Oct 15 13:17: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2BB777F3F for ; Wed, 15 Oct 2014 13:17:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BB771AC005 for ; Wed, 15 Oct 2014 11:17:58 -0700 (PDT) X-ASG-Debug-ID: 1413397076-04cbb072b9092e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id uBckEdHVAOfCRrWx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 15 Oct 2014 11:17:57 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s9FIHuNY013648 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 15 Oct 2014 14:17:56 -0400 Received: from hades.localdomain.com (ovpn-113-106.phx2.redhat.com [10.3.113.106]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9FIHsmM014766 for ; Wed, 15 Oct 2014 14:17:55 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: [PATCH 0/2] Add support to RENAME_EXCHANGE flat to XFS Date: Wed, 15 Oct 2014 15:17:20 -0300 X-ASG-Orig-Subj: [PATCH 0/2] Add support to RENAME_EXCHANGE flat to XFS Message-Id: <1413397042-32229-1-git-send-email-cmaiolino@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: 1413397077 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 This patchset aims to implement RENAME_EXCHANGE support (from sys_renameat2) to XFS. For this to be achieved, XFS need to export a rename2() method, which I included in the first patch. The second patch is the real implementation of the RENAME_EXCHANGE flags, which most of the work I based on xfs_rename(). I'd like some suggestions about the way I handled journaling, probably XFS_TRANS_RENAME is not the best way to log the changes during the RENAME_EXCHANGE, and we might need a new journal type for this specific reason. BTW, this patchset passed the xfstests 23, 24 and 25 (specifically for RENAME_EXCHANGE), and I also tested the projectID inheritance problem, where both paths must be under the same projectID to be able to change (I'm going to implement this test into the xfstests too). Carlos Maiolino (2): xfs_vn_rename by xfs_vn_rename2 Add support to RENAME_EXCHANGE flag fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_inode.h | 4 ++ fs/xfs/xfs_iops.c | 22 +++++-- 3 files changed, 207 insertions(+), 6 deletions(-) -- 2.1.0 From cmaiolino@redhat.com Wed Oct 15 13:18: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 762887F51 for ; Wed, 15 Oct 2014 13:18:10 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 47EA98F8040 for ; Wed, 15 Oct 2014 11:18:07 -0700 (PDT) X-ASG-Debug-ID: 1413397086-04bdf038d30a580001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id wGTSHZxFHgA9S35m (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 15 Oct 2014 11:18:06 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s9FII6NC027875 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 15 Oct 2014 14:18:06 -0400 Received: from hades.localdomain.com (ovpn-113-106.phx2.redhat.com [10.3.113.106]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9FIHsmN014766 for ; Wed, 15 Oct 2014 14:18:05 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Date: Wed, 15 Oct 2014 15:17:21 -0300 X-ASG-Orig-Subj: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Message-Id: <1413397042-32229-2-git-send-email-cmaiolino@redhat.com> In-Reply-To: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> References: <1413397042-32229-1-git-send-email-cmaiolino@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: 1413397086 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 To be able to support RENAME_EXCHANGE flag from renameat2() system call, XFS must have its inode_operations updated, exporting .rename2 method, instead of .rename. This patch just replaces the (now old) .rename method by .rename2, using the same infra-structure, but checking rename flags. calls to .rename2 using RENAME_EXCHANGE flag, although now handled inside XFS, still returns -EINVAL. RENAME_NOREPLACE is handled via VFS and we don't need to care about it inside xfs_vn_rename2. Signed-off-by: Carlos Maiolino --- fs/xfs/xfs_iops.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 7212949..b2b92c7 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -379,22 +379,27 @@ xfs_vn_symlink( } STATIC int -xfs_vn_rename( +xfs_vn_rename2( struct inode *odir, struct dentry *odentry, struct inode *ndir, - struct dentry *ndentry) + struct dentry *ndentry, + unsigned int flags) { struct inode *new_inode = ndentry->d_inode; struct xfs_name oname; struct xfs_name nname; + /* XFS does not support RENAME_EXCHANGE yet */ + if (flags & ~RENAME_NOREPLACE) + return -EINVAL; + xfs_dentry_to_name(&oname, odentry, 0); xfs_dentry_to_name(&nname, ndentry, odentry->d_inode->i_mode); return xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), - XFS_I(ndir), &nname, new_inode ? - XFS_I(new_inode) : NULL); + XFS_I(ndir), &nname, + new_inode ? XFS_I(new_inode) : NULL); } /* @@ -1117,7 +1122,7 @@ static const struct inode_operations xfs_dir_inode_operations = { */ .rmdir = xfs_vn_unlink, .mknod = xfs_vn_mknod, - .rename = xfs_vn_rename, + .rename2 = xfs_vn_rename2, .get_acl = xfs_get_acl, .set_acl = xfs_set_acl, .getattr = xfs_vn_getattr, @@ -1145,7 +1150,7 @@ static const struct inode_operations xfs_dir_ci_inode_operations = { */ .rmdir = xfs_vn_unlink, .mknod = xfs_vn_mknod, - .rename = xfs_vn_rename, + .rename2 = xfs_vn_rename2, .get_acl = xfs_get_acl, .set_acl = xfs_set_acl, .getattr = xfs_vn_getattr, -- 2.1.0 From cmaiolino@redhat.com Wed Oct 15 13:18: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 206E57F3F for ; Wed, 15 Oct 2014 13:18:19 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 004478F8040 for ; Wed, 15 Oct 2014 11:18:18 -0700 (PDT) X-ASG-Debug-ID: 1413397097-04cb6c36390a110001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id FxzTtdn2AezkDxwJ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 15 Oct 2014 11:18:17 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s9FIIGFu007377 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 15 Oct 2014 14:18:17 -0400 Received: from hades.localdomain.com (ovpn-113-106.phx2.redhat.com [10.3.113.106]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9FIHsmO014766 for ; Wed, 15 Oct 2014 14:18:14 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Date: Wed, 15 Oct 2014 15:17:22 -0300 X-ASG-Orig-Subj: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Message-Id: <1413397042-32229-3-git-send-email-cmaiolino@redhat.com> In-Reply-To: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> References: <1413397042-32229-1-git-send-email-cmaiolino@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: 1413397097 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 Adds a new function named xfs_cross_rename(), responsible to handle requests from sys_renameat2() using RENAME_EXCHANGE flag. Signed-off-by: Carlos Maiolino --- fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_inode.h | 4 ++ fs/xfs/xfs_iops.c | 7 +- 3 files changed, 197 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index fea3c92..a5bc88d 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -2920,6 +2920,193 @@ xfs_rename( return error; } +/* xfs_cross_rename() + * + * responsible to handle RENAME_EXCHANGE flag + * in renameat2() sytemcall + */ +int +xfs_cross_rename( + xfs_inode_t *src_dp, + struct xfs_name *src_name, + xfs_inode_t *src_ip, + xfs_inode_t *target_dp, + struct xfs_name *target_name, + xfs_inode_t *target_ip) +{ + xfs_trans_t *tp = NULL; + xfs_mount_t *mp = src_dp->i_mount; + int new_parent; /* Crossing from different parents */ + int src_is_directory; + int tgt_is_directory; + int error; + xfs_bmap_free_t free_list; + xfs_fsblock_t first_block; + int cancel_flags; + int committed; + xfs_inode_t *inodes[4]; + int spaceres; + int num_inodes; + + new_parent = (src_dp != target_dp); + src_is_directory = S_ISDIR(src_ip->i_d.di_mode); + tgt_is_directory = S_ISDIR(target_ip->i_d.di_mode); + + xfs_sort_for_rename(src_dp, target_dp, src_ip, target_ip, + inodes, &num_inodes); + + xfs_bmap_init(&free_list, &first_block); + tp = xfs_trans_alloc(mp, XFS_TRANS_RENAME); + cancel_flags = XFS_TRANS_RELEASE_LOG_RES; + spaceres = XFS_RENAME_SPACE_RES(mp, target_name->len); + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, spaceres, 0); + + if (error == -ENOSPC) { + spaceres = 0; + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, 0, 0); + } + if (error) { + xfs_trans_cancel(tp, 0); + goto std_return; + } + + /* + * Attach the dquots to the inodes + */ + error = xfs_qm_vop_rename_dqattach(inodes); + if (error) { + xfs_trans_cancel(tp, cancel_flags); + goto std_return; + } + + /* + * Lock all participating inodes. In case of RENAME_EXCHANGE, target + * must exist, so we'll be locking at least 3 inodes here. + */ + xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); + + /* + * Join all the inodes to the transaction. From this point on, + * we can rely on either trans_commit or trans_cancel to unlock + * them. + * target_ip will always exist, so, no need to check its existence. + */ + xfs_trans_ijoin(tp, src_dp, XFS_ILOCK_EXCL); + if (new_parent) + xfs_trans_ijoin(tp, target_dp, XFS_ILOCK_EXCL); + + xfs_trans_ijoin(tp, src_ip, XFS_ILOCK_EXCL); + xfs_trans_ijoin(tp, target_ip, XFS_ILOCK_EXCL); + + /* + * If we are using project inheritance, we only allow RENAME_EXCHANGE + * into our tree when the project IDs are the same; else the tree quota + * mechanism would be circumvented. + */ + if (unlikely(((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) || + (src_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) && + (xfs_get_projid(src_dp) != xfs_get_projid(target_dp)) )) { + error = -EXDEV; + goto error_return; + } + + error = xfs_dir_replace(tp, src_dp, src_name, + target_ip->i_ino, + &first_block, &free_list, spaceres); + if (error) + goto abort_return; + + /* + * Update ".." entry to match the new parent + */ + if (new_parent && tgt_is_directory) { + error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, + src_dp->i_ino, &first_block, &free_list, spaceres); + if (error) + goto abort_return; + } + + xfs_trans_ichgtime(tp, src_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); + + error = xfs_dir_replace(tp, target_dp, target_name, + src_ip->i_ino, + &first_block, &free_list, spaceres); + if (error) + goto abort_return; + + /* + * Update ".." entry to match the new parent + */ + if (new_parent && src_is_directory) { + error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, + target_dp->i_ino, &first_block, &free_list, spaceres); + if (error) + goto abort_return; + } + + /* + * In case we are crossing different file types between different + * parents, we must update parent's link count to match the ".." + * entry of the new child (or the removal of it). + */ + if (new_parent) { + xfs_trans_ichgtime(tp, target_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); + + if (src_is_directory && !tgt_is_directory) { + error = xfs_droplink(tp, src_dp); + if (error) + goto abort_return; + error = xfs_bumplink(tp, target_dp); + if (error) + goto abort_return; + } + + if (tgt_is_directory && !src_is_directory) { + error = xfs_droplink(tp, target_dp); + if (error) + goto abort_return; + error = xfs_bumplink(tp, src_dp); + if (error) + goto abort_return; + } + + /* + * We don't need to log the source dir if + * this is the same as the target. + */ + xfs_trans_log_inode(tp, src_dp, XFS_ILOG_CORE); + } + + xfs_trans_log_inode(tp, target_dp, XFS_ILOG_CORE); + xfs_trans_log_inode(tp, src_ip, XFS_ILOG_CORE); + xfs_trans_log_inode(tp, target_ip, XFS_ILOG_CORE); + + /* + * If this is a synchronous mount, make sure the rename transaction goes + * to disk before returning to the user. + */ + if (mp->m_flags & (XFS_MOUNT_WSYNC|XFS_MOUNT_DIRSYNC)) + xfs_trans_set_sync(tp); + + error = xfs_bmap_finish(&tp, &free_list, &committed); + if (error) { + xfs_bmap_cancel(&free_list); + xfs_trans_cancel(tp, (XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT)); + goto std_return; + } + + return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); + +abort_return: + cancel_flags |= XFS_TRANS_ABORT; +error_return: + xfs_bmap_cancel(&free_list); + xfs_trans_cancel(tp, cancel_flags); +std_return: + return error; + +} + STATIC int xfs_iflush_cluster( xfs_inode_t *ip, diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index c10e3fa..16889d3 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -341,6 +341,10 @@ int xfs_rename(struct xfs_inode *src_dp, struct xfs_name *src_name, struct xfs_inode *src_ip, struct xfs_inode *target_dp, struct xfs_name *target_name, struct xfs_inode *target_ip); +int xfs_cross_rename(struct xfs_inode *src_dp, struct xfs_name *src_name, + struct xfs_inode *src_ip, struct xfs_inode *target_dp, + struct xfs_name *target_name, + struct xfs_inode *target_ip); void xfs_ilock(xfs_inode_t *, uint); int xfs_ilock_nowait(xfs_inode_t *, uint); diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index b2b92c7..bc164df 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -391,12 +391,17 @@ xfs_vn_rename2( struct xfs_name nname; /* XFS does not support RENAME_EXCHANGE yet */ - if (flags & ~RENAME_NOREPLACE) + if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE)) return -EINVAL; xfs_dentry_to_name(&oname, odentry, 0); xfs_dentry_to_name(&nname, ndentry, odentry->d_inode->i_mode); + if (flags & RENAME_EXCHANGE) + return xfs_cross_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), + XFS_I(ndir), &nname, + new_inode ? XFS_I(new_inode) : NULL); + return xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), XFS_I(ndir), &nname, new_inode ? XFS_I(new_inode) : NULL); -- 2.1.0 From TJMaxxRewards@liversist.us Wed Oct 15 20:26: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=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 1AFCD7F5D for ; Wed, 15 Oct 2014 20:26:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id BC1CCAC005 for ; Wed, 15 Oct 2014 18:26:07 -0700 (PDT) X-ASG-Debug-ID: 1413422763-04bdf038cf11ad0002-NocioJ Received: from liversist.us ([198.23.239.85]) by cuda.sgi.com with ESMTP id bz11GILpmPk2oIES for ; Wed, 15 Oct 2014 18:26:05 -0700 (PDT) X-Barracuda-Envelope-From: TJMaxxRewards@liversist.us X-Barracuda-Apparent-Source-IP: 198.23.239.85 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=public; d=liversist.us; h=MIME-Version:From:To:Subject:Content-Type:Content-Transfer-Encoding:Message-ID:Date; i=TJMaxxRewards@liversist.us; bh=Ix28tQzUIhgepwmMQLhPCJufUkk=; b=SFbWfCbS7EqNY0uTlJ5hFxOL+AGD47dIx09DpsJCzfZqH/CRDgqWoHpsT8PFvaTdT1E1FgNWfZCk AD6YsNKADUagpvnpNHIl6wHVySe1Y15tCdumHT5fyFjSOLjsdXu1MrUmWKl+svxDh0SiOvrBo1Qz d4djvPkXNpGADABRXYg= DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; s=public; d=liversist.us; b=L3L/73OEzjOGem/hmZwVT40DVxUPxPzeogImDy129cVt42h8p7naxdtB6DQUqQqeYkbr7//bl9gU LAp22RmMQMh76P+4hxW7UQQviHWumgDGQB0F2uhEd7iJysV8SObejdvuo42UeWEYjwYJ09XOIl7Y 7tfO/v82Z7PzWQitYYY=; Received: by liversist.us id h7sf900001gt for ; Wed, 15 Oct 2014 18:11:33 -0700 (envelope-from ) MIME-Version: 1.0 From: "TJMaxxRewards" To: Subject: Activated - TJMaxx September Rewards Statement Content-Type: text/plain; charset="UTF-8" X-ASG-Orig-Subj: Activated - TJMaxx September Rewards Statement Content-Transfer-Encoding: 8bit Message-ID: <0.0.0.72.1CFE8DE201835C2.449EE8@liversist.us> Date: Wed, 15 Oct 2014 18:25:36 -0700 X-Barracuda-Connect: UNKNOWN[198.23.239.85] X-Barracuda-Start-Time: 1413422763 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.10 X-Barracuda-Spam-Status: No, SCORE=1.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0224, BSF_SC5_MJ1963, DKIM_SIGNED, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10618 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.50 BSF_SC0_MV0224 FULL: Custom rule MV0224 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 October 15, 2014 -------------------- TJMaxx Rewards Zone Member: xfs@oss.sgi.com -------------------- xfs@oss.sgi.com, You have not claimed your September Rewards for TJMaxx or HomeGoods. To claim your Rewards, Redeem them here right now: http://liversist.us/Z0Aob6ajMYhMMOfePvDlVCI+RAYELHOOlZi+CfsDubY7gQKyeBM1w6WIZDDGSzCL4fhERWP0gtfwJ6mX7FInpP57mTOupzSYIyLZg+sQ0EUpANSltpN0vLDgZncRN5OvtcAPA00= NOTE: Average Reward Amount: $89.11 nature and truth upon us?he again came forward before the end of the season, and played theinferior to the old one--to that of Garrick, Barry, Mossop, and nature,Produced by Barbara Tozier, Nigel Blower, Bill Tozier andsucceeds another, can be only appreciated by those who have witnessed_Ponder._ Aye.you. [_Exit._his boyishness, and of course much more to his talents than we had beenconsiderably thinned by the last proprietor._Lady W._ Then we will now talk of a husband._Sir W._ Yes.The present writer got this from old Macklin, who was stored withhelp that; and so, having delivered my message, for fear I should sayexceptionable, he frequently spoils by a kind of pushing step, at openSince the publication of colonel Thornton's departure from Yorkshire,planter of Attica, finding, one day, a goat devouring his grapes, killedlawful wife of lord Austencourt--double is the wo to me that she _is_father (in the main a very good father, but in this respect like allher heart, because m y daughter prefers a walk in the morning to writing - content listed a fore is all an advert1sement Simple|nfO ==P0-Box== 412O No.49824 ---------------- Port1and, OR 97208 **************** - Stop receiving these messages: http://liversist.us/Z14oa6etMYhMMOfePvDlVDNiGFcMOyKCkJ67CeVEsL4+91HkI1Rgn+SLO0uZEGnGpqRIQmX3g9fxIK+Dux1j+Nwlx2nr8W7eNH+Cir5FkVQlB4ju8Yohsr3zNClMKce09MgNFhG1t3w/ew== -- From wu.tommy@gmail.com Wed Oct 15 21:31: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=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 B8BC47F5F for ; Wed, 15 Oct 2014 21:31:10 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 95C23304051 for ; Wed, 15 Oct 2014 19:31:07 -0700 (PDT) X-ASG-Debug-ID: 1413426663-04cb6c2efb12850001-NocioJ Received: from mail-ob0-f169.google.com (mail-ob0-f169.google.com [209.85.214.169]) by cuda.sgi.com with ESMTP id tUyArXHMnBrdZlCF (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 15 Oct 2014 19:31:03 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.169 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] Received: by mail-ob0-f169.google.com with SMTP id m8so2182950obr.0 for ; Wed, 15 Oct 2014 19:31:02 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] 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=wf6zdwO4/WA1TJA/VgfoBLSDesesHPbWs8WFM0JLwuE=; b=InJR8wiqPHWmJi0Rgm+3YSIHbEoahjkerQzkv4yr3vlA8i+9xcFUxto3ZtewLKP+BP nzPtz2AlGthJfxr7u/ALImEcUJYia/UPrYNSjxzQD6iIuNbYKvExOxnFWdsvWOcKtJMK wEk1sHKcDFRMPL4THwhuJ65V2DXJtr5mJ9U2veUwFS5CfbOQUWGxjomMvHPe7bPKwcdP pOyL9qpapSabLDnnlitC2r3yq6I0PxhdKISfUe6KthZS5sL+5QLsjZ+uBq8znIKHNC52 0XoSmXiBsCQ1z2FjzRb0UmqJQkWY5vJgdBM5VTeDAxvAQB2nqEwcjyNi5Z1enrY0aZbA 9wmg== MIME-Version: 1.0 X-Received: by 10.182.149.226 with SMTP id ud2mr14106128obb.31.1413426662792; Wed, 15 Oct 2014 19:31:02 -0700 (PDT) Received: by 10.60.233.139 with HTTP; Wed, 15 Oct 2014 19:31:02 -0700 (PDT) Date: Thu, 16 Oct 2014 10:31:02 +0800 Message-ID: Subject: xfsdump not work in 3.17 From: Tommy Wu X-ASG-Orig-Subj: xfsdump not work in 3.17 To: xfs Content-Type: multipart/alternative; boundary=001a11335ad626e4e00505810abc X-Barracuda-Connect: mail-ob0-f169.google.com[209.85.214.169] X-Barracuda-Start-Time: 1413426663 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.10619 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 --001a11335ad626e4e00505810abc Content-Type: text/plain; charset=UTF-8 Hi! xfsdump 3.1.4 xfsprogs 3.2.1 linux kerenl 3.17/3.17.1 xfsdump will create a small backup file in 3.17 (test in 3.17, 3.17.1). it report SUCCESS, like this: fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz /sbin/xfsdump: using file dump (drive_simple) strategy /sbin/xfsdump: version 3.1.4 (dump format 3.0) /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ /sbin/xfsdump: dump date: Thu Oct 16 10:27:26 2014 /sbin/xfsdump: session id: e409f4d1-8714-4919-a82d-c982d814fa4d /sbin/xfsdump: session label: "" /sbin/xfsdump: ino map phase 1: constructing initial dump list /sbin/xfsdump: ino map phase 2: skipping (no pruning necessary) /sbin/xfsdump: ino map phase 3: skipping (only one dump stream) /sbin/xfsdump: ino map construction complete /sbin/xfsdump: estimated dump size: 668196544 bytes /sbin/xfsdump: Media op: begin media file /sbin/xfsdump: creating dump session media file 0 (media 0, file 0) /sbin/xfsdump: dumping ino map /sbin/xfsdump: dumping directories /sbin/xfsdump: dumping directory ino 192 /sbin/xfsdump: dumping directory ino 202 /sbin/xfsdump: dumping directory ino 203 /sbin/xfsdump: dumping directory ino 204 /sbin/xfsdump: dumping directory ino 205 /sbin/xfsdump: dumping directory ino 206 /sbin/xfsdump: dumping directory ino 207 /sbin/xfsdump: dumping directory ino 208 /sbin/xfsdump: dumping directory ino 209 /sbin/xfsdump: dumping directory ino 210 /sbin/xfsdump: dumping directory ino 211 /sbin/xfsdump: dumping directory ino 212 /sbin/xfsdump: dumping directory ino 214 /sbin/xfsdump: dumping directory ino 215 /sbin/xfsdump: dumping directory ino 216 /sbin/xfsdump: dumping directory ino 217 /sbin/xfsdump: dumping directory ino 218 /sbin/xfsdump: dumping directory ino 219 /sbin/xfsdump: dumping directory ino 220 /sbin/xfsdump: dumping directory ino 221 /sbin/xfsdump: dumping directory ino 222 /sbin/xfsdump: dumping directory ino 223 /sbin/xfsdump: dumping directory ino 224 /sbin/xfsdump: dumping directory ino 225 /sbin/xfsdump: dumping directory ino 226 /sbin/xfsdump: dumping directory ino 227 /sbin/xfsdump: dumping directory ino 228 /sbin/xfsdump: dumping directory ino 229 /sbin/xfsdump: dumping directory ino 230 /sbin/xfsdump: dumping directory ino 231 /sbin/xfsdump: dumping directory ino 232 /sbin/xfsdump: dumping directory ino 233 /sbin/xfsdump: dumping directory ino 235 /sbin/xfsdump: dumping directory ino 236 /sbin/xfsdump: dumping directory ino 237 /sbin/xfsdump: dumping directory ino 238 /sbin/xfsdump: dumping directory ino 239 /sbin/xfsdump: dumping directory ino 240 /sbin/xfsdump: dumping directory ino 241 /sbin/xfsdump: dumping directory ino 242 /sbin/xfsdump: dumping directory ino 243 /sbin/xfsdump: dumping directory ino 244 /sbin/xfsdump: dumping directory ino 245 /sbin/xfsdump: dumping directory ino 246 /sbin/xfsdump: dumping directory ino 247 /sbin/xfsdump: dumping directory ino 253 /sbin/xfsdump: dumping directory ino 254 /sbin/xfsdump: dumping directory ino 255 /sbin/xfsdump: dumping directory ino 4194670 /sbin/xfsdump: dumping directory ino 4194694 /sbin/xfsdump: dumping directory ino 4194707 /sbin/xfsdump: dumping directory ino 4194709 /sbin/xfsdump: dumping directory ino 4194711 /sbin/xfsdump: dumping directory ino 8389442 /sbin/xfsdump: dumping directory ino 8389454 /sbin/xfsdump: dumping directory ino 8389460 /sbin/xfsdump: dumping directory ino 8389462 /sbin/xfsdump: dumping directory ino 8389464 /sbin/xfsdump: dumping directory ino 8389466 /sbin/xfsdump: dumping directory ino 8389471 /sbin/xfsdump: dumping directory ino 8389496 /sbin/xfsdump: dumping non-directory files /sbin/xfsdump: dumping regular file ino 195 offset 0 to offset 3839 (size 3839) /sbin/xfsdump: dumping regular file ino 196 offset 0 to offset 1649 (size 1649) /sbin/xfsdump: dumping regular file ino 197 offset 0 to offset 19917 (size 19917) /sbin/xfsdump: dumping regular file ino 198 offset 0 to offset 150177 (size 150177) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 199 offset 0 to offset 196 (size 196) /sbin/xfsdump: dumping regular file ino 200 offset 0 to offset 828 (size 828) /sbin/xfsdump: dumping regular file ino 201 offset 0 to offset 8805 (size 8805) /sbin/xfsdump: dumping regular file ino 213 offset 0 to offset 1003 (size 1003) /sbin/xfsdump: dumping special file ino 234 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 248 offset 0 to offset 28 (size 28) /sbin/xfsdump: dumping special file ino 249 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 250 offset 0 to offset 1736 (size 1736) /sbin/xfsdump: dumping special file ino 251 mode 0xa1ff /sbin/xfsdump: dumping special file ino 252 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194656 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194657 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194658 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194659 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194660 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194661 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194662 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194663 offset 0 to offset 85 (size 85) /sbin/xfsdump: dumping special file ino 4194664 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194665 offset 0 to offset 24656 (size 24656) /sbin/xfsdump: dumping special file ino 4194666 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194667 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194668 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194669 offset 0 to offset 4135 (size 4135) /sbin/xfsdump: dumping regular file ino 4194671 offset 0 to offset 52 (size 52) /sbin/xfsdump: dumping special file ino 4194672 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194673 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194674 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194675 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194676 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194677 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194678 offset 0 to offset 71501 (size 71501) /sbin/xfsdump: dumping special file ino 4194679 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194680 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194681 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194682 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194683 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194684 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194685 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194686 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194687 offset 0 to offset 5432 (size 5432) /sbin/xfsdump: dumping special file ino 4194688 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194689 mode 0xa1ff /sbin/xfsdump: dumping special file ino 4194690 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 4194691 offset 0 to offset 16224 (size 16224) /sbin/xfsdump: dumping regular file ino 4194692 offset 0 to offset 17344 (size 17344) /sbin/xfsdump: dumping regular file ino 4194693 offset 0 to offset 463 (size 463) /sbin/xfsdump: dumping regular file ino 4194695 offset 0 to offset 15808 (size 15808) /sbin/xfsdump: dumping regular file ino 4194696 offset 0 to offset 62768 (size 62768) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 4194697 offset 0 to offset 116072 (size 116072) /sbin/xfsdump: dumping regular file ino 4194698 offset 0 to offset 795 (size 795) /sbin/xfsdump: dumping regular file ino 4194699 offset 0 to offset 64352 (size 64352) /sbin/xfsdump: dumping regular file ino 4194700 offset 0 to offset 43576 (size 43576) /sbin/xfsdump: dumping regular file ino 4194701 offset 0 to offset 28840 (size 28840) /sbin/xfsdump: dumping regular file ino 4194702 offset 0 to offset 28928 (size 28928) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 4194703 offset 0 to offset 70184 (size 70184) /sbin/xfsdump: dumping regular file ino 4194704 offset 0 to offset 20336 (size 20336) /sbin/xfsdump: dumping regular file ino 4194705 offset 0 to offset 67752 (size 67752) /sbin/xfsdump: dumping regular file ino 4194706 offset 0 to offset 33640 (size 33640) /sbin/xfsdump: dumping regular file ino 4194708 offset 0 to offset 175984 (size 175984) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 4194710 offset 0 to offset 58816 (size 58816) /sbin/xfsdump: dumping regular file ino 4194712 offset 0 to offset 22720 (size 22720) /sbin/xfsdump: dumping regular file ino 4194713 offset 0 to offset 22128 (size 22128) /sbin/xfsdump: dumping regular file ino 4194714 offset 0 to offset 15160 (size 15160) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 4194715 offset 0 to offset 8104 (size 8104) /sbin/xfsdump: dumping regular file ino 4194716 offset 0 to offset 145816 (size 145816) /sbin/xfsdump: dumping regular file ino 4194717 offset 0 to offset 11064 (size 11064) /sbin/xfsdump: dumping regular file ino 4194718 offset 0 to offset 15024 (size 15024) /sbin/xfsdump: dumping regular file ino 4194719 offset 0 to offset 14968 (size 14968) /sbin/xfsdump: dumping regular file ino 8389440 offset 0 to offset 1267832 (size 1267832) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389441 offset 0 to offset 9212 (size 9212) /sbin/xfsdump: dumping regular file ino 8389443 offset 0 to offset 1798 (size 1798) /sbin/xfsdump: dumping regular file ino 8389444 offset 0 to offset 640488 (size 640488) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389445 offset 0 to offset 1032 (size 1032) /sbin/xfsdump: dumping regular file ino 8389446 offset 0 to offset 641 (size 641) /sbin/xfsdump: dumping regular file ino 8389447 offset 0 to offset 226 (size 226) /sbin/xfsdump: dumping special file ino 8389448 mode 0xa1ff /sbin/xfsdump: dumping special file ino 8389449 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389450 offset 0 to offset 2767 (size 2767) /sbin/xfsdump: dumping special file ino 8389451 mode 0xa1ff /sbin/xfsdump: dumping special file ino 8389452 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389453 offset 0 to offset 856 (size 856) /sbin/xfsdump: dumping special file ino 8389455 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389456 offset 0 to offset 118280 (size 118280) /sbin/xfsdump: dumping regular file ino 8389457 offset 0 to offset 75 (size 75) /sbin/xfsdump: dumping regular file ino 8389458 offset 0 to offset 117 (size 117) /sbin/xfsdump: dumping regular file ino 8389459 offset 0 to offset 126712 (size 126712) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389461 offset 0 to offset 288072 (size 288072) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389463 offset 0 to offset 30096 (size 30096) /sbin/xfsdump: dumping regular file ino 8389465 offset 0 to offset 123768 (size 123768) /sbin/xfsdump: dumping regular file ino 8389467 offset 0 to offset 24512 (size 24512) /sbin/xfsdump: dumping regular file ino 8389468 offset 0 to offset 18440 (size 18440) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389469 offset 0 to offset 1241 (size 1241) /sbin/xfsdump: dumping regular file ino 8389470 offset 0 to offset 47824 (size 47824) /sbin/xfsdump: dumping regular file ino 8389472 offset 0 to offset 2427 (size 2427) /sbin/xfsdump: dumping regular file ino 8389473 offset 0 to offset 2711 (size 2711) /sbin/xfsdump: dumping special file ino 8389474 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389475 offset 0 to offset 2512 (size 2512) /sbin/xfsdump: dumping regular file ino 8389476 offset 0 to offset 93096 (size 93096) /sbin/xfsdump: dumping regular file ino 8389477 offset 0 to offset 5582 (size 5582) /sbin/xfsdump: dumping regular file ino 8389478 offset 0 to offset 148 (size 148) /sbin/xfsdump: dumping regular file ino 8389479 offset 0 to offset 42872 (size 42872) /sbin/xfsdump: dumping regular file ino 8389480 offset 0 to offset 22800 (size 22800) /sbin/xfsdump: dumping regular file ino 8389481 offset 0 to offset 29 (size 29) /sbin/xfsdump: dumping regular file ino 8389482 offset 0 to offset 65 (size 65) /sbin/xfsdump: dumping regular file ino 8389483 offset 0 to offset 5976 (size 5976) /sbin/xfsdump: dumping special file ino 8389484 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389485 offset 0 to offset 2146 (size 2146) /sbin/xfsdump: dumping regular file ino 8389486 offset 0 to offset 7808 (size 7808) /sbin/xfsdump: dumping regular file ino 8389487 offset 0 to offset 9615 (size 9615) /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000 /sbin/xfsdump: dumping regular file ino 8389488 offset 0 to offset 1225 (size 1225) /sbin/xfsdump: dumping regular file ino 8389489 offset 0 to offset 1454 (size 1454) /sbin/xfsdump: dumping regular file ino 8389490 offset 0 to offset 1634 (size 1634) /sbin/xfsdump: dumping regular file ino 8389491 offset 0 to offset 1042 (size 1042) /sbin/xfsdump: dumping special file ino 8389492 mode 0xa1ff /sbin/xfsdump: dumping special file ino 8389493 mode 0xa1ff /sbin/xfsdump: dumping special file ino 8389494 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389495 offset 0 to offset 148 (size 148) /sbin/xfsdump: dumping regular file ino 8389497 offset 0 to offset 78008 (size 78008) /sbin/xfsdump: dumping regular file ino 8389498 offset 0 to offset 2037 (size 2037) /sbin/xfsdump: dumping regular file ino 8389499 offset 0 to offset 7695 (size 7695) /sbin/xfsdump: dumping regular file ino 8389500 offset 0 to offset 9560 (size 9560) /sbin/xfsdump: dumping special file ino 8389501 mode 0xa1ff /sbin/xfsdump: dumping regular file ino 8389502 offset 0 to offset 5337 (size 5337) /sbin/xfsdump: dumping special file ino 8389503 mode 0xa1ff /sbin/xfsdump: dumping special file ino 12585024 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585025 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585026 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585027 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585028 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585029 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585030 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585031 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585032 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585033 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585034 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585035 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585036 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585037 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585038 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585039 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585040 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585041 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585042 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585043 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585044 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585045 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585046 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585047 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585048 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585049 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585050 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585051 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585052 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585053 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585054 mode 0x61b0 /sbin/xfsdump: dumping special file ino 12585055 mode 0x61b0 /sbin/xfsdump: ending media file /sbin/xfsdump: Media op: end media file /sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x1fea0 /sbin/xfsdump: media file size 4587168 bytes /sbin/xfsdump: ending stream: 1 seconds elapsed /sbin/xfsdump: dump size (non-dir files) : 4455280 bytes /sbin/xfsdump: dump complete: 1 seconds elapsed /sbin/xfsdump: Dump Status: SUCCESS fw1:/vol/backup/fw1# It just create a small dump file, and if I run the same xfsdump again (or umount the filesystem), it will hang, like: fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz /sbin/xfsdump: using file dump (drive_simple) strategy /sbin/xfsdump: version 3.1.4 (dump format 3.0) /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 /sbin/xfsdump: session label: "" /sbin/xfsdump: ino map phase 1: constructing initial dump list switch back to kernel 3.16, the same command work fine. -- Tommy Wu --001a11335ad626e4e00505810abc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

=C2=A0=C2=A0 xfsdump 3.1.4=
=C2=A0=C2=A0 xfsprogs 3.2.1
=C2=A0=C2=A0 linux= kerenl 3.17/3.17.1

=C2=A0=C2=A0 xfsdump will create a small b= ackup file in 3.17 (test in 3.17, 3.17.1).
=C2=A0=C2=A0 it report = SUCCESS, like this:

fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,driv= e=3Ddebug,media=3Ddebug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz/sbin/xfsdump: using file dump (drive_simple) strategy
/sbin/xfsdump: v= ersion 3.1.4 (dump format 3.0)
/sbin/xfsdump: level 0 dump of fw1.teatim= e.com.tw:/
/sbin/xfsdump: dump date: Thu Oct 16 10:27:26 2014
/sbin/x= fsdump: session id: e409f4d1-8714-4919-a82d-c982d814fa4d
/sbin/xfsdump: = session label: ""
/sbin/xfsdump: ino map phase 1: constructing= initial dump list
/sbin/xfsdump: ino map phase 2: skipping (no pruning = necessary)
/sbin/xfsdump: ino map phase 3: skipping (only one dump strea= m)
/sbin/xfsdump: ino map construction complete
/sbin/xfsdump: estima= ted dump size: 668196544 bytes
/sbin/xfsdump: Media op: begin media file=
/sbin/xfsdump: creating dump session media file 0 (media 0, file 0)
= /sbin/xfsdump: dumping ino map
/sbin/xfsdump: dumping directories
/sb= in/xfsdump: dumping directory ino 192
/sbin/xfsdump: dumping directory i= no 202
/sbin/xfsdump: dumping directory ino 203
/sbin/xfsdump: dumpin= g directory ino 204
/sbin/xfsdump: dumping directory ino 205
/sbin/xf= sdump: dumping directory ino 206
/sbin/xfsdump: dumping directory ino 20= 7
/sbin/xfsdump: dumping directory ino 208
/sbin/xfsdump: dumping dir= ectory ino 209
/sbin/xfsdump: dumping directory ino 210
/sbin/xfsdump= : dumping directory ino 211
/sbin/xfsdump: dumping directory ino 212
= /sbin/xfsdump: dumping directory ino 214
/sbin/xfsdump: dumping director= y ino 215
/sbin/xfsdump: dumping directory ino 216
/sbin/xfsdump: dum= ping directory ino 217
/sbin/xfsdump: dumping directory ino 218
/sbin= /xfsdump: dumping directory ino 219
/sbin/xfsdump: dumping directory ino= 220
/sbin/xfsdump: dumping directory ino 221
/sbin/xfsdump: dumping = directory ino 222
/sbin/xfsdump: dumping directory ino 223
/sbin/xfsd= ump: dumping directory ino 224
/sbin/xfsdump: dumping directory ino 225<= br>/sbin/xfsdump: dumping directory ino 226
/sbin/xfsdump: dumping direc= tory ino 227
/sbin/xfsdump: dumping directory ino 228
/sbin/xfsdump: = dumping directory ino 229
/sbin/xfsdump: dumping directory ino 230
/s= bin/xfsdump: dumping directory ino 231
/sbin/xfsdump: dumping directory = ino 232
/sbin/xfsdump: dumping directory ino 233
/sbin/xfsdump: dumpi= ng directory ino 235
/sbin/xfsdump: dumping directory ino 236
/sbin/x= fsdump: dumping directory ino 237
/sbin/xfsdump: dumping directory ino 2= 38
/sbin/xfsdump: dumping directory ino 239
/sbin/xfsdump: dumping di= rectory ino 240
/sbin/xfsdump: dumping directory ino 241
/sbin/xfsdum= p: dumping directory ino 242
/sbin/xfsdump: dumping directory ino 243/sbin/xfsdump: dumping directory ino 244
/sbin/xfsdump: dumping directo= ry ino 245
/sbin/xfsdump: dumping directory ino 246
/sbin/xfsdump: du= mping directory ino 247
/sbin/xfsdump: dumping directory ino 253
/sbi= n/xfsdump: dumping directory ino 254
/sbin/xfsdump: dumping directory in= o 255
/sbin/xfsdump: dumping directory ino 4194670
/sbin/xfsdump: dum= ping directory ino 4194694
/sbin/xfsdump: dumping directory ino 4194707<= br>/sbin/xfsdump: dumping directory ino 4194709
/sbin/xfsdump: dumping d= irectory ino 4194711
/sbin/xfsdump: dumping directory ino 8389442
/sb= in/xfsdump: dumping directory ino 8389454
/sbin/xfsdump: dumping directo= ry ino 8389460
/sbin/xfsdump: dumping directory ino 8389462
/sbin/xfs= dump: dumping directory ino 8389464
/sbin/xfsdump: dumping directory ino= 8389466
/sbin/xfsdump: dumping directory ino 8389471
/sbin/xfsdump: = dumping directory ino 8389496
/sbin/xfsdump: dumping non-directory files=
/sbin/xfsdump: dumping regular file ino 195 offset 0 to offset 3839 (si= ze 3839)
/sbin/xfsdump: dumping regular file ino 196 offset 0 to offset = 1649 (size 1649)
/sbin/xfsdump: dumping regular file ino 197 offset 0 to= offset 19917 (size 19917)
/sbin/xfsdump: dumping regular file ino 198 o= ffset 0 to offset 150177 (size 150177)
/sbin/xfsdump: flushing write buf= addr 0xdc76f000 size 0x40000
/sbin/xfsdump: dumping regular file ino 19= 9 offset 0 to offset 196 (size 196)
/sbin/xfsdump: dumping regular file = ino 200 offset 0 to offset 828 (size 828)
/sbin/xfsdump: dumping regular= file ino 201 offset 0 to offset 8805 (size 8805)
/sbin/xfsdump: dumping= regular file ino 213 offset 0 to offset 1003 (size 1003)
/sbin/xfsdump:= dumping special file ino 234 mode 0xa1ff
/sbin/xfsdump: dumping regular= file ino 248 offset 0 to offset 28 (size 28)
/sbin/xfsdump: dumping spe= cial file ino 249 mode 0xa1ff
/sbin/xfsdump: dumping regular file ino 25= 0 offset 0 to offset 1736 (size 1736)
/sbin/xfsdump: dumping special fil= e ino 251 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 252 mode 0= xa1ff
/sbin/xfsdump: dumping special file ino 4194656 mode 0xa1ff
/sb= in/xfsdump: dumping special file ino 4194657 mode 0xa1ff
/sbin/xfsdump: = dumping special file ino 4194658 mode 0xa1ff
/sbin/xfsdump: dumping spec= ial file ino 4194659 mode 0xa1ff
/sbin/xfsdump: dumping special file ino= 4194660 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 4194661 mod= e 0xa1ff
/sbin/xfsdump: dumping special file ino 4194662 mode 0xa1ff
= /sbin/xfsdump: dumping regular file ino 4194663 offset 0 to offset 85 (size= 85)
/sbin/xfsdump: dumping special file ino 4194664 mode 0xa1ff
/sbi= n/xfsdump: dumping regular file ino 4194665 offset 0 to offset 24656 (size = 24656)
/sbin/xfsdump: dumping special file ino 4194666 mode 0xa1ff
/s= bin/xfsdump: dumping special file ino 4194667 mode 0xa1ff
/sbin/xfsdump:= dumping special file ino 4194668 mode 0xa1ff
/sbin/xfsdump: dumping reg= ular file ino 4194669 offset 0 to offset 4135 (size 4135)
/sbin/xfsdump:= dumping regular file ino 4194671 offset 0 to offset 52 (size 52)
/sbin/= xfsdump: dumping special file ino 4194672 mode 0xa1ff
/sbin/xfsdump: dum= ping special file ino 4194673 mode 0xa1ff
/sbin/xfsdump: dumping special= file ino 4194674 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 41= 94675 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 4194676 mode 0= xa1ff
/sbin/xfsdump: dumping special file ino 4194677 mode 0xa1ff
/sb= in/xfsdump: dumping regular file ino 4194678 offset 0 to offset 71501 (size= 71501)
/sbin/xfsdump: dumping special file ino 4194679 mode 0xa1ff
/= sbin/xfsdump: dumping special file ino 4194680 mode 0xa1ff
/sbin/xfsdump= : dumping special file ino 4194681 mode 0xa1ff
/sbin/xfsdump: dumping sp= ecial file ino 4194682 mode 0xa1ff
/sbin/xfsdump: dumping special file i= no 4194683 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 4194684 m= ode 0xa1ff
/sbin/xfsdump: dumping special file ino 4194685 mode 0xa1ff/sbin/xfsdump: dumping special file ino 4194686 mode 0xa1ff
/sbin/xfsd= ump: dumping regular file ino 4194687 offset 0 to offset 5432 (size 5432)/sbin/xfsdump: dumping special file ino 4194688 mode 0xa1ff
/sbin/xfsd= ump: dumping special file ino 4194689 mode 0xa1ff
/sbin/xfsdump: dumping= special file ino 4194690 mode 0xa1ff
/sbin/xfsdump: dumping regular fil= e ino 4194691 offset 0 to offset 16224 (size 16224)
/sbin/xfsdump: dumpi= ng regular file ino 4194692 offset 0 to offset 17344 (size 17344)
/sbin/= xfsdump: dumping regular file ino 4194693 offset 0 to offset 463 (size 463)=
/sbin/xfsdump: dumping regular file ino 4194695 offset 0 to offset 1580= 8 (size 15808)
/sbin/xfsdump: dumping regular file ino 4194696 offset 0 = to offset 62768 (size 62768)
/sbin/xfsdump: flushing write buf addr 0xdc= 76f000 size 0x40000
/sbin/xfsdump: dumping regular file ino 4194697 offs= et 0 to offset 116072 (size 116072)
/sbin/xfsdump: dumping regular file = ino 4194698 offset 0 to offset 795 (size 795)
/sbin/xfsdump: dumping reg= ular file ino 4194699 offset 0 to offset 64352 (size 64352)
/sbin/xfsdum= p: dumping regular file ino 4194700 offset 0 to offset 43576 (size 43576)/sbin/xfsdump: dumping regular file ino 4194701 offset 0 to offset 28840 = (size 28840)
/sbin/xfsdump: dumping regular file ino 4194702 offset 0 to= offset 28928 (size 28928)
/sbin/xfsdump: flushing write buf addr 0xdc76= f000 size 0x40000
/sbin/xfsdump: dumping regular file ino 4194703 offset= 0 to offset 70184 (size 70184)
/sbin/xfsdump: dumping regular file ino = 4194704 offset 0 to offset 20336 (size 20336)
/sbin/xfsdump: dumping reg= ular file ino 4194705 offset 0 to offset 67752 (size 67752)
/sbin/xfsdum= p: dumping regular file ino 4194706 offset 0 to offset 33640 (size 33640)/sbin/xfsdump: dumping regular file ino 4194708 offset 0 to offset 175984= (size 175984)
/sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x= 40000
/sbin/xfsdump: dumping regular file ino 4194710 offset 0 to offset= 58816 (size 58816)
/sbin/xfsdump: dumping regular file ino 4194712 offs= et 0 to offset 22720 (size 22720)
/sbin/xfsdump: dumping regular file in= o 4194713 offset 0 to offset 22128 (size 22128)
/sbin/xfsdump: dumping r= egular file ino 4194714 offset 0 to offset 15160 (size 15160)
/sbin/xfsd= ump: flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: dump= ing regular file ino 4194715 offset 0 to offset 8104 (size 8104)
/sbin/x= fsdump: dumping regular file ino 4194716 offset 0 to offset 145816 (size 14= 5816)
/sbin/xfsdump: dumping regular file ino 4194717 offset 0 to offset= 11064 (size 11064)
/sbin/xfsdump: dumping regular file ino 4194718 offs= et 0 to offset 15024 (size 15024)
/sbin/xfsdump: dumping regular file in= o 4194719 offset 0 to offset 14968 (size 14968)
/sbin/xfsdump: dumping r= egular file ino 8389440 offset 0 to offset 1267832 (size 1267832)
/sbin/= xfsdump: flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: = flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: flushing = write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: flushing write buf= addr 0xdc76f000 size 0x40000
/sbin/xfsdump: flushing write buf addr 0xd= c76f000 size 0x40000
/sbin/xfsdump: dumping regular file ino 8389441 off= set 0 to offset 9212 (size 9212)
/sbin/xfsdump: dumping regular file ino= 8389443 offset 0 to offset 1798 (size 1798)
/sbin/xfsdump: dumping regu= lar file ino 8389444 offset 0 to offset 640488 (size 640488)
/sbin/xfsdu= mp: flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: flush= ing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: flushing write= buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: dumping regular file in= o 8389445 offset 0 to offset 1032 (size 1032)
/sbin/xfsdump: dumping reg= ular file ino 8389446 offset 0 to offset 641 (size 641)
/sbin/xfsdump: d= umping regular file ino 8389447 offset 0 to offset 226 (size 226)
/sbin/= xfsdump: dumping special file ino 8389448 mode 0xa1ff
/sbin/xfsdump: dum= ping special file ino 8389449 mode 0xa1ff
/sbin/xfsdump: dumping regular= file ino 8389450 offset 0 to offset 2767 (size 2767)
/sbin/xfsdump: dum= ping special file ino 8389451 mode 0xa1ff
/sbin/xfsdump: dumping special= file ino 8389452 mode 0xa1ff
/sbin/xfsdump: dumping regular file ino 83= 89453 offset 0 to offset 856 (size 856)
/sbin/xfsdump: dumping special f= ile ino 8389455 mode 0xa1ff
/sbin/xfsdump: dumping regular file ino 8389= 456 offset 0 to offset 118280 (size 118280)
/sbin/xfsdump: dumping regul= ar file ino 8389457 offset 0 to offset 75 (size 75)
/sbin/xfsdump: dumpi= ng regular file ino 8389458 offset 0 to offset 117 (size 117)
/sbin/xfsd= ump: dumping regular file ino 8389459 offset 0 to offset 126712 (size 12671= 2)
/sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000
/sb= in/xfsdump: dumping regular file ino 8389461 offset 0 to offset 288072 (siz= e 288072)
/sbin/xfsdump: flushing write buf addr 0xdc76f000 size 0x40000=
/sbin/xfsdump: dumping regular file ino 8389463 offset 0 to offset 3009= 6 (size 30096)
/sbin/xfsdump: dumping regular file ino 8389465 offset 0 = to offset 123768 (size 123768)
/sbin/xfsdump: dumping regular file ino 8= 389467 offset 0 to offset 24512 (size 24512)
/sbin/xfsdump: dumping regu= lar file ino 8389468 offset 0 to offset 18440 (size 18440)
/sbin/xfsdump= : flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: dumping= regular file ino 8389469 offset 0 to offset 1241 (size 1241)
/sbin/xfsd= ump: dumping regular file ino 8389470 offset 0 to offset 47824 (size 47824)=
/sbin/xfsdump: dumping regular file ino 8389472 offset 0 to offset 2427= (size 2427)
/sbin/xfsdump: dumping regular file ino 8389473 offset 0 to= offset 2711 (size 2711)
/sbin/xfsdump: dumping special file ino 8389474= mode 0xa1ff
/sbin/xfsdump: dumping regular file ino 8389475 offset 0 to= offset 2512 (size 2512)
/sbin/xfsdump: dumping regular file ino 8389476= offset 0 to offset 93096 (size 93096)
/sbin/xfsdump: dumping regular fi= le ino 8389477 offset 0 to offset 5582 (size 5582)
/sbin/xfsdump: dumpin= g regular file ino 8389478 offset 0 to offset 148 (size 148)
/sbin/xfsdu= mp: dumping regular file ino 8389479 offset 0 to offset 42872 (size 42872)<= br>/sbin/xfsdump: dumping regular file ino 8389480 offset 0 to offset 22800= (size 22800)
/sbin/xfsdump: dumping regular file ino 8389481 offset 0 t= o offset 29 (size 29)
/sbin/xfsdump: dumping regular file ino 8389482 of= fset 0 to offset 65 (size 65)
/sbin/xfsdump: dumping regular file ino 83= 89483 offset 0 to offset 5976 (size 5976)
/sbin/xfsdump: dumping special= file ino 8389484 mode 0xa1ff
/sbin/xfsdump: dumping regular file ino 83= 89485 offset 0 to offset 2146 (size 2146)
/sbin/xfsdump: dumping regular= file ino 8389486 offset 0 to offset 7808 (size 7808)
/sbin/xfsdump: dum= ping regular file ino 8389487 offset 0 to offset 9615 (size 9615)
/sbin/= xfsdump: flushing write buf addr 0xdc76f000 size 0x40000
/sbin/xfsdump: = dumping regular file ino 8389488 offset 0 to offset 1225 (size 1225)
/sb= in/xfsdump: dumping regular file ino 8389489 offset 0 to offset 1454 (size = 1454)
/sbin/xfsdump: dumping regular file ino 8389490 offset 0 to offset= 1634 (size 1634)
/sbin/xfsdump: dumping regular file ino 8389491 offset= 0 to offset 1042 (size 1042)
/sbin/xfsdump: dumping special file ino 83= 89492 mode 0xa1ff
/sbin/xfsdump: dumping special file ino 8389493 mode 0= xa1ff
/sbin/xfsdump: dumping special file ino 8389494 mode 0xa1ff
/sb= in/xfsdump: dumping regular file ino 8389495 offset 0 to offset 148 (size 1= 48)
/sbin/xfsdump: dumping regular file ino 8389497 offset 0 to offset 7= 8008 (size 78008)
/sbin/xfsdump: dumping regular file ino 8389498 offset= 0 to offset 2037 (size 2037)
/sbin/xfsdump: dumping regular file ino 83= 89499 offset 0 to offset 7695 (size 7695)
/sbin/xfsdump: dumping regular= file ino 8389500 offset 0 to offset 9560 (size 9560)
/sbin/xfsdump: dum= ping special file ino 8389501 mode 0xa1ff
/sbin/xfsdump: dumping regular= file ino 8389502 offset 0 to offset 5337 (size 5337)
/sbin/xfsdump: dum= ping special file ino 8389503 mode 0xa1ff
/sbin/xfsdump: dumping special= file ino 12585024 mode 0x61b0
/sbin/xfsdump: dumping special file ino 1= 2585025 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585026 mod= e 0x61b0
/sbin/xfsdump: dumping special file ino 12585027 mode 0x61b0/sbin/xfsdump: dumping special file ino 12585028 mode 0x61b0
/sbin/xfsd= ump: dumping special file ino 12585029 mode 0x61b0
/sbin/xfsdump: dumpin= g special file ino 12585030 mode 0x61b0
/sbin/xfsdump: dumping special f= ile ino 12585031 mode 0x61b0
/sbin/xfsdump: dumping special file ino 125= 85032 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585033 mode = 0x61b0
/sbin/xfsdump: dumping special file ino 12585034 mode 0x61b0
/= sbin/xfsdump: dumping special file ino 12585035 mode 0x61b0
/sbin/xfsdum= p: dumping special file ino 12585036 mode 0x61b0
/sbin/xfsdump: dumping = special file ino 12585037 mode 0x61b0
/sbin/xfsdump: dumping special fil= e ino 12585038 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585= 039 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585040 mode 0x= 61b0
/sbin/xfsdump: dumping special file ino 12585041 mode 0x61b0
/sb= in/xfsdump: dumping special file ino 12585042 mode 0x61b0
/sbin/xfsdump:= dumping special file ino 12585043 mode 0x61b0
/sbin/xfsdump: dumping sp= ecial file ino 12585044 mode 0x61b0
/sbin/xfsdump: dumping special file = ino 12585045 mode 0x61b0
/sbin/xfsdump: dumping special file ino 1258504= 6 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585047 mode 0x61= b0
/sbin/xfsdump: dumping special file ino 12585048 mode 0x61b0
/sbin= /xfsdump: dumping special file ino 12585049 mode 0x61b0
/sbin/xfsdump: d= umping special file ino 12585050 mode 0x61b0
/sbin/xfsdump: dumping spec= ial file ino 12585051 mode 0x61b0
/sbin/xfsdump: dumping special file in= o 12585052 mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585053 = mode 0x61b0
/sbin/xfsdump: dumping special file ino 12585054 mode 0x61b0=
/sbin/xfsdump: dumping special file ino 12585055 mode 0x61b0
/sbin/x= fsdump: ending media file
/sbin/xfsdump: Media op: end media file
/sb= in/xfsdump: flushing write buf addr 0xdc76f000 size 0x1fea0
/sbin/xfsdum= p: media file size 4587168 bytes
/sbin/xfsdump: ending stream: 1 seconds= elapsed
/sbin/xfsdump: dump size (non-dir files) : 4455280 bytes
/sb= in/xfsdump: dump complete: 1 seconds elapsed
/sbin/xfsdump: Dump Status:= SUCCESS
fw1:/vol/backup/fw1#

=C2=A0=C2=A0 I= t just create=C2=A0 a small dump file, and if I run the same xfsdump again = (or umount the filesystem), it will hang, like:

fw1:/vol/backup/fw1#= /sbin/xfsdump -v trace,drive=3Ddebug,media=3Ddebug -l 0 -o -J -F - /dev/vg= /root | gzip > test.gz
/sbin/xfsdump: using file dump (drive_simple) = strategy
/sbin/xfsdump: version 3.1.4 (dump format 3.0)
/sbin/xfsdump= : level 0 dump of fw1.teatime.com.tw:/
/sbin/xfsdump: dump date: Thu Oct= 16 10:30:09 2014
/sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0= b63968208
/sbin/xfsdump: session label: ""
/sbin/xfsdump: i= no map phase 1: constructing initial dump list


=C2=A0= =C2=A0 switch back to kernel 3.16, the same command work fine.


--

Tommy Wu
--001a11335ad626e4e00505810abc-- From sandeen@sandeen.net Wed Oct 15 22:33: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 45FBD7F3F for ; Wed, 15 Oct 2014 22:33:54 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id C66C8AC003 for ; Wed, 15 Oct 2014 20:33:50 -0700 (PDT) X-ASG-Debug-ID: 1413430427-04cbb070c515290001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id kZ5ayHIv6Ypr01kA for ; Wed, 15 Oct 2014 20:33:47 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id A5025602D6AB; Wed, 15 Oct 2014 22:33:46 -0500 (CDT) Message-ID: <543F3C9A.4060603@sandeen.net> Date: Wed, 15 Oct 2014 22:33:46 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Tommy Wu , xfs Subject: Re: xfsdump not work in 3.17 References: X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413430427 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.10620 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/15/14 9:31 PM, Tommy Wu wrote: > Hi! > > xfsdump 3.1.4 > xfsprogs 3.2.1 > linux kerenl 3.17/3.17.1 > ... > It just create a small dump file, and if I run the same xfsdump again (or umount the filesystem), it will hang, like: > > fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz > /sbin/xfsdump: using file dump (drive_simple) strategy > /sbin/xfsdump: version 3.1.4 (dump format 3.0) > /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ > /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 > /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 > /sbin/xfsdump: session label: "" > /sbin/xfsdump: ino map phase 1: constructing initial dump list > > > switch back to kernel 3.16, the same command work fine. > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 addresses the small backup file, and [PATCH] xfs: bulkstat doesn't release AGI buffer on error (on the list) most likely addresses the hang, I think. -Eric From wu.tommy@gmail.com Wed Oct 15 23:14: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=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 0E2CF7F47 for ; Wed, 15 Oct 2014 23:14:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id F053B304051 for ; Wed, 15 Oct 2014 21:14:09 -0700 (PDT) X-ASG-Debug-ID: 1413432847-04cb6c2efc15930001-NocioJ Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by cuda.sgi.com with ESMTP id McT0EmUQs4kKn60M (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 15 Oct 2014 21:14:08 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] Received: by mail-oi0-f49.google.com with SMTP id a3so2037609oib.8 for ; Wed, 15 Oct 2014 21:14:07 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.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=oJmU/82t2ZP1yvoJSDEbPI10L6nqOTlFPx/3nK6VYUY=; b=MTaYhqjkJeYoyZPSvyYDLKv7DGvLTY35cGZxbBaaDVQIOH1rV5jzZ97taSCpnhMU3G +XsKyFSVUKJMn0HSM1FMT1glelK+tJjUYV5PmCHM9PvDNv+r+wVo0REFo+lJR2yLFQ9D KbyMHY0tY5ACkFtmv8+7QArh7F/olmLx/1g6rNpsMCNLlR50PmWBiMAyjlad52pwUWm8 ihKHy74dP1ALT2Uj12YqAG12njEIHFvI9cqitRUFLXefdgiOGM2OsCU/3XaUra/GK578 6stCVGFrL45fP2QM8JvM3Aq50YXjX7nHoUfEALBHCdb0QhW0VO469jklYOPI6GtvpV/5 vJkQ== MIME-Version: 1.0 X-Received: by 10.202.229.11 with SMTP id c11mr14150374oih.28.1413432847646; Wed, 15 Oct 2014 21:14:07 -0700 (PDT) Received: by 10.60.233.139 with HTTP; Wed, 15 Oct 2014 21:14:07 -0700 (PDT) In-Reply-To: <543F3C9A.4060603@sandeen.net> References: <543F3C9A.4060603@sandeen.net> Date: Thu, 16 Oct 2014 12:14:07 +0800 Message-ID: Subject: Re: xfsdump not work in 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 To: Eric Sandeen Cc: xfs Content-Type: multipart/alternative; boundary=001a11403b16cc45320505827a63 X-Barracuda-Connect: mail-oi0-f49.google.com[209.85.218.49] X-Barracuda-Start-Time: 1413432848 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.10621 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 --001a11403b16cc45320505827a63 Content-Type: text/plain; charset=UTF-8 after apply above patch, the xfsdump will hang after this message: /sbin/xfsdump: dumping non-directory files 2014-10-16 11:33 GMT+08:00 Eric Sandeen : > On 10/15/14 9:31 PM, Tommy Wu wrote: > > Hi! > > > > xfsdump 3.1.4 > > xfsprogs 3.2.1 > > linux kerenl 3.17/3.17.1 > > > > ... > > > It just create a small dump file, and if I run the same xfsdump > again (or umount the filesystem), it will hang, like: > > > > fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 > -o -J -F - /dev/vg/root | gzip > test.gz > > /sbin/xfsdump: using file dump (drive_simple) strategy > > /sbin/xfsdump: version 3.1.4 (dump format 3.0) > > /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ > > /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 > > /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 > > /sbin/xfsdump: session label: "" > > /sbin/xfsdump: ino map phase 1: constructing initial dump list > > > > > > switch back to kernel 3.16, the same command work fine. > > > > > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 > > addresses the small backup file, and > > [PATCH] xfs: bulkstat doesn't release AGI buffer on error > > (on the list) most likely addresses the hang, I think. > > -Eric > -- Tommy Wu --001a11403b16cc45320505827a63 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
after apply above patch, the xfsdump will hang after this = message:

/sbin/xfsdump: dumping non-directory files


2014-10-16 11:33 GMT= +08:00 Eric Sandeen <sandeen@sandeen.net>:
On 10/15/14 9:31 PM, Tommy Wu wrote: > Hi!
>
>=C2=A0 =C2=A0 xfsdump 3.1.4
>=C2=A0 =C2=A0 xfsprogs 3.2.1
>=C2=A0 =C2=A0 linux kerenl 3.17/3.17.1
>

...

>=C2=A0 =C2=A0 It just create=C2=A0 a small dump file, and if I run the = same xfsdump again (or umount the filesystem), it will hang, like:
>
> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=3Ddebug,media=3Ddebu= g -l 0 -o -J -F - /dev/vg/root | gzip > test.gz
> /sbin/xfsdump: using file dump (drive_simple) strategy
> /sbin/xfsdump: version 3.1.4 (dump format 3.0)
> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/
> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014
> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208
> /sbin/xfsdump: session label: ""
> /sbin/xfsdump: ino map phase 1: constructing initial dump list
>
>
>=C2=A0 =C2=A0 switch back to kernel 3.16, the same command work fine. >

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/= commit/fs/xfs?id=3Da8b1ee8bafc765ebf029d03c5479a69aebff9693

addresses the small backup file, and

[PATCH] xfs: bulkstat doesn't release AGI buffer on error

(on the list) most likely addresses the hang, I think.

-Eric



--

Tommy= Wu
--001a11403b16cc45320505827a63-- From sandeen@sandeen.net Thu Oct 16 00:22: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=HTML_MESSAGE,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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 488207F3F for ; Thu, 16 Oct 2014 00:22:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 24BAB304051 for ; Wed, 15 Oct 2014 22:22:42 -0700 (PDT) X-ASG-Debug-ID: 1413436957-04cbb070c518120001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id AZ359Btr6q0S19hY for ; Wed, 15 Oct 2014 22:22:37 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from [10.0.0.77] (eric-iphone.sandeen.net [10.0.0.77]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id E3A5D6520C88; Thu, 16 Oct 2014 00:22:36 -0500 (CDT) References: <543F3C9A.4060603@sandeen.net> Mime-Version: 1.0 (1.0) In-Reply-To: Content-Type: multipart/alternative; boundary=Apple-Mail-BC441E3E-0509-426A-9DD7-C3EBF5C5EF18 Content-Transfer-Encoding: 7bit Message-Id: Cc: xfs X-Mailer: iPhone Mail (11D257) From: Eric Sandeen Subject: Re: xfsdump not work in 3.17 Date: Thu, 16 Oct 2014 00:22:33 -0500 X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 To: Tommy Wu X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413436957 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: teatime.com.tw X-Barracuda-Spam-Score: 0.82 X-Barracuda-Spam-Status: No, SCORE=0.82 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10623 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars --Apple-Mail-BC441E3E-0509-426A-9DD7-C3EBF5C5EF18 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable On Oct 15, 2014, at 11:14 PM, Tommy Wu wrote: >=20 > after apply above patch, Which one? I pointed at 2... Did you apply both? Eric > the xfsdump will hang after this message: >=20 > /sbin/xfsdump: dumping non-directory files >=20 >=20 > 2014-10-16 11:33 GMT+08:00 Eric Sandeen : >> On 10/15/14 9:31 PM, Tommy Wu wrote: >> > Hi! >> > >> > xfsdump 3.1.4 >> > xfsprogs 3.2.1 >> > linux kerenl 3.17/3.17.1 >> > >>=20 >> ... >>=20 >> > It just create a small dump file, and if I run the same xfsdump aga= in (or umount the filesystem), it will hang, like: >> > >> > fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=3Ddebug,media=3Ddebug= -l 0 -o -J -F - /dev/vg/root | gzip > test.gz >> > /sbin/xfsdump: using file dump (drive_simple) strategy >> > /sbin/xfsdump: version 3.1.4 (dump format 3.0) >> > /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ >> > /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 >> > /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 >> > /sbin/xfsdump: session label: "" >> > /sbin/xfsdump: ino map phase 1: constructing initial dump list >> > >> > >> > switch back to kernel 3.16, the same command work fine. >> > >>=20 >> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/= xfs?id=3Da8b1ee8bafc765ebf029d03c5479a69aebff9693 >>=20 >> addresses the small backup file, and >>=20 >> [PATCH] xfs: bulkstat doesn't release AGI buffer on error >>=20 >> (on the list) most likely addresses the hang, I think. >>=20 >> -Eric >=20 >=20 >=20 > --=20 >=20 > Tommy Wu --Apple-Mail-BC441E3E-0509-426A-9DD7-C3EBF5C5EF18 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
On Oct 15, 2014, at 11:14 PM, Tommy Wu <wu.tommy@gmail.com> wrote:

after apply above patch,

Which one?  I pointed at 2... Did you apply both?

Eric

the xfsdump will hang after this message:

/sbin/xfsdump: dumping non-directory files


2014-10-16 11:33 GMT+08:00 Eric Sandeen <sandeen@sandeen.net>:
On 10/15/14 9:31 PM, Tommy Wu wrote:
> Hi!
>
>    xfsdump 3.1.4
>    xfsprogs 3.2.1
>    linux kerenl 3.17/3.17.1
>

...

>    It just create  a small dump file, and if I run the same xfsdump again (or umount the filesystem), it will hang, like:
>
> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz
> /sbin/xfsdump: using file dump (drive_simple) strategy
> /sbin/xfsdump: version 3.1.4 (dump format 3.0)
> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/
> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014
> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208
> /sbin/xfsdump: session label: ""
> /sbin/xfsdump: ino map phase 1: constructing initial dump list
>
>
>    switch back to kernel 3.16, the same command work fine.
>

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693

addresses the small backup file, and

[PATCH] xfs: bulkstat doesn't release AGI buffer on error

(on the list) most likely addresses the hang, I think.

-Eric



--

Tommy Wu
--Apple-Mail-BC441E3E-0509-426A-9DD7-C3EBF5C5EF18-- From wu.tommy@gmail.com Thu Oct 16 01:04: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id AC2AB7F3F for ; Thu, 16 Oct 2014 01:04:25 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3B388AC003 for ; Wed, 15 Oct 2014 23:04:22 -0700 (PDT) X-ASG-Debug-ID: 1413439459-04cbb070c719300001-NocioJ Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by cuda.sgi.com with ESMTP id FDQvamqMdGr3Y61x (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 15 Oct 2014 23:04:20 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.182 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.182] Received: by mail-ob0-f182.google.com with SMTP id uy5so2297875obc.41 for ; Wed, 15 Oct 2014 23:04:19 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.182] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.182] 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=g+jg6TRpRrqhMAuPusA0kMbEgQubrfGbu2UV3wjmuFA=; b=r9ChZtSK1xzOoDT5YgOXuCbShqV1j+VszsGl1GdL4mED+LH981ZDbJUhwaNoNkWh73 Gwzl8wnpVCBSKT7S449RxVHXtHPlaKNw6Izm2PjTGko28K9HovclmkGX+pTZoNDn9XEq axoXKhVSfH91O5/KAzHNEbWnngJqorJ8XUXB5tsyUd8yG/7oSu6KhmWjkx/07u8bUkzI BICl3bwQZmj1KBI52zPdguec4lN29NiYAg/lDhKA5VV1srVmFFbwV7zjZHQuGmaBmyEm BhtahDgxqbFdzIDd48QXh3ac75U/gXmIjm0kGoejUMQ1YD8Um4EcKuYPRUmuIGya2Vjl cSRw== MIME-Version: 1.0 X-Received: by 10.202.168.65 with SMTP id r62mr14498574oie.26.1413439459694; Wed, 15 Oct 2014 23:04:19 -0700 (PDT) Received: by 10.60.233.139 with HTTP; Wed, 15 Oct 2014 23:04:19 -0700 (PDT) In-Reply-To: References: <543F3C9A.4060603@sandeen.net> Date: Thu, 16 Oct 2014 14:04:19 +0800 Message-ID: Subject: Re: xfsdump not work in 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 To: Eric Sandeen Cc: xfs Content-Type: multipart/alternative; boundary=001a113cd11ce81ffd0505840495 X-Barracuda-Connect: mail-ob0-f182.google.com[209.85.214.182] X-Barracuda-Start-Time: 1413439460 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-BRTS-Evidence: teatime.com.tw X-Barracuda-Spam-Score: 0.00 X-Barracuda-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.10624 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 --001a113cd11ce81ffd0505840495 Content-Type: text/plain; charset=UTF-8 sorry, miss the 2nd one. after apply both of them, xfsdump work fine now. 2014-10-16 13:22 GMT+08:00 Eric Sandeen : > On Oct 15, 2014, at 11:14 PM, Tommy Wu wrote: > > after apply above patch, > > > Which one? I pointed at 2... Did you apply both? > > Eric > > the xfsdump will hang after this message: > > /sbin/xfsdump: dumping non-directory files > > > 2014-10-16 11:33 GMT+08:00 Eric Sandeen : > >> On 10/15/14 9:31 PM, Tommy Wu wrote: >> > Hi! >> > >> > xfsdump 3.1.4 >> > xfsprogs 3.2.1 >> > linux kerenl 3.17/3.17.1 >> > >> >> ... >> >> > It just create a small dump file, and if I run the same xfsdump >> again (or umount the filesystem), it will hang, like: >> > >> > fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l >> 0 -o -J -F - /dev/vg/root | gzip > test.gz >> > /sbin/xfsdump: using file dump (drive_simple) strategy >> > /sbin/xfsdump: version 3.1.4 (dump format 3.0) >> > /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ >> > /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 >> > /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 >> > /sbin/xfsdump: session label: "" >> > /sbin/xfsdump: ino map phase 1: constructing initial dump list >> > >> > >> > switch back to kernel 3.16, the same command work fine. >> > >> >> >> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 >> >> addresses the small backup file, and >> >> [PATCH] xfs: bulkstat doesn't release AGI buffer on error >> >> (on the list) most likely addresses the hang, I think. >> >> -Eric >> > > > > -- > > Tommy Wu > > -- Tommy Wu --001a113cd11ce81ffd0505840495 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
sorry, miss the 2nd one.

after apply bot= h of them, xfsdump work fine now.

<= div class=3D"gmail_quote">2014-10-16 13:22 GMT+08:00 Eric Sandeen <sande= en@sandeen.net>:
On Oct 15, 2014, at 11:14 PM, Tommy Wu <wu.tommy@gmail.com> wrote:

after app= ly above patch,

Which one?=C2=A0 I = pointed at 2... Did you apply both?

Eric
<= div>
the xfsdump will ha= ng after this message:

/sbin/xfsdump: dumping non-directory files

2014-1= 0-16 11:33 GMT+08:00 Eric Sandeen <sandeen@sandeen.net>:
On 10/15/14 9:31 PM, Tommy Wu wrote:=
> Hi!
>
>=C2=A0 =C2=A0 xfsdump 3.1.4
>=C2=A0 =C2=A0 xfsprogs 3.2.1
>=C2=A0 =C2=A0 linux kerenl 3.17/3.17.1
>

...

>=C2=A0 =C2=A0 It just create=C2=A0 a small dump file, and if I run the = same xfsdump again (or umount the filesystem), it will hang, like:
>
> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=3Ddebug,media=3Ddebu= g -l 0 -o -J -F - /dev/vg/root | gzip > test.gz
> /sbin/xfsdump: using file dump (drive_simple) strategy
> /sbin/xfsdump: version 3.1.4 (dump format 3.0)
> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/
> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014
> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208
> /sbin/xfsdump: session label: ""
> /sbin/xfsdump: ino map phase 1: constructing initial dump list
>
>
>=C2=A0 =C2=A0 switch back to kernel 3.16, the same command work fine. >

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/= commit/fs/xfs?id=3Da8b1ee8bafc765ebf029d03c5479a69aebff9693

addresses the small backup file, and

[PATCH] xfs: bulkstat doesn't release AGI buffer on error

(on the list) most likely addresses the hang, I think.

-Eric



--

Tommy= Wu



--

Tommy Wu --001a113cd11ce81ffd0505840495-- From fengguang.wu@intel.com Thu Oct 16 05:34:28 2014 Return-Path: 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 B58847F3F for ; Thu, 16 Oct 2014 05:34:28 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 971AF8F8033 for ; Thu, 16 Oct 2014 03:34:28 -0700 (PDT) X-ASG-Debug-ID: 1413455654-04cb6c2efc1f650001-NocioJ Received: from mga14.intel.com ([192.55.52.115]) by cuda.sgi.com with ESMTP id rTtNIFXitgkgQ7qF for ; Thu, 16 Oct 2014 03:34:15 -0700 (PDT) X-Barracuda-Envelope-From: fengguang.wu@intel.com X-Barracuda-Apparent-Source-IP: 192.55.52.115 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 16 Oct 2014 03:24:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,731,1406617200"; d="scan'208";a="606357211" Received: from wfg-t540p.sh.intel.com ([10.239.197.250]) by fmsmga001.fm.intel.com with ESMTP; 16 Oct 2014 03:34:04 -0700 Received: from wfg by wfg-t540p.sh.intel.com with local (Exim 4.84) (envelope-from ) id 1Xehzd-00028t-8x; Thu, 16 Oct 2014 18:09:13 +0800 Date: Thu, 16 Oct 2014 18:09:13 +0800 From: Fengguang Wu To: Jan Kara Cc: Theodore Ts'o , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Subject: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Message-ID: <20141016100913.GA8140@wfg-t540p.sh.intel.com> X-ASG-Orig-Subj: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="EeQfGwPcQSOJBaQU" Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Heirloom mailx 12.5 6/20/10 X-Barracuda-Connect: UNKNOWN[192.55.52.115] X-Barracuda-Start-Time: 1413455654 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: -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 --EeQfGwPcQSOJBaQU Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Hi Jan, Your patch gives a warning on the xfs code path. :) git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev commit be330474e2d0533a7a6185e567f3654fec096dbd ("vfs: fix data corruption when blocksize < pagesize for mmaped data") testbox/testcase/testparams: bay/fileio/performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync f6e63f90809946d4 be330474e2d0533a7a6185e567 ---------------- -------------------------- fail:runs %reproduction fail:runs | | | :1 100% 5:5 kmsg.WARNING:at_mm/truncate.c:pagecache_isize_extended() :1 100% 5:5 dmesg.WARNING:at_mm/truncate.c:pagecache_isize_extended() %stddev %change %stddev \ | \ 4272 ± 29% +224.1% 13848 ± 20% sched_debug.cfs_rq[2]:/.spread0 5 ± 25% +84.0% 9 ± 18% sched_debug.cpu#1.cpu_load[1] 3 ± 22% +88.9% 6 ± 21% sched_debug.cpu#1.cpu_load[2] 6 ± 23% +53.1% 9 ± 16% sched_debug.cpu#1.cpu_load[0] 15780 ± 5% +50.5% 23751 ± 8% sched_debug.cfs_rq[3]:/.exec_clock 20615 ± 6% +52.2% 31371 ± 15% sched_debug.cfs_rq[3]:/.min_vruntime 193118 ± 16% +33.9% 258650 ± 15% sched_debug.cpu#1.ttwu_local 277966 ± 10% -26.1% 205411 ± 13% sched_debug.cpu#2.ttwu_local 24040 ± 6% +38.2% 33230 ± 11% sched_debug.cfs_rq[2]:/.min_vruntime 98 ± 15% +57.8% 154 ± 23% sched_debug.cfs_rq[1]:/.blocked_load_avg 23851 ± 0% +33.9% 31941 ± 0% proc-vmstat.nr_free_pages 95193 ± 0% +34.0% 127532 ± 0% meminfo.MemFree 96061 ± 0% +33.4% 128133 ± 0% vmstat.memory.free 19715 ± 3% +27.7% 25185 ± 5% sched_debug.cfs_rq[2]:/.exec_clock 690451 ± 9% -18.2% 564810 ± 6% sched_debug.cpu#2.ttwu_count 640 ± 12% +27.3% 815 ± 9% slabinfo.proc_inode_cache.active_objs 704 ± 6% +21.3% 854 ± 9% slabinfo.proc_inode_cache.num_objs 52372 ± 6% +18.8% 62197 ± 4% sched_debug.cpu#3.nr_load_updates 32780 ± 0% +18.7% 38924 ± 4% meminfo.DirectMap4k 1252 ± 2% +20.8% 1512 ± 9% slabinfo.kmalloc-128.num_objs 1252 ± 2% +20.8% 1512 ± 9% slabinfo.kmalloc-128.active_objs 89552 ± 0% +9.1% 97715 ± 1% softirqs.TIMER 51602 ± 2% +10.4% 56947 ± 7% sched_debug.cpu#1.nr_load_updates 81.08 ± 1% +14.8% 93.05 ± 1% time.system_time 8413 ± 1% -9.1% 7649 ± 6% time.involuntary_context_switches 14 ± 0% +10.0% 15 ± 3% time.percent_of_cpu_this_job_got 14850 ± 0% -8.1% 13644 ± 11% vmstat.system.cs 7715 ± 0% -7.7% 7118 ± 11% vmstat.system.in 603 ± 0% +2.4% 617 ± 0% time.elapsed_time 141 ± 0% -2.2% 138 ± 0% iostat.sda.avgqu-sz <5>[ 25.956576] XFS (sda1): Mounting V4 Filesystem <6>[ 26.194468] XFS (sda1): Ending clean mount <4>[ 27.258450] ------------[ cut here ]------------ <4>[ 27.258789] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.259443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.262734] CPU: 3 PID: 2339 Comm: fallocate Not tainted 3.17.0-gda9a9f1 #1 <4>[ 27.263153] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.263780] 0000000000000009 ffff88007a43fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.264492] ffff88007a43fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f05a8 <4>[ 27.265199] 0000000000000000 ffff88005b6f05a8 0000000004000000 ffff88007a43fdd0 <4>[ 27.265906] Call Trace: <4>[ 27.266165] [] dump_stack+0x4d/0x66 <4>[ 27.266511] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.266900] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.267286] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.267690] [] truncate_setsize+0x27/0x40 <4>[ 27.268068] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.268442] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.268821] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.269215] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.269596] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.270009] [] do_fallocate+0x123/0x1b0 <4>[ 27.270380] [] SyS_fallocate+0x43/0x70 <4>[ 27.270738] [] system_call_fastpath+0x16/0x1b <4>[ 27.271119] ---[ end trace 6a3b1350ad399610 ]--- <4>[ 27.274498] ------------[ cut here ]------------ Thanks, Fengguang --EeQfGwPcQSOJBaQU Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=dmesg [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.17.0-gda9a9f1 (kbuild@xian) (gcc version 4.9.1 (Debian 4.9.1-11) ) #1 SMP Tue Oct 14 20:38:54 CST 2014 [ 0.000000] Command line: user=lkp job=/lkp/scheduled/bay/cyclic_fileio-performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync-x86_64-rhel-HEAD-da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b-0.yaml ARCH=x86_64 BOOT_IMAGE=/kernel/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/vmlinuz-3.17.0-gda9a9f1 kconfig=x86_64-rhel commit=da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b branch=linux-devel/devel-hourly-2014101420 root=/dev/ram0 max_uptime=1868 RESULT_ROOT=/result/bay/fileio/performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync/debian-x86_64.cgz/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/0 ip=::::bay::dhcp earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal rw [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000100-0x000000000009ebff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007fd0bfff] usable [ 0.000000] BIOS-e820: [mem 0x000000007fd0c000-0x000000007fd0dfff] reserved [ 0.000000] BIOS-e820: [mem 0x000000007fd0e000-0x000000007fe00fff] usable [ 0.000000] BIOS-e820: [mem 0x000000007fe01000-0x000000007fee9fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x000000007feea000-0x000000007feebfff] usable [ 0.000000] BIOS-e820: [mem 0x000000007feec000-0x000000007fef1fff] ACPI data [ 0.000000] BIOS-e820: [mem 0x000000007fef2000-0x000000007fef2fff] usable [ 0.000000] BIOS-e820: [mem 0x000000007fef3000-0x000000007fefefff] ACPI data [ 0.000000] BIOS-e820: [mem 0x000000007feff000-0x000000007fefffff] usable [ 0.000000] BIOS-e820: [mem 0x000000007ff00000-0x000000007fffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved [ 0.000000] bootconsole [earlyser0] enabled [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] SMBIOS 2.4 present. [ 0.000000] DMI: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable [ 0.000000] AGP: No AGP bridge found [ 0.000000] e820: last_pfn = 0x7ff00 max_arch_pfn = 0x400000000 [ 0.000000] MTRR default type: uncachable [ 0.000000] MTRR fixed ranges enabled: [ 0.000000] 00000-9FFFF write-back [ 0.000000] A0000-FFFFF uncachable [ 0.000000] MTRR variable ranges enabled: [ 0.000000] 0 base 000000000 mask F80000000 write-back [ 0.000000] 1 base 07FF00000 mask FFFF00000 uncachable [ 0.000000] 2 disabled [ 0.000000] 3 disabled [ 0.000000] 4 disabled [ 0.000000] 5 disabled [ 0.000000] 6 disabled [ 0.000000] 7 disabled [ 0.000000] x86 PAT enabled: cpu 0, old 0x7010600070106, new 0x7010600070106 [ 0.000000] Scan for SMP in [mem 0x00000000-0x000003ff] [ 0.000000] Scan for SMP in [mem 0x0009fc00-0x0009ffff] [ 0.000000] Scan for SMP in [mem 0x000f0000-0x000fffff] [ 0.000000] found SMP MP-table at [mem 0x000fe200-0x000fe20f] mapped at [ffff8800000fe200] [ 0.000000] mpc: fe210-fe250 [ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576 [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] [ 0.000000] [mem 0x00000000-0x000fffff] page 4k [ 0.000000] BRK [0x7f17d000, 0x7f17dfff] PGTABLE [ 0.000000] BRK [0x7f17e000, 0x7f17efff] PGTABLE [ 0.000000] BRK [0x7f17f000, 0x7f17ffff] PGTABLE [ 0.000000] init_memory_mapping: [mem 0x7fa00000-0x7fbfffff] [ 0.000000] [mem 0x7fa00000-0x7fbfffff] page 2M [ 0.000000] BRK [0x7f180000, 0x7f180fff] PGTABLE [ 0.000000] init_memory_mapping: [mem 0x7c000000-0x7f9fffff] [ 0.000000] [mem 0x7c000000-0x7f9fffff] page 2M [ 0.000000] init_memory_mapping: [mem 0x00100000-0x7bffffff] [ 0.000000] [mem 0x00100000-0x001fffff] page 4k [ 0.000000] [mem 0x00200000-0x7bffffff] page 2M [ 0.000000] init_memory_mapping: [mem 0x7fc00000-0x7fd0bfff] [ 0.000000] [mem 0x7fc00000-0x7fd0bfff] page 4k [ 0.000000] BRK [0x7f181000, 0x7f181fff] PGTABLE [ 0.000000] init_memory_mapping: [mem 0x7fd0e000-0x7fe00fff] [ 0.000000] [mem 0x7fd0e000-0x7fe00fff] page 4k [ 0.000000] BRK [0x7f182000, 0x7f182fff] PGTABLE [ 0.000000] init_memory_mapping: [mem 0x7feea000-0x7feebfff] [ 0.000000] [mem 0x7feea000-0x7feebfff] page 4k [ 0.000000] init_memory_mapping: [mem 0x7fef2000-0x7fef2fff] [ 0.000000] [mem 0x7fef2000-0x7fef2fff] page 4k [ 0.000000] init_memory_mapping: [mem 0x7feff000-0x7fefffff] [ 0.000000] [mem 0x7feff000-0x7fefffff] page 4k [ 0.000000] RAMDISK: [mem 0x764ab000-0x7dffffff] [ 0.000000] ACPI: Early table checksum verification disabled [ 0.000000] ACPI: RSDP 0x00000000000FE020 000014 (v00 INTEL ) [ 0.000000] ACPI: RSDT 0x000000007FEFD038 000054 (v01 INTEL DRBLI9J 00000B4B 01000013) [ 0.000000] ACPI: FACP 0x000000007FEFC000 0000F4 (v02 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Pm1aEventBlock: 32/16 (20140724/tbfadt-618) [ 0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/PmTimerBlock: 32/24 (20140724/tbfadt-618) [ 0.000000] ACPI BIOS Warning (bug): Invalid length for FADT/Pm1aEventBlock: 16, using default 32 (20140724/tbfadt-699) [ 0.000000] ACPI BIOS Warning (bug): Invalid length for FADT/PmTimerBlock: 24, using default 32 (20140724/tbfadt-699) [ 0.000000] ACPI: DSDT 0x000000007FEF8000 003D79 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: FACS 0x000000007FE9D000 000040 [ 0.000000] ACPI: APIC 0x000000007FEF7000 000078 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: WDDT 0x000000007FEF6000 000040 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: MCFG 0x000000007FEF5000 00003C (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: ASF! 0x000000007FEF4000 0000A6 (v32 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: HPET 0x000000007FEF3000 000038 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: DMAR 0x000000007FEF1000 000128 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) [ 0.000000] ACPI: SSDT 0x000000007FEF0000 0001B4 (v01 INTEL CpuPm 00000B4B MSFT 01000013) [ 0.000000] ACPI: SSDT 0x000000007FEEF000 000222 (v01 INTEL Cpu0Ist 00000B4B MSFT 01000013) [ 0.000000] ACPI: SSDT 0x000000007FEEE000 000222 (v01 INTEL Cpu1Ist 00000B4B MSFT 01000013) [ 0.000000] ACPI: SSDT 0x000000007FEED000 000222 (v01 INTEL Cpu2Ist 00000B4B MSFT 01000013) [ 0.000000] ACPI: SSDT 0x000000007FEEC000 000222 (v01 INTEL Cpu3Ist 00000B4B MSFT 01000013) [ 0.000000] ACPI: Local APIC address 0xfee00000 [ 0.000000] mapped APIC to ffffffffff57c000 ( fee00000) [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000007fefffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x7fefffff] [ 0.000000] NODE_DATA [mem 0x7fddb000-0x7fe00fff] [ 0.000000] [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff880074400000-ffff8800763fffff] on node 0 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x00001000-0x00ffffff] [ 0.000000] DMA32 [mem 0x01000000-0xffffffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00001000-0x0009dfff] [ 0.000000] node 0: [mem 0x00100000-0x7fd0bfff] [ 0.000000] node 0: [mem 0x7fd0e000-0x7fe00fff] [ 0.000000] node 0: [mem 0x7feea000-0x7feebfff] [ 0.000000] node 0: [mem 0x7fef2000-0x7fef2fff] [ 0.000000] node 0: [mem 0x7feff000-0x7fefffff] [ 0.000000] On node 0 totalpages: 523680 [ 0.000000] DMA zone: 64 pages used for memmap [ 0.000000] DMA zone: 21 pages reserved [ 0.000000] DMA zone: 3997 pages, LIFO batch:0 [ 0.000000] DMA32 zone: 8124 pages used for memmap [ 0.000000] DMA32 zone: 519683 pages, LIFO batch:31 [ 0.000000] ACPI: PM-Timer IO Port: 0x408 [ 0.000000] ACPI: Local APIC address 0xfee00000 [ 0.000000] mapped APIC to ffffffffff57c000 ( fee00000) [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) [ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1]) [ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 00, APIC ID 2, APIC INT 02 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 09, APIC ID 2, APIC INT 09 [ 0.000000] ACPI: IRQ0 used by override. [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 01, APIC ID 2, APIC INT 01 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 03, APIC ID 2, APIC INT 03 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 04, APIC ID 2, APIC INT 04 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 05, APIC ID 2, APIC INT 05 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 06, APIC ID 2, APIC INT 06 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 07, APIC ID 2, APIC INT 07 [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 08, APIC ID 2, APIC INT 08 [ 0.000000] ACPI: IRQ9 used by override. [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0a, APIC ID 2, APIC INT 0a [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0b, APIC ID 2, APIC INT 0b [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0c, APIC ID 2, APIC INT 0c [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0d, APIC ID 2, APIC INT 0d [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0e, APIC ID 2, APIC INT 0e [ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0f, APIC ID 2, APIC INT 0f [ 0.000000] Using ACPI (MADT) for SMP configuration information [ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000 [ 0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs [ 0.000000] mapped IOAPIC to ffffffffff57b000 (fec00000) [ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009efff] [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff] [ 0.000000] PM: Registered nosave memory: [mem 0x7fd0c000-0x7fd0dfff] [ 0.000000] PM: Registered nosave memory: [mem 0x7fe01000-0x7fee9fff] [ 0.000000] PM: Registered nosave memory: [mem 0x7feec000-0x7fef1fff] [ 0.000000] PM: Registered nosave memory: [mem 0x7fef3000-0x7fefefff] [ 0.000000] e820: [mem 0x80000000-0xefffffff] available for PCI devices [ 0.000000] Booting paravirtualized kernel on bare hardware [ 0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1 [ 0.000000] PERCPU: Embedded 29 pages/cpu @ffff88007fa00000 s88960 r8192 d21632 u524288 [ 0.000000] pcpu-alloc: s88960 r8192 d21632 u524288 alloc=1*2097152 [ 0.000000] pcpu-alloc: [0] 0 1 2 3 [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 515471 [ 0.000000] Policy zone: DMA32 [ 0.000000] Kernel command line: user=lkp job=/lkp/scheduled/bay/cyclic_fileio-performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync-x86_64-rhel-HEAD-da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b-0.yaml ARCH=x86_64 BOOT_IMAGE=/kernel/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/vmlinuz-3.17.0-gda9a9f1 kconfig=x86_64-rhel commit=da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b branch=linux-devel/devel-hourly-2014101420 root=/dev/ram0 max_uptime=1868 RESULT_ROOT=/result/bay/fileio/performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync/debian-x86_64.cgz/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/0 ip=::::bay::dhcp earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal rw [ 0.000000] sysrq: sysrq always enabled. [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] AGP: Checking aperture... [ 0.000000] AGP: No AGP bridge found [ 0.000000] Memory: 1916772K/2094720K available (8607K kernel code, 1705K rwdata, 3836K rodata, 1808K init, 1888K bss, 177948K reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=4. [ 0.000000] Offload RCU callbacks from all CPUs [ 0.000000] Offload RCU callbacks from CPUs: 0-3. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS:524544 nr_irqs:456 0 [ 0.000000] Console: colour VGA+ 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] bootconsole [earlyser0] disabled [ 0.000000] console [ttyS0] enabled [ 0.000000] allocated 8388608 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] hpet clockevent registered [ 0.000000] tsc: Fast TSC calibration using PIT [ 0.000000] tsc: Detected 2992.507 MHz processor [ 0.000011] Calibrating delay loop (skipped), value calculated using timer frequency.. 5985.01 BogoMIPS (lpj=2992507) [ 0.000497] pid_max: default: 32768 minimum: 301 [ 0.000719] ACPI: Core revision 20140724 [ 0.001000] ACPI: All ACPI Tables successfully acquired [ 0.001000] Security Framework initialized [ 0.001000] SELinux: Initializing. [ 0.001000] SELinux: Starting in permissive mode [ 0.001000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) [ 0.001000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.001000] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes) [ 0.001000] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes) [ 0.001000] Initializing cgroup subsys memory [ 0.001000] Initializing cgroup subsys devices [ 0.001000] Initializing cgroup subsys freezer [ 0.001000] Initializing cgroup subsys net_cls [ 0.001000] Initializing cgroup subsys blkio [ 0.001000] Initializing cgroup subsys perf_event [ 0.001000] Initializing cgroup subsys hugetlb [ 0.001000] CPU: Physical Processor ID: 0 [ 0.001000] CPU: Processor Core ID: 0 [ 0.001000] mce: CPU supports 6 MCE banks [ 0.001000] CPU0: Thermal LVT vector (0xfa) already installed [ 0.001000] Last level iTLB entries: 4KB 128, 2MB 4, 4MB 4 [ 0.001000] Last level dTLB entries: 4KB 256, 2MB 0, 4MB 32, 1GB 0 [ 0.001000] Freeing SMP alternatives memory: 36K (ffffffff81f9a000 - ffffffff81fa3000) [ 0.001000] ftrace: allocating 31124 entries in 122 pages [ 0.001000] Getting VERSION: 50014 [ 0.001000] Getting VERSION: 50014 [ 0.001000] Getting ID: 0 [ 0.001000] Getting ID: 0 [ 0.001000] dmar: Host address width 40 [ 0.001000] dmar: DRHD base: 0x000000feb00000 flags: 0x0 [ 0.001000] dmar: IOMMU 0: reg_base_addr feb00000 ver 1:0 cap c9008020a30272 ecap 1000 [ 0.001000] dmar: DRHD base: 0x000000feb01000 flags: 0x0 [ 0.001000] dmar: IOMMU 1: reg_base_addr feb01000 ver 1:0 cap c0000020230270 ecap 1000 [ 0.001000] dmar: DRHD base: 0x000000feb02000 flags: 0x0 [ 0.001000] dmar: IOMMU 2: reg_base_addr feb02000 ver 1:0 cap c0000020230270 ecap 1000 [ 0.001000] dmar: DRHD base: 0x000000feb03000 flags: 0x1 [ 0.001000] dmar: IOMMU 3: reg_base_addr feb03000 ver 1:0 cap c9008020230272 ecap 1000 [ 0.001000] dmar: RMRR base: 0x000000000e0000 end: 0x000000000effff [ 0.001000] dmar: RMRR base: 0x00000080000000 end: 0x0000007fffffff [ 0.001000] masked ExtINT on CPU#0 [ 0.001000] ENABLING IO-APIC IRQs [ 0.001000] init IO_APIC IRQs [ 0.001000] apic 2 pin 0 not connected [ 0.001000] IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:1) [ 0.001000] IOAPIC[0]: Set routing entry (2-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1) [ 0.001000] IOAPIC[0]: Set routing entry (2-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1) [ 0.001000] IOAPIC[0]: Set routing entry (2-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:1) [ 0.001008] IOAPIC[0]: Set routing entry (2-4 -> 0x34 -> IRQ 4 Mode:0 Active:0 Dest:1) [ 0.001535] IOAPIC[0]: Set routing entry (2-5 -> 0x35 -> IRQ 5 Mode:0 Active:0 Dest:1) [ 0.002004] IOAPIC[0]: Set routing entry (2-6 -> 0x36 -> IRQ 6 Mode:0 Active:0 Dest:1) [ 0.002532] IOAPIC[0]: Set routing entry (2-7 -> 0x37 -> IRQ 7 Mode:0 Active:0 Dest:1) [ 0.003003] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:1) [ 0.004003] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:1) [ 0.004532] IOAPIC[0]: Set routing entry (2-10 -> 0x3a -> IRQ 10 Mode:0 Active:0 Dest:1) [ 0.005004] IOAPIC[0]: Set routing entry (2-11 -> 0x3b -> IRQ 11 Mode:0 Active:0 Dest:1) [ 0.005538] IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0 Dest:1) [ 0.006004] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:1) [ 0.006537] IOAPIC[0]: Set routing entry (2-14 -> 0x3e -> IRQ 14 Mode:0 Active:0 Dest:1) [ 0.007003] IOAPIC[0]: Set routing entry (2-15 -> 0x3f -> IRQ 15 Mode:0 Active:0 Dest:1) [ 0.007537] apic 2 pin 16 not connected [ 0.008001] apic 2 pin 17 not connected [ 0.008281] apic 2 pin 18 not connected [ 0.008561] apic 2 pin 19 not connected [ 0.008841] apic 2 pin 20 not connected [ 0.009001] apic 2 pin 21 not connected [ 0.009281] apic 2 pin 22 not connected [ 0.009561] apic 2 pin 23 not connected [ 0.010133] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.020509] smpboot: CPU0: Genuine Intel(R) CPU @ 3.00GHz (fam: 06, model: 0f, stepping: 0b) [ 0.021188] Using local APIC timer interrupts. [ 0.021188] calibrating APIC timer ... [ 0.022000] ... lapic delta = 2078100 [ 0.022000] ... PM-Timer delta = 357951 [ 0.022000] ... PM-Timer result ok [ 0.022000] ..... delta 2078100 [ 0.022000] ..... mult: 89253715 [ 0.022000] ..... calibration result: 332496 [ 0.022000] ..... CPU clock speed is 2992.0467 MHz. [ 0.022000] ..... host bus clock speed is 332.0496 MHz. [ 0.022022] Performance Events: PEBS fmt0+, 4-deep LBR, Core2 events, Intel PMU driver. [ 0.022710] perf_event_intel: PEBS disabled due to CPU errata [ 0.023002] ... version: 2 [ 0.023286] ... bit width: 40 [ 0.023573] ... generic registers: 2 [ 0.023856] ... value mask: 000000ffffffffff [ 0.024001] ... max period: 000000007fffffff [ 0.024334] ... fixed-purpose events: 3 [ 0.024618] ... event mask: 0000000700000003 [ 0.027170] x86: Booting SMP configuration: [ 0.027463] .... node #0, CPUs: #1 [ 0.027085] masked ExtINT on CPU#1 [ 0.027085] CPU1: Thermal LVT vector (0xfa) already installed [ 0.040090] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. [ 0.040712] #2 [ 0.040633] masked ExtINT on CPU#2 [ 0.040633] CPU2: Thermal LVT vector (0xfa) already installed [ 0.053123] #3 [ 0.053028] masked ExtINT on CPU#3 [ 0.053028] CPU3: Thermal LVT vector (0xfa) already installed [ 0.066011] x86: Booted up 1 node, 4 CPUs [ 0.066312] smpboot: Total of 4 processors activated (23940.05 BogoMIPS) [ 0.067195] devtmpfs: initialized [ 0.070809] evm: security.selinux [ 0.071001] evm: security.ima [ 0.071251] evm: security.capability [ 0.071541] PM: Registering ACPI NVS region [mem 0x7fe01000-0x7fee9fff] (954368 bytes) [ 0.073448] atomic64_test: passed for x86-64 platform with CX8 and with SSE [ 0.073940] NET: Registered protocol family 16 [ 0.074205] cpuidle: using governor menu [ 0.074608] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.075002] ACPI: bus type PCI registered [ 0.075290] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 [ 0.076062] PCI: MMCONFIG for domain 0000 [bus 00-7f] at [mem 0xf0000000-0xf7ffffff] (base 0xf0000000) [ 0.076651] PCI: MMCONFIG at [mem 0xf0000000-0xf7ffffff] reserved in E820 [ 0.077189] PCI: Using configuration type 1 for base access [ 0.081040] ACPI: Added _OSI(Module Device) [ 0.081342] ACPI: Added _OSI(Processor Device) [ 0.081651] ACPI: Added _OSI(3.0 _SCP Extensions) [ 0.081961] ACPI: Added _OSI(Processor Aggregator Device) [ 0.082589] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:15) [ 0.084777] ACPI: Interpreter enabled [ 0.085008] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140724/hwxface-580) [ 0.085688] ACPI: (supports S0 S1 S3 S4 S5) [ 0.086001] ACPI: Using IOAPIC for interrupt routing [ 0.086338] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug [ 0.090767] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) [ 0.091005] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.091552] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM [ 0.092833] acpi PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) [ 0.093002] acpi PNP0A03:00: host bridge window [io 0x0d00-0xffff] (ignored) [ 0.093415] acpi PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored) [ 0.094002] acpi PNP0A03:00: host bridge window [mem 0x000e0000-0x000effff] (ignored) [ 0.094533] acpi PNP0A03:00: host bridge window [mem 0xf8000000-0xfeafffff] (ignored) [ 0.095001] acpi PNP0A03:00: host bridge window [mem 0x80000000-0xefffffff] (ignored) [ 0.095533] PCI: root bus 00: using default resources [ 0.096002] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-7f] only partially covers this bridge [ 0.096778] PCI host bridge to bus 0000:00 [ 0.097002] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.097343] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 0.097727] pci_bus 0000:00: root bus resource [mem 0x00000000-0xfffffffff] [ 0.098007] pci 0000:00:00.0: [8086:29e0] type 00 class 0x060000 [ 0.098460] pci 0000:00:01.0: [8086:29e1] type 01 class 0x060400 [ 0.099033] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold [ 0.099431] pci 0000:00:01.0: System wakeup disabled by ACPI [ 0.100036] pci 0000:00:03.0: [8086:29e4] type 00 class 0x078000 [ 0.100409] pci 0000:00:03.0: reg 0x10: [mem 0x93126100-0x9312610f 64bit] [ 0.100851] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold [ 0.101089] pci 0000:00:19.0: [8086:294c] type 00 class 0x020000 [ 0.101464] pci 0000:00:19.0: reg 0x10: [mem 0x93100000-0x9311ffff] [ 0.102007] pci 0000:00:19.0: reg 0x14: [mem 0x93124000-0x93124fff] [ 0.102384] pci 0000:00:19.0: reg 0x18: [io 0x2400-0x241f] [ 0.102788] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold [ 0.103036] pci 0000:00:19.0: System wakeup disabled by ACPI [ 0.103421] pci 0000:00:1a.0: [8086:2937] type 00 class 0x0c0300 [ 0.104036] pci 0000:00:1a.0: reg 0x20: [io 0x20e0-0x20ff] [ 0.104460] pci 0000:00:1a.0: System wakeup disabled by ACPI [ 0.104854] pci 0000:00:1a.1: [8086:2938] type 00 class 0x0c0300 [ 0.105036] pci 0000:00:1a.1: reg 0x20: [io 0x20c0-0x20df] [ 0.105454] pci 0000:00:1a.1: System wakeup disabled by ACPI [ 0.106041] pci 0000:00:1a.2: [8086:2939] type 00 class 0x0c0300 [ 0.106435] pci 0000:00:1a.2: reg 0x20: [io 0x20a0-0x20bf] [ 0.107077] pci 0000:00:1a.2: System wakeup disabled by ACPI [ 0.108041] pci 0000:00:1a.7: [8086:293c] type 00 class 0x0c0320 [ 0.108427] pci 0000:00:1a.7: reg 0x10: [mem 0x93125c00-0x93125fff] [ 0.108874] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold [ 0.109053] pci 0000:00:1a.7: System wakeup disabled by ACPI [ 0.109441] pci 0000:00:1b.0: [8086:293e] type 00 class 0x040300 [ 0.110014] pci 0000:00:1b.0: reg 0x10: [mem 0x93120000-0x93123fff 64bit] [ 0.110472] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold [ 0.110886] pci 0000:00:1b.0: System wakeup disabled by ACPI [ 0.111040] pci 0000:00:1c.0: [8086:2940] type 01 class 0x060400 [ 0.111462] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold [ 0.112041] pci 0000:00:1c.0: System wakeup disabled by ACPI [ 0.112433] pci 0000:00:1c.1: [8086:2942] type 01 class 0x060400 [ 0.113023] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold [ 0.113434] pci 0000:00:1c.1: System wakeup disabled by ACPI [ 0.113819] pci 0000:00:1c.2: [8086:2944] type 01 class 0x060400 [ 0.114063] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold [ 0.114470] pci 0000:00:1c.2: System wakeup disabled by ACPI [ 0.115050] pci 0000:00:1c.3: [8086:2946] type 01 class 0x060400 [ 0.115480] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold [ 0.115881] pci 0000:00:1c.3: System wakeup disabled by ACPI [ 0.116039] pci 0000:00:1c.4: [8086:2948] type 01 class 0x060400 [ 0.116467] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold [ 0.117044] pci 0000:00:1c.4: System wakeup disabled by ACPI [ 0.117442] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 [ 0.117837] pci 0000:00:1d.0: reg 0x20: [io 0x2080-0x209f] [ 0.118075] pci 0000:00:1d.0: System wakeup disabled by ACPI [ 0.118466] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 [ 0.119046] pci 0000:00:1d.1: reg 0x20: [io 0x2060-0x207f] [ 0.119473] pci 0000:00:1d.1: System wakeup disabled by ACPI [ 0.119858] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 [ 0.120036] pci 0000:00:1d.2: reg 0x20: [io 0x2040-0x205f] [ 0.120460] pci 0000:00:1d.2: System wakeup disabled by ACPI [ 0.121056] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 [ 0.121443] pci 0000:00:1d.7: reg 0x10: [mem 0x93125800-0x93125bff] [ 0.122033] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold [ 0.122457] pci 0000:00:1d.7: System wakeup disabled by ACPI [ 0.122847] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401 [ 0.123071] pci 0000:00:1e.0: System wakeup disabled by ACPI [ 0.123469] pci 0000:00:1f.0: [8086:2910] type 00 class 0x060100 [ 0.124150] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 [ 0.124535] pci 0000:00:1f.2: reg 0x10: [io 0x2428-0x242f] [ 0.124884] pci 0000:00:1f.2: reg 0x14: [io 0x2434-0x2437] [ 0.125007] pci 0000:00:1f.2: reg 0x18: [io 0x2420-0x2427] [ 0.125365] pci 0000:00:1f.2: reg 0x1c: [io 0x2430-0x2433] [ 0.126004] pci 0000:00:1f.2: reg 0x20: [io 0x2020-0x203f] [ 0.126363] pci 0000:00:1f.2: reg 0x24: [mem 0x93125000-0x931257ff] [ 0.126779] pci 0000:00:1f.2: PME# supported from D3hot [ 0.127070] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 [ 0.127447] pci 0000:00:1f.3: reg 0x10: [mem 0x93126000-0x931260ff 64bit] [ 0.127858] pci 0000:00:1f.3: reg 0x20: [io 0x2000-0x201f] [ 0.128108] pci 0000:01:00.0: [10de:0191] type 00 class 0x030000 [ 0.128485] pci 0000:01:00.0: reg 0x10: [mem 0x92000000-0x92ffffff] [ 0.129009] pci 0000:01:00.0: reg 0x14: [mem 0x80000000-0x8fffffff 64bit pref] [ 0.129528] pci 0000:01:00.0: reg 0x1c: [mem 0x90000000-0x91ffffff 64bit] [ 0.130006] pci 0000:01:00.0: reg 0x24: [io 0x1000-0x107f] [ 0.130363] pci 0000:01:00.0: reg 0x30: [mem 0xfffe0000-0xffffffff pref] [ 0.130828] pci 0000:00:01.0: PCI bridge to [bus 01] [ 0.131003] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] [ 0.131367] pci 0000:00:01.0: bridge window [mem 0x90000000-0x92ffffff] [ 0.132003] pci 0000:00:01.0: bridge window [mem 0x80000000-0x8fffffff 64bit pref] [ 0.132574] pci 0000:00:1c.0: PCI bridge to [bus 02] [ 0.132899] pci 0000:00:1c.0: bridge window [io 0x3000-0x3fff] [ 0.133003] pci 0000:00:1c.0: bridge window [mem 0x93200000-0x932fffff] [ 0.133401] pci 0000:00:1c.0: bridge window [mem 0x100000000-0x1001fffff 64bit pref] [ 0.134046] pci 0000:00:1c.1: PCI bridge to [bus 03] [ 0.134377] pci 0000:00:1c.1: bridge window [io 0x4000-0x4fff] [ 0.134748] pci 0000:00:1c.1: bridge window [mem 0x93300000-0x933fffff] [ 0.135005] pci 0000:00:1c.1: bridge window [mem 0x100200000-0x1003fffff 64bit pref] [ 0.135608] pci 0000:04:00.0: [104c:8231] type 01 class 0x060400 [ 0.136119] pci 0000:04:00.0: supports D1 D2 [ 0.138015] pci 0000:00:1c.2: PCI bridge to [bus 04-05] [ 0.138355] pci 0000:00:1c.2: bridge window [io 0x5000-0x5fff] [ 0.138726] pci 0000:00:1c.2: bridge window [mem 0x93000000-0x930fffff] [ 0.139005] pci 0000:00:1c.2: bridge window [mem 0x100400000-0x1005fffff 64bit pref] [ 0.139622] pci 0000:05:00.0: [104c:8235] type 00 class 0x0c0010 [ 0.140024] pci 0000:05:00.0: reg 0x10: [mem 0x93004000-0x930047ff] [ 0.140407] pci 0000:05:00.0: reg 0x14: [mem 0x93000000-0x93003fff] [ 0.141002] pci 0000:05:00.0: supports D1 D2 [ 0.141296] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot [ 0.141760] pci 0000:04:00.0: PCI bridge to [bus 05] [ 0.142011] pci 0000:04:00.0: bridge window [mem 0x93000000-0x930fffff] [ 0.142459] pci 0000:00:1c.3: PCI bridge to [bus 06] [ 0.142795] pci 0000:00:1c.3: bridge window [io 0x6000-0x6fff] [ 0.143003] pci 0000:00:1c.3: bridge window [mem 0x93400000-0x934fffff] [ 0.143406] pci 0000:00:1c.3: bridge window [mem 0x100600000-0x1007fffff 64bit pref] [ 0.144046] pci 0000:00:1c.4: PCI bridge to [bus 07] [ 0.144368] pci 0000:00:1c.4: bridge window [io 0x7000-0x7fff] [ 0.144747] pci 0000:00:1c.4: bridge window [mem 0x93500000-0x935fffff] [ 0.145005] pci 0000:00:1c.4: bridge window [mem 0x100800000-0x1009fffff 64bit pref] [ 0.145611] pci 0000:00:1e.0: PCI bridge to [bus 08] (subtractive decode) [ 0.146008] pci 0000:00:1e.0: bridge window [io 0x0000-0xffff] (subtractive decode) [ 0.146542] pci 0000:00:1e.0: bridge window [mem 0x00000000-0xfffffffff] (subtractive decode) [ 0.147077] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.148540] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.149587] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.150633] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.151688] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.152734] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.153779] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.154827] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. [ 0.155823] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:15) [ 0.156380] ACPI: Enabled 4 GPEs in block 00 to 3F [ 0.157075] vgaarb: setting as boot device: PCI:0000:01:00.0 [ 0.157384] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none [ 0.158002] vgaarb: loaded [ 0.158235] vgaarb: bridge control possible 0000:01:00.0 [ 0.158640] SCSI subsystem initialized [ 0.159031] ACPI: bus type USB registered [ 0.159340] usbcore: registered new interface driver usbfs [ 0.159689] usbcore: registered new interface driver hub [ 0.160018] usbcore: registered new device driver usb [ 0.160371] pps_core: LinuxPPS API ver. 1 registered [ 0.160691] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 0.161006] PTP clock support registered [ 0.161317] PCI: Using ACPI for IRQ routing [ 0.164575] PCI: pci_cache_line_size set to 64 bytes [ 0.164946] e820: reserve RAM buffer [mem 0x0009ec00-0x0009ffff] [ 0.165001] e820: reserve RAM buffer [mem 0x7fd0c000-0x7fffffff] [ 0.165361] e820: reserve RAM buffer [mem 0x7fe01000-0x7fffffff] [ 0.166001] e820: reserve RAM buffer [mem 0x7feec000-0x7fffffff] [ 0.166370] e820: reserve RAM buffer [mem 0x7fef3000-0x7fffffff] [ 0.166730] e820: reserve RAM buffer [mem 0x7ff00000-0x7fffffff] [ 0.167106] NetLabel: Initializing [ 0.167372] NetLabel: domain hash size = 128 [ 0.167668] NetLabel: protocols = UNLABELED CIPSOv4 [ 0.168013] NetLabel: unlabeled traffic allowed by default [ 0.168471] HPET: 4 timers in total, 0 timers will be used for per-cpu timer [ 0.169004] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0 [ 0.169545] hpet0: 4 comparators, 64-bit 14.318180 MHz counter [ 0.172038] Switched to clocksource hpet [ 0.182879] pnp: PnP ACPI init [ 0.183241] system 00:00: [mem 0xf0000000-0xf7ffffff] has been reserved [ 0.183626] system 00:00: [mem 0xfeb00000-0xfeb03fff] could not be reserved [ 0.184029] system 00:00: [mem 0xfed13000-0xfed13fff] has been reserved [ 0.184413] system 00:00: [mem 0xfed14000-0xfed17fff] has been reserved [ 0.184797] system 00:00: [mem 0xfed18000-0xfed18fff] has been reserved [ 0.185185] system 00:00: [mem 0xfed19000-0xfed19fff] has been reserved [ 0.185569] system 00:00: [mem 0xfed1c000-0xfed1ffff] has been reserved [ 0.185953] system 00:00: [mem 0xfed20000-0xfed3ffff] has been reserved [ 0.186341] system 00:00: [mem 0xfed45000-0xfed99fff] has been reserved [ 0.186725] system 00:00: [mem 0x000c0000-0x000dffff] could not be reserved [ 0.187126] system 00:00: [mem 0x000e0000-0x000fffff] could not be reserved [ 0.187523] system 00:00: [mem 0xffc00000-0xffffffff] could not be reserved [ 0.187922] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active) [ 0.188433] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:15) [ 0.188982] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active) [ 0.189414] system 00:02: [io 0x0500-0x053f] has been reserved [ 0.189772] system 00:02: [io 0x0400-0x047f] could not be reserved [ 0.190147] system 00:02: [io 0x0680-0x06ff] has been reserved [ 0.190506] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active) [ 0.190987] system 00:03: [mem 0xfed40000-0xfed44fff] has been reserved [ 0.191378] system 00:03: Plug and Play ACPI device, IDs PNP0c31 PNP0c02 (active) [ 0.191937] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active) [ 0.192530] pnp: PnP ACPI: found 5 devices [ 0.200432] pci 0000:01:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window [ 0.201087] pci 0000:01:00.0: BAR 6: no space for [mem size 0x00020000 pref] [ 0.203179] pci 0000:01:00.0: BAR 6: failed to assign [mem size 0x00020000 pref] [ 0.203686] pci 0000:00:01.0: PCI bridge to [bus 01] [ 0.204011] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] [ 0.204376] pci 0000:00:01.0: bridge window [mem 0x90000000-0x92ffffff] [ 0.204768] pci 0000:00:01.0: bridge window [mem 0x80000000-0x8fffffff 64bit pref] [ 0.205293] pci 0000:00:1c.0: PCI bridge to [bus 02] [ 0.205614] pci 0000:00:1c.0: bridge window [io 0x3000-0x3fff] [ 0.205980] pci 0000:00:1c.0: bridge window [mem 0x93200000-0x932fffff] [ 0.206376] pci 0000:00:1c.0: bridge window [mem 0x100000000-0x1001fffff 64bit pref] [ 0.206905] pci 0000:00:1c.1: PCI bridge to [bus 03] [ 0.207230] pci 0000:00:1c.1: bridge window [io 0x4000-0x4fff] [ 0.207597] pci 0000:00:1c.1: bridge window [mem 0x93300000-0x933fffff] [ 0.207988] pci 0000:00:1c.1: bridge window [mem 0x100200000-0x1003fffff 64bit pref] [ 0.208521] pci 0000:04:00.0: PCI bridge to [bus 05] [ 0.208846] pci 0000:04:00.0: bridge window [mem 0x93000000-0x930fffff] [ 0.209249] pci 0000:00:1c.2: PCI bridge to [bus 04-05] [ 0.209580] pci 0000:00:1c.2: bridge window [io 0x5000-0x5fff] [ 0.209946] pci 0000:00:1c.2: bridge window [mem 0x93000000-0x930fffff] [ 0.210341] pci 0000:00:1c.2: bridge window [mem 0x100400000-0x1005fffff 64bit pref] [ 0.210870] pci 0000:00:1c.3: PCI bridge to [bus 06] [ 0.211195] pci 0000:00:1c.3: bridge window [io 0x6000-0x6fff] [ 0.211561] pci 0000:00:1c.3: bridge window [mem 0x93400000-0x934fffff] [ 0.211953] pci 0000:00:1c.3: bridge window [mem 0x100600000-0x1007fffff 64bit pref] [ 0.212485] pci 0000:00:1c.4: PCI bridge to [bus 07] [ 0.212806] pci 0000:00:1c.4: bridge window [io 0x7000-0x7fff] [ 0.213176] pci 0000:00:1c.4: bridge window [mem 0x93500000-0x935fffff] [ 0.213568] pci 0000:00:1c.4: bridge window [mem 0x100800000-0x1009fffff 64bit pref] [ 0.214101] pci 0000:00:1e.0: PCI bridge to [bus 08] [ 0.214428] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] [ 0.214773] pci_bus 0000:00: resource 5 [mem 0x00000000-0xfffffffff] [ 0.215150] pci_bus 0000:01: resource 0 [io 0x1000-0x1fff] [ 0.215494] pci_bus 0000:01: resource 1 [mem 0x90000000-0x92ffffff] [ 0.215865] pci_bus 0000:01: resource 2 [mem 0x80000000-0x8fffffff 64bit pref] [ 0.216368] pci_bus 0000:02: resource 0 [io 0x3000-0x3fff] [ 0.216712] pci_bus 0000:02: resource 1 [mem 0x93200000-0x932fffff] [ 0.217086] pci_bus 0000:02: resource 2 [mem 0x100000000-0x1001fffff 64bit pref] [ 0.217592] pci_bus 0000:03: resource 0 [io 0x4000-0x4fff] [ 0.217936] pci_bus 0000:03: resource 1 [mem 0x93300000-0x933fffff] [ 0.218310] pci_bus 0000:03: resource 2 [mem 0x100200000-0x1003fffff 64bit pref] [ 0.218816] pci_bus 0000:04: resource 0 [io 0x5000-0x5fff] [ 0.219164] pci_bus 0000:04: resource 1 [mem 0x93000000-0x930fffff] [ 0.219534] pci_bus 0000:04: resource 2 [mem 0x100400000-0x1005fffff 64bit pref] [ 0.220045] pci_bus 0000:05: resource 1 [mem 0x93000000-0x930fffff] [ 0.220415] pci_bus 0000:06: resource 0 [io 0x6000-0x6fff] [ 0.220759] pci_bus 0000:06: resource 1 [mem 0x93400000-0x934fffff] [ 0.221133] pci_bus 0000:06: resource 2 [mem 0x100600000-0x1007fffff 64bit pref] [ 0.221640] pci_bus 0000:07: resource 0 [io 0x7000-0x7fff] [ 0.221984] pci_bus 0000:07: resource 1 [mem 0x93500000-0x935fffff] [ 0.222358] pci_bus 0000:07: resource 2 [mem 0x100800000-0x1009fffff 64bit pref] [ 0.222864] pci_bus 0000:08: resource 4 [io 0x0000-0xffff] [ 0.223213] pci_bus 0000:08: resource 5 [mem 0x00000000-0xfffffffff] [ 0.223612] NET: Registered protocol family 2 [ 0.224094] TCP established hash table entries: 16384 (order: 5, 131072 bytes) [ 0.224653] TCP bind hash table entries: 16384 (order: 6, 262144 bytes) [ 0.225122] TCP: Hash tables configured (established 16384 bind 16384) [ 0.225536] TCP: reno registered [ 0.225793] UDP hash table entries: 1024 (order: 3, 32768 bytes) [ 0.226172] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) [ 0.226601] NET: Registered protocol family 1 [ 0.227046] RPC: Registered named UNIX socket transport module. [ 0.227403] RPC: Registered udp transport module. [ 0.227713] RPC: Registered tcp transport module. [ 0.228028] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.228547] IOAPIC[0]: Set routing entry (2-18 -> 0x41 -> IRQ 18 Mode:1 Active:1 Dest:15) [ 0.229313] IOAPIC[0]: Set routing entry (2-21 -> 0x51 -> IRQ 21 Mode:1 Active:1 Dest:15) [ 0.230068] IOAPIC[0]: Set routing entry (2-17 -> 0x61 -> IRQ 17 Mode:1 Active:1 Dest:15) [ 0.230818] IOAPIC[0]: Set routing entry (2-17 -> 0x71 -> IRQ 17 Mode:1 Active:1 Dest:15) [ 0.231585] IOAPIC[0]: Set routing entry (2-23 -> 0x81 -> IRQ 23 Mode:1 Active:1 Dest:15) [ 0.232344] IOAPIC[0]: Set routing entry (2-19 -> 0x91 -> IRQ 19 Mode:1 Active:1 Dest:15) [ 0.233098] IOAPIC[0]: Set routing entry (2-18 -> 0xa1 -> IRQ 18 Mode:1 Active:1 Dest:15) [ 0.233848] IOAPIC[0]: Set routing entry (2-23 -> 0xb1 -> IRQ 23 Mode:1 Active:1 Dest:15) [ 0.234515] pci 0000:01:00.0: Video device with shadowed ROM [ 0.234864] pci 0000:04:00.0: TI XIO2000a quirk detected; secondary bus fast back-to-back transfers disabled [ 0.235474] PCI: CLS 64 bytes, default 64 [ 0.235816] Unpacking initramfs... [ 2.438983] Freeing initrd memory: 126292K (ffff8800764ab000 - ffff88007e000000) [ 2.440632] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 2.441057] Initialise system trusted keyring [ 2.441378] audit: initializing netlink subsys (disabled) [ 2.441738] audit: type=2000 audit(1413321883.440:1): initialized [ 2.442424] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 2.444542] zpool: loaded [ 2.444774] zbud: loaded [ 2.445246] VFS: Disk quotas dquot_6.5.2 [ 2.445576] Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 2.446560] SGI XFS with ACLs, security attributes, no debug enabled [ 2.447443] 9p: Installing v9fs 9p2000 file system support [ 2.447832] msgmni has been set to 3990 [ 2.448179] Key type big_key registered [ 2.448458] SELinux: Registering netfilter hooks [ 2.449538] NET: Registered protocol family 38 [ 2.449855] Key type asymmetric registered [ 2.450168] Asymmetric key parser 'x509' registered [ 2.450531] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 2.451099] io scheduler noop registered [ 2.451392] io scheduler deadline registered (default) [ 2.451732] io scheduler cfq registered [ 2.452249] IOAPIC[0]: Set routing entry (2-16 -> 0xc1 -> IRQ 16 Mode:1 Active:1 Dest:15) [ 2.452803] pcieport 0000:00:01.0: irq 24 for MSI/MSI-X [ 2.453303] IOAPIC[0]: Set routing entry (2-17 -> 0xe1 -> IRQ 17 Mode:1 Active:1 Dest:15) [ 2.453854] pcieport 0000:00:1c.0: irq 25 for MSI/MSI-X [ 2.454346] IOAPIC[0]: Set routing entry (2-20 -> 0x42 -> IRQ 20 Mode:1 Active:1 Dest:15) [ 2.454898] pcieport 0000:00:1c.1: irq 26 for MSI/MSI-X [ 2.455386] IOAPIC[0]: Set routing entry (2-18 -> 0x62 -> IRQ 18 Mode:1 Active:1 Dest:15) [ 2.455937] pcieport 0000:00:1c.2: irq 27 for MSI/MSI-X [ 2.456433] IOAPIC[0]: Set routing entry (2-19 -> 0x82 -> IRQ 19 Mode:1 Active:1 Dest:15) [ 2.456986] pcieport 0000:00:1c.3: irq 28 for MSI/MSI-X [ 2.457484] pcieport 0000:00:1c.4: irq 29 for MSI/MSI-X [ 2.457901] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 [ 2.458265] pciehp: PCI Express Hot Plug Controller Driver version: 0.4 [ 2.458693] intel_idle: does not run on family 6 model 15 [ 2.459125] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0 [ 2.459669] ACPI: Sleep Button [SLPB] [ 2.459983] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1 [ 2.460494] ACPI: Power Button [PWRF] [ 2.460879] Monitor-Mwait will be used to enter C-1 state [ 2.461659] GHES: HEST is not enabled! [ 2.462069] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 2.462920] Non-volatile memory driver v1.3 [ 2.463226] Linux agpgart interface v0.103 [ 2.463769] mei_me 0000:00:03.0: irq 30 for MSI/MSI-X [ 3.441028] tsc: Refined TSC clocksource calibration: 2992.499 MHz [ 4.441118] Switched to clocksource tsc [ 4.464022] mei_me 0000:00:03.0: wait hw ready failed. status = -62 [ 4.464401] mei_me 0000:00:03.0: hw_start failed ret = -62 [ 6.464019] mei_me 0000:00:03.0: wait hw ready failed. status = -62 [ 6.464398] mei_me 0000:00:03.0: hw_start failed ret = -62 [ 8.464019] mei_me 0000:00:03.0: wait hw ready failed. status = -62 [ 8.464398] mei_me 0000:00:03.0: hw_start failed ret = -62 [ 8.464738] mei_me 0000:00:03.0: reset: reached maximal consecutive resets: disabling the device [ 8.465300] mei_me 0000:00:03.0: reset failed ret = -19 [ 8.465630] mei_me 0000:00:03.0: link layer initialization failed. [ 8.465997] mei_me 0000:00:03.0: init hw failure. [ 8.466432] mei_me 0000:00:03.0: initialization failed. [ 8.466805] rdac: device handler registered [ 8.467139] hp_sw: device handler registered [ 8.467442] emc: device handler registered [ 8.467737] alua: device handler registered [ 8.468066] libphy: Fixed MDIO Bus: probed [ 8.468393] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI [ 8.468793] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 8.469162] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k [ 8.469515] e1000e: Copyright(c) 1999 - 2014 Intel Corporation. [ 8.470021] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 8.470612] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X [ 8.773198] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:13:20:f5:e5:5b [ 8.775419] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection [ 8.775832] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF [ 8.776238] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.13-k [ 8.776638] igb: Copyright (c) 2007-2014 Intel Corporation. [ 8.776997] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.19.1-k [ 8.777519] ixgbe: Copyright (c) 1999-2014 Intel Corporation. [ 8.777934] usbcore: registered new interface driver catc [ 8.778284] usbcore: registered new interface driver kaweth [ 8.778629] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver [ 8.779143] usbcore: registered new interface driver pegasus [ 8.779496] usbcore: registered new interface driver rtl8150 [ 8.779853] usbcore: registered new interface driver asix [ 8.780200] usbcore: registered new interface driver cdc_ether [ 8.780560] usbcore: registered new interface driver cdc_eem [ 8.780916] usbcore: registered new interface driver dm9601 [ 8.781273] usbcore: registered new interface driver smsc75xx [ 8.781633] usbcore: registered new interface driver smsc95xx [ 8.781990] usbcore: registered new interface driver gl620a [ 8.782345] usbcore: registered new interface driver net1080 [ 8.782700] usbcore: registered new interface driver plusb [ 8.783050] usbcore: registered new interface driver rndis_host [ 8.783419] usbcore: registered new interface driver cdc_subset [ 8.783783] usbcore: registered new interface driver zaurus [ 8.784138] usbcore: registered new interface driver MOSCHIP usb-ethernet driver [ 8.784656] usbcore: registered new interface driver int51x1 [ 8.785013] usbcore: registered new interface driver ipheth [ 8.785366] usbcore: registered new interface driver sierra_net [ 8.785761] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 8.786148] ehci-pci: EHCI PCI platform driver [ 8.786578] ehci-pci 0000:00:1a.7: EHCI Host Controller [ 8.786944] ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 1 [ 8.787463] ehci-pci 0000:00:1a.7: debug port 1 [ 8.791653] ehci-pci 0000:00:1a.7: cache line size of 64 is not supported [ 8.792057] ehci-pci 0000:00:1a.7: irq 17, io mem 0x93125c00 [ 8.798017] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00 [ 8.798418] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 8.798813] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.799315] usb usb1: Product: EHCI Host Controller [ 8.799632] usb usb1: Manufacturer: Linux 3.17.0-gda9a9f1 ehci_hcd [ 8.799999] usb usb1: SerialNumber: 0000:00:1a.7 [ 8.800402] hub 1-0:1.0: USB hub found [ 8.800682] hub 1-0:1.0: 6 ports detected [ 8.801206] IOAPIC[0]: Set routing entry (2-23 -> 0xd2 -> IRQ 23 Mode:1 Active:1 Dest:15) [ 8.801758] ehci-pci 0000:00:1d.7: EHCI Host Controller [ 8.802126] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2 [ 8.802640] ehci-pci 0000:00:1d.7: debug port 1 [ 8.806852] ehci-pci 0000:00:1d.7: cache line size of 64 is not supported [ 8.807254] ehci-pci 0000:00:1d.7: irq 23, io mem 0x93125800 [ 8.813016] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00 [ 8.813404] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 8.813795] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.814297] usb usb2: Product: EHCI Host Controller [ 8.814614] usb usb2: Manufacturer: Linux 3.17.0-gda9a9f1 ehci_hcd [ 8.814981] usb usb2: SerialNumber: 0000:00:1d.7 [ 8.815375] hub 2-0:1.0: USB hub found [ 8.815653] hub 2-0:1.0: 6 ports detected [ 8.816072] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 8.816444] ohci-pci: OHCI PCI platform driver [ 8.816756] uhci_hcd: USB Universal Host Controller Interface driver [ 8.817260] uhci_hcd 0000:00:1a.0: UHCI Host Controller [ 8.817626] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3 [ 8.818140] uhci_hcd 0000:00:1a.0: detected 2 ports [ 8.818479] uhci_hcd 0000:00:1a.0: irq 18, io base 0x000020e0 [ 8.818866] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.819260] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.819759] usb usb3: Product: UHCI Host Controller [ 8.820079] usb usb3: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.820446] usb usb3: SerialNumber: 0000:00:1a.0 [ 8.820837] hub 3-0:1.0: USB hub found [ 8.821119] hub 3-0:1.0: 2 ports detected [ 8.821584] IOAPIC[0]: Set routing entry (2-21 -> 0xe2 -> IRQ 21 Mode:1 Active:1 Dest:15) [ 8.822131] uhci_hcd 0000:00:1a.1: UHCI Host Controller [ 8.822497] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4 [ 8.823010] uhci_hcd 0000:00:1a.1: detected 2 ports [ 8.823350] uhci_hcd 0000:00:1a.1: irq 21, io base 0x000020c0 [ 8.823737] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.824131] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.824630] usb usb4: Product: UHCI Host Controller [ 8.824947] usb usb4: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.825317] usb usb4: SerialNumber: 0000:00:1a.1 [ 8.825707] hub 4-0:1.0: USB hub found [ 8.825986] hub 4-0:1.0: 2 ports detected [ 8.826456] uhci_hcd 0000:00:1a.2: UHCI Host Controller [ 8.826818] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 5 [ 8.827332] uhci_hcd 0000:00:1a.2: detected 2 ports [ 8.827663] uhci_hcd 0000:00:1a.2: irq 17, io base 0x000020a0 [ 8.828053] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.828444] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.828943] usb usb5: Product: UHCI Host Controller [ 8.829264] usb usb5: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.829631] usb usb5: SerialNumber: 0000:00:1a.2 [ 8.830031] hub 5-0:1.0: USB hub found [ 8.830310] hub 5-0:1.0: 2 ports detected [ 8.830779] uhci_hcd 0000:00:1d.0: UHCI Host Controller [ 8.831146] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 6 [ 8.831656] uhci_hcd 0000:00:1d.0: detected 2 ports [ 8.831987] uhci_hcd 0000:00:1d.0: irq 23, io base 0x00002080 [ 8.832376] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.832767] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.833269] usb usb6: Product: UHCI Host Controller [ 8.833587] usb usb6: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.833954] usb usb6: SerialNumber: 0000:00:1d.0 [ 8.834346] hub 6-0:1.0: USB hub found [ 8.834625] hub 6-0:1.0: 2 ports detected [ 8.835096] uhci_hcd 0000:00:1d.1: UHCI Host Controller [ 8.835459] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 7 [ 8.835969] uhci_hcd 0000:00:1d.1: detected 2 ports [ 8.836312] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00002060 [ 8.836699] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.837092] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.837592] usb usb7: Product: UHCI Host Controller [ 8.837909] usb usb7: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.838279] usb usb7: SerialNumber: 0000:00:1d.1 [ 8.838670] hub 7-0:1.0: USB hub found [ 8.838949] hub 7-0:1.0: 2 ports detected [ 8.839422] uhci_hcd 0000:00:1d.2: UHCI Host Controller [ 8.839784] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 8 [ 8.840297] uhci_hcd 0000:00:1d.2: detected 2 ports [ 8.840629] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00002040 [ 8.841019] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001 [ 8.841410] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 8.841908] usb usb8: Product: UHCI Host Controller [ 8.842229] usb usb8: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd [ 8.842596] usb usb8: SerialNumber: 0000:00:1d.2 [ 8.842987] hub 8-0:1.0: USB hub found [ 8.843270] hub 8-0:1.0: 2 ports detected [ 8.843685] usbcore: registered new interface driver usbserial [ 8.844050] usbcore: registered new interface driver usbserial_generic [ 8.844436] usbserial: USB Serial support registered for generic [ 8.844820] i8042: PNP: No PS/2 controller found. Probing ports directly. [ 9.876604] i8042: No controller found [ 9.876925] mousedev: PS/2 mouse device common for all mice [ 9.877481] rtc_cmos 00:01: RTC can wake from S4 [ 9.877898] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0 [ 9.878287] rtc_cmos 00:01: alarms up to one month, 114 bytes nvram, hpet irqs [ 9.878808] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11 [ 9.879165] iTCO_vendor_support: vendor-support=0 [ 9.879746] hidraw: raw HID events driver (C) Jiri Kosina [ 9.880201] usbcore: registered new interface driver usbhid [ 9.880545] usbhid: USB HID core driver [ 9.880855] drop_monitor: Initializing network drop monitor service [ 9.881287] TCP: cubic registered [ 9.881548] Initializing XFRM netlink socket [ 9.881989] NET: Registered protocol family 10 [ 9.882518] NET: Registered protocol family 17 [ 9.882829] 9pnet: Installing 9P2000 support [ 9.883391] [ 9.883391] printing PIC contents [ 9.883798] ... PIC IMR: ffff [ 9.884047] ... PIC IRR: 0c00 [ 9.884303] ... PIC ISR: 0000 [ 9.884552] ... PIC ELCR: 0e00 [ 9.884807] printing local APIC contents on CPU#0/0: [ 9.885129] ... APIC ID: 00000000 (0) [ 9.885416] ... APIC VERSION: 00050014 [ 9.885690] ... APIC TASKPRI: 00000000 (00) [ 9.885805] ... APIC PROCPRI: 00000000 [ 9.885805] ... APIC LDR: 01000000 [ 9.885805] ... APIC DFR: ffffffff [ 9.885805] ... APIC SPIV: 000001ff [ 9.885805] ... APIC ISR field: [ 9.885805] 0000000000000000000000000000000000000000000000000000000000000000 [ 9.885805] ... APIC TMR field: [ 9.885805] 0000000000000000000200000000000600020000000000020000000000000002 [ 9.885805] ... APIC IRR field: [ 9.885805] 0000000000000000000000000000000000000000000000000000000000000000 [ 9.885805] ... APIC ESR: 00000000 [ 9.885805] ... APIC ICR: 000008fd [ 9.885805] ... APIC ICR2: 02000000 [ 9.885805] ... APIC LVTT: 000000ef [ 9.885805] ... APIC LVTPC: 00000400 [ 9.885805] ... APIC LVT0: 00010700 [ 9.885805] ... APIC LVT1: 00000400 [ 9.885805] ... APIC LVTERR: 000000fe [ 9.885805] ... APIC TMICT: 00129500 [ 9.885805] ... APIC TMCCT: 000eea1f [ 9.885805] ... APIC TDCR: 00000003 [ 9.885805] [ 9.894703] number of MP IRQ sources: 15. [ 9.894993] number of IO-APIC #2 registers: 24. [ 9.895299] testing the IO APIC....................... [ 9.895630] IO APIC #2...... [ 9.895870] .... register #00: 00000000 [ 9.896149] ....... : physical APIC id: 00 [ 9.896446] ....... : Delivery Type: 0 [ 9.896729] ....... : LTS : 0 [ 9.897014] .... register #01: 00170020 [ 9.897291] ....... : max redirection entries: 17 [ 9.897613] ....... : PRQ implemented: 0 [ 9.897907] ....... : IO APIC version: 20 [ 9.898205] .... IRQ redirection table: [ 9.898485] 1 0 0 0 0 0 0 00 [ 9.898790] 0 0 0 0 0 1 1 31 [ 9.899098] 0 0 0 0 0 1 1 30 [ 9.899404] 0 0 0 0 0 1 1 33 [ 9.899710] 0 0 0 0 0 1 1 34 [ 9.900018] 0 0 0 0 0 1 1 35 [ 9.900323] 0 0 0 0 0 1 1 36 [ 9.900629] 0 0 0 0 0 1 1 37 [ 9.900934] 0 0 0 0 0 1 1 38 [ 9.901243] 0 1 0 0 0 1 1 39 [ 9.901549] 0 0 0 0 0 1 1 3A [ 9.901854] 0 0 0 0 0 1 1 3B [ 9.902162] 0 0 0 0 0 1 1 3C [ 9.902468] 0 0 0 0 0 1 1 3D [ 9.902774] 0 0 0 0 0 1 1 3E [ 9.903082] 0 0 0 0 0 1 1 3F [ 9.903387] 1 1 0 1 0 1 1 C1 [ 9.903693] 0 1 0 1 0 1 1 E1 [ 9.903998] 0 1 0 1 0 1 1 62 [ 9.904306] 0 1 0 1 0 1 1 82 [ 9.904613] 1 1 0 1 0 1 1 42 [ 9.904918] 0 1 0 1 0 1 1 E2 [ 9.905226] 1 0 0 0 0 0 0 00 [ 9.905531] 0 1 0 1 0 1 1 D2 [ 9.905835] IRQ to pin mappings: [ 9.906090] IRQ0 -> 0:2 [ 9.906392] IRQ1 -> 0:1 [ 9.906694] IRQ3 -> 0:3 [ 9.906995] IRQ4 -> 0:4 [ 9.907298] IRQ5 -> 0:5 [ 9.907599] IRQ6 -> 0:6 [ 9.907901] IRQ7 -> 0:7 [ 9.908204] IRQ8 -> 0:8 [ 9.908505] IRQ9 -> 0:9 [ 9.908806] IRQ10 -> 0:10 [ 9.909116] IRQ11 -> 0:11 [ 9.909425] IRQ12 -> 0:12 [ 9.909732] IRQ13 -> 0:13 [ 9.910042] IRQ14 -> 0:14 [ 9.910350] IRQ15 -> 0:15 [ 9.910658] IRQ16 -> 0:16 [ 9.910966] IRQ17 -> 0:17 [ 9.911276] IRQ18 -> 0:18 [ 9.911583] IRQ19 -> 0:19 [ 9.911890] IRQ20 -> 0:20 [ 9.912200] IRQ21 -> 0:21 [ 9.912508] IRQ23 -> 0:23 [ 9.912816] .................................... done. [ 9.913232] Loading compiled-in X.509 certificates [ 9.914505] Loaded X.509 cert 'Magrathea: Glacier signing key: 549906708e217ff080a0cf5885ca3b18293f58d8' [ 9.915107] registered taskstats version 1 [ 9.916856] Key type trusted registered [ 9.918411] Key type encrypted registered [ 9.920084] ima: No TPM chip found, activating TPM-bypass! [ 9.920460] evm: HMAC attrs: 0x1 [ 9.921084] rtc_cmos 00:01: setting system clock to 2014-10-14 21:24:51 UTC (1413321891) [ 10.278980] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X [ 10.337029] usb 5-1: new low-speed USB device number 2 using uhci_hcd [ 10.380057] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X [ 10.380446] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 10.780049] usb 5-1: New USB device found, idVendor=0557, idProduct=2220 [ 10.780455] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 10.780860] usb 5-1: Product: ATEN CS-1758/54 [ 10.781168] usb 5-1: Manufacturer: ATEN [ 10.859464] input: ATEN ATEN CS-1758/54 as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.0/0003:0557:2220.0001/input/input2 [ 10.860194] hid-generic 0003:0557:2220.0001: input,hidraw0: USB HID v1.10 Keyboard [ATEN ATEN CS-1758/54] on usb-0000:00:1a.2-1/input0 [ 10.901407] input: ATEN ATEN CS-1758/54 as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.1/0003:0557:2220.0002/input/input3 [ 10.902144] hid-generic 0003:0557:2220.0002: input,hidraw1: USB HID v1.10 Mouse [ATEN ATEN CS-1758/54] on usb-0000:00:1a.2-1/input1 [ 12.398873] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx [ 12.400040] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 12.411019] Sending DHCP requests ., OK [ 12.450032] IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.120 [ 12.450629] IP-Config: Complete: [ 12.450884] device=eth0, hwaddr=00:13:20:f5:e5:5b, ipaddr=192.168.1.120, mask=255.255.255.0, gw=192.168.1.1 [ 12.451503] host=bay, domain=lkp.intel.com, nis-domain=(none) [ 12.451869] bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath= [ 12.452167] nameserver0=192.168.1.1 [ 12.452627] PM: Hibernation image not present or could not be loaded. [ 12.454231] Freeing unused kernel memory: 1808K (ffffffff81dd6000 - ffffffff81f9a000) [ 12.553574] EDAC MC: Ver: 3.0.0 [ 12.555868] EDAC MC0: Giving out device to module x38_edac controller x38: DEV 0000:00:00.0 (POLLED) [ 12.557890] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 [ 12.583722] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt [ 12.584398] IOAPIC[0]: Set routing entry (2-22 -> 0x53 -> IRQ 22 Mode:1 Active:1 Dest:15) [ 12.585020] snd_hda_intel 0000:00:1b.0: irq 31 for MSI/MSI-X [ 12.592660] libata version 3.00 loaded. [ 12.598479] ahci 0000:00:1f.2: version 3.0 [ 12.598966] ahci 0000:00:1f.2: irq 32 for MSI/MSI-X [ 12.599370] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode [ 12.599924] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pmp pio slum part ccc ems [ 12.602712] input: PC Speaker as /devices/platform/pcspkr/input/input4 [ 12.603882] sound hdaudioC0D2: autoconfig: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line [ 12.604439] sound hdaudioC0D2: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 12.604824] sound hdaudioC0D2: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 12.605215] sound hdaudioC0D2: mono: mono_out=0x0 [ 12.605551] sound hdaudioC0D2: dig-out=0x1e/0x0 [ 12.605880] sound hdaudioC0D2: inputs: [ 12.606182] sound hdaudioC0D2: Front Mic=0x19 [ 12.606508] sound hdaudioC0D2: Rear Mic=0x18 [ 12.606833] sound hdaudioC0D2: Line=0x1a [ 12.607141] sound hdaudioC0D2: dig-in=0x1f [ 12.607657] Error: Driver 'pcspkr' is already registered, aborting... [ 12.612343] scsi host0: ahci [ 12.613335] scsi host1: ahci [ 12.613765] scsi host2: ahci [ 12.614204] scsi host3: ahci [ 12.614575] scsi host4: ahci [ 12.614952] scsi host5: ahci [ 12.615259] ata1: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125100 irq 32 [ 12.615780] ata2: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125180 irq 32 [ 12.616298] ata3: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125200 irq 32 [ 12.616816] ata4: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125280 irq 32 [ 12.617340] ata5: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125300 irq 32 [ 12.617857] ata6: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125380 irq 32 [ 12.625770] input: HDA Intel Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input5 [ 12.626426] input: HDA Intel Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6 [ 12.628797] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7 [ 12.629431] input: HDA Intel Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8 [ 12.630096] input: HDA Intel Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9 [ 12.630766] input: HDA Intel Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10 [ 12.631455] input: HDA Intel Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11 [ 12.632141] input: HDA Intel Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12 [ 12.660047] firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x2 [ 12.923031] ata5: SATA link down (SStatus 0 SControl 300) [ 12.923402] ata6: SATA link down (SStatus 0 SControl 300) [ 12.923781] ata4: SATA link down (SStatus 0 SControl 300) [ 13.078018] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 13.078407] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 13.079474] ata2.00: ATA-8: ST3750528AS, CC38, max UDMA/133 [ 13.079829] ata2.00: 1465149168 sectors, multi 0: LBA48 NCQ (depth 31/32) [ 13.080380] ata1.00: ATA-8: ST3750528AS, CC38, max UDMA/133 [ 13.080734] ata1.00: 1465149168 sectors, multi 0: LBA48 NCQ (depth 31/32) [ 13.082217] ata2.00: configured for UDMA/133 [ 13.082663] ata1.00: configured for UDMA/133 [ 13.083082] scsi 0:0:0:0: Direct-Access ATA ST3750528AS CC38 PQ: 0 ANSI: 5 [ 13.083957] scsi 1:0:0:0: Direct-Access ATA ST3750528AS CC38 PQ: 0 ANSI: 5 [ 13.161088] firewire_core 0000:05:00.0: created device fw0: GUID 0002b30037134437, S400 [ 13.231015] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300) [ 14.215786] ata3.00: ATAPI: PLEXTOR DVDR PX-755A, 1.05, max UDMA/66 [ 14.217665] ata3.00: configured for UDMA/66 [ 14.218653] scsi 2:0:0:0: CD-ROM PLEXTOR DVDR PX-755A 1.05 PQ: 0 ANSI: 5 [ 14.273366] sd 1:0:0:0: [sdb] 1465149168 512-byte logical blocks: (750 GB/698 GiB) [ 14.273367] sd 0:0:0:0: [sda] 1465149168 512-byte logical blocks: (750 GB/698 GiB) [ 14.273403] sd 0:0:0:0: [sda] Write Protect is off [ 14.273404] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ 14.273419] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 14.275695] sd 1:0:0:0: [sdb] Write Protect is off [ 14.276031] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 14.276386] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 14.278528] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 14.278911] sd 1:0:0:0: Attached scsi generic sg1 type 0 [ 14.279299] sr 2:0:0:0: Attached scsi generic sg2 type 5 [ 14.286931] sda: sda1 sda2 [ 14.287429] sd 0:0:0:0: [sda] Attached SCSI disk [ 14.288066] sr 2:0:0:0: [sr0] scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray [ 14.288604] cdrom: Uniform CD-ROM driver Revision: 3.20 [ 14.289055] sr 2:0:0:0: Attached scsi CD-ROM sr0 [ 14.309551] sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 > [ 14.310194] sd 1:0:0:0: [sdb] Attached SCSI disk [ 14.481228] random: nonblocking pool is initialized [ 14.978011] raid6: sse2x1 gen() 4917 MB/s [ 14.995007] raid6: sse2x1 xor() 5003 MB/s [ 15.012011] raid6: sse2x2 gen() 7250 MB/s [ 15.029003] raid6: sse2x2 xor() 6234 MB/s [ 15.046012] raid6: sse2x4 gen() 8808 MB/s [ 15.063003] raid6: sse2x4 xor() 6835 MB/s [ 15.063298] raid6: using algorithm sse2x4 gen() 8808 MB/s, xor() 6835 MB/s, rmw enabled [ 15.063904] raid6: using ssse3x2 recovery algorithm [ 15.065489] xor: measuring software checksum speed [ 15.075008] prefetch64-sse: 12304.000 MB/sec [ 15.085003] generic_sse: 10848.000 MB/sec [ 15.085297] xor: using function: prefetch64-sse (12304.000 MB/sec) [ 15.099848] Btrfs loaded [ 15.103879] BTRFS: device fsid 73ffd6b5-e48b-4c8e-89ed-e57752c4ed90 devid 1 transid 32 /dev/sdb3 [ 15.615025] floppy0: no floppy controllers found <6>[ 0.000000] Initializing cgroup subsys cpuset <6>[ 0.000000] Initializing cgroup subsys cpu <5>[ 0.000000] Linux version 3.17.0-gda9a9f1 (kbuild@xian) (gcc version 4.9.1 (Debian 4.9.1-11) ) #1 SMP Tue Oct 14 20:38:54 CST 2014 <6>[ 0.000000] Command line: user=lkp job=/lkp/scheduled/bay/cyclic_fileio-performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync-x86_64-rhel-HEAD-da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b-0.yaml ARCH=x86_64 BOOT_IMAGE=/kernel/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/vmlinuz-3.17.0-gda9a9f1 kconfig=x86_64-rhel commit=da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b branch=linux-devel/devel-hourly-2014101420 root=/dev/ram0 max_uptime=1868 RESULT_ROOT=/result/bay/fileio/performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync/debian-x86_64.cgz/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/0 ip=::::bay::dhcp earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal rw <6>[ 0.000000] e820: BIOS-provided physical RAM map: <6>[ 0.000000] BIOS-e820: [mem 0x0000000000000100-0x000000000009ebff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved <6>[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved <6>[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007fd0bfff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000007fd0c000-0x000000007fd0dfff] reserved <6>[ 0.000000] BIOS-e820: [mem 0x000000007fd0e000-0x000000007fe00fff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000007fe01000-0x000000007fee9fff] ACPI NVS <6>[ 0.000000] BIOS-e820: [mem 0x000000007feea000-0x000000007feebfff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000007feec000-0x000000007fef1fff] ACPI data <6>[ 0.000000] BIOS-e820: [mem 0x000000007fef2000-0x000000007fef2fff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000007fef3000-0x000000007fefefff] ACPI data <6>[ 0.000000] BIOS-e820: [mem 0x000000007feff000-0x000000007fefffff] usable <6>[ 0.000000] BIOS-e820: [mem 0x000000007ff00000-0x000000007fffffff] reserved <6>[ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved <6>[ 0.000000] BIOS-e820: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved <6>[ 0.000000] bootconsole [earlyser0] enabled <6>[ 0.000000] NX (Execute Disable) protection: active <6>[ 0.000000] SMBIOS 2.4 present. <7>[ 0.000000] DMI: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <7>[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved <7>[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable <6>[ 0.000000] AGP: No AGP bridge found <6>[ 0.000000] e820: last_pfn = 0x7ff00 max_arch_pfn = 0x400000000 <7>[ 0.000000] MTRR default type: uncachable <7>[ 0.000000] MTRR fixed ranges enabled: <7>[ 0.000000] 00000-9FFFF write-back <7>[ 0.000000] A0000-FFFFF uncachable <7>[ 0.000000] MTRR variable ranges enabled: <7>[ 0.000000] 0 base 000000000 mask F80000000 write-back <7>[ 0.000000] 1 base 07FF00000 mask FFFF00000 uncachable <7>[ 0.000000] 2 disabled <7>[ 0.000000] 3 disabled <7>[ 0.000000] 4 disabled <7>[ 0.000000] 5 disabled <7>[ 0.000000] 6 disabled <7>[ 0.000000] 7 disabled <6>[ 0.000000] x86 PAT enabled: cpu 0, old 0x7010600070106, new 0x7010600070106 <4>[ 0.000000] Scan for SMP in [mem 0x00000000-0x000003ff] <4>[ 0.000000] Scan for SMP in [mem 0x0009fc00-0x0009ffff] <4>[ 0.000000] Scan for SMP in [mem 0x000f0000-0x000fffff] <6>[ 0.000000] found SMP MP-table at [mem 0x000fe200-0x000fe20f] mapped at [ffff8800000fe200] <4>[ 0.000000] mpc: fe210-fe250 <7>[ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576 <6>[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] <7>[ 0.000000] [mem 0x00000000-0x000fffff] page 4k <7>[ 0.000000] BRK [0x7f17d000, 0x7f17dfff] PGTABLE <7>[ 0.000000] BRK [0x7f17e000, 0x7f17efff] PGTABLE <7>[ 0.000000] BRK [0x7f17f000, 0x7f17ffff] PGTABLE <6>[ 0.000000] init_memory_mapping: [mem 0x7fa00000-0x7fbfffff] <7>[ 0.000000] [mem 0x7fa00000-0x7fbfffff] page 2M <7>[ 0.000000] BRK [0x7f180000, 0x7f180fff] PGTABLE <6>[ 0.000000] init_memory_mapping: [mem 0x7c000000-0x7f9fffff] <7>[ 0.000000] [mem 0x7c000000-0x7f9fffff] page 2M <6>[ 0.000000] init_memory_mapping: [mem 0x00100000-0x7bffffff] <7>[ 0.000000] [mem 0x00100000-0x001fffff] page 4k <7>[ 0.000000] [mem 0x00200000-0x7bffffff] page 2M <6>[ 0.000000] init_memory_mapping: [mem 0x7fc00000-0x7fd0bfff] <7>[ 0.000000] [mem 0x7fc00000-0x7fd0bfff] page 4k <7>[ 0.000000] BRK [0x7f181000, 0x7f181fff] PGTABLE <6>[ 0.000000] init_memory_mapping: [mem 0x7fd0e000-0x7fe00fff] <7>[ 0.000000] [mem 0x7fd0e000-0x7fe00fff] page 4k <7>[ 0.000000] BRK [0x7f182000, 0x7f182fff] PGTABLE <6>[ 0.000000] init_memory_mapping: [mem 0x7feea000-0x7feebfff] <7>[ 0.000000] [mem 0x7feea000-0x7feebfff] page 4k <6>[ 0.000000] init_memory_mapping: [mem 0x7fef2000-0x7fef2fff] <7>[ 0.000000] [mem 0x7fef2000-0x7fef2fff] page 4k <6>[ 0.000000] init_memory_mapping: [mem 0x7feff000-0x7fefffff] <7>[ 0.000000] [mem 0x7feff000-0x7fefffff] page 4k <6>[ 0.000000] RAMDISK: [mem 0x764ab000-0x7dffffff] <6>[ 0.000000] ACPI: Early table checksum verification disabled <4>[ 0.000000] ACPI: RSDP 0x00000000000FE020 000014 (v00 INTEL ) <4>[ 0.000000] ACPI: RSDT 0x000000007FEFD038 000054 (v01 INTEL DRBLI9J 00000B4B 01000013) <4>[ 0.000000] ACPI: FACP 0x000000007FEFC000 0000F4 (v02 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Pm1aEventBlock: 32/16 (20140724/tbfadt-618) <4>[ 0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/PmTimerBlock: 32/24 (20140724/tbfadt-618) <4>[ 0.000000] ACPI BIOS Warning (bug): Invalid length for FADT/Pm1aEventBlock: 16, using default 32 (20140724/tbfadt-699) <4>[ 0.000000] ACPI BIOS Warning (bug): Invalid length for FADT/PmTimerBlock: 24, using default 32 (20140724/tbfadt-699) <4>[ 0.000000] ACPI: DSDT 0x000000007FEF8000 003D79 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: FACS 0x000000007FE9D000 000040 <4>[ 0.000000] ACPI: APIC 0x000000007FEF7000 000078 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: WDDT 0x000000007FEF6000 000040 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: MCFG 0x000000007FEF5000 00003C (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: ASF! 0x000000007FEF4000 0000A6 (v32 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: HPET 0x000000007FEF3000 000038 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: DMAR 0x000000007FEF1000 000128 (v01 INTEL DRBLI9J 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: SSDT 0x000000007FEF0000 0001B4 (v01 INTEL CpuPm 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: SSDT 0x000000007FEEF000 000222 (v01 INTEL Cpu0Ist 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: SSDT 0x000000007FEEE000 000222 (v01 INTEL Cpu1Ist 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: SSDT 0x000000007FEED000 000222 (v01 INTEL Cpu2Ist 00000B4B MSFT 01000013) <4>[ 0.000000] ACPI: SSDT 0x000000007FEEC000 000222 (v01 INTEL Cpu3Ist 00000B4B MSFT 01000013) <7>[ 0.000000] ACPI: Local APIC address 0xfee00000 <4>[ 0.000000] mapped APIC to ffffffffff57c000 ( fee00000) <6>[ 0.000000] No NUMA configuration found <6>[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000007fefffff] <6>[ 0.000000] Initmem setup node 0 [mem 0x00000000-0x7fefffff] <6>[ 0.000000] NODE_DATA [mem 0x7fddb000-0x7fe00fff] <7>[ 0.000000] [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff880074400000-ffff8800763fffff] on node 0 <4>[ 0.000000] Zone ranges: <4>[ 0.000000] DMA [mem 0x00001000-0x00ffffff] <4>[ 0.000000] DMA32 [mem 0x01000000-0xffffffff] <4>[ 0.000000] Normal empty <4>[ 0.000000] Movable zone start for each node <4>[ 0.000000] Early memory node ranges <4>[ 0.000000] node 0: [mem 0x00001000-0x0009dfff] <4>[ 0.000000] node 0: [mem 0x00100000-0x7fd0bfff] <4>[ 0.000000] node 0: [mem 0x7fd0e000-0x7fe00fff] <4>[ 0.000000] node 0: [mem 0x7feea000-0x7feebfff] <4>[ 0.000000] node 0: [mem 0x7fef2000-0x7fef2fff] <4>[ 0.000000] node 0: [mem 0x7feff000-0x7fefffff] <7>[ 0.000000] On node 0 totalpages: 523680 <7>[ 0.000000] DMA zone: 64 pages used for memmap <7>[ 0.000000] DMA zone: 21 pages reserved <7>[ 0.000000] DMA zone: 3997 pages, LIFO batch:0 <7>[ 0.000000] DMA32 zone: 8124 pages used for memmap <7>[ 0.000000] DMA32 zone: 519683 pages, LIFO batch:31 <6>[ 0.000000] ACPI: PM-Timer IO Port: 0x408 <7>[ 0.000000] ACPI: Local APIC address 0xfee00000 <4>[ 0.000000] mapped APIC to ffffffffff57c000 ( fee00000) <6>[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) <6>[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled) <6>[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) <6>[ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled) <6>[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1]) <6>[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1]) <6>[ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) <6>[ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 <6>[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 00, APIC ID 2, APIC INT 02 <6>[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) <4>[ 0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 09, APIC ID 2, APIC INT 09 <7>[ 0.000000] ACPI: IRQ0 used by override. <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 01, APIC ID 2, APIC INT 01 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 03, APIC ID 2, APIC INT 03 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 04, APIC ID 2, APIC INT 04 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 05, APIC ID 2, APIC INT 05 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 06, APIC ID 2, APIC INT 06 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 07, APIC ID 2, APIC INT 07 <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 08, APIC ID 2, APIC INT 08 <7>[ 0.000000] ACPI: IRQ9 used by override. <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0a, APIC ID 2, APIC INT 0a <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0b, APIC ID 2, APIC INT 0b <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0c, APIC ID 2, APIC INT 0c <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0d, APIC ID 2, APIC INT 0d <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0e, APIC ID 2, APIC INT 0e <4>[ 0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0f, APIC ID 2, APIC INT 0f <6>[ 0.000000] Using ACPI (MADT) for SMP configuration information <6>[ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000 <6>[ 0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs <4>[ 0.000000] mapped IOAPIC to ffffffffff57b000 (fec00000) <6>[ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009efff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x7fd0c000-0x7fd0dfff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x7fe01000-0x7fee9fff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x7feec000-0x7fef1fff] <6>[ 0.000000] PM: Registered nosave memory: [mem 0x7fef3000-0x7fefefff] <6>[ 0.000000] e820: [mem 0x80000000-0xefffffff] available for PCI devices <6>[ 0.000000] Booting paravirtualized kernel on bare hardware <6>[ 0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1 <6>[ 0.000000] PERCPU: Embedded 29 pages/cpu @ffff88007fa00000 s88960 r8192 d21632 u524288 <7>[ 0.000000] pcpu-alloc: s88960 r8192 d21632 u524288 alloc=1*2097152 <7>[ 0.000000] pcpu-alloc: [0] 0 1 2 3 <4>[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 515471 <4>[ 0.000000] Policy zone: DMA32 <5>[ 0.000000] Kernel command line: user=lkp job=/lkp/scheduled/bay/cyclic_fileio-performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync-x86_64-rhel-HEAD-da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b-0.yaml ARCH=x86_64 BOOT_IMAGE=/kernel/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/vmlinuz-3.17.0-gda9a9f1 kconfig=x86_64-rhel commit=da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b branch=linux-devel/devel-hourly-2014101420 root=/dev/ram0 max_uptime=1868 RESULT_ROOT=/result/bay/fileio/performance-600s-100%-1HDD-xfs-64G-1024f-seqrewr-sync/debian-x86_64.cgz/x86_64-rhel/da9a9f15958b43dbf2d04c951ad2a4ba5048fb6b/0 ip=::::bay::dhcp earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal rw <6>[ 0.000000] sysrq: sysrq always enabled. <6>[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) <6>[ 0.000000] AGP: Checking aperture... <6>[ 0.000000] AGP: No AGP bridge found <4>[ 0.000000] Memory: 1916772K/2094720K available (8607K kernel code, 1705K rwdata, 3836K rodata, 1808K init, 1888K bss, 177948K reserved) <6>[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 <6>[ 0.000000] Hierarchical RCU implementation. <6>[ 0.000000] RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=4. <6>[ 0.000000] Offload RCU callbacks from all CPUs <6>[ 0.000000] Offload RCU callbacks from CPUs: 0-3. <6>[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 <6>[ 0.000000] NR_IRQS:524544 nr_irqs:456 0 <6>[ 0.000000] Console: colour VGA+ 80x25 <6>[ 0.000000] console [tty0] enabled <6>[ 0.000000] bootconsole [earlyser0] disabled <6>[ 0.000000] console [ttyS0] enabled <6>[ 0.000000] allocated 8388608 bytes of page_cgroup <6>[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups <7>[ 0.000000] hpet clockevent registered <6>[ 0.000000] tsc: Fast TSC calibration using PIT <6>[ 0.000000] tsc: Detected 2992.507 MHz processor <6>[ 0.000011] Calibrating delay loop (skipped), value calculated using timer frequency.. 5985.01 BogoMIPS (lpj=2992507) <6>[ 0.000497] pid_max: default: 32768 minimum: 301 <6>[ 0.000719] ACPI: Core revision 20140724 <4>[ 0.001000] ACPI: All ACPI Tables successfully acquired <6>[ 0.001000] Security Framework initialized <6>[ 0.001000] SELinux: Initializing. <7>[ 0.001000] SELinux: Starting in permissive mode <6>[ 0.001000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) <6>[ 0.001000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) <6>[ 0.001000] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes) <6>[ 0.001000] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes) <6>[ 0.001000] Initializing cgroup subsys memory <6>[ 0.001000] Initializing cgroup subsys devices <6>[ 0.001000] Initializing cgroup subsys freezer <6>[ 0.001000] Initializing cgroup subsys net_cls <6>[ 0.001000] Initializing cgroup subsys blkio <6>[ 0.001000] Initializing cgroup subsys perf_event <6>[ 0.001000] Initializing cgroup subsys hugetlb <6>[ 0.001000] CPU: Physical Processor ID: 0 <6>[ 0.001000] CPU: Processor Core ID: 0 <6>[ 0.001000] mce: CPU supports 6 MCE banks <7>[ 0.001000] CPU0: Thermal LVT vector (0xfa) already installed <6>[ 0.001000] Last level iTLB entries: 4KB 128, 2MB 4, 4MB 4 <6>[ 0.001000] Last level dTLB entries: 4KB 256, 2MB 0, 4MB 32, 1GB 0 <6>[ 0.001000] Freeing SMP alternatives memory: 36K (ffffffff81f9a000 - ffffffff81fa3000) <6>[ 0.001000] ftrace: allocating 31124 entries in 122 pages <4>[ 0.001000] Getting VERSION: 50014 <4>[ 0.001000] Getting VERSION: 50014 <4>[ 0.001000] Getting ID: 0 <4>[ 0.001000] Getting ID: 0 <6>[ 0.001000] dmar: Host address width 40 <6>[ 0.001000] dmar: DRHD base: 0x000000feb00000 flags: 0x0 <6>[ 0.001000] dmar: IOMMU 0: reg_base_addr feb00000 ver 1:0 cap c9008020a30272 ecap 1000 <6>[ 0.001000] dmar: DRHD base: 0x000000feb01000 flags: 0x0 <6>[ 0.001000] dmar: IOMMU 1: reg_base_addr feb01000 ver 1:0 cap c0000020230270 ecap 1000 <6>[ 0.001000] dmar: DRHD base: 0x000000feb02000 flags: 0x0 <6>[ 0.001000] dmar: IOMMU 2: reg_base_addr feb02000 ver 1:0 cap c0000020230270 ecap 1000 <6>[ 0.001000] dmar: DRHD base: 0x000000feb03000 flags: 0x1 <6>[ 0.001000] dmar: IOMMU 3: reg_base_addr feb03000 ver 1:0 cap c9008020230272 ecap 1000 <6>[ 0.001000] dmar: RMRR base: 0x000000000e0000 end: 0x000000000effff <6>[ 0.001000] dmar: RMRR base: 0x00000080000000 end: 0x0000007fffffff <4>[ 0.001000] masked ExtINT on CPU#0 <4>[ 0.001000] ENABLING IO-APIC IRQs <7>[ 0.001000] init IO_APIC IRQs <7>[ 0.001000] apic 2 pin 0 not connected <7>[ 0.001000] IOAPIC[0]: Set routing entry (2-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:1) <7>[ 0.001000] IOAPIC[0]: Set routing entry (2-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1) <7>[ 0.001000] IOAPIC[0]: Set routing entry (2-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1) <7>[ 0.001000] IOAPIC[0]: Set routing entry (2-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:1) <7>[ 0.001008] IOAPIC[0]: Set routing entry (2-4 -> 0x34 -> IRQ 4 Mode:0 Active:0 Dest:1) <7>[ 0.001535] IOAPIC[0]: Set routing entry (2-5 -> 0x35 -> IRQ 5 Mode:0 Active:0 Dest:1) <7>[ 0.002004] IOAPIC[0]: Set routing entry (2-6 -> 0x36 -> IRQ 6 Mode:0 Active:0 Dest:1) <7>[ 0.002532] IOAPIC[0]: Set routing entry (2-7 -> 0x37 -> IRQ 7 Mode:0 Active:0 Dest:1) <7>[ 0.003003] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:1) <7>[ 0.004003] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:1) <7>[ 0.004532] IOAPIC[0]: Set routing entry (2-10 -> 0x3a -> IRQ 10 Mode:0 Active:0 Dest:1) <7>[ 0.005004] IOAPIC[0]: Set routing entry (2-11 -> 0x3b -> IRQ 11 Mode:0 Active:0 Dest:1) <7>[ 0.005538] IOAPIC[0]: Set routing entry (2-12 -> 0x3c -> IRQ 12 Mode:0 Active:0 Dest:1) <7>[ 0.006004] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:1) <7>[ 0.006537] IOAPIC[0]: Set routing entry (2-14 -> 0x3e -> IRQ 14 Mode:0 Active:0 Dest:1) <7>[ 0.007003] IOAPIC[0]: Set routing entry (2-15 -> 0x3f -> IRQ 15 Mode:0 Active:0 Dest:1) <7>[ 0.007537] apic 2 pin 16 not connected <7>[ 0.008001] apic 2 pin 17 not connected <7>[ 0.008281] apic 2 pin 18 not connected <7>[ 0.008561] apic 2 pin 19 not connected <7>[ 0.008841] apic 2 pin 20 not connected <7>[ 0.009001] apic 2 pin 21 not connected <7>[ 0.009281] apic 2 pin 22 not connected <7>[ 0.009561] apic 2 pin 23 not connected <6>[ 0.010133] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 <6>[ 0.020509] smpboot: CPU0: Genuine Intel(R) CPU @ 3.00GHz (fam: 06, model: 0f, stepping: 0b) <4>[ 0.021188] Using local APIC timer interrupts. <4>[ 0.021188] calibrating APIC timer ... <4>[ 0.022000] ... lapic delta = 2078100 <4>[ 0.022000] ... PM-Timer delta = 357951 <4>[ 0.022000] ... PM-Timer result ok <4>[ 0.022000] ..... delta 2078100 <4>[ 0.022000] ..... mult: 89253715 <4>[ 0.022000] ..... calibration result: 332496 <4>[ 0.022000] ..... CPU clock speed is 2992.0467 MHz. <4>[ 0.022000] ..... host bus clock speed is 332.0496 MHz. <6>[ 0.022022] Performance Events: PEBS fmt0+, 4-deep LBR, Core2 events, Intel PMU driver. <4>[ 0.022710] perf_event_intel: PEBS disabled due to CPU errata <6>[ 0.023002] ... version: 2 <6>[ 0.023286] ... bit width: 40 <6>[ 0.023573] ... generic registers: 2 <6>[ 0.023856] ... value mask: 000000ffffffffff <6>[ 0.024001] ... max period: 000000007fffffff <6>[ 0.024334] ... fixed-purpose events: 3 <6>[ 0.024618] ... event mask: 0000000700000003 <6>[ 0.027170] x86: Booting SMP configuration: <6>[ 0.027463] .... node #0, CPUs: #1 <4>[ 0.027085] masked ExtINT on CPU#1 <7>[ 0.027085] CPU1: Thermal LVT vector (0xfa) already installed <6>[ 0.040090] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. <4>[ 0.040712] #2 <4>[ 0.040633] masked ExtINT on CPU#2 <7>[ 0.040633] CPU2: Thermal LVT vector (0xfa) already installed <4>[ 0.053123] #3 <4>[ 0.053028] masked ExtINT on CPU#3 <7>[ 0.053028] CPU3: Thermal LVT vector (0xfa) already installed <6>[ 0.066011] x86: Booted up 1 node, 4 CPUs <6>[ 0.066312] smpboot: Total of 4 processors activated (23940.05 BogoMIPS) <6>[ 0.067195] devtmpfs: initialized <6>[ 0.070809] evm: security.selinux <6>[ 0.071001] evm: security.ima <6>[ 0.071251] evm: security.capability <6>[ 0.071541] PM: Registering ACPI NVS region [mem 0x7fe01000-0x7fee9fff] (954368 bytes) <6>[ 0.073448] atomic64_test: passed for x86-64 platform with CX8 and with SSE <6>[ 0.073940] NET: Registered protocol family 16 <6>[ 0.074205] cpuidle: using governor menu <6>[ 0.074608] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it <6>[ 0.075002] ACPI: bus type PCI registered <6>[ 0.075290] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 <6>[ 0.076062] PCI: MMCONFIG for domain 0000 [bus 00-7f] at [mem 0xf0000000-0xf7ffffff] (base 0xf0000000) <6>[ 0.076651] PCI: MMCONFIG at [mem 0xf0000000-0xf7ffffff] reserved in E820 <6>[ 0.077189] PCI: Using configuration type 1 for base access <6>[ 0.081040] ACPI: Added _OSI(Module Device) <6>[ 0.081342] ACPI: Added _OSI(Processor Device) <6>[ 0.081651] ACPI: Added _OSI(3.0 _SCP Extensions) <6>[ 0.081961] ACPI: Added _OSI(Processor Aggregator Device) <7>[ 0.082589] IOAPIC[0]: Set routing entry (2-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:15) <6>[ 0.084777] ACPI: Interpreter enabled <4>[ 0.085008] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140724/hwxface-580) <6>[ 0.085688] ACPI: (supports S0 S1 S3 S4 S5) <6>[ 0.086001] ACPI: Using IOAPIC for interrupt routing <6>[ 0.086338] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug <6>[ 0.090767] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) <6>[ 0.091005] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] <6>[ 0.091552] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM <7>[ 0.092833] acpi PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) <7>[ 0.093002] acpi PNP0A03:00: host bridge window [io 0x0d00-0xffff] (ignored) <7>[ 0.093415] acpi PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored) <7>[ 0.094002] acpi PNP0A03:00: host bridge window [mem 0x000e0000-0x000effff] (ignored) <7>[ 0.094533] acpi PNP0A03:00: host bridge window [mem 0xf8000000-0xfeafffff] (ignored) <7>[ 0.095001] acpi PNP0A03:00: host bridge window [mem 0x80000000-0xefffffff] (ignored) <7>[ 0.095533] PCI: root bus 00: using default resources <6>[ 0.096002] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-7f] only partially covers this bridge <6>[ 0.096778] PCI host bridge to bus 0000:00 <6>[ 0.097002] pci_bus 0000:00: root bus resource [bus 00-ff] <6>[ 0.097343] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] <6>[ 0.097727] pci_bus 0000:00: root bus resource [mem 0x00000000-0xfffffffff] <7>[ 0.098007] pci 0000:00:00.0: [8086:29e0] type 00 class 0x060000 <7>[ 0.098460] pci 0000:00:01.0: [8086:29e1] type 01 class 0x060400 <7>[ 0.099033] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold <6>[ 0.099431] pci 0000:00:01.0: System wakeup disabled by ACPI <7>[ 0.100036] pci 0000:00:03.0: [8086:29e4] type 00 class 0x078000 <7>[ 0.100409] pci 0000:00:03.0: reg 0x10: [mem 0x93126100-0x9312610f 64bit] <7>[ 0.100851] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold <7>[ 0.101089] pci 0000:00:19.0: [8086:294c] type 00 class 0x020000 <7>[ 0.101464] pci 0000:00:19.0: reg 0x10: [mem 0x93100000-0x9311ffff] <7>[ 0.102007] pci 0000:00:19.0: reg 0x14: [mem 0x93124000-0x93124fff] <7>[ 0.102384] pci 0000:00:19.0: reg 0x18: [io 0x2400-0x241f] <7>[ 0.102788] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold <6>[ 0.103036] pci 0000:00:19.0: System wakeup disabled by ACPI <7>[ 0.103421] pci 0000:00:1a.0: [8086:2937] type 00 class 0x0c0300 <7>[ 0.104036] pci 0000:00:1a.0: reg 0x20: [io 0x20e0-0x20ff] <6>[ 0.104460] pci 0000:00:1a.0: System wakeup disabled by ACPI <7>[ 0.104854] pci 0000:00:1a.1: [8086:2938] type 00 class 0x0c0300 <7>[ 0.105036] pci 0000:00:1a.1: reg 0x20: [io 0x20c0-0x20df] <6>[ 0.105454] pci 0000:00:1a.1: System wakeup disabled by ACPI <7>[ 0.106041] pci 0000:00:1a.2: [8086:2939] type 00 class 0x0c0300 <7>[ 0.106435] pci 0000:00:1a.2: reg 0x20: [io 0x20a0-0x20bf] <6>[ 0.107077] pci 0000:00:1a.2: System wakeup disabled by ACPI <7>[ 0.108041] pci 0000:00:1a.7: [8086:293c] type 00 class 0x0c0320 <7>[ 0.108427] pci 0000:00:1a.7: reg 0x10: [mem 0x93125c00-0x93125fff] <7>[ 0.108874] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold <6>[ 0.109053] pci 0000:00:1a.7: System wakeup disabled by ACPI <7>[ 0.109441] pci 0000:00:1b.0: [8086:293e] type 00 class 0x040300 <7>[ 0.110014] pci 0000:00:1b.0: reg 0x10: [mem 0x93120000-0x93123fff 64bit] <7>[ 0.110472] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold <6>[ 0.110886] pci 0000:00:1b.0: System wakeup disabled by ACPI <7>[ 0.111040] pci 0000:00:1c.0: [8086:2940] type 01 class 0x060400 <7>[ 0.111462] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold <6>[ 0.112041] pci 0000:00:1c.0: System wakeup disabled by ACPI <7>[ 0.112433] pci 0000:00:1c.1: [8086:2942] type 01 class 0x060400 <7>[ 0.113023] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold <6>[ 0.113434] pci 0000:00:1c.1: System wakeup disabled by ACPI <7>[ 0.113819] pci 0000:00:1c.2: [8086:2944] type 01 class 0x060400 <7>[ 0.114063] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold <6>[ 0.114470] pci 0000:00:1c.2: System wakeup disabled by ACPI <7>[ 0.115050] pci 0000:00:1c.3: [8086:2946] type 01 class 0x060400 <7>[ 0.115480] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold <6>[ 0.115881] pci 0000:00:1c.3: System wakeup disabled by ACPI <7>[ 0.116039] pci 0000:00:1c.4: [8086:2948] type 01 class 0x060400 <7>[ 0.116467] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold <6>[ 0.117044] pci 0000:00:1c.4: System wakeup disabled by ACPI <7>[ 0.117442] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 <7>[ 0.117837] pci 0000:00:1d.0: reg 0x20: [io 0x2080-0x209f] <6>[ 0.118075] pci 0000:00:1d.0: System wakeup disabled by ACPI <7>[ 0.118466] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 <7>[ 0.119046] pci 0000:00:1d.1: reg 0x20: [io 0x2060-0x207f] <6>[ 0.119473] pci 0000:00:1d.1: System wakeup disabled by ACPI <7>[ 0.119858] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 <7>[ 0.120036] pci 0000:00:1d.2: reg 0x20: [io 0x2040-0x205f] <6>[ 0.120460] pci 0000:00:1d.2: System wakeup disabled by ACPI <7>[ 0.121056] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 <7>[ 0.121443] pci 0000:00:1d.7: reg 0x10: [mem 0x93125800-0x93125bff] <7>[ 0.122033] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold <6>[ 0.122457] pci 0000:00:1d.7: System wakeup disabled by ACPI <7>[ 0.122847] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401 <6>[ 0.123071] pci 0000:00:1e.0: System wakeup disabled by ACPI <7>[ 0.123469] pci 0000:00:1f.0: [8086:2910] type 00 class 0x060100 <7>[ 0.124150] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 <7>[ 0.124535] pci 0000:00:1f.2: reg 0x10: [io 0x2428-0x242f] <7>[ 0.124884] pci 0000:00:1f.2: reg 0x14: [io 0x2434-0x2437] <7>[ 0.125007] pci 0000:00:1f.2: reg 0x18: [io 0x2420-0x2427] <7>[ 0.125365] pci 0000:00:1f.2: reg 0x1c: [io 0x2430-0x2433] <7>[ 0.126004] pci 0000:00:1f.2: reg 0x20: [io 0x2020-0x203f] <7>[ 0.126363] pci 0000:00:1f.2: reg 0x24: [mem 0x93125000-0x931257ff] <7>[ 0.126779] pci 0000:00:1f.2: PME# supported from D3hot <7>[ 0.127070] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 <7>[ 0.127447] pci 0000:00:1f.3: reg 0x10: [mem 0x93126000-0x931260ff 64bit] <7>[ 0.127858] pci 0000:00:1f.3: reg 0x20: [io 0x2000-0x201f] <7>[ 0.128108] pci 0000:01:00.0: [10de:0191] type 00 class 0x030000 <7>[ 0.128485] pci 0000:01:00.0: reg 0x10: [mem 0x92000000-0x92ffffff] <7>[ 0.129009] pci 0000:01:00.0: reg 0x14: [mem 0x80000000-0x8fffffff 64bit pref] <7>[ 0.129528] pci 0000:01:00.0: reg 0x1c: [mem 0x90000000-0x91ffffff 64bit] <7>[ 0.130006] pci 0000:01:00.0: reg 0x24: [io 0x1000-0x107f] <7>[ 0.130363] pci 0000:01:00.0: reg 0x30: [mem 0xfffe0000-0xffffffff pref] <6>[ 0.130828] pci 0000:00:01.0: PCI bridge to [bus 01] <7>[ 0.131003] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] <7>[ 0.131367] pci 0000:00:01.0: bridge window [mem 0x90000000-0x92ffffff] <7>[ 0.132003] pci 0000:00:01.0: bridge window [mem 0x80000000-0x8fffffff 64bit pref] <6>[ 0.132574] pci 0000:00:1c.0: PCI bridge to [bus 02] <7>[ 0.132899] pci 0000:00:1c.0: bridge window [io 0x3000-0x3fff] <7>[ 0.133003] pci 0000:00:1c.0: bridge window [mem 0x93200000-0x932fffff] <7>[ 0.133401] pci 0000:00:1c.0: bridge window [mem 0x100000000-0x1001fffff 64bit pref] <6>[ 0.134046] pci 0000:00:1c.1: PCI bridge to [bus 03] <7>[ 0.134377] pci 0000:00:1c.1: bridge window [io 0x4000-0x4fff] <7>[ 0.134748] pci 0000:00:1c.1: bridge window [mem 0x93300000-0x933fffff] <7>[ 0.135005] pci 0000:00:1c.1: bridge window [mem 0x100200000-0x1003fffff 64bit pref] <7>[ 0.135608] pci 0000:04:00.0: [104c:8231] type 01 class 0x060400 <7>[ 0.136119] pci 0000:04:00.0: supports D1 D2 <6>[ 0.138015] pci 0000:00:1c.2: PCI bridge to [bus 04-05] <7>[ 0.138355] pci 0000:00:1c.2: bridge window [io 0x5000-0x5fff] <7>[ 0.138726] pci 0000:00:1c.2: bridge window [mem 0x93000000-0x930fffff] <7>[ 0.139005] pci 0000:00:1c.2: bridge window [mem 0x100400000-0x1005fffff 64bit pref] <7>[ 0.139622] pci 0000:05:00.0: [104c:8235] type 00 class 0x0c0010 <7>[ 0.140024] pci 0000:05:00.0: reg 0x10: [mem 0x93004000-0x930047ff] <7>[ 0.140407] pci 0000:05:00.0: reg 0x14: [mem 0x93000000-0x93003fff] <7>[ 0.141002] pci 0000:05:00.0: supports D1 D2 <7>[ 0.141296] pci 0000:05:00.0: PME# supported from D0 D1 D2 D3hot <6>[ 0.141760] pci 0000:04:00.0: PCI bridge to [bus 05] <7>[ 0.142011] pci 0000:04:00.0: bridge window [mem 0x93000000-0x930fffff] <6>[ 0.142459] pci 0000:00:1c.3: PCI bridge to [bus 06] <7>[ 0.142795] pci 0000:00:1c.3: bridge window [io 0x6000-0x6fff] <7>[ 0.143003] pci 0000:00:1c.3: bridge window [mem 0x93400000-0x934fffff] <7>[ 0.143406] pci 0000:00:1c.3: bridge window [mem 0x100600000-0x1007fffff 64bit pref] <6>[ 0.144046] pci 0000:00:1c.4: PCI bridge to [bus 07] <7>[ 0.144368] pci 0000:00:1c.4: bridge window [io 0x7000-0x7fff] <7>[ 0.144747] pci 0000:00:1c.4: bridge window [mem 0x93500000-0x935fffff] <7>[ 0.145005] pci 0000:00:1c.4: bridge window [mem 0x100800000-0x1009fffff 64bit pref] <6>[ 0.145611] pci 0000:00:1e.0: PCI bridge to [bus 08] (subtractive decode) <7>[ 0.146008] pci 0000:00:1e.0: bridge window [io 0x0000-0xffff] (subtractive decode) <7>[ 0.146542] pci 0000:00:1e.0: bridge window [mem 0x00000000-0xfffffffff] (subtractive decode) <6>[ 0.147077] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.148540] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.149587] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.150633] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.151688] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.152734] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.153779] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <6>[ 0.154827] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 9 10 11 12) *0, disabled. <7>[ 0.155823] IOAPIC[0]: Set routing entry (2-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:15) <4>[ 0.156380] ACPI: Enabled 4 GPEs in block 00 to 3F <6>[ 0.157075] vgaarb: setting as boot device: PCI:0000:01:00.0 <6>[ 0.157384] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none <6>[ 0.158002] vgaarb: loaded <6>[ 0.158235] vgaarb: bridge control possible 0000:01:00.0 <5>[ 0.158640] SCSI subsystem initialized <6>[ 0.159031] ACPI: bus type USB registered <6>[ 0.159340] usbcore: registered new interface driver usbfs <6>[ 0.159689] usbcore: registered new interface driver hub <6>[ 0.160018] usbcore: registered new device driver usb <6>[ 0.160371] pps_core: LinuxPPS API ver. 1 registered <6>[ 0.160691] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <6>[ 0.161006] PTP clock support registered <6>[ 0.161317] PCI: Using ACPI for IRQ routing <7>[ 0.164575] PCI: pci_cache_line_size set to 64 bytes <7>[ 0.164946] e820: reserve RAM buffer [mem 0x0009ec00-0x0009ffff] <7>[ 0.165001] e820: reserve RAM buffer [mem 0x7fd0c000-0x7fffffff] <7>[ 0.165361] e820: reserve RAM buffer [mem 0x7fe01000-0x7fffffff] <7>[ 0.166001] e820: reserve RAM buffer [mem 0x7feec000-0x7fffffff] <7>[ 0.166370] e820: reserve RAM buffer [mem 0x7fef3000-0x7fffffff] <7>[ 0.166730] e820: reserve RAM buffer [mem 0x7ff00000-0x7fffffff] <6>[ 0.167106] NetLabel: Initializing <6>[ 0.167372] NetLabel: domain hash size = 128 <6>[ 0.167668] NetLabel: protocols = UNLABELED CIPSOv4 <6>[ 0.168013] NetLabel: unlabeled traffic allowed by default <6>[ 0.168471] HPET: 4 timers in total, 0 timers will be used for per-cpu timer <6>[ 0.169004] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0 <6>[ 0.169545] hpet0: 4 comparators, 64-bit 14.318180 MHz counter <6>[ 0.172038] Switched to clocksource hpet <6>[ 0.182879] pnp: PnP ACPI init <6>[ 0.183241] system 00:00: [mem 0xf0000000-0xf7ffffff] has been reserved <6>[ 0.183626] system 00:00: [mem 0xfeb00000-0xfeb03fff] could not be reserved <6>[ 0.184029] system 00:00: [mem 0xfed13000-0xfed13fff] has been reserved <6>[ 0.184413] system 00:00: [mem 0xfed14000-0xfed17fff] has been reserved <6>[ 0.184797] system 00:00: [mem 0xfed18000-0xfed18fff] has been reserved <6>[ 0.185185] system 00:00: [mem 0xfed19000-0xfed19fff] has been reserved <6>[ 0.185569] system 00:00: [mem 0xfed1c000-0xfed1ffff] has been reserved <6>[ 0.185953] system 00:00: [mem 0xfed20000-0xfed3ffff] has been reserved <6>[ 0.186341] system 00:00: [mem 0xfed45000-0xfed99fff] has been reserved <6>[ 0.186725] system 00:00: [mem 0x000c0000-0x000dffff] could not be reserved <6>[ 0.187126] system 00:00: [mem 0x000e0000-0x000fffff] could not be reserved <6>[ 0.187523] system 00:00: [mem 0xffc00000-0xffffffff] could not be reserved <7>[ 0.187922] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active) <7>[ 0.188433] IOAPIC[0]: Set routing entry (2-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:15) <7>[ 0.188982] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active) <6>[ 0.189414] system 00:02: [io 0x0500-0x053f] has been reserved <6>[ 0.189772] system 00:02: [io 0x0400-0x047f] could not be reserved <6>[ 0.190147] system 00:02: [io 0x0680-0x06ff] has been reserved <7>[ 0.190506] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active) <6>[ 0.190987] system 00:03: [mem 0xfed40000-0xfed44fff] has been reserved <7>[ 0.191378] system 00:03: Plug and Play ACPI device, IDs PNP0c31 PNP0c02 (active) <7>[ 0.191937] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active) <6>[ 0.192530] pnp: PnP ACPI: found 5 devices <6>[ 0.200432] pci 0000:01:00.0: can't claim BAR 6 [mem 0xfffe0000-0xffffffff pref]: no compatible bridge window <6>[ 0.201087] pci 0000:01:00.0: BAR 6: no space for [mem size 0x00020000 pref] <6>[ 0.203179] pci 0000:01:00.0: BAR 6: failed to assign [mem size 0x00020000 pref] <6>[ 0.203686] pci 0000:00:01.0: PCI bridge to [bus 01] <6>[ 0.204011] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] <6>[ 0.204376] pci 0000:00:01.0: bridge window [mem 0x90000000-0x92ffffff] <6>[ 0.204768] pci 0000:00:01.0: bridge window [mem 0x80000000-0x8fffffff 64bit pref] <6>[ 0.205293] pci 0000:00:1c.0: PCI bridge to [bus 02] <6>[ 0.205614] pci 0000:00:1c.0: bridge window [io 0x3000-0x3fff] <6>[ 0.205980] pci 0000:00:1c.0: bridge window [mem 0x93200000-0x932fffff] <6>[ 0.206376] pci 0000:00:1c.0: bridge window [mem 0x100000000-0x1001fffff 64bit pref] <6>[ 0.206905] pci 0000:00:1c.1: PCI bridge to [bus 03] <6>[ 0.207230] pci 0000:00:1c.1: bridge window [io 0x4000-0x4fff] <6>[ 0.207597] pci 0000:00:1c.1: bridge window [mem 0x93300000-0x933fffff] <6>[ 0.207988] pci 0000:00:1c.1: bridge window [mem 0x100200000-0x1003fffff 64bit pref] <6>[ 0.208521] pci 0000:04:00.0: PCI bridge to [bus 05] <6>[ 0.208846] pci 0000:04:00.0: bridge window [mem 0x93000000-0x930fffff] <6>[ 0.209249] pci 0000:00:1c.2: PCI bridge to [bus 04-05] <6>[ 0.209580] pci 0000:00:1c.2: bridge window [io 0x5000-0x5fff] <6>[ 0.209946] pci 0000:00:1c.2: bridge window [mem 0x93000000-0x930fffff] <6>[ 0.210341] pci 0000:00:1c.2: bridge window [mem 0x100400000-0x1005fffff 64bit pref] <6>[ 0.210870] pci 0000:00:1c.3: PCI bridge to [bus 06] <6>[ 0.211195] pci 0000:00:1c.3: bridge window [io 0x6000-0x6fff] <6>[ 0.211561] pci 0000:00:1c.3: bridge window [mem 0x93400000-0x934fffff] <6>[ 0.211953] pci 0000:00:1c.3: bridge window [mem 0x100600000-0x1007fffff 64bit pref] <6>[ 0.212485] pci 0000:00:1c.4: PCI bridge to [bus 07] <6>[ 0.212806] pci 0000:00:1c.4: bridge window [io 0x7000-0x7fff] <6>[ 0.213176] pci 0000:00:1c.4: bridge window [mem 0x93500000-0x935fffff] <6>[ 0.213568] pci 0000:00:1c.4: bridge window [mem 0x100800000-0x1009fffff 64bit pref] <6>[ 0.214101] pci 0000:00:1e.0: PCI bridge to [bus 08] <7>[ 0.214428] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] <7>[ 0.214773] pci_bus 0000:00: resource 5 [mem 0x00000000-0xfffffffff] <7>[ 0.215150] pci_bus 0000:01: resource 0 [io 0x1000-0x1fff] <7>[ 0.215494] pci_bus 0000:01: resource 1 [mem 0x90000000-0x92ffffff] <7>[ 0.215865] pci_bus 0000:01: resource 2 [mem 0x80000000-0x8fffffff 64bit pref] <7>[ 0.216368] pci_bus 0000:02: resource 0 [io 0x3000-0x3fff] <7>[ 0.216712] pci_bus 0000:02: resource 1 [mem 0x93200000-0x932fffff] <7>[ 0.217086] pci_bus 0000:02: resource 2 [mem 0x100000000-0x1001fffff 64bit pref] <7>[ 0.217592] pci_bus 0000:03: resource 0 [io 0x4000-0x4fff] <7>[ 0.217936] pci_bus 0000:03: resource 1 [mem 0x93300000-0x933fffff] <7>[ 0.218310] pci_bus 0000:03: resource 2 [mem 0x100200000-0x1003fffff 64bit pref] <7>[ 0.218816] pci_bus 0000:04: resource 0 [io 0x5000-0x5fff] <7>[ 0.219164] pci_bus 0000:04: resource 1 [mem 0x93000000-0x930fffff] <7>[ 0.219534] pci_bus 0000:04: resource 2 [mem 0x100400000-0x1005fffff 64bit pref] <7>[ 0.220045] pci_bus 0000:05: resource 1 [mem 0x93000000-0x930fffff] <7>[ 0.220415] pci_bus 0000:06: resource 0 [io 0x6000-0x6fff] <7>[ 0.220759] pci_bus 0000:06: resource 1 [mem 0x93400000-0x934fffff] <7>[ 0.221133] pci_bus 0000:06: resource 2 [mem 0x100600000-0x1007fffff 64bit pref] <7>[ 0.221640] pci_bus 0000:07: resource 0 [io 0x7000-0x7fff] <7>[ 0.221984] pci_bus 0000:07: resource 1 [mem 0x93500000-0x935fffff] <7>[ 0.222358] pci_bus 0000:07: resource 2 [mem 0x100800000-0x1009fffff 64bit pref] <7>[ 0.222864] pci_bus 0000:08: resource 4 [io 0x0000-0xffff] <7>[ 0.223213] pci_bus 0000:08: resource 5 [mem 0x00000000-0xfffffffff] <6>[ 0.223612] NET: Registered protocol family 2 <6>[ 0.224094] TCP established hash table entries: 16384 (order: 5, 131072 bytes) <6>[ 0.224653] TCP bind hash table entries: 16384 (order: 6, 262144 bytes) <6>[ 0.225122] TCP: Hash tables configured (established 16384 bind 16384) <6>[ 0.225536] TCP: reno registered <6>[ 0.225793] UDP hash table entries: 1024 (order: 3, 32768 bytes) <6>[ 0.226172] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) <6>[ 0.226601] NET: Registered protocol family 1 <6>[ 0.227046] RPC: Registered named UNIX socket transport module. <6>[ 0.227403] RPC: Registered udp transport module. <6>[ 0.227713] RPC: Registered tcp transport module. <6>[ 0.228028] RPC: Registered tcp NFSv4.1 backchannel transport module. <7>[ 0.228547] IOAPIC[0]: Set routing entry (2-18 -> 0x41 -> IRQ 18 Mode:1 Active:1 Dest:15) <7>[ 0.229313] IOAPIC[0]: Set routing entry (2-21 -> 0x51 -> IRQ 21 Mode:1 Active:1 Dest:15) <7>[ 0.230068] IOAPIC[0]: Set routing entry (2-17 -> 0x61 -> IRQ 17 Mode:1 Active:1 Dest:15) <7>[ 0.230818] IOAPIC[0]: Set routing entry (2-17 -> 0x71 -> IRQ 17 Mode:1 Active:1 Dest:15) <7>[ 0.231585] IOAPIC[0]: Set routing entry (2-23 -> 0x81 -> IRQ 23 Mode:1 Active:1 Dest:15) <7>[ 0.232344] IOAPIC[0]: Set routing entry (2-19 -> 0x91 -> IRQ 19 Mode:1 Active:1 Dest:15) <7>[ 0.233098] IOAPIC[0]: Set routing entry (2-18 -> 0xa1 -> IRQ 18 Mode:1 Active:1 Dest:15) <7>[ 0.233848] IOAPIC[0]: Set routing entry (2-23 -> 0xb1 -> IRQ 23 Mode:1 Active:1 Dest:15) <7>[ 0.234515] pci 0000:01:00.0: Video device with shadowed ROM <4>[ 0.234864] pci 0000:04:00.0: TI XIO2000a quirk detected; secondary bus fast back-to-back transfers disabled <7>[ 0.235474] PCI: CLS 64 bytes, default 64 <6>[ 0.235816] Unpacking initramfs... <6>[ 2.438983] Freeing initrd memory: 126292K (ffff8800764ab000 - ffff88007e000000) <6>[ 2.440632] futex hash table entries: 1024 (order: 4, 65536 bytes) <5>[ 2.441057] Initialise system trusted keyring <6>[ 2.441378] audit: initializing netlink subsys (disabled) <5>[ 2.441738] audit: type=2000 audit(1413321883.440:1): initialized <6>[ 2.442424] HugeTLB registered 2 MB page size, pre-allocated 0 pages <6>[ 2.444542] zpool: loaded <6>[ 2.444774] zbud: loaded <5>[ 2.445246] VFS: Disk quotas dquot_6.5.2 <4>[ 2.445576] Dquot-cache hash table entries: 512 (order 0, 4096 bytes) <6>[ 2.446560] SGI XFS with ACLs, security attributes, no debug enabled <6>[ 2.447443] 9p: Installing v9fs 9p2000 file system support <6>[ 2.447832] msgmni has been set to 3990 <5>[ 2.448179] Key type big_key registered <7>[ 2.448458] SELinux: Registering netfilter hooks <6>[ 2.449538] NET: Registered protocol family 38 <5>[ 2.449855] Key type asymmetric registered <5>[ 2.450168] Asymmetric key parser 'x509' registered <6>[ 2.450531] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) <6>[ 2.451099] io scheduler noop registered <6>[ 2.451392] io scheduler deadline registered (default) <6>[ 2.451732] io scheduler cfq registered <7>[ 2.452249] IOAPIC[0]: Set routing entry (2-16 -> 0xc1 -> IRQ 16 Mode:1 Active:1 Dest:15) <7>[ 2.452803] pcieport 0000:00:01.0: irq 24 for MSI/MSI-X <7>[ 2.453303] IOAPIC[0]: Set routing entry (2-17 -> 0xe1 -> IRQ 17 Mode:1 Active:1 Dest:15) <7>[ 2.453854] pcieport 0000:00:1c.0: irq 25 for MSI/MSI-X <7>[ 2.454346] IOAPIC[0]: Set routing entry (2-20 -> 0x42 -> IRQ 20 Mode:1 Active:1 Dest:15) <7>[ 2.454898] pcieport 0000:00:1c.1: irq 26 for MSI/MSI-X <7>[ 2.455386] IOAPIC[0]: Set routing entry (2-18 -> 0x62 -> IRQ 18 Mode:1 Active:1 Dest:15) <7>[ 2.455937] pcieport 0000:00:1c.2: irq 27 for MSI/MSI-X <7>[ 2.456433] IOAPIC[0]: Set routing entry (2-19 -> 0x82 -> IRQ 19 Mode:1 Active:1 Dest:15) <7>[ 2.456986] pcieport 0000:00:1c.3: irq 28 for MSI/MSI-X <7>[ 2.457484] pcieport 0000:00:1c.4: irq 29 for MSI/MSI-X <6>[ 2.457901] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 <6>[ 2.458265] pciehp: PCI Express Hot Plug Controller Driver version: 0.4 <7>[ 2.458693] intel_idle: does not run on family 6 model 15 <6>[ 2.459125] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0 <6>[ 2.459669] ACPI: Sleep Button [SLPB] <6>[ 2.459983] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1 <6>[ 2.460494] ACPI: Power Button [PWRF] <7>[ 2.460879] Monitor-Mwait will be used to enter C-1 state <6>[ 2.461659] GHES: HEST is not enabled! <6>[ 2.462069] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled <6>[ 2.462920] Non-volatile memory driver v1.3 <6>[ 2.463226] Linux agpgart interface v0.103 <7>[ 2.463769] mei_me 0000:00:03.0: irq 30 for MSI/MSI-X <6>[ 3.441028] tsc: Refined TSC clocksource calibration: 2992.499 MHz <6>[ 4.441118] Switched to clocksource tsc <3>[ 4.464022] mei_me 0000:00:03.0: wait hw ready failed. status = -62 <3>[ 4.464401] mei_me 0000:00:03.0: hw_start failed ret = -62 <3>[ 6.464019] mei_me 0000:00:03.0: wait hw ready failed. status = -62 <3>[ 6.464398] mei_me 0000:00:03.0: hw_start failed ret = -62 <3>[ 8.464019] mei_me 0000:00:03.0: wait hw ready failed. status = -62 <3>[ 8.464398] mei_me 0000:00:03.0: hw_start failed ret = -62 <3>[ 8.464738] mei_me 0000:00:03.0: reset: reached maximal consecutive resets: disabling the device <3>[ 8.465300] mei_me 0000:00:03.0: reset failed ret = -19 <3>[ 8.465630] mei_me 0000:00:03.0: link layer initialization failed. <3>[ 8.465997] mei_me 0000:00:03.0: init hw failure. <3>[ 8.466432] mei_me 0000:00:03.0: initialization failed. <6>[ 8.466805] rdac: device handler registered <6>[ 8.467139] hp_sw: device handler registered <6>[ 8.467442] emc: device handler registered <6>[ 8.467737] alua: device handler registered <6>[ 8.468066] libphy: Fixed MDIO Bus: probed <6>[ 8.468393] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI <6>[ 8.468793] e1000: Copyright (c) 1999-2006 Intel Corporation. <6>[ 8.469162] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k <6>[ 8.469515] e1000e: Copyright(c) 1999 - 2014 Intel Corporation. <6>[ 8.470021] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode <7>[ 8.470612] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X <6>[ 8.773198] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:13:20:f5:e5:5b <6>[ 8.775419] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection <6>[ 8.775832] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF <6>[ 8.776238] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.13-k <6>[ 8.776638] igb: Copyright (c) 2007-2014 Intel Corporation. <6>[ 8.776997] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.19.1-k <6>[ 8.777519] ixgbe: Copyright (c) 1999-2014 Intel Corporation. <6>[ 8.777934] usbcore: registered new interface driver catc <6>[ 8.778284] usbcore: registered new interface driver kaweth <6>[ 8.778629] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver <6>[ 8.779143] usbcore: registered new interface driver pegasus <6>[ 8.779496] usbcore: registered new interface driver rtl8150 <6>[ 8.779853] usbcore: registered new interface driver asix <6>[ 8.780200] usbcore: registered new interface driver cdc_ether <6>[ 8.780560] usbcore: registered new interface driver cdc_eem <6>[ 8.780916] usbcore: registered new interface driver dm9601 <6>[ 8.781273] usbcore: registered new interface driver smsc75xx <6>[ 8.781633] usbcore: registered new interface driver smsc95xx <6>[ 8.781990] usbcore: registered new interface driver gl620a <6>[ 8.782345] usbcore: registered new interface driver net1080 <6>[ 8.782700] usbcore: registered new interface driver plusb <6>[ 8.783050] usbcore: registered new interface driver rndis_host <6>[ 8.783419] usbcore: registered new interface driver cdc_subset <6>[ 8.783783] usbcore: registered new interface driver zaurus <6>[ 8.784138] usbcore: registered new interface driver MOSCHIP usb-ethernet driver <6>[ 8.784656] usbcore: registered new interface driver int51x1 <6>[ 8.785013] usbcore: registered new interface driver ipheth <6>[ 8.785366] usbcore: registered new interface driver sierra_net <6>[ 8.785761] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver <6>[ 8.786148] ehci-pci: EHCI PCI platform driver <6>[ 8.786578] ehci-pci 0000:00:1a.7: EHCI Host Controller <6>[ 8.786944] ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 1 <6>[ 8.787463] ehci-pci 0000:00:1a.7: debug port 1 <7>[ 8.791653] ehci-pci 0000:00:1a.7: cache line size of 64 is not supported <6>[ 8.792057] ehci-pci 0000:00:1a.7: irq 17, io mem 0x93125c00 <6>[ 8.798017] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00 <6>[ 8.798418] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 <6>[ 8.798813] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.799315] usb usb1: Product: EHCI Host Controller <6>[ 8.799632] usb usb1: Manufacturer: Linux 3.17.0-gda9a9f1 ehci_hcd <6>[ 8.799999] usb usb1: SerialNumber: 0000:00:1a.7 <6>[ 8.800402] hub 1-0:1.0: USB hub found <6>[ 8.800682] hub 1-0:1.0: 6 ports detected <7>[ 8.801206] IOAPIC[0]: Set routing entry (2-23 -> 0xd2 -> IRQ 23 Mode:1 Active:1 Dest:15) <6>[ 8.801758] ehci-pci 0000:00:1d.7: EHCI Host Controller <6>[ 8.802126] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2 <6>[ 8.802640] ehci-pci 0000:00:1d.7: debug port 1 <7>[ 8.806852] ehci-pci 0000:00:1d.7: cache line size of 64 is not supported <6>[ 8.807254] ehci-pci 0000:00:1d.7: irq 23, io mem 0x93125800 <6>[ 8.813016] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00 <6>[ 8.813404] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 <6>[ 8.813795] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.814297] usb usb2: Product: EHCI Host Controller <6>[ 8.814614] usb usb2: Manufacturer: Linux 3.17.0-gda9a9f1 ehci_hcd <6>[ 8.814981] usb usb2: SerialNumber: 0000:00:1d.7 <6>[ 8.815375] hub 2-0:1.0: USB hub found <6>[ 8.815653] hub 2-0:1.0: 6 ports detected <6>[ 8.816072] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver <6>[ 8.816444] ohci-pci: OHCI PCI platform driver <6>[ 8.816756] uhci_hcd: USB Universal Host Controller Interface driver <6>[ 8.817260] uhci_hcd 0000:00:1a.0: UHCI Host Controller <6>[ 8.817626] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3 <6>[ 8.818140] uhci_hcd 0000:00:1a.0: detected 2 ports <6>[ 8.818479] uhci_hcd 0000:00:1a.0: irq 18, io base 0x000020e0 <6>[ 8.818866] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.819260] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.819759] usb usb3: Product: UHCI Host Controller <6>[ 8.820079] usb usb3: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.820446] usb usb3: SerialNumber: 0000:00:1a.0 <6>[ 8.820837] hub 3-0:1.0: USB hub found <6>[ 8.821119] hub 3-0:1.0: 2 ports detected <7>[ 8.821584] IOAPIC[0]: Set routing entry (2-21 -> 0xe2 -> IRQ 21 Mode:1 Active:1 Dest:15) <6>[ 8.822131] uhci_hcd 0000:00:1a.1: UHCI Host Controller <6>[ 8.822497] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4 <6>[ 8.823010] uhci_hcd 0000:00:1a.1: detected 2 ports <6>[ 8.823350] uhci_hcd 0000:00:1a.1: irq 21, io base 0x000020c0 <6>[ 8.823737] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.824131] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.824630] usb usb4: Product: UHCI Host Controller <6>[ 8.824947] usb usb4: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.825317] usb usb4: SerialNumber: 0000:00:1a.1 <6>[ 8.825707] hub 4-0:1.0: USB hub found <6>[ 8.825986] hub 4-0:1.0: 2 ports detected <6>[ 8.826456] uhci_hcd 0000:00:1a.2: UHCI Host Controller <6>[ 8.826818] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 5 <6>[ 8.827332] uhci_hcd 0000:00:1a.2: detected 2 ports <6>[ 8.827663] uhci_hcd 0000:00:1a.2: irq 17, io base 0x000020a0 <6>[ 8.828053] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.828444] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.828943] usb usb5: Product: UHCI Host Controller <6>[ 8.829264] usb usb5: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.829631] usb usb5: SerialNumber: 0000:00:1a.2 <6>[ 8.830031] hub 5-0:1.0: USB hub found <6>[ 8.830310] hub 5-0:1.0: 2 ports detected <6>[ 8.830779] uhci_hcd 0000:00:1d.0: UHCI Host Controller <6>[ 8.831146] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 6 <6>[ 8.831656] uhci_hcd 0000:00:1d.0: detected 2 ports <6>[ 8.831987] uhci_hcd 0000:00:1d.0: irq 23, io base 0x00002080 <6>[ 8.832376] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.832767] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.833269] usb usb6: Product: UHCI Host Controller <6>[ 8.833587] usb usb6: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.833954] usb usb6: SerialNumber: 0000:00:1d.0 <6>[ 8.834346] hub 6-0:1.0: USB hub found <6>[ 8.834625] hub 6-0:1.0: 2 ports detected <6>[ 8.835096] uhci_hcd 0000:00:1d.1: UHCI Host Controller <6>[ 8.835459] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 7 <6>[ 8.835969] uhci_hcd 0000:00:1d.1: detected 2 ports <6>[ 8.836312] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00002060 <6>[ 8.836699] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.837092] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.837592] usb usb7: Product: UHCI Host Controller <6>[ 8.837909] usb usb7: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.838279] usb usb7: SerialNumber: 0000:00:1d.1 <6>[ 8.838670] hub 7-0:1.0: USB hub found <6>[ 8.838949] hub 7-0:1.0: 2 ports detected <6>[ 8.839422] uhci_hcd 0000:00:1d.2: UHCI Host Controller <6>[ 8.839784] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 8 <6>[ 8.840297] uhci_hcd 0000:00:1d.2: detected 2 ports <6>[ 8.840629] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00002040 <6>[ 8.841019] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001 <6>[ 8.841410] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 <6>[ 8.841908] usb usb8: Product: UHCI Host Controller <6>[ 8.842229] usb usb8: Manufacturer: Linux 3.17.0-gda9a9f1 uhci_hcd <6>[ 8.842596] usb usb8: SerialNumber: 0000:00:1d.2 <6>[ 8.842987] hub 8-0:1.0: USB hub found <6>[ 8.843270] hub 8-0:1.0: 2 ports detected <6>[ 8.843685] usbcore: registered new interface driver usbserial <6>[ 8.844050] usbcore: registered new interface driver usbserial_generic <6>[ 8.844436] usbserial: USB Serial support registered for generic <6>[ 8.844820] i8042: PNP: No PS/2 controller found. Probing ports directly. <3>[ 9.876604] i8042: No controller found <6>[ 9.876925] mousedev: PS/2 mouse device common for all mice <6>[ 9.877481] rtc_cmos 00:01: RTC can wake from S4 <6>[ 9.877898] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0 <6>[ 9.878287] rtc_cmos 00:01: alarms up to one month, 114 bytes nvram, hpet irqs <6>[ 9.878808] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11 <6>[ 9.879165] iTCO_vendor_support: vendor-support=0 <6>[ 9.879746] hidraw: raw HID events driver (C) Jiri Kosina <6>[ 9.880201] usbcore: registered new interface driver usbhid <6>[ 9.880545] usbhid: USB HID core driver <6>[ 9.880855] drop_monitor: Initializing network drop monitor service <6>[ 9.881287] TCP: cubic registered <6>[ 9.881548] Initializing XFRM netlink socket <6>[ 9.881989] NET: Registered protocol family 10 <6>[ 9.882518] NET: Registered protocol family 17 <6>[ 9.882829] 9pnet: Installing 9P2000 support <7>[ 9.883391] <7>[ 9.883391] printing PIC contents <7>[ 9.883798] ... PIC IMR: ffff <7>[ 9.884047] ... PIC IRR: 0c00 <7>[ 9.884303] ... PIC ISR: 0000 <7>[ 9.884552] ... PIC ELCR: 0e00 <7>[ 9.884807] printing local APIC contents on CPU#0/0: <6>[ 9.885129] ... APIC ID: 00000000 (0) <6>[ 9.885416] ... APIC VERSION: 00050014 <7>[ 9.885690] ... APIC TASKPRI: 00000000 (00) <7>[ 9.885805] ... APIC PROCPRI: 00000000 <7>[ 9.885805] ... APIC LDR: 01000000 <7>[ 9.885805] ... APIC DFR: ffffffff <7>[ 9.885805] ... APIC SPIV: 000001ff <7>[ 9.885805] ... APIC ISR field: <4>[ 9.885805] 0000000000000000000000000000000000000000000000000000000000000000 <7>[ 9.885805] ... APIC TMR field: <4>[ 9.885805] 0000000000000000000200000000000600020000000000020000000000000002 <7>[ 9.885805] ... APIC IRR field: <4>[ 9.885805] 0000000000000000000000000000000000000000000000000000000000000000 <7>[ 9.885805] ... APIC ESR: 00000000 <7>[ 9.885805] ... APIC ICR: 000008fd <7>[ 9.885805] ... APIC ICR2: 02000000 <7>[ 9.885805] ... APIC LVTT: 000000ef <7>[ 9.885805] ... APIC LVTPC: 00000400 <7>[ 9.885805] ... APIC LVT0: 00010700 <7>[ 9.885805] ... APIC LVT1: 00000400 <7>[ 9.885805] ... APIC LVTERR: 000000fe <7>[ 9.885805] ... APIC TMICT: 00129500 <7>[ 9.885805] ... APIC TMCCT: 000eea1f <7>[ 9.885805] ... APIC TDCR: 00000003 <4>[ 9.885805] <7>[ 9.894703] number of MP IRQ sources: 15. <7>[ 9.894993] number of IO-APIC #2 registers: 24. <6>[ 9.895299] testing the IO APIC....................... <7>[ 9.895630] IO APIC #2...... <7>[ 9.895870] .... register #00: 00000000 <7>[ 9.896149] ....... : physical APIC id: 00 <7>[ 9.896446] ....... : Delivery Type: 0 <7>[ 9.896729] ....... : LTS : 0 <7>[ 9.897014] .... register #01: 00170020 <7>[ 9.897291] ....... : max redirection entries: 17 <7>[ 9.897613] ....... : PRQ implemented: 0 <7>[ 9.897907] ....... : IO APIC version: 20 <7>[ 9.898205] .... IRQ redirection table: <4>[ 9.898485] 1 0 0 0 0 0 0 00 <4>[ 9.898790] 0 0 0 0 0 1 1 31 <4>[ 9.899098] 0 0 0 0 0 1 1 30 <4>[ 9.899404] 0 0 0 0 0 1 1 33 <4>[ 9.899710] 0 0 0 0 0 1 1 34 <4>[ 9.900018] 0 0 0 0 0 1 1 35 <4>[ 9.900323] 0 0 0 0 0 1 1 36 <4>[ 9.900629] 0 0 0 0 0 1 1 37 <4>[ 9.900934] 0 0 0 0 0 1 1 38 <4>[ 9.901243] 0 1 0 0 0 1 1 39 <4>[ 9.901549] 0 0 0 0 0 1 1 3A <4>[ 9.901854] 0 0 0 0 0 1 1 3B <4>[ 9.902162] 0 0 0 0 0 1 1 3C <4>[ 9.902468] 0 0 0 0 0 1 1 3D <4>[ 9.902774] 0 0 0 0 0 1 1 3E <4>[ 9.903082] 0 0 0 0 0 1 1 3F <4>[ 9.903387] 1 1 0 1 0 1 1 C1 <4>[ 9.903693] 0 1 0 1 0 1 1 E1 <4>[ 9.903998] 0 1 0 1 0 1 1 62 <4>[ 9.904306] 0 1 0 1 0 1 1 82 <4>[ 9.904613] 1 1 0 1 0 1 1 42 <4>[ 9.904918] 0 1 0 1 0 1 1 E2 <4>[ 9.905226] 1 0 0 0 0 0 0 00 <4>[ 9.905531] 0 1 0 1 0 1 1 D2 <7>[ 9.905835] IRQ to pin mappings: <7>[ 9.906090] IRQ0 -> 0:2 <7>[ 9.906392] IRQ1 -> 0:1 <7>[ 9.906694] IRQ3 -> 0:3 <7>[ 9.906995] IRQ4 -> 0:4 <7>[ 9.907298] IRQ5 -> 0:5 <7>[ 9.907599] IRQ6 -> 0:6 <7>[ 9.907901] IRQ7 -> 0:7 <7>[ 9.908204] IRQ8 -> 0:8 <7>[ 9.908505] IRQ9 -> 0:9 <7>[ 9.908806] IRQ10 -> 0:10 <7>[ 9.909116] IRQ11 -> 0:11 <7>[ 9.909425] IRQ12 -> 0:12 <7>[ 9.909732] IRQ13 -> 0:13 <7>[ 9.910042] IRQ14 -> 0:14 <7>[ 9.910350] IRQ15 -> 0:15 <7>[ 9.910658] IRQ16 -> 0:16 <7>[ 9.910966] IRQ17 -> 0:17 <7>[ 9.911276] IRQ18 -> 0:18 <7>[ 9.911583] IRQ19 -> 0:19 <7>[ 9.911890] IRQ20 -> 0:20 <7>[ 9.912200] IRQ21 -> 0:21 <7>[ 9.912508] IRQ23 -> 0:23 <6>[ 9.912816] .................................... done. <5>[ 9.913232] Loading compiled-in X.509 certificates <5>[ 9.914505] Loaded X.509 cert 'Magrathea: Glacier signing key: 549906708e217ff080a0cf5885ca3b18293f58d8' <6>[ 9.915107] registered taskstats version 1 <5>[ 9.916856] Key type trusted registered <5>[ 9.918411] Key type encrypted registered <6>[ 9.920084] ima: No TPM chip found, activating TPM-bypass! <6>[ 9.920460] evm: HMAC attrs: 0x1 <6>[ 9.921084] rtc_cmos 00:01: setting system clock to 2014-10-14 21:24:51 UTC (1413321891) <7>[ 10.278980] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X <6>[ 10.337029] usb 5-1: new low-speed USB device number 2 using uhci_hcd <7>[ 10.380057] e1000e 0000:00:19.0: irq 30 for MSI/MSI-X <6>[ 10.380446] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready <6>[ 10.780049] usb 5-1: New USB device found, idVendor=0557, idProduct=2220 <6>[ 10.780455] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 <6>[ 10.780860] usb 5-1: Product: ATEN CS-1758/54 <6>[ 10.781168] usb 5-1: Manufacturer: ATEN <6>[ 10.859464] input: ATEN ATEN CS-1758/54 as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.0/0003:0557:2220.0001/input/input2 <6>[ 10.860194] hid-generic 0003:0557:2220.0001: input,hidraw0: USB HID v1.10 Keyboard [ATEN ATEN CS-1758/54] on usb-0000:00:1a.2-1/input0 <6>[ 10.901407] input: ATEN ATEN CS-1758/54 as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.1/0003:0557:2220.0002/input/input3 <6>[ 10.902144] hid-generic 0003:0557:2220.0002: input,hidraw1: USB HID v1.10 Mouse [ATEN ATEN CS-1758/54] on usb-0000:00:1a.2-1/input1 <6>[ 12.398873] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx <6>[ 12.400040] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready <5>[ 12.411019] Sending DHCP requests ., OK <4>[ 12.450032] IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.120 <6>[ 12.450629] IP-Config: Complete: <6>[ 12.450884] device=eth0, hwaddr=00:13:20:f5:e5:5b, ipaddr=192.168.1.120, mask=255.255.255.0, gw=192.168.1.1 <6>[ 12.451503] host=bay, domain=lkp.intel.com, nis-domain=(none) <6>[ 12.451869] bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath= <6>[ 12.452167] nameserver0=192.168.1.1 <7>[ 12.452627] PM: Hibernation image not present or could not be loaded. <6>[ 12.454231] Freeing unused kernel memory: 1808K (ffffffff81dd6000 - ffffffff81f9a000) <6>[ 12.553574] EDAC MC: Ver: 3.0.0 <6>[ 12.555868] EDAC MC0: Giving out device to module x38_edac controller x38: DEV 0000:00:00.0 (POLLED) <6>[ 12.557890] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 <6>[ 12.583722] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt <7>[ 12.584398] IOAPIC[0]: Set routing entry (2-22 -> 0x53 -> IRQ 22 Mode:1 Active:1 Dest:15) <7>[ 12.585020] snd_hda_intel 0000:00:1b.0: irq 31 for MSI/MSI-X <7>[ 12.592660] libata version 3.00 loaded. <7>[ 12.598479] ahci 0000:00:1f.2: version 3.0 <7>[ 12.598966] ahci 0000:00:1f.2: irq 32 for MSI/MSI-X <6>[ 12.599370] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode <6>[ 12.599924] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pmp pio slum part ccc ems <6>[ 12.602712] input: PC Speaker as /devices/platform/pcspkr/input/input4 <6>[ 12.603882] sound hdaudioC0D2: autoconfig: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line <6>[ 12.604439] sound hdaudioC0D2: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) <6>[ 12.604824] sound hdaudioC0D2: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) <6>[ 12.605215] sound hdaudioC0D2: mono: mono_out=0x0 <6>[ 12.605551] sound hdaudioC0D2: dig-out=0x1e/0x0 <6>[ 12.605880] sound hdaudioC0D2: inputs: <6>[ 12.606182] sound hdaudioC0D2: Front Mic=0x19 <6>[ 12.606508] sound hdaudioC0D2: Rear Mic=0x18 <6>[ 12.606833] sound hdaudioC0D2: Line=0x1a <6>[ 12.607141] sound hdaudioC0D2: dig-in=0x1f <3>[ 12.607657] Error: Driver 'pcspkr' is already registered, aborting... <6>[ 12.612343] scsi host0: ahci <6>[ 12.613335] scsi host1: ahci <6>[ 12.613765] scsi host2: ahci <6>[ 12.614204] scsi host3: ahci <6>[ 12.614575] scsi host4: ahci <6>[ 12.614952] scsi host5: ahci <6>[ 12.615259] ata1: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125100 irq 32 <6>[ 12.615780] ata2: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125180 irq 32 <6>[ 12.616298] ata3: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125200 irq 32 <6>[ 12.616816] ata4: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125280 irq 32 <6>[ 12.617340] ata5: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125300 irq 32 <6>[ 12.617857] ata6: SATA max UDMA/133 abar m2048@0x93125000 port 0x93125380 irq 32 <6>[ 12.625770] input: HDA Intel Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input5 <6>[ 12.626426] input: HDA Intel Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6 <6>[ 12.628797] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7 <6>[ 12.629431] input: HDA Intel Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8 <6>[ 12.630096] input: HDA Intel Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9 <6>[ 12.630766] input: HDA Intel Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10 <6>[ 12.631455] input: HDA Intel Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11 <6>[ 12.632141] input: HDA Intel Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12 <5>[ 12.660047] firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x2 <6>[ 12.923031] ata5: SATA link down (SStatus 0 SControl 300) <6>[ 12.923402] ata6: SATA link down (SStatus 0 SControl 300) <6>[ 12.923781] ata4: SATA link down (SStatus 0 SControl 300) <6>[ 13.078018] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) <6>[ 13.078407] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) <6>[ 13.079474] ata2.00: ATA-8: ST3750528AS, CC38, max UDMA/133 <6>[ 13.079829] ata2.00: 1465149168 sectors, multi 0: LBA48 NCQ (depth 31/32) <6>[ 13.080380] ata1.00: ATA-8: ST3750528AS, CC38, max UDMA/133 <6>[ 13.080734] ata1.00: 1465149168 sectors, multi 0: LBA48 NCQ (depth 31/32) <6>[ 13.082217] ata2.00: configured for UDMA/133 <6>[ 13.082663] ata1.00: configured for UDMA/133 <5>[ 13.083082] scsi 0:0:0:0: Direct-Access ATA ST3750528AS CC38 PQ: 0 ANSI: 5 <5>[ 13.083957] scsi 1:0:0:0: Direct-Access ATA ST3750528AS CC38 PQ: 0 ANSI: 5 <5>[ 13.161088] firewire_core 0000:05:00.0: created device fw0: GUID 0002b30037134437, S400 <6>[ 13.231015] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300) <6>[ 14.215786] ata3.00: ATAPI: PLEXTOR DVDR PX-755A, 1.05, max UDMA/66 <6>[ 14.217665] ata3.00: configured for UDMA/66 <5>[ 14.218653] scsi 2:0:0:0: CD-ROM PLEXTOR DVDR PX-755A 1.05 PQ: 0 ANSI: 5 <5>[ 14.273366] sd 1:0:0:0: [sdb] 1465149168 512-byte logical blocks: (750 GB/698 GiB) <5>[ 14.273367] sd 0:0:0:0: [sda] 1465149168 512-byte logical blocks: (750 GB/698 GiB) <5>[ 14.273403] sd 0:0:0:0: [sda] Write Protect is off <7>[ 14.273404] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 <5>[ 14.273419] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA <5>[ 14.275695] sd 1:0:0:0: [sdb] Write Protect is off <7>[ 14.276031] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 <5>[ 14.276386] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA <5>[ 14.278528] sd 0:0:0:0: Attached scsi generic sg0 type 0 <5>[ 14.278911] sd 1:0:0:0: Attached scsi generic sg1 type 0 <5>[ 14.279299] sr 2:0:0:0: Attached scsi generic sg2 type 5 <6>[ 14.286931] sda: sda1 sda2 <5>[ 14.287429] sd 0:0:0:0: [sda] Attached SCSI disk <6>[ 14.288066] sr 2:0:0:0: [sr0] scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray <6>[ 14.288604] cdrom: Uniform CD-ROM driver Revision: 3.20 <7>[ 14.289055] sr 2:0:0:0: Attached scsi CD-ROM sr0 <6>[ 14.309551] sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 > <5>[ 14.310194] sd 1:0:0:0: [sdb] Attached SCSI disk <5>[ 14.481228] random: nonblocking pool is initialized <6>[ 14.978011] raid6: sse2x1 gen() 4917 MB/s <4>[ 14.995007] raid6: sse2x1 xor() 5003 MB/s <6>[ 15.012011] raid6: sse2x2 gen() 7250 MB/s <4>[ 15.029003] raid6: sse2x2 xor() 6234 MB/s <6>[ 15.046012] raid6: sse2x4 gen() 8808 MB/s <4>[ 15.063003] raid6: sse2x4 xor() 6835 MB/s <6>[ 15.063298] raid6: using algorithm sse2x4 gen() 8808 MB/s, xor() 6835 MB/s, rmw enabled <6>[ 15.063904] raid6: using ssse3x2 recovery algorithm <6>[ 15.065489] xor: measuring software checksum speed <6>[ 15.075008] prefetch64-sse: 12304.000 MB/sec <6>[ 15.085003] generic_sse: 10848.000 MB/sec <6>[ 15.085297] xor: using function: prefetch64-sse (12304.000 MB/sec) <6>[ 15.099848] Btrfs loaded <6>[ 15.103879] BTRFS: device fsid 73ffd6b5-e48b-4c8e-89ed-e57752c4ed90 devid 1 transid 32 /dev/sdb3 <6>[ 15.615025] floppy0: no floppy controllers found <6>[ 23.030571] ipmi message handler version 39.2 <6>[ 23.032318] IPMI Watchdog: driver initialized <5>[ 25.956576] XFS (sda1): Mounting V4 Filesystem <6>[ 26.194468] XFS (sda1): Ending clean mount <4>[ 27.258450] ------------[ cut here ]------------ <4>[ 27.258789] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.259443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.262734] CPU: 3 PID: 2339 Comm: fallocate Not tainted 3.17.0-gda9a9f1 #1 <4>[ 27.263153] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.263780] 0000000000000009 ffff88007a43fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.264492] ffff88007a43fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f05a8 <4>[ 27.265199] 0000000000000000 ffff88005b6f05a8 0000000004000000 ffff88007a43fdd0 <4>[ 27.265906] Call Trace: <4>[ 27.266165] [] dump_stack+0x4d/0x66 <4>[ 27.266511] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.266900] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.267286] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.267690] [] truncate_setsize+0x27/0x40 <4>[ 27.268068] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.268442] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.268821] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.269215] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.269596] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.270009] [] do_fallocate+0x123/0x1b0 <4>[ 27.270380] [] SyS_fallocate+0x43/0x70 <4>[ 27.270738] [] system_call_fastpath+0x16/0x1b <4>[ 27.271119] ---[ end trace 6a3b1350ad399610 ]--- <4>[ 27.274498] ------------[ cut here ]------------ <4>[ 27.274817] WARNING: CPU: 2 PID: 2342 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.275460] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.278575] CPU: 2 PID: 2342 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.279121] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.279714] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.280397] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c0381a8 <4>[ 27.281077] 0000000000000000 ffff88007c0381a8 0000000004000000 ffff88007a61fdd0 <4>[ 27.281749] Call Trace: <4>[ 27.281978] [] dump_stack+0x4d/0x66 <4>[ 27.282323] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.282693] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.283059] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.283445] [] truncate_setsize+0x27/0x40 <4>[ 27.283797] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.284174] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.284545] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.284911] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.285278] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.285668] [] do_fallocate+0x123/0x1b0 <4>[ 27.286031] [] SyS_fallocate+0x43/0x70 <4>[ 27.286378] [] system_call_fastpath+0x16/0x1b <4>[ 27.286742] ---[ end trace 6a3b1350ad399611 ]--- <4>[ 27.290197] ------------[ cut here ]------------ <4>[ 27.290514] WARNING: CPU: 2 PID: 2344 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.291154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.294279] CPU: 2 PID: 2344 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.294815] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.295410] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 27.296090] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c0385a8 <4>[ 27.296757] 0000000000000000 ffff88007c0385a8 0000000004000000 ffff88007a477dd0 <4>[ 27.297437] Call Trace: <4>[ 27.297671] [] dump_stack+0x4d/0x66 <4>[ 27.298017] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.298388] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.298745] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.299135] [] truncate_setsize+0x27/0x40 <4>[ 27.299492] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.299850] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.300224] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.300594] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.300952] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.301351] [] do_fallocate+0x123/0x1b0 <4>[ 27.301704] [] SyS_fallocate+0x43/0x70 <4>[ 27.302063] [] system_call_fastpath+0x16/0x1b <4>[ 27.302432] ---[ end trace 6a3b1350ad399612 ]--- <4>[ 27.305761] ------------[ cut here ]------------ <4>[ 27.306093] WARNING: CPU: 2 PID: 2346 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.306711] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.309828] CPU: 2 PID: 2346 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.310371] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.310958] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.311630] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c0389a8 <4>[ 27.312309] 0000000000000000 ffff88007c0389a8 0000000004000000 ffff88007a53fdd0 <4>[ 27.312976] Call Trace: <4>[ 27.313210] [] dump_stack+0x4d/0x66 <4>[ 27.313542] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.313907] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.314270] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.314651] [] truncate_setsize+0x27/0x40 <4>[ 27.315011] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.315375] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.315740] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.316110] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.316468] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.316853] [] do_fallocate+0x123/0x1b0 <4>[ 27.317202] [] SyS_fallocate+0x43/0x70 <4>[ 27.317543] [] system_call_fastpath+0x16/0x1b <4>[ 27.317907] ---[ end trace 6a3b1350ad399613 ]--- <4>[ 27.321274] ------------[ cut here ]------------ <4>[ 27.321589] WARNING: CPU: 2 PID: 2348 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.322225] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.325346] CPU: 2 PID: 2348 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.325882] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.326472] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.327144] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c038da8 <4>[ 27.327811] 0000000000000000 ffff88007c038da8 0000000004000000 ffff88007a42fdd0 <4>[ 27.328494] Call Trace: <4>[ 27.328723] [] dump_stack+0x4d/0x66 <4>[ 27.329059] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.329424] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.329782] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.330168] [] truncate_setsize+0x27/0x40 <4>[ 27.330521] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.330879] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.331254] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.331619] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.331977] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.332366] [] do_fallocate+0x123/0x1b0 <4>[ 27.332711] [] SyS_fallocate+0x43/0x70 <4>[ 27.333055] [] system_call_fastpath+0x16/0x1b <4>[ 27.333420] ---[ end trace 6a3b1350ad399614 ]--- <4>[ 27.336930] ------------[ cut here ]------------ <4>[ 27.337271] WARNING: CPU: 3 PID: 2350 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.337917] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.342999] CPU: 3 PID: 2350 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.343561] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.344177] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.344890] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f09a8 <4>[ 27.345603] 0000000000000000 ffff88005b6f09a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.346309] Call Trace: <4>[ 27.346546] [] dump_stack+0x4d/0x66 <4>[ 27.346895] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.347281] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.347652] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.348055] [] truncate_setsize+0x27/0x40 <4>[ 27.348424] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.348800] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.349182] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.349571] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.349946] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.350352] [] do_fallocate+0x123/0x1b0 <4>[ 27.350716] [] SyS_fallocate+0x43/0x70 <4>[ 27.351079] [] system_call_fastpath+0x16/0x1b <4>[ 27.351457] ---[ end trace 6a3b1350ad399615 ]--- <4>[ 27.354808] ------------[ cut here ]------------ <4>[ 27.355146] WARNING: CPU: 3 PID: 2352 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.355800] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.359104] CPU: 3 PID: 2352 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.359667] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.360283] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.360997] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f0da8 <4>[ 27.361712] 0000000000000000 ffff88005b6f0da8 0000000004000000 ffff88007a53fdd0 <4>[ 27.362427] Call Trace: <4>[ 27.362663] [] dump_stack+0x4d/0x66 <4>[ 27.363018] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.363403] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.363774] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.364175] [] truncate_setsize+0x27/0x40 <4>[ 27.364546] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.364920] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.365303] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.365691] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.366074] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.366481] [] do_fallocate+0x123/0x1b0 <4>[ 27.366847] [] SyS_fallocate+0x43/0x70 <4>[ 27.367210] [] system_call_fastpath+0x16/0x1b <4>[ 27.367589] ---[ end trace 6a3b1350ad399616 ]--- <4>[ 27.370871] ------------[ cut here ]------------ <4>[ 27.371209] WARNING: CPU: 3 PID: 2354 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.371853] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.375151] CPU: 3 PID: 2354 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.375714] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.376329] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.377042] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f11a8 <4>[ 27.377746] 0000000000000000 ffff88005b6f11a8 0000000004000000 ffff88007a61fdd0 <4>[ 27.378455] Call Trace: <4>[ 27.378692] [] dump_stack+0x4d/0x66 <4>[ 27.379047] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.379431] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.379802] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.380203] [] truncate_setsize+0x27/0x40 <4>[ 27.380573] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.380947] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.381329] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.381719] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.382103] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.382510] [] do_fallocate+0x123/0x1b0 <4>[ 27.382876] [] SyS_fallocate+0x43/0x70 <4>[ 27.383237] [] system_call_fastpath+0x16/0x1b <4>[ 27.383615] ---[ end trace 6a3b1350ad399617 ]--- <4>[ 27.386980] ------------[ cut here ]------------ <4>[ 27.387319] WARNING: CPU: 2 PID: 2356 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.387943] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.391065] CPU: 2 PID: 2356 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.391601] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.392193] 0000000000000009 ffff88007a68fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.392862] ffff88007a68fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c0391a8 <4>[ 27.393542] 0000000000000000 ffff88007c0391a8 0000000004000000 ffff88007a68fdd0 <4>[ 27.394214] Call Trace: <4>[ 27.394443] [] dump_stack+0x4d/0x66 <4>[ 27.394774] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.395144] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.395502] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.395882] [] truncate_setsize+0x27/0x40 <4>[ 27.396243] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.396601] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.396965] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.397342] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.397701] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.398090] [] do_fallocate+0x123/0x1b0 <4>[ 27.398435] [] SyS_fallocate+0x43/0x70 <4>[ 27.398776] [] system_call_fastpath+0x16/0x1b <4>[ 27.399152] ---[ end trace 6a3b1350ad399618 ]--- <4>[ 27.402705] ------------[ cut here ]------------ <4>[ 27.403047] WARNING: CPU: 3 PID: 2358 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.403692] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.406995] CPU: 3 PID: 2358 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.407562] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.408180] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.408892] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f15a8 <4>[ 27.409609] 0000000000000000 ffff88005b6f15a8 0000000004000000 ffff88007a42fdd0 <4>[ 27.410319] Call Trace: <4>[ 27.410556] [] dump_stack+0x4d/0x66 <4>[ 27.410908] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.411295] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.411668] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.412071] [] truncate_setsize+0x27/0x40 <4>[ 27.412443] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.412817] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.413199] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.413588] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.413968] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.414373] [] do_fallocate+0x123/0x1b0 <4>[ 27.414736] [] SyS_fallocate+0x43/0x70 <4>[ 27.415099] [] system_call_fastpath+0x16/0x1b <4>[ 27.415477] ---[ end trace 6a3b1350ad399619 ]--- <4>[ 27.418864] ------------[ cut here ]------------ <4>[ 27.419203] WARNING: CPU: 2 PID: 2360 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.419826] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.422950] CPU: 2 PID: 2360 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.423491] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.424082] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.424750] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c0395a8 <4>[ 27.425428] 0000000000000000 ffff88007c0395a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.427808] Call Trace: <4>[ 27.428048] [] dump_stack+0x4d/0x66 <4>[ 27.428380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.428744] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.429107] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.429488] [] truncate_setsize+0x27/0x40 <4>[ 27.429839] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.430202] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.430567] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.430932] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.431302] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.431687] [] do_fallocate+0x123/0x1b0 <4>[ 27.432036] [] SyS_fallocate+0x43/0x70 <4>[ 27.432378] [] system_call_fastpath+0x16/0x1b <4>[ 27.432741] ---[ end trace 6a3b1350ad39961a ]--- <4>[ 27.436165] ------------[ cut here ]------------ <4>[ 27.436513] WARNING: CPU: 3 PID: 2362 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.437176] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.440481] CPU: 3 PID: 2362 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.441047] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.441669] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.442374] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f19a8 <4>[ 27.443082] 0000000000000000 ffff88005b6f19a8 0000000004000000 ffff88007a53fdd0 <4>[ 27.443787] Call Trace: <4>[ 27.444028] [] dump_stack+0x4d/0x66 <4>[ 27.444379] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.444763] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.445138] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.445536] [] truncate_setsize+0x27/0x40 <4>[ 27.445905] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.446286] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.446666] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.447051] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.447425] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.447828] [] do_fallocate+0x123/0x1b0 <4>[ 27.448195] [] SyS_fallocate+0x43/0x70 <4>[ 27.448554] [] system_call_fastpath+0x16/0x1b <4>[ 27.448932] ---[ end trace 6a3b1350ad39961b ]--- <4>[ 27.452587] ------------[ cut here ]------------ <4>[ 27.452906] WARNING: CPU: 2 PID: 2366 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.453535] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.456650] CPU: 2 PID: 2366 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.457190] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.457779] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.458451] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c0399a8 <4>[ 27.459131] 0000000000000000 ffff88007c0399a8 0000000004000000 ffff88007a61fdd0 <4>[ 27.459798] Call Trace: <4>[ 27.460032] [] dump_stack+0x4d/0x66 <4>[ 27.460365] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.460729] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.461103] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.461483] [] truncate_setsize+0x27/0x40 <4>[ 27.461834] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.462206] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.462587] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.462961] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.463334] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.463726] [] do_fallocate+0x123/0x1b0 <4>[ 27.464076] [] SyS_fallocate+0x43/0x70 <4>[ 27.464417] [] system_call_fastpath+0x16/0x1b <4>[ 27.464782] ---[ end trace 6a3b1350ad39961c ]--- <4>[ 27.468219] ------------[ cut here ]------------ <4>[ 27.468559] WARNING: CPU: 3 PID: 2370 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.469211] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.472526] CPU: 3 PID: 2370 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.473089] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.473703] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 27.474419] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f1da8 <4>[ 27.475131] 0000000000000000 ffff88005b6f1da8 0000000004000000 ffff88007a463dd0 <4>[ 27.475838] Call Trace: <4>[ 27.476080] [] dump_stack+0x4d/0x66 <4>[ 27.476432] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.476815] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.477190] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.477588] [] truncate_setsize+0x27/0x40 <4>[ 27.477959] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.478337] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.478718] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.479109] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.479491] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.479893] [] do_fallocate+0x123/0x1b0 <4>[ 27.480259] [] SyS_fallocate+0x43/0x70 <4>[ 27.480620] [] system_call_fastpath+0x16/0x1b <4>[ 27.480997] ---[ end trace 6a3b1350ad39961d ]--- <4>[ 27.484521] ------------[ cut here ]------------ <4>[ 27.484845] WARNING: CPU: 3 PID: 2372 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.485501] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.488805] CPU: 3 PID: 2372 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.489378] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.489985] 0000000000000009 ffff88007a43fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.490677] ffff88007a43fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f21a8 <4>[ 27.491396] 0000000000000000 ffff88005b6f21a8 0000000004000000 ffff88007a43fdd0 <4>[ 27.492106] Call Trace: <4>[ 27.492344] [] dump_stack+0x4d/0x66 <4>[ 27.492693] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.493078] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.493450] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.493850] [] truncate_setsize+0x27/0x40 <4>[ 27.494224] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.494596] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.494974] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.495365] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.495747] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.496152] [] do_fallocate+0x123/0x1b0 <4>[ 27.496514] [] SyS_fallocate+0x43/0x70 <4>[ 27.496872] [] system_call_fastpath+0x16/0x1b <4>[ 27.497253] ---[ end trace 6a3b1350ad39961e ]--- <4>[ 27.500777] ------------[ cut here ]------------ <4>[ 27.501113] WARNING: CPU: 3 PID: 2376 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.501759] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.505064] CPU: 3 PID: 2376 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.505627] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.506242] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.506953] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f25a8 <4>[ 27.507661] 0000000000000000 ffff88005b6f25a8 0000000004000000 ffff88007a61fdd0 <4>[ 27.508375] Call Trace: <4>[ 27.508611] [] dump_stack+0x4d/0x66 <4>[ 27.508960] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.509347] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.509719] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.510121] [] truncate_setsize+0x27/0x40 <4>[ 27.510491] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.510866] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.511248] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.511636] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.513788] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.514197] [] do_fallocate+0x123/0x1b0 <4>[ 27.514563] [] SyS_fallocate+0x43/0x70 <4>[ 27.514923] [] system_call_fastpath+0x16/0x1b <4>[ 27.515303] ---[ end trace 6a3b1350ad39961f ]--- <4>[ 27.518753] ------------[ cut here ]------------ <4>[ 27.519094] WARNING: CPU: 0 PID: 2378 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.519714] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.522874] CPU: 0 PID: 2378 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.523417] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.524007] 0000000000000009 ffff88007a447d88 ffffffff81859ea6 0000000000000000 <4>[ 27.524675] ffff88007a447dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7541a8 <4>[ 27.525355] 0000000000000000 ffff88005b7541a8 0000000004000000 ffff88007a447dd0 <4>[ 27.526025] Call Trace: <4>[ 27.526255] [] dump_stack+0x4d/0x66 <4>[ 27.526586] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.526950] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.527324] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.527705] [] truncate_setsize+0x27/0x40 <4>[ 27.528070] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.528428] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.528792] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.529162] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.529521] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.529905] [] do_fallocate+0x123/0x1b0 <4>[ 27.530255] [] SyS_fallocate+0x43/0x70 <4>[ 27.530597] [] system_call_fastpath+0x16/0x1b <4>[ 27.530960] ---[ end trace 6a3b1350ad399620 ]--- <4>[ 27.534392] ------------[ cut here ]------------ <4>[ 27.534724] WARNING: CPU: 3 PID: 2382 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.535388] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.538694] CPU: 3 PID: 2382 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.539261] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.539874] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.540588] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f29a8 <4>[ 27.541299] 0000000000000000 ffff88005b6f29a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.542010] Call Trace: <4>[ 27.542248] [] dump_stack+0x4d/0x66 <4>[ 27.542598] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.542980] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.543355] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.543759] [] truncate_setsize+0x27/0x40 <4>[ 27.544135] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.544507] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.544886] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.545276] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.545658] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.546064] [] do_fallocate+0x123/0x1b0 <4>[ 27.546430] [] SyS_fallocate+0x43/0x70 <4>[ 27.546789] [] system_call_fastpath+0x16/0x1b <4>[ 27.547170] ---[ end trace 6a3b1350ad399621 ]--- <4>[ 27.550787] ------------[ cut here ]------------ <4>[ 27.551120] WARNING: CPU: 2 PID: 2384 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.551738] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.554855] CPU: 2 PID: 2384 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.555401] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.555989] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.556660] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c039da8 <4>[ 27.557336] 0000000000000000 ffff88007c039da8 0000000004000000 ffff88007a53fdd0 <4>[ 27.558008] Call Trace: <4>[ 27.558237] [] dump_stack+0x4d/0x66 <4>[ 27.558569] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.558934] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.559297] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.559679] [] truncate_setsize+0x27/0x40 <4>[ 27.560044] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.560403] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.560768] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.561138] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.561497] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.561881] [] do_fallocate+0x123/0x1b0 <4>[ 27.562231] [] SyS_fallocate+0x43/0x70 <4>[ 27.562573] [] system_call_fastpath+0x16/0x1b <4>[ 27.562937] ---[ end trace 6a3b1350ad399622 ]--- <4>[ 27.566220] ------------[ cut here ]------------ <4>[ 27.566536] WARNING: CPU: 2 PID: 2386 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.567174] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.570288] CPU: 2 PID: 2386 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.570825] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.571416] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.572095] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c03a1a8 <4>[ 27.572763] 0000000000000000 ffff88007c03a1a8 0000000004000000 ffff88007d087dd0 <4>[ 27.573445] Call Trace: <4>[ 27.573673] [] dump_stack+0x4d/0x66 <4>[ 27.574010] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.574375] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.574733] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.575119] [] truncate_setsize+0x27/0x40 <4>[ 27.575471] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.575829] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.576209] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.576574] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.576932] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.577322] [] do_fallocate+0x123/0x1b0 <4>[ 27.577667] [] SyS_fallocate+0x43/0x70 <4>[ 27.578012] [] system_call_fastpath+0x16/0x1b <4>[ 27.578377] ---[ end trace 6a3b1350ad399623 ]--- <4>[ 27.581474] ------------[ cut here ]------------ <4>[ 27.581790] WARNING: CPU: 2 PID: 2388 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.582423] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.585535] CPU: 2 PID: 2388 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.586077] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.586665] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.587347] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c03a5a8 <4>[ 27.588022] 0000000000000000 ffff88007c03a5a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.588689] Call Trace: <4>[ 27.588917] [] dump_stack+0x4d/0x66 <4>[ 27.589256] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.589620] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.589977] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.590362] [] truncate_setsize+0x27/0x40 <4>[ 27.590715] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.591085] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.591451] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.591816] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.592177] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.592563] [] do_fallocate+0x123/0x1b0 <4>[ 27.592908] [] SyS_fallocate+0x43/0x70 <4>[ 27.593254] [] system_call_fastpath+0x16/0x1b <4>[ 27.593619] ---[ end trace 6a3b1350ad399624 ]--- <4>[ 27.596911] ------------[ cut here ]------------ <4>[ 27.597261] WARNING: CPU: 3 PID: 2390 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.597906] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.602986] CPU: 3 PID: 2390 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.603561] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.604183] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 27.604893] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f2da8 <4>[ 27.605605] 0000000000000000 ffff88005b6f2da8 0000000004000000 ffff88007a6dbdd0 <4>[ 27.606313] Call Trace: <4>[ 27.606550] [] dump_stack+0x4d/0x66 <4>[ 27.606900] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.607285] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.607657] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.608060] [] truncate_setsize+0x27/0x40 <4>[ 27.608430] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.608805] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.609187] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.609576] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.609956] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.610360] [] do_fallocate+0x123/0x1b0 <4>[ 27.610723] [] SyS_fallocate+0x43/0x70 <4>[ 27.611085] [] system_call_fastpath+0x16/0x1b <4>[ 27.611464] ---[ end trace 6a3b1350ad399625 ]--- <4>[ 27.614979] ------------[ cut here ]------------ <4>[ 27.615317] WARNING: CPU: 3 PID: 2392 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.615962] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.619271] CPU: 3 PID: 2392 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.619834] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.620452] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 27.621166] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f31a8 <4>[ 27.621869] 0000000000000000 ffff88005b6f31a8 0000000004000000 ffff88007bfc3dd0 <4>[ 27.622589] Call Trace: <4>[ 27.622826] [] dump_stack+0x4d/0x66 <4>[ 27.623184] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.623570] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.623941] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.624344] [] truncate_setsize+0x27/0x40 <4>[ 27.624714] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.625093] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.625472] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.625859] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.626242] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.626645] [] do_fallocate+0x123/0x1b0 <4>[ 27.627010] [] SyS_fallocate+0x43/0x70 <4>[ 27.627368] [] system_call_fastpath+0x16/0x1b <4>[ 27.627746] ---[ end trace 6a3b1350ad399626 ]--- <4>[ 27.631290] ------------[ cut here ]------------ <4>[ 27.631607] WARNING: CPU: 2 PID: 2394 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.632243] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.635360] CPU: 2 PID: 2394 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.635897] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.636489] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.637159] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c03a9a8 <4>[ 27.637827] 0000000000000000 ffff88007c03a9a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.638511] Call Trace: <4>[ 27.638739] [] dump_stack+0x4d/0x66 <4>[ 27.639076] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.639441] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.639799] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.640185] [] truncate_setsize+0x27/0x40 <4>[ 27.640537] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.640895] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.641265] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.641630] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.641988] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.642377] [] do_fallocate+0x123/0x1b0 <4>[ 27.642723] [] SyS_fallocate+0x43/0x70 <4>[ 27.643068] [] system_call_fastpath+0x16/0x1b <4>[ 27.643431] ---[ end trace 6a3b1350ad399627 ]--- <4>[ 27.646731] ------------[ cut here ]------------ <4>[ 27.647064] WARNING: CPU: 2 PID: 2396 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.647681] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.650801] CPU: 2 PID: 2396 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.651343] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.651930] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.652601] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c03ada8 <4>[ 27.653282] 0000000000000000 ffff88007c03ada8 0000000004000000 ffff88007a54fdd0 <4>[ 27.653950] Call Trace: <4>[ 27.654182] [] dump_stack+0x4d/0x66 <4>[ 27.654514] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.654879] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.655252] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.655633] [] truncate_setsize+0x27/0x40 <4>[ 27.655984] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.656351] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.656717] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.657086] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.657444] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.657828] [] do_fallocate+0x123/0x1b0 <4>[ 27.658178] [] SyS_fallocate+0x43/0x70 <4>[ 27.658519] [] system_call_fastpath+0x16/0x1b <4>[ 27.658883] ---[ end trace 6a3b1350ad399628 ]--- <4>[ 27.662168] ------------[ cut here ]------------ <4>[ 27.662499] WARNING: CPU: 3 PID: 2398 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.663160] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.666465] CPU: 3 PID: 2398 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.667035] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.667657] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.668371] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f35a8 <4>[ 27.669084] 0000000000000000 ffff88005b6f35a8 0000000004000000 ffff88007a61fdd0 <4>[ 27.669789] Call Trace: <4>[ 27.670029] [] dump_stack+0x4d/0x66 <4>[ 27.670381] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.670763] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.671138] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.671536] [] truncate_setsize+0x27/0x40 <4>[ 27.671906] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.672284] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.672664] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.673056] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.673439] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.673841] [] do_fallocate+0x123/0x1b0 <4>[ 27.674207] [] SyS_fallocate+0x43/0x70 <4>[ 27.674568] [] system_call_fastpath+0x16/0x1b <4>[ 27.674945] ---[ end trace 6a3b1350ad399629 ]--- <4>[ 27.678450] ------------[ cut here ]------------ <4>[ 27.678780] WARNING: CPU: 3 PID: 2401 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.679447] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.682749] CPU: 3 PID: 2401 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.683317] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.683939] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.686437] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f39a8 <4>[ 27.687146] 0000000000000000 ffff88005b6f39a8 0000000004000000 ffff88007d087dd0 <4>[ 27.687849] Call Trace: <4>[ 27.688095] [] dump_stack+0x4d/0x66 <4>[ 27.688447] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.688829] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.689208] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.689604] [] truncate_setsize+0x27/0x40 <4>[ 27.689977] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.690355] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.690734] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.691125] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.691506] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.691907] [] do_fallocate+0x123/0x1b0 <4>[ 27.692274] [] SyS_fallocate+0x43/0x70 <4>[ 27.692634] [] system_call_fastpath+0x16/0x1b <4>[ 27.693016] ---[ end trace 6a3b1350ad39962a ]--- <4>[ 27.696395] ------------[ cut here ]------------ <4>[ 27.696713] WARNING: CPU: 2 PID: 2404 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.697338] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.700445] CPU: 2 PID: 2404 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.700982] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.701575] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.702247] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c03b1a8 <4>[ 27.702914] 0000000000000000 ffff88007c03b1a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.703601] Call Trace: <4>[ 27.703831] [] dump_stack+0x4d/0x66 <4>[ 27.704170] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.704535] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.704893] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.705278] [] truncate_setsize+0x27/0x40 <4>[ 27.705631] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.705988] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.706358] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.706723] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.707086] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.707471] [] do_fallocate+0x123/0x1b0 <4>[ 27.707816] [] SyS_fallocate+0x43/0x70 <4>[ 27.708162] [] system_call_fastpath+0x16/0x1b <4>[ 27.708526] ---[ end trace 6a3b1350ad39962b ]--- <4>[ 27.711706] ------------[ cut here ]------------ <4>[ 27.712035] WARNING: CPU: 2 PID: 2406 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.712660] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.715780] CPU: 2 PID: 2406 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.716323] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.716911] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 27.717583] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c03b5a8 <4>[ 27.718254] 0000000000000000 ffff88007c03b5a8 0000000004000000 ffff88007a6dbdd0 <4>[ 27.718920] Call Trace: <4>[ 27.719153] [] dump_stack+0x4d/0x66 <4>[ 27.719484] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.719849] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.720212] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.720593] [] truncate_setsize+0x27/0x40 <4>[ 27.720944] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.721307] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.721672] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.722040] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.722399] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.722783] [] do_fallocate+0x123/0x1b0 <4>[ 27.723133] [] SyS_fallocate+0x43/0x70 <4>[ 27.723474] [] system_call_fastpath+0x16/0x1b <4>[ 27.723837] ---[ end trace 6a3b1350ad39962c ]--- <4>[ 27.727335] ------------[ cut here ]------------ <4>[ 27.727671] WARNING: CPU: 3 PID: 2408 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.728331] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.731638] CPU: 3 PID: 2408 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.732208] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.732821] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.733535] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f3da8 <4>[ 27.734242] 0000000000000000 ffff88005b6f3da8 0000000004000000 ffff88007d087dd0 <4>[ 27.734948] Call Trace: <4>[ 27.735190] [] dump_stack+0x4d/0x66 <4>[ 27.735542] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.735925] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.736300] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.736704] [] truncate_setsize+0x27/0x40 <4>[ 27.737081] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.737453] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.737831] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.738223] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.738604] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.739011] [] do_fallocate+0x123/0x1b0 <4>[ 27.739375] [] SyS_fallocate+0x43/0x70 <4>[ 27.739734] [] system_call_fastpath+0x16/0x1b <4>[ 27.740115] ---[ end trace 6a3b1350ad39962d ]--- <4>[ 27.743731] ------------[ cut here ]------------ <4>[ 27.744068] WARNING: CPU: 3 PID: 2410 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.744713] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.748027] CPU: 3 PID: 2410 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.748586] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.749205] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 27.749916] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e81a8 <4>[ 27.750624] 0000000000000000 ffff88005b7e81a8 0000000004000000 ffff88007bf43dd0 <4>[ 27.751331] Call Trace: <4>[ 27.751568] [] dump_stack+0x4d/0x66 <4>[ 27.751918] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.752304] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.752676] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.753079] [] truncate_setsize+0x27/0x40 <4>[ 27.753448] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.753823] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.754205] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.754594] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.754974] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.755379] [] do_fallocate+0x123/0x1b0 <4>[ 27.755742] [] SyS_fallocate+0x43/0x70 <4>[ 27.756104] [] system_call_fastpath+0x16/0x1b <4>[ 27.756482] ---[ end trace 6a3b1350ad39962e ]--- <4>[ 27.760053] ------------[ cut here ]------------ <4>[ 27.760370] WARNING: CPU: 2 PID: 2412 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.760988] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.764111] CPU: 2 PID: 2412 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.764648] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.765239] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 27.765907] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c03b9a8 <4>[ 27.766587] 0000000000000000 ffff88007c03b9a8 0000000004000000 ffff88007bf9bdd0 <4>[ 27.767259] Call Trace: <4>[ 27.767488] [] dump_stack+0x4d/0x66 <4>[ 27.767819] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.768189] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.768547] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.768927] [] truncate_setsize+0x27/0x40 <4>[ 27.770992] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.771353] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.771717] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.772098] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.772456] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.772841] [] do_fallocate+0x123/0x1b0 <4>[ 27.773191] [] SyS_fallocate+0x43/0x70 <4>[ 27.773532] [] system_call_fastpath+0x16/0x1b <4>[ 27.773896] ---[ end trace 6a3b1350ad39962f ]--- <4>[ 27.777114] ------------[ cut here ]------------ <4>[ 27.777431] WARNING: CPU: 2 PID: 2414 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.778067] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.781180] CPU: 2 PID: 2414 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.781716] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.782308] 0000000000000009 ffff88007a51bd88 ffffffff81859ea6 0000000000000000 <4>[ 27.782977] ffff88007a51bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c03bda8 <4>[ 27.783648] 0000000000000000 ffff88007c03bda8 0000000004000000 ffff88007a51bdd0 <4>[ 27.784324] Call Trace: <4>[ 27.784552] [] dump_stack+0x4d/0x66 <4>[ 27.784883] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.785253] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.785611] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.785991] [] truncate_setsize+0x27/0x40 <4>[ 27.786347] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.786706] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.787084] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.787449] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.787807] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.788196] [] do_fallocate+0x123/0x1b0 <4>[ 27.788541] [] SyS_fallocate+0x43/0x70 <4>[ 27.788882] [] system_call_fastpath+0x16/0x1b <4>[ 27.789261] ---[ end trace 6a3b1350ad399630 ]--- <4>[ 27.792674] ------------[ cut here ]------------ <4>[ 27.792990] WARNING: CPU: 2 PID: 2416 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.793617] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.796729] CPU: 2 PID: 2416 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.797271] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.797859] 0000000000000009 ffff88007a51fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.798530] ffff88007a51fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7201a8 <4>[ 27.799213] 0000000000000000 ffff88005b7201a8 0000000004000000 ffff88007a51fdd0 <4>[ 27.799879] Call Trace: <4>[ 27.800122] [] dump_stack+0x4d/0x66 <4>[ 27.800453] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.800819] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.801182] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.801564] [] truncate_setsize+0x27/0x40 <4>[ 27.801914] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.802277] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.802642] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.803012] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.803370] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.803754] [] do_fallocate+0x123/0x1b0 <4>[ 27.804103] [] SyS_fallocate+0x43/0x70 <4>[ 27.804445] [] system_call_fastpath+0x16/0x1b <4>[ 27.804808] ---[ end trace 6a3b1350ad399631 ]--- <4>[ 27.808201] ------------[ cut here ]------------ <4>[ 27.808540] WARNING: CPU: 3 PID: 2418 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.809192] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.812499] CPU: 3 PID: 2418 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.813062] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.813675] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.814392] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e85a8 <4>[ 27.815105] 0000000000000000 ffff88005b7e85a8 0000000004000000 ffff88007d087dd0 <4>[ 27.815810] Call Trace: <4>[ 27.816051] [] dump_stack+0x4d/0x66 <4>[ 27.816403] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.816787] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.817162] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.817560] [] truncate_setsize+0x27/0x40 <4>[ 27.817929] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.818309] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.818690] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.819081] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.819462] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.819864] [] do_fallocate+0x123/0x1b0 <4>[ 27.820230] [] SyS_fallocate+0x43/0x70 <4>[ 27.820591] [] system_call_fastpath+0x16/0x1b <4>[ 27.820968] ---[ end trace 6a3b1350ad399632 ]--- <4>[ 27.824413] ------------[ cut here ]------------ <4>[ 27.824730] WARNING: CPU: 2 PID: 2420 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.825366] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.828477] CPU: 2 PID: 2420 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.829017] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.829605] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 27.830277] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7205a8 <4>[ 27.830944] 0000000000000000 ffff88005b7205a8 0000000004000000 ffff88007a6dbdd0 <4>[ 27.831626] Call Trace: <4>[ 27.831853] [] dump_stack+0x4d/0x66 <4>[ 27.832191] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.832555] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.832912] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.833299] [] truncate_setsize+0x27/0x40 <4>[ 27.833651] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.834018] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.834388] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.834753] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.835117] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.835501] [] do_fallocate+0x123/0x1b0 <4>[ 27.835846] [] SyS_fallocate+0x43/0x70 <4>[ 27.836192] [] system_call_fastpath+0x16/0x1b <4>[ 27.836556] ---[ end trace 6a3b1350ad399633 ]--- <4>[ 27.839798] ------------[ cut here ]------------ <4>[ 27.840136] WARNING: CPU: 2 PID: 2422 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.840759] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.843887] CPU: 2 PID: 2422 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.844427] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.845018] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.845686] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7209a8 <4>[ 27.846367] 0000000000000000 ffff88005b7209a8 0000000004000000 ffff88007a50fdd0 <4>[ 27.847047] Call Trace: <4>[ 27.847276] [] dump_stack+0x4d/0x66 <4>[ 27.847607] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.847972] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.848335] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.848716] [] truncate_setsize+0x27/0x40 <4>[ 27.849081] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.849439] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.849803] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.850173] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.850532] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.850917] [] do_fallocate+0x123/0x1b0 <4>[ 27.851266] [] SyS_fallocate+0x43/0x70 <4>[ 27.851608] [] system_call_fastpath+0x16/0x1b <4>[ 27.851972] ---[ end trace 6a3b1350ad399634 ]--- <4>[ 27.855298] ------------[ cut here ]------------ <4>[ 27.855303] WARNING: CPU: 1 PID: 2424 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.855321] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.855323] CPU: 1 PID: 2424 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.855323] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.855325] 0000000000000009 ffff88007a51fd88 ffffffff81859ea6 0000000000000000 <4>[ 27.855327] ffff88007a51fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7041a8 <4>[ 27.855328] 0000000000000000 ffff88005b7041a8 0000000004000000 ffff88007a51fdd0 <4>[ 27.855328] Call Trace: <4>[ 27.855331] [] dump_stack+0x4d/0x66 <4>[ 27.855333] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.855335] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.855336] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.855338] [] truncate_setsize+0x27/0x40 <4>[ 27.855339] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.855341] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.855343] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.855345] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.855347] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.855348] [] do_fallocate+0x123/0x1b0 <4>[ 27.855350] [] SyS_fallocate+0x43/0x70 <4>[ 27.855351] [] system_call_fastpath+0x16/0x1b <4>[ 27.855352] ---[ end trace 6a3b1350ad399635 ]--- <4>[ 27.869371] ------------[ cut here ]------------ <4>[ 27.869688] WARNING: CPU: 2 PID: 2426 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.870316] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.873430] CPU: 2 PID: 2426 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.873967] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.874564] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.875243] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b720da8 <4>[ 27.875910] 0000000000000000 ffff88005b720da8 0000000004000000 ffff88007d087dd0 <4>[ 27.876582] Call Trace: <4>[ 27.876810] [] dump_stack+0x4d/0x66 <4>[ 27.877157] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.877522] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.877879] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.878274] [] truncate_setsize+0x27/0x40 <4>[ 27.878626] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.878984] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.879353] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.879719] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.880091] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.880475] [] do_fallocate+0x123/0x1b0 <4>[ 27.880820] [] SyS_fallocate+0x43/0x70 <4>[ 27.881166] [] system_call_fastpath+0x16/0x1b <4>[ 27.881530] ---[ end trace 6a3b1350ad399636 ]--- <4>[ 27.884965] ------------[ cut here ]------------ <4>[ 27.885296] WARNING: CPU: 2 PID: 2428 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.885914] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.889031] CPU: 2 PID: 2428 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.889569] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.890161] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 27.890829] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7211a8 <4>[ 27.891510] 0000000000000000 ffff88005b7211a8 0000000004000000 ffff88007bf9bdd0 <4>[ 27.892182] Call Trace: <4>[ 27.892410] [] dump_stack+0x4d/0x66 <4>[ 27.892741] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.893111] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.893469] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.893850] [] truncate_setsize+0x27/0x40 <4>[ 27.894216] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.894574] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.894939] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.895308] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.895666] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.896055] [] do_fallocate+0x123/0x1b0 <4>[ 27.896399] [] SyS_fallocate+0x43/0x70 <4>[ 27.896740] [] system_call_fastpath+0x16/0x1b <4>[ 27.897117] ---[ end trace 6a3b1350ad399637 ]--- <4>[ 27.900520] ------------[ cut here ]------------ <4>[ 27.900848] WARNING: CPU: 3 PID: 2430 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.901520] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.904811] CPU: 3 PID: 2430 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.905379] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.906004] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 27.906718] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e89a8 <4>[ 27.907427] 0000000000000000 ffff88005b7e89a8 0000000004000000 ffff88007bfd7dd0 <4>[ 27.908135] Call Trace: <4>[ 27.908372] [] dump_stack+0x4d/0x66 <4>[ 27.908721] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.909109] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.909481] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.909881] [] truncate_setsize+0x27/0x40 <4>[ 27.910255] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.910627] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.911010] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.911398] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.911779] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.912196] [] do_fallocate+0x123/0x1b0 <4>[ 27.912559] [] SyS_fallocate+0x43/0x70 <4>[ 27.912918] [] system_call_fastpath+0x16/0x1b <4>[ 27.913299] ---[ end trace 6a3b1350ad399638 ]--- <4>[ 27.916643] ------------[ cut here ]------------ <4>[ 27.916977] WARNING: CPU: 3 PID: 2432 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.917643] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.920951] CPU: 3 PID: 2432 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.921518] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.922132] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 27.922845] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e8da8 <4>[ 27.923564] 0000000000000000 ffff88005b7e8da8 0000000004000000 ffff88007bfc3dd0 <4>[ 27.924272] Call Trace: <4>[ 27.924509] [] dump_stack+0x4d/0x66 <4>[ 27.924861] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.925248] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.925622] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.926025] [] truncate_setsize+0x27/0x40 <4>[ 27.926395] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.926770] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.927151] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.927540] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.927921] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.928336] [] do_fallocate+0x123/0x1b0 <4>[ 27.928699] [] SyS_fallocate+0x43/0x70 <4>[ 27.929061] [] system_call_fastpath+0x16/0x1b <4>[ 27.929438] ---[ end trace 6a3b1350ad399639 ]--- <4>[ 27.932817] ------------[ cut here ]------------ <4>[ 27.933159] WARNING: CPU: 2 PID: 2434 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.933778] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.936937] CPU: 2 PID: 2434 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.939195] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.939784] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 27.940455] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7215a8 <4>[ 27.941127] 0000000000000000 ffff88005b7215a8 0000000004000000 ffff88007a6dbdd0 <4>[ 27.941794] Call Trace: <4>[ 27.942039] [] dump_stack+0x4d/0x66 <4>[ 27.942371] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.942736] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.943099] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.943480] [] truncate_setsize+0x27/0x40 <4>[ 27.943831] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.944194] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.944558] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.944923] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.945294] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.945680] [] do_fallocate+0x123/0x1b0 <4>[ 27.946030] [] SyS_fallocate+0x43/0x70 <4>[ 27.946371] [] system_call_fastpath+0x16/0x1b <4>[ 27.946734] ---[ end trace 6a3b1350ad39963a ]--- <4>[ 27.950068] ------------[ cut here ]------------ <4>[ 27.950395] WARNING: CPU: 3 PID: 2436 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.951057] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.954360] CPU: 3 PID: 2436 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.954920] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.955544] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 27.956256] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e91a8 <4>[ 27.956956] 0000000000000000 ffff88005b7e91a8 0000000004000000 ffff88007bfd7dd0 <4>[ 27.957666] Call Trace: <4>[ 27.957904] [] dump_stack+0x4d/0x66 <4>[ 27.958261] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.958644] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.959019] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.959419] [] truncate_setsize+0x27/0x40 <4>[ 27.959788] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.960166] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.960546] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.960933] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.961316] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.961723] [] do_fallocate+0x123/0x1b0 <4>[ 27.962094] [] SyS_fallocate+0x43/0x70 <4>[ 27.962454] [] system_call_fastpath+0x16/0x1b <4>[ 27.962831] ---[ end trace 6a3b1350ad39963b ]--- <4>[ 27.966173] ------------[ cut here ]------------ <4>[ 27.966489] WARNING: CPU: 2 PID: 2438 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.967125] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.970238] CPU: 2 PID: 2438 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.970775] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.971367] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 27.972037] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7219a8 <4>[ 27.972704] 0000000000000000 ffff88005b7219a8 0000000004000000 ffff88007bfbfdd0 <4>[ 27.973387] Call Trace: <4>[ 27.973616] [] dump_stack+0x4d/0x66 <4>[ 27.973947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.974318] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.974676] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.975060] [] truncate_setsize+0x27/0x40 <4>[ 27.975412] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.975769] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.976147] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.976513] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.976870] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.977270] [] do_fallocate+0x123/0x1b0 <4>[ 27.977614] [] SyS_fallocate+0x43/0x70 <4>[ 27.977956] [] system_call_fastpath+0x16/0x1b <4>[ 27.978323] ---[ end trace 6a3b1350ad39963c ]--- <4>[ 27.981640] ------------[ cut here ]------------ <4>[ 27.981956] WARNING: CPU: 2 PID: 2440 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.982591] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 27.985703] CPU: 2 PID: 2440 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 27.986244] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 27.986833] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 27.987504] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b721da8 <4>[ 27.988185] 0000000000000000 ffff88005b721da8 0000000004000000 ffff88007d087dd0 <4>[ 27.988864] Call Trace: <4>[ 27.989097] [] dump_stack+0x4d/0x66 <4>[ 27.989428] [] warn_slowpath_common+0x7d/0xa0 <4>[ 27.989793] [] warn_slowpath_null+0x1a/0x20 <4>[ 27.990167] [] pagecache_isize_extended+0xdd/0x120 <4>[ 27.990549] [] truncate_setsize+0x27/0x40 <4>[ 27.990899] [] xfs_setattr_size+0x157/0x3a0 <4>[ 27.991267] [] ? xfs_trans_commit+0x157/0x250 <4>[ 27.991632] [] xfs_file_fallocate+0x2df/0x300 <4>[ 27.991997] [] ? __sb_start_write+0x49/0xf0 <4>[ 27.992360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 27.992744] [] do_fallocate+0x123/0x1b0 <4>[ 27.993094] [] SyS_fallocate+0x43/0x70 <4>[ 27.993435] [] system_call_fastpath+0x16/0x1b <4>[ 27.993799] ---[ end trace 6a3b1350ad39963d ]--- <4>[ 27.997019] ------------[ cut here ]------------ <4>[ 27.997357] WARNING: CPU: 3 PID: 2442 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 27.998010] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.001324] CPU: 3 PID: 2442 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.001891] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.002519] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.003231] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e95a8 <4>[ 28.003935] 0000000000000000 ffff88005b7e95a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.004649] Call Trace: <4>[ 28.004887] [] dump_stack+0x4d/0x66 <4>[ 28.005240] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.005624] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.005995] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.006398] [] truncate_setsize+0x27/0x40 <4>[ 28.006768] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.007146] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.007525] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.007912] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.008295] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.008703] [] do_fallocate+0x123/0x1b0 <4>[ 28.009071] [] SyS_fallocate+0x43/0x70 <4>[ 28.009432] [] system_call_fastpath+0x16/0x1b <4>[ 28.009810] ---[ end trace 6a3b1350ad39963e ]--- <4>[ 28.013291] ------------[ cut here ]------------ <4>[ 28.013607] WARNING: CPU: 2 PID: 2444 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.014243] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.017358] CPU: 2 PID: 2444 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.017894] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.018487] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 28.019158] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7221a8 <4>[ 28.019825] 0000000000000000 ffff88005b7221a8 0000000004000000 ffff88007bfc3dd0 <4>[ 28.020508] Call Trace: <4>[ 28.020737] [] dump_stack+0x4d/0x66 <4>[ 28.022778] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.023155] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.023512] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.023893] [] truncate_setsize+0x27/0x40 <4>[ 28.024249] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.024609] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.024973] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.025343] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.025702] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.026100] [] do_fallocate+0x123/0x1b0 <4>[ 28.026446] [] SyS_fallocate+0x43/0x70 <4>[ 28.026787] [] system_call_fastpath+0x16/0x1b <4>[ 28.027155] ---[ end trace 6a3b1350ad39963f ]--- <4>[ 28.030392] ------------[ cut here ]------------ <4>[ 28.030710] WARNING: CPU: 2 PID: 2446 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.031347] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.034462] CPU: 2 PID: 2446 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.034999] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.035590] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.036260] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7225a8 <4>[ 28.036927] 0000000000000000 ffff88005b7225a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.037609] Call Trace: <4>[ 28.037838] [] dump_stack+0x4d/0x66 <4>[ 28.038175] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.038540] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.038897] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.039283] [] truncate_setsize+0x27/0x40 <4>[ 28.039635] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.039993] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.040368] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.040733] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.041094] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.041479] [] do_fallocate+0x123/0x1b0 <4>[ 28.041824] [] SyS_fallocate+0x43/0x70 <4>[ 28.042169] [] system_call_fastpath+0x16/0x1b <4>[ 28.042533] ---[ end trace 6a3b1350ad399640 ]--- <4>[ 28.045863] ------------[ cut here ]------------ <4>[ 28.046199] WARNING: CPU: 3 PID: 2448 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.046858] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.050175] CPU: 3 PID: 2448 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.050738] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.051354] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.052070] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e99a8 <4>[ 28.052779] 0000000000000000 ffff88005b7e99a8 0000000004000000 ffff88007d087dd0 <4>[ 28.053487] Call Trace: <4>[ 28.053725] [] dump_stack+0x4d/0x66 <4>[ 28.054078] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.054463] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.054834] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.055235] [] truncate_setsize+0x27/0x40 <4>[ 28.055605] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.055980] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.056362] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.056752] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.057136] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.057544] [] do_fallocate+0x123/0x1b0 <4>[ 28.057909] [] SyS_fallocate+0x43/0x70 <4>[ 28.058271] [] system_call_fastpath+0x16/0x1b <4>[ 28.058649] ---[ end trace 6a3b1350ad399641 ]--- <4>[ 28.062050] ------------[ cut here ]------------ <4>[ 28.062391] WARNING: CPU: 3 PID: 2450 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.063041] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.066345] CPU: 3 PID: 2450 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.066911] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.067538] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.068250] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7e9da8 <4>[ 28.068953] 0000000000000000 ffff88005b7e9da8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.069661] Call Trace: <4>[ 28.069900] [] dump_stack+0x4d/0x66 <4>[ 28.070257] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.070640] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.071015] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.071419] [] truncate_setsize+0x27/0x40 <4>[ 28.071792] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.072169] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.072548] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.072935] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.073318] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.073726] [] do_fallocate+0x123/0x1b0 <4>[ 28.074095] [] SyS_fallocate+0x43/0x70 <4>[ 28.074455] [] system_call_fastpath+0x16/0x1b <4>[ 28.074832] ---[ end trace 6a3b1350ad399642 ]--- <4>[ 28.078130] ------------[ cut here ]------------ <4>[ 28.078447] WARNING: CPU: 2 PID: 2452 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.079085] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.082203] CPU: 2 PID: 2452 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.082740] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.083332] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.084003] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7229a8 <4>[ 28.084670] 0000000000000000 ffff88005b7229a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.085351] Call Trace: <4>[ 28.085579] [] dump_stack+0x4d/0x66 <4>[ 28.085910] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.086281] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.086638] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.087024] [] truncate_setsize+0x27/0x40 <4>[ 28.087375] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.087733] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.088112] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.088478] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.088835] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.089224] [] do_fallocate+0x123/0x1b0 <4>[ 28.089569] [] SyS_fallocate+0x43/0x70 <4>[ 28.089910] [] system_call_fastpath+0x16/0x1b <4>[ 28.090278] ---[ end trace 6a3b1350ad399643 ]--- <4>[ 28.093496] ------------[ cut here ]------------ <4>[ 28.093813] WARNING: CPU: 2 PID: 2454 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.094457] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.097571] CPU: 2 PID: 2454 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.098113] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.098701] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 28.099373] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b722da8 <4>[ 28.100049] 0000000000000000 ffff88005b722da8 0000000004000000 ffff88007bfc3dd0 <4>[ 28.100717] Call Trace: <4>[ 28.100945] [] dump_stack+0x4d/0x66 <4>[ 28.101283] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.101647] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.102009] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.102390] [] truncate_setsize+0x27/0x40 <4>[ 28.102740] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.103114] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.103478] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.103843] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.104206] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.104591] [] do_fallocate+0x123/0x1b0 <4>[ 28.106654] [] SyS_fallocate+0x43/0x70 <4>[ 28.106996] [] system_call_fastpath+0x16/0x1b <4>[ 28.107363] ---[ end trace 6a3b1350ad399644 ]--- <4>[ 28.110543] ------------[ cut here ]------------ <4>[ 28.110859] WARNING: CPU: 0 PID: 2456 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.111493] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.114602] CPU: 0 PID: 2456 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.115144] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.115732] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.116417] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7545a8 <4>[ 28.117089] 0000000000000000 ffff88005b7545a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.117756] Call Trace: <4>[ 28.117984] [] dump_stack+0x4d/0x66 <4>[ 28.118321] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.118686] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.119048] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.119429] [] truncate_setsize+0x27/0x40 <4>[ 28.119780] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.120154] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.120519] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.120883] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.121257] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.121641] [] do_fallocate+0x123/0x1b0 <4>[ 28.121986] [] SyS_fallocate+0x43/0x70 <4>[ 28.122332] [] system_call_fastpath+0x16/0x1b <4>[ 28.122696] ---[ end trace 6a3b1350ad399645 ]--- <4>[ 28.125925] ------------[ cut here ]------------ <4>[ 28.126266] WARNING: CPU: 3 PID: 2458 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.126922] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.130244] CPU: 3 PID: 2458 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.130804] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.131429] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.132141] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7ea1a8 <4>[ 28.132841] 0000000000000000 ffff88005b7ea1a8 0000000004000000 ffff88007d087dd0 <4>[ 28.133547] Call Trace: <4>[ 28.133785] [] dump_stack+0x4d/0x66 <4>[ 28.134143] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.134527] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.134899] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.135299] [] truncate_setsize+0x27/0x40 <4>[ 28.135669] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.136046] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.136425] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.136813] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.137196] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.137604] [] do_fallocate+0x123/0x1b0 <4>[ 28.137971] [] SyS_fallocate+0x43/0x70 <4>[ 28.138332] [] system_call_fastpath+0x16/0x1b <4>[ 28.138710] ---[ end trace 6a3b1350ad399646 ]--- <4>[ 28.142219] ------------[ cut here ]------------ <4>[ 28.142536] WARNING: CPU: 2 PID: 2460 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.143174] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.146287] CPU: 2 PID: 2460 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.146823] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.147413] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.148084] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7231a8 <4>[ 28.148752] 0000000000000000 ffff88005b7231a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.149429] Call Trace: <4>[ 28.149657] [] dump_stack+0x4d/0x66 <4>[ 28.149988] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.150359] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.150717] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.151102] [] truncate_setsize+0x27/0x40 <4>[ 28.151454] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.151811] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.152190] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.152556] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.152914] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.153303] [] do_fallocate+0x123/0x1b0 <4>[ 28.153648] [] SyS_fallocate+0x43/0x70 <4>[ 28.153988] [] system_call_fastpath+0x16/0x1b <4>[ 28.154356] ---[ end trace 6a3b1350ad399647 ]--- <4>[ 28.157717] ------------[ cut here ]------------ <4>[ 28.158065] WARNING: CPU: 1 PID: 2462 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.158709] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.162011] CPU: 1 PID: 2462 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.162574] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.163189] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.163899] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7045a8 <4>[ 28.164612] 0000000000000000 ffff88005b7045a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.165319] Call Trace: <4>[ 28.165557] [] dump_stack+0x4d/0x66 <4>[ 28.165906] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.166292] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.166664] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.167067] [] truncate_setsize+0x27/0x40 <4>[ 28.167437] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.167811] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.168193] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.168582] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.168963] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.169379] [] do_fallocate+0x123/0x1b0 <4>[ 28.169742] [] SyS_fallocate+0x43/0x70 <4>[ 28.170104] [] system_call_fastpath+0x16/0x1b <4>[ 28.170482] ---[ end trace 6a3b1350ad399648 ]--- <4>[ 28.173904] ------------[ cut here ]------------ <4>[ 28.174241] WARNING: CPU: 2 PID: 2464 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.174860] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.177977] CPU: 2 PID: 2464 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.178518] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.179108] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.179776] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7235a8 <4>[ 28.180456] 0000000000000000 ffff88005b7235a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.181127] Call Trace: <4>[ 28.181356] [] dump_stack+0x4d/0x66 <4>[ 28.181687] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.182057] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.182414] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.182794] [] truncate_setsize+0x27/0x40 <4>[ 28.183160] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.183519] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.183883] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.184253] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.184612] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.184996] [] do_fallocate+0x123/0x1b0 <4>[ 28.185345] [] SyS_fallocate+0x43/0x70 <4>[ 28.185687] [] system_call_fastpath+0x16/0x1b <4>[ 28.186065] ---[ end trace 6a3b1350ad399649 ]--- <4>[ 28.189386] ------------[ cut here ]------------ <4>[ 28.189715] WARNING: CPU: 3 PID: 2466 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.190381] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.195478] CPU: 3 PID: 2466 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.196052] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.196672] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.197385] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7ea5a8 <4>[ 28.198099] 0000000000000000 ffff88005b7ea5a8 0000000004000000 ffff88007d087dd0 <4>[ 28.198803] Call Trace: <4>[ 28.199045] [] dump_stack+0x4d/0x66 <4>[ 28.199397] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.199779] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.200154] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.200552] [] truncate_setsize+0x27/0x40 <4>[ 28.200921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.201300] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.201679] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.202070] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.202452] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.202854] [] do_fallocate+0x123/0x1b0 <4>[ 28.203225] [] SyS_fallocate+0x43/0x70 <4>[ 28.203586] [] system_call_fastpath+0x16/0x1b <4>[ 28.203963] ---[ end trace 6a3b1350ad39964a ]--- <4>[ 28.207277] ------------[ cut here ]------------ <4>[ 28.207603] WARNING: CPU: 3 PID: 2468 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.208270] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.211581] CPU: 3 PID: 2468 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.212148] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.212761] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.213474] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7ea9a8 <4>[ 28.214181] 0000000000000000 ffff88005b7ea9a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.214888] Call Trace: <4>[ 28.215128] [] dump_stack+0x4d/0x66 <4>[ 28.215479] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.215861] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.216236] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.216635] [] truncate_setsize+0x27/0x40 <4>[ 28.217007] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.217379] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.217758] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.218148] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.218530] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.218932] [] do_fallocate+0x123/0x1b0 <4>[ 28.219297] [] SyS_fallocate+0x43/0x70 <4>[ 28.219658] [] system_call_fastpath+0x16/0x1b <4>[ 28.220039] ---[ end trace 6a3b1350ad39964b ]--- <4>[ 28.223342] ------------[ cut here ]------------ <4>[ 28.223681] WARNING: CPU: 3 PID: 2470 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.224344] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.227644] CPU: 3 PID: 2470 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.228208] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.228821] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 28.229534] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7eada8 <4>[ 28.230242] 0000000000000000 ffff88005b7eada8 0000000004000000 ffff88007bfd7dd0 <4>[ 28.230947] Call Trace: <4>[ 28.231187] [] dump_stack+0x4d/0x66 <4>[ 28.231538] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.231922] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.232297] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.232696] [] truncate_setsize+0x27/0x40 <4>[ 28.233068] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.233441] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.233819] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.234210] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.234592] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.234994] [] do_fallocate+0x123/0x1b0 <4>[ 28.235360] [] SyS_fallocate+0x43/0x70 <4>[ 28.235720] [] system_call_fastpath+0x16/0x1b <4>[ 28.236100] ---[ end trace 6a3b1350ad39964c ]--- <4>[ 28.239564] ------------[ cut here ]------------ <4>[ 28.239882] WARNING: CPU: 2 PID: 2472 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.240512] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.243625] CPU: 2 PID: 2472 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.244166] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.244754] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.245427] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7239a8 <4>[ 28.246107] 0000000000000000 ffff88005b7239a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.246775] Call Trace: <4>[ 28.247008] [] dump_stack+0x4d/0x66 <4>[ 28.247341] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.247706] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.248069] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.248451] [] truncate_setsize+0x27/0x40 <4>[ 28.248802] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.249174] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.249538] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.249904] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.250266] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.250651] [] do_fallocate+0x123/0x1b0 <4>[ 28.250996] [] SyS_fallocate+0x43/0x70 <4>[ 28.251342] [] system_call_fastpath+0x16/0x1b <4>[ 28.251706] ---[ end trace 6a3b1350ad39964d ]--- <4>[ 28.255102] ------------[ cut here ]------------ <4>[ 28.255426] WARNING: CPU: 3 PID: 2474 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.256086] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.259384] CPU: 3 PID: 2474 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.259952] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.260580] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.261290] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7eb1a8 <4>[ 28.261996] 0000000000000000 ffff88005b7eb1a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.262713] Call Trace: <4>[ 28.262951] [] dump_stack+0x4d/0x66 <4>[ 28.263306] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.263691] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.264065] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.264470] [] truncate_setsize+0x27/0x40 <4>[ 28.264844] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.265221] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.265599] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.265987] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.266373] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.266772] [] do_fallocate+0x123/0x1b0 <4>[ 28.267136] [] SyS_fallocate+0x43/0x70 <4>[ 28.267497] [] system_call_fastpath+0x16/0x1b <4>[ 28.267873] ---[ end trace 6a3b1350ad39964e ]--- <4>[ 28.271418] ------------[ cut here ]------------ <4>[ 28.271735] WARNING: CPU: 2 PID: 2476 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.272371] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.275486] CPU: 2 PID: 2476 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.276026] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.276614] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.277286] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b723da8 <4>[ 28.279670] 0000000000000000 ffff88005b723da8 0000000004000000 ffff88007bf43dd0 <4>[ 28.280338] Call Trace: <4>[ 28.280567] [] dump_stack+0x4d/0x66 <4>[ 28.280898] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.281269] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.281627] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.282013] [] truncate_setsize+0x27/0x40 <4>[ 28.282366] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.282724] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.283093] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.283458] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.283816] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.284216] [] do_fallocate+0x123/0x1b0 <4>[ 28.284561] [] SyS_fallocate+0x43/0x70 <4>[ 28.284902] [] system_call_fastpath+0x16/0x1b <4>[ 28.285270] ---[ end trace 6a3b1350ad39964f ]--- <4>[ 28.288496] ------------[ cut here ]------------ <4>[ 28.288813] WARNING: CPU: 2 PID: 2478 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.289457] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.292571] CPU: 2 PID: 2478 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.293111] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.293699] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 28.294371] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7001a8 <4>[ 28.295049] 0000000000000000 ffff88005b7001a8 0000000004000000 ffff88007bfd7dd0 <4>[ 28.295718] Call Trace: <4>[ 28.295946] [] dump_stack+0x4d/0x66 <4>[ 28.296283] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.296647] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.297009] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.297390] [] truncate_setsize+0x27/0x40 <4>[ 28.297743] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.298119] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.298490] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.298855] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.299218] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.299603] [] do_fallocate+0x123/0x1b0 <4>[ 28.299948] [] SyS_fallocate+0x43/0x70 <4>[ 28.300294] [] system_call_fastpath+0x16/0x1b <4>[ 28.300658] ---[ end trace 6a3b1350ad399650 ]--- <4>[ 28.304063] ------------[ cut here ]------------ <4>[ 28.304392] WARNING: CPU: 3 PID: 2480 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.305056] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.308354] CPU: 3 PID: 2480 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.308920] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.309546] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.310256] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7eb5a8 <4>[ 28.310961] 0000000000000000 ffff88005b7eb5a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.311668] Call Trace: <4>[ 28.311905] [] dump_stack+0x4d/0x66 <4>[ 28.312260] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.312644] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.313020] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.313420] [] truncate_setsize+0x27/0x40 <4>[ 28.313789] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.314167] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.314546] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.314933] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.315316] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.315724] [] do_fallocate+0x123/0x1b0 <4>[ 28.316093] [] SyS_fallocate+0x43/0x70 <4>[ 28.316453] [] system_call_fastpath+0x16/0x1b <4>[ 28.316829] ---[ end trace 6a3b1350ad399651 ]--- <4>[ 28.320173] ------------[ cut here ]------------ <4>[ 28.320503] WARNING: CPU: 3 PID: 2482 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.321163] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.324455] CPU: 3 PID: 2482 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.325029] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.325648] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.326364] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7eb9a8 <4>[ 28.327078] 0000000000000000 ffff88005b7eb9a8 0000000004000000 ffff88007d087dd0 <4>[ 28.327788] Call Trace: <4>[ 28.328029] [] dump_stack+0x4d/0x66 <4>[ 28.328383] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.328765] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.329140] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.329545] [] truncate_setsize+0x27/0x40 <4>[ 28.329918] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.330298] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.330677] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.331067] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.331449] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.331851] [] do_fallocate+0x123/0x1b0 <4>[ 28.332218] [] SyS_fallocate+0x43/0x70 <4>[ 28.332578] [] system_call_fastpath+0x16/0x1b <4>[ 28.332956] ---[ end trace 6a3b1350ad399652 ]--- <4>[ 28.336135] ------------[ cut here ]------------ <4>[ 28.336460] WARNING: CPU: 3 PID: 2484 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.337118] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.340422] CPU: 3 PID: 2484 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.340983] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.341599] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.342309] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7ebda8 <4>[ 28.343017] 0000000000000000 ffff88005b7ebda8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.343724] Call Trace: <4>[ 28.343961] [] dump_stack+0x4d/0x66 <4>[ 28.344315] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.344699] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.345073] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.345477] [] truncate_setsize+0x27/0x40 <4>[ 28.345850] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.346227] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.346606] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.346993] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.347377] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.347782] [] do_fallocate+0x123/0x1b0 <4>[ 28.348153] [] SyS_fallocate+0x43/0x70 <4>[ 28.348512] [] system_call_fastpath+0x16/0x1b <4>[ 28.348889] ---[ end trace 6a3b1350ad399653 ]--- <4>[ 28.352215] ------------[ cut here ]------------ <4>[ 28.352532] WARNING: CPU: 2 PID: 2486 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.353169] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.356284] CPU: 2 PID: 2486 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.356820] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.357412] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.358083] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7005a8 <4>[ 28.358751] 0000000000000000 ffff88005b7005a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.359429] Call Trace: <4>[ 28.359657] [] dump_stack+0x4d/0x66 <4>[ 28.359989] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.360359] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.360718] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.361103] [] truncate_setsize+0x27/0x40 <4>[ 28.361455] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.361813] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.363896] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.364264] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.364622] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.365018] [] do_fallocate+0x123/0x1b0 <4>[ 28.365367] [] SyS_fallocate+0x43/0x70 <4>[ 28.365708] [] system_call_fastpath+0x16/0x1b <4>[ 28.366076] ---[ end trace 6a3b1350ad399654 ]--- <4>[ 28.369430] ------------[ cut here ]------------ <4>[ 28.369760] WARNING: CPU: 3 PID: 2488 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.370415] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.373711] CPU: 3 PID: 2488 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.374279] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.374902] 0000000000000009 ffff880000a13d88 ffffffff81859ea6 0000000000000000 <4>[ 28.375616] ffff880000a13dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72c1a8 <4>[ 28.376323] 0000000000000000 ffff88005b72c1a8 0000000004000000 ffff880000a13dd0 <4>[ 28.377034] Call Trace: <4>[ 28.377273] [] dump_stack+0x4d/0x66 <4>[ 28.377622] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.378009] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.378381] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.378780] [] truncate_setsize+0x27/0x40 <4>[ 28.379159] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.379532] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.379915] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.380298] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.380679] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.381084] [] do_fallocate+0x123/0x1b0 <4>[ 28.381447] [] SyS_fallocate+0x43/0x70 <4>[ 28.381806] [] system_call_fastpath+0x16/0x1b <4>[ 28.382187] ---[ end trace 6a3b1350ad399655 ]--- <4>[ 28.385551] ------------[ cut here ]------------ <4>[ 28.385869] WARNING: CPU: 2 PID: 2490 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.386498] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.389612] CPU: 2 PID: 2490 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.390152] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.390740] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.391413] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7009a8 <4>[ 28.392087] 0000000000000000 ffff88005b7009a8 0000000004000000 ffff88007d087dd0 <4>[ 28.392756] Call Trace: <4>[ 28.392984] [] dump_stack+0x4d/0x66 <4>[ 28.393321] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.393685] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.394047] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.394428] [] truncate_setsize+0x27/0x40 <4>[ 28.394779] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.395151] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.395516] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.395881] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.396255] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.396639] [] do_fallocate+0x123/0x1b0 <4>[ 28.396984] [] SyS_fallocate+0x43/0x70 <4>[ 28.397330] [] system_call_fastpath+0x16/0x1b <4>[ 28.397694] ---[ end trace 6a3b1350ad399656 ]--- <4>[ 28.400802] ------------[ cut here ]------------ <4>[ 28.401126] WARNING: CPU: 2 PID: 2492 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.401744] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.404869] CPU: 2 PID: 2492 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.405414] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.406004] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.406672] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b700da8 <4>[ 28.407344] 0000000000000000 ffff88005b700da8 0000000004000000 ffff88007bf43dd0 <4>[ 28.408025] Call Trace: <4>[ 28.408254] [] dump_stack+0x4d/0x66 <4>[ 28.408585] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.408950] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.409322] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.409703] [] truncate_setsize+0x27/0x40 <4>[ 28.410058] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.410416] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.410780] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.411160] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.411517] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.411902] [] do_fallocate+0x123/0x1b0 <4>[ 28.412251] [] SyS_fallocate+0x43/0x70 <4>[ 28.412592] [] system_call_fastpath+0x16/0x1b <4>[ 28.412956] ---[ end trace 6a3b1350ad399657 ]--- <4>[ 28.415971] ------------[ cut here ]------------ <4>[ 28.416292] WARNING: CPU: 2 PID: 2494 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.416910] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.420044] CPU: 2 PID: 2494 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.420580] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.421172] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.421841] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7011a8 <4>[ 28.422513] 0000000000000000 ffff88005b7011a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.423195] Call Trace: <4>[ 28.423423] [] dump_stack+0x4d/0x66 <4>[ 28.423754] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.424124] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.424482] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.424862] [] truncate_setsize+0x27/0x40 <4>[ 28.425218] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.425577] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.425941] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.426319] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.426677] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.427065] [] do_fallocate+0x123/0x1b0 <4>[ 28.427410] [] SyS_fallocate+0x43/0x70 <4>[ 28.427751] [] system_call_fastpath+0x16/0x1b <4>[ 28.428120] ---[ end trace 6a3b1350ad399658 ]--- <4>[ 28.431174] ------------[ cut here ]------------ <4>[ 28.431490] WARNING: CPU: 2 PID: 2496 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.432124] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.435237] CPU: 2 PID: 2496 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.435774] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.436367] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.437037] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7015a8 <4>[ 28.437727] 0000000000000000 ffff88005b7015a8 0000000004000000 ffff88007bf8bdd0 <4>[ 28.438418] Call Trace: <4>[ 28.438652] [] dump_stack+0x4d/0x66 <4>[ 28.438983] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.439354] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.439713] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.440097] [] truncate_setsize+0x27/0x40 <4>[ 28.440448] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.440806] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.441186] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.441551] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.441909] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.442298] [] do_fallocate+0x123/0x1b0 <4>[ 28.442644] [] SyS_fallocate+0x43/0x70 <4>[ 28.442985] [] system_call_fastpath+0x16/0x1b <4>[ 28.443352] ---[ end trace 6a3b1350ad399659 ]--- <4>[ 28.446506] ------------[ cut here ]------------ <4>[ 28.446822] WARNING: CPU: 2 PID: 2500 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.449161] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.452273] CPU: 2 PID: 2500 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.452810] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.453409] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.454079] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7019a8 <4>[ 28.454746] 0000000000000000 ffff88005b7019a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.455418] Call Trace: <4>[ 28.455646] [] dump_stack+0x4d/0x66 <4>[ 28.455977] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.456352] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.456710] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.457095] [] truncate_setsize+0x27/0x40 <4>[ 28.457445] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.457803] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.458172] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.458537] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.458895] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.459284] [] do_fallocate+0x123/0x1b0 <4>[ 28.459629] [] SyS_fallocate+0x43/0x70 <4>[ 28.459971] [] system_call_fastpath+0x16/0x1b <4>[ 28.460339] ---[ end trace 6a3b1350ad39965a ]--- <4>[ 28.463405] ------------[ cut here ]------------ <4>[ 28.463732] WARNING: CPU: 2 PID: 2502 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.464375] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.467508] CPU: 2 PID: 2502 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.468060] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.468648] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 28.469321] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b701da8 <4>[ 28.469988] 0000000000000000 ffff88005b701da8 0000000004000000 ffff88007a50fdd0 <4>[ 28.470659] Call Trace: <4>[ 28.470887] [] dump_stack+0x4d/0x66 <4>[ 28.471229] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.471594] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.471951] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.472346] [] truncate_setsize+0x27/0x40 <4>[ 28.472698] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.473060] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.473424] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.473789] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.474161] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.474545] [] do_fallocate+0x123/0x1b0 <4>[ 28.474889] [] SyS_fallocate+0x43/0x70 <4>[ 28.475235] [] system_call_fastpath+0x16/0x1b <4>[ 28.475599] ---[ end trace 6a3b1350ad39965b ]--- <4>[ 28.478790] ------------[ cut here ]------------ <4>[ 28.479131] WARNING: CPU: 2 PID: 2506 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.479750] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.482866] CPU: 2 PID: 2506 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.483408] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.483996] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.484668] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7021a8 <4>[ 28.485348] 0000000000000000 ffff88005b7021a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.486020] Call Trace: <4>[ 28.486249] [] dump_stack+0x4d/0x66 <4>[ 28.486580] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.486945] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.487307] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.487689] [] truncate_setsize+0x27/0x40 <4>[ 28.488054] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.488412] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.488777] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.489147] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.489506] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.489889] [] do_fallocate+0x123/0x1b0 <4>[ 28.490240] [] SyS_fallocate+0x43/0x70 <4>[ 28.490581] [] system_call_fastpath+0x16/0x1b <4>[ 28.490949] ---[ end trace 6a3b1350ad39965c ]--- <4>[ 28.494242] ------------[ cut here ]------------ <4>[ 28.494569] WARNING: CPU: 3 PID: 2509 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.495225] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.498530] CPU: 3 PID: 2509 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.499093] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.499715] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.500426] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72c5a8 <4>[ 28.501143] 0000000000000000 ffff88005b72c5a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.501851] Call Trace: <4>[ 28.502093] [] dump_stack+0x4d/0x66 <4>[ 28.502446] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.502830] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.503205] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.503609] [] truncate_setsize+0x27/0x40 <4>[ 28.503981] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.504358] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.504739] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.505130] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.505512] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.505914] [] do_fallocate+0x123/0x1b0 <4>[ 28.506281] [] SyS_fallocate+0x43/0x70 <4>[ 28.506640] [] system_call_fastpath+0x16/0x1b <4>[ 28.507021] ---[ end trace 6a3b1350ad39965d ]--- <4>[ 28.510398] ------------[ cut here ]------------ <4>[ 28.510717] WARNING: CPU: 2 PID: 2512 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.511351] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.514465] CPU: 2 PID: 2512 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.515005] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.515593] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.516264] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7025a8 <4>[ 28.516932] 0000000000000000 ffff88005b7025a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.517613] Call Trace: <4>[ 28.517841] [] dump_stack+0x4d/0x66 <4>[ 28.518178] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.518542] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.518908] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.519303] [] truncate_setsize+0x27/0x40 <4>[ 28.519663] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.520035] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.520406] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.520783] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.521155] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.521540] [] do_fallocate+0x123/0x1b0 <4>[ 28.521884] [] SyS_fallocate+0x43/0x70 <4>[ 28.522230] [] system_call_fastpath+0x16/0x1b <4>[ 28.522594] ---[ end trace 6a3b1350ad39965e ]--- <4>[ 28.525968] ------------[ cut here ]------------ <4>[ 28.526305] WARNING: CPU: 3 PID: 2516 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.526962] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.530256] CPU: 3 PID: 2516 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.530819] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.533217] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.533923] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72c9a8 <4>[ 28.534637] 0000000000000000 ffff88005b72c9a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.535345] Call Trace: <4>[ 28.535582] [] dump_stack+0x4d/0x66 <4>[ 28.535936] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.536323] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.536695] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.537097] [] truncate_setsize+0x27/0x40 <4>[ 28.537467] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.537841] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.538223] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.538611] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.538986] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.539393] [] do_fallocate+0x123/0x1b0 <4>[ 28.539756] [] SyS_fallocate+0x43/0x70 <4>[ 28.540118] [] system_call_fastpath+0x16/0x1b <4>[ 28.540495] ---[ end trace 6a3b1350ad39965f ]--- <4>[ 28.543871] ------------[ cut here ]------------ <4>[ 28.544206] WARNING: CPU: 2 PID: 2518 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.544824] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.547951] CPU: 2 PID: 2518 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.548491] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.549089] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.549757] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7029a8 <4>[ 28.550436] 0000000000000000 ffff88005b7029a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.551106] Call Trace: <4>[ 28.551344] [] dump_stack+0x4d/0x66 <4>[ 28.551675] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.552047] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.552411] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.552791] [] truncate_setsize+0x27/0x40 <4>[ 28.553160] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.553524] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.553888] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.554260] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.554624] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.555016] [] do_fallocate+0x123/0x1b0 <4>[ 28.555366] [] SyS_fallocate+0x43/0x70 <4>[ 28.555707] [] system_call_fastpath+0x16/0x1b <4>[ 28.556087] ---[ end trace 6a3b1350ad399660 ]--- <4>[ 28.559395] ------------[ cut here ]------------ <4>[ 28.559725] WARNING: CPU: 3 PID: 2520 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.560383] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.563673] CPU: 3 PID: 2520 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.564240] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.564853] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 28.565566] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72cda8 <4>[ 28.566274] 0000000000000000 ffff88005b72cda8 0000000004000000 ffff88007a50fdd0 <4>[ 28.566978] Call Trace: <4>[ 28.567220] [] dump_stack+0x4d/0x66 <4>[ 28.567569] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.567952] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.568328] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.568730] [] truncate_setsize+0x27/0x40 <4>[ 28.569108] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.569479] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.569858] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.570250] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.570631] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.571037] [] do_fallocate+0x123/0x1b0 <4>[ 28.571403] [] SyS_fallocate+0x43/0x70 <4>[ 28.571757] [] system_call_fastpath+0x16/0x1b <4>[ 28.572143] ---[ end trace 6a3b1350ad399661 ]--- <4>[ 28.575487] ------------[ cut here ]------------ <4>[ 28.575803] WARNING: CPU: 0 PID: 2522 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.576443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.579567] CPU: 0 PID: 2522 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.580107] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.580704] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.581384] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7549a8 <4>[ 28.582065] 0000000000000000 ffff88005b7549a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.582737] Call Trace: <4>[ 28.582965] [] dump_stack+0x4d/0x66 <4>[ 28.583314] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.583687] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.584051] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.584437] [] truncate_setsize+0x27/0x40 <4>[ 28.584788] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.585162] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.585532] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.585897] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.586268] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.586657] [] do_fallocate+0x123/0x1b0 <4>[ 28.587008] [] SyS_fallocate+0x43/0x70 <4>[ 28.587356] [] system_call_fastpath+0x16/0x1b <4>[ 28.587719] ---[ end trace 6a3b1350ad399662 ]--- <4>[ 28.590958] ------------[ cut here ]------------ <4>[ 28.591288] WARNING: CPU: 0 PID: 2524 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.591907] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.595046] CPU: 0 PID: 2524 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.595583] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.596179] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 28.596852] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b754da8 <4>[ 28.597530] 0000000000000000 ffff88005b754da8 0000000004000000 ffff88007bfd7dd0 <4>[ 28.598221] Call Trace: <4>[ 28.598449] [] dump_stack+0x4d/0x66 <4>[ 28.598780] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.599151] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.599514] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.599894] [] truncate_setsize+0x27/0x40 <4>[ 28.600253] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.600616] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.600980] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.601358] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.601724] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.602115] [] do_fallocate+0x123/0x1b0 <4>[ 28.602465] [] SyS_fallocate+0x43/0x70 <4>[ 28.602805] [] system_call_fastpath+0x16/0x1b <4>[ 28.603176] ---[ end trace 6a3b1350ad399663 ]--- <4>[ 28.606411] ------------[ cut here ]------------ <4>[ 28.606736] WARNING: CPU: 3 PID: 2526 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.607393] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.610693] CPU: 3 PID: 2526 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.611260] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.611873] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 28.612586] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72d1a8 <4>[ 28.613293] 0000000000000000 ffff88005b72d1a8 0000000004000000 ffff88007a50fdd0 <4>[ 28.613999] Call Trace: <4>[ 28.614242] [] dump_stack+0x4d/0x66 <4>[ 28.614591] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.614973] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.617132] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.617527] [] truncate_setsize+0x27/0x40 <4>[ 28.617901] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.618280] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.618659] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.619051] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.619431] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.619839] [] do_fallocate+0x123/0x1b0 <4>[ 28.620210] [] SyS_fallocate+0x43/0x70 <4>[ 28.620569] [] system_call_fastpath+0x16/0x1b <4>[ 28.620947] ---[ end trace 6a3b1350ad399664 ]--- <4>[ 28.624360] ------------[ cut here ]------------ <4>[ 28.624678] WARNING: CPU: 2 PID: 2528 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.625319] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.628434] CPU: 2 PID: 2528 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.628971] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.629566] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.630241] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b702da8 <4>[ 28.630909] 0000000000000000 ffff88005b702da8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.631599] Call Trace: <4>[ 28.631826] [] dump_stack+0x4d/0x66 <4>[ 28.632165] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.632535] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.632892] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.633281] [] truncate_setsize+0x27/0x40 <4>[ 28.633638] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.633996] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.634380] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.634753] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.635130] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.635521] [] do_fallocate+0x123/0x1b0 <4>[ 28.635866] [] SyS_fallocate+0x43/0x70 <4>[ 28.636226] [] system_call_fastpath+0x16/0x1b <4>[ 28.636595] ---[ end trace 6a3b1350ad399665 ]--- <4>[ 28.639895] ------------[ cut here ]------------ <4>[ 28.640243] WARNING: CPU: 3 PID: 2530 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.640891] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.644195] CPU: 3 PID: 2530 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.644757] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.645375] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.646088] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72d5a8 <4>[ 28.646797] 0000000000000000 ffff88005b72d5a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.647506] Call Trace: <4>[ 28.647744] [] dump_stack+0x4d/0x66 <4>[ 28.648097] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.648482] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.648853] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.649261] [] truncate_setsize+0x27/0x40 <4>[ 28.649634] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.650011] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.650390] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.650778] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.651162] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.651571] [] do_fallocate+0x123/0x1b0 <4>[ 28.651937] [] SyS_fallocate+0x43/0x70 <4>[ 28.652302] [] system_call_fastpath+0x16/0x1b <4>[ 28.652680] ---[ end trace 6a3b1350ad399666 ]--- <4>[ 28.656126] ------------[ cut here ]------------ <4>[ 28.656442] WARNING: CPU: 2 PID: 2532 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.657072] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.660187] CPU: 2 PID: 2532 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.660724] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.661319] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 28.661993] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7031a8 <4>[ 28.662677] 0000000000000000 ffff88005b7031a8 0000000004000000 ffff88007a50fdd0 <4>[ 28.663358] Call Trace: <4>[ 28.663586] [] dump_stack+0x4d/0x66 <4>[ 28.663917] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.664291] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.664653] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.665041] [] truncate_setsize+0x27/0x40 <4>[ 28.665399] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.665756] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.666140] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.666512] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.666871] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.667275] [] do_fallocate+0x123/0x1b0 <4>[ 28.667625] [] SyS_fallocate+0x43/0x70 <4>[ 28.667966] [] system_call_fastpath+0x16/0x1b <4>[ 28.668336] ---[ end trace 6a3b1350ad399667 ]--- <4>[ 28.671566] ------------[ cut here ]------------ <4>[ 28.671883] WARNING: CPU: 2 PID: 2534 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.672516] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.675635] CPU: 2 PID: 2534 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.676179] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.676772] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.677472] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7035a8 <4>[ 28.678165] 0000000000000000 ffff88005b7035a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.678845] Call Trace: <4>[ 28.679092] [] dump_stack+0x4d/0x66 <4>[ 28.679430] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.679795] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.680161] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.680548] [] truncate_setsize+0x27/0x40 <4>[ 28.680899] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.681271] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.681642] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.682016] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.682380] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.682764] [] do_fallocate+0x123/0x1b0 <4>[ 28.683116] [] SyS_fallocate+0x43/0x70 <4>[ 28.683463] [] system_call_fastpath+0x16/0x1b <4>[ 28.683826] ---[ end trace 6a3b1350ad399668 ]--- <4>[ 28.687224] ------------[ cut here ]------------ <4>[ 28.687552] WARNING: CPU: 3 PID: 2538 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.688216] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.691520] CPU: 3 PID: 2538 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.692087] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.692702] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.693416] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72d9a8 <4>[ 28.694128] 0000000000000000 ffff88005b72d9a8 0000000004000000 ffff88007d087dd0 <4>[ 28.694833] Call Trace: <4>[ 28.695077] [] dump_stack+0x4d/0x66 <4>[ 28.695426] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.695808] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.696185] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.696590] [] truncate_setsize+0x27/0x40 <4>[ 28.696963] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.697341] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.697720] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.698110] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.698492] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.698899] [] do_fallocate+0x123/0x1b0 <4>[ 28.699269] [] SyS_fallocate+0x43/0x70 <4>[ 28.699629] [] system_call_fastpath+0x16/0x1b <4>[ 28.701788] ---[ end trace 6a3b1350ad399669 ]--- <4>[ 28.705218] ------------[ cut here ]------------ <4>[ 28.705535] WARNING: CPU: 2 PID: 2540 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.706175] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.709290] CPU: 2 PID: 2540 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.709826] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.710421] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.711096] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7039a8 <4>[ 28.711763] 0000000000000000 ffff88005b7039a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.712446] Call Trace: <4>[ 28.712673] [] dump_stack+0x4d/0x66 <4>[ 28.713014] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.713386] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.713743] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.714131] [] truncate_setsize+0x27/0x40 <4>[ 28.714488] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.714846] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.715228] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.715599] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.715957] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.716360] [] do_fallocate+0x123/0x1b0 <4>[ 28.716711] [] SyS_fallocate+0x43/0x70 <4>[ 28.717061] [] system_call_fastpath+0x16/0x1b <4>[ 28.717431] ---[ end trace 6a3b1350ad39966a ]--- <4>[ 28.720766] ------------[ cut here ]------------ <4>[ 28.721103] WARNING: CPU: 3 PID: 2542 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.721761] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.725073] CPU: 3 PID: 2542 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.725637] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.726252] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 28.726962] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72dda8 <4>[ 28.727674] 0000000000000000 ffff88005b72dda8 0000000004000000 ffff88007bfd7dd0 <4>[ 28.728388] Call Trace: <4>[ 28.728626] [] dump_stack+0x4d/0x66 <4>[ 28.728974] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.729360] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.729733] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.730135] [] truncate_setsize+0x27/0x40 <4>[ 28.730505] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.730878] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.731262] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.731651] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.732034] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.732441] [] do_fallocate+0x123/0x1b0 <4>[ 28.732807] [] SyS_fallocate+0x43/0x70 <4>[ 28.733169] [] system_call_fastpath+0x16/0x1b <4>[ 28.733547] ---[ end trace 6a3b1350ad39966b ]--- <4>[ 28.736933] ------------[ cut here ]------------ <4>[ 28.737266] WARNING: CPU: 3 PID: 2544 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.737923] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.741226] CPU: 3 PID: 2544 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.741792] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.742420] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 28.743134] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72e1a8 <4>[ 28.743838] 0000000000000000 ffff88005b72e1a8 0000000004000000 ffff88007bfc3dd0 <4>[ 28.744546] Call Trace: <4>[ 28.744783] [] dump_stack+0x4d/0x66 <4>[ 28.745139] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.745529] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.745903] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.746302] [] truncate_setsize+0x27/0x40 <4>[ 28.746676] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.747054] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.747433] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.747820] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.748204] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.748611] [] do_fallocate+0x123/0x1b0 <4>[ 28.748977] [] SyS_fallocate+0x43/0x70 <4>[ 28.749339] [] system_call_fastpath+0x16/0x1b <4>[ 28.749717] ---[ end trace 6a3b1350ad39966c ]--- <4>[ 28.752920] ------------[ cut here ]------------ <4>[ 28.753253] WARNING: CPU: 3 PID: 2546 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.753910] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.757216] CPU: 3 PID: 2546 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.757779] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.758397] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.759110] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72e5a8 <4>[ 28.759815] 0000000000000000 ffff88005b72e5a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.760524] Call Trace: <4>[ 28.760761] [] dump_stack+0x4d/0x66 <4>[ 28.761115] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.761500] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.761871] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.762279] [] truncate_setsize+0x27/0x40 <4>[ 28.762653] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.763031] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.763410] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.763797] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.764181] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.764588] [] do_fallocate+0x123/0x1b0 <4>[ 28.764954] [] SyS_fallocate+0x43/0x70 <4>[ 28.765320] [] system_call_fastpath+0x16/0x1b <4>[ 28.765697] ---[ end trace 6a3b1350ad39966d ]--- <4>[ 28.769051] ------------[ cut here ]------------ <4>[ 28.769368] WARNING: CPU: 2 PID: 2548 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.769987] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.773130] CPU: 2 PID: 2548 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.773668] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.774264] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.774938] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b703da8 <4>[ 28.775618] 0000000000000000 ffff88005b703da8 0000000004000000 ffff88007d087dd0 <4>[ 28.776307] Call Trace: <4>[ 28.776535] [] dump_stack+0x4d/0x66 <4>[ 28.776866] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.777249] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.777612] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.777993] [] truncate_setsize+0x27/0x40 <4>[ 28.778352] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.778715] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.779097] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.779468] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.779827] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.780229] [] do_fallocate+0x123/0x1b0 <4>[ 28.780579] [] SyS_fallocate+0x43/0x70 <4>[ 28.780920] [] system_call_fastpath+0x16/0x1b <4>[ 28.781291] ---[ end trace 6a3b1350ad39966e ]--- <4>[ 28.784670] ------------[ cut here ]------------ <4>[ 28.784998] WARNING: CPU: 3 PID: 2550 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.785667] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.790740] CPU: 3 PID: 2550 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.791307] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.791927] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.792641] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72e9a8 <4>[ 28.793356] 0000000000000000 ffff88005b72e9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.794066] Call Trace: <4>[ 28.794303] [] dump_stack+0x4d/0x66 <4>[ 28.794652] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.795038] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.795411] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.795810] [] truncate_setsize+0x27/0x40 <4>[ 28.796183] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.796557] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.796935] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.797328] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.797708] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.798113] [] do_fallocate+0x123/0x1b0 <4>[ 28.798479] [] SyS_fallocate+0x43/0x70 <4>[ 28.798834] [] system_call_fastpath+0x16/0x1b <4>[ 28.799219] ---[ end trace 6a3b1350ad39966f ]--- <4>[ 28.802560] ------------[ cut here ]------------ <4>[ 28.802885] WARNING: CPU: 3 PID: 2552 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.803542] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.806845] CPU: 3 PID: 2552 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.807409] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.808035] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 28.808742] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72eda8 <4>[ 28.809452] 0000000000000000 ffff88005b72eda8 0000000004000000 ffff88007bfc3dd0 <4>[ 28.810159] Call Trace: <4>[ 28.810397] [] dump_stack+0x4d/0x66 <4>[ 28.810751] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.811140] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.811511] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.811909] [] truncate_setsize+0x27/0x40 <4>[ 28.812283] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.812655] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.813038] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.813426] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.813805] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.814211] [] do_fallocate+0x123/0x1b0 <4>[ 28.814577] [] SyS_fallocate+0x43/0x70 <4>[ 28.814931] [] system_call_fastpath+0x16/0x1b <4>[ 28.815318] ---[ end trace 6a3b1350ad399670 ]--- <4>[ 28.818701] ------------[ cut here ]------------ <4>[ 28.819032] WARNING: CPU: 2 PID: 2554 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.819655] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.822776] CPU: 2 PID: 2554 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.823318] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.823906] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.824577] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7281a8 <4>[ 28.825255] 0000000000000000 ffff88005b7281a8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.825920] Call Trace: <4>[ 28.826153] [] dump_stack+0x4d/0x66 <4>[ 28.826484] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.826849] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.827212] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.827593] [] truncate_setsize+0x27/0x40 <4>[ 28.827945] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.828316] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.828682] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.829052] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.829410] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.829794] [] do_fallocate+0x123/0x1b0 <4>[ 28.830144] [] SyS_fallocate+0x43/0x70 <4>[ 28.830485] [] system_call_fastpath+0x16/0x1b <4>[ 28.830848] ---[ end trace 6a3b1350ad399671 ]--- <4>[ 28.834268] ------------[ cut here ]------------ <4>[ 28.834592] WARNING: CPU: 3 PID: 2556 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.835247] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.838552] CPU: 3 PID: 2556 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.839122] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.839744] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.840459] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72f1a8 <4>[ 28.841166] 0000000000000000 ffff88005b72f1a8 0000000004000000 ffff88007d087dd0 <4>[ 28.841873] Call Trace: <4>[ 28.842114] [] dump_stack+0x4d/0x66 <4>[ 28.842465] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.842847] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.843223] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.843620] [] truncate_setsize+0x27/0x40 <4>[ 28.843989] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.844368] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.844749] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.845140] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.845522] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.845923] [] do_fallocate+0x123/0x1b0 <4>[ 28.846289] [] SyS_fallocate+0x43/0x70 <4>[ 28.846649] [] system_call_fastpath+0x16/0x1b <4>[ 28.847030] ---[ end trace 6a3b1350ad399672 ]--- <4>[ 28.850311] ------------[ cut here ]------------ <4>[ 28.850639] WARNING: CPU: 3 PID: 2558 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.851302] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.854610] CPU: 3 PID: 2558 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.855176] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.855789] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 28.856507] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72f5a8 <4>[ 28.857217] 0000000000000000 ffff88005b72f5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 28.857922] Call Trace: <4>[ 28.858162] [] dump_stack+0x4d/0x66 <4>[ 28.858514] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.858898] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.859273] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.859671] [] truncate_setsize+0x27/0x40 <4>[ 28.860044] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.860416] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.860794] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.861185] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.861567] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.861969] [] do_fallocate+0x123/0x1b0 <4>[ 28.862340] [] SyS_fallocate+0x43/0x70 <4>[ 28.862695] [] system_call_fastpath+0x16/0x1b <4>[ 28.863079] ---[ end trace 6a3b1350ad399673 ]--- <4>[ 28.866501] ------------[ cut here ]------------ <4>[ 28.866818] WARNING: CPU: 2 PID: 2560 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.867453] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.870571] CPU: 2 PID: 2560 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.871113] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.871701] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.872373] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7285a8 <4>[ 28.873049] 0000000000000000 ffff88005b7285a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.875426] Call Trace: <4>[ 28.875655] [] dump_stack+0x4d/0x66 <4>[ 28.875986] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.876357] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.876715] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.877100] [] truncate_setsize+0x27/0x40 <4>[ 28.877451] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.877809] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.878178] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.878544] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.878901] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.879296] [] do_fallocate+0x123/0x1b0 <4>[ 28.879640] [] SyS_fallocate+0x43/0x70 <4>[ 28.879981] [] system_call_fastpath+0x16/0x1b <4>[ 28.880349] ---[ end trace 6a3b1350ad399674 ]--- <4>[ 28.883669] ------------[ cut here ]------------ <4>[ 28.884007] WARNING: CPU: 3 PID: 2562 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.884664] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.887968] CPU: 3 PID: 2562 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.888535] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.889150] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 28.889863] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72f9a8 <4>[ 28.890569] 0000000000000000 ffff88005b72f9a8 0000000004000000 ffff88007bf9bdd0 <4>[ 28.891278] Call Trace: <4>[ 28.891515] [] dump_stack+0x4d/0x66 <4>[ 28.891864] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.892249] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.892623] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.893026] [] truncate_setsize+0x27/0x40 <4>[ 28.893395] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.893770] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.894152] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.894541] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.894922] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.895338] [] do_fallocate+0x123/0x1b0 <4>[ 28.895702] [] SyS_fallocate+0x43/0x70 <4>[ 28.896063] [] system_call_fastpath+0x16/0x1b <4>[ 28.896441] ---[ end trace 6a3b1350ad399675 ]--- <4>[ 28.899706] ------------[ cut here ]------------ <4>[ 28.900056] WARNING: CPU: 3 PID: 2564 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.900699] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.903999] CPU: 3 PID: 2564 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.904566] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.905181] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 28.905892] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72fda8 <4>[ 28.906605] 0000000000000000 ffff88005b72fda8 0000000004000000 ffff88007d087dd0 <4>[ 28.907312] Call Trace: <4>[ 28.907550] [] dump_stack+0x4d/0x66 <4>[ 28.907900] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.908286] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.908658] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.909061] [] truncate_setsize+0x27/0x40 <4>[ 28.909431] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.909807] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.910189] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.910577] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.910957] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.911374] [] do_fallocate+0x123/0x1b0 <4>[ 28.911737] [] SyS_fallocate+0x43/0x70 <4>[ 28.912099] [] system_call_fastpath+0x16/0x1b <4>[ 28.912477] ---[ end trace 6a3b1350ad399676 ]--- <4>[ 28.915816] ------------[ cut here ]------------ <4>[ 28.916156] WARNING: CPU: 2 PID: 2566 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.916779] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.919896] CPU: 2 PID: 2566 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.920437] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.921028] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.921696] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7289a8 <4>[ 28.922379] 0000000000000000 ffff88005b7289a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.923051] Call Trace: <4>[ 28.923280] [] dump_stack+0x4d/0x66 <4>[ 28.923611] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.923975] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.924339] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.924719] [] truncate_setsize+0x27/0x40 <4>[ 28.925085] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.925444] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.925808] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.926179] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.926537] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.926922] [] do_fallocate+0x123/0x1b0 <4>[ 28.927272] [] SyS_fallocate+0x43/0x70 <4>[ 28.927613] [] system_call_fastpath+0x16/0x1b <4>[ 28.927977] ---[ end trace 6a3b1350ad399677 ]--- <4>[ 28.931341] ------------[ cut here ]------------ <4>[ 28.931670] WARNING: CPU: 3 PID: 2568 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.932344] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.935636] CPU: 3 PID: 2568 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.936200] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.936814] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 28.937529] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1341a8 <4>[ 28.938236] 0000000000000000 ffff88007c1341a8 0000000004000000 ffff88007bf43dd0 <4>[ 28.938944] Call Trace: <4>[ 28.939185] [] dump_stack+0x4d/0x66 <4>[ 28.939536] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.939918] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.940293] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.940691] [] truncate_setsize+0x27/0x40 <4>[ 28.941066] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.941438] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.941817] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.942208] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.942590] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.942993] [] do_fallocate+0x123/0x1b0 <4>[ 28.943358] [] SyS_fallocate+0x43/0x70 <4>[ 28.943718] [] system_call_fastpath+0x16/0x1b <4>[ 28.944099] ---[ end trace 6a3b1350ad399678 ]--- <4>[ 28.947408] ------------[ cut here ]------------ <4>[ 28.947724] WARNING: CPU: 2 PID: 2570 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.948360] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.951474] CPU: 2 PID: 2570 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.952014] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.952603] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 28.953282] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b728da8 <4>[ 28.953949] 0000000000000000 ffff88005b728da8 0000000004000000 ffff88007a6dbdd0 <4>[ 28.954629] Call Trace: <4>[ 28.954858] [] dump_stack+0x4d/0x66 <4>[ 28.955195] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.955560] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.955917] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.956303] [] truncate_setsize+0x27/0x40 <4>[ 28.956655] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.957028] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.957393] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.957758] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.959826] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.960223] [] do_fallocate+0x123/0x1b0 <4>[ 28.960567] [] SyS_fallocate+0x43/0x70 <4>[ 28.960909] [] system_call_fastpath+0x16/0x1b <4>[ 28.961276] ---[ end trace 6a3b1350ad399679 ]--- <4>[ 28.964716] ------------[ cut here ]------------ <4>[ 28.965052] WARNING: CPU: 3 PID: 2572 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.965712] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.969013] CPU: 3 PID: 2572 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.969576] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.970194] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 28.970903] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1345a8 <4>[ 28.971610] 0000000000000000 ffff88007c1345a8 0000000004000000 ffff88007bfbfdd0 <4>[ 28.972318] Call Trace: <4>[ 28.972555] [] dump_stack+0x4d/0x66 <4>[ 28.972904] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.973290] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.973663] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.974066] [] truncate_setsize+0x27/0x40 <4>[ 28.974436] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.974811] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.975193] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.975581] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.975961] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.976378] [] do_fallocate+0x123/0x1b0 <4>[ 28.976741] [] SyS_fallocate+0x43/0x70 <4>[ 28.977103] [] system_call_fastpath+0x16/0x1b <4>[ 28.977481] ---[ end trace 6a3b1350ad39967a ]--- <4>[ 28.980831] ------------[ cut here ]------------ <4>[ 28.981164] WARNING: CPU: 2 PID: 2574 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.981782] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 28.984900] CPU: 2 PID: 2574 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 28.985440] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 28.986031] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 28.986699] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7291a8 <4>[ 28.987381] 0000000000000000 ffff88005b7291a8 0000000004000000 ffff88007bfc3dd0 <4>[ 28.988065] Call Trace: <4>[ 28.988294] [] dump_stack+0x4d/0x66 <4>[ 28.988625] [] warn_slowpath_common+0x7d/0xa0 <4>[ 28.988990] [] warn_slowpath_null+0x1a/0x20 <4>[ 28.989353] [] pagecache_isize_extended+0xdd/0x120 <4>[ 28.989734] [] truncate_setsize+0x27/0x40 <4>[ 28.990100] [] xfs_setattr_size+0x157/0x3a0 <4>[ 28.990458] [] ? xfs_trans_commit+0x157/0x250 <4>[ 28.990822] [] xfs_file_fallocate+0x2df/0x300 <4>[ 28.991192] [] ? __sb_start_write+0x49/0xf0 <4>[ 28.991551] [] ? selinux_file_permission+0xc4/0x120 <4>[ 28.991935] [] do_fallocate+0x123/0x1b0 <4>[ 28.992285] [] SyS_fallocate+0x43/0x70 <4>[ 28.992625] [] system_call_fastpath+0x16/0x1b <4>[ 28.992989] ---[ end trace 6a3b1350ad39967b ]--- <4>[ 28.996409] ------------[ cut here ]------------ <4>[ 28.996734] WARNING: CPU: 3 PID: 2576 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 28.997398] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.000701] CPU: 3 PID: 2576 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.001276] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.001894] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.002608] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1349a8 <4>[ 29.003317] 0000000000000000 ffff88007c1349a8 0000000004000000 ffff88007d087dd0 <4>[ 29.004025] Call Trace: <4>[ 29.004264] [] dump_stack+0x4d/0x66 <4>[ 29.004613] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.004994] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.005369] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.005773] [] truncate_setsize+0x27/0x40 <4>[ 29.006148] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.006520] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.006899] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.007290] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.007671] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.008076] [] do_fallocate+0x123/0x1b0 <4>[ 29.008441] [] SyS_fallocate+0x43/0x70 <4>[ 29.008799] [] system_call_fastpath+0x16/0x1b <4>[ 29.009181] ---[ end trace 6a3b1350ad39967c ]--- <4>[ 29.012531] ------------[ cut here ]------------ <4>[ 29.012859] WARNING: CPU: 3 PID: 2578 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.013531] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.016826] CPU: 3 PID: 2578 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.017397] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.018021] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 29.018733] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c134da8 <4>[ 29.019444] 0000000000000000 ffff88007c134da8 0000000004000000 ffff88007bfbfdd0 <4>[ 29.020152] Call Trace: <4>[ 29.020388] [] dump_stack+0x4d/0x66 <4>[ 29.020737] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.021123] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.021495] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.021894] [] truncate_setsize+0x27/0x40 <4>[ 29.022267] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.022640] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.023022] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.023412] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.023792] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.024209] [] do_fallocate+0x123/0x1b0 <4>[ 29.024574] [] SyS_fallocate+0x43/0x70 <4>[ 29.024932] [] system_call_fastpath+0x16/0x1b <4>[ 29.025314] ---[ end trace 6a3b1350ad39967d ]--- <4>[ 29.028671] ------------[ cut here ]------------ <4>[ 29.028988] WARNING: CPU: 2 PID: 2580 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.029624] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.032739] CPU: 2 PID: 2580 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.033280] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.033868] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.034539] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7295a8 <4>[ 29.035222] 0000000000000000 ffff88005b7295a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.035888] Call Trace: <4>[ 29.036131] [] dump_stack+0x4d/0x66 <4>[ 29.036462] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.036827] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.037190] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.037571] [] truncate_setsize+0x27/0x40 <4>[ 29.037923] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.038289] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.038653] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.039023] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.039382] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.039766] [] do_fallocate+0x123/0x1b0 <4>[ 29.040115] [] SyS_fallocate+0x43/0x70 <4>[ 29.040458] [] system_call_fastpath+0x16/0x1b <4>[ 29.040821] ---[ end trace 6a3b1350ad39967e ]--- <4>[ 29.044076] ------------[ cut here ]------------ <4>[ 29.044392] WARNING: CPU: 2 PID: 2582 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.045021] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.049844] CPU: 2 PID: 2582 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.050385] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.050973] 0000000000000009 ffff880000a13d88 ffffffff81859ea6 0000000000000000 <4>[ 29.051652] ffff880000a13dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7299a8 <4>[ 29.052323] 0000000000000000 ffff88005b7299a8 0000000004000000 ffff880000a13dd0 <4>[ 29.052991] Call Trace: <4>[ 29.053224] [] dump_stack+0x4d/0x66 <4>[ 29.053555] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.053920] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.054291] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.054673] [] truncate_setsize+0x27/0x40 <4>[ 29.055029] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.055387] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.055751] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.056121] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.056480] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.056864] [] do_fallocate+0x123/0x1b0 <4>[ 29.057223] [] SyS_fallocate+0x43/0x70 <4>[ 29.057564] [] system_call_fastpath+0x16/0x1b <4>[ 29.057928] ---[ end trace 6a3b1350ad39967f ]--- <4>[ 29.061253] ------------[ cut here ]------------ <4>[ 29.061579] WARNING: CPU: 3 PID: 2584 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.062242] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.065550] CPU: 3 PID: 2584 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.066117] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.066730] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.067446] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1351a8 <4>[ 29.068157] 0000000000000000 ffff88007c1351a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.068864] Call Trace: <4>[ 29.069105] [] dump_stack+0x4d/0x66 <4>[ 29.069456] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.069839] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.070214] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.070612] [] truncate_setsize+0x27/0x40 <4>[ 29.070982] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.071361] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.071741] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.072132] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.072514] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.072915] [] do_fallocate+0x123/0x1b0 <4>[ 29.073282] [] SyS_fallocate+0x43/0x70 <4>[ 29.073641] [] system_call_fastpath+0x16/0x1b <4>[ 29.074022] ---[ end trace 6a3b1350ad399680 ]--- <4>[ 29.077406] ------------[ cut here ]------------ <4>[ 29.077735] WARNING: CPU: 3 PID: 2586 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.078393] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.081690] CPU: 3 PID: 2586 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.082257] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.082870] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.083583] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1355a8 <4>[ 29.084290] 0000000000000000 ffff88007c1355a8 0000000004000000 ffff88007d087dd0 <4>[ 29.084995] Call Trace: <4>[ 29.085237] [] dump_stack+0x4d/0x66 <4>[ 29.085590] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.085973] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.086348] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.086752] [] truncate_setsize+0x27/0x40 <4>[ 29.087128] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.087500] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.087879] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.088270] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.088651] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.089057] [] do_fallocate+0x123/0x1b0 <4>[ 29.089421] [] SyS_fallocate+0x43/0x70 <4>[ 29.089780] [] system_call_fastpath+0x16/0x1b <4>[ 29.090161] ---[ end trace 6a3b1350ad399681 ]--- <4>[ 29.093551] ------------[ cut here ]------------ <4>[ 29.093869] WARNING: CPU: 2 PID: 2588 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.094496] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.097607] CPU: 2 PID: 2588 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.098149] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.098737] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.099420] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b729da8 <4>[ 29.100091] 0000000000000000 ffff88005b729da8 0000000004000000 ffff88007a50fdd0 <4>[ 29.100760] Call Trace: <4>[ 29.100987] [] dump_stack+0x4d/0x66 <4>[ 29.101325] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.101691] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.102053] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.102434] [] truncate_setsize+0x27/0x40 <4>[ 29.102785] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.103158] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.103522] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.103887] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.104249] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.104634] [] do_fallocate+0x123/0x1b0 <4>[ 29.104979] [] SyS_fallocate+0x43/0x70 <4>[ 29.105325] [] system_call_fastpath+0x16/0x1b <4>[ 29.105689] ---[ end trace 6a3b1350ad399682 ]--- <4>[ 29.109218] ------------[ cut here ]------------ <4>[ 29.109543] WARNING: CPU: 3 PID: 2590 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.110199] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.113507] CPU: 3 PID: 2590 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.114070] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.114683] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.115397] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1359a8 <4>[ 29.116110] 0000000000000000 ffff88007c1359a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.116815] Call Trace: <4>[ 29.117056] [] dump_stack+0x4d/0x66 <4>[ 29.117409] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.117791] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.118165] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.118564] [] truncate_setsize+0x27/0x40 <4>[ 29.118933] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.119312] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.119692] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.120083] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.120465] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.120866] [] do_fallocate+0x123/0x1b0 <4>[ 29.121232] [] SyS_fallocate+0x43/0x70 <4>[ 29.121592] [] system_call_fastpath+0x16/0x1b <4>[ 29.121970] ---[ end trace 6a3b1350ad399683 ]--- <4>[ 29.125237] ------------[ cut here ]------------ <4>[ 29.125574] WARNING: CPU: 3 PID: 2592 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.126225] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.129523] CPU: 3 PID: 2592 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.130087] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.130699] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.133196] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c135da8 <4>[ 29.133901] 0000000000000000 ffff88007c135da8 0000000004000000 ffff88007d087dd0 <4>[ 29.134613] Call Trace: <4>[ 29.134849] [] dump_stack+0x4d/0x66 <4>[ 29.135205] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.135587] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.135959] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.136359] [] truncate_setsize+0x27/0x40 <4>[ 29.136729] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.137107] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.137486] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.137873] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.138257] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.138660] [] do_fallocate+0x123/0x1b0 <4>[ 29.139026] [] SyS_fallocate+0x43/0x70 <4>[ 29.139385] [] system_call_fastpath+0x16/0x1b <4>[ 29.139762] ---[ end trace 6a3b1350ad399684 ]--- <4>[ 29.143165] ------------[ cut here ]------------ <4>[ 29.143481] WARNING: CPU: 2 PID: 2594 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.144117] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.147232] CPU: 2 PID: 2594 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.147769] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.148361] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 29.149033] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72a1a8 <4>[ 29.149702] 0000000000000000 ffff88005b72a1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 29.150382] Call Trace: <4>[ 29.150611] [] dump_stack+0x4d/0x66 <4>[ 29.150942] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.151313] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.151671] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.152055] [] truncate_setsize+0x27/0x40 <4>[ 29.152407] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.152764] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.153144] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.153508] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.153866] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.154265] [] do_fallocate+0x123/0x1b0 <4>[ 29.154610] [] SyS_fallocate+0x43/0x70 <4>[ 29.154952] [] system_call_fastpath+0x16/0x1b <4>[ 29.155319] ---[ end trace 6a3b1350ad399685 ]--- <4>[ 29.158664] ------------[ cut here ]------------ <4>[ 29.158998] WARNING: CPU: 3 PID: 2596 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.159668] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.162975] CPU: 3 PID: 2596 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.163539] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.164153] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.164866] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1361a8 <4>[ 29.165583] 0000000000000000 ffff88007c1361a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.166290] Call Trace: <4>[ 29.166527] [] dump_stack+0x4d/0x66 <4>[ 29.166881] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.167269] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.167643] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.168046] [] truncate_setsize+0x27/0x40 <4>[ 29.168417] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.168791] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.169173] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.169562] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.169942] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.170357] [] do_fallocate+0x123/0x1b0 <4>[ 29.170720] [] SyS_fallocate+0x43/0x70 <4>[ 29.171082] [] system_call_fastpath+0x16/0x1b <4>[ 29.171460] ---[ end trace 6a3b1350ad399686 ]--- <4>[ 29.174743] ------------[ cut here ]------------ <4>[ 29.175090] WARNING: CPU: 3 PID: 2598 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.175740] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.179043] CPU: 3 PID: 2598 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.179606] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.180223] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.180934] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1365a8 <4>[ 29.181652] 0000000000000000 ffff88007c1365a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.182363] Call Trace: <4>[ 29.182601] [] dump_stack+0x4d/0x66 <4>[ 29.182949] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.183336] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.183708] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.184111] [] truncate_setsize+0x27/0x40 <4>[ 29.184481] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.184855] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.185237] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.185625] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.186010] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.186417] [] do_fallocate+0x123/0x1b0 <4>[ 29.186783] [] SyS_fallocate+0x43/0x70 <4>[ 29.187144] [] system_call_fastpath+0x16/0x1b <4>[ 29.187522] ---[ end trace 6a3b1350ad399687 ]--- <4>[ 29.190943] ------------[ cut here ]------------ <4>[ 29.191283] WARNING: CPU: 2 PID: 2600 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.191907] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.195039] CPU: 2 PID: 2600 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.195576] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.196168] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.196837] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72a5a8 <4>[ 29.197519] 0000000000000000 ffff88005b72a5a8 0000000004000000 ffff88007d087dd0 <4>[ 29.198201] Call Trace: <4>[ 29.198429] [] dump_stack+0x4d/0x66 <4>[ 29.198761] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.199131] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.199489] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.199869] [] truncate_setsize+0x27/0x40 <4>[ 29.200236] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.200595] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.200959] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.201338] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.201697] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.202086] [] do_fallocate+0x123/0x1b0 <4>[ 29.202431] [] SyS_fallocate+0x43/0x70 <4>[ 29.202773] [] system_call_fastpath+0x16/0x1b <4>[ 29.203165] ---[ end trace 6a3b1350ad399688 ]--- <4>[ 29.206552] ------------[ cut here ]------------ <4>[ 29.206877] WARNING: CPU: 3 PID: 2602 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.207553] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.210851] CPU: 3 PID: 2602 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.211422] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.212046] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.212759] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1369a8 <4>[ 29.213473] 0000000000000000 ffff88007c1369a8 0000000004000000 ffff88007bf9bdd0 <4>[ 29.214181] Call Trace: <4>[ 29.214419] [] dump_stack+0x4d/0x66 <4>[ 29.214769] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.215155] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.215527] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.215927] [] truncate_setsize+0x27/0x40 <4>[ 29.218082] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.218454] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.218837] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.219220] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.219600] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.220006] [] do_fallocate+0x123/0x1b0 <4>[ 29.220369] [] SyS_fallocate+0x43/0x70 <4>[ 29.220728] [] system_call_fastpath+0x16/0x1b <4>[ 29.221109] ---[ end trace 6a3b1350ad399689 ]--- <4>[ 29.224455] ------------[ cut here ]------------ <4>[ 29.224784] WARNING: CPU: 3 PID: 2604 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.225449] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.228751] CPU: 3 PID: 2604 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.229318] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.229931] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 29.230645] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c136da8 <4>[ 29.231360] 0000000000000000 ffff88007c136da8 0000000004000000 ffff88007bf43dd0 <4>[ 29.232070] Call Trace: <4>[ 29.232308] [] dump_stack+0x4d/0x66 <4>[ 29.232658] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.233045] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.233418] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.233816] [] truncate_setsize+0x27/0x40 <4>[ 29.234189] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.234562] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.234940] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.235332] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.235714] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.236119] [] do_fallocate+0x123/0x1b0 <4>[ 29.236483] [] SyS_fallocate+0x43/0x70 <4>[ 29.236842] [] system_call_fastpath+0x16/0x1b <4>[ 29.237223] ---[ end trace 6a3b1350ad39968a ]--- <4>[ 29.240550] ------------[ cut here ]------------ <4>[ 29.240868] WARNING: CPU: 2 PID: 2606 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.241502] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.244614] CPU: 2 PID: 2606 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.245156] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.245743] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.246414] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72a9a8 <4>[ 29.247091] 0000000000000000 ffff88005b72a9a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.247758] Call Trace: <4>[ 29.247985] [] dump_stack+0x4d/0x66 <4>[ 29.248323] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.248688] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.249049] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.249430] [] truncate_setsize+0x27/0x40 <4>[ 29.249781] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.250155] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.250520] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.250885] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.251248] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.251634] [] do_fallocate+0x123/0x1b0 <4>[ 29.251978] [] SyS_fallocate+0x43/0x70 <4>[ 29.252324] [] system_call_fastpath+0x16/0x1b <4>[ 29.252688] ---[ end trace 6a3b1350ad39968b ]--- <4>[ 29.256088] ------------[ cut here ]------------ <4>[ 29.256416] WARNING: CPU: 3 PID: 2608 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.257078] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.260384] CPU: 3 PID: 2608 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.260947] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.261571] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.262282] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1371a8 <4>[ 29.262986] 0000000000000000 ffff88007c1371a8 0000000004000000 ffff88007d087dd0 <4>[ 29.263694] Call Trace: <4>[ 29.263932] [] dump_stack+0x4d/0x66 <4>[ 29.264285] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.264668] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.265043] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.265447] [] truncate_setsize+0x27/0x40 <4>[ 29.265819] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.266196] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.266576] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.266963] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.267346] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.267753] [] do_fallocate+0x123/0x1b0 <4>[ 29.268122] [] SyS_fallocate+0x43/0x70 <4>[ 29.268482] [] system_call_fastpath+0x16/0x1b <4>[ 29.268860] ---[ end trace 6a3b1350ad39968c ]--- <4>[ 29.272207] ------------[ cut here ]------------ <4>[ 29.272545] WARNING: CPU: 3 PID: 2610 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.273195] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.276503] CPU: 3 PID: 2610 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.277067] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.277682] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 29.278399] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1375a8 <4>[ 29.279111] 0000000000000000 ffff88007c1375a8 0000000004000000 ffff88007bf43dd0 <4>[ 29.279816] Call Trace: <4>[ 29.280056] [] dump_stack+0x4d/0x66 <4>[ 29.280407] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.280789] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.281164] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.281562] [] truncate_setsize+0x27/0x40 <4>[ 29.281931] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.282310] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.282691] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.283082] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.283463] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.283865] [] do_fallocate+0x123/0x1b0 <4>[ 29.284232] [] SyS_fallocate+0x43/0x70 <4>[ 29.284591] [] system_call_fastpath+0x16/0x1b <4>[ 29.284969] ---[ end trace 6a3b1350ad39968d ]--- <4>[ 29.288283] ------------[ cut here ]------------ <4>[ 29.288601] WARNING: CPU: 2 PID: 2612 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.289239] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.292355] CPU: 2 PID: 2612 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.292891] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.293483] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.294154] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72ada8 <4>[ 29.294821] 0000000000000000 ffff88005b72ada8 0000000004000000 ffff88007bf9bdd0 <4>[ 29.295504] Call Trace: <4>[ 29.295732] [] dump_stack+0x4d/0x66 <4>[ 29.296069] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.296434] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.296791] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.297177] [] truncate_setsize+0x27/0x40 <4>[ 29.297529] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.297894] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.298275] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.298641] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.298999] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.299388] [] do_fallocate+0x123/0x1b0 <4>[ 29.299733] [] SyS_fallocate+0x43/0x70 <4>[ 29.300088] [] system_call_fastpath+0x16/0x1b <4>[ 29.300452] ---[ end trace 6a3b1350ad39968e ]--- <4>[ 29.303720] ------------[ cut here ]------------ <4>[ 29.303724] WARNING: CPU: 1 PID: 2614 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.303737] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.303738] CPU: 1 PID: 2614 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.303739] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.303741] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.303742] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7049a8 <4>[ 29.303744] 0000000000000000 ffff88005b7049a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.303744] Call Trace: <4>[ 29.303752] [] dump_stack+0x4d/0x66 <4>[ 29.303754] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.303755] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.303756] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.303758] [] truncate_setsize+0x27/0x40 <4>[ 29.303759] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.303761] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.303763] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.303765] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.303766] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.303768] [] do_fallocate+0x123/0x1b0 <4>[ 29.303769] [] SyS_fallocate+0x43/0x70 <4>[ 29.303770] [] system_call_fastpath+0x16/0x1b <4>[ 29.303771] ---[ end trace 6a3b1350ad39968f ]--- <4>[ 29.317994] ------------[ cut here ]------------ <4>[ 29.318327] WARNING: CPU: 3 PID: 2616 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.318984] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.322279] CPU: 3 PID: 2616 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.322841] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.323458] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.324168] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1379a8 <4>[ 29.324872] 0000000000000000 ffff88007c1379a8 0000000004000000 ffff88007d087dd0 <4>[ 29.325590] Call Trace: <4>[ 29.325826] [] dump_stack+0x4d/0x66 <4>[ 29.326184] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.326569] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.326945] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.327346] [] truncate_setsize+0x27/0x40 <4>[ 29.327717] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.328095] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.328476] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.328863] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.329246] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.329648] [] do_fallocate+0x123/0x1b0 <4>[ 29.330013] [] SyS_fallocate+0x43/0x70 <4>[ 29.330372] [] system_call_fastpath+0x16/0x1b <4>[ 29.330750] ---[ end trace 6a3b1350ad399690 ]--- <4>[ 29.334117] ------------[ cut here ]------------ <4>[ 29.334434] WARNING: CPU: 2 PID: 2618 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.335069] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.338184] CPU: 2 PID: 2618 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.338721] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.339325] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.339994] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72b1a8 <4>[ 29.340665] 0000000000000000 ffff88005b72b1a8 0000000004000000 ffff88007bf9bdd0 <4>[ 29.341346] Call Trace: <4>[ 29.341575] [] dump_stack+0x4d/0x66 <4>[ 29.341906] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.342277] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.342634] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.343019] [] truncate_setsize+0x27/0x40 <4>[ 29.343371] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.343729] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.344109] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.344474] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.344832] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.345221] [] do_fallocate+0x123/0x1b0 <4>[ 29.345566] [] SyS_fallocate+0x43/0x70 <4>[ 29.345908] [] system_call_fastpath+0x16/0x1b <4>[ 29.346276] ---[ end trace 6a3b1350ad399691 ]--- <4>[ 29.349623] ------------[ cut here ]------------ <4>[ 29.349953] WARNING: CPU: 3 PID: 2620 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.350616] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.353907] CPU: 3 PID: 2620 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.354471] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.355088] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.355800] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c137da8 <4>[ 29.356512] 0000000000000000 ffff88007c137da8 0000000004000000 ffff88007a50fdd0 <4>[ 29.357219] Call Trace: <4>[ 29.357456] [] dump_stack+0x4d/0x66 <4>[ 29.357806] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.358192] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.358564] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.358964] [] truncate_setsize+0x27/0x40 <4>[ 29.359341] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.359713] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.360100] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.360480] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.360860] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.361275] [] do_fallocate+0x123/0x1b0 <4>[ 29.361638] [] SyS_fallocate+0x43/0x70 <4>[ 29.361997] [] system_call_fastpath+0x16/0x1b <4>[ 29.362378] ---[ end trace 6a3b1350ad399692 ]--- <4>[ 29.365682] ------------[ cut here ]------------ <4>[ 29.366027] WARNING: CPU: 3 PID: 2622 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.366672] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.369975] CPU: 3 PID: 2622 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.370543] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.371157] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.371871] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fc1a8 <4>[ 29.372588] 0000000000000000 ffff88005b6fc1a8 0000000004000000 ffff88007d087dd0 <4>[ 29.373296] Call Trace: <4>[ 29.373532] [] dump_stack+0x4d/0x66 <4>[ 29.373886] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.374273] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.374647] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.375051] [] truncate_setsize+0x27/0x40 <4>[ 29.375422] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.375797] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.376179] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.376567] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.376948] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.377363] [] do_fallocate+0x123/0x1b0 <4>[ 29.377727] [] SyS_fallocate+0x43/0x70 <4>[ 29.378089] [] system_call_fastpath+0x16/0x1b <4>[ 29.378468] ---[ end trace 6a3b1350ad399693 ]--- <4>[ 29.381708] ------------[ cut here ]------------ <4>[ 29.382044] WARNING: CPU: 3 PID: 2624 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.382696] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.386008] CPU: 3 PID: 2624 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.388344] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.388957] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.389673] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fc5a8 <4>[ 29.390386] 0000000000000000 ffff88005b6fc5a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.391096] Call Trace: <4>[ 29.391333] [] dump_stack+0x4d/0x66 <4>[ 29.391683] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.392071] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.392445] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.392844] [] truncate_setsize+0x27/0x40 <4>[ 29.393217] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.393590] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.393968] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.394359] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.394741] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.395147] [] do_fallocate+0x123/0x1b0 <4>[ 29.395511] [] SyS_fallocate+0x43/0x70 <4>[ 29.395870] [] system_call_fastpath+0x16/0x1b <4>[ 29.396251] ---[ end trace 6a3b1350ad399694 ]--- <4>[ 29.399590] ------------[ cut here ]------------ <4>[ 29.399908] WARNING: CPU: 2 PID: 2626 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.400541] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.403654] CPU: 2 PID: 2626 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.404195] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.404783] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 29.405455] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72b5a8 <4>[ 29.406136] 0000000000000000 ffff88005b72b5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 29.406803] Call Trace: <4>[ 29.407036] [] dump_stack+0x4d/0x66 <4>[ 29.407369] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.407734] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.408098] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.408479] [] truncate_setsize+0x27/0x40 <4>[ 29.408830] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.409204] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.409568] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.409933] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.410296] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.410680] [] do_fallocate+0x123/0x1b0 <4>[ 29.411029] [] SyS_fallocate+0x43/0x70 <4>[ 29.411371] [] system_call_fastpath+0x16/0x1b <4>[ 29.411735] ---[ end trace 6a3b1350ad399695 ]--- <4>[ 29.415169] ------------[ cut here ]------------ <4>[ 29.415507] WARNING: CPU: 3 PID: 2628 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.416164] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.419469] CPU: 3 PID: 2628 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.420038] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.420660] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.421374] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fc9a8 <4>[ 29.422088] 0000000000000000 ffff88005b6fc9a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.422793] Call Trace: <4>[ 29.423035] [] dump_stack+0x4d/0x66 <4>[ 29.423387] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.423770] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.424145] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.424550] [] truncate_setsize+0x27/0x40 <4>[ 29.424922] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.425300] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.425680] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.426071] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.426453] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.426854] [] do_fallocate+0x123/0x1b0 <4>[ 29.427220] [] SyS_fallocate+0x43/0x70 <4>[ 29.427580] [] system_call_fastpath+0x16/0x1b <4>[ 29.427958] ---[ end trace 6a3b1350ad399696 ]--- <4>[ 29.431305] ------------[ cut here ]------------ <4>[ 29.431641] WARNING: CPU: 3 PID: 2630 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.432296] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.435597] CPU: 3 PID: 2630 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.436172] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.436791] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.437508] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fcda8 <4>[ 29.438215] 0000000000000000 ffff88005b6fcda8 0000000004000000 ffff88007d087dd0 <4>[ 29.438928] Call Trace: <4>[ 29.439168] [] dump_stack+0x4d/0x66 <4>[ 29.439512] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.439884] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.440263] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.440668] [] truncate_setsize+0x27/0x40 <4>[ 29.441047] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.441419] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.441797] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.442188] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.442571] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.442971] [] do_fallocate+0x123/0x1b0 <4>[ 29.443343] [] SyS_fallocate+0x43/0x70 <4>[ 29.443698] [] system_call_fastpath+0x16/0x1b <4>[ 29.444083] ---[ end trace 6a3b1350ad399697 ]--- <4>[ 29.447462] ------------[ cut here ]------------ <4>[ 29.447780] WARNING: CPU: 2 PID: 2634 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.448416] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.451535] CPU: 2 PID: 2634 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.452080] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.452673] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 29.453357] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b72b9a8 <4>[ 29.454043] 0000000000000000 ffff88005b72b9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 29.454716] Call Trace: <4>[ 29.454944] [] dump_stack+0x4d/0x66 <4>[ 29.455283] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.455654] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.456021] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.456407] [] truncate_setsize+0x27/0x40 <4>[ 29.456758] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.457134] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.457504] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.457869] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.458248] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.458640] [] do_fallocate+0x123/0x1b0 <4>[ 29.458984] [] SyS_fallocate+0x43/0x70 <4>[ 29.459332] [] system_call_fastpath+0x16/0x1b <4>[ 29.459701] ---[ end trace 6a3b1350ad399698 ]--- <4>[ 29.462982] ------------[ cut here ]------------ <4>[ 29.463305] WARNING: CPU: 2 PID: 2636 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.463923] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.467112] CPU: 2 PID: 2636 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.467649] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.468255] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 29.468929] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b72bda8 <4>[ 29.469608] 0000000000000000 ffff88005b72bda8 0000000004000000 ffff88007a6dbdd0 <4>[ 29.470298] Call Trace: <4>[ 29.470526] [] dump_stack+0x4d/0x66 <4>[ 29.472577] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.472947] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.473320] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.473706] [] truncate_setsize+0x27/0x40 <4>[ 29.474074] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.474437] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.474802] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.475186] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.475552] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.475936] [] do_fallocate+0x123/0x1b0 <4>[ 29.476288] [] SyS_fallocate+0x43/0x70 <4>[ 29.476634] [] system_call_fastpath+0x16/0x1b <4>[ 29.476997] ---[ end trace 6a3b1350ad399699 ]--- <4>[ 29.480309] ------------[ cut here ]------------ <4>[ 29.480641] WARNING: CPU: 3 PID: 2640 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.481305] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.484618] CPU: 3 PID: 2640 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.485185] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.485800] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 29.486515] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fd1a8 <4>[ 29.487221] 0000000000000000 ffff88005b6fd1a8 0000000004000000 ffff88007bfabdd0 <4>[ 29.487925] Call Trace: <4>[ 29.488167] [] dump_stack+0x4d/0x66 <4>[ 29.488516] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.488899] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.489276] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.489679] [] truncate_setsize+0x27/0x40 <4>[ 29.490056] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.490428] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.490806] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.491199] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.491579] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.491980] [] do_fallocate+0x123/0x1b0 <4>[ 29.492349] [] SyS_fallocate+0x43/0x70 <4>[ 29.492713] [] system_call_fastpath+0x16/0x1b <4>[ 29.493094] ---[ end trace 6a3b1350ad39969a ]--- <4>[ 29.496506] ------------[ cut here ]------------ <4>[ 29.496835] WARNING: CPU: 3 PID: 2643 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.497493] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.500790] CPU: 3 PID: 2643 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.501360] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.501977] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.502690] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fd5a8 <4>[ 29.503405] 0000000000000000 ffff88005b6fd5a8 0000000004000000 ffff88007a61fdd0 <4>[ 29.504115] Call Trace: <4>[ 29.504353] [] dump_stack+0x4d/0x66 <4>[ 29.504703] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.505090] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.505462] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.505861] [] truncate_setsize+0x27/0x40 <4>[ 29.506236] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.506607] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.506986] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.507378] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.507758] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.508164] [] do_fallocate+0x123/0x1b0 <4>[ 29.508530] [] SyS_fallocate+0x43/0x70 <4>[ 29.508884] [] system_call_fastpath+0x16/0x1b <4>[ 29.509270] ---[ end trace 6a3b1350ad39969b ]--- <4>[ 29.512527] ------------[ cut here ]------------ <4>[ 29.512859] WARNING: CPU: 3 PID: 2646 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.513516] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.516806] CPU: 3 PID: 2646 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.517373] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.517987] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 29.518700] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fd9a8 <4>[ 29.519414] 0000000000000000 ffff88005b6fd9a8 0000000004000000 ffff88007bf43dd0 <4>[ 29.520124] Call Trace: <4>[ 29.520363] [] dump_stack+0x4d/0x66 <4>[ 29.520717] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.521098] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.521466] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.521854] [] truncate_setsize+0x27/0x40 <4>[ 29.522220] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.522589] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.522971] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.523355] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.523736] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.524148] [] do_fallocate+0x123/0x1b0 <4>[ 29.524515] [] SyS_fallocate+0x43/0x70 <4>[ 29.524875] [] system_call_fastpath+0x16/0x1b <4>[ 29.525258] ---[ end trace 6a3b1350ad39969c ]--- <4>[ 29.528712] ------------[ cut here ]------------ <4>[ 29.529056] WARNING: CPU: 2 PID: 2650 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.529680] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.532808] CPU: 2 PID: 2650 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.533354] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.533947] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.534629] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1481a8 <4>[ 29.535317] 0000000000000000 ffff88007c1481a8 0000000004000000 ffff88007a56fdd0 <4>[ 29.535985] Call Trace: <4>[ 29.536229] [] dump_stack+0x4d/0x66 <4>[ 29.536567] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.536931] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.537295] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.537682] [] truncate_setsize+0x27/0x40 <4>[ 29.538051] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.538415] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.538780] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.539164] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.539530] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.539914] [] do_fallocate+0x123/0x1b0 <4>[ 29.540266] [] SyS_fallocate+0x43/0x70 <4>[ 29.540612] [] system_call_fastpath+0x16/0x1b <4>[ 29.540976] ---[ end trace 6a3b1350ad39969d ]--- <4>[ 29.544288] ------------[ cut here ]------------ <4>[ 29.544627] WARNING: CPU: 3 PID: 2652 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.545280] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.548575] CPU: 3 PID: 2652 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.549142] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.549759] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.550472] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fdda8 <4>[ 29.551179] 0000000000000000 ffff88005b6fdda8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.551885] Call Trace: <4>[ 29.552128] [] dump_stack+0x4d/0x66 <4>[ 29.552477] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.552860] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.553237] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.553640] [] truncate_setsize+0x27/0x40 <4>[ 29.554018] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.554393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.554771] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.555163] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.555545] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.555952] [] do_fallocate+0x123/0x1b0 <4>[ 29.558095] [] SyS_fallocate+0x43/0x70 <4>[ 29.558454] [] system_call_fastpath+0x16/0x1b <4>[ 29.558830] ---[ end trace 6a3b1350ad39969e ]--- <4>[ 29.562179] ------------[ cut here ]------------ <4>[ 29.562497] WARNING: CPU: 2 PID: 2654 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.563136] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.566254] CPU: 2 PID: 2654 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.566791] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.567386] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 29.568062] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1485a8 <4>[ 29.568729] 0000000000000000 ffff88007c1485a8 0000000004000000 ffff88007bf43dd0 <4>[ 29.569421] Call Trace: <4>[ 29.569649] [] dump_stack+0x4d/0x66 <4>[ 29.569980] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.570351] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.570715] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.571104] [] truncate_setsize+0x27/0x40 <4>[ 29.571461] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.571819] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.572203] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.572577] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.572936] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.573338] [] do_fallocate+0x123/0x1b0 <4>[ 29.573688] [] SyS_fallocate+0x43/0x70 <4>[ 29.574036] [] system_call_fastpath+0x16/0x1b <4>[ 29.574406] ---[ end trace 6a3b1350ad39969f ]--- <4>[ 29.577654] ------------[ cut here ]------------ <4>[ 29.577993] WARNING: CPU: 3 PID: 2656 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.578655] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.581961] CPU: 3 PID: 2656 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.582525] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.583140] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.583853] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fe1a8 <4>[ 29.584565] 0000000000000000 ffff88005b6fe1a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.585273] Call Trace: <4>[ 29.585510] [] dump_stack+0x4d/0x66 <4>[ 29.585861] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.586249] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.586621] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.587024] [] truncate_setsize+0x27/0x40 <4>[ 29.587393] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.587768] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.588150] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.588538] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.588919] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.589323] [] do_fallocate+0x123/0x1b0 <4>[ 29.589686] [] SyS_fallocate+0x43/0x70 <4>[ 29.590048] [] system_call_fastpath+0x16/0x1b <4>[ 29.590426] ---[ end trace 6a3b1350ad3996a0 ]--- <4>[ 29.593803] ------------[ cut here ]------------ <4>[ 29.594143] WARNING: CPU: 2 PID: 2658 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.594767] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.597887] CPU: 2 PID: 2658 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.598433] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.599029] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.599697] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1489a8 <4>[ 29.600387] 0000000000000000 ffff88007c1489a8 0000000004000000 ffff88007a56fdd0 <4>[ 29.601063] Call Trace: <4>[ 29.601296] [] dump_stack+0x4d/0x66 <4>[ 29.601627] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.601991] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.602358] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.602744] [] truncate_setsize+0x27/0x40 <4>[ 29.603113] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.603477] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.603842] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.604215] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.604579] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.604963] [] do_fallocate+0x123/0x1b0 <4>[ 29.605314] [] SyS_fallocate+0x43/0x70 <4>[ 29.605660] [] system_call_fastpath+0x16/0x1b <4>[ 29.606033] ---[ end trace 6a3b1350ad3996a1 ]--- <4>[ 29.609302] ------------[ cut here ]------------ <4>[ 29.609633] WARNING: CPU: 3 PID: 2660 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.610290] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.613583] CPU: 3 PID: 2660 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.614151] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.614767] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.615480] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fe5a8 <4>[ 29.616187] 0000000000000000 ffff88005b6fe5a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.616891] Call Trace: <4>[ 29.617134] [] dump_stack+0x4d/0x66 <4>[ 29.617483] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.617865] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.618241] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.618645] [] truncate_setsize+0x27/0x40 <4>[ 29.619022] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.619393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.619772] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.620164] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.620544] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.620951] [] do_fallocate+0x123/0x1b0 <4>[ 29.621323] [] SyS_fallocate+0x43/0x70 <4>[ 29.621684] [] system_call_fastpath+0x16/0x1b <4>[ 29.622065] ---[ end trace 6a3b1350ad3996a2 ]--- <4>[ 29.625340] ------------[ cut here ]------------ <4>[ 29.625656] WARNING: CPU: 2 PID: 2662 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.626297] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.629414] CPU: 2 PID: 2662 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.629951] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.630545] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 29.631221] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c148da8 <4>[ 29.631888] 0000000000000000 ffff88007c148da8 0000000004000000 ffff88007bfabdd0 <4>[ 29.632578] Call Trace: <4>[ 29.632806] [] dump_stack+0x4d/0x66 <4>[ 29.633145] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.633515] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.633872] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.634259] [] truncate_setsize+0x27/0x40 <4>[ 29.634616] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.634974] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.635353] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.635724] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.636089] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.636479] [] do_fallocate+0x123/0x1b0 <4>[ 29.636824] [] SyS_fallocate+0x43/0x70 <4>[ 29.637174] [] system_call_fastpath+0x16/0x1b <4>[ 29.637543] ---[ end trace 6a3b1350ad3996a3 ]--- <4>[ 29.640708] ------------[ cut here ]------------ <4>[ 29.641047] WARNING: CPU: 2 PID: 2664 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.641671] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.646498] CPU: 2 PID: 2664 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.647055] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.647647] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.648329] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1491a8 <4>[ 29.648996] 0000000000000000 ffff88007c1491a8 0000000004000000 ffff88007bf8bdd0 <4>[ 29.649677] Call Trace: <4>[ 29.649905] [] dump_stack+0x4d/0x66 <4>[ 29.650246] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.650618] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.650976] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.651371] [] truncate_setsize+0x27/0x40 <4>[ 29.651727] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.652092] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.652462] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.652827] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.653192] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.653582] [] do_fallocate+0x123/0x1b0 <4>[ 29.653926] [] SyS_fallocate+0x43/0x70 <4>[ 29.654283] [] system_call_fastpath+0x16/0x1b <4>[ 29.654652] ---[ end trace 6a3b1350ad3996a4 ]--- <4>[ 29.657863] ------------[ cut here ]------------ <4>[ 29.658200] WARNING: CPU: 1 PID: 2666 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.658857] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.662176] CPU: 1 PID: 2666 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.662739] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.663360] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 29.664071] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b704da8 <4>[ 29.664776] 0000000000000000 ffff88005b704da8 0000000004000000 ffff88007bfabdd0 <4>[ 29.665485] Call Trace: <4>[ 29.665723] [] dump_stack+0x4d/0x66 <4>[ 29.666078] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.666461] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.666832] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.667237] [] truncate_setsize+0x27/0x40 <4>[ 29.667611] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.667983] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.668371] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.668750] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.669136] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.669541] [] do_fallocate+0x123/0x1b0 <4>[ 29.669907] [] SyS_fallocate+0x43/0x70 <4>[ 29.670272] [] system_call_fastpath+0x16/0x1b <4>[ 29.670649] ---[ end trace 6a3b1350ad3996a5 ]--- <4>[ 29.674044] ------------[ cut here ]------------ <4>[ 29.674362] WARNING: CPU: 2 PID: 2668 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.674980] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.678098] CPU: 2 PID: 2668 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.678647] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.679253] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.679938] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1495a8 <4>[ 29.680621] 0000000000000000 ffff88007c1495a8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.681304] Call Trace: <4>[ 29.681531] [] dump_stack+0x4d/0x66 <4>[ 29.681862] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.682246] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.682611] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.682991] [] truncate_setsize+0x27/0x40 <4>[ 29.683352] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.683716] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.684090] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.684460] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.684818] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.685212] [] do_fallocate+0x123/0x1b0 <4>[ 29.685562] [] SyS_fallocate+0x43/0x70 <4>[ 29.685903] [] system_call_fastpath+0x16/0x1b <4>[ 29.686274] ---[ end trace 6a3b1350ad3996a6 ]--- <4>[ 29.689688] ------------[ cut here ]------------ <4>[ 29.690027] WARNING: CPU: 3 PID: 2672 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.690669] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.693979] CPU: 3 PID: 2672 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.694547] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.695165] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.695874] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6fe9a8 <4>[ 29.696594] 0000000000000000 ffff88005b6fe9a8 0000000004000000 ffff88007a56fdd0 <4>[ 29.697303] Call Trace: <4>[ 29.697540] [] dump_stack+0x4d/0x66 <4>[ 29.697895] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.698284] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.698656] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.699059] [] truncate_setsize+0x27/0x40 <4>[ 29.699440] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.699812] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.700196] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.700584] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.700965] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.701379] [] do_fallocate+0x123/0x1b0 <4>[ 29.701745] [] SyS_fallocate+0x43/0x70 <4>[ 29.702111] [] system_call_fastpath+0x16/0x1b <4>[ 29.702493] ---[ end trace 6a3b1350ad3996a7 ]--- <4>[ 29.705675] ------------[ cut here ]------------ <4>[ 29.706011] WARNING: CPU: 3 PID: 2674 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.706667] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.709968] CPU: 3 PID: 2674 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.710539] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.711159] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 29.711871] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6feda8 <4>[ 29.712584] 0000000000000000 ffff88005b6feda8 0000000004000000 ffff88007bfd7dd0 <4>[ 29.713292] Call Trace: <4>[ 29.713529] [] dump_stack+0x4d/0x66 <4>[ 29.713880] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.714270] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.714642] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.715046] [] truncate_setsize+0x27/0x40 <4>[ 29.715426] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.715797] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.716181] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.716570] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.716949] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.717362] [] do_fallocate+0x123/0x1b0 <4>[ 29.717729] [] SyS_fallocate+0x43/0x70 <4>[ 29.718093] [] system_call_fastpath+0x16/0x1b <4>[ 29.718470] ---[ end trace 6a3b1350ad3996a8 ]--- <4>[ 29.721670] ------------[ cut here ]------------ <4>[ 29.721996] WARNING: CPU: 3 PID: 2676 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.722666] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.725969] CPU: 3 PID: 2676 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.726537] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.727158] 0000000000000009 ffff880000a13d88 ffffffff81859ea6 0000000000000000 <4>[ 29.727870] ffff880000a13dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6ff1a8 <4>[ 29.730372] 0000000000000000 ffff88005b6ff1a8 0000000004000000 ffff880000a13dd0 <4>[ 29.731078] Call Trace: <4>[ 29.731317] [] dump_stack+0x4d/0x66 <4>[ 29.731671] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.732060] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.732431] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.732828] [] truncate_setsize+0x27/0x40 <4>[ 29.733203] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.733576] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.733954] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.734347] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.734726] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.735138] [] do_fallocate+0x123/0x1b0 <4>[ 29.735505] [] SyS_fallocate+0x43/0x70 <4>[ 29.735863] [] system_call_fastpath+0x16/0x1b <4>[ 29.736245] ---[ end trace 6a3b1350ad3996a9 ]--- <4>[ 29.739547] ------------[ cut here ]------------ <4>[ 29.739864] WARNING: CPU: 0 PID: 2678 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.740498] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.743621] CPU: 0 PID: 2678 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.744177] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.744769] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.745452] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7551a8 <4>[ 29.746123] 0000000000000000 ffff88005b7551a8 0000000004000000 ffff88007d087dd0 <4>[ 29.746798] Call Trace: <4>[ 29.747035] [] dump_stack+0x4d/0x66 <4>[ 29.747373] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.747738] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.748105] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.748491] [] truncate_setsize+0x27/0x40 <4>[ 29.748843] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.749209] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.749580] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.749945] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.750313] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.750703] [] do_fallocate+0x123/0x1b0 <4>[ 29.751054] [] SyS_fallocate+0x43/0x70 <4>[ 29.751401] [] system_call_fastpath+0x16/0x1b <4>[ 29.751764] ---[ end trace 6a3b1350ad3996aa ]--- <4>[ 29.755089] ------------[ cut here ]------------ <4>[ 29.755429] WARNING: CPU: 3 PID: 2680 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.756080] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.759376] CPU: 3 PID: 2680 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.759939] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.760561] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 29.761271] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6ff5a8 <4>[ 29.761977] 0000000000000000 ffff88005b6ff5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 29.762691] Call Trace: <4>[ 29.762928] [] dump_stack+0x4d/0x66 <4>[ 29.763284] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.763668] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.764043] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.764448] [] truncate_setsize+0x27/0x40 <4>[ 29.764821] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.765198] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.765578] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.765966] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.766351] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.766758] [] do_fallocate+0x123/0x1b0 <4>[ 29.767130] [] SyS_fallocate+0x43/0x70 <4>[ 29.767489] [] system_call_fastpath+0x16/0x1b <4>[ 29.767867] ---[ end trace 6a3b1350ad3996ab ]--- <4>[ 29.771101] ------------[ cut here ]------------ <4>[ 29.771433] WARNING: CPU: 3 PID: 2682 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.772093] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.775388] CPU: 3 PID: 2682 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.775951] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.776576] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.777287] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6ff9a8 <4>[ 29.777992] 0000000000000000 ffff88005b6ff9a8 0000000004000000 ffff88007bf8bdd0 <4>[ 29.778706] Call Trace: <4>[ 29.778944] [] dump_stack+0x4d/0x66 <4>[ 29.779300] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.779683] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.780058] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.780461] [] truncate_setsize+0x27/0x40 <4>[ 29.780834] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.781213] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.781592] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.781979] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.782364] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.782771] [] do_fallocate+0x123/0x1b0 <4>[ 29.783141] [] SyS_fallocate+0x43/0x70 <4>[ 29.783500] [] system_call_fastpath+0x16/0x1b <4>[ 29.783878] ---[ end trace 6a3b1350ad3996ac ]--- <4>[ 29.787148] ------------[ cut here ]------------ <4>[ 29.787476] WARNING: CPU: 3 PID: 2684 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.788141] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.791443] CPU: 3 PID: 2684 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.792008] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.792627] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.793343] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b6ffda8 <4>[ 29.794055] 0000000000000000 ffff88005b6ffda8 0000000004000000 ffff88007d087dd0 <4>[ 29.794765] Call Trace: <4>[ 29.795008] [] dump_stack+0x4d/0x66 <4>[ 29.795357] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.795739] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.796116] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.796520] [] truncate_setsize+0x27/0x40 <4>[ 29.796892] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.797273] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.797654] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.798038] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.798419] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.798825] [] do_fallocate+0x123/0x1b0 <4>[ 29.799198] [] SyS_fallocate+0x43/0x70 <4>[ 29.799557] [] system_call_fastpath+0x16/0x1b <4>[ 29.799934] ---[ end trace 6a3b1350ad3996ad ]--- <4>[ 29.803106] ------------[ cut here ]------------ <4>[ 29.803435] WARNING: CPU: 3 PID: 2686 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.804092] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.807385] CPU: 3 PID: 2686 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.807948] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.808570] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.809280] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7241a8 <4>[ 29.809985] 0000000000000000 ffff88005b7241a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.810694] Call Trace: <4>[ 29.810931] [] dump_stack+0x4d/0x66 <4>[ 29.811285] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.811670] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.812046] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.812448] [] truncate_setsize+0x27/0x40 <4>[ 29.812822] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.813199] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.815369] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.815753] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.816129] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.816536] [] do_fallocate+0x123/0x1b0 <4>[ 29.816903] [] SyS_fallocate+0x43/0x70 <4>[ 29.817268] [] system_call_fastpath+0x16/0x1b <4>[ 29.817646] ---[ end trace 6a3b1350ad3996ae ]--- <4>[ 29.820818] ------------[ cut here ]------------ <4>[ 29.821153] WARNING: CPU: 3 PID: 2688 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.821795] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.825106] CPU: 3 PID: 2688 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.825664] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.826283] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.826992] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7245a8 <4>[ 29.827700] 0000000000000000 ffff88005b7245a8 0000000004000000 ffff88007a61fdd0 <4>[ 29.828414] Call Trace: <4>[ 29.828652] [] dump_stack+0x4d/0x66 <4>[ 29.829007] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.829391] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.829763] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.830166] [] truncate_setsize+0x27/0x40 <4>[ 29.830539] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.830911] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.831300] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.831680] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.832066] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.832471] [] do_fallocate+0x123/0x1b0 <4>[ 29.832837] [] SyS_fallocate+0x43/0x70 <4>[ 29.833201] [] system_call_fastpath+0x16/0x1b <4>[ 29.833579] ---[ end trace 6a3b1350ad3996af ]--- <4>[ 29.836918] ------------[ cut here ]------------ <4>[ 29.837265] WARNING: CPU: 3 PID: 2690 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.837910] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.841209] CPU: 3 PID: 2690 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.841772] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.842389] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 29.843100] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7249a8 <4>[ 29.843804] 0000000000000000 ffff88005b7249a8 0000000004000000 ffff88007bfd7dd0 <4>[ 29.844514] Call Trace: <4>[ 29.844751] [] dump_stack+0x4d/0x66 <4>[ 29.845105] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.845490] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.845861] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.846273] [] truncate_setsize+0x27/0x40 <4>[ 29.846647] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.847026] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.847405] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.847793] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.848177] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.848585] [] do_fallocate+0x123/0x1b0 <4>[ 29.848952] [] SyS_fallocate+0x43/0x70 <4>[ 29.849316] [] system_call_fastpath+0x16/0x1b <4>[ 29.849694] ---[ end trace 6a3b1350ad3996b0 ]--- <4>[ 29.853039] ------------[ cut here ]------------ <4>[ 29.853362] WARNING: CPU: 3 PID: 2692 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.854017] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.857313] CPU: 3 PID: 2692 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.857876] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.858497] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.859205] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b724da8 <4>[ 29.859907] 0000000000000000 ffff88005b724da8 0000000004000000 ffff88007bf8bdd0 <4>[ 29.860616] Call Trace: <4>[ 29.860853] [] dump_stack+0x4d/0x66 <4>[ 29.861210] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.861594] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.861965] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.862371] [] truncate_setsize+0x27/0x40 <4>[ 29.862743] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.863119] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.863507] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.863893] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.864277] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.864683] [] do_fallocate+0x123/0x1b0 <4>[ 29.865054] [] SyS_fallocate+0x43/0x70 <4>[ 29.865412] [] system_call_fastpath+0x16/0x1b <4>[ 29.865790] ---[ end trace 6a3b1350ad3996b1 ]--- <4>[ 29.869179] ------------[ cut here ]------------ <4>[ 29.869497] WARNING: CPU: 2 PID: 2694 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.870130] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.873240] CPU: 2 PID: 2694 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.873777] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.874380] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.875055] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1499a8 <4>[ 29.875723] 0000000000000000 ffff88007c1499a8 0000000004000000 ffff88007a61fdd0 <4>[ 29.876405] Call Trace: <4>[ 29.876634] [] dump_stack+0x4d/0x66 <4>[ 29.876976] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.877373] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.877736] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.878123] [] truncate_setsize+0x27/0x40 <4>[ 29.878481] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.878839] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.879213] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.879584] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.879942] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.880343] [] do_fallocate+0x123/0x1b0 <4>[ 29.880693] [] SyS_fallocate+0x43/0x70 <4>[ 29.881041] [] system_call_fastpath+0x16/0x1b <4>[ 29.881410] ---[ end trace 6a3b1350ad3996b2 ]--- <4>[ 29.884728] ------------[ cut here ]------------ <4>[ 29.885076] WARNING: CPU: 3 PID: 2696 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.885727] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.889035] CPU: 3 PID: 2696 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.889598] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.890214] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.890928] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7251a8 <4>[ 29.891639] 0000000000000000 ffff88005b7251a8 0000000004000000 ffff88007a56fdd0 <4>[ 29.892350] Call Trace: <4>[ 29.892588] [] dump_stack+0x4d/0x66 <4>[ 29.892938] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.893326] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.893697] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.894100] [] truncate_setsize+0x27/0x40 <4>[ 29.894474] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.894846] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.895234] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.895613] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.895988] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.896391] [] do_fallocate+0x123/0x1b0 <4>[ 29.896757] [] SyS_fallocate+0x43/0x70 <4>[ 29.897119] [] system_call_fastpath+0x16/0x1b <4>[ 29.897507] ---[ end trace 6a3b1350ad3996b3 ]--- <4>[ 29.900942] ------------[ cut here ]------------ <4>[ 29.901264] WARNING: CPU: 2 PID: 2698 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.903608] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.906716] CPU: 2 PID: 2698 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.907263] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.907855] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.908537] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c149da8 <4>[ 29.909219] 0000000000000000 ffff88007c149da8 0000000004000000 ffff88007d087dd0 <4>[ 29.909886] Call Trace: <4>[ 29.910134] [] dump_stack+0x4d/0x66 <4>[ 29.910473] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.910838] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.911203] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.911589] [] truncate_setsize+0x27/0x40 <4>[ 29.911940] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.912307] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.912677] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.913049] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.913412] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.913796] [] do_fallocate+0x123/0x1b0 <4>[ 29.914150] [] SyS_fallocate+0x43/0x70 <4>[ 29.914496] [] system_call_fastpath+0x16/0x1b <4>[ 29.914860] ---[ end trace 6a3b1350ad3996b4 ]--- <4>[ 29.918191] ------------[ cut here ]------------ <4>[ 29.918515] WARNING: CPU: 3 PID: 2700 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.919170] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.922466] CPU: 3 PID: 2700 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.923033] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.923651] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.924368] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7255a8 <4>[ 29.925082] 0000000000000000 ffff88005b7255a8 0000000004000000 ffff88007a50fdd0 <4>[ 29.925786] Call Trace: <4>[ 29.926029] [] dump_stack+0x4d/0x66 <4>[ 29.926380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.926763] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.927139] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.927543] [] truncate_setsize+0x27/0x40 <4>[ 29.927916] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.928294] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.928674] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.929066] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.929446] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.929854] [] do_fallocate+0x123/0x1b0 <4>[ 29.930225] [] SyS_fallocate+0x43/0x70 <4>[ 29.930585] [] system_call_fastpath+0x16/0x1b <4>[ 29.930963] ---[ end trace 6a3b1350ad3996b5 ]--- <4>[ 29.934419] ------------[ cut here ]------------ <4>[ 29.934736] WARNING: CPU: 2 PID: 2702 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.935368] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.938485] CPU: 2 PID: 2702 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.939027] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.939622] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 29.940305] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14a1a8 <4>[ 29.940971] 0000000000000000 ffff88007c14a1a8 0000000004000000 ffff88007a61fdd0 <4>[ 29.941652] Call Trace: <4>[ 29.941880] [] dump_stack+0x4d/0x66 <4>[ 29.942232] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.942604] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.942961] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.943349] [] truncate_setsize+0x27/0x40 <4>[ 29.943706] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.944073] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.944443] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.944808] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.945175] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.945566] [] do_fallocate+0x123/0x1b0 <4>[ 29.945911] [] SyS_fallocate+0x43/0x70 <4>[ 29.946259] [] system_call_fastpath+0x16/0x1b <4>[ 29.946629] ---[ end trace 6a3b1350ad3996b6 ]--- <4>[ 29.949855] ------------[ cut here ]------------ <4>[ 29.950179] WARNING: CPU: 2 PID: 2704 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.950798] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.953926] CPU: 2 PID: 2704 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.954472] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.955066] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 29.955734] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14a5a8 <4>[ 29.956417] 0000000000000000 ffff88007c14a5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 29.957092] Call Trace: <4>[ 29.957326] [] dump_stack+0x4d/0x66 <4>[ 29.957657] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.958029] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.958391] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.958772] [] truncate_setsize+0x27/0x40 <4>[ 29.959131] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.959495] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.959860] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.960233] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.960596] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.960980] [] do_fallocate+0x123/0x1b0 <4>[ 29.961332] [] SyS_fallocate+0x43/0x70 <4>[ 29.961678] [] system_call_fastpath+0x16/0x1b <4>[ 29.962050] ---[ end trace 6a3b1350ad3996b7 ]--- <4>[ 29.965312] ------------[ cut here ]------------ <4>[ 29.965641] WARNING: CPU: 3 PID: 2706 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.966301] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.969603] CPU: 3 PID: 2706 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.970165] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.970789] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 29.971493] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7259a8 <4>[ 29.972200] 0000000000000000 ffff88005b7259a8 0000000004000000 ffff88007d087dd0 <4>[ 29.972906] Call Trace: <4>[ 29.973148] [] dump_stack+0x4d/0x66 <4>[ 29.973498] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.973885] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.974264] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.974659] [] truncate_setsize+0x27/0x40 <4>[ 29.975037] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.975413] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.975792] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.976185] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.976565] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.976973] [] do_fallocate+0x123/0x1b0 <4>[ 29.977345] [] SyS_fallocate+0x43/0x70 <4>[ 29.977705] [] system_call_fastpath+0x16/0x1b <4>[ 29.978087] ---[ end trace 6a3b1350ad3996b8 ]--- <4>[ 29.981450] ------------[ cut here ]------------ <4>[ 29.981778] WARNING: CPU: 3 PID: 2708 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 29.982447] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 29.985754] CPU: 3 PID: 2708 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 29.986324] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 29.988714] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 29.989427] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b725da8 <4>[ 29.990135] 0000000000000000 ffff88005b725da8 0000000004000000 ffff88007bfc3dd0 <4>[ 29.990836] Call Trace: <4>[ 29.991078] [] dump_stack+0x4d/0x66 <4>[ 29.991432] [] warn_slowpath_common+0x7d/0xa0 <4>[ 29.991815] [] warn_slowpath_null+0x1a/0x20 <4>[ 29.992191] [] pagecache_isize_extended+0xdd/0x120 <4>[ 29.992595] [] truncate_setsize+0x27/0x40 <4>[ 29.992968] [] xfs_setattr_size+0x157/0x3a0 <4>[ 29.993347] [] ? xfs_trans_commit+0x157/0x250 <4>[ 29.993725] [] xfs_file_fallocate+0x2df/0x300 <4>[ 29.994117] [] ? __sb_start_write+0x49/0xf0 <4>[ 29.994498] [] ? selinux_file_permission+0xc4/0x120 <4>[ 29.994905] [] do_fallocate+0x123/0x1b0 <4>[ 29.995277] [] SyS_fallocate+0x43/0x70 <4>[ 29.995637] [] system_call_fastpath+0x16/0x1b <4>[ 29.996020] ---[ end trace 6a3b1350ad3996b9 ]--- <4>[ 29.999347] ------------[ cut here ]------------ <4>[ 29.999664] WARNING: CPU: 2 PID: 2710 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.000295] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.003405] CPU: 2 PID: 2710 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.003942] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.004537] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.005213] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14a9a8 <4>[ 30.005880] 0000000000000000 ffff88007c14a9a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.006562] Call Trace: <4>[ 30.006790] [] dump_stack+0x4d/0x66 <4>[ 30.007129] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.007498] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.007856] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.008244] [] truncate_setsize+0x27/0x40 <4>[ 30.008602] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.008959] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.009333] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.009705] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.010071] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.010460] [] do_fallocate+0x123/0x1b0 <4>[ 30.010804] [] SyS_fallocate+0x43/0x70 <4>[ 30.011155] [] system_call_fastpath+0x16/0x1b <4>[ 30.011524] ---[ end trace 6a3b1350ad3996ba ]--- <4>[ 30.014796] ------------[ cut here ]------------ <4>[ 30.015118] WARNING: CPU: 2 PID: 2712 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.015736] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.018841] CPU: 2 PID: 2712 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.019382] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.019971] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.020643] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14ada8 <4>[ 30.021315] 0000000000000000 ffff88007c14ada8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.021982] Call Trace: <4>[ 30.022214] [] dump_stack+0x4d/0x66 <4>[ 30.022546] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.022911] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.023274] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.023655] [] truncate_setsize+0x27/0x40 <4>[ 30.024010] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.024369] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.024734] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.025104] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.025463] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.025847] [] do_fallocate+0x123/0x1b0 <4>[ 30.026196] [] SyS_fallocate+0x43/0x70 <4>[ 30.026539] [] system_call_fastpath+0x16/0x1b <4>[ 30.026902] ---[ end trace 6a3b1350ad3996bb ]--- <4>[ 30.030161] ------------[ cut here ]------------ <4>[ 30.030491] WARNING: CPU: 3 PID: 2714 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.031154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.034445] CPU: 3 PID: 2714 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.035013] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.035627] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.036344] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7261a8 <4>[ 30.037051] 0000000000000000 ffff88005b7261a8 0000000004000000 ffff88007d087dd0 <4>[ 30.037754] Call Trace: <4>[ 30.037991] [] dump_stack+0x4d/0x66 <4>[ 30.038348] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.038730] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.039107] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.039511] [] truncate_setsize+0x27/0x40 <4>[ 30.039883] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.040259] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.040638] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.041030] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.041412] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.041813] [] do_fallocate+0x123/0x1b0 <4>[ 30.042180] [] SyS_fallocate+0x43/0x70 <4>[ 30.042545] [] system_call_fastpath+0x16/0x1b <4>[ 30.042926] ---[ end trace 6a3b1350ad3996bc ]--- <4>[ 30.046294] ------------[ cut here ]------------ <4>[ 30.046623] WARNING: CPU: 3 PID: 2716 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.047281] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.050569] CPU: 3 PID: 2716 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.051134] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.051754] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.052468] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7265a8 <4>[ 30.053173] 0000000000000000 ffff88005b7265a8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.053878] Call Trace: <4>[ 30.054119] [] dump_stack+0x4d/0x66 <4>[ 30.054470] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.054853] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.055229] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.055634] [] truncate_setsize+0x27/0x40 <4>[ 30.056010] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.056382] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.056761] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.057152] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.057534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.057936] [] do_fallocate+0x123/0x1b0 <4>[ 30.058302] [] SyS_fallocate+0x43/0x70 <4>[ 30.058662] [] system_call_fastpath+0x16/0x1b <4>[ 30.059043] ---[ end trace 6a3b1350ad3996bd ]--- <4>[ 30.062365] ------------[ cut here ]------------ <4>[ 30.062681] WARNING: CPU: 2 PID: 2718 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.063309] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.066412] CPU: 2 PID: 2718 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.066949] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.067541] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.068223] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14b1a8 <4>[ 30.068889] 0000000000000000 ffff88007c14b1a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.069560] Call Trace: <4>[ 30.069788] [] dump_stack+0x4d/0x66 <4>[ 30.070126] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.070491] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.072560] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.072941] [] truncate_setsize+0x27/0x40 <4>[ 30.073297] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.073655] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.074023] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.074389] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.074747] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.075136] [] do_fallocate+0x123/0x1b0 <4>[ 30.075482] [] SyS_fallocate+0x43/0x70 <4>[ 30.075822] [] system_call_fastpath+0x16/0x1b <4>[ 30.076191] ---[ end trace 6a3b1350ad3996be ]--- <4>[ 30.079382] ------------[ cut here ]------------ <4>[ 30.079698] WARNING: CPU: 2 PID: 2720 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.080323] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.083441] CPU: 2 PID: 2720 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.083977] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.084568] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.085239] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14b5a8 <4>[ 30.085906] 0000000000000000 ffff88007c14b5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.086578] Call Trace: <4>[ 30.086807] [] dump_stack+0x4d/0x66 <4>[ 30.087144] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.087509] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.087867] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.088252] [] truncate_setsize+0x27/0x40 <4>[ 30.088604] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.088962] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.089331] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.089696] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.090058] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.090444] [] do_fallocate+0x123/0x1b0 <4>[ 30.090789] [] SyS_fallocate+0x43/0x70 <4>[ 30.091135] [] system_call_fastpath+0x16/0x1b <4>[ 30.091500] ---[ end trace 6a3b1350ad3996bf ]--- <4>[ 30.094987] ------------[ cut here ]------------ <4>[ 30.095326] WARNING: CPU: 3 PID: 2722 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.095971] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.099276] CPU: 3 PID: 2722 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.099838] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.100458] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.101169] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7269a8 <4>[ 30.101878] 0000000000000000 ffff88005b7269a8 0000000004000000 ffff88007a50fdd0 <4>[ 30.102591] Call Trace: <4>[ 30.102829] [] dump_stack+0x4d/0x66 <4>[ 30.103187] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.103571] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.103942] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.104343] [] truncate_setsize+0x27/0x40 <4>[ 30.104714] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.105092] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.105471] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.105858] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.106242] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.106643] [] do_fallocate+0x123/0x1b0 <4>[ 30.107010] [] SyS_fallocate+0x43/0x70 <4>[ 30.107370] [] system_call_fastpath+0x16/0x1b <4>[ 30.107748] ---[ end trace 6a3b1350ad3996c0 ]--- <4>[ 30.111126] ------------[ cut here ]------------ <4>[ 30.111444] WARNING: CPU: 2 PID: 2724 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.112069] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.115173] CPU: 2 PID: 2724 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.115709] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.116302] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.116969] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14b9a8 <4>[ 30.117641] 0000000000000000 ffff88007c14b9a8 0000000004000000 ffff88007d087dd0 <4>[ 30.118314] Call Trace: <4>[ 30.118542] [] dump_stack+0x4d/0x66 <4>[ 30.118874] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.119244] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.119602] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.119983] [] truncate_setsize+0x27/0x40 <4>[ 30.120339] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.120697] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.121067] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.121433] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.121791] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.122181] [] do_fallocate+0x123/0x1b0 <4>[ 30.122526] [] SyS_fallocate+0x43/0x70 <4>[ 30.122867] [] system_call_fastpath+0x16/0x1b <4>[ 30.123236] ---[ end trace 6a3b1350ad3996c1 ]--- <4>[ 30.126451] ------------[ cut here ]------------ <4>[ 30.126767] WARNING: CPU: 2 PID: 2726 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.127396] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.130504] CPU: 2 PID: 2726 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.131045] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.131632] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.132303] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14bda8 <4>[ 30.132970] 0000000000000000 ffff88007c14bda8 0000000004000000 ffff88007a56fdd0 <4>[ 30.133640] Call Trace: <4>[ 30.133868] [] dump_stack+0x4d/0x66 <4>[ 30.134203] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.134569] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.134926] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.135312] [] truncate_setsize+0x27/0x40 <4>[ 30.135664] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.136026] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.136391] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.136756] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.137117] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.137503] [] do_fallocate+0x123/0x1b0 <4>[ 30.137847] [] SyS_fallocate+0x43/0x70 <4>[ 30.138193] [] system_call_fastpath+0x16/0x1b <4>[ 30.138557] ---[ end trace 6a3b1350ad3996c2 ]--- <4>[ 30.141737] ------------[ cut here ]------------ <4>[ 30.142089] WARNING: CPU: 3 PID: 2728 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.142740] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.146024] CPU: 3 PID: 2728 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.146587] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.147206] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.147915] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b726da8 <4>[ 30.148628] 0000000000000000 ffff88005b726da8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.149334] Call Trace: <4>[ 30.149572] [] dump_stack+0x4d/0x66 <4>[ 30.149921] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.150308] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.150680] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.151083] [] truncate_setsize+0x27/0x40 <4>[ 30.151453] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.151827] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.152210] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.152599] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.152979] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.153383] [] do_fallocate+0x123/0x1b0 <4>[ 30.153746] [] SyS_fallocate+0x43/0x70 <4>[ 30.154109] [] system_call_fastpath+0x16/0x1b <4>[ 30.156267] ---[ end trace 6a3b1350ad3996c3 ]--- <4>[ 30.159664] ------------[ cut here ]------------ <4>[ 30.159980] WARNING: CPU: 2 PID: 2730 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.160608] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.163711] CPU: 2 PID: 2730 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.164251] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.164848] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.165531] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7801a8 <4>[ 30.166202] 0000000000000000 ffff88005b7801a8 0000000004000000 ffff88007a50fdd0 <4>[ 30.166870] Call Trace: <4>[ 30.167103] [] dump_stack+0x4d/0x66 <4>[ 30.167435] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.167799] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.168162] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.168543] [] truncate_setsize+0x27/0x40 <4>[ 30.168894] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.169257] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.169622] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.169987] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.170348] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.170734] [] do_fallocate+0x123/0x1b0 <4>[ 30.171083] [] SyS_fallocate+0x43/0x70 <4>[ 30.171424] [] system_call_fastpath+0x16/0x1b <4>[ 30.171788] ---[ end trace 6a3b1350ad3996c4 ]--- <4>[ 30.175108] ------------[ cut here ]------------ <4>[ 30.175449] WARNING: CPU: 1 PID: 2732 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.176101] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.179396] CPU: 1 PID: 2732 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.179959] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.180576] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.181287] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7051a8 <4>[ 30.181992] 0000000000000000 ffff88005b7051a8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.182708] Call Trace: <4>[ 30.182946] [] dump_stack+0x4d/0x66 <4>[ 30.183301] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.183684] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.184060] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.184463] [] truncate_setsize+0x27/0x40 <4>[ 30.184835] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.185214] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.185593] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.185981] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.186366] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.186773] [] do_fallocate+0x123/0x1b0 <4>[ 30.187144] [] SyS_fallocate+0x43/0x70 <4>[ 30.187503] [] system_call_fastpath+0x16/0x1b <4>[ 30.187881] ---[ end trace 6a3b1350ad3996c5 ]--- <4>[ 30.191213] ------------[ cut here ]------------ <4>[ 30.191544] WARNING: CPU: 3 PID: 2734 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.192208] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.195518] CPU: 3 PID: 2734 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.196085] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.196707] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.197419] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7271a8 <4>[ 30.198131] 0000000000000000 ffff88005b7271a8 0000000004000000 ffff88007a61fdd0 <4>[ 30.198837] Call Trace: <4>[ 30.199080] [] dump_stack+0x4d/0x66 <4>[ 30.199431] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.199814] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.200190] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.200592] [] truncate_setsize+0x27/0x40 <4>[ 30.200965] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.201343] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.201722] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.202114] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.202494] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.202902] [] do_fallocate+0x123/0x1b0 <4>[ 30.203274] [] SyS_fallocate+0x43/0x70 <4>[ 30.203633] [] system_call_fastpath+0x16/0x1b <4>[ 30.204018] ---[ end trace 6a3b1350ad3996c6 ]--- <4>[ 30.207271] ------------[ cut here ]------------ <4>[ 30.207587] WARNING: CPU: 2 PID: 2736 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.208219] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.211330] CPU: 2 PID: 2736 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.211866] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.212466] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.213143] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7805a8 <4>[ 30.213810] 0000000000000000 ffff88005b7805a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.214493] Call Trace: <4>[ 30.214721] [] dump_stack+0x4d/0x66 <4>[ 30.215061] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.215432] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.215789] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.216179] [] truncate_setsize+0x27/0x40 <4>[ 30.216535] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.216893] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.217265] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.217636] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.217994] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.218388] [] do_fallocate+0x123/0x1b0 <4>[ 30.218738] [] SyS_fallocate+0x43/0x70 <4>[ 30.219089] [] system_call_fastpath+0x16/0x1b <4>[ 30.219457] ---[ end trace 6a3b1350ad3996c7 ]--- <4>[ 30.222870] ------------[ cut here ]------------ <4>[ 30.223221] WARNING: CPU: 3 PID: 2738 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.223872] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.227176] CPU: 3 PID: 2738 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.227739] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.228357] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.229072] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7275a8 <4>[ 30.229781] 0000000000000000 ffff88005b7275a8 0000000004000000 ffff88007d087dd0 <4>[ 30.230490] Call Trace: <4>[ 30.230727] [] dump_stack+0x4d/0x66 <4>[ 30.231081] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.231465] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.231837] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.232240] [] truncate_setsize+0x27/0x40 <4>[ 30.232610] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.232985] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.233367] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.233755] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.234140] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.234546] [] do_fallocate+0x123/0x1b0 <4>[ 30.234913] [] SyS_fallocate+0x43/0x70 <4>[ 30.235275] [] system_call_fastpath+0x16/0x1b <4>[ 30.235652] ---[ end trace 6a3b1350ad3996c8 ]--- <4>[ 30.239085] ------------[ cut here ]------------ <4>[ 30.239402] WARNING: CPU: 2 PID: 2740 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.240031] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.244857] CPU: 2 PID: 2740 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.245403] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.245991] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.246668] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7809a8 <4>[ 30.247340] 0000000000000000 ffff88005b7809a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.248011] Call Trace: <4>[ 30.248240] [] dump_stack+0x4d/0x66 <4>[ 30.248571] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.248935] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.249306] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.249688] [] truncate_setsize+0x27/0x40 <4>[ 30.250043] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.250402] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.250766] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.251136] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.251494] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.251878] [] do_fallocate+0x123/0x1b0 <4>[ 30.252233] [] SyS_fallocate+0x43/0x70 <4>[ 30.252574] [] system_call_fastpath+0x16/0x1b <4>[ 30.252938] ---[ end trace 6a3b1350ad3996c9 ]--- <4>[ 30.256201] ------------[ cut here ]------------ <4>[ 30.256516] WARNING: CPU: 2 PID: 2742 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.257153] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.260275] CPU: 2 PID: 2742 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.260812] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.261403] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.262075] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b780da8 <4>[ 30.262744] 0000000000000000 ffff88005b780da8 0000000004000000 ffff88007d087dd0 <4>[ 30.263420] Call Trace: <4>[ 30.263648] [] dump_stack+0x4d/0x66 <4>[ 30.263979] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.264349] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.264708] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.265093] [] truncate_setsize+0x27/0x40 <4>[ 30.265445] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.265803] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.266181] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.266546] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.266904] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.267293] [] do_fallocate+0x123/0x1b0 <4>[ 30.267638] [] SyS_fallocate+0x43/0x70 <4>[ 30.267979] [] system_call_fastpath+0x16/0x1b <4>[ 30.268347] ---[ end trace 6a3b1350ad3996ca ]--- <4>[ 30.271617] ------------[ cut here ]------------ <4>[ 30.271947] WARNING: CPU: 3 PID: 2744 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.272614] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.275912] CPU: 3 PID: 2744 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.276479] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.277095] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.277808] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7279a8 <4>[ 30.278517] 0000000000000000 ffff88005b7279a8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.279227] Call Trace: <4>[ 30.279464] [] dump_stack+0x4d/0x66 <4>[ 30.279813] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.280199] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.280571] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.280971] [] truncate_setsize+0x27/0x40 <4>[ 30.281346] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.281718] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.282099] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.282489] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.282868] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.283278] [] do_fallocate+0x123/0x1b0 <4>[ 30.283645] [] SyS_fallocate+0x43/0x70 <4>[ 30.284009] [] system_call_fastpath+0x16/0x1b <4>[ 30.284388] ---[ end trace 6a3b1350ad3996cb ]--- <4>[ 30.287576] ------------[ cut here ]------------ <4>[ 30.287902] WARNING: CPU: 3 PID: 2746 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.288568] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.291870] CPU: 3 PID: 2746 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.292433] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.293055] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.293768] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b727da8 <4>[ 30.294481] 0000000000000000 ffff88005b727da8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.295188] Call Trace: <4>[ 30.295425] [] dump_stack+0x4d/0x66 <4>[ 30.295774] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.296162] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.296533] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.296930] [] truncate_setsize+0x27/0x40 <4>[ 30.297305] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.297677] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.298064] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.298452] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.298832] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.299245] [] do_fallocate+0x123/0x1b0 <4>[ 30.299617] [] SyS_fallocate+0x43/0x70 <4>[ 30.299975] [] system_call_fastpath+0x16/0x1b <4>[ 30.300356] ---[ end trace 6a3b1350ad3996cc ]--- <4>[ 30.303773] ------------[ cut here ]------------ <4>[ 30.304113] WARNING: CPU: 2 PID: 2748 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.304737] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.307864] CPU: 2 PID: 2748 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.308415] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.309013] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.309681] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7811a8 <4>[ 30.310372] 0000000000000000 ffff88005b7811a8 0000000004000000 ffff88007a61fdd0 <4>[ 30.311047] Call Trace: <4>[ 30.311281] [] dump_stack+0x4d/0x66 <4>[ 30.311612] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.311977] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.312344] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.312731] [] truncate_setsize+0x27/0x40 <4>[ 30.313100] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.313463] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.313828] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.314202] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.314566] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.314951] [] do_fallocate+0x123/0x1b0 <4>[ 30.315305] [] SyS_fallocate+0x43/0x70 <4>[ 30.315653] [] system_call_fastpath+0x16/0x1b <4>[ 30.316035] ---[ end trace 6a3b1350ad3996cd ]--- <4>[ 30.319316] ------------[ cut here ]------------ <4>[ 30.319630] WARNING: CPU: 2 PID: 2750 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.320270] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.323388] CPU: 2 PID: 2750 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.323927] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.324535] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.325211] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7815a8 <4>[ 30.325877] 0000000000000000 ffff88005b7815a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.328270] Call Trace: <4>[ 30.328498] [] dump_stack+0x4d/0x66 <4>[ 30.328830] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.329214] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.329577] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.329957] [] truncate_setsize+0x27/0x40 <4>[ 30.330318] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.330682] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.331056] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.331425] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.331784] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.332186] [] do_fallocate+0x123/0x1b0 <4>[ 30.332536] [] SyS_fallocate+0x43/0x70 <4>[ 30.332877] [] system_call_fastpath+0x16/0x1b <4>[ 30.333260] ---[ end trace 6a3b1350ad3996ce ]--- <4>[ 30.336440] ------------[ cut here ]------------ <4>[ 30.336755] WARNING: CPU: 2 PID: 2752 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.337396] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.340512] CPU: 2 PID: 2752 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.341057] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.341650] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.342333] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7819a8 <4>[ 30.342999] 0000000000000000 ffff88005b7819a8 0000000004000000 ffff88007d087dd0 <4>[ 30.343685] Call Trace: <4>[ 30.343912] [] dump_stack+0x4d/0x66 <4>[ 30.344251] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.344621] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.344978] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.345368] [] truncate_setsize+0x27/0x40 <4>[ 30.345725] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.346102] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.346473] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.346838] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.347205] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.347594] [] do_fallocate+0x123/0x1b0 <4>[ 30.347939] [] SyS_fallocate+0x43/0x70 <4>[ 30.348289] [] system_call_fastpath+0x16/0x1b <4>[ 30.348658] ---[ end trace 6a3b1350ad3996cf ]--- <4>[ 30.351808] ------------[ cut here ]------------ <4>[ 30.352139] WARNING: CPU: 2 PID: 2754 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.352756] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.355879] CPU: 2 PID: 2754 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.356424] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.357020] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.357687] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b781da8 <4>[ 30.358377] 0000000000000000 ffff88005b781da8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.359053] Call Trace: <4>[ 30.359286] [] dump_stack+0x4d/0x66 <4>[ 30.359618] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.359982] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.360346] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.360732] [] truncate_setsize+0x27/0x40 <4>[ 30.361102] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.361465] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.361830] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.362202] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.362565] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.362949] [] do_fallocate+0x123/0x1b0 <4>[ 30.363303] [] SyS_fallocate+0x43/0x70 <4>[ 30.363650] [] system_call_fastpath+0x16/0x1b <4>[ 30.364023] ---[ end trace 6a3b1350ad3996d0 ]--- <4>[ 30.367292] ------------[ cut here ]------------ <4>[ 30.367629] WARNING: CPU: 3 PID: 2756 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.368286] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.371579] CPU: 3 PID: 2756 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.372145] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.372759] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.373472] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1541a8 <4>[ 30.374180] 0000000000000000 ffff88007c1541a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.374887] Call Trace: <4>[ 30.375129] [] dump_stack+0x4d/0x66 <4>[ 30.375479] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.375861] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.376236] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.376634] [] truncate_setsize+0x27/0x40 <4>[ 30.377008] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.377380] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.377758] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.378149] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.378530] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.378937] [] do_fallocate+0x123/0x1b0 <4>[ 30.379307] [] SyS_fallocate+0x43/0x70 <4>[ 30.379666] [] system_call_fastpath+0x16/0x1b <4>[ 30.380048] ---[ end trace 6a3b1350ad3996d1 ]--- <4>[ 30.383293] ------------[ cut here ]------------ <4>[ 30.383610] WARNING: CPU: 2 PID: 2758 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.384250] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.387368] CPU: 2 PID: 2758 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.387906] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.388501] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.389177] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7821a8 <4>[ 30.389844] 0000000000000000 ffff88005b7821a8 0000000004000000 ffff88007a61fdd0 <4>[ 30.390534] Call Trace: <4>[ 30.390762] [] dump_stack+0x4d/0x66 <4>[ 30.391103] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.391472] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.391829] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.392218] [] truncate_setsize+0x27/0x40 <4>[ 30.392575] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.392933] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.393306] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.393677] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.394044] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.394433] [] do_fallocate+0x123/0x1b0 <4>[ 30.394778] [] SyS_fallocate+0x43/0x70 <4>[ 30.395129] [] system_call_fastpath+0x16/0x1b <4>[ 30.395498] ---[ end trace 6a3b1350ad3996d2 ]--- <4>[ 30.398790] ------------[ cut here ]------------ <4>[ 30.399126] WARNING: CPU: 3 PID: 2760 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.399783] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.403081] CPU: 3 PID: 2760 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.403646] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.404274] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.404984] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1545a8 <4>[ 30.405692] 0000000000000000 ffff88007c1545a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.406406] Call Trace: <4>[ 30.406643] [] dump_stack+0x4d/0x66 <4>[ 30.406992] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.407378] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.407750] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.408153] [] truncate_setsize+0x27/0x40 <4>[ 30.408523] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.408897] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.409279] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.409667] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.411818] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.412226] [] do_fallocate+0x123/0x1b0 <4>[ 30.412597] [] SyS_fallocate+0x43/0x70 <4>[ 30.412956] [] system_call_fastpath+0x16/0x1b <4>[ 30.413336] ---[ end trace 6a3b1350ad3996d3 ]--- <4>[ 30.416764] ------------[ cut here ]------------ <4>[ 30.417103] WARNING: CPU: 2 PID: 2762 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.417722] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.420840] CPU: 2 PID: 2762 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.421381] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.421969] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.422641] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7825a8 <4>[ 30.423322] 0000000000000000 ffff88005b7825a8 0000000004000000 ffff88007d087dd0 <4>[ 30.423988] Call Trace: <4>[ 30.424220] [] dump_stack+0x4d/0x66 <4>[ 30.424551] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.424916] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.425279] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.425660] [] truncate_setsize+0x27/0x40 <4>[ 30.426027] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.426386] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.426750] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.427120] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.427479] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.427863] [] do_fallocate+0x123/0x1b0 <4>[ 30.428213] [] SyS_fallocate+0x43/0x70 <4>[ 30.428553] [] system_call_fastpath+0x16/0x1b <4>[ 30.428917] ---[ end trace 6a3b1350ad3996d4 ]--- <4>[ 30.432289] ------------[ cut here ]------------ <4>[ 30.432631] WARNING: CPU: 3 PID: 2764 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.433283] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.436588] CPU: 3 PID: 2764 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.437155] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.437770] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.438483] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1549a8 <4>[ 30.439191] 0000000000000000 ffff88007c1549a8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.439897] Call Trace: <4>[ 30.440142] [] dump_stack+0x4d/0x66 <4>[ 30.440483] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.440855] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.441226] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.441624] [] truncate_setsize+0x27/0x40 <4>[ 30.441998] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.442374] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.442761] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.443152] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.443534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.443936] [] do_fallocate+0x123/0x1b0 <4>[ 30.444303] [] SyS_fallocate+0x43/0x70 <4>[ 30.444662] [] system_call_fastpath+0x16/0x1b <4>[ 30.445043] ---[ end trace 6a3b1350ad3996d5 ]--- <4>[ 30.448527] ------------[ cut here ]------------ <4>[ 30.448843] WARNING: CPU: 2 PID: 2768 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.449480] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.452583] CPU: 2 PID: 2768 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.453132] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.453721] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.454406] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7829a8 <4>[ 30.455078] 0000000000000000 ffff88005b7829a8 0000000004000000 ffff88007a50fdd0 <4>[ 30.455746] Call Trace: <4>[ 30.455975] [] dump_stack+0x4d/0x66 <4>[ 30.456320] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.456684] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.457047] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.457428] [] truncate_setsize+0x27/0x40 <4>[ 30.457778] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.458152] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.458517] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.458882] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.459256] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.459640] [] do_fallocate+0x123/0x1b0 <4>[ 30.459985] [] SyS_fallocate+0x43/0x70 <4>[ 30.460331] [] system_call_fastpath+0x16/0x1b <4>[ 30.460695] ---[ end trace 6a3b1350ad3996d6 ]--- <4>[ 30.463927] ------------[ cut here ]------------ <4>[ 30.464249] WARNING: CPU: 2 PID: 2770 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.464867] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.468051] CPU: 2 PID: 2770 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.468588] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.469180] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.469849] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b782da8 <4>[ 30.470521] 0000000000000000 ffff88005b782da8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.471203] Call Trace: <4>[ 30.471432] [] dump_stack+0x4d/0x66 <4>[ 30.471763] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.472132] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.472490] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.472870] [] truncate_setsize+0x27/0x40 <4>[ 30.473226] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.473585] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.473950] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.474328] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.474686] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.475075] [] do_fallocate+0x123/0x1b0 <4>[ 30.475420] [] SyS_fallocate+0x43/0x70 <4>[ 30.475761] [] system_call_fastpath+0x16/0x1b <4>[ 30.476129] ---[ end trace 6a3b1350ad3996d7 ]--- <4>[ 30.479529] ------------[ cut here ]------------ <4>[ 30.479862] WARNING: CPU: 3 PID: 2774 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.480524] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.483815] CPU: 3 PID: 2774 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.484382] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.484994] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.485708] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c154da8 <4>[ 30.486422] 0000000000000000 ffff88007c154da8 0000000004000000 ffff88007d087dd0 <4>[ 30.487131] Call Trace: <4>[ 30.487368] [] dump_stack+0x4d/0x66 <4>[ 30.487719] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.488106] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.488478] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.488877] [] truncate_setsize+0x27/0x40 <4>[ 30.489252] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.489624] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.490007] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.490396] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.490776] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.491193] [] do_fallocate+0x123/0x1b0 <4>[ 30.491556] [] SyS_fallocate+0x43/0x70 <4>[ 30.491915] [] system_call_fastpath+0x16/0x1b <4>[ 30.492296] ---[ end trace 6a3b1350ad3996d8 ]--- <4>[ 30.495713] ------------[ cut here ]------------ <4>[ 30.496060] WARNING: CPU: 2 PID: 2776 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.496685] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.501513] CPU: 2 PID: 2776 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.502063] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.502652] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 30.503324] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7831a8 <4>[ 30.503991] 0000000000000000 ffff88005b7831a8 0000000004000000 ffff88007bfabdd0 <4>[ 30.504662] Call Trace: <4>[ 30.504891] [] dump_stack+0x4d/0x66 <4>[ 30.505234] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.505599] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.505956] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.506350] [] truncate_setsize+0x27/0x40 <4>[ 30.506702] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.507064] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.507429] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.507794] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.508167] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.508552] [] do_fallocate+0x123/0x1b0 <4>[ 30.508897] [] SyS_fallocate+0x43/0x70 <4>[ 30.509243] [] system_call_fastpath+0x16/0x1b <4>[ 30.509607] ---[ end trace 6a3b1350ad3996d9 ]--- <4>[ 30.513096] ------------[ cut here ]------------ <4>[ 30.513412] WARNING: CPU: 2 PID: 2780 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.514038] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.517153] CPU: 2 PID: 2780 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.517690] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.518282] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.518951] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7835a8 <4>[ 30.519631] 0000000000000000 ffff88005b7835a8 0000000004000000 ffff88007a56fdd0 <4>[ 30.520303] Call Trace: <4>[ 30.520531] [] dump_stack+0x4d/0x66 <4>[ 30.520862] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.521242] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.521599] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.521980] [] truncate_setsize+0x27/0x40 <4>[ 30.522340] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.522702] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.523084] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.523458] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.523825] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.524223] [] do_fallocate+0x123/0x1b0 <4>[ 30.524573] [] SyS_fallocate+0x43/0x70 <4>[ 30.524920] [] system_call_fastpath+0x16/0x1b <4>[ 30.525295] ---[ end trace 6a3b1350ad3996da ]--- <4>[ 30.528583] ------------[ cut here ]------------ <4>[ 30.528898] WARNING: CPU: 2 PID: 2784 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.529527] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.532635] CPU: 2 PID: 2784 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.533177] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.533764] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.534437] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7839a8 <4>[ 30.535117] 0000000000000000 ffff88005b7839a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.535786] Call Trace: <4>[ 30.536018] [] dump_stack+0x4d/0x66 <4>[ 30.536350] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.536715] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.537077] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.537459] [] truncate_setsize+0x27/0x40 <4>[ 30.537810] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.538183] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.538547] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.538913] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.539275] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.539660] [] do_fallocate+0x123/0x1b0 <4>[ 30.540010] [] SyS_fallocate+0x43/0x70 <4>[ 30.540351] [] system_call_fastpath+0x16/0x1b <4>[ 30.540714] ---[ end trace 6a3b1350ad3996db ]--- <4>[ 30.544030] ------------[ cut here ]------------ <4>[ 30.544346] WARNING: CPU: 2 PID: 2786 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.544964] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.548090] CPU: 2 PID: 2786 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.548626] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.549219] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 30.549888] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b783da8 <4>[ 30.550570] 0000000000000000 ffff88005b783da8 0000000004000000 ffff88007bf43dd0 <4>[ 30.551247] Call Trace: <4>[ 30.551475] [] dump_stack+0x4d/0x66 <4>[ 30.551806] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.552176] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.552534] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.552915] [] truncate_setsize+0x27/0x40 <4>[ 30.553271] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.553629] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.553994] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.554369] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.554728] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.555116] [] do_fallocate+0x123/0x1b0 <4>[ 30.555462] [] SyS_fallocate+0x43/0x70 <4>[ 30.555803] [] system_call_fastpath+0x16/0x1b <4>[ 30.556171] ---[ end trace 6a3b1350ad3996dc ]--- <4>[ 30.559649] ------------[ cut here ]------------ <4>[ 30.559983] WARNING: CPU: 3 PID: 2788 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.560640] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.563932] CPU: 3 PID: 2788 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.564502] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.565122] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 30.565832] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1551a8 <4>[ 30.566542] 0000000000000000 ffff88007c1551a8 0000000004000000 ffff88007bfabdd0 <4>[ 30.567249] Call Trace: <4>[ 30.567488] [] dump_stack+0x4d/0x66 <4>[ 30.567837] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.568226] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.568599] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.568999] [] truncate_setsize+0x27/0x40 <4>[ 30.569374] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.569745] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.570128] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.570517] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.570896] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.571309] [] do_fallocate+0x123/0x1b0 <4>[ 30.571681] [] SyS_fallocate+0x43/0x70 <4>[ 30.572044] [] system_call_fastpath+0x16/0x1b <4>[ 30.572421] ---[ end trace 6a3b1350ad3996dd ]--- <4>[ 30.575903] ------------[ cut here ]------------ <4>[ 30.576230] WARNING: CPU: 2 PID: 2790 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.576849] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.579977] CPU: 2 PID: 2790 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.580524] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.581119] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.583503] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7301a8 <4>[ 30.584181] 0000000000000000 ffff88005b7301a8 0000000004000000 ffff88007d087dd0 <4>[ 30.584849] Call Trace: <4>[ 30.585096] [] dump_stack+0x4d/0x66 <4>[ 30.585434] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.585798] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.586164] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.586550] [] truncate_setsize+0x27/0x40 <4>[ 30.586901] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.587268] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.587638] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.588012] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.588380] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.588764] [] do_fallocate+0x123/0x1b0 <4>[ 30.589117] [] SyS_fallocate+0x43/0x70 <4>[ 30.589464] [] system_call_fastpath+0x16/0x1b <4>[ 30.589828] ---[ end trace 6a3b1350ad3996de ]--- <4>[ 30.593256] ------------[ cut here ]------------ <4>[ 30.593570] WARNING: CPU: 2 PID: 2792 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.594211] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.597349] CPU: 2 PID: 2792 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.597886] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.598483] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 30.599158] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7305a8 <4>[ 30.599824] 0000000000000000 ffff88005b7305a8 0000000004000000 ffff88007bf43dd0 <4>[ 30.600503] Call Trace: <4>[ 30.600731] [] dump_stack+0x4d/0x66 <4>[ 30.601082] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.601451] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.601809] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.602199] [] truncate_setsize+0x27/0x40 <4>[ 30.602557] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.602914] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.603287] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.603658] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.604026] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.604420] [] do_fallocate+0x123/0x1b0 <4>[ 30.604765] [] SyS_fallocate+0x43/0x70 <4>[ 30.605115] [] system_call_fastpath+0x16/0x1b <4>[ 30.605484] ---[ end trace 6a3b1350ad3996df ]--- <4>[ 30.608974] ------------[ cut here ]------------ <4>[ 30.609321] WARNING: CPU: 3 PID: 2794 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.609970] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.613260] CPU: 3 PID: 2794 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.613819] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.614445] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.615155] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1555a8 <4>[ 30.615856] 0000000000000000 ffff88007c1555a8 0000000004000000 ffff88007a50fdd0 <4>[ 30.616564] Call Trace: <4>[ 30.616802] [] dump_stack+0x4d/0x66 <4>[ 30.617160] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.617544] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.617915] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.618318] [] truncate_setsize+0x27/0x40 <4>[ 30.618688] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.619067] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.619446] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.619833] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.620216] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.620624] [] do_fallocate+0x123/0x1b0 <4>[ 30.620991] [] SyS_fallocate+0x43/0x70 <4>[ 30.621352] [] system_call_fastpath+0x16/0x1b <4>[ 30.621731] ---[ end trace 6a3b1350ad3996e0 ]--- <4>[ 30.625181] ------------[ cut here ]------------ <4>[ 30.625497] WARNING: CPU: 2 PID: 2796 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.626133] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.629243] CPU: 2 PID: 2796 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.629780] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.630371] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.631043] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7309a8 <4>[ 30.631710] 0000000000000000 ffff88005b7309a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.632391] Call Trace: <4>[ 30.632620] [] dump_stack+0x4d/0x66 <4>[ 30.632950] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.633321] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.633679] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.634074] [] truncate_setsize+0x27/0x40 <4>[ 30.634426] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.634785] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.635164] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.635528] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.635887] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.636276] [] do_fallocate+0x123/0x1b0 <4>[ 30.636621] [] SyS_fallocate+0x43/0x70 <4>[ 30.636961] [] system_call_fastpath+0x16/0x1b <4>[ 30.637329] ---[ end trace 6a3b1350ad3996e1 ]--- <4>[ 30.640684] ------------[ cut here ]------------ <4>[ 30.641000] WARNING: CPU: 2 PID: 2798 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.641634] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.644749] CPU: 2 PID: 2798 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.645289] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.645877] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.646549] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b730da8 <4>[ 30.647232] 0000000000000000 ffff88005b730da8 0000000004000000 ffff88007a56fdd0 <4>[ 30.647899] Call Trace: <4>[ 30.648132] [] dump_stack+0x4d/0x66 <4>[ 30.648463] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.648828] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.649192] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.649572] [] truncate_setsize+0x27/0x40 <4>[ 30.649923] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.650294] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.650660] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.651031] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.651389] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.651773] [] do_fallocate+0x123/0x1b0 <4>[ 30.652123] [] SyS_fallocate+0x43/0x70 <4>[ 30.652464] [] system_call_fastpath+0x16/0x1b <4>[ 30.652828] ---[ end trace 6a3b1350ad3996e2 ]--- <4>[ 30.656096] ------------[ cut here ]------------ <4>[ 30.656411] WARNING: CPU: 2 PID: 2800 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.657043] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.660160] CPU: 2 PID: 2800 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.660696] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.661288] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 30.661958] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7311a8 <4>[ 30.662629] 0000000000000000 ffff88005b7311a8 0000000004000000 ffff88007bf43dd0 <4>[ 30.663310] Call Trace: <4>[ 30.663538] [] dump_stack+0x4d/0x66 <4>[ 30.663869] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.664249] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.664607] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.664987] [] truncate_setsize+0x27/0x40 <4>[ 30.667055] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.667414] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.667778] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.668149] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.668507] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.668891] [] do_fallocate+0x123/0x1b0 <4>[ 30.669246] [] SyS_fallocate+0x43/0x70 <4>[ 30.669587] [] system_call_fastpath+0x16/0x1b <4>[ 30.669950] ---[ end trace 6a3b1350ad3996e3 ]--- <4>[ 30.673303] ------------[ cut here ]------------ <4>[ 30.673644] WARNING: CPU: 3 PID: 2802 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.674301] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.677593] CPU: 3 PID: 2802 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.678160] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.678774] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.679488] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1559a8 <4>[ 30.680199] 0000000000000000 ffff88007c1559a8 0000000004000000 ffff88007d087dd0 <4>[ 30.680884] Call Trace: <4>[ 30.681129] [] dump_stack+0x4d/0x66 <4>[ 30.681475] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.681865] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.682253] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.682651] [] truncate_setsize+0x27/0x40 <4>[ 30.683025] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.683398] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.683776] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.684170] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.684551] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.684959] [] do_fallocate+0x123/0x1b0 <4>[ 30.685330] [] SyS_fallocate+0x43/0x70 <4>[ 30.685690] [] system_call_fastpath+0x16/0x1b <4>[ 30.686072] ---[ end trace 6a3b1350ad3996e4 ]--- <4>[ 30.689449] ------------[ cut here ]------------ <4>[ 30.689765] WARNING: CPU: 2 PID: 2806 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.690402] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.693522] CPU: 2 PID: 2806 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.694067] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.694660] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 30.695343] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7315a8 <4>[ 30.696023] 0000000000000000 ffff88005b7315a8 0000000004000000 ffff88007bfc3dd0 <4>[ 30.696700] Call Trace: <4>[ 30.696929] [] dump_stack+0x4d/0x66 <4>[ 30.697276] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.697649] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.698014] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.698400] [] truncate_setsize+0x27/0x40 <4>[ 30.698752] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.699134] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.699507] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.699872] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.700250] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.700640] [] do_fallocate+0x123/0x1b0 <4>[ 30.700984] [] SyS_fallocate+0x43/0x70 <4>[ 30.701335] [] system_call_fastpath+0x16/0x1b <4>[ 30.701704] ---[ end trace 6a3b1350ad3996e5 ]--- <4>[ 30.705079] ------------[ cut here ]------------ <4>[ 30.705422] WARNING: CPU: 3 PID: 2808 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.706075] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.709371] CPU: 3 PID: 2808 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.709934] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.710552] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.711265] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c155da8 <4>[ 30.711969] 0000000000000000 ffff88007c155da8 0000000004000000 ffff88007a56fdd0 <4>[ 30.712676] Call Trace: <4>[ 30.712914] [] dump_stack+0x4d/0x66 <4>[ 30.713267] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.713653] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.714028] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.714425] [] truncate_setsize+0x27/0x40 <4>[ 30.714794] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.715174] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.715552] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.715939] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.716323] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.716730] [] do_fallocate+0x123/0x1b0 <4>[ 30.717100] [] SyS_fallocate+0x43/0x70 <4>[ 30.717458] [] system_call_fastpath+0x16/0x1b <4>[ 30.717836] ---[ end trace 6a3b1350ad3996e6 ]--- <4>[ 30.720941] ------------[ cut here ]------------ <4>[ 30.721264] WARNING: CPU: 2 PID: 2810 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.721882] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.725014] CPU: 2 PID: 2810 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.725556] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.726153] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.726827] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7319a8 <4>[ 30.727519] 0000000000000000 ffff88005b7319a8 0000000004000000 ffff88007d087dd0 <4>[ 30.728210] Call Trace: <4>[ 30.728438] [] dump_stack+0x4d/0x66 <4>[ 30.728769] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.729152] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.729516] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.729897] [] truncate_setsize+0x27/0x40 <4>[ 30.730256] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.730619] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.730983] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.731361] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.731726] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.732129] [] do_fallocate+0x123/0x1b0 <4>[ 30.732479] [] SyS_fallocate+0x43/0x70 <4>[ 30.732821] [] system_call_fastpath+0x16/0x1b <4>[ 30.733192] ---[ end trace 6a3b1350ad3996e7 ]--- <4>[ 30.736304] ------------[ cut here ]------------ <4>[ 30.736620] WARNING: CPU: 2 PID: 2812 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.737258] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.740375] CPU: 2 PID: 2812 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.740912] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.741508] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.742184] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b731da8 <4>[ 30.742851] 0000000000000000 ffff88005b731da8 0000000004000000 ffff88007a50fdd0 <4>[ 30.743538] Call Trace: <4>[ 30.743765] [] dump_stack+0x4d/0x66 <4>[ 30.744106] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.744476] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.744834] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.745221] [] truncate_setsize+0x27/0x40 <4>[ 30.745579] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.745937] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.746314] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.746684] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.747050] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.747440] [] do_fallocate+0x123/0x1b0 <4>[ 30.747785] [] SyS_fallocate+0x43/0x70 <4>[ 30.748135] [] system_call_fastpath+0x16/0x1b <4>[ 30.748504] ---[ end trace 6a3b1350ad3996e8 ]--- <4>[ 30.751560] ------------[ cut here ]------------ <4>[ 30.751565] WARNING: CPU: 3 PID: 2814 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.751576] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.751578] CPU: 3 PID: 2814 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.751579] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.751581] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.751582] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1561a8 <4>[ 30.751583] 0000000000000000 ffff88007c1561a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.751584] Call Trace: <4>[ 30.751586] [] dump_stack+0x4d/0x66 <4>[ 30.751589] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.751590] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.751591] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.751593] [] truncate_setsize+0x27/0x40 <4>[ 30.751594] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.751596] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.751597] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.751600] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.751601] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.751603] [] do_fallocate+0x123/0x1b0 <4>[ 30.751604] [] SyS_fallocate+0x43/0x70 <4>[ 30.751605] [] system_call_fastpath+0x16/0x1b <4>[ 30.751606] ---[ end trace 6a3b1350ad3996e9 ]--- <4>[ 30.765778] ------------[ cut here ]------------ <4>[ 30.766099] WARNING: CPU: 2 PID: 2816 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.766717] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.769835] CPU: 2 PID: 2816 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.770386] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.770975] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.771647] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7321a8 <4>[ 30.772318] 0000000000000000 ffff88005b7321a8 0000000004000000 ffff88007d087dd0 <4>[ 30.772986] Call Trace: <4>[ 30.773224] [] dump_stack+0x4d/0x66 <4>[ 30.773556] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.773921] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.774284] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.774666] [] truncate_setsize+0x27/0x40 <4>[ 30.775021] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.775379] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.775743] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.776123] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.776481] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.776865] [] do_fallocate+0x123/0x1b0 <4>[ 30.777216] [] SyS_fallocate+0x43/0x70 <4>[ 30.777557] [] system_call_fastpath+0x16/0x1b <4>[ 30.777921] ---[ end trace 6a3b1350ad3996ea ]--- <4>[ 30.781093] ------------[ cut here ]------------ <4>[ 30.781408] WARNING: CPU: 2 PID: 2818 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.782043] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.785156] CPU: 2 PID: 2818 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.785693] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.786286] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.786955] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7325a8 <4>[ 30.787627] 0000000000000000 ffff88005b7325a8 0000000004000000 ffff88007a56fdd0 <4>[ 30.788309] Call Trace: <4>[ 30.788537] [] dump_stack+0x4d/0x66 <4>[ 30.788869] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.789249] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.789606] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.789987] [] truncate_setsize+0x27/0x40 <4>[ 30.790343] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.790701] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.791081] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.791445] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.791803] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.792192] [] do_fallocate+0x123/0x1b0 <4>[ 30.792537] [] SyS_fallocate+0x43/0x70 <4>[ 30.792878] [] system_call_fastpath+0x16/0x1b <4>[ 30.793256] ---[ end trace 6a3b1350ad3996eb ]--- <4>[ 30.796472] ------------[ cut here ]------------ <4>[ 30.796787] WARNING: CPU: 2 PID: 2820 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.797427] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.800549] CPU: 2 PID: 2820 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.801091] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.801680] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 30.802352] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7329a8 <4>[ 30.803035] 0000000000000000 ffff88005b7329a8 0000000004000000 ffff88007bfabdd0 <4>[ 30.803703] Call Trace: <4>[ 30.803931] [] dump_stack+0x4d/0x66 <4>[ 30.804269] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.804633] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.804990] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.805377] [] truncate_setsize+0x27/0x40 <4>[ 30.805728] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.806100] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.806465] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.806829] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.807192] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.807576] [] do_fallocate+0x123/0x1b0 <4>[ 30.807921] [] SyS_fallocate+0x43/0x70 <4>[ 30.808267] [] system_call_fastpath+0x16/0x1b <4>[ 30.808631] ---[ end trace 6a3b1350ad3996ec ]--- <4>[ 30.811839] ------------[ cut here ]------------ <4>[ 30.812175] WARNING: CPU: 3 PID: 2822 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.812829] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.816129] CPU: 3 PID: 2822 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.816692] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.817309] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.818020] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1565a8 <4>[ 30.818725] 0000000000000000 ffff88007c1565a8 0000000004000000 ffff88007a56fdd0 <4>[ 30.819439] Call Trace: <4>[ 30.819677] [] dump_stack+0x4d/0x66 <4>[ 30.820031] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.820414] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.820785] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.821188] [] truncate_setsize+0x27/0x40 <4>[ 30.821558] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.821931] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.822313] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.822701] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.823085] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.823492] [] do_fallocate+0x123/0x1b0 <4>[ 30.823859] [] SyS_fallocate+0x43/0x70 <4>[ 30.824223] [] system_call_fastpath+0x16/0x1b <4>[ 30.824603] ---[ end trace 6a3b1350ad3996ed ]--- <4>[ 30.828033] ------------[ cut here ]------------ <4>[ 30.828353] WARNING: CPU: 2 PID: 2824 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.828970] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.832099] CPU: 2 PID: 2824 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.834355] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.834948] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 30.835630] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b732da8 <4>[ 30.836310] 0000000000000000 ffff88005b732da8 0000000004000000 ffff88007d087dd0 <4>[ 30.836976] Call Trace: <4>[ 30.837221] [] dump_stack+0x4d/0x66 <4>[ 30.837559] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.837923] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.838290] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.838675] [] truncate_setsize+0x27/0x40 <4>[ 30.839033] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.839398] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.839762] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.840146] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.840510] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.840894] [] do_fallocate+0x123/0x1b0 <4>[ 30.841248] [] SyS_fallocate+0x43/0x70 <4>[ 30.841595] [] system_call_fastpath+0x16/0x1b <4>[ 30.841959] ---[ end trace 6a3b1350ad3996ee ]--- <4>[ 30.845150] ------------[ cut here ]------------ <4>[ 30.845466] WARNING: CPU: 2 PID: 2826 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.846106] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.849226] CPU: 2 PID: 2826 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.849762] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.850358] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 30.851034] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7331a8 <4>[ 30.851701] 0000000000000000 ffff88005b7331a8 0000000004000000 ffff88007bfabdd0 <4>[ 30.852393] Call Trace: <4>[ 30.852621] [] dump_stack+0x4d/0x66 <4>[ 30.852952] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.853323] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.853687] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.854075] [] truncate_setsize+0x27/0x40 <4>[ 30.854432] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.854790] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.855171] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.855541] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.855899] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.856298] [] do_fallocate+0x123/0x1b0 <4>[ 30.856648] [] SyS_fallocate+0x43/0x70 <4>[ 30.856989] [] system_call_fastpath+0x16/0x1b <4>[ 30.857362] ---[ end trace 6a3b1350ad3996ef ]--- <4>[ 30.860717] ------------[ cut here ]------------ <4>[ 30.861053] WARNING: CPU: 2 PID: 2828 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.861671] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.864788] CPU: 2 PID: 2828 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.865328] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.865917] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.866588] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7335a8 <4>[ 30.867260] 0000000000000000 ffff88005b7335a8 0000000004000000 ffff88007a61fdd0 <4>[ 30.867928] Call Trace: <4>[ 30.868161] [] dump_stack+0x4d/0x66 <4>[ 30.868492] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.868857] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.869232] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.869612] [] truncate_setsize+0x27/0x40 <4>[ 30.869963] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.870334] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.870699] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.871068] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.871426] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.871810] [] do_fallocate+0x123/0x1b0 <4>[ 30.872160] [] SyS_fallocate+0x43/0x70 <4>[ 30.872501] [] system_call_fastpath+0x16/0x1b <4>[ 30.872864] ---[ end trace 6a3b1350ad3996f0 ]--- <4>[ 30.876193] ------------[ cut here ]------------ <4>[ 30.876524] WARNING: CPU: 3 PID: 2830 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.877187] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.880504] CPU: 3 PID: 2830 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.881071] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.881685] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 30.882402] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1569a8 <4>[ 30.883116] 0000000000000000 ffff88007c1569a8 0000000004000000 ffff88007bfd7dd0 <4>[ 30.883826] Call Trace: <4>[ 30.884068] [] dump_stack+0x4d/0x66 <4>[ 30.884420] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.884805] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.885180] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.885584] [] truncate_setsize+0x27/0x40 <4>[ 30.885956] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.886333] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.886713] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.887104] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.887486] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.887887] [] do_fallocate+0x123/0x1b0 <4>[ 30.888254] [] SyS_fallocate+0x43/0x70 <4>[ 30.888614] [] system_call_fastpath+0x16/0x1b <4>[ 30.888992] ---[ end trace 6a3b1350ad3996f1 ]--- <4>[ 30.892996] ------------[ cut here ]------------ <4>[ 30.893324] WARNING: CPU: 2 PID: 2832 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.893943] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.897064] CPU: 2 PID: 2832 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.897600] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.898192] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.898861] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7339a8 <4>[ 30.899543] 0000000000000000 ffff88005b7339a8 0000000004000000 ffff88007a56fdd0 <4>[ 30.900215] Call Trace: <4>[ 30.900444] [] dump_stack+0x4d/0x66 <4>[ 30.900775] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.901146] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.901504] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.901884] [] truncate_setsize+0x27/0x40 <4>[ 30.902245] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.902604] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.902968] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.903338] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.903697] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.904085] [] do_fallocate+0x123/0x1b0 <4>[ 30.904431] [] SyS_fallocate+0x43/0x70 <4>[ 30.904772] [] system_call_fastpath+0x16/0x1b <4>[ 30.905149] ---[ end trace 6a3b1350ad3996f2 ]--- <4>[ 30.908411] ------------[ cut here ]------------ <4>[ 30.908752] WARNING: CPU: 3 PID: 2834 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.909407] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.912702] CPU: 3 PID: 2834 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.913270] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.913884] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.914598] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c156da8 <4>[ 30.915305] 0000000000000000 ffff88007c156da8 0000000004000000 ffff88007a50fdd0 <4>[ 30.916016] Call Trace: <4>[ 30.916256] [] dump_stack+0x4d/0x66 <4>[ 30.918394] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.918772] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.919151] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.919547] [] truncate_setsize+0x27/0x40 <4>[ 30.919921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.920299] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.920678] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.921071] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.921451] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.921858] [] do_fallocate+0x123/0x1b0 <4>[ 30.922229] [] SyS_fallocate+0x43/0x70 <4>[ 30.922590] [] system_call_fastpath+0x16/0x1b <4>[ 30.922967] ---[ end trace 6a3b1350ad3996f3 ]--- <4>[ 30.926416] ------------[ cut here ]------------ <4>[ 30.926733] WARNING: CPU: 2 PID: 2836 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.927374] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.930496] CPU: 2 PID: 2836 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.931041] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.931634] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.932316] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b733da8 <4>[ 30.932982] 0000000000000000 ffff88005b733da8 0000000004000000 ffff88007a61fdd0 <4>[ 30.933670] Call Trace: <4>[ 30.933898] [] dump_stack+0x4d/0x66 <4>[ 30.934239] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.934608] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.934966] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.935353] [] truncate_setsize+0x27/0x40 <4>[ 30.935711] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.936087] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.936458] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.936823] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.937199] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.937589] [] do_fallocate+0x123/0x1b0 <4>[ 30.937933] [] SyS_fallocate+0x43/0x70 <4>[ 30.938283] [] system_call_fastpath+0x16/0x1b <4>[ 30.938653] ---[ end trace 6a3b1350ad3996f4 ]--- <4>[ 30.941981] ------------[ cut here ]------------ <4>[ 30.942333] WARNING: CPU: 3 PID: 2838 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.942978] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.946286] CPU: 3 PID: 2838 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.946849] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.947465] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.948177] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1571a8 <4>[ 30.948882] 0000000000000000 ffff88007c1571a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.949589] Call Trace: <4>[ 30.949825] [] dump_stack+0x4d/0x66 <4>[ 30.950178] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.950564] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.950935] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.951336] [] truncate_setsize+0x27/0x40 <4>[ 30.951706] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.952084] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.952463] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.952851] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.953238] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.953647] [] do_fallocate+0x123/0x1b0 <4>[ 30.954017] [] SyS_fallocate+0x43/0x70 <4>[ 30.954376] [] system_call_fastpath+0x16/0x1b <4>[ 30.954754] ---[ end trace 6a3b1350ad3996f5 ]--- <4>[ 30.958089] ------------[ cut here ]------------ <4>[ 30.958405] WARNING: CPU: 2 PID: 2840 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.959044] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.962162] CPU: 2 PID: 2840 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.962699] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.963295] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.963969] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1441a8 <4>[ 30.964649] 0000000000000000 ffff88007c1441a8 0000000004000000 ffff88007a56fdd0 <4>[ 30.965337] Call Trace: <4>[ 30.965565] [] dump_stack+0x4d/0x66 <4>[ 30.965896] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.966274] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.966639] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.967026] [] truncate_setsize+0x27/0x40 <4>[ 30.967384] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.967742] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.968113] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.968485] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.968842] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.969246] [] do_fallocate+0x123/0x1b0 <4>[ 30.969595] [] SyS_fallocate+0x43/0x70 <4>[ 30.969936] [] system_call_fastpath+0x16/0x1b <4>[ 30.970316] ---[ end trace 6a3b1350ad3996f6 ]--- <4>[ 30.973671] ------------[ cut here ]------------ <4>[ 30.973999] WARNING: CPU: 3 PID: 2842 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.974668] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.977977] CPU: 3 PID: 2842 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.978544] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.979163] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 30.979875] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1575a8 <4>[ 30.980587] 0000000000000000 ffff88007c1575a8 0000000004000000 ffff88007a50fdd0 <4>[ 30.981295] Call Trace: <4>[ 30.981532] [] dump_stack+0x4d/0x66 <4>[ 30.981882] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.982269] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.982641] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.983043] [] truncate_setsize+0x27/0x40 <4>[ 30.983418] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.983789] [] ? xfs_trans_commit+0x157/0x250 <4>[ 30.984176] [] xfs_file_fallocate+0x2df/0x300 <4>[ 30.984555] [] ? __sb_start_write+0x49/0xf0 <4>[ 30.984936] [] ? selinux_file_permission+0xc4/0x120 <4>[ 30.985347] [] do_fallocate+0x123/0x1b0 <4>[ 30.985715] [] SyS_fallocate+0x43/0x70 <4>[ 30.986078] [] system_call_fastpath+0x16/0x1b <4>[ 30.986457] ---[ end trace 6a3b1350ad3996f7 ]--- <4>[ 30.989725] ------------[ cut here ]------------ <4>[ 30.990064] WARNING: CPU: 3 PID: 2844 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 30.990717] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 30.994014] CPU: 3 PID: 2844 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 30.994577] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 30.995195] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 30.995905] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1579a8 <4>[ 30.996613] 0000000000000000 ffff88007c1579a8 0000000004000000 ffff88007bf8bdd0 <4>[ 30.997320] Call Trace: <4>[ 30.997556] [] dump_stack+0x4d/0x66 <4>[ 30.997905] [] warn_slowpath_common+0x7d/0xa0 <4>[ 30.998293] [] warn_slowpath_null+0x1a/0x20 <4>[ 30.998665] [] pagecache_isize_extended+0xdd/0x120 <4>[ 30.999069] [] truncate_setsize+0x27/0x40 <4>[ 30.999439] [] xfs_setattr_size+0x157/0x3a0 <4>[ 30.999813] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.000196] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.000584] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.000964] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.001370] [] do_fallocate+0x123/0x1b0 <4>[ 31.003518] [] SyS_fallocate+0x43/0x70 <4>[ 31.003878] [] system_call_fastpath+0x16/0x1b <4>[ 31.004259] ---[ end trace 6a3b1350ad3996f8 ]--- <4>[ 31.007662] ------------[ cut here ]------------ <4>[ 31.007979] WARNING: CPU: 2 PID: 2846 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.008617] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.011734] CPU: 2 PID: 2846 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.012275] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.012863] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 31.013546] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1445a8 <4>[ 31.014228] 0000000000000000 ffff88007c1445a8 0000000004000000 ffff88007bfc3dd0 <4>[ 31.014894] Call Trace: <4>[ 31.015128] [] dump_stack+0x4d/0x66 <4>[ 31.015460] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.015825] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.016188] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.016570] [] truncate_setsize+0x27/0x40 <4>[ 31.016921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.017293] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.017659] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.018030] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.018388] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.018772] [] do_fallocate+0x123/0x1b0 <4>[ 31.019122] [] SyS_fallocate+0x43/0x70 <4>[ 31.019465] [] system_call_fastpath+0x16/0x1b <4>[ 31.019828] ---[ end trace 6a3b1350ad3996f9 ]--- <4>[ 31.023158] ------------[ cut here ]------------ <4>[ 31.023488] WARNING: CPU: 3 PID: 2848 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.024150] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.027455] CPU: 3 PID: 2848 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.028026] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.028649] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.029366] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c157da8 <4>[ 31.030079] 0000000000000000 ffff88007c157da8 0000000004000000 ffff88007bfabdd0 <4>[ 31.030790] Call Trace: <4>[ 31.031034] [] dump_stack+0x4d/0x66 <4>[ 31.031383] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.031767] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.032144] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.032547] [] truncate_setsize+0x27/0x40 <4>[ 31.032920] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.033298] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.033677] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.034069] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.034449] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.034857] [] do_fallocate+0x123/0x1b0 <4>[ 31.035228] [] SyS_fallocate+0x43/0x70 <4>[ 31.035586] [] system_call_fastpath+0x16/0x1b <4>[ 31.035963] ---[ end trace 6a3b1350ad3996fa ]--- <4>[ 31.039340] ------------[ cut here ]------------ <4>[ 31.039656] WARNING: CPU: 2 PID: 2850 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.040296] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.043417] CPU: 2 PID: 2850 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.043954] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.044550] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.045235] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1449a8 <4>[ 31.045902] 0000000000000000 ffff88007c1449a8 0000000004000000 ffff88007a56fdd0 <4>[ 31.046591] Call Trace: <4>[ 31.046820] [] dump_stack+0x4d/0x66 <4>[ 31.047159] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.047529] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.047887] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.048272] [] truncate_setsize+0x27/0x40 <4>[ 31.048631] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.048989] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.049368] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.049741] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.050117] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.050506] [] do_fallocate+0x123/0x1b0 <4>[ 31.050851] [] SyS_fallocate+0x43/0x70 <4>[ 31.051199] [] system_call_fastpath+0x16/0x1b <4>[ 31.051568] ---[ end trace 6a3b1350ad3996fb ]--- <4>[ 31.054930] ------------[ cut here ]------------ <4>[ 31.055275] WARNING: CPU: 3 PID: 2852 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.055920] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.059227] CPU: 3 PID: 2852 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.059790] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.060406] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.061120] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7341a8 <4>[ 31.061824] 0000000000000000 ffff88005b7341a8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.062533] Call Trace: <4>[ 31.062771] [] dump_stack+0x4d/0x66 <4>[ 31.063124] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.063508] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.063880] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.064281] [] truncate_setsize+0x27/0x40 <4>[ 31.064652] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.065030] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.065409] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.065797] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.066180] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.066589] [] do_fallocate+0x123/0x1b0 <4>[ 31.066956] [] SyS_fallocate+0x43/0x70 <4>[ 31.067320] [] system_call_fastpath+0x16/0x1b <4>[ 31.067698] ---[ end trace 6a3b1350ad3996fc ]--- <4>[ 31.071021] ------------[ cut here ]------------ <4>[ 31.071350] WARNING: CPU: 3 PID: 2854 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.071999] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.075301] CPU: 3 PID: 2854 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.075863] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.076481] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.077193] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7345a8 <4>[ 31.077898] 0000000000000000 ffff88005b7345a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.078612] Call Trace: <4>[ 31.078850] [] dump_stack+0x4d/0x66 <4>[ 31.079205] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.079589] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.079960] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.080364] [] truncate_setsize+0x27/0x40 <4>[ 31.080739] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.081116] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.081498] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.081877] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.082263] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.082672] [] do_fallocate+0x123/0x1b0 <4>[ 31.083042] [] SyS_fallocate+0x43/0x70 <4>[ 31.083401] [] system_call_fastpath+0x16/0x1b <4>[ 31.083778] ---[ end trace 6a3b1350ad3996fd ]--- <4>[ 31.087135] ------------[ cut here ]------------ <4>[ 31.087450] WARNING: CPU: 2 PID: 2856 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.088090] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.092914] CPU: 2 PID: 2856 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.093459] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.094064] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.094732] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c144da8 <4>[ 31.095422] 0000000000000000 ffff88007c144da8 0000000004000000 ffff88007bfabdd0 <4>[ 31.096093] Call Trace: <4>[ 31.096331] [] dump_stack+0x4d/0x66 <4>[ 31.096662] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.097046] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.097412] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.097793] [] truncate_setsize+0x27/0x40 <4>[ 31.098164] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.098527] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.098892] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.099264] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.099628] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.100019] [] do_fallocate+0x123/0x1b0 <4>[ 31.100370] [] SyS_fallocate+0x43/0x70 <4>[ 31.100711] [] system_call_fastpath+0x16/0x1b <4>[ 31.101091] ---[ end trace 6a3b1350ad3996fe ]--- <4>[ 31.104498] ------------[ cut here ]------------ <4>[ 31.104837] WARNING: CPU: 3 PID: 2858 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.105492] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.108786] CPU: 3 PID: 2858 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.109353] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.109966] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.110679] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7349a8 <4>[ 31.111388] 0000000000000000 ffff88005b7349a8 0000000004000000 ffff88007bf43dd0 <4>[ 31.112096] Call Trace: <4>[ 31.112334] [] dump_stack+0x4d/0x66 <4>[ 31.112683] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.113071] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.113442] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.113842] [] truncate_setsize+0x27/0x40 <4>[ 31.114215] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.114587] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.114965] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.115356] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.115738] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.116149] [] do_fallocate+0x123/0x1b0 <4>[ 31.116517] [] SyS_fallocate+0x43/0x70 <4>[ 31.116877] [] system_call_fastpath+0x16/0x1b <4>[ 31.117259] ---[ end trace 6a3b1350ad3996ff ]--- <4>[ 31.120666] ------------[ cut here ]------------ <4>[ 31.120983] WARNING: CPU: 2 PID: 2860 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.121622] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.124739] CPU: 2 PID: 2860 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.125282] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.125870] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.126541] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1451a8 <4>[ 31.127223] 0000000000000000 ffff88007c1451a8 0000000004000000 ffff88007d087dd0 <4>[ 31.127889] Call Trace: <4>[ 31.128132] [] dump_stack+0x4d/0x66 <4>[ 31.128463] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.128828] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.129190] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.129571] [] truncate_setsize+0x27/0x40 <4>[ 31.129922] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.130289] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.130653] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.131024] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.131382] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.131766] [] do_fallocate+0x123/0x1b0 <4>[ 31.132116] [] SyS_fallocate+0x43/0x70 <4>[ 31.132457] [] system_call_fastpath+0x16/0x1b <4>[ 31.132821] ---[ end trace 6a3b1350ad399700 ]--- <4>[ 31.136145] ------------[ cut here ]------------ <4>[ 31.136486] WARNING: CPU: 3 PID: 2862 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.137143] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.140441] CPU: 3 PID: 2862 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.141016] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.141634] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.142352] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b734da8 <4>[ 31.143065] 0000000000000000 ffff88005b734da8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.143771] Call Trace: <4>[ 31.144013] [] dump_stack+0x4d/0x66 <4>[ 31.144367] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.144750] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.145126] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.145531] [] truncate_setsize+0x27/0x40 <4>[ 31.145903] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.146280] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.146659] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.147050] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.147432] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.147834] [] do_fallocate+0x123/0x1b0 <4>[ 31.148200] [] SyS_fallocate+0x43/0x70 <4>[ 31.148560] [] system_call_fastpath+0x16/0x1b <4>[ 31.148938] ---[ end trace 6a3b1350ad399701 ]--- <4>[ 31.152229] ------------[ cut here ]------------ <4>[ 31.152560] WARNING: CPU: 3 PID: 2864 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.153227] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.156538] CPU: 3 PID: 2864 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.157105] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.157717] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.158426] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7351a8 <4>[ 31.159143] 0000000000000000 ffff88005b7351a8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.159854] Call Trace: <4>[ 31.160095] [] dump_stack+0x4d/0x66 <4>[ 31.160444] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.160827] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.161202] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.161608] [] truncate_setsize+0x27/0x40 <4>[ 31.161980] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.162357] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.162736] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.163126] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.163508] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.163909] [] do_fallocate+0x123/0x1b0 <4>[ 31.164275] [] SyS_fallocate+0x43/0x70 <4>[ 31.164636] [] system_call_fastpath+0x16/0x1b <4>[ 31.165017] ---[ end trace 6a3b1350ad399702 ]--- <4>[ 31.168369] ------------[ cut here ]------------ <4>[ 31.168685] WARNING: CPU: 2 PID: 2866 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.169321] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.172434] CPU: 2 PID: 2866 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.172971] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.173563] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 31.174236] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1455a8 <4>[ 31.176620] 0000000000000000 ffff88007c1455a8 0000000004000000 ffff88007bfc3dd0 <4>[ 31.177290] Call Trace: <4>[ 31.177518] [] dump_stack+0x4d/0x66 <4>[ 31.177849] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.178229] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.178587] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.178968] [] truncate_setsize+0x27/0x40 <4>[ 31.179324] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.179682] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.180051] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.180416] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.180774] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.181173] [] do_fallocate+0x123/0x1b0 <4>[ 31.181518] [] SyS_fallocate+0x43/0x70 <4>[ 31.181859] [] system_call_fastpath+0x16/0x1b <4>[ 31.182237] ---[ end trace 6a3b1350ad399703 ]--- <4>[ 31.185542] ------------[ cut here ]------------ <4>[ 31.185883] WARNING: CPU: 3 PID: 2868 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.186535] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.189826] CPU: 3 PID: 2868 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.190393] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.191011] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.191724] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7355a8 <4>[ 31.192439] 0000000000000000 ffff88005b7355a8 0000000004000000 ffff88007bfabdd0 <4>[ 31.193147] Call Trace: <4>[ 31.193386] [] dump_stack+0x4d/0x66 <4>[ 31.193735] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.194123] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.194495] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.194895] [] truncate_setsize+0x27/0x40 <4>[ 31.195269] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.195640] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.196024] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.196411] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.196791] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.197204] [] do_fallocate+0x123/0x1b0 <4>[ 31.197578] [] SyS_fallocate+0x43/0x70 <4>[ 31.197937] [] system_call_fastpath+0x16/0x1b <4>[ 31.198319] ---[ end trace 6a3b1350ad399704 ]--- <4>[ 31.201661] ------------[ cut here ]------------ <4>[ 31.201977] WARNING: CPU: 2 PID: 2870 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.202617] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.205746] CPU: 2 PID: 2870 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.206288] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.206876] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.207548] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1459a8 <4>[ 31.208229] 0000000000000000 ffff88007c1459a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.208896] Call Trace: <4>[ 31.209129] [] dump_stack+0x4d/0x66 <4>[ 31.209460] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.209825] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.210189] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.210570] [] truncate_setsize+0x27/0x40 <4>[ 31.210921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.211291] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.211657] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.212028] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.212387] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.212770] [] do_fallocate+0x123/0x1b0 <4>[ 31.213120] [] SyS_fallocate+0x43/0x70 <4>[ 31.213462] [] system_call_fastpath+0x16/0x1b <4>[ 31.213825] ---[ end trace 6a3b1350ad399705 ]--- <4>[ 31.217139] ------------[ cut here ]------------ <4>[ 31.217470] WARNING: CPU: 3 PID: 2872 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.218124] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.221416] CPU: 3 PID: 2872 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.221978] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.222596] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.223308] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7359a8 <4>[ 31.224018] 0000000000000000 ffff88005b7359a8 0000000004000000 ffff88007d087dd0 <4>[ 31.224725] Call Trace: <4>[ 31.224962] [] dump_stack+0x4d/0x66 <4>[ 31.225318] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.225702] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.226077] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.226480] [] truncate_setsize+0x27/0x40 <4>[ 31.226853] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.227233] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.227611] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.227998] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.228383] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.228791] [] do_fallocate+0x123/0x1b0 <4>[ 31.229162] [] SyS_fallocate+0x43/0x70 <4>[ 31.229522] [] system_call_fastpath+0x16/0x1b <4>[ 31.229899] ---[ end trace 6a3b1350ad399706 ]--- <4>[ 31.233258] ------------[ cut here ]------------ <4>[ 31.233589] WARNING: CPU: 3 PID: 2874 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.234253] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.237562] CPU: 3 PID: 2874 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.238129] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.238742] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.239459] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b735da8 <4>[ 31.240167] 0000000000000000 ffff88005b735da8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.240874] Call Trace: <4>[ 31.241116] [] dump_stack+0x4d/0x66 <4>[ 31.241467] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.241849] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.242224] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.242629] [] truncate_setsize+0x27/0x40 <4>[ 31.243005] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.243378] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.243756] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.244149] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.244530] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.244931] [] do_fallocate+0x123/0x1b0 <4>[ 31.245297] [] SyS_fallocate+0x43/0x70 <4>[ 31.245657] [] system_call_fastpath+0x16/0x1b <4>[ 31.246037] ---[ end trace 6a3b1350ad399707 ]--- <4>[ 31.249472] ------------[ cut here ]------------ <4>[ 31.249788] WARNING: CPU: 2 PID: 2876 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.250419] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.253537] CPU: 2 PID: 2876 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.254082] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.254675] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.255357] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c145da8 <4>[ 31.256044] 0000000000000000 ffff88007c145da8 0000000004000000 ffff88007bfabdd0 <4>[ 31.256716] Call Trace: <4>[ 31.256944] [] dump_stack+0x4d/0x66 <4>[ 31.257283] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.257654] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.258019] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.258405] [] truncate_setsize+0x27/0x40 <4>[ 31.258757] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.259133] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.261220] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.261585] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.261943] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.262345] [] do_fallocate+0x123/0x1b0 <4>[ 31.262696] [] SyS_fallocate+0x43/0x70 <4>[ 31.263046] [] system_call_fastpath+0x16/0x1b <4>[ 31.263415] ---[ end trace 6a3b1350ad399708 ]--- <4>[ 31.266619] ------------[ cut here ]------------ <4>[ 31.266934] WARNING: CPU: 2 PID: 2878 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.267572] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.270691] CPU: 2 PID: 2878 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.271232] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.271820] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.272491] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1461a8 <4>[ 31.273171] 0000000000000000 ffff88007c1461a8 0000000004000000 ffff88007d087dd0 <4>[ 31.273838] Call Trace: <4>[ 31.274071] [] dump_stack+0x4d/0x66 <4>[ 31.274403] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.274769] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.275132] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.275513] [] truncate_setsize+0x27/0x40 <4>[ 31.275864] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.276237] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.276601] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.276967] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.277329] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.277714] [] do_fallocate+0x123/0x1b0 <4>[ 31.278064] [] SyS_fallocate+0x43/0x70 <4>[ 31.278405] [] system_call_fastpath+0x16/0x1b <4>[ 31.278768] ---[ end trace 6a3b1350ad399709 ]--- <4>[ 31.282235] ------------[ cut here ]------------ <4>[ 31.282561] WARNING: CPU: 3 PID: 2880 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.283215] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.286528] CPU: 3 PID: 2880 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.287092] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.287709] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 31.288429] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7361a8 <4>[ 31.289139] 0000000000000000 ffff88005b7361a8 0000000004000000 ffff88007bfc3dd0 <4>[ 31.289845] Call Trace: <4>[ 31.290086] [] dump_stack+0x4d/0x66 <4>[ 31.290440] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.290822] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.291197] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.291602] [] truncate_setsize+0x27/0x40 <4>[ 31.291975] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.292353] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.292732] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.293122] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.293505] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.293907] [] do_fallocate+0x123/0x1b0 <4>[ 31.294272] [] SyS_fallocate+0x43/0x70 <4>[ 31.294633] [] system_call_fastpath+0x16/0x1b <4>[ 31.295013] ---[ end trace 6a3b1350ad39970a ]--- <4>[ 31.298314] ------------[ cut here ]------------ <4>[ 31.298650] WARNING: CPU: 3 PID: 2882 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.299314] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.302619] CPU: 3 PID: 2882 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.303186] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.303799] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.304513] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7365a8 <4>[ 31.305220] 0000000000000000 ffff88005b7365a8 0000000004000000 ffff88007bf43dd0 <4>[ 31.305925] Call Trace: <4>[ 31.306167] [] dump_stack+0x4d/0x66 <4>[ 31.306517] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.306900] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.307277] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.307680] [] truncate_setsize+0x27/0x40 <4>[ 31.308057] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.308428] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.308806] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.309199] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.309579] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.309980] [] do_fallocate+0x123/0x1b0 <4>[ 31.310348] [] SyS_fallocate+0x43/0x70 <4>[ 31.310708] [] system_call_fastpath+0x16/0x1b <4>[ 31.311090] ---[ end trace 6a3b1350ad39970b ]--- <4>[ 31.314364] ------------[ cut here ]------------ <4>[ 31.314691] WARNING: CPU: 3 PID: 2884 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.315357] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.318650] CPU: 3 PID: 2884 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.319217] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.319832] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.320545] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7369a8 <4>[ 31.321253] 0000000000000000 ffff88005b7369a8 0000000004000000 ffff88007a56fdd0 <4>[ 31.321959] Call Trace: <4>[ 31.322200] [] dump_stack+0x4d/0x66 <4>[ 31.322550] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.322934] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.323310] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.323714] [] truncate_setsize+0x27/0x40 <4>[ 31.324090] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.324462] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.324841] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.325237] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.325619] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.326026] [] do_fallocate+0x123/0x1b0 <4>[ 31.326392] [] SyS_fallocate+0x43/0x70 <4>[ 31.326746] [] system_call_fastpath+0x16/0x1b <4>[ 31.327132] ---[ end trace 6a3b1350ad39970c ]--- <4>[ 31.330388] ------------[ cut here ]------------ <4>[ 31.330726] WARNING: CPU: 3 PID: 2886 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.331383] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.334691] CPU: 3 PID: 2886 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.335258] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.335872] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.336586] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b736da8 <4>[ 31.337297] 0000000000000000 ffff88005b736da8 0000000004000000 ffff88007d087dd0 <4>[ 31.338006] Call Trace: <4>[ 31.338245] [] dump_stack+0x4d/0x66 <4>[ 31.338594] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.338978] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.339355] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.339759] [] truncate_setsize+0x27/0x40 <4>[ 31.340136] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.340508] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.340886] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.341278] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.341658] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.342063] [] do_fallocate+0x123/0x1b0 <4>[ 31.342429] [] SyS_fallocate+0x43/0x70 <4>[ 31.342784] [] system_call_fastpath+0x16/0x1b <4>[ 31.343169] ---[ end trace 6a3b1350ad39970d ]--- <4>[ 31.346607] ------------[ cut here ]------------ <4>[ 31.346924] WARNING: CPU: 2 PID: 2888 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.349270] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.352401] CPU: 2 PID: 2888 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.352937] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.353533] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.354218] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1465a8 <4>[ 31.354884] 0000000000000000 ffff88007c1465a8 0000000004000000 ffff88007a50fdd0 <4>[ 31.355576] Call Trace: <4>[ 31.355805] [] dump_stack+0x4d/0x66 <4>[ 31.356145] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.356515] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.356872] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.357267] [] truncate_setsize+0x27/0x40 <4>[ 31.357625] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.357983] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.358360] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.358731] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.359109] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.359499] [] do_fallocate+0x123/0x1b0 <4>[ 31.359843] [] SyS_fallocate+0x43/0x70 <4>[ 31.360194] [] system_call_fastpath+0x16/0x1b <4>[ 31.360563] ---[ end trace 6a3b1350ad39970e ]--- <4>[ 31.363920] ------------[ cut here ]------------ <4>[ 31.364251] WARNING: CPU: 2 PID: 2890 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.364870] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.367985] CPU: 2 PID: 2890 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.368526] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.369116] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.369784] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1469a8 <4>[ 31.370464] 0000000000000000 ffff88007c1469a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.371135] Call Trace: <4>[ 31.371364] [] dump_stack+0x4d/0x66 <4>[ 31.371694] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.372064] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.372422] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.372802] [] truncate_setsize+0x27/0x40 <4>[ 31.373167] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.373525] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.373889] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.374259] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.374617] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.375006] [] do_fallocate+0x123/0x1b0 <4>[ 31.375350] [] SyS_fallocate+0x43/0x70 <4>[ 31.375691] [] system_call_fastpath+0x16/0x1b <4>[ 31.376069] ---[ end trace 6a3b1350ad39970f ]--- <4>[ 31.379353] ------------[ cut here ]------------ <4>[ 31.379695] WARNING: CPU: 3 PID: 2892 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.380359] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.383667] CPU: 3 PID: 2892 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.384231] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.384846] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.385561] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7371a8 <4>[ 31.386267] 0000000000000000 ffff88005b7371a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.386973] Call Trace: <4>[ 31.387215] [] dump_stack+0x4d/0x66 <4>[ 31.387567] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.387950] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.388326] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.388729] [] truncate_setsize+0x27/0x40 <4>[ 31.389106] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.389478] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.389857] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.390248] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.390629] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.391035] [] do_fallocate+0x123/0x1b0 <4>[ 31.391398] [] SyS_fallocate+0x43/0x70 <4>[ 31.391757] [] system_call_fastpath+0x16/0x1b <4>[ 31.392139] ---[ end trace 6a3b1350ad399710 ]--- <4>[ 31.395409] ------------[ cut here ]------------ <4>[ 31.395725] WARNING: CPU: 2 PID: 2894 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.396358] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.399480] CPU: 2 PID: 2894 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.400027] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.400620] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 31.401310] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c146da8 <4>[ 31.401977] 0000000000000000 ffff88007c146da8 0000000004000000 ffff88007bfc3dd0 <4>[ 31.402670] Call Trace: <4>[ 31.402898] [] dump_stack+0x4d/0x66 <4>[ 31.403237] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.403607] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.403965] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.404354] [] truncate_setsize+0x27/0x40 <4>[ 31.404711] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.405088] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.405459] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.405824] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.406201] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.406591] [] do_fallocate+0x123/0x1b0 <4>[ 31.406935] [] SyS_fallocate+0x43/0x70 <4>[ 31.407284] [] system_call_fastpath+0x16/0x1b <4>[ 31.407654] ---[ end trace 6a3b1350ad399711 ]--- <4>[ 31.411080] ------------[ cut here ]------------ <4>[ 31.411408] WARNING: CPU: 3 PID: 2896 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.412064] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.415368] CPU: 3 PID: 2896 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.415931] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.416549] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.417258] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7375a8 <4>[ 31.417965] 0000000000000000 ffff88005b7375a8 0000000004000000 ffff88007bf43dd0 <4>[ 31.418672] Call Trace: <4>[ 31.418909] [] dump_stack+0x4d/0x66 <4>[ 31.419265] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.419649] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.420025] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.420430] [] truncate_setsize+0x27/0x40 <4>[ 31.420802] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.421181] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.421559] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.421946] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.422330] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.422739] [] do_fallocate+0x123/0x1b0 <4>[ 31.423109] [] SyS_fallocate+0x43/0x70 <4>[ 31.423468] [] system_call_fastpath+0x16/0x1b <4>[ 31.423846] ---[ end trace 6a3b1350ad399712 ]--- <4>[ 31.427151] ------------[ cut here ]------------ <4>[ 31.427468] WARNING: CPU: 0 PID: 2898 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.428108] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.431223] CPU: 0 PID: 2898 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.431760] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.434078] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.434751] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7555a8 <4>[ 31.435431] 0000000000000000 ffff88005b7555a8 0000000004000000 ffff88007a56fdd0 <4>[ 31.436107] Call Trace: <4>[ 31.436341] [] dump_stack+0x4d/0x66 <4>[ 31.436672] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.437056] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.437420] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.437801] [] truncate_setsize+0x27/0x40 <4>[ 31.438160] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.438523] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.438888] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.439260] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.439624] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.440017] [] do_fallocate+0x123/0x1b0 <4>[ 31.440369] [] SyS_fallocate+0x43/0x70 <4>[ 31.440709] [] system_call_fastpath+0x16/0x1b <4>[ 31.441091] ---[ end trace 6a3b1350ad399713 ]--- <4>[ 31.444525] ------------[ cut here ]------------ <4>[ 31.444839] WARNING: CPU: 2 PID: 2900 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.445486] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.448596] CPU: 2 PID: 2900 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.449136] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.449734] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 31.450428] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1471a8 <4>[ 31.451108] 0000000000000000 ffff88007c1471a8 0000000004000000 ffff88007bfc3dd0 <4>[ 31.451780] Call Trace: <4>[ 31.452018] [] dump_stack+0x4d/0x66 <4>[ 31.452355] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.452719] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.453096] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.453482] [] truncate_setsize+0x27/0x40 <4>[ 31.453833] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.454222] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.454593] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.454958] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.455333] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.455723] [] do_fallocate+0x123/0x1b0 <4>[ 31.456073] [] SyS_fallocate+0x43/0x70 <4>[ 31.456420] [] system_call_fastpath+0x16/0x1b <4>[ 31.456783] ---[ end trace 6a3b1350ad399714 ]--- <4>[ 31.460072] ------------[ cut here ]------------ <4>[ 31.460407] WARNING: CPU: 3 PID: 2904 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.461072] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.464381] CPU: 3 PID: 2904 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.464943] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.465565] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.466276] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7379a8 <4>[ 31.466980] 0000000000000000 ffff88005b7379a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.467690] Call Trace: <4>[ 31.467926] [] dump_stack+0x4d/0x66 <4>[ 31.468285] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.468680] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.469059] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.469458] [] truncate_setsize+0x27/0x40 <4>[ 31.469832] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.470210] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.470589] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.470977] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.471360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.471767] [] do_fallocate+0x123/0x1b0 <4>[ 31.472137] [] SyS_fallocate+0x43/0x70 <4>[ 31.472498] [] system_call_fastpath+0x16/0x1b <4>[ 31.472876] ---[ end trace 6a3b1350ad399715 ]--- <4>[ 31.476449] ------------[ cut here ]------------ <4>[ 31.476783] WARNING: CPU: 3 PID: 2908 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.477440] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.480736] CPU: 3 PID: 2908 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.481303] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.481916] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.482629] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b737da8 <4>[ 31.483338] 0000000000000000 ffff88005b737da8 0000000004000000 ffff88007a50fdd0 <4>[ 31.484046] Call Trace: <4>[ 31.484284] [] dump_stack+0x4d/0x66 <4>[ 31.484633] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.485024] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.485397] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.485797] [] truncate_setsize+0x27/0x40 <4>[ 31.486170] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.486542] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.486920] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.487313] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.487698] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.488116] [] do_fallocate+0x123/0x1b0 <4>[ 31.488483] [] SyS_fallocate+0x43/0x70 <4>[ 31.488841] [] system_call_fastpath+0x16/0x1b <4>[ 31.489223] ---[ end trace 6a3b1350ad399716 ]--- <4>[ 31.492729] ------------[ cut here ]------------ <4>[ 31.493063] WARNING: CPU: 2 PID: 2910 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.493681] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.496837] CPU: 2 PID: 2910 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.497395] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.497988] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.498670] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1475a8 <4>[ 31.499358] 0000000000000000 ffff88007c1475a8 0000000004000000 ffff88007bf43dd0 <4>[ 31.500033] Call Trace: <4>[ 31.500267] [] dump_stack+0x4d/0x66 <4>[ 31.500598] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.500962] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.501338] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.501724] [] truncate_setsize+0x27/0x40 <4>[ 31.502094] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.502458] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.502823] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.503195] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.503558] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.503943] [] do_fallocate+0x123/0x1b0 <4>[ 31.504297] [] SyS_fallocate+0x43/0x70 <4>[ 31.504643] [] system_call_fastpath+0x16/0x1b <4>[ 31.505016] ---[ end trace 6a3b1350ad399717 ]--- <4>[ 31.508376] ------------[ cut here ]------------ <4>[ 31.508702] WARNING: CPU: 3 PID: 2914 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.509379] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.512652] CPU: 3 PID: 2914 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.513221] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.513836] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.514552] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1681a8 <4>[ 31.515259] 0000000000000000 ffff88007c1681a8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.515963] Call Trace: <4>[ 31.516206] [] dump_stack+0x4d/0x66 <4>[ 31.516557] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.516940] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.519093] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.519488] [] truncate_setsize+0x27/0x40 <4>[ 31.519862] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.520239] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.520618] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.521010] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.521390] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.521798] [] do_fallocate+0x123/0x1b0 <4>[ 31.522168] [] SyS_fallocate+0x43/0x70 <4>[ 31.522529] [] system_call_fastpath+0x16/0x1b <4>[ 31.522907] ---[ end trace 6a3b1350ad399718 ]--- <4>[ 31.526739] ------------[ cut here ]------------ <4>[ 31.527095] WARNING: CPU: 3 PID: 2916 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.527750] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.531031] CPU: 3 PID: 2916 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.531594] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.532209] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.532921] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1685a8 <4>[ 31.533629] 0000000000000000 ffff88007c1685a8 0000000004000000 ffff88007a50fdd0 <4>[ 31.534336] Call Trace: <4>[ 31.534575] [] dump_stack+0x4d/0x66 <4>[ 31.534924] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.535311] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.535683] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.536088] [] truncate_setsize+0x27/0x40 <4>[ 31.536463] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.536834] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.537223] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.537603] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.537984] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.538396] [] do_fallocate+0x123/0x1b0 <4>[ 31.538764] [] SyS_fallocate+0x43/0x70 <4>[ 31.539127] [] system_call_fastpath+0x16/0x1b <4>[ 31.539504] ---[ end trace 6a3b1350ad399719 ]--- <4>[ 31.542967] ------------[ cut here ]------------ <4>[ 31.543304] WARNING: CPU: 2 PID: 2920 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.543929] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.547059] CPU: 2 PID: 2920 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.547596] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.548191] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.548865] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1479a8 <4>[ 31.549555] 0000000000000000 ffff88007c1479a8 0000000004000000 ffff88007a56fdd0 <4>[ 31.550247] Call Trace: <4>[ 31.550476] [] dump_stack+0x4d/0x66 <4>[ 31.550808] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.551179] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.551542] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.551923] [] truncate_setsize+0x27/0x40 <4>[ 31.552292] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.552656] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.553030] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.553401] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.553759] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.554152] [] do_fallocate+0x123/0x1b0 <4>[ 31.554502] [] SyS_fallocate+0x43/0x70 <4>[ 31.554844] [] system_call_fastpath+0x16/0x1b <4>[ 31.555227] ---[ end trace 6a3b1350ad39971a ]--- <4>[ 31.558800] ------------[ cut here ]------------ <4>[ 31.559140] WARNING: CPU: 3 PID: 2922 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.559784] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.563086] CPU: 3 PID: 2922 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.563648] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.564263] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.564973] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1689a8 <4>[ 31.565681] 0000000000000000 ffff88007c1689a8 0000000004000000 ffff88007a54fdd0 <4>[ 31.566396] Call Trace: <4>[ 31.566633] [] dump_stack+0x4d/0x66 <4>[ 31.566983] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.567368] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.567740] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.568144] [] truncate_setsize+0x27/0x40 <4>[ 31.568514] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.568888] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.569270] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.569658] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.570042] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.570449] [] do_fallocate+0x123/0x1b0 <4>[ 31.570815] [] SyS_fallocate+0x43/0x70 <4>[ 31.571176] [] system_call_fastpath+0x16/0x1b <4>[ 31.571554] ---[ end trace 6a3b1350ad39971b ]--- <4>[ 31.575060] ------------[ cut here ]------------ <4>[ 31.575376] WARNING: CPU: 2 PID: 2924 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.575994] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.579125] CPU: 2 PID: 2924 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.579661] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.580256] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.580930] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c147da8 <4>[ 31.581621] 0000000000000000 ffff88007c147da8 0000000004000000 ffff88007d087dd0 <4>[ 31.582301] Call Trace: <4>[ 31.582530] [] dump_stack+0x4d/0x66 <4>[ 31.582861] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.583245] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.583608] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.583988] [] truncate_setsize+0x27/0x40 <4>[ 31.584357] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.584721] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.585095] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.585465] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.585823] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.586217] [] do_fallocate+0x123/0x1b0 <4>[ 31.586568] [] SyS_fallocate+0x43/0x70 <4>[ 31.586909] [] system_call_fastpath+0x16/0x1b <4>[ 31.587287] ---[ end trace 6a3b1350ad39971c ]--- <4>[ 31.590585] ------------[ cut here ]------------ <4>[ 31.590900] WARNING: CPU: 2 PID: 2926 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.591532] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.594660] CPU: 2 PID: 2926 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.595204] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.595797] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.596480] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1581a8 <4>[ 31.597163] 0000000000000000 ffff88007c1581a8 0000000004000000 ffff88007a50fdd0 <4>[ 31.597829] Call Trace: <4>[ 31.598067] [] dump_stack+0x4d/0x66 <4>[ 31.598404] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.598768] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.599144] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.599531] [] truncate_setsize+0x27/0x40 <4>[ 31.599882] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.600265] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.600636] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.601001] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.601373] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.601757] [] do_fallocate+0x123/0x1b0 <4>[ 31.602110] [] SyS_fallocate+0x43/0x70 <4>[ 31.602457] [] system_call_fastpath+0x16/0x1b <4>[ 31.604544] ---[ end trace 6a3b1350ad39971d ]--- <4>[ 31.607839] ------------[ cut here ]------------ <4>[ 31.608184] WARNING: CPU: 3 PID: 2928 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.608842] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.612161] CPU: 3 PID: 2928 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.612721] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.613344] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.614053] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c168da8 <4>[ 31.614755] 0000000000000000 ffff88007c168da8 0000000004000000 ffff88007bf43dd0 <4>[ 31.615464] Call Trace: <4>[ 31.615700] [] dump_stack+0x4d/0x66 <4>[ 31.616059] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.616442] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.616813] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.617216] [] truncate_setsize+0x27/0x40 <4>[ 31.617586] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.617961] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.618343] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.618732] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.619111] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.619509] [] do_fallocate+0x123/0x1b0 <4>[ 31.619875] [] SyS_fallocate+0x43/0x70 <4>[ 31.620239] [] system_call_fastpath+0x16/0x1b <4>[ 31.620617] ---[ end trace 6a3b1350ad39971e ]--- <4>[ 31.624071] ------------[ cut here ]------------ <4>[ 31.624392] WARNING: CPU: 2 PID: 2930 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.625023] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.628143] CPU: 2 PID: 2930 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.628679] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.629274] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.629949] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1585a8 <4>[ 31.630639] 0000000000000000 ffff88007c1585a8 0000000004000000 ffff88007bfabdd0 <4>[ 31.631320] Call Trace: <4>[ 31.631548] [] dump_stack+0x4d/0x66 <4>[ 31.631879] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.632250] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.632614] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.632994] [] truncate_setsize+0x27/0x40 <4>[ 31.633359] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.633723] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.634096] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.634467] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.634825] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.635218] [] do_fallocate+0x123/0x1b0 <4>[ 31.635568] [] SyS_fallocate+0x43/0x70 <4>[ 31.635909] [] system_call_fastpath+0x16/0x1b <4>[ 31.636288] ---[ end trace 6a3b1350ad39971f ]--- <4>[ 31.639532] ------------[ cut here ]------------ <4>[ 31.639847] WARNING: CPU: 2 PID: 2932 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.640488] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.643596] CPU: 2 PID: 2932 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.644153] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.644746] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.645427] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1589a8 <4>[ 31.646108] 0000000000000000 ffff88007c1589a8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.646780] Call Trace: <4>[ 31.647018] [] dump_stack+0x4d/0x66 <4>[ 31.647356] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.647720] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.648086] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.648472] [] truncate_setsize+0x27/0x40 <4>[ 31.648823] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.649199] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.649569] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.649934] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.650301] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.650690] [] do_fallocate+0x123/0x1b0 <4>[ 31.651044] [] SyS_fallocate+0x43/0x70 <4>[ 31.651390] [] system_call_fastpath+0x16/0x1b <4>[ 31.651754] ---[ end trace 6a3b1350ad399720 ]--- <4>[ 31.655043] ------------[ cut here ]------------ <4>[ 31.655384] WARNING: CPU: 3 PID: 2934 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.656039] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.659330] CPU: 3 PID: 2934 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.659893] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.660509] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 31.661222] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1691a8 <4>[ 31.661928] 0000000000000000 ffff88007c1691a8 0000000004000000 ffff88007d087dd0 <4>[ 31.662644] Call Trace: <4>[ 31.662881] [] dump_stack+0x4d/0x66 <4>[ 31.663236] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.663620] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.663991] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.664393] [] truncate_setsize+0x27/0x40 <4>[ 31.664768] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.665144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.665527] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.665906] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.666291] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.666697] [] do_fallocate+0x123/0x1b0 <4>[ 31.667068] [] SyS_fallocate+0x43/0x70 <4>[ 31.667426] [] system_call_fastpath+0x16/0x1b <4>[ 31.667804] ---[ end trace 6a3b1350ad399721 ]--- <4>[ 31.671228] ------------[ cut here ]------------ <4>[ 31.671543] WARNING: CPU: 2 PID: 2936 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.672183] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.675299] CPU: 2 PID: 2936 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.675835] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.676431] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.677107] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c158da8 <4>[ 31.677774] 0000000000000000 ffff88007c158da8 0000000004000000 ffff88007bf43dd0 <4>[ 31.678464] Call Trace: <4>[ 31.678692] [] dump_stack+0x4d/0x66 <4>[ 31.679031] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.679401] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.679759] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.680159] [] truncate_setsize+0x27/0x40 <4>[ 31.680516] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.680874] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.681258] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.681640] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.682012] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.682406] [] do_fallocate+0x123/0x1b0 <4>[ 31.682761] [] SyS_fallocate+0x43/0x70 <4>[ 31.683112] [] system_call_fastpath+0x16/0x1b <4>[ 31.683481] ---[ end trace 6a3b1350ad399722 ]--- <4>[ 31.686828] ------------[ cut here ]------------ <4>[ 31.687159] WARNING: CPU: 2 PID: 2940 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.687775] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.692614] CPU: 2 PID: 2940 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.693169] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.693762] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.694444] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1591a8 <4>[ 31.695120] 0000000000000000 ffff88007c1591a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.695793] Call Trace: <4>[ 31.696039] [] dump_stack+0x4d/0x66 <4>[ 31.696376] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.696740] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.697116] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.697503] [] truncate_setsize+0x27/0x40 <4>[ 31.697854] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.698219] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.698588] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.698952] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.699333] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.699723] [] do_fallocate+0x123/0x1b0 <4>[ 31.700086] [] SyS_fallocate+0x43/0x70 <4>[ 31.700433] [] system_call_fastpath+0x16/0x1b <4>[ 31.700796] ---[ end trace 6a3b1350ad399723 ]--- <4>[ 31.704146] ------------[ cut here ]------------ <4>[ 31.704459] WARNING: CPU: 2 PID: 2942 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.705089] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.708205] CPU: 2 PID: 2942 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.708742] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.709337] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.710024] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1595a8 <4>[ 31.710690] 0000000000000000 ffff88007c1595a8 0000000004000000 ffff88007a54fdd0 <4>[ 31.711382] Call Trace: <4>[ 31.711609] [] dump_stack+0x4d/0x66 <4>[ 31.711940] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.712310] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.712674] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.713072] [] truncate_setsize+0x27/0x40 <4>[ 31.713429] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.713786] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.714157] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.714527] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.714885] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.715275] [] do_fallocate+0x123/0x1b0 <4>[ 31.715626] [] SyS_fallocate+0x43/0x70 <4>[ 31.715967] [] system_call_fastpath+0x16/0x1b <4>[ 31.716343] ---[ end trace 6a3b1350ad399724 ]--- <4>[ 31.719686] ------------[ cut here ]------------ <4>[ 31.720036] WARNING: CPU: 3 PID: 2944 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.720683] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.723987] CPU: 3 PID: 2944 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.724554] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.725170] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 31.725883] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1695a8 <4>[ 31.726597] 0000000000000000 ffff88007c1695a8 0000000004000000 ffff88007bf43dd0 <4>[ 31.727304] Call Trace: <4>[ 31.727542] [] dump_stack+0x4d/0x66 <4>[ 31.727891] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.728279] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.728651] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.729052] [] truncate_setsize+0x27/0x40 <4>[ 31.729422] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.729798] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.730180] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.730568] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.730948] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.731359] [] do_fallocate+0x123/0x1b0 <4>[ 31.731727] [] SyS_fallocate+0x43/0x70 <4>[ 31.732088] [] system_call_fastpath+0x16/0x1b <4>[ 31.732466] ---[ end trace 6a3b1350ad399725 ]--- <4>[ 31.735727] ------------[ cut here ]------------ <4>[ 31.736061] WARNING: CPU: 2 PID: 2946 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.736679] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.739808] CPU: 2 PID: 2946 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.740355] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.740947] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.741630] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1599a8 <4>[ 31.742318] 0000000000000000 ffff88007c1599a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.742985] Call Trace: <4>[ 31.743229] [] dump_stack+0x4d/0x66 <4>[ 31.743567] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.743932] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.744296] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.744682] [] truncate_setsize+0x27/0x40 <4>[ 31.745053] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.745419] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.745784] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.746168] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.746534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.746918] [] do_fallocate+0x123/0x1b0 <4>[ 31.747278] [] SyS_fallocate+0x43/0x70 <4>[ 31.747625] [] system_call_fastpath+0x16/0x1b <4>[ 31.747988] ---[ end trace 6a3b1350ad399726 ]--- <4>[ 31.751330] ------------[ cut here ]------------ <4>[ 31.751660] WARNING: CPU: 3 PID: 2948 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.752315] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.755611] CPU: 3 PID: 2948 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.756177] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.756790] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.757509] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1699a8 <4>[ 31.758219] 0000000000000000 ffff88007c1699a8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.758924] Call Trace: <4>[ 31.759167] [] dump_stack+0x4d/0x66 <4>[ 31.759516] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.759900] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.760277] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.760680] [] truncate_setsize+0x27/0x40 <4>[ 31.761056] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.761428] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.761806] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.762199] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.762580] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.762987] [] do_fallocate+0x123/0x1b0 <4>[ 31.763358] [] SyS_fallocate+0x43/0x70 <4>[ 31.763716] [] system_call_fastpath+0x16/0x1b <4>[ 31.764098] ---[ end trace 6a3b1350ad399727 ]--- <4>[ 31.767532] ------------[ cut here ]------------ <4>[ 31.767848] WARNING: CPU: 2 PID: 2950 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.768488] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.771602] CPU: 2 PID: 2950 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.772142] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.772738] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.773420] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c159da8 <4>[ 31.774104] 0000000000000000 ffff88007c159da8 0000000004000000 ffff88007a54fdd0 <4>[ 31.776500] Call Trace: <4>[ 31.776728] [] dump_stack+0x4d/0x66 <4>[ 31.777078] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.777449] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.777806] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.778194] [] truncate_setsize+0x27/0x40 <4>[ 31.778552] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.778909] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.779282] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.779652] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.780025] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.780420] [] do_fallocate+0x123/0x1b0 <4>[ 31.780765] [] SyS_fallocate+0x43/0x70 <4>[ 31.781124] [] system_call_fastpath+0x16/0x1b <4>[ 31.781493] ---[ end trace 6a3b1350ad399728 ]--- <4>[ 31.784769] ------------[ cut here ]------------ <4>[ 31.785108] WARNING: CPU: 3 PID: 2952 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.785755] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.789062] CPU: 3 PID: 2952 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.789626] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.790243] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.790954] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c169da8 <4>[ 31.791662] 0000000000000000 ffff88007c169da8 0000000004000000 ffff88007bfabdd0 <4>[ 31.792376] Call Trace: <4>[ 31.792613] [] dump_stack+0x4d/0x66 <4>[ 31.792963] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.793350] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.793721] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.794124] [] truncate_setsize+0x27/0x40 <4>[ 31.794493] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.794868] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.795250] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.795639] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.796024] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.796433] [] do_fallocate+0x123/0x1b0 <4>[ 31.796800] [] SyS_fallocate+0x43/0x70 <4>[ 31.797164] [] system_call_fastpath+0x16/0x1b <4>[ 31.797542] ---[ end trace 6a3b1350ad399729 ]--- <4>[ 31.800948] ------------[ cut here ]------------ <4>[ 31.801283] WARNING: CPU: 2 PID: 2954 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.801903] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.805033] CPU: 2 PID: 2954 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.805571] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.806166] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.806840] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15a1a8 <4>[ 31.807531] 0000000000000000 ffff88007c15a1a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.808212] Call Trace: <4>[ 31.808441] [] dump_stack+0x4d/0x66 <4>[ 31.808772] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.809143] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.809506] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.809887] [] truncate_setsize+0x27/0x40 <4>[ 31.810258] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.810622] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.810986] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.811360] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.811724] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.812116] [] do_fallocate+0x123/0x1b0 <4>[ 31.812466] [] SyS_fallocate+0x43/0x70 <4>[ 31.812806] [] system_call_fastpath+0x16/0x1b <4>[ 31.813188] ---[ end trace 6a3b1350ad39972a ]--- <4>[ 31.816458] ------------[ cut here ]------------ <4>[ 31.816774] WARNING: CPU: 2 PID: 2956 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.817415] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.820532] CPU: 2 PID: 2956 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.821088] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.821681] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.822362] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15a5a8 <4>[ 31.823038] 0000000000000000 ffff88007c15a5a8 0000000004000000 ffff88007a54fdd0 <4>[ 31.823709] Call Trace: <4>[ 31.823937] [] dump_stack+0x4d/0x66 <4>[ 31.824276] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.824645] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.825013] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.825398] [] truncate_setsize+0x27/0x40 <4>[ 31.825749] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.826126] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.826497] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.826863] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.827240] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.827631] [] do_fallocate+0x123/0x1b0 <4>[ 31.827975] [] SyS_fallocate+0x43/0x70 <4>[ 31.828323] [] system_call_fastpath+0x16/0x1b <4>[ 31.828692] ---[ end trace 6a3b1350ad39972b ]--- <4>[ 31.831965] ------------[ cut here ]------------ <4>[ 31.832304] WARNING: CPU: 3 PID: 2958 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.832948] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.836260] CPU: 3 PID: 2958 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.836823] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.837440] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.838154] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c16a1a8 <4>[ 31.838859] 0000000000000000 ffff88007c16a1a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.839567] Call Trace: <4>[ 31.839805] [] dump_stack+0x4d/0x66 <4>[ 31.840160] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.840544] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.840915] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.841320] [] truncate_setsize+0x27/0x40 <4>[ 31.841695] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.842071] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.842460] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.842848] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.843233] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.843641] [] do_fallocate+0x123/0x1b0 <4>[ 31.844013] [] SyS_fallocate+0x43/0x70 <4>[ 31.844372] [] system_call_fastpath+0x16/0x1b <4>[ 31.844749] ---[ end trace 6a3b1350ad39972c ]--- <4>[ 31.848161] ------------[ cut here ]------------ <4>[ 31.848476] WARNING: CPU: 2 PID: 2960 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.849116] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.852235] CPU: 2 PID: 2960 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.852772] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.853368] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.854043] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15a9a8 <4>[ 31.854710] 0000000000000000 ffff88007c15a9a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.855401] Call Trace: <4>[ 31.855630] [] dump_stack+0x4d/0x66 <4>[ 31.855961] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.856332] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.856696] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.857083] [] truncate_setsize+0x27/0x40 <4>[ 31.857440] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.857798] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.858182] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.858553] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.860625] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.861027] [] do_fallocate+0x123/0x1b0 <4>[ 31.861372] [] SyS_fallocate+0x43/0x70 <4>[ 31.861713] [] system_call_fastpath+0x16/0x1b <4>[ 31.862095] ---[ end trace 6a3b1350ad39972d ]--- <4>[ 31.865464] ------------[ cut here ]------------ <4>[ 31.865779] WARNING: CPU: 2 PID: 2962 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.866421] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.869537] CPU: 2 PID: 2962 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.870080] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.870673] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.871355] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15ada8 <4>[ 31.872030] 0000000000000000 ffff88007c15ada8 0000000004000000 ffff88007a56fdd0 <4>[ 31.872714] Call Trace: <4>[ 31.872942] [] dump_stack+0x4d/0x66 <4>[ 31.873282] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.873652] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.874017] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.874402] [] truncate_setsize+0x27/0x40 <4>[ 31.874753] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.875130] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.875501] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.875866] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.876244] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.876634] [] do_fallocate+0x123/0x1b0 <4>[ 31.876979] [] SyS_fallocate+0x43/0x70 <4>[ 31.877326] [] system_call_fastpath+0x16/0x1b <4>[ 31.877695] ---[ end trace 6a3b1350ad39972e ]--- <4>[ 31.880778] ------------[ cut here ]------------ <4>[ 31.881098] WARNING: CPU: 2 PID: 2964 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.881717] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.884843] CPU: 2 PID: 2964 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.885396] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.885989] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.886670] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15b1a8 <4>[ 31.887349] 0000000000000000 ffff88007c15b1a8 0000000004000000 ffff88007bfabdd0 <4>[ 31.888020] Call Trace: <4>[ 31.888262] [] dump_stack+0x4d/0x66 <4>[ 31.888593] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.888957] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.889331] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.889717] [] truncate_setsize+0x27/0x40 <4>[ 31.890077] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.890441] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.890805] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.891188] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.891553] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.891936] [] do_fallocate+0x123/0x1b0 <4>[ 31.892291] [] SyS_fallocate+0x43/0x70 <4>[ 31.892637] [] system_call_fastpath+0x16/0x1b <4>[ 31.893008] ---[ end trace 6a3b1350ad39972f ]--- <4>[ 31.896361] ------------[ cut here ]------------ <4>[ 31.896676] WARNING: CPU: 2 PID: 2966 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.897313] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.900425] CPU: 2 PID: 2966 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.900961] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.901553] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.902223] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15b5a8 <4>[ 31.902891] 0000000000000000 ffff88007c15b5a8 0000000004000000 ffff88007a54fdd0 <4>[ 31.903575] Call Trace: <4>[ 31.903803] [] dump_stack+0x4d/0x66 <4>[ 31.904141] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.904505] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.904863] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.905249] [] truncate_setsize+0x27/0x40 <4>[ 31.905600] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.905958] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.906331] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.906696] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.907059] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.907443] [] do_fallocate+0x123/0x1b0 <4>[ 31.907788] [] SyS_fallocate+0x43/0x70 <4>[ 31.908134] [] system_call_fastpath+0x16/0x1b <4>[ 31.908498] ---[ end trace 6a3b1350ad399730 ]--- <4>[ 31.911807] ------------[ cut here ]------------ <4>[ 31.912155] WARNING: CPU: 3 PID: 2968 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.912805] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.916114] CPU: 3 PID: 2968 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.916677] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.917293] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 31.918008] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c16a5a8 <4>[ 31.918722] 0000000000000000 ffff88007c16a5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 31.919431] Call Trace: <4>[ 31.919670] [] dump_stack+0x4d/0x66 <4>[ 31.920025] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.920408] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.920779] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.921182] [] truncate_setsize+0x27/0x40 <4>[ 31.921552] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.921928] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.922310] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.922697] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.923082] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.923488] [] do_fallocate+0x123/0x1b0 <4>[ 31.923854] [] SyS_fallocate+0x43/0x70 <4>[ 31.924216] [] system_call_fastpath+0x16/0x1b <4>[ 31.924593] ---[ end trace 6a3b1350ad399731 ]--- <4>[ 31.927934] ------------[ cut here ]------------ <4>[ 31.928272] WARNING: CPU: 2 PID: 2970 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.928896] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.932021] CPU: 2 PID: 2970 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.932558] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.933153] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 31.933827] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15b9a8 <4>[ 31.934518] 0000000000000000 ffff88007c15b9a8 0000000004000000 ffff88007bfabdd0 <4>[ 31.935199] Call Trace: <4>[ 31.935428] [] dump_stack+0x4d/0x66 <4>[ 31.935759] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.936132] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.936496] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.936876] [] truncate_setsize+0x27/0x40 <4>[ 31.937242] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.937605] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.937970] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.938348] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.938713] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.939107] [] do_fallocate+0x123/0x1b0 <4>[ 31.939457] [] SyS_fallocate+0x43/0x70 <4>[ 31.939799] [] system_call_fastpath+0x16/0x1b <4>[ 31.940171] ---[ end trace 6a3b1350ad399732 ]--- <4>[ 31.943499] ------------[ cut here ]------------ <4>[ 31.943825] WARNING: CPU: 3 PID: 2972 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.944488] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.949560] CPU: 3 PID: 2972 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.950127] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.950740] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.951457] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c16a9a8 <4>[ 31.952166] 0000000000000000 ffff88007c16a9a8 0000000004000000 ffff88007a56fdd0 <4>[ 31.952872] Call Trace: <4>[ 31.953119] [] dump_stack+0x4d/0x66 <4>[ 31.953468] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.953850] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.954227] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.954631] [] truncate_setsize+0x27/0x40 <4>[ 31.955008] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.955386] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.955764] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.956157] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.956536] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.956944] [] do_fallocate+0x123/0x1b0 <4>[ 31.957315] [] SyS_fallocate+0x43/0x70 <4>[ 31.957678] [] system_call_fastpath+0x16/0x1b <4>[ 31.958063] ---[ end trace 6a3b1350ad399733 ]--- <4>[ 31.961415] ------------[ cut here ]------------ <4>[ 31.961730] WARNING: CPU: 2 PID: 2974 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.962366] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.965480] CPU: 2 PID: 2974 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.966021] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.966609] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 31.967281] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15bda8 <4>[ 31.967948] 0000000000000000 ffff88007c15bda8 0000000004000000 ffff88007bf8bdd0 <4>[ 31.968629] Call Trace: <4>[ 31.968857] [] dump_stack+0x4d/0x66 <4>[ 31.969194] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.969559] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.969916] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.970301] [] truncate_setsize+0x27/0x40 <4>[ 31.970654] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.971025] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.971391] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.971756] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.972119] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.972504] [] do_fallocate+0x123/0x1b0 <4>[ 31.972849] [] SyS_fallocate+0x43/0x70 <4>[ 31.973195] [] system_call_fastpath+0x16/0x1b <4>[ 31.973558] ---[ end trace 6a3b1350ad399734 ]--- <4>[ 31.977040] ------------[ cut here ]------------ <4>[ 31.977356] WARNING: CPU: 2 PID: 2976 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.977974] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.981097] CPU: 2 PID: 2976 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.981633] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.982226] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.982894] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15c1a8 <4>[ 31.983577] 0000000000000000 ffff88007c15c1a8 0000000004000000 ffff88007a54fdd0 <4>[ 31.984249] Call Trace: <4>[ 31.984477] [] dump_stack+0x4d/0x66 <4>[ 31.984808] [] warn_slowpath_common+0x7d/0xa0 <4>[ 31.985179] [] warn_slowpath_null+0x1a/0x20 <4>[ 31.985538] [] pagecache_isize_extended+0xdd/0x120 <4>[ 31.985918] [] truncate_setsize+0x27/0x40 <4>[ 31.986282] [] xfs_setattr_size+0x157/0x3a0 <4>[ 31.986640] [] ? xfs_trans_commit+0x157/0x250 <4>[ 31.987009] [] xfs_file_fallocate+0x2df/0x300 <4>[ 31.987374] [] ? __sb_start_write+0x49/0xf0 <4>[ 31.987732] [] ? selinux_file_permission+0xc4/0x120 <4>[ 31.988121] [] do_fallocate+0x123/0x1b0 <4>[ 31.988467] [] SyS_fallocate+0x43/0x70 <4>[ 31.988807] [] system_call_fastpath+0x16/0x1b <4>[ 31.989184] ---[ end trace 6a3b1350ad399735 ]--- <4>[ 31.992475] ------------[ cut here ]------------ <4>[ 31.992790] WARNING: CPU: 2 PID: 2978 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 31.993424] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 31.996539] CPU: 2 PID: 2978 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 31.997081] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 31.997669] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 31.998340] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15c5a8 <4>[ 31.999015] 0000000000000000 ffff88007c15c5a8 0000000004000000 ffff88007a61fdd0 <4>[ 31.999688] Call Trace: <4>[ 31.999915] [] dump_stack+0x4d/0x66 <4>[ 32.000253] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.000619] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.000976] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.001362] [] truncate_setsize+0x27/0x40 <4>[ 32.001714] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.002086] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.002451] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.002816] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.003178] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.003563] [] do_fallocate+0x123/0x1b0 <4>[ 32.003908] [] SyS_fallocate+0x43/0x70 <4>[ 32.004254] [] system_call_fastpath+0x16/0x1b <4>[ 32.004618] ---[ end trace 6a3b1350ad399736 ]--- <4>[ 32.007802] ------------[ cut here ]------------ <4>[ 32.008140] WARNING: CPU: 2 PID: 2980 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.008759] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.011876] CPU: 2 PID: 2980 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.012418] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.013008] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.013676] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15c9a8 <4>[ 32.014358] 0000000000000000 ffff88007c15c9a8 0000000004000000 ffff88007a54fdd0 <4>[ 32.015029] Call Trace: <4>[ 32.015257] [] dump_stack+0x4d/0x66 <4>[ 32.015589] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.015953] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.016325] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.016706] [] truncate_setsize+0x27/0x40 <4>[ 32.017071] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.017429] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.017793] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.018163] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.018521] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.018905] [] do_fallocate+0x123/0x1b0 <4>[ 32.019255] [] SyS_fallocate+0x43/0x70 <4>[ 32.019596] [] system_call_fastpath+0x16/0x1b <4>[ 32.019959] ---[ end trace 6a3b1350ad399737 ]--- <4>[ 32.023282] ------------[ cut here ]------------ <4>[ 32.023597] WARNING: CPU: 2 PID: 2982 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.024234] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.027348] CPU: 2 PID: 2982 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.027885] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.028477] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.030860] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15cda8 <4>[ 32.031530] 0000000000000000 ffff88007c15cda8 0000000004000000 ffff88007a56fdd0 <4>[ 32.032203] Call Trace: <4>[ 32.032431] [] dump_stack+0x4d/0x66 <4>[ 32.032763] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.033143] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.033501] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.033881] [] truncate_setsize+0x27/0x40 <4>[ 32.034237] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.034596] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.034961] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.035337] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.035695] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.036093] [] do_fallocate+0x123/0x1b0 <4>[ 32.036438] [] SyS_fallocate+0x43/0x70 <4>[ 32.036779] [] system_call_fastpath+0x16/0x1b <4>[ 32.037147] ---[ end trace 6a3b1350ad399738 ]--- <4>[ 32.040409] ------------[ cut here ]------------ <4>[ 32.040722] WARNING: CPU: 2 PID: 2984 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.041367] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.044481] CPU: 2 PID: 2984 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.045022] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.045611] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.046282] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15d1a8 <4>[ 32.046949] 0000000000000000 ffff88007c15d1a8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.047629] Call Trace: <4>[ 32.047858] [] dump_stack+0x4d/0x66 <4>[ 32.048195] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.048560] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.048917] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.049303] [] truncate_setsize+0x27/0x40 <4>[ 32.049656] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.050028] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.050394] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.050759] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.051121] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.051506] [] do_fallocate+0x123/0x1b0 <4>[ 32.051851] [] SyS_fallocate+0x43/0x70 <4>[ 32.052197] [] system_call_fastpath+0x16/0x1b <4>[ 32.052561] ---[ end trace 6a3b1350ad399739 ]--- <4>[ 32.056066] ------------[ cut here ]------------ <4>[ 32.056397] WARNING: CPU: 3 PID: 2986 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.057058] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.060353] CPU: 3 PID: 2986 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.060913] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.061532] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 32.062242] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c16ada8 <4>[ 32.062946] 0000000000000000 ffff88007c16ada8 0000000004000000 ffff88007bfabdd0 <4>[ 32.063662] Call Trace: <4>[ 32.063901] [] dump_stack+0x4d/0x66 <4>[ 32.064259] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.064643] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.065018] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.065417] [] truncate_setsize+0x27/0x40 <4>[ 32.065787] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.066165] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.066544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.066932] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.067315] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.067722] [] do_fallocate+0x123/0x1b0 <4>[ 32.068093] [] SyS_fallocate+0x43/0x70 <4>[ 32.068453] [] system_call_fastpath+0x16/0x1b <4>[ 32.068831] ---[ end trace 6a3b1350ad39973a ]--- <4>[ 32.072147] ------------[ cut here ]------------ <4>[ 32.072478] WARNING: CPU: 3 PID: 2988 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.073143] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.076429] CPU: 3 PID: 2988 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.076992] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.077608] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.078320] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c16b1a8 <4>[ 32.079028] 0000000000000000 ffff88007c16b1a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.079731] Call Trace: <4>[ 32.079968] [] dump_stack+0x4d/0x66 <4>[ 32.080323] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.080708] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.081083] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.081486] [] truncate_setsize+0x27/0x40 <4>[ 32.081859] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.082238] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.082616] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.083009] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.083389] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.083790] [] do_fallocate+0x123/0x1b0 <4>[ 32.084155] [] SyS_fallocate+0x43/0x70 <4>[ 32.084515] [] system_call_fastpath+0x16/0x1b <4>[ 32.084893] ---[ end trace 6a3b1350ad39973b ]--- <4>[ 32.088056] ------------[ cut here ]------------ <4>[ 32.088387] WARNING: CPU: 3 PID: 2990 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.089050] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.092349] CPU: 3 PID: 2990 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.092915] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.093543] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.094254] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c16b5a8 <4>[ 32.094959] 0000000000000000 ffff88007c16b5a8 0000000004000000 ffff88007a54fdd0 <4>[ 32.095667] Call Trace: <4>[ 32.095904] [] dump_stack+0x4d/0x66 <4>[ 32.096259] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.096641] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.097018] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.097422] [] truncate_setsize+0x27/0x40 <4>[ 32.097794] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.098173] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.098551] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.098939] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.099324] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.099732] [] do_fallocate+0x123/0x1b0 <4>[ 32.100103] [] SyS_fallocate+0x43/0x70 <4>[ 32.100461] [] system_call_fastpath+0x16/0x1b <4>[ 32.100839] ---[ end trace 6a3b1350ad39973c ]--- <4>[ 32.104087] ------------[ cut here ]------------ <4>[ 32.104404] WARNING: CPU: 2 PID: 2992 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.105043] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.108161] CPU: 2 PID: 2992 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.108697] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.109293] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.109967] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15d5a8 <4>[ 32.110647] 0000000000000000 ffff88007c15d5a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.111338] Call Trace: <4>[ 32.111566] [] dump_stack+0x4d/0x66 <4>[ 32.111898] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.112268] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.112631] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.113021] [] truncate_setsize+0x27/0x40 <4>[ 32.115100] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.115458] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.115823] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.116196] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.116560] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.116944] [] do_fallocate+0x123/0x1b0 <4>[ 32.117306] [] SyS_fallocate+0x43/0x70 <4>[ 32.117653] [] system_call_fastpath+0x16/0x1b <4>[ 32.118026] ---[ end trace 6a3b1350ad39973d ]--- <4>[ 32.121562] ------------[ cut here ]------------ <4>[ 32.121888] WARNING: CPU: 3 PID: 2994 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.122545] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.125839] CPU: 3 PID: 2994 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.126407] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.127025] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.127738] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c16b9a8 <4>[ 32.128452] 0000000000000000 ffff88007c16b9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.129159] Call Trace: <4>[ 32.129397] [] dump_stack+0x4d/0x66 <4>[ 32.129746] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.130133] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.130505] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.130901] [] truncate_setsize+0x27/0x40 <4>[ 32.131276] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.131649] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.132030] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.132417] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.132797] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.133208] [] do_fallocate+0x123/0x1b0 <4>[ 32.133576] [] SyS_fallocate+0x43/0x70 <4>[ 32.133937] [] system_call_fastpath+0x16/0x1b <4>[ 32.134318] ---[ end trace 6a3b1350ad39973e ]--- <4>[ 32.137792] ------------[ cut here ]------------ <4>[ 32.138126] WARNING: CPU: 3 PID: 2996 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.138782] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.142091] CPU: 3 PID: 2996 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.142649] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.143268] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.143979] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c16bda8 <4>[ 32.144688] 0000000000000000 ffff88007c16bda8 0000000004000000 ffff88007a54fdd0 <4>[ 32.145403] Call Trace: <4>[ 32.145640] [] dump_stack+0x4d/0x66 <4>[ 32.145989] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.146379] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.146751] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.147154] [] truncate_setsize+0x27/0x40 <4>[ 32.147524] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.147899] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.148282] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.148669] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.149053] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.149459] [] do_fallocate+0x123/0x1b0 <4>[ 32.149826] [] SyS_fallocate+0x43/0x70 <4>[ 32.150189] [] system_call_fastpath+0x16/0x1b <4>[ 32.150566] ---[ end trace 6a3b1350ad39973f ]--- <4>[ 32.153973] ------------[ cut here ]------------ <4>[ 32.154302] WARNING: CPU: 2 PID: 2998 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.154921] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.158051] CPU: 2 PID: 2998 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.158588] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.159184] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 32.159857] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15d9a8 <4>[ 32.160538] 0000000000000000 ffff88007c15d9a8 0000000004000000 ffff88007bfc3dd0 <4>[ 32.161220] Call Trace: <4>[ 32.161449] [] dump_stack+0x4d/0x66 <4>[ 32.161780] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.162152] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.162515] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.162896] [] truncate_setsize+0x27/0x40 <4>[ 32.163261] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.163625] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.163990] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.164362] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.164726] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.165129] [] do_fallocate+0x123/0x1b0 <4>[ 32.165479] [] SyS_fallocate+0x43/0x70 <4>[ 32.165821] [] system_call_fastpath+0x16/0x1b <4>[ 32.166203] ---[ end trace 6a3b1350ad399740 ]--- <4>[ 32.169799] ------------[ cut here ]------------ <4>[ 32.170141] WARNING: CPU: 3 PID: 3000 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.170786] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.174087] CPU: 3 PID: 3000 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.174650] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.175269] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.175979] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14c1a8 <4>[ 32.176686] 0000000000000000 ffff88007c14c1a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.177396] Call Trace: <4>[ 32.177634] [] dump_stack+0x4d/0x66 <4>[ 32.177983] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.178372] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.178744] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.179148] [] truncate_setsize+0x27/0x40 <4>[ 32.179523] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.179894] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.180283] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.180663] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.181048] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.181454] [] do_fallocate+0x123/0x1b0 <4>[ 32.181820] [] SyS_fallocate+0x43/0x70 <4>[ 32.182183] [] system_call_fastpath+0x16/0x1b <4>[ 32.182561] ---[ end trace 6a3b1350ad399741 ]--- <4>[ 32.185962] ------------[ cut here ]------------ <4>[ 32.186293] WARNING: CPU: 2 PID: 3002 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.186911] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.190040] CPU: 2 PID: 3002 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.190576] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.191172] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 32.191845] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15dda8 <4>[ 32.192534] 0000000000000000 ffff88007c15dda8 0000000004000000 ffff88007bf43dd0 <4>[ 32.193215] Call Trace: <4>[ 32.193443] [] dump_stack+0x4d/0x66 <4>[ 32.193774] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.194145] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.194508] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.194889] [] truncate_setsize+0x27/0x40 <4>[ 32.195259] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.195623] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.195988] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.196360] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.196723] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.197117] [] do_fallocate+0x123/0x1b0 <4>[ 32.197467] [] SyS_fallocate+0x43/0x70 <4>[ 32.197808] [] system_call_fastpath+0x16/0x1b <4>[ 32.198189] ---[ end trace 6a3b1350ad399742 ]--- <4>[ 32.203039] ------------[ cut here ]------------ <4>[ 32.203368] WARNING: CPU: 3 PID: 3004 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.204025] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.207331] CPU: 3 PID: 3004 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.207894] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.208511] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.209222] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14c5a8 <4>[ 32.209931] 0000000000000000 ffff88007c14c5a8 0000000004000000 ffff88007a54fdd0 <4>[ 32.210639] Call Trace: <4>[ 32.210877] [] dump_stack+0x4d/0x66 <4>[ 32.211233] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.211616] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.211987] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.212392] [] truncate_setsize+0x27/0x40 <4>[ 32.212767] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.213144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.213532] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.213920] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.214305] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.214711] [] do_fallocate+0x123/0x1b0 <4>[ 32.215082] [] SyS_fallocate+0x43/0x70 <4>[ 32.215440] [] system_call_fastpath+0x16/0x1b <4>[ 32.215818] ---[ end trace 6a3b1350ad399743 ]--- <4>[ 32.219379] ------------[ cut here ]------------ <4>[ 32.219695] WARNING: CPU: 2 PID: 3006 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.220336] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.223454] CPU: 2 PID: 3006 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.223991] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.224587] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.225262] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15e1a8 <4>[ 32.225930] 0000000000000000 ffff88007c15e1a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.226621] Call Trace: <4>[ 32.226850] [] dump_stack+0x4d/0x66 <4>[ 32.227189] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.227559] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.227917] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.228307] [] truncate_setsize+0x27/0x40 <4>[ 32.228664] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.229042] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.229414] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.229780] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.230156] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.230547] [] do_fallocate+0x123/0x1b0 <4>[ 32.230892] [] SyS_fallocate+0x43/0x70 <4>[ 32.231241] [] system_call_fastpath+0x16/0x1b <4>[ 32.231611] ---[ end trace 6a3b1350ad399744 ]--- <4>[ 32.235186] ------------[ cut here ]------------ <4>[ 32.235527] WARNING: CPU: 3 PID: 3008 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.236183] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.239476] CPU: 3 PID: 3008 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.240043] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.240660] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 32.241376] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14c9a8 <4>[ 32.242089] 0000000000000000 ffff88007c14c9a8 0000000004000000 ffff88007bfabdd0 <4>[ 32.242794] Call Trace: <4>[ 32.243038] [] dump_stack+0x4d/0x66 <4>[ 32.243388] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.243770] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.244146] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.244548] [] truncate_setsize+0x27/0x40 <4>[ 32.244921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.245300] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.245679] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.246071] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.246451] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.246859] [] do_fallocate+0x123/0x1b0 <4>[ 32.247230] [] SyS_fallocate+0x43/0x70 <4>[ 32.247588] [] system_call_fastpath+0x16/0x1b <4>[ 32.247966] ---[ end trace 6a3b1350ad399745 ]--- <4>[ 32.251383] ------------[ cut here ]------------ <4>[ 32.251700] WARNING: CPU: 2 PID: 3010 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.252340] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.255458] CPU: 2 PID: 3010 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.255996] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.256592] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 32.257266] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15e5a8 <4>[ 32.257933] 0000000000000000 ffff88007c15e5a8 0000000004000000 ffff88007bf43dd0 <4>[ 32.258624] Call Trace: <4>[ 32.258852] [] dump_stack+0x4d/0x66 <4>[ 32.259191] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.259561] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.259919] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.260306] [] truncate_setsize+0x27/0x40 <4>[ 32.260663] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.261040] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.261411] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.261776] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.262152] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.262542] [] do_fallocate+0x123/0x1b0 <4>[ 32.262887] [] SyS_fallocate+0x43/0x70 <4>[ 32.263236] [] system_call_fastpath+0x16/0x1b <4>[ 32.263606] ---[ end trace 6a3b1350ad399746 ]--- <4>[ 32.266904] ------------[ cut here ]------------ <4>[ 32.267241] WARNING: CPU: 3 PID: 3012 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.267886] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.271198] CPU: 3 PID: 3012 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.271761] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.272381] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.273094] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14cda8 <4>[ 32.273798] 0000000000000000 ffff88007c14cda8 0000000004000000 ffff88007a54fdd0 <4>[ 32.274507] Call Trace: <4>[ 32.274744] [] dump_stack+0x4d/0x66 <4>[ 32.275098] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.275483] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.275854] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.276265] [] truncate_setsize+0x27/0x40 <4>[ 32.276638] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.277017] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.277395] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.277783] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.278167] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.278574] [] do_fallocate+0x123/0x1b0 <4>[ 32.278941] [] SyS_fallocate+0x43/0x70 <4>[ 32.279304] [] system_call_fastpath+0x16/0x1b <4>[ 32.279681] ---[ end trace 6a3b1350ad399747 ]--- <4>[ 32.283138] ------------[ cut here ]------------ <4>[ 32.283454] WARNING: CPU: 2 PID: 3014 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.284093] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.287212] CPU: 2 PID: 3014 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.289458] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.290066] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.290734] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15e9a8 <4>[ 32.291425] 0000000000000000 ffff88007c15e9a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.292097] Call Trace: <4>[ 32.292333] [] dump_stack+0x4d/0x66 <4>[ 32.292665] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.293049] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.293413] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.293794] [] truncate_setsize+0x27/0x40 <4>[ 32.294164] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.294528] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.294892] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.295267] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.295631] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.296024] [] do_fallocate+0x123/0x1b0 <4>[ 32.296375] [] SyS_fallocate+0x43/0x70 <4>[ 32.296716] [] system_call_fastpath+0x16/0x1b <4>[ 32.297097] ---[ end trace 6a3b1350ad399748 ]--- <4>[ 32.300394] ------------[ cut here ]------------ <4>[ 32.300709] WARNING: CPU: 2 PID: 3016 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.301346] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.304471] CPU: 2 PID: 3016 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.305013] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.305601] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 32.306283] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15eda8 <4>[ 32.306950] 0000000000000000 ffff88007c15eda8 0000000004000000 ffff88007d087dd0 <4>[ 32.307629] Call Trace: <4>[ 32.307858] [] dump_stack+0x4d/0x66 <4>[ 32.308195] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.308560] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.308918] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.309305] [] truncate_setsize+0x27/0x40 <4>[ 32.309657] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.310030] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.310394] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.310760] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.311123] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.311508] [] do_fallocate+0x123/0x1b0 <4>[ 32.311853] [] SyS_fallocate+0x43/0x70 <4>[ 32.312199] [] system_call_fastpath+0x16/0x1b <4>[ 32.312562] ---[ end trace 6a3b1350ad399749 ]--- <4>[ 32.316084] ------------[ cut here ]------------ <4>[ 32.316424] WARNING: CPU: 3 PID: 3018 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.317073] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.320378] CPU: 3 PID: 3018 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.320938] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.321560] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 32.322270] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14d1a8 <4>[ 32.322976] 0000000000000000 ffff88007c14d1a8 0000000004000000 ffff88007bf8bdd0 <4>[ 32.323684] Call Trace: <4>[ 32.323922] [] dump_stack+0x4d/0x66 <4>[ 32.324276] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.324659] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.325034] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.325431] [] truncate_setsize+0x27/0x40 <4>[ 32.325800] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.326179] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.326561] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.326948] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.327332] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.327738] [] do_fallocate+0x123/0x1b0 <4>[ 32.328108] [] SyS_fallocate+0x43/0x70 <4>[ 32.328468] [] system_call_fastpath+0x16/0x1b <4>[ 32.328845] ---[ end trace 6a3b1350ad39974a ]--- <4>[ 32.332251] ------------[ cut here ]------------ <4>[ 32.332566] WARNING: CPU: 2 PID: 3020 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.333203] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.336318] CPU: 2 PID: 3020 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.336855] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.337452] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 32.338122] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15f1a8 <4>[ 32.338790] 0000000000000000 ffff88007c15f1a8 0000000004000000 ffff88007bfabdd0 <4>[ 32.339470] Call Trace: <4>[ 32.339698] [] dump_stack+0x4d/0x66 <4>[ 32.340035] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.340400] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.340758] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.341144] [] truncate_setsize+0x27/0x40 <4>[ 32.341497] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.341855] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.342236] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.342601] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.342958] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.343347] [] do_fallocate+0x123/0x1b0 <4>[ 32.343692] [] SyS_fallocate+0x43/0x70 <4>[ 32.344038] [] system_call_fastpath+0x16/0x1b <4>[ 32.344402] ---[ end trace 6a3b1350ad39974b ]--- <4>[ 32.347801] ------------[ cut here ]------------ <4>[ 32.348144] WARNING: CPU: 3 PID: 3022 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.348796] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.352101] CPU: 3 PID: 3022 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.352665] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.353289] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.354004] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14d5a8 <4>[ 32.354712] 0000000000000000 ffff88007c14d5a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.355426] Call Trace: <4>[ 32.355663] [] dump_stack+0x4d/0x66 <4>[ 32.356017] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.356400] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.356771] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.357172] [] truncate_setsize+0x27/0x40 <4>[ 32.357541] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.357916] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.358298] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.358685] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.359070] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.359477] [] do_fallocate+0x123/0x1b0 <4>[ 32.359843] [] SyS_fallocate+0x43/0x70 <4>[ 32.360204] [] system_call_fastpath+0x16/0x1b <4>[ 32.360582] ---[ end trace 6a3b1350ad39974c ]--- <4>[ 32.363984] ------------[ cut here ]------------ <4>[ 32.364314] WARNING: CPU: 2 PID: 3024 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.364932] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.368060] CPU: 2 PID: 3024 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.368597] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.369193] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 32.369866] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15f5a8 <4>[ 32.370546] 0000000000000000 ffff88007c15f5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 32.371237] Call Trace: <4>[ 32.371465] [] dump_stack+0x4d/0x66 <4>[ 32.373519] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.373889] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.374255] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.374641] [] truncate_setsize+0x27/0x40 <4>[ 32.374992] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.375359] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.375730] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.376114] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.376479] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.376863] [] do_fallocate+0x123/0x1b0 <4>[ 32.377217] [] SyS_fallocate+0x43/0x70 <4>[ 32.377564] [] system_call_fastpath+0x16/0x1b <4>[ 32.377927] ---[ end trace 6a3b1350ad39974d ]--- <4>[ 32.381307] ------------[ cut here ]------------ <4>[ 32.381622] WARNING: CPU: 2 PID: 3026 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.382262] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.385383] CPU: 2 PID: 3026 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.385920] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.386516] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 32.387191] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c15f9a8 <4>[ 32.387859] 0000000000000000 ffff88007c15f9a8 0000000004000000 ffff88007bf43dd0 <4>[ 32.388540] Call Trace: <4>[ 32.388767] [] dump_stack+0x4d/0x66 <4>[ 32.389108] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.389478] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.389836] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.390224] [] truncate_setsize+0x27/0x40 <4>[ 32.390581] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.390939] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.391317] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.391688] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.392063] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.392453] [] do_fallocate+0x123/0x1b0 <4>[ 32.392797] [] SyS_fallocate+0x43/0x70 <4>[ 32.393146] [] system_call_fastpath+0x16/0x1b <4>[ 32.393515] ---[ end trace 6a3b1350ad39974e ]--- <4>[ 32.397173] ------------[ cut here ]------------ <4>[ 32.397504] WARNING: CPU: 3 PID: 3028 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.398164] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.401459] CPU: 3 PID: 3028 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.402027] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.402642] 0000000000000009 ffff88007a54fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.403358] ffff88007a54fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14d9a8 <4>[ 32.404074] 0000000000000000 ffff88007c14d9a8 0000000004000000 ffff88007a54fdd0 <4>[ 32.404783] Call Trace: <4>[ 32.405025] [] dump_stack+0x4d/0x66 <4>[ 32.405375] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.405757] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.406134] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.406537] [] truncate_setsize+0x27/0x40 <4>[ 32.406910] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.407287] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.407666] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.408059] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.408439] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.408846] [] do_fallocate+0x123/0x1b0 <4>[ 32.409218] [] SyS_fallocate+0x43/0x70 <4>[ 32.409577] [] system_call_fastpath+0x16/0x1b <4>[ 32.409954] ---[ end trace 6a3b1350ad39974f ]--- <4>[ 32.413474] ------------[ cut here ]------------ <4>[ 32.413790] WARNING: CPU: 2 PID: 3030 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.414421] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.417540] CPU: 2 PID: 3030 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.418085] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.418678] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.419361] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c15fda8 <4>[ 32.420047] 0000000000000000 ffff88007c15fda8 0000000004000000 ffff88007a61fdd0 <4>[ 32.420718] Call Trace: <4>[ 32.420946] [] dump_stack+0x4d/0x66 <4>[ 32.421286] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.421656] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.422021] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.422407] [] truncate_setsize+0x27/0x40 <4>[ 32.422758] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.423134] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.423508] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.423873] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.424249] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.424640] [] do_fallocate+0x123/0x1b0 <4>[ 32.424985] [] SyS_fallocate+0x43/0x70 <4>[ 32.425333] [] system_call_fastpath+0x16/0x1b <4>[ 32.425702] ---[ end trace 6a3b1350ad399750 ]--- <4>[ 32.429460] ------------[ cut here ]------------ <4>[ 32.429789] WARNING: CPU: 3 PID: 3032 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.430445] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.433747] CPU: 3 PID: 3032 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.434315] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.434928] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 32.435642] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14dda8 <4>[ 32.436357] 0000000000000000 ffff88007c14dda8 0000000004000000 ffff88007bfc3dd0 <4>[ 32.437065] Call Trace: <4>[ 32.437303] [] dump_stack+0x4d/0x66 <4>[ 32.437652] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.438040] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.438412] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.438812] [] truncate_setsize+0x27/0x40 <4>[ 32.439187] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.439559] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.439937] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.440330] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.440710] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.441122] [] do_fallocate+0x123/0x1b0 <4>[ 32.441489] [] SyS_fallocate+0x43/0x70 <4>[ 32.441849] [] system_call_fastpath+0x16/0x1b <4>[ 32.442231] ---[ end trace 6a3b1350ad399751 ]--- <4>[ 32.445646] ------------[ cut here ]------------ <4>[ 32.445963] WARNING: CPU: 2 PID: 3034 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.446600] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.449722] CPU: 2 PID: 3034 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.450278] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.450872] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 32.451553] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1741a8 <4>[ 32.452244] 0000000000000000 ffff88007c1741a8 0000000004000000 ffff88007bfabdd0 <4>[ 32.452910] Call Trace: <4>[ 32.453157] [] dump_stack+0x4d/0x66 <4>[ 32.453497] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.453861] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.454239] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.454626] [] truncate_setsize+0x27/0x40 <4>[ 32.454977] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.455353] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.455724] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.456097] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.456461] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.456846] [] do_fallocate+0x123/0x1b0 <4>[ 32.458913] [] SyS_fallocate+0x43/0x70 <4>[ 32.459262] [] system_call_fastpath+0x16/0x1b <4>[ 32.459626] ---[ end trace 6a3b1350ad399752 ]--- <4>[ 32.462978] ------------[ cut here ]------------ <4>[ 32.463324] WARNING: CPU: 3 PID: 3038 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.463971] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.467275] CPU: 3 PID: 3038 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.467838] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.468455] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 32.469166] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14e1a8 <4>[ 32.469857] 0000000000000000 ffff88007c14e1a8 0000000004000000 ffff88007bf43dd0 <4>[ 32.470544] Call Trace: <4>[ 32.470783] [] dump_stack+0x4d/0x66 <4>[ 32.471143] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.471526] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.471897] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.472300] [] truncate_setsize+0x27/0x40 <4>[ 32.472674] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.473049] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.473431] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.473810] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.474196] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.474602] [] do_fallocate+0x123/0x1b0 <4>[ 32.474969] [] SyS_fallocate+0x43/0x70 <4>[ 32.475332] [] system_call_fastpath+0x16/0x1b <4>[ 32.475710] ---[ end trace 6a3b1350ad399753 ]--- <4>[ 32.479233] ------------[ cut here ]------------ <4>[ 32.479550] WARNING: CPU: 2 PID: 3042 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.480191] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.483312] CPU: 2 PID: 3042 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.483847] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.484442] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.485118] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1745a8 <4>[ 32.485786] 0000000000000000 ffff88007c1745a8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.486477] Call Trace: <4>[ 32.486706] [] dump_stack+0x4d/0x66 <4>[ 32.487045] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.487415] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.487772] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.488170] [] truncate_setsize+0x27/0x40 <4>[ 32.488528] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.488886] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.489265] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.489637] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.489995] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.490386] [] do_fallocate+0x123/0x1b0 <4>[ 32.490737] [] SyS_fallocate+0x43/0x70 <4>[ 32.491087] [] system_call_fastpath+0x16/0x1b <4>[ 32.491457] ---[ end trace 6a3b1350ad399754 ]--- <4>[ 32.494955] ------------[ cut here ]------------ <4>[ 32.495295] WARNING: CPU: 3 PID: 3044 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.495940] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.499240] CPU: 3 PID: 3044 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.499806] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.500434] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.501147] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14e5a8 <4>[ 32.501851] 0000000000000000 ffff88007c14e5a8 0000000004000000 ffff88007a50fdd0 <4>[ 32.502561] Call Trace: <4>[ 32.502799] [] dump_stack+0x4d/0x66 <4>[ 32.503153] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.503538] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.503909] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.504310] [] truncate_setsize+0x27/0x40 <4>[ 32.504680] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.505056] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.505435] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.505823] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.506206] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.506614] [] do_fallocate+0x123/0x1b0 <4>[ 32.506982] [] SyS_fallocate+0x43/0x70 <4>[ 32.507343] [] system_call_fastpath+0x16/0x1b <4>[ 32.507721] ---[ end trace 6a3b1350ad399755 ]--- <4>[ 32.511171] ------------[ cut here ]------------ <4>[ 32.511488] WARNING: CPU: 2 PID: 3048 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.512117] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.515229] CPU: 2 PID: 3048 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.515766] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.516363] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.517033] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1749a8 <4>[ 32.517700] 0000000000000000 ffff88007c1749a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.518372] Call Trace: <4>[ 32.518601] [] dump_stack+0x4d/0x66 <4>[ 32.518933] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.519311] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.519669] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.520054] [] truncate_setsize+0x27/0x40 <4>[ 32.520405] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.520763] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.521133] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.521499] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.521856] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.522257] [] do_fallocate+0x123/0x1b0 <4>[ 32.522602] [] SyS_fallocate+0x43/0x70 <4>[ 32.522943] [] system_call_fastpath+0x16/0x1b <4>[ 32.523311] ---[ end trace 6a3b1350ad399756 ]--- <4>[ 32.526824] ------------[ cut here ]------------ <4>[ 32.527167] WARNING: CPU: 3 PID: 3050 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.527821] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.531120] CPU: 3 PID: 3050 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.531687] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.532316] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.533028] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14e9a8 <4>[ 32.533733] 0000000000000000 ffff88007c14e9a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.534445] Call Trace: <4>[ 32.534683] [] dump_stack+0x4d/0x66 <4>[ 32.535039] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.535420] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.535792] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.536195] [] truncate_setsize+0x27/0x40 <4>[ 32.536566] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.536941] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.537324] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.537713] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.538097] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.538505] [] do_fallocate+0x123/0x1b0 <4>[ 32.538871] [] SyS_fallocate+0x43/0x70 <4>[ 32.539233] [] system_call_fastpath+0x16/0x1b <4>[ 32.539611] ---[ end trace 6a3b1350ad399757 ]--- <4>[ 32.543090] ------------[ cut here ]------------ <4>[ 32.543421] WARNING: CPU: 3 PID: 3054 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.544074] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.549130] CPU: 3 PID: 3054 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.549693] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.550309] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 32.551022] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14eda8 <4>[ 32.551726] 0000000000000000 ffff88007c14eda8 0000000004000000 ffff88007bf8bdd0 <4>[ 32.552441] Call Trace: <4>[ 32.552677] [] dump_stack+0x4d/0x66 <4>[ 32.553031] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.553416] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.553787] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.554188] [] truncate_setsize+0x27/0x40 <4>[ 32.554558] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.554932] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.555313] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.555702] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.556081] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.556478] [] do_fallocate+0x123/0x1b0 <4>[ 32.556846] [] SyS_fallocate+0x43/0x70 <4>[ 32.557210] [] system_call_fastpath+0x16/0x1b <4>[ 32.557588] ---[ end trace 6a3b1350ad399758 ]--- <4>[ 32.563558] ------------[ cut here ]------------ <4>[ 32.563875] WARNING: CPU: 2 PID: 3056 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.564508] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.567627] CPU: 2 PID: 3056 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.568167] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.568763] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.569445] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c174da8 <4>[ 32.570128] 0000000000000000 ffff88007c174da8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.570800] Call Trace: <4>[ 32.571048] [] dump_stack+0x4d/0x66 <4>[ 32.571388] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.571752] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.572116] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.572503] [] truncate_setsize+0x27/0x40 <4>[ 32.572855] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.573233] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.573605] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.573970] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.574335] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.574725] [] do_fallocate+0x123/0x1b0 <4>[ 32.575078] [] SyS_fallocate+0x43/0x70 <4>[ 32.575426] [] system_call_fastpath+0x16/0x1b <4>[ 32.575789] ---[ end trace 6a3b1350ad399759 ]--- <4>[ 32.583283] ------------[ cut here ]------------ <4>[ 32.583598] WARNING: CPU: 2 PID: 3058 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.584241] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.587433] CPU: 2 PID: 3058 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.587970] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.588565] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.589239] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1751a8 <4>[ 32.589906] 0000000000000000 ffff88007c1751a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.590598] Call Trace: <4>[ 32.590825] [] dump_stack+0x4d/0x66 <4>[ 32.591166] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.591538] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.591895] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.592282] [] truncate_setsize+0x27/0x40 <4>[ 32.592640] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.592998] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.593375] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.593746] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.594111] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.594501] [] do_fallocate+0x123/0x1b0 <4>[ 32.594846] [] SyS_fallocate+0x43/0x70 <4>[ 32.595194] [] system_call_fastpath+0x16/0x1b <4>[ 32.595563] ---[ end trace 6a3b1350ad39975a ]--- <4>[ 32.604301] ------------[ cut here ]------------ <4>[ 32.604643] WARNING: CPU: 3 PID: 3060 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.605297] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.608604] CPU: 3 PID: 3060 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.609172] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.609785] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 32.610499] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c14f1a8 <4>[ 32.611208] 0000000000000000 ffff88007c14f1a8 0000000004000000 ffff88007bfc3dd0 <4>[ 32.611913] Call Trace: <4>[ 32.612156] [] dump_stack+0x4d/0x66 <4>[ 32.612506] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.612889] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.613264] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.613669] [] truncate_setsize+0x27/0x40 <4>[ 32.614046] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.614418] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.614796] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.615187] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.615569] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.615976] [] do_fallocate+0x123/0x1b0 <4>[ 32.616346] [] SyS_fallocate+0x43/0x70 <4>[ 32.616706] [] system_call_fastpath+0x16/0x1b <4>[ 32.617087] ---[ end trace 6a3b1350ad39975b ]--- <4>[ 32.628319] ------------[ cut here ]------------ <4>[ 32.628635] WARNING: CPU: 2 PID: 3062 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.629264] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.632395] CPU: 2 PID: 3062 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.632932] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.633536] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.634211] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1755a8 <4>[ 32.634877] 0000000000000000 ffff88007c1755a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.635558] Call Trace: <4>[ 32.635785] [] dump_stack+0x4d/0x66 <4>[ 32.636136] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.636508] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.636865] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.637266] [] truncate_setsize+0x27/0x40 <4>[ 32.637624] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.637982] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.638357] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.638728] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.639105] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.639496] [] do_fallocate+0x123/0x1b0 <4>[ 32.639841] [] SyS_fallocate+0x43/0x70 <4>[ 32.640202] [] system_call_fastpath+0x16/0x1b <4>[ 32.640569] ---[ end trace 6a3b1350ad39975c ]--- <4>[ 32.652875] ------------[ cut here ]------------ <4>[ 32.653206] WARNING: CPU: 2 PID: 3064 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.653823] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.656949] CPU: 2 PID: 3064 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.657487] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.658075] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 32.658743] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1759a8 <4>[ 32.661128] 0000000000000000 ffff88007c1759a8 0000000004000000 ffff88007bfc3dd0 <4>[ 32.661794] Call Trace: <4>[ 32.662037] [] dump_stack+0x4d/0x66 <4>[ 32.662370] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.662735] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.663097] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.663478] [] truncate_setsize+0x27/0x40 <4>[ 32.663829] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.664191] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.664557] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.664922] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.665292] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.665678] [] do_fallocate+0x123/0x1b0 <4>[ 32.666026] [] SyS_fallocate+0x43/0x70 <4>[ 32.666369] [] system_call_fastpath+0x16/0x1b <4>[ 32.666733] ---[ end trace 6a3b1350ad39975d ]--- <4>[ 32.669849] ------------[ cut here ]------------ <4>[ 32.670170] WARNING: CPU: 2 PID: 3066 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.670788] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.673904] CPU: 2 PID: 3066 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.674450] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.675041] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.675709] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c175da8 <4>[ 32.676381] 0000000000000000 ffff88007c175da8 0000000004000000 ffff88007a56fdd0 <4>[ 32.677057] Call Trace: <4>[ 32.677286] [] dump_stack+0x4d/0x66 <4>[ 32.677617] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.677981] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.678344] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.678726] [] truncate_setsize+0x27/0x40 <4>[ 32.679081] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.679440] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.679804] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.680182] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.680540] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.680924] [] do_fallocate+0x123/0x1b0 <4>[ 32.681274] [] SyS_fallocate+0x43/0x70 <4>[ 32.681616] [] system_call_fastpath+0x16/0x1b <4>[ 32.681980] ---[ end trace 6a3b1350ad39975e ]--- <4>[ 32.688230] ------------[ cut here ]------------ <4>[ 32.688558] WARNING: CPU: 3 PID: 3068 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.689222] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.692523] CPU: 3 PID: 3068 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.693086] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.693703] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 32.694420] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14f5a8 <4>[ 32.695135] 0000000000000000 ffff88007c14f5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 32.695845] Call Trace: <4>[ 32.696087] [] dump_stack+0x4d/0x66 <4>[ 32.696440] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.696824] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.697199] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.697604] [] truncate_setsize+0x27/0x40 <4>[ 32.697977] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.698353] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.698733] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.699124] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.699506] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.699908] [] do_fallocate+0x123/0x1b0 <4>[ 32.700274] [] SyS_fallocate+0x43/0x70 <4>[ 32.700634] [] system_call_fastpath+0x16/0x1b <4>[ 32.701015] ---[ end trace 6a3b1350ad39975f ]--- <4>[ 32.704278] ------------[ cut here ]------------ <4>[ 32.704594] WARNING: CPU: 2 PID: 3072 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.705224] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.708341] CPU: 2 PID: 3072 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.708877] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.709472] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.710158] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1761a8 <4>[ 32.710824] 0000000000000000 ffff88007c1761a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.711506] Call Trace: <4>[ 32.711735] [] dump_stack+0x4d/0x66 <4>[ 32.712076] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.712446] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.712803] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.713202] [] truncate_setsize+0x27/0x40 <4>[ 32.713559] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.713918] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.714291] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.714662] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.715029] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.715419] [] do_fallocate+0x123/0x1b0 <4>[ 32.715763] [] SyS_fallocate+0x43/0x70 <4>[ 32.716123] [] system_call_fastpath+0x16/0x1b <4>[ 32.716493] ---[ end trace 6a3b1350ad399760 ]--- <4>[ 32.726675] ------------[ cut here ]------------ <4>[ 32.727017] WARNING: CPU: 3 PID: 3074 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.727662] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.730965] CPU: 3 PID: 3074 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.731532] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.732147] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.732859] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14f9a8 <4>[ 32.733576] 0000000000000000 ffff88007c14f9a8 0000000004000000 ffff88007a61fdd0 <4>[ 32.734284] Call Trace: <4>[ 32.734520] [] dump_stack+0x4d/0x66 <4>[ 32.734875] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.735262] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.735635] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.736039] [] truncate_setsize+0x27/0x40 <4>[ 32.736409] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.736783] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.737166] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.737550] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.737922] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.738328] [] do_fallocate+0x123/0x1b0 <4>[ 32.738691] [] SyS_fallocate+0x43/0x70 <4>[ 32.739054] [] system_call_fastpath+0x16/0x1b <4>[ 32.739433] ---[ end trace 6a3b1350ad399761 ]--- <4>[ 32.746538] ------------[ cut here ]------------ <4>[ 32.746854] WARNING: CPU: 2 PID: 3076 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.747486] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.750598] CPU: 2 PID: 3076 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.751156] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.751749] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.752431] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1765a8 <4>[ 32.753107] 0000000000000000 ffff88007c1765a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.753779] Call Trace: <4>[ 32.754015] [] dump_stack+0x4d/0x66 <4>[ 32.754353] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.754717] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.755084] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.755469] [] truncate_setsize+0x27/0x40 <4>[ 32.755820] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.756187] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.758266] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.758631] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.758989] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.759384] [] do_fallocate+0x123/0x1b0 <4>[ 32.759734] [] SyS_fallocate+0x43/0x70 <4>[ 32.760094] [] system_call_fastpath+0x16/0x1b <4>[ 32.760462] ---[ end trace 6a3b1350ad399762 ]--- <4>[ 32.764014] ------------[ cut here ]------------ <4>[ 32.764341] WARNING: CPU: 3 PID: 3078 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.764991] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.768298] CPU: 3 PID: 3078 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.768863] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.769482] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.770194] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c14fda8 <4>[ 32.770899] 0000000000000000 ffff88007c14fda8 0000000004000000 ffff88007a61fdd0 <4>[ 32.771607] Call Trace: <4>[ 32.771845] [] dump_stack+0x4d/0x66 <4>[ 32.772200] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.772584] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.772956] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.773355] [] truncate_setsize+0x27/0x40 <4>[ 32.773725] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.774105] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.774484] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.774871] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.775255] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.775658] [] do_fallocate+0x123/0x1b0 <4>[ 32.776024] [] SyS_fallocate+0x43/0x70 <4>[ 32.776387] [] system_call_fastpath+0x16/0x1b <4>[ 32.776768] ---[ end trace 6a3b1350ad399763 ]--- <4>[ 32.786882] ------------[ cut here ]------------ <4>[ 32.787223] WARNING: CPU: 3 PID: 3080 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.787867] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.791172] CPU: 3 PID: 3080 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.791735] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.792353] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.793069] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1401a8 <4>[ 32.793777] 0000000000000000 ffff88007c1401a8 0000000004000000 ffff88007a50fdd0 <4>[ 32.794495] Call Trace: <4>[ 32.794732] [] dump_stack+0x4d/0x66 <4>[ 32.795089] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.795471] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.795842] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.796246] [] truncate_setsize+0x27/0x40 <4>[ 32.796616] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.796990] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.797373] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.797762] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.798147] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.798554] [] do_fallocate+0x123/0x1b0 <4>[ 32.798919] [] SyS_fallocate+0x43/0x70 <4>[ 32.799284] [] system_call_fastpath+0x16/0x1b <4>[ 32.799661] ---[ end trace 6a3b1350ad399764 ]--- <4>[ 32.811209] ------------[ cut here ]------------ <4>[ 32.811538] WARNING: CPU: 3 PID: 3082 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.812195] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.815509] CPU: 3 PID: 3082 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.816077] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.816689] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 32.817403] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1405a8 <4>[ 32.818115] 0000000000000000 ffff88007c1405a8 0000000004000000 ffff88007bf8bdd0 <4>[ 32.818821] Call Trace: <4>[ 32.819062] [] dump_stack+0x4d/0x66 <4>[ 32.819413] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.819798] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.820173] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.820578] [] truncate_setsize+0x27/0x40 <4>[ 32.820950] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.821328] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.821707] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.822098] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.822480] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.822882] [] do_fallocate+0x123/0x1b0 <4>[ 32.823249] [] SyS_fallocate+0x43/0x70 <4>[ 32.823608] [] system_call_fastpath+0x16/0x1b <4>[ 32.823985] ---[ end trace 6a3b1350ad399765 ]--- <4>[ 32.841353] ------------[ cut here ]------------ <4>[ 32.841670] WARNING: CPU: 2 PID: 3084 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.842298] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.845402] CPU: 2 PID: 3084 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.845939] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.846531] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.847203] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1769a8 <4>[ 32.847870] 0000000000000000 ffff88007c1769a8 0000000004000000 ffff88007a50fdd0 <4>[ 32.848541] Call Trace: <4>[ 32.848770] [] dump_stack+0x4d/0x66 <4>[ 32.849107] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.849473] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.849830] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.850216] [] truncate_setsize+0x27/0x40 <4>[ 32.850568] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.850926] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.851295] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.851661] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.852023] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.852408] [] do_fallocate+0x123/0x1b0 <4>[ 32.852753] [] SyS_fallocate+0x43/0x70 <4>[ 32.853097] [] system_call_fastpath+0x16/0x1b <4>[ 32.853462] ---[ end trace 6a3b1350ad399766 ]--- <4>[ 32.861086] ------------[ cut here ]------------ <4>[ 32.861415] WARNING: CPU: 3 PID: 3086 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.862073] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.865378] CPU: 3 PID: 3086 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.865944] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.866571] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.867282] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1409a8 <4>[ 32.867987] 0000000000000000 ffff88007c1409a8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.868702] Call Trace: <4>[ 32.868939] [] dump_stack+0x4d/0x66 <4>[ 32.869293] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.869676] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.870052] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.870457] [] truncate_setsize+0x27/0x40 <4>[ 32.870830] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.871209] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.871588] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.871975] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.872359] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.872766] [] do_fallocate+0x123/0x1b0 <4>[ 32.873136] [] SyS_fallocate+0x43/0x70 <4>[ 32.873497] [] system_call_fastpath+0x16/0x1b <4>[ 32.873874] ---[ end trace 6a3b1350ad399767 ]--- <4>[ 32.886945] ------------[ cut here ]------------ <4>[ 32.887268] WARNING: CPU: 2 PID: 3088 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.889600] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.892721] CPU: 2 PID: 3088 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.893261] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.893857] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.894539] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c176da8 <4>[ 32.895221] 0000000000000000 ffff88007c176da8 0000000004000000 ffff88007a61fdd0 <4>[ 32.895887] Call Trace: <4>[ 32.896125] [] dump_stack+0x4d/0x66 <4>[ 32.896462] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.896826] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.897191] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.897578] [] truncate_setsize+0x27/0x40 <4>[ 32.897929] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.898296] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.898667] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.899040] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.899403] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.899787] [] do_fallocate+0x123/0x1b0 <4>[ 32.900139] [] SyS_fallocate+0x43/0x70 <4>[ 32.900485] [] system_call_fastpath+0x16/0x1b <4>[ 32.900849] ---[ end trace 6a3b1350ad399768 ]--- <4>[ 32.909734] ------------[ cut here ]------------ <4>[ 32.910078] WARNING: CPU: 3 PID: 3090 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.910721] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.914037] CPU: 3 PID: 3090 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.914599] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.915228] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 32.915936] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c140da8 <4>[ 32.916642] 0000000000000000 ffff88007c140da8 0000000004000000 ffff88007bfd7dd0 <4>[ 32.917354] Call Trace: <4>[ 32.917594] [] dump_stack+0x4d/0x66 <4>[ 32.917948] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.918337] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.918709] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.919113] [] truncate_setsize+0x27/0x40 <4>[ 32.919484] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.919858] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.920243] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.920631] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.921015] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.921423] [] do_fallocate+0x123/0x1b0 <4>[ 32.921789] [] SyS_fallocate+0x43/0x70 <4>[ 32.922152] [] system_call_fastpath+0x16/0x1b <4>[ 32.922530] ---[ end trace 6a3b1350ad399769 ]--- <4>[ 32.939322] ------------[ cut here ]------------ <4>[ 32.939638] WARNING: CPU: 2 PID: 3092 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.940268] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.943391] CPU: 2 PID: 3092 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.943928] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.944524] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.945200] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1771a8 <4>[ 32.945868] 0000000000000000 ffff88007c1771a8 0000000004000000 ffff88007a50fdd0 <4>[ 32.946547] Call Trace: <4>[ 32.946776] [] dump_stack+0x4d/0x66 <4>[ 32.947118] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.947490] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.947848] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.948237] [] truncate_setsize+0x27/0x40 <4>[ 32.948594] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.948952] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.949324] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.949695] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.950061] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.950453] [] do_fallocate+0x123/0x1b0 <4>[ 32.950798] [] SyS_fallocate+0x43/0x70 <4>[ 32.951145] [] system_call_fastpath+0x16/0x1b <4>[ 32.951515] ---[ end trace 6a3b1350ad39976a ]--- <4>[ 32.958944] ------------[ cut here ]------------ <4>[ 32.959264] WARNING: CPU: 2 PID: 3094 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.959883] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.963004] CPU: 2 PID: 3094 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.963541] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.964135] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.964803] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1775a8 <4>[ 32.965475] 0000000000000000 ffff88007c1775a8 0000000004000000 ffff88007a56fdd0 <4>[ 32.966147] Call Trace: <4>[ 32.966375] [] dump_stack+0x4d/0x66 <4>[ 32.966707] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.967078] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.967435] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.967816] [] truncate_setsize+0x27/0x40 <4>[ 32.968173] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.968532] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.968896] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.969266] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.969625] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.970014] [] do_fallocate+0x123/0x1b0 <4>[ 32.970359] [] SyS_fallocate+0x43/0x70 <4>[ 32.970699] [] system_call_fastpath+0x16/0x1b <4>[ 32.971067] ---[ end trace 6a3b1350ad39976b ]--- <4>[ 32.988017] ------------[ cut here ]------------ <4>[ 32.988344] WARNING: CPU: 3 PID: 3096 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 32.988992] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 32.992294] CPU: 3 PID: 3096 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 32.992857] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 32.993474] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 32.994183] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1411a8 <4>[ 32.994888] 0000000000000000 ffff88007c1411a8 0000000004000000 ffff88007a50fdd0 <4>[ 32.995596] Call Trace: <4>[ 32.995834] [] dump_stack+0x4d/0x66 <4>[ 32.996194] [] warn_slowpath_common+0x7d/0xa0 <4>[ 32.996574] [] warn_slowpath_null+0x1a/0x20 <4>[ 32.996957] [] pagecache_isize_extended+0xdd/0x120 <4>[ 32.997368] [] truncate_setsize+0x27/0x40 <4>[ 32.997738] [] xfs_setattr_size+0x157/0x3a0 <4>[ 32.998117] [] ? xfs_trans_commit+0x157/0x250 <4>[ 32.998496] [] xfs_file_fallocate+0x2df/0x300 <4>[ 32.998883] [] ? __sb_start_write+0x49/0xf0 <4>[ 32.999267] [] ? selinux_file_permission+0xc4/0x120 <4>[ 32.999673] [] do_fallocate+0x123/0x1b0 <4>[ 33.000044] [] SyS_fallocate+0x43/0x70 <4>[ 33.000404] [] system_call_fastpath+0x16/0x1b <4>[ 33.000782] ---[ end trace 6a3b1350ad39976c ]--- <4>[ 33.009440] ------------[ cut here ]------------ <4>[ 33.009755] WARNING: CPU: 2 PID: 3098 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.010381] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.013488] CPU: 2 PID: 3098 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.014031] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.016343] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.017016] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1779a8 <4>[ 33.017683] 0000000000000000 ffff88007c1779a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.018354] Call Trace: <4>[ 33.018582] [] dump_stack+0x4d/0x66 <4>[ 33.018913] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.019286] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.019644] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.020029] [] truncate_setsize+0x27/0x40 <4>[ 33.020381] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.020739] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.021108] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.021474] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.021831] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.022221] [] do_fallocate+0x123/0x1b0 <4>[ 33.022566] [] SyS_fallocate+0x43/0x70 <4>[ 33.022907] [] system_call_fastpath+0x16/0x1b <4>[ 33.023275] ---[ end trace 6a3b1350ad39976d ]--- <4>[ 33.037745] ------------[ cut here ]------------ <4>[ 33.038065] WARNING: CPU: 2 PID: 3100 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.038683] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.041792] CPU: 2 PID: 3100 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.042333] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.042921] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.043592] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c177da8 <4>[ 33.044264] 0000000000000000 ffff88007c177da8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.044931] Call Trace: <4>[ 33.045165] [] dump_stack+0x4d/0x66 <4>[ 33.045496] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.045860] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.046223] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.046605] [] truncate_setsize+0x27/0x40 <4>[ 33.046956] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.047319] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.047684] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.048052] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.048412] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.048796] [] do_fallocate+0x123/0x1b0 <4>[ 33.049146] [] SyS_fallocate+0x43/0x70 <4>[ 33.049487] [] system_call_fastpath+0x16/0x1b <4>[ 33.049851] ---[ end trace 6a3b1350ad39976e ]--- <4>[ 33.058059] ------------[ cut here ]------------ <4>[ 33.058374] WARNING: CPU: 2 PID: 3102 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.058992] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.062102] CPU: 2 PID: 3102 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.062640] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.063233] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.063899] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1601a8 <4>[ 33.064570] 0000000000000000 ffff88007c1601a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.065251] Call Trace: <4>[ 33.065479] [] dump_stack+0x4d/0x66 <4>[ 33.065810] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.066181] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.066540] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.066920] [] truncate_setsize+0x27/0x40 <4>[ 33.067276] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.067634] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.067999] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.068368] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.068725] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.069124] [] do_fallocate+0x123/0x1b0 <4>[ 33.069468] [] SyS_fallocate+0x43/0x70 <4>[ 33.069810] [] system_call_fastpath+0x16/0x1b <4>[ 33.070177] ---[ end trace 6a3b1350ad39976f ]--- <4>[ 33.085836] ------------[ cut here ]------------ <4>[ 33.086191] WARNING: CPU: 3 PID: 3104 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.086836] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.090141] CPU: 3 PID: 3104 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.090704] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.091322] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.092037] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1415a8 <4>[ 33.092742] 0000000000000000 ffff88007c1415a8 0000000004000000 ffff88007a50fdd0 <4>[ 33.093451] Call Trace: <4>[ 33.093689] [] dump_stack+0x4d/0x66 <4>[ 33.094042] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.094426] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.094798] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.095202] [] truncate_setsize+0x27/0x40 <4>[ 33.095572] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.095946] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.096328] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.096717] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.097101] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.097508] [] do_fallocate+0x123/0x1b0 <4>[ 33.097874] [] SyS_fallocate+0x43/0x70 <4>[ 33.098236] [] system_call_fastpath+0x16/0x1b <4>[ 33.098614] ---[ end trace 6a3b1350ad399770 ]--- <4>[ 33.109163] ------------[ cut here ]------------ <4>[ 33.109479] WARNING: CPU: 2 PID: 3106 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.110107] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.113213] CPU: 2 PID: 3106 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.113750] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.114346] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.115024] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1605a8 <4>[ 33.115691] 0000000000000000 ffff88007c1605a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.116371] Call Trace: <4>[ 33.116599] [] dump_stack+0x4d/0x66 <4>[ 33.116930] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.117304] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.117667] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.118055] [] truncate_setsize+0x27/0x40 <4>[ 33.118413] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.118771] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.119145] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.119516] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.119874] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.120278] [] do_fallocate+0x123/0x1b0 <4>[ 33.120628] [] SyS_fallocate+0x43/0x70 <4>[ 33.120969] [] system_call_fastpath+0x16/0x1b <4>[ 33.121340] ---[ end trace 6a3b1350ad399771 ]--- <4>[ 33.131318] ------------[ cut here ]------------ <4>[ 33.131645] WARNING: CPU: 3 PID: 3108 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.132302] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.135600] CPU: 3 PID: 3108 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.136168] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.136784] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.137498] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1419a8 <4>[ 33.138207] 0000000000000000 ffff88007c1419a8 0000000004000000 ffff88007a50fdd0 <4>[ 33.138912] Call Trace: <4>[ 33.139154] [] dump_stack+0x4d/0x66 <4>[ 33.139505] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.139887] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.142057] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.142451] [] truncate_setsize+0x27/0x40 <4>[ 33.142825] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.143204] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.143583] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.143971] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.144356] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.144763] [] do_fallocate+0x123/0x1b0 <4>[ 33.145134] [] SyS_fallocate+0x43/0x70 <4>[ 33.145492] [] system_call_fastpath+0x16/0x1b <4>[ 33.145870] ---[ end trace 6a3b1350ad399772 ]--- <4>[ 33.157077] ------------[ cut here ]------------ <4>[ 33.157408] WARNING: CPU: 3 PID: 3110 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.158072] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.161385] CPU: 3 PID: 3110 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.161952] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.162580] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.163290] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c141da8 <4>[ 33.163994] 0000000000000000 ffff88007c141da8 0000000004000000 ffff88007a56fdd0 <4>[ 33.164701] Call Trace: <4>[ 33.164939] [] dump_stack+0x4d/0x66 <4>[ 33.165293] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.165677] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.166053] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.166457] [] truncate_setsize+0x27/0x40 <4>[ 33.166830] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.167209] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.167588] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.167976] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.168360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.168766] [] do_fallocate+0x123/0x1b0 <4>[ 33.169136] [] SyS_fallocate+0x43/0x70 <4>[ 33.169495] [] system_call_fastpath+0x16/0x1b <4>[ 33.169872] ---[ end trace 6a3b1350ad399773 ]--- <4>[ 33.179961] ------------[ cut here ]------------ <4>[ 33.180285] WARNING: CPU: 2 PID: 3112 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.180904] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.184035] CPU: 2 PID: 3112 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.184572] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.185167] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.185840] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1609a8 <4>[ 33.186522] 0000000000000000 ffff88007c1609a8 0000000004000000 ffff88007a50fdd0 <4>[ 33.187202] Call Trace: <4>[ 33.187430] [] dump_stack+0x4d/0x66 <4>[ 33.187761] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.188135] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.188498] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.188878] [] truncate_setsize+0x27/0x40 <4>[ 33.189238] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.189602] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.189966] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.190350] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.190717] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.191109] [] do_fallocate+0x123/0x1b0 <4>[ 33.191459] [] SyS_fallocate+0x43/0x70 <4>[ 33.191801] [] system_call_fastpath+0x16/0x1b <4>[ 33.192173] ---[ end trace 6a3b1350ad399774 ]--- <4>[ 33.200804] ------------[ cut here ]------------ <4>[ 33.201145] WARNING: CPU: 3 PID: 3114 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.201788] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.205095] CPU: 3 PID: 3114 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.205659] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.206278] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.206989] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1421a8 <4>[ 33.207697] 0000000000000000 ffff88007c1421a8 0000000004000000 ffff88007a56fdd0 <4>[ 33.208412] Call Trace: <4>[ 33.208650] [] dump_stack+0x4d/0x66 <4>[ 33.208999] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.209388] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.209759] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.210164] [] truncate_setsize+0x27/0x40 <4>[ 33.210539] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.210911] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.211300] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.211682] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.212067] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.212474] [] do_fallocate+0x123/0x1b0 <4>[ 33.212840] [] SyS_fallocate+0x43/0x70 <4>[ 33.213203] [] system_call_fastpath+0x16/0x1b <4>[ 33.213581] ---[ end trace 6a3b1350ad399775 ]--- <4>[ 33.221520] ------------[ cut here ]------------ <4>[ 33.221850] WARNING: CPU: 3 PID: 3116 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.222508] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.225806] CPU: 3 PID: 3116 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.226374] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.226989] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.227703] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1425a8 <4>[ 33.228418] 0000000000000000 ffff88007c1425a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.229126] Call Trace: <4>[ 33.229365] [] dump_stack+0x4d/0x66 <4>[ 33.229714] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.230101] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.230473] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.230877] [] truncate_setsize+0x27/0x40 <4>[ 33.231254] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.231629] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.232013] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.232400] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.232780] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.233193] [] do_fallocate+0x123/0x1b0 <4>[ 33.233561] [] SyS_fallocate+0x43/0x70 <4>[ 33.233921] [] system_call_fastpath+0x16/0x1b <4>[ 33.234301] ---[ end trace 6a3b1350ad399776 ]--- <4>[ 33.241773] ------------[ cut here ]------------ <4>[ 33.242115] WARNING: CPU: 3 PID: 3118 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.242759] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.246068] CPU: 3 PID: 3118 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.246628] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.247244] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.247955] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1429a8 <4>[ 33.248663] 0000000000000000 ffff88007c1429a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.249378] Call Trace: <4>[ 33.249615] [] dump_stack+0x4d/0x66 <4>[ 33.249965] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.250356] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.250727] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.251131] [] truncate_setsize+0x27/0x40 <4>[ 33.251509] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.251881] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.252270] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.252650] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.253030] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.253427] [] do_fallocate+0x123/0x1b0 <4>[ 33.253795] [] SyS_fallocate+0x43/0x70 <4>[ 33.254158] [] system_call_fastpath+0x16/0x1b <4>[ 33.256311] ---[ end trace 6a3b1350ad399777 ]--- <4>[ 33.267965] ------------[ cut here ]------------ <4>[ 33.268302] WARNING: CPU: 3 PID: 3120 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.268945] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.272259] CPU: 3 PID: 3120 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.272825] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.273453] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.274163] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c142da8 <4>[ 33.274868] 0000000000000000 ffff88007c142da8 0000000004000000 ffff88007a56fdd0 <4>[ 33.275583] Call Trace: <4>[ 33.275821] [] dump_stack+0x4d/0x66 <4>[ 33.276176] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.276563] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.276942] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.277351] [] truncate_setsize+0x27/0x40 <4>[ 33.277724] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.278101] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.278480] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.278868] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.279253] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.279660] [] do_fallocate+0x123/0x1b0 <4>[ 33.280031] [] SyS_fallocate+0x43/0x70 <4>[ 33.280389] [] system_call_fastpath+0x16/0x1b <4>[ 33.280767] ---[ end trace 6a3b1350ad399778 ]--- <4>[ 33.299697] ------------[ cut here ]------------ <4>[ 33.300034] WARNING: CPU: 3 PID: 3122 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.300686] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.303972] CPU: 3 PID: 3122 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.304540] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.305156] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.305866] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1431a8 <4>[ 33.306579] 0000000000000000 ffff88007c1431a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.307285] Call Trace: <4>[ 33.307523] [] dump_stack+0x4d/0x66 <4>[ 33.307872] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.308260] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.308632] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.309036] [] truncate_setsize+0x27/0x40 <4>[ 33.309415] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.309786] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.310170] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.310558] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.310937] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.311343] [] do_fallocate+0x123/0x1b0 <4>[ 33.311709] [] SyS_fallocate+0x43/0x70 <4>[ 33.312067] [] system_call_fastpath+0x16/0x1b <4>[ 33.312448] ---[ end trace 6a3b1350ad399779 ]--- <4>[ 33.323169] ------------[ cut here ]------------ <4>[ 33.323487] WARNING: CPU: 2 PID: 3124 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.324116] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.327235] CPU: 2 PID: 3124 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.327771] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.328367] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.329044] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c160da8 <4>[ 33.329710] 0000000000000000 ffff88007c160da8 0000000004000000 ffff88007a61fdd0 <4>[ 33.330390] Call Trace: <4>[ 33.330618] [] dump_stack+0x4d/0x66 <4>[ 33.330950] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.331325] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.331688] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.332076] [] truncate_setsize+0x27/0x40 <4>[ 33.332433] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.332791] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.333176] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.333547] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.333905] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.334298] [] do_fallocate+0x123/0x1b0 <4>[ 33.334649] [] SyS_fallocate+0x43/0x70 <4>[ 33.334990] [] system_call_fastpath+0x16/0x1b <4>[ 33.335363] ---[ end trace 6a3b1350ad39977a ]--- <4>[ 33.348340] ------------[ cut here ]------------ <4>[ 33.348655] WARNING: CPU: 2 PID: 3126 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.349282] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.352388] CPU: 2 PID: 3126 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.352925] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.353517] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.354189] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1611a8 <4>[ 33.354855] 0000000000000000 ffff88007c1611a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.355527] Call Trace: <4>[ 33.355755] [] dump_stack+0x4d/0x66 <4>[ 33.356091] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.356456] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.356814] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.357199] [] truncate_setsize+0x27/0x40 <4>[ 33.357551] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.357908] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.358278] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.358643] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.359004] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.359394] [] do_fallocate+0x123/0x1b0 <4>[ 33.359740] [] SyS_fallocate+0x43/0x70 <4>[ 33.360086] [] system_call_fastpath+0x16/0x1b <4>[ 33.360449] ---[ end trace 6a3b1350ad39977b ]--- <4>[ 33.370259] ------------[ cut here ]------------ <4>[ 33.370598] WARNING: CPU: 3 PID: 3128 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.371254] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.374564] CPU: 3 PID: 3128 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.375128] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.375745] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.376459] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1435a8 <4>[ 33.377166] 0000000000000000 ffff88007c1435a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.377871] Call Trace: <4>[ 33.378112] [] dump_stack+0x4d/0x66 <4>[ 33.378464] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.378848] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.379224] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.379628] [] truncate_setsize+0x27/0x40 <4>[ 33.380005] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.380377] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.380756] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.381147] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.381529] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.381931] [] do_fallocate+0x123/0x1b0 <4>[ 33.382299] [] SyS_fallocate+0x43/0x70 <4>[ 33.382657] [] system_call_fastpath+0x16/0x1b <4>[ 33.383038] ---[ end trace 6a3b1350ad39977c ]--- <4>[ 33.404199] ------------[ cut here ]------------ <4>[ 33.404515] WARNING: CPU: 2 PID: 3130 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.405143] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.409953] CPU: 2 PID: 3130 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.410503] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.411093] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.411762] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1615a8 <4>[ 33.412434] 0000000000000000 ffff88007c1615a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.413105] Call Trace: <4>[ 33.413334] [] dump_stack+0x4d/0x66 <4>[ 33.413665] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.414033] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.414391] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.414772] [] truncate_setsize+0x27/0x40 <4>[ 33.415129] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.415489] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.415853] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.416223] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.416581] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.416965] [] do_fallocate+0x123/0x1b0 <4>[ 33.417315] [] SyS_fallocate+0x43/0x70 <4>[ 33.417657] [] system_call_fastpath+0x16/0x1b <4>[ 33.418024] ---[ end trace 6a3b1350ad39977d ]--- <4>[ 33.427630] ------------[ cut here ]------------ <4>[ 33.427945] WARNING: CPU: 2 PID: 3132 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.428574] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.431676] CPU: 2 PID: 3132 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.432216] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.432805] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.433477] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1619a8 <4>[ 33.434148] 0000000000000000 ffff88007c1619a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.434816] Call Trace: <4>[ 33.435048] [] dump_stack+0x4d/0x66 <4>[ 33.435380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.435745] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.436108] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.436489] [] truncate_setsize+0x27/0x40 <4>[ 33.436840] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.437204] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.437568] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.437933] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.438295] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.438680] [] do_fallocate+0x123/0x1b0 <4>[ 33.439029] [] SyS_fallocate+0x43/0x70 <4>[ 33.439370] [] system_call_fastpath+0x16/0x1b <4>[ 33.439745] ---[ end trace 6a3b1350ad39977e ]--- <4>[ 33.456807] ------------[ cut here ]------------ <4>[ 33.457129] WARNING: CPU: 2 PID: 3134 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.457748] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.460856] CPU: 2 PID: 3134 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.461397] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.461985] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.462657] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c161da8 <4>[ 33.463329] 0000000000000000 ffff88007c161da8 0000000004000000 ffff88007a56fdd0 <4>[ 33.463996] Call Trace: <4>[ 33.464229] [] dump_stack+0x4d/0x66 <4>[ 33.464561] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.464927] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.465290] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.465671] [] truncate_setsize+0x27/0x40 <4>[ 33.466026] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.466384] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.466749] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.467119] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.467477] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.467862] [] do_fallocate+0x123/0x1b0 <4>[ 33.468211] [] SyS_fallocate+0x43/0x70 <4>[ 33.468553] [] system_call_fastpath+0x16/0x1b <4>[ 33.468916] ---[ end trace 6a3b1350ad39977f ]--- <4>[ 33.480331] ------------[ cut here ]------------ <4>[ 33.480646] WARNING: CPU: 2 PID: 3138 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.481273] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.484379] CPU: 2 PID: 3138 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.484916] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.485511] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.486181] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1621a8 <4>[ 33.486848] 0000000000000000 ffff88007c1621a8 0000000004000000 ffff88007a50fdd0 <4>[ 33.487519] Call Trace: <4>[ 33.487747] [] dump_stack+0x4d/0x66 <4>[ 33.488085] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.488450] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.488808] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.489194] [] truncate_setsize+0x27/0x40 <4>[ 33.489546] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.489904] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.490273] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.490639] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.490996] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.491387] [] do_fallocate+0x123/0x1b0 <4>[ 33.491732] [] SyS_fallocate+0x43/0x70 <4>[ 33.492088] [] system_call_fastpath+0x16/0x1b <4>[ 33.492452] ---[ end trace 6a3b1350ad399780 ]--- <4>[ 33.504443] ------------[ cut here ]------------ <4>[ 33.504776] WARNING: CPU: 3 PID: 3142 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.505433] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.508731] CPU: 3 PID: 3142 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.509304] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.509920] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.510626] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1439a8 <4>[ 33.511332] 0000000000000000 ffff88007c1439a8 0000000004000000 ffff88007a56fdd0 <4>[ 33.512039] Call Trace: <4>[ 33.512277] [] dump_stack+0x4d/0x66 <4>[ 33.512626] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.513015] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.513387] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.513786] [] truncate_setsize+0x27/0x40 <4>[ 33.514161] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.514534] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.514912] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.515304] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.515686] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.516092] [] do_fallocate+0x123/0x1b0 <4>[ 33.516455] [] SyS_fallocate+0x43/0x70 <4>[ 33.516815] [] system_call_fastpath+0x16/0x1b <4>[ 33.517195] ---[ end trace 6a3b1350ad399781 ]--- <4>[ 33.528525] ------------[ cut here ]------------ <4>[ 33.528841] WARNING: CPU: 2 PID: 3146 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.529494] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.532831] CPU: 2 PID: 3146 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.533425] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.534069] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.534816] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1625a8 <4>[ 33.535578] 0000000000000000 ffff88007c1625a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.538251] Call Trace: <4>[ 33.538502] [] dump_stack+0x4d/0x66 <4>[ 33.538860] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.539281] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.539679] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.540101] [] truncate_setsize+0x27/0x40 <4>[ 33.540497] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.540894] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.541302] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.541707] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.542108] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.542531] [] do_fallocate+0x123/0x1b0 <4>[ 33.542910] [] SyS_fallocate+0x43/0x70 <4>[ 33.543289] [] system_call_fastpath+0x16/0x1b <4>[ 33.543697] ---[ end trace 6a3b1350ad399782 ]--- <4>[ 33.554121] ------------[ cut here ]------------ <4>[ 33.554462] WARNING: CPU: 2 PID: 3150 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.555151] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.558673] CPU: 2 PID: 3150 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.559268] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.559912] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.560686] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1629a8 <4>[ 33.561462] 0000000000000000 ffff88007c1629a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.562232] Call Trace: <4>[ 33.562482] [] dump_stack+0x4d/0x66 <4>[ 33.562839] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.563263] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.563661] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.564086] [] truncate_setsize+0x27/0x40 <4>[ 33.564485] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.564882] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.565291] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.565697] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.566097] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.566521] [] do_fallocate+0x123/0x1b0 <4>[ 33.566901] [] SyS_fallocate+0x43/0x70 <4>[ 33.567282] [] system_call_fastpath+0x16/0x1b <4>[ 33.567692] ---[ end trace 6a3b1350ad399783 ]--- <4>[ 33.578679] ------------[ cut here ]------------ <4>[ 33.578998] WARNING: CPU: 3 PID: 3152 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.579626] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.582741] CPU: 3 PID: 3152 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.583285] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.583872] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.584544] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c143da8 <4>[ 33.585226] 0000000000000000 ffff88007c143da8 0000000004000000 ffff88007a50fdd0 <4>[ 33.585892] Call Trace: <4>[ 33.586126] [] dump_stack+0x4d/0x66 <4>[ 33.586458] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.586823] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.587186] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.587568] [] truncate_setsize+0x27/0x40 <4>[ 33.587920] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.588283] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.588648] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.589018] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.589377] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.589761] [] do_fallocate+0x123/0x1b0 <4>[ 33.590111] [] SyS_fallocate+0x43/0x70 <4>[ 33.590453] [] system_call_fastpath+0x16/0x1b <4>[ 33.590817] ---[ end trace 6a3b1350ad399784 ]--- <4>[ 33.602298] ------------[ cut here ]------------ <4>[ 33.602612] WARNING: CPU: 3 PID: 3154 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.603239] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.606345] CPU: 3 PID: 3154 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.606881] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.607474] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.608145] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1841a8 <4>[ 33.608812] 0000000000000000 ffff88007c1841a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.609485] Call Trace: <4>[ 33.609713] [] dump_stack+0x4d/0x66 <4>[ 33.610050] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.610415] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.610773] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.611160] [] truncate_setsize+0x27/0x40 <4>[ 33.611512] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.611869] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.612248] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.612613] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.612971] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.613361] [] do_fallocate+0x123/0x1b0 <4>[ 33.613706] [] SyS_fallocate+0x43/0x70 <4>[ 33.614052] [] system_call_fastpath+0x16/0x1b <4>[ 33.614416] ---[ end trace 6a3b1350ad399785 ]--- <4>[ 33.617623] ------------[ cut here ]------------ <4>[ 33.617937] WARNING: CPU: 3 PID: 3156 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.618566] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.621668] CPU: 3 PID: 3156 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.622211] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.622798] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.623482] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1845a8 <4>[ 33.624155] 0000000000000000 ffff88007c1845a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.624822] Call Trace: <4>[ 33.625055] [] dump_stack+0x4d/0x66 <4>[ 33.625386] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.625751] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.626113] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.626494] [] truncate_setsize+0x27/0x40 <4>[ 33.626845] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.627209] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.627573] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.627938] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.628301] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.628685] [] do_fallocate+0x123/0x1b0 <4>[ 33.629035] [] SyS_fallocate+0x43/0x70 <4>[ 33.629376] [] system_call_fastpath+0x16/0x1b <4>[ 33.629740] ---[ end trace 6a3b1350ad399786 ]--- <4>[ 33.633208] ------------[ cut here ]------------ <4>[ 33.633523] WARNING: CPU: 3 PID: 3158 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.634148] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.637260] CPU: 3 PID: 3158 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.637796] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.638387] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.639059] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1849a8 <4>[ 33.639736] 0000000000000000 ffff88007c1849a8 0000000004000000 ffff88007a56fdd0 <4>[ 33.640408] Call Trace: <4>[ 33.640636] [] dump_stack+0x4d/0x66 <4>[ 33.640966] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.641336] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.641695] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.642081] [] truncate_setsize+0x27/0x40 <4>[ 33.642432] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.642789] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.643160] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.643525] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.645592] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.645977] [] do_fallocate+0x123/0x1b0 <4>[ 33.646325] [] SyS_fallocate+0x43/0x70 <4>[ 33.646668] [] system_call_fastpath+0x16/0x1b <4>[ 33.647035] ---[ end trace 6a3b1350ad399787 ]--- <4>[ 33.650980] ------------[ cut here ]------------ <4>[ 33.651304] WARNING: CPU: 3 PID: 3160 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.651923] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.655030] CPU: 3 PID: 3160 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.655567] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.656159] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.656828] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c184da8 <4>[ 33.657509] 0000000000000000 ffff88007c184da8 0000000004000000 ffff88007a50fdd0 <4>[ 33.658181] Call Trace: <4>[ 33.658408] [] dump_stack+0x4d/0x66 <4>[ 33.658739] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.659109] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.659467] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.659847] [] truncate_setsize+0x27/0x40 <4>[ 33.660203] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.660561] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.660926] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.661296] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.661654] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.662042] [] do_fallocate+0x123/0x1b0 <4>[ 33.662388] [] SyS_fallocate+0x43/0x70 <4>[ 33.662729] [] system_call_fastpath+0x16/0x1b <4>[ 33.663107] ---[ end trace 6a3b1350ad399788 ]--- <4>[ 33.667046] ------------[ cut here ]------------ <4>[ 33.667405] WARNING: CPU: 2 PID: 3162 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.668078] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.671582] CPU: 2 PID: 3162 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.672184] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.672830] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 33.673603] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c162da8 <4>[ 33.674370] 0000000000000000 ffff88007c162da8 0000000004000000 ffff88007bf43dd0 <4>[ 33.675121] Call Trace: <4>[ 33.675387] [] dump_stack+0x4d/0x66 <4>[ 33.675745] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.676168] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.676566] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.676981] [] truncate_setsize+0x27/0x40 <4>[ 33.677376] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.677777] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.678185] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.678590] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.678983] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.679411] [] do_fallocate+0x123/0x1b0 <4>[ 33.679797] [] SyS_fallocate+0x43/0x70 <4>[ 33.680177] [] system_call_fastpath+0x16/0x1b <4>[ 33.680585] ---[ end trace 6a3b1350ad399789 ]--- <4>[ 33.684354] ------------[ cut here ]------------ <4>[ 33.684703] WARNING: CPU: 2 PID: 3164 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.685342] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.688821] CPU: 2 PID: 3164 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.689425] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.690069] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.690822] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1631a8 <4>[ 33.691581] 0000000000000000 ffff88007c1631a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.692334] Call Trace: <4>[ 33.692595] [] dump_stack+0x4d/0x66 <4>[ 33.692952] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.693371] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.693764] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.694184] [] truncate_setsize+0x27/0x40 <4>[ 33.694570] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.694966] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.695370] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.695771] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.696167] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.696595] [] do_fallocate+0x123/0x1b0 <4>[ 33.696969] [] SyS_fallocate+0x43/0x70 <4>[ 33.697357] [] system_call_fastpath+0x16/0x1b <4>[ 33.697760] ---[ end trace 6a3b1350ad39978a ]--- <4>[ 33.701796] ------------[ cut here ]------------ <4>[ 33.702126] WARNING: CPU: 3 PID: 3168 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.702745] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.705892] CPU: 3 PID: 3168 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.706439] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.707036] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 33.707708] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1851a8 <4>[ 33.708389] 0000000000000000 ffff88007c1851a8 0000000004000000 ffff88007d087dd0 <4>[ 33.709066] Call Trace: <4>[ 33.709299] [] dump_stack+0x4d/0x66 <4>[ 33.709630] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.709995] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.710364] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.710746] [] truncate_setsize+0x27/0x40 <4>[ 33.711107] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.711467] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.711831] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.712208] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.712567] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.712952] [] do_fallocate+0x123/0x1b0 <4>[ 33.713305] [] SyS_fallocate+0x43/0x70 <4>[ 33.713650] [] system_call_fastpath+0x16/0x1b <4>[ 33.714023] ---[ end trace 6a3b1350ad39978b ]--- <4>[ 33.717754] ------------[ cut here ]------------ <4>[ 33.718078] WARNING: CPU: 3 PID: 3170 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.718697] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.721822] CPU: 3 PID: 3170 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.722366] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.722954] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.723626] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1855a8 <4>[ 33.724297] 0000000000000000 ffff88007c1855a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.724965] Call Trace: <4>[ 33.725197] [] dump_stack+0x4d/0x66 <4>[ 33.725529] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.725894] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.726256] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.726638] [] truncate_setsize+0x27/0x40 <4>[ 33.726989] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.727352] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.727717] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.728086] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.728444] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.728828] [] do_fallocate+0x123/0x1b0 <4>[ 33.729179] [] SyS_fallocate+0x43/0x70 <4>[ 33.729520] [] system_call_fastpath+0x16/0x1b <4>[ 33.729884] ---[ end trace 6a3b1350ad39978c ]--- <4>[ 33.733638] ------------[ cut here ]------------ <4>[ 33.733997] WARNING: CPU: 2 PID: 3172 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.734691] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.740103] CPU: 2 PID: 3172 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.740705] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.741347] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.742103] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1635a8 <4>[ 33.742855] 0000000000000000 ffff88007c1635a8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.743623] Call Trace: <4>[ 33.743874] [] dump_stack+0x4d/0x66 <4>[ 33.744252] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.744662] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.745064] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.745484] [] truncate_setsize+0x27/0x40 <4>[ 33.745870] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.746276] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.746681] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.747090] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.747489] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.747908] [] do_fallocate+0x123/0x1b0 <4>[ 33.748293] [] SyS_fallocate+0x43/0x70 <4>[ 33.748679] [] system_call_fastpath+0x16/0x1b <4>[ 33.749097] ---[ end trace 6a3b1350ad39978d ]--- <4>[ 33.752774] ------------[ cut here ]------------ <4>[ 33.753134] WARNING: CPU: 2 PID: 3174 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.753797] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.757304] CPU: 2 PID: 3174 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.757897] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.758541] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 33.759300] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1639a8 <4>[ 33.760066] 0000000000000000 ffff88007c1639a8 0000000004000000 ffff88007bf43dd0 <4>[ 33.760818] Call Trace: <4>[ 33.761072] [] dump_stack+0x4d/0x66 <4>[ 33.761430] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.761844] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.762241] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.762667] [] truncate_setsize+0x27/0x40 <4>[ 33.763057] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.763451] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.763850] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.764256] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.764649] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.765072] [] do_fallocate+0x123/0x1b0 <4>[ 33.765455] [] SyS_fallocate+0x43/0x70 <4>[ 33.765837] [] system_call_fastpath+0x16/0x1b <4>[ 33.766249] ---[ end trace 6a3b1350ad39978e ]--- <4>[ 33.770284] ------------[ cut here ]------------ <4>[ 33.770603] WARNING: CPU: 3 PID: 3176 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.771233] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.774357] CPU: 3 PID: 3176 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.774894] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.775489] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.776166] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1859a8 <4>[ 33.776832] 0000000000000000 ffff88007c1859a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.777513] Call Trace: <4>[ 33.777741] [] dump_stack+0x4d/0x66 <4>[ 33.778083] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.778450] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.778807] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.779196] [] truncate_setsize+0x27/0x40 <4>[ 33.779550] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.779909] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.780282] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.780648] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.781016] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.781401] [] do_fallocate+0x123/0x1b0 <4>[ 33.781746] [] SyS_fallocate+0x43/0x70 <4>[ 33.782095] [] system_call_fastpath+0x16/0x1b <4>[ 33.782459] ---[ end trace 6a3b1350ad39978f ]--- <4>[ 33.786159] ------------[ cut here ]------------ <4>[ 33.786505] WARNING: CPU: 2 PID: 3178 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.787191] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.790699] CPU: 2 PID: 3178 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.791289] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.791936] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 33.792700] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c163da8 <4>[ 33.793454] 0000000000000000 ffff88007c163da8 0000000004000000 ffff88007bfc3dd0 <4>[ 33.794209] Call Trace: <4>[ 33.794460] [] dump_stack+0x4d/0x66 <4>[ 33.794818] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.795238] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.795632] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.796053] [] truncate_setsize+0x27/0x40 <4>[ 33.796439] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.796837] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.797241] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.797642] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.798038] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.798468] [] do_fallocate+0x123/0x1b0 <4>[ 33.798843] [] SyS_fallocate+0x43/0x70 <4>[ 33.799232] [] system_call_fastpath+0x16/0x1b <4>[ 33.799635] ---[ end trace 6a3b1350ad399790 ]--- <4>[ 33.803214] ------------[ cut here ]------------ <4>[ 33.803529] WARNING: CPU: 3 PID: 3180 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.804169] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.807279] CPU: 3 PID: 3180 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.807816] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.808413] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 33.809089] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c185da8 <4>[ 33.809756] 0000000000000000 ffff88007c185da8 0000000004000000 ffff88007bf8bdd0 <4>[ 33.810438] Call Trace: <4>[ 33.810666] [] dump_stack+0x4d/0x66 <4>[ 33.810997] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.811366] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.811729] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.812119] [] truncate_setsize+0x27/0x40 <4>[ 33.812476] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.812834] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.813207] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.813573] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.813931] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.814323] [] do_fallocate+0x123/0x1b0 <4>[ 33.814671] [] SyS_fallocate+0x43/0x70 <4>[ 33.815021] [] system_call_fastpath+0x16/0x1b <4>[ 33.815386] ---[ end trace 6a3b1350ad399791 ]--- <4>[ 33.819122] ------------[ cut here ]------------ <4>[ 33.819484] WARNING: CPU: 2 PID: 3182 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.820172] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.823688] CPU: 2 PID: 3182 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.824291] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.824936] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.827617] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1701a8 <4>[ 33.828381] 0000000000000000 ffff88007c1701a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.829144] Call Trace: <4>[ 33.829410] [] dump_stack+0x4d/0x66 <4>[ 33.829767] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.830189] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.830588] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.831012] [] truncate_setsize+0x27/0x40 <4>[ 33.831404] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.831797] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.832205] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.832611] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.833014] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.833440] [] do_fallocate+0x123/0x1b0 <4>[ 33.833818] [] SyS_fallocate+0x43/0x70 <4>[ 33.834199] [] system_call_fastpath+0x16/0x1b <4>[ 33.834607] ---[ end trace 6a3b1350ad399792 ]--- <4>[ 33.838675] ------------[ cut here ]------------ <4>[ 33.838990] WARNING: CPU: 3 PID: 3184 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.839622] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.842746] CPU: 3 PID: 3184 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.843293] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.843881] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 33.844562] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1861a8 <4>[ 33.845241] 0000000000000000 ffff88007c1861a8 0000000004000000 ffff88007bfc3dd0 <4>[ 33.845908] Call Trace: <4>[ 33.846145] [] dump_stack+0x4d/0x66 <4>[ 33.846480] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.846844] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.847209] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.847591] [] truncate_setsize+0x27/0x40 <4>[ 33.847943] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.848308] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.848673] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.849047] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.849406] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.849790] [] do_fallocate+0x123/0x1b0 <4>[ 33.850143] [] SyS_fallocate+0x43/0x70 <4>[ 33.850489] [] system_call_fastpath+0x16/0x1b <4>[ 33.850852] ---[ end trace 6a3b1350ad399793 ]--- <4>[ 33.854449] ------------[ cut here ]------------ <4>[ 33.854809] WARNING: CPU: 2 PID: 3186 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.855505] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.859014] CPU: 2 PID: 3186 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.859600] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.860244] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 33.861005] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1705a8 <4>[ 33.861768] 0000000000000000 ffff88007c1705a8 0000000004000000 ffff88007d087dd0 <4>[ 33.862524] Call Trace: <4>[ 33.862775] [] dump_stack+0x4d/0x66 <4>[ 33.863143] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.863551] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.863943] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.864364] [] truncate_setsize+0x27/0x40 <4>[ 33.864750] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.865151] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.865550] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.865950] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.866348] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.866767] [] do_fallocate+0x123/0x1b0 <4>[ 33.867151] [] SyS_fallocate+0x43/0x70 <4>[ 33.867537] [] system_call_fastpath+0x16/0x1b <4>[ 33.867945] ---[ end trace 6a3b1350ad399794 ]--- <4>[ 33.871625] ------------[ cut here ]------------ <4>[ 33.871943] WARNING: CPU: 3 PID: 3188 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.872571] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.875675] CPU: 3 PID: 3188 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.876216] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.876804] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.877477] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1865a8 <4>[ 33.878149] 0000000000000000 ffff88007c1865a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.878816] Call Trace: <4>[ 33.879055] [] dump_stack+0x4d/0x66 <4>[ 33.879392] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.879757] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.880120] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.880501] [] truncate_setsize+0x27/0x40 <4>[ 33.880853] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.881216] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.881581] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.881946] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.882310] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.882695] [] do_fallocate+0x123/0x1b0 <4>[ 33.883044] [] SyS_fallocate+0x43/0x70 <4>[ 33.883386] [] system_call_fastpath+0x16/0x1b <4>[ 33.883749] ---[ end trace 6a3b1350ad399795 ]--- <4>[ 33.887275] ------------[ cut here ]------------ <4>[ 33.887619] WARNING: CPU: 2 PID: 3190 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.888319] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.891835] CPU: 2 PID: 3190 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.892439] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.893085] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.893833] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1709a8 <4>[ 33.894604] 0000000000000000 ffff88007c1709a8 0000000004000000 ffff88007a61fdd0 <4>[ 33.895381] Call Trace: <4>[ 33.895637] [] dump_stack+0x4d/0x66 <4>[ 33.895994] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.896415] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.896813] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.897237] [] truncate_setsize+0x27/0x40 <4>[ 33.897628] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.898035] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.898446] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.898846] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.899248] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.899672] [] do_fallocate+0x123/0x1b0 <4>[ 33.900056] [] SyS_fallocate+0x43/0x70 <4>[ 33.900442] [] system_call_fastpath+0x16/0x1b <4>[ 33.900850] ---[ end trace 6a3b1350ad399796 ]--- <4>[ 33.904351] ------------[ cut here ]------------ <4>[ 33.904710] WARNING: CPU: 2 PID: 3192 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.905409] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.908907] CPU: 2 PID: 3192 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.909511] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.910158] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.910899] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c170da8 <4>[ 33.911669] 0000000000000000 ffff88007c170da8 0000000004000000 ffff88007a50fdd0 <4>[ 33.912446] Call Trace: <4>[ 33.912707] [] dump_stack+0x4d/0x66 <4>[ 33.913075] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.913485] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.913877] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.914302] [] truncate_setsize+0x27/0x40 <4>[ 33.916614] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.917019] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.917429] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.917829] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.918231] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.918655] [] do_fallocate+0x123/0x1b0 <4>[ 33.919039] [] SyS_fallocate+0x43/0x70 <4>[ 33.919423] [] system_call_fastpath+0x16/0x1b <4>[ 33.919831] ---[ end trace 6a3b1350ad399797 ]--- <4>[ 33.923376] ------------[ cut here ]------------ <4>[ 33.923693] WARNING: CPU: 3 PID: 3194 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.924320] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.927421] CPU: 3 PID: 3194 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.927958] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.928551] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 33.929221] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1869a8 <4>[ 33.929888] 0000000000000000 ffff88007c1869a8 0000000004000000 ffff88007bfc3dd0 <4>[ 33.930560] Call Trace: <4>[ 33.930789] [] dump_stack+0x4d/0x66 <4>[ 33.931126] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.931490] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.931848] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.932234] [] truncate_setsize+0x27/0x40 <4>[ 33.932585] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.932943] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.933313] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.933678] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.934040] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.934426] [] do_fallocate+0x123/0x1b0 <4>[ 33.934771] [] SyS_fallocate+0x43/0x70 <4>[ 33.935117] [] system_call_fastpath+0x16/0x1b <4>[ 33.935481] ---[ end trace 6a3b1350ad399798 ]--- <4>[ 33.938958] ------------[ cut here ]------------ <4>[ 33.939313] WARNING: CPU: 2 PID: 3196 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.939990] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.943515] CPU: 2 PID: 3196 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.944114] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.944754] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 33.945520] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1711a8 <4>[ 33.946276] 0000000000000000 ffff88007c1711a8 0000000004000000 ffff88007bfd7dd0 <4>[ 33.947033] Call Trace: <4>[ 33.947284] [] dump_stack+0x4d/0x66 <4>[ 33.947641] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.948060] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.948463] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.948879] [] truncate_setsize+0x27/0x40 <4>[ 33.949270] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.949664] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.950068] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.950468] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.950860] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.951285] [] do_fallocate+0x123/0x1b0 <4>[ 33.951664] [] SyS_fallocate+0x43/0x70 <4>[ 33.952051] [] system_call_fastpath+0x16/0x1b <4>[ 33.952454] ---[ end trace 6a3b1350ad399799 ]--- <4>[ 33.955969] ------------[ cut here ]------------ <4>[ 33.956293] WARNING: CPU: 3 PID: 3198 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.956912] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.960030] CPU: 3 PID: 3198 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.960567] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.961163] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.961836] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c186da8 <4>[ 33.962516] 0000000000000000 ffff88007c186da8 0000000004000000 ffff88007a50fdd0 <4>[ 33.963196] Call Trace: <4>[ 33.963425] [] dump_stack+0x4d/0x66 <4>[ 33.963756] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.964130] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.964488] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.964869] [] truncate_setsize+0x27/0x40 <4>[ 33.965228] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.965588] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.965953] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.966333] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.966692] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.967084] [] do_fallocate+0x123/0x1b0 <4>[ 33.967433] [] SyS_fallocate+0x43/0x70 <4>[ 33.967774] [] system_call_fastpath+0x16/0x1b <4>[ 33.968147] ---[ end trace 6a3b1350ad39979a ]--- <4>[ 33.971762] ------------[ cut here ]------------ <4>[ 33.972084] WARNING: CPU: 3 PID: 3200 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.972701] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.975815] CPU: 3 PID: 3200 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.976357] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.976948] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 33.977640] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1871a8 <4>[ 33.978320] 0000000000000000 ffff88007c1871a8 0000000004000000 ffff88007a56fdd0 <4>[ 33.978986] Call Trace: <4>[ 33.979224] [] dump_stack+0x4d/0x66 <4>[ 33.979559] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.979923] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.980287] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.980669] [] truncate_setsize+0x27/0x40 <4>[ 33.981027] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.981388] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.981752] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.982125] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.982484] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.982868] [] do_fallocate+0x123/0x1b0 <4>[ 33.983222] [] SyS_fallocate+0x43/0x70 <4>[ 33.983566] [] system_call_fastpath+0x16/0x1b <4>[ 33.983930] ---[ end trace 6a3b1350ad39979b ]--- <4>[ 33.987239] ------------[ cut here ]------------ <4>[ 33.987599] WARNING: CPU: 2 PID: 3202 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 33.988283] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 33.991805] CPU: 2 PID: 3202 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 33.992407] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 33.993050] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 33.993803] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1715a8 <4>[ 33.994558] 0000000000000000 ffff88007c1715a8 0000000004000000 ffff88007bf43dd0 <4>[ 33.995310] Call Trace: <4>[ 33.995579] [] dump_stack+0x4d/0x66 <4>[ 33.995937] [] warn_slowpath_common+0x7d/0xa0 <4>[ 33.996357] [] warn_slowpath_null+0x1a/0x20 <4>[ 33.996750] [] pagecache_isize_extended+0xdd/0x120 <4>[ 33.997171] [] truncate_setsize+0x27/0x40 <4>[ 33.997557] [] xfs_setattr_size+0x157/0x3a0 <4>[ 33.997955] [] ? xfs_trans_commit+0x157/0x250 <4>[ 33.998359] [] xfs_file_fallocate+0x2df/0x300 <4>[ 33.998768] [] ? __sb_start_write+0x49/0xf0 <4>[ 33.999166] [] ? selinux_file_permission+0xc4/0x120 <4>[ 33.999586] [] do_fallocate+0x123/0x1b0 <4>[ 33.999965] [] SyS_fallocate+0x43/0x70 <4>[ 34.000348] [] system_call_fastpath+0x16/0x1b <4>[ 34.000751] ---[ end trace 6a3b1350ad39979c ]--- <4>[ 34.005058] ------------[ cut here ]------------ <4>[ 34.005063] WARNING: CPU: 1 PID: 3204 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.005075] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.005077] CPU: 1 PID: 3204 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.005077] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.005079] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 34.005081] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7055a8 <4>[ 34.005082] 0000000000000000 ffff88005b7055a8 0000000004000000 ffff88007d087dd0 <4>[ 34.005083] Call Trace: <4>[ 34.005085] [] dump_stack+0x4d/0x66 <4>[ 34.005088] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.005089] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.005091] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.005092] [] truncate_setsize+0x27/0x40 <4>[ 34.005094] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.005095] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.005097] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.005099] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.005101] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.005103] [] do_fallocate+0x123/0x1b0 <4>[ 34.005104] [] SyS_fallocate+0x43/0x70 <4>[ 34.005105] [] system_call_fastpath+0x16/0x1b <4>[ 34.005106] ---[ end trace 6a3b1350ad39979d ]--- <4>[ 34.038194] ------------[ cut here ]------------ <4>[ 34.038533] WARNING: CPU: 2 PID: 3206 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.039232] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.042726] CPU: 2 PID: 3206 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.043331] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.043971] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.044724] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1719a8 <4>[ 34.045474] 0000000000000000 ffff88007c1719a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.046239] Call Trace: <4>[ 34.046498] [] dump_stack+0x4d/0x66 <4>[ 34.046855] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.047276] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.047655] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.048104] [] truncate_setsize+0x27/0x40 <4>[ 34.048493] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.048888] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.049293] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.049694] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.050093] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.050511] [] do_fallocate+0x123/0x1b0 <4>[ 34.050886] [] SyS_fallocate+0x43/0x70 <4>[ 34.051274] [] system_call_fastpath+0x16/0x1b <4>[ 34.051677] ---[ end trace 6a3b1350ad39979e ]--- <4>[ 34.055677] ------------[ cut here ]------------ <4>[ 34.055997] WARNING: CPU: 3 PID: 3210 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.056633] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.059747] CPU: 3 PID: 3210 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.060305] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.060893] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.061575] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1875a8 <4>[ 34.062255] 0000000000000000 ffff88007c1875a8 0000000004000000 ffff88007a50fdd0 <4>[ 34.062920] Call Trace: <4>[ 34.063159] [] dump_stack+0x4d/0x66 <4>[ 34.063493] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.063857] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.064233] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.064615] [] truncate_setsize+0x27/0x40 <4>[ 34.064966] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.065332] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.065698] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.066072] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.066431] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.066815] [] do_fallocate+0x123/0x1b0 <4>[ 34.067170] [] SyS_fallocate+0x43/0x70 <4>[ 34.067515] [] system_call_fastpath+0x16/0x1b <4>[ 34.067878] ---[ end trace 6a3b1350ad39979f ]--- <4>[ 34.071441] ------------[ cut here ]------------ <4>[ 34.071784] WARNING: CPU: 2 PID: 3212 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.072482] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.075979] CPU: 2 PID: 3212 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.076582] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.077226] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.077976] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c171da8 <4>[ 34.078733] 0000000000000000 ffff88007c171da8 0000000004000000 ffff88007a61fdd0 <4>[ 34.079497] Call Trace: <4>[ 34.079748] [] dump_stack+0x4d/0x66 <4>[ 34.080111] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.080524] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.080916] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.081337] [] truncate_setsize+0x27/0x40 <4>[ 34.081730] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.082133] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.082533] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.082933] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.083332] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.083751] [] do_fallocate+0x123/0x1b0 <4>[ 34.084135] [] SyS_fallocate+0x43/0x70 <4>[ 34.084520] [] system_call_fastpath+0x16/0x1b <4>[ 34.084928] ---[ end trace 6a3b1350ad3997a0 ]--- <4>[ 34.088677] ------------[ cut here ]------------ <4>[ 34.088994] WARNING: CPU: 3 PID: 3214 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.089626] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.092737] CPU: 3 PID: 3214 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.093278] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.093870] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 34.094554] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1879a8 <4>[ 34.095235] 0000000000000000 ffff88007c1879a8 0000000004000000 ffff88007bf43dd0 <4>[ 34.095902] Call Trace: <4>[ 34.096140] [] dump_stack+0x4d/0x66 <4>[ 34.096474] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.096839] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.097206] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.097588] [] truncate_setsize+0x27/0x40 <4>[ 34.097939] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.098305] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.098670] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.099044] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.099403] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.099787] [] do_fallocate+0x123/0x1b0 <4>[ 34.100141] [] SyS_fallocate+0x43/0x70 <4>[ 34.100485] [] system_call_fastpath+0x16/0x1b <4>[ 34.100848] ---[ end trace 6a3b1350ad3997a1 ]--- <4>[ 34.104219] ------------[ cut here ]------------ <4>[ 34.104536] WARNING: CPU: 3 PID: 3216 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.105166] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.108296] CPU: 3 PID: 3216 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.110548] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.111139] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.111806] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c187da8 <4>[ 34.112489] 0000000000000000 ffff88007c187da8 0000000004000000 ffff88007a56fdd0 <4>[ 34.113171] Call Trace: <4>[ 34.113399] [] dump_stack+0x4d/0x66 <4>[ 34.113731] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.114108] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.114475] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.114855] [] truncate_setsize+0x27/0x40 <4>[ 34.115214] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.115574] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.115938] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.116313] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.116674] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.117068] [] do_fallocate+0x123/0x1b0 <4>[ 34.117415] [] SyS_fallocate+0x43/0x70 <4>[ 34.117756] [] system_call_fastpath+0x16/0x1b <4>[ 34.118127] ---[ end trace 6a3b1350ad3997a2 ]--- <4>[ 34.121455] ------------[ cut here ]------------ <4>[ 34.121771] WARNING: CPU: 3 PID: 3218 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.122399] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.125516] CPU: 3 PID: 3218 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.126057] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.126646] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 34.127317] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1781a8 <4>[ 34.127985] 0000000000000000 ffff88007c1781a8 0000000004000000 ffff88007d087dd0 <4>[ 34.128658] Call Trace: <4>[ 34.128886] [] dump_stack+0x4d/0x66 <4>[ 34.129234] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.129599] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.129956] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.130342] [] truncate_setsize+0x27/0x40 <4>[ 34.130695] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.131058] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.131424] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.131789] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.132152] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.132536] [] do_fallocate+0x123/0x1b0 <4>[ 34.132881] [] SyS_fallocate+0x43/0x70 <4>[ 34.133227] [] system_call_fastpath+0x16/0x1b <4>[ 34.133591] ---[ end trace 6a3b1350ad3997a3 ]--- <4>[ 34.137097] ------------[ cut here ]------------ <4>[ 34.137446] WARNING: CPU: 2 PID: 3220 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.138140] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.141647] CPU: 2 PID: 3220 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.142250] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.142895] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.143667] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1721a8 <4>[ 34.144433] 0000000000000000 ffff88007c1721a8 0000000004000000 ffff88007a50fdd0 <4>[ 34.145197] Call Trace: <4>[ 34.145448] [] dump_stack+0x4d/0x66 <4>[ 34.145805] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.146237] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.146636] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.147059] [] truncate_setsize+0x27/0x40 <4>[ 34.147450] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.147848] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.148257] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.148662] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.149064] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.149487] [] do_fallocate+0x123/0x1b0 <4>[ 34.149866] [] SyS_fallocate+0x43/0x70 <4>[ 34.150247] [] system_call_fastpath+0x16/0x1b <4>[ 34.150654] ---[ end trace 6a3b1350ad3997a4 ]--- <4>[ 34.154601] ------------[ cut here ]------------ <4>[ 34.154918] WARNING: CPU: 3 PID: 3222 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.155548] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.158671] CPU: 3 PID: 3222 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.159214] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.159803] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.160475] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1785a8 <4>[ 34.161146] 0000000000000000 ffff88007c1785a8 0000000004000000 ffff88007bfd7dd0 <4>[ 34.161814] Call Trace: <4>[ 34.162054] [] dump_stack+0x4d/0x66 <4>[ 34.162389] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.162755] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.163118] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.163499] [] truncate_setsize+0x27/0x40 <4>[ 34.163851] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.164213] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.164578] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.164943] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.165311] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.165696] [] do_fallocate+0x123/0x1b0 <4>[ 34.166045] [] SyS_fallocate+0x43/0x70 <4>[ 34.166387] [] system_call_fastpath+0x16/0x1b <4>[ 34.166751] ---[ end trace 6a3b1350ad3997a5 ]--- <4>[ 34.170314] ------------[ cut here ]------------ <4>[ 34.170656] WARNING: CPU: 2 PID: 3224 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.171356] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.174866] CPU: 2 PID: 3224 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.175470] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.176117] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 34.176865] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1725a8 <4>[ 34.177636] 0000000000000000 ffff88007c1725a8 0000000004000000 ffff88007d087dd0 <4>[ 34.178404] Call Trace: <4>[ 34.178655] [] dump_stack+0x4d/0x66 <4>[ 34.179023] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.179431] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.179824] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.180248] [] truncate_setsize+0x27/0x40 <4>[ 34.180639] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.181045] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.181458] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.181857] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.182260] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.182685] [] do_fallocate+0x123/0x1b0 <4>[ 34.183069] [] SyS_fallocate+0x43/0x70 <4>[ 34.183456] [] system_call_fastpath+0x16/0x1b <4>[ 34.183863] ---[ end trace 6a3b1350ad3997a6 ]--- <4>[ 34.187801] ------------[ cut here ]------------ <4>[ 34.188124] WARNING: CPU: 3 PID: 3226 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.188743] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.191851] CPU: 3 PID: 3226 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.192394] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.192982] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.193653] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1789a8 <4>[ 34.194325] 0000000000000000 ffff88007c1789a8 0000000004000000 ffff88007a61fdd0 <4>[ 34.194992] Call Trace: <4>[ 34.195226] [] dump_stack+0x4d/0x66 <4>[ 34.197267] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.197631] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.197988] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.198376] [] truncate_setsize+0x27/0x40 <4>[ 34.198728] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.199100] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.199465] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.199830] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.200193] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.200579] [] do_fallocate+0x123/0x1b0 <4>[ 34.200923] [] SyS_fallocate+0x43/0x70 <4>[ 34.201270] [] system_call_fastpath+0x16/0x1b <4>[ 34.201634] ---[ end trace 6a3b1350ad3997a7 ]--- <4>[ 34.205122] ------------[ cut here ]------------ <4>[ 34.205466] WARNING: CPU: 2 PID: 3228 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.206157] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.209665] CPU: 2 PID: 3228 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.210273] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.210917] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.211684] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1729a8 <4>[ 34.212435] 0000000000000000 ffff88007c1729a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.213197] Call Trace: <4>[ 34.213452] [] dump_stack+0x4d/0x66 <4>[ 34.213810] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.214230] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.214627] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.215051] [] truncate_setsize+0x27/0x40 <4>[ 34.215442] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.215840] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.216250] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.216655] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.217056] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.217480] [] do_fallocate+0x123/0x1b0 <4>[ 34.217859] [] SyS_fallocate+0x43/0x70 <4>[ 34.218239] [] system_call_fastpath+0x16/0x1b <4>[ 34.218647] ---[ end trace 6a3b1350ad3997a8 ]--- <4>[ 34.222405] ------------[ cut here ]------------ <4>[ 34.222720] WARNING: CPU: 3 PID: 3230 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.223359] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.226477] CPU: 3 PID: 3230 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.227017] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.227605] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 34.228277] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c178da8 <4>[ 34.228944] 0000000000000000 ffff88007c178da8 0000000004000000 ffff88007bfc3dd0 <4>[ 34.229623] Call Trace: <4>[ 34.229852] [] dump_stack+0x4d/0x66 <4>[ 34.230189] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.230553] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.230911] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.231296] [] truncate_setsize+0x27/0x40 <4>[ 34.231648] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.232013] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.232378] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.232743] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.233106] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.233492] [] do_fallocate+0x123/0x1b0 <4>[ 34.233836] [] SyS_fallocate+0x43/0x70 <4>[ 34.234182] [] system_call_fastpath+0x16/0x1b <4>[ 34.234547] ---[ end trace 6a3b1350ad3997a9 ]--- <4>[ 34.238027] ------------[ cut here ]------------ <4>[ 34.238372] WARNING: CPU: 2 PID: 3232 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.239064] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.242566] CPU: 2 PID: 3232 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.243174] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.243818] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.244591] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c172da8 <4>[ 34.245356] 0000000000000000 ffff88007c172da8 0000000004000000 ffff88007bfd7dd0 <4>[ 34.246106] Call Trace: <4>[ 34.246371] [] dump_stack+0x4d/0x66 <4>[ 34.246728] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.247148] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.247546] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.247961] [] truncate_setsize+0x27/0x40 <4>[ 34.248356] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.248757] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.249164] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.249569] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.249961] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.250387] [] do_fallocate+0x123/0x1b0 <4>[ 34.250771] [] SyS_fallocate+0x43/0x70 <4>[ 34.251151] [] system_call_fastpath+0x16/0x1b <4>[ 34.251559] ---[ end trace 6a3b1350ad3997aa ]--- <4>[ 34.255270] ------------[ cut here ]------------ <4>[ 34.255612] WARNING: CPU: 2 PID: 3234 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.256299] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.259805] CPU: 2 PID: 3234 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.260404] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.261047] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.261797] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1731a8 <4>[ 34.262551] 0000000000000000 ffff88007c1731a8 0000000004000000 ffff88007a50fdd0 <4>[ 34.263310] Call Trace: <4>[ 34.263560] [] dump_stack+0x4d/0x66 <4>[ 34.263918] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.264338] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.264730] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.265151] [] truncate_setsize+0x27/0x40 <4>[ 34.265537] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.265933] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.266337] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.266738] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.267134] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.267553] [] do_fallocate+0x123/0x1b0 <4>[ 34.267927] [] SyS_fallocate+0x43/0x70 <4>[ 34.268313] [] system_call_fastpath+0x16/0x1b <4>[ 34.268716] ---[ end trace 6a3b1350ad3997ab ]--- <4>[ 34.272409] ------------[ cut here ]------------ <4>[ 34.272726] WARNING: CPU: 3 PID: 3236 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.273366] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.276493] CPU: 3 PID: 3236 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.277039] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.277627] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.278309] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1791a8 <4>[ 34.278976] 0000000000000000 ffff88007c1791a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.279662] Call Trace: <4>[ 34.279890] [] dump_stack+0x4d/0x66 <4>[ 34.280236] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.280603] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.280960] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.281354] [] truncate_setsize+0x27/0x40 <4>[ 34.281706] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.282073] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.282438] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.282803] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.283180] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.283565] [] do_fallocate+0x123/0x1b0 <4>[ 34.285632] [] SyS_fallocate+0x43/0x70 <4>[ 34.285976] [] system_call_fastpath+0x16/0x1b <4>[ 34.286352] ---[ end trace 6a3b1350ad3997ac ]--- <4>[ 34.289835] ------------[ cut here ]------------ <4>[ 34.290196] WARNING: CPU: 2 PID: 3238 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.290874] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.294365] CPU: 2 PID: 3238 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.294963] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.295607] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 34.296360] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1735a8 <4>[ 34.297111] 0000000000000000 ffff88007c1735a8 0000000004000000 ffff88007bfc3dd0 <4>[ 34.297868] Call Trace: <4>[ 34.298130] [] dump_stack+0x4d/0x66 <4>[ 34.298503] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.298915] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.299315] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.299731] [] truncate_setsize+0x27/0x40 <4>[ 34.300123] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.300517] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.300916] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.301322] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.301715] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.302138] [] do_fallocate+0x123/0x1b0 <4>[ 34.302513] [] SyS_fallocate+0x43/0x70 <4>[ 34.302892] [] system_call_fastpath+0x16/0x1b <4>[ 34.303306] ---[ end trace 6a3b1350ad3997ad ]--- <4>[ 34.307187] ------------[ cut here ]------------ <4>[ 34.307504] WARNING: CPU: 3 PID: 3240 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.308134] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.311250] CPU: 3 PID: 3240 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.311786] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.312388] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.313069] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1795a8 <4>[ 34.313736] 0000000000000000 ffff88007c1795a8 0000000004000000 ffff88007a50fdd0 <4>[ 34.314417] Call Trace: <4>[ 34.314645] [] dump_stack+0x4d/0x66 <4>[ 34.314977] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.315349] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.315710] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.316103] [] truncate_setsize+0x27/0x40 <4>[ 34.316455] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.316813] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.317195] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.317561] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.317918] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.318309] [] do_fallocate+0x123/0x1b0 <4>[ 34.318658] [] SyS_fallocate+0x43/0x70 <4>[ 34.318998] [] system_call_fastpath+0x16/0x1b <4>[ 34.319381] ---[ end trace 6a3b1350ad3997ae ]--- <4>[ 34.322706] ------------[ cut here ]------------ <4>[ 34.323033] WARNING: CPU: 3 PID: 3242 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.323652] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.326788] CPU: 3 PID: 3242 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.327334] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.327922] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.328594] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1799a8 <4>[ 34.329266] 0000000000000000 ffff88007c1799a8 0000000004000000 ffff88007bfd7dd0 <4>[ 34.329933] Call Trace: <4>[ 34.330176] [] dump_stack+0x4d/0x66 <4>[ 34.330508] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.330872] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.331246] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.331627] [] truncate_setsize+0x27/0x40 <4>[ 34.331978] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.332341] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.332707] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.333085] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.333443] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.333827] [] do_fallocate+0x123/0x1b0 <4>[ 34.334178] [] SyS_fallocate+0x43/0x70 <4>[ 34.334519] [] system_call_fastpath+0x16/0x1b <4>[ 34.334883] ---[ end trace 6a3b1350ad3997af ]--- <4>[ 34.338267] ------------[ cut here ]------------ <4>[ 34.338610] WARNING: CPU: 2 PID: 3244 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.339309] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.342811] CPU: 2 PID: 3244 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.343421] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.344068] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 34.344819] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1739a8 <4>[ 34.345586] 0000000000000000 ffff88007c1739a8 0000000004000000 ffff88007d087dd0 <4>[ 34.346337] Call Trace: <4>[ 34.346588] [] dump_stack+0x4d/0x66 <4>[ 34.346945] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.347368] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.347766] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.348189] [] truncate_setsize+0x27/0x40 <4>[ 34.348581] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.348979] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.349387] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.349792] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.350195] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.350620] [] do_fallocate+0x123/0x1b0 <4>[ 34.350998] [] SyS_fallocate+0x43/0x70 <4>[ 34.351377] [] system_call_fastpath+0x16/0x1b <4>[ 34.351785] ---[ end trace 6a3b1350ad3997b0 ]--- <4>[ 34.355579] ------------[ cut here ]------------ <4>[ 34.355894] WARNING: CPU: 3 PID: 3246 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.356527] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.359634] CPU: 3 PID: 3246 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.360175] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.360764] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 34.361436] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c179da8 <4>[ 34.362111] 0000000000000000 ffff88007c179da8 0000000004000000 ffff88007bfc3dd0 <4>[ 34.362778] Call Trace: <4>[ 34.363012] [] dump_stack+0x4d/0x66 <4>[ 34.363344] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.363709] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.364071] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.364453] [] truncate_setsize+0x27/0x40 <4>[ 34.364804] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.365176] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.365541] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.365906] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.366269] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.366655] [] do_fallocate+0x123/0x1b0 <4>[ 34.366999] [] SyS_fallocate+0x43/0x70 <4>[ 34.367345] [] system_call_fastpath+0x16/0x1b <4>[ 34.367707] ---[ end trace 6a3b1350ad3997b1 ]--- <4>[ 34.371067] ------------[ cut here ]------------ <4>[ 34.371383] WARNING: CPU: 3 PID: 3248 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.372010] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.376838] CPU: 3 PID: 3248 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.377381] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.377968] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.378650] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17a1a8 <4>[ 34.379322] 0000000000000000 ffff88007c17a1a8 0000000004000000 ffff88007a56fdd0 <4>[ 34.379989] Call Trace: <4>[ 34.380222] [] dump_stack+0x4d/0x66 <4>[ 34.380553] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.380919] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.381286] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.381668] [] truncate_setsize+0x27/0x40 <4>[ 34.382023] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.382382] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.382746] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.383116] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.383476] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.383859] [] do_fallocate+0x123/0x1b0 <4>[ 34.384220] [] SyS_fallocate+0x43/0x70 <4>[ 34.384561] [] system_call_fastpath+0x16/0x1b <4>[ 34.384924] ---[ end trace 6a3b1350ad3997b2 ]--- <4>[ 34.388467] ------------[ cut here ]------------ <4>[ 34.388829] WARNING: CPU: 2 PID: 3250 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.389520] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.393027] CPU: 2 PID: 3250 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.393625] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.394269] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.395031] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c173da8 <4>[ 34.395785] 0000000000000000 ffff88007c173da8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.396544] Call Trace: <4>[ 34.396795] [] dump_stack+0x4d/0x66 <4>[ 34.397163] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.397573] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.397965] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.398385] [] truncate_setsize+0x27/0x40 <4>[ 34.398779] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.399187] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.399591] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.399991] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.400393] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.400818] [] do_fallocate+0x123/0x1b0 <4>[ 34.401202] [] SyS_fallocate+0x43/0x70 <4>[ 34.401587] [] system_call_fastpath+0x16/0x1b <4>[ 34.401995] ---[ end trace 6a3b1350ad3997b3 ]--- <4>[ 34.405491] ------------[ cut here ]------------ <4>[ 34.405833] WARNING: CPU: 2 PID: 3252 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.406521] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.410028] CPU: 2 PID: 3252 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.410629] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.411271] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 34.412017] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1941a8 <4>[ 34.412771] 0000000000000000 ffff88007c1941a8 0000000004000000 ffff88007bf43dd0 <4>[ 34.413543] Call Trace: <4>[ 34.413797] [] dump_stack+0x4d/0x66 <4>[ 34.414164] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.414573] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.414965] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.415390] [] truncate_setsize+0x27/0x40 <4>[ 34.415782] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.416184] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.416589] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.416989] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.417391] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.417815] [] do_fallocate+0x123/0x1b0 <4>[ 34.418198] [] SyS_fallocate+0x43/0x70 <4>[ 34.418582] [] system_call_fastpath+0x16/0x1b <4>[ 34.418991] ---[ end trace 6a3b1350ad3997b4 ]--- <4>[ 34.422979] ------------[ cut here ]------------ <4>[ 34.423309] WARNING: CPU: 3 PID: 3254 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.423928] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.427058] CPU: 3 PID: 3254 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.427595] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.428187] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 34.428856] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17a5a8 <4>[ 34.429537] 0000000000000000 ffff88007c17a5a8 0000000004000000 ffff88007d087dd0 <4>[ 34.430210] Call Trace: <4>[ 34.430438] [] dump_stack+0x4d/0x66 <4>[ 34.430770] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.431140] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.431498] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.431879] [] truncate_setsize+0x27/0x40 <4>[ 34.432241] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.432599] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.432964] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.433338] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.433695] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.434085] [] do_fallocate+0x123/0x1b0 <4>[ 34.434430] [] SyS_fallocate+0x43/0x70 <4>[ 34.434771] [] system_call_fastpath+0x16/0x1b <4>[ 34.435149] ---[ end trace 6a3b1350ad3997b5 ]--- <4>[ 34.438673] ------------[ cut here ]------------ <4>[ 34.439040] WARNING: CPU: 2 PID: 3256 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.439716] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.443229] CPU: 2 PID: 3256 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.443815] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.444459] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.445219] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1945a8 <4>[ 34.445971] 0000000000000000 ffff88007c1945a8 0000000004000000 ffff88007bfd7dd0 <4>[ 34.446736] Call Trace: <4>[ 34.446988] [] dump_stack+0x4d/0x66 <4>[ 34.447344] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.447720] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.448090] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.448480] [] truncate_setsize+0x27/0x40 <4>[ 34.448864] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.449271] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.449675] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.450086] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.450484] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.450903] [] do_fallocate+0x123/0x1b0 <4>[ 34.451287] [] SyS_fallocate+0x43/0x70 <4>[ 34.451671] [] system_call_fastpath+0x16/0x1b <4>[ 34.452088] ---[ end trace 6a3b1350ad3997b6 ]--- <4>[ 34.455611] ------------[ cut here ]------------ <4>[ 34.455952] WARNING: CPU: 2 PID: 3260 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.456638] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.460150] CPU: 2 PID: 3260 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.460741] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.461384] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 34.462140] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1949a8 <4>[ 34.464795] 0000000000000000 ffff88007c1949a8 0000000004000000 ffff88007a6dbdd0 <4>[ 34.465545] Call Trace: <4>[ 34.465794] [] dump_stack+0x4d/0x66 <4>[ 34.466162] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.466572] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.466963] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.467383] [] truncate_setsize+0x27/0x40 <4>[ 34.467769] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.468169] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.468569] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.468968] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.469366] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.469785] [] do_fallocate+0x123/0x1b0 <4>[ 34.470166] [] SyS_fallocate+0x43/0x70 <4>[ 34.470541] [] system_call_fastpath+0x16/0x1b <4>[ 34.470949] ---[ end trace 6a3b1350ad3997b7 ]--- <4>[ 34.474790] ------------[ cut here ]------------ <4>[ 34.475146] WARNING: CPU: 2 PID: 3262 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.475821] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.479316] CPU: 2 PID: 3262 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.479909] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.480553] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.481313] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c194da8 <4>[ 34.482072] 0000000000000000 ffff88007c194da8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.482828] Call Trace: <4>[ 34.483084] [] dump_stack+0x4d/0x66 <4>[ 34.483442] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.483856] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.484255] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.484671] [] truncate_setsize+0x27/0x40 <4>[ 34.485061] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.485455] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.485854] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.486260] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.486654] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.487077] [] do_fallocate+0x123/0x1b0 <4>[ 34.487452] [] SyS_fallocate+0x43/0x70 <4>[ 34.487831] [] system_call_fastpath+0x16/0x1b <4>[ 34.488244] ---[ end trace 6a3b1350ad3997b8 ]--- <4>[ 34.491972] ------------[ cut here ]------------ <4>[ 34.492310] WARNING: CPU: 3 PID: 3266 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.492929] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.496061] CPU: 3 PID: 3266 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.496597] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.497194] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 34.497868] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17a9a8 <4>[ 34.498547] 0000000000000000 ffff88007c17a9a8 0000000004000000 ffff88007a417dd0 <4>[ 34.499230] Call Trace: <4>[ 34.499459] [] dump_stack+0x4d/0x66 <4>[ 34.499790] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.500161] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.500531] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.500923] [] truncate_setsize+0x27/0x40 <4>[ 34.501290] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.501659] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.502039] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.502406] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.502764] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.503156] [] do_fallocate+0x123/0x1b0 <4>[ 34.503505] [] SyS_fallocate+0x43/0x70 <4>[ 34.503846] [] system_call_fastpath+0x16/0x1b <4>[ 34.504228] ---[ end trace 6a3b1350ad3997b9 ]--- <4>[ 34.507973] ------------[ cut here ]------------ <4>[ 34.508295] WARNING: CPU: 3 PID: 3270 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.508913] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.512039] CPU: 3 PID: 3270 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.512575] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.513167] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 34.513836] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17ada8 <4>[ 34.514507] 0000000000000000 ffff88007c17ada8 0000000004000000 ffff88007bfbfdd0 <4>[ 34.515190] Call Trace: <4>[ 34.515418] [] dump_stack+0x4d/0x66 <4>[ 34.515749] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.516119] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.516478] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.516858] [] truncate_setsize+0x27/0x40 <4>[ 34.517214] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.517573] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.517936] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.518309] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.518669] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.519058] [] do_fallocate+0x123/0x1b0 <4>[ 34.519403] [] SyS_fallocate+0x43/0x70 <4>[ 34.519744] [] system_call_fastpath+0x16/0x1b <4>[ 34.520112] ---[ end trace 6a3b1350ad3997ba ]--- <4>[ 34.523664] ------------[ cut here ]------------ <4>[ 34.524028] WARNING: CPU: 2 PID: 3272 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.524706] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.528223] CPU: 2 PID: 3272 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.528817] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.529460] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.530213] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1951a8 <4>[ 34.530965] 0000000000000000 ffff88007c1951a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.531699] Call Trace: <4>[ 34.531932] [] dump_stack+0x4d/0x66 <4>[ 34.532276] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.532649] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.533015] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.533426] [] truncate_setsize+0x27/0x40 <4>[ 34.533812] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.534220] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.534625] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.535036] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.535434] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.535854] [] do_fallocate+0x123/0x1b0 <4>[ 34.536231] [] SyS_fallocate+0x43/0x70 <4>[ 34.536612] [] system_call_fastpath+0x16/0x1b <4>[ 34.537029] ---[ end trace 6a3b1350ad3997bb ]--- <4>[ 34.540671] ------------[ cut here ]------------ <4>[ 34.541038] WARNING: CPU: 2 PID: 3276 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.541715] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.545210] CPU: 2 PID: 3276 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.545802] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.546446] 0000000000000009 ffff8800009f7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.547206] ffff8800009f7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1955a8 <4>[ 34.547955] 0000000000000000 ffff88007c1955a8 0000000004000000 ffff8800009f7dd0 <4>[ 34.548712] Call Trace: <4>[ 34.548964] [] dump_stack+0x4d/0x66 <4>[ 34.549326] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.549738] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.550134] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.550550] [] truncate_setsize+0x27/0x40 <4>[ 34.550936] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.551338] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.553638] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.554042] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.554434] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.554853] [] do_fallocate+0x123/0x1b0 <4>[ 34.555239] [] SyS_fallocate+0x43/0x70 <4>[ 34.555614] [] system_call_fastpath+0x16/0x1b <4>[ 34.556027] ---[ end trace 6a3b1350ad3997bc ]--- <4>[ 34.559972] ------------[ cut here ]------------ <4>[ 34.560303] WARNING: CPU: 3 PID: 3278 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.560920] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.564062] CPU: 3 PID: 3278 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.564599] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.565194] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 34.565867] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17b1a8 <4>[ 34.566548] 0000000000000000 ffff88007c17b1a8 0000000004000000 ffff88007bfabdd0 <4>[ 34.567229] Call Trace: <4>[ 34.567459] [] dump_stack+0x4d/0x66 <4>[ 34.567790] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.568161] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.568521] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.568901] [] truncate_setsize+0x27/0x40 <4>[ 34.569265] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.569624] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.569989] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.570366] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.570728] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.571119] [] do_fallocate+0x123/0x1b0 <4>[ 34.571467] [] SyS_fallocate+0x43/0x70 <4>[ 34.571808] [] system_call_fastpath+0x16/0x1b <4>[ 34.572180] ---[ end trace 6a3b1350ad3997bd ]--- <4>[ 34.575623] ------------[ cut here ]------------ <4>[ 34.575965] WARNING: CPU: 2 PID: 3280 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.576657] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.580160] CPU: 2 PID: 3280 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.580752] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.581396] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 34.582152] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1959a8 <4>[ 34.582906] 0000000000000000 ffff88007c1959a8 0000000004000000 ffff88007bfbfdd0 <4>[ 34.583664] Call Trace: <4>[ 34.583915] [] dump_stack+0x4d/0x66 <4>[ 34.584277] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.584691] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.585088] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.585503] [] truncate_setsize+0x27/0x40 <4>[ 34.585888] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.586289] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.586688] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.587093] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.587486] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.587904] [] do_fallocate+0x123/0x1b0 <4>[ 34.588290] [] SyS_fallocate+0x43/0x70 <4>[ 34.588667] [] system_call_fastpath+0x16/0x1b <4>[ 34.589080] ---[ end trace 6a3b1350ad3997be ]--- <4>[ 34.592478] ------------[ cut here ]------------ <4>[ 34.592820] WARNING: CPU: 2 PID: 3282 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.593507] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.597004] CPU: 2 PID: 3282 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.597602] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.598245] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.598997] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c195da8 <4>[ 34.599758] 0000000000000000 ffff88007c195da8 0000000004000000 ffff88007a61fdd0 <4>[ 34.600520] Call Trace: <4>[ 34.600769] [] dump_stack+0x4d/0x66 <4>[ 34.601139] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.601547] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.601940] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.602362] [] truncate_setsize+0x27/0x40 <4>[ 34.602747] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.603149] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.603548] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.603948] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.604345] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.604764] [] do_fallocate+0x123/0x1b0 <4>[ 34.605149] [] SyS_fallocate+0x43/0x70 <4>[ 34.605524] [] system_call_fastpath+0x16/0x1b <4>[ 34.605932] ---[ end trace 6a3b1350ad3997bf ]--- <4>[ 34.609612] ------------[ cut here ]------------ <4>[ 34.609931] WARNING: CPU: 3 PID: 3284 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.610569] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.613717] CPU: 3 PID: 3284 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.614262] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.614850] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 34.615530] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17b5a8 <4>[ 34.616212] 0000000000000000 ffff88007c17b5a8 0000000004000000 ffff88007a417dd0 <4>[ 34.616879] Call Trace: <4>[ 34.617128] [] dump_stack+0x4d/0x66 <4>[ 34.617462] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.617827] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.618188] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.618573] [] truncate_setsize+0x27/0x40 <4>[ 34.618923] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.619296] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.619662] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.620036] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.620398] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.620782] [] do_fallocate+0x123/0x1b0 <4>[ 34.621133] [] SyS_fallocate+0x43/0x70 <4>[ 34.621479] [] system_call_fastpath+0x16/0x1b <4>[ 34.621843] ---[ end trace 6a3b1350ad3997c0 ]--- <4>[ 34.625425] ------------[ cut here ]------------ <4>[ 34.625739] WARNING: CPU: 3 PID: 3286 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.626379] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.629497] CPU: 3 PID: 3286 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.630038] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.630628] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 34.631310] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17b9a8 <4>[ 34.631977] 0000000000000000 ffff88007c17b9a8 0000000004000000 ffff88007bfabdd0 <4>[ 34.632664] Call Trace: <4>[ 34.632892] [] dump_stack+0x4d/0x66 <4>[ 34.633237] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.633603] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.633961] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.634356] [] truncate_setsize+0x27/0x40 <4>[ 34.634708] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.635073] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.635438] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.635803] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.636180] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.636564] [] do_fallocate+0x123/0x1b0 <4>[ 34.636908] [] SyS_fallocate+0x43/0x70 <4>[ 34.637257] [] system_call_fastpath+0x16/0x1b <4>[ 34.637621] ---[ end trace 6a3b1350ad3997c1 ]--- <4>[ 34.641077] ------------[ cut here ]------------ <4>[ 34.641425] WARNING: CPU: 2 PID: 3288 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.644004] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.647495] CPU: 2 PID: 3288 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.648103] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.648748] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.649521] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1961a8 <4>[ 34.650284] 0000000000000000 ffff88007c1961a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.651045] Call Trace: <4>[ 34.651301] [] dump_stack+0x4d/0x66 <4>[ 34.651658] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.652082] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.652479] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.652894] [] truncate_setsize+0x27/0x40 <4>[ 34.653289] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.653690] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.654098] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.654504] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.654897] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.655324] [] do_fallocate+0x123/0x1b0 <4>[ 34.655708] [] SyS_fallocate+0x43/0x70 <4>[ 34.656087] [] system_call_fastpath+0x16/0x1b <4>[ 34.656495] ---[ end trace 6a3b1350ad3997c2 ]--- <4>[ 34.660290] ------------[ cut here ]------------ <4>[ 34.660607] WARNING: CPU: 3 PID: 3290 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.661238] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.664358] CPU: 3 PID: 3290 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.664895] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.665491] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 34.666174] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17bda8 <4>[ 34.666841] 0000000000000000 ffff88007c17bda8 0000000004000000 ffff88007bfbfdd0 <4>[ 34.667522] Call Trace: <4>[ 34.667751] [] dump_stack+0x4d/0x66 <4>[ 34.668089] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.668455] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.668812] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.669211] [] truncate_setsize+0x27/0x40 <4>[ 34.669563] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.669921] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.670296] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.670661] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.671027] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.671413] [] do_fallocate+0x123/0x1b0 <4>[ 34.671757] [] SyS_fallocate+0x43/0x70 <4>[ 34.672112] [] system_call_fastpath+0x16/0x1b <4>[ 34.672476] ---[ end trace 6a3b1350ad3997c3 ]--- <4>[ 34.675819] ------------[ cut here ]------------ <4>[ 34.676189] WARNING: CPU: 2 PID: 3292 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.676871] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.680384] CPU: 2 PID: 3292 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.680981] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.681624] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.682386] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1965a8 <4>[ 34.683142] 0000000000000000 ffff88007c1965a8 0000000004000000 ffff88007bf9bdd0 <4>[ 34.683904] Call Trace: <4>[ 34.684165] [] dump_stack+0x4d/0x66 <4>[ 34.684527] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.684941] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.685339] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.685760] [] truncate_setsize+0x27/0x40 <4>[ 34.686129] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.686496] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.686869] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.687247] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.687647] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.688074] [] do_fallocate+0x123/0x1b0 <4>[ 34.688458] [] SyS_fallocate+0x43/0x70 <4>[ 34.688833] [] system_call_fastpath+0x16/0x1b <4>[ 34.689249] ---[ end trace 6a3b1350ad3997c4 ]--- <4>[ 34.692635] ------------[ cut here ]------------ <4>[ 34.692979] WARNING: CPU: 2 PID: 3296 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.693664] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.697175] CPU: 2 PID: 3296 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.697760] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.698406] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 34.699164] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1969a8 <4>[ 34.699917] 0000000000000000 ffff88007c1969a8 0000000004000000 ffff88007bfabdd0 <4>[ 34.700677] Call Trace: <4>[ 34.700926] [] dump_stack+0x4d/0x66 <4>[ 34.701288] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.701702] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.702100] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.702516] [] truncate_setsize+0x27/0x40 <4>[ 34.702901] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.703305] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.703705] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.704107] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.704501] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.704924] [] do_fallocate+0x123/0x1b0 <4>[ 34.705310] [] SyS_fallocate+0x43/0x70 <4>[ 34.705684] [] system_call_fastpath+0x16/0x1b <4>[ 34.706095] ---[ end trace 6a3b1350ad3997c5 ]--- <4>[ 34.709484] ------------[ cut here ]------------ <4>[ 34.709825] WARNING: CPU: 2 PID: 3298 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.710510] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.714011] CPU: 2 PID: 3298 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.714605] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.715247] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.716004] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c196da8 <4>[ 34.716751] 0000000000000000 ffff88007c196da8 0000000004000000 ffff88007a50fdd0 <4>[ 34.717515] Call Trace: <4>[ 34.717766] [] dump_stack+0x4d/0x66 <4>[ 34.718135] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.718544] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.718935] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.719358] [] truncate_setsize+0x27/0x40 <4>[ 34.719744] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.720144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.720544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.720943] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.721341] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.721760] [] do_fallocate+0x123/0x1b0 <4>[ 34.722139] [] SyS_fallocate+0x43/0x70 <4>[ 34.722516] [] system_call_fastpath+0x16/0x1b <4>[ 34.722924] ---[ end trace 6a3b1350ad3997c6 ]--- <4>[ 34.726694] ------------[ cut here ]------------ <4>[ 34.727018] WARNING: CPU: 3 PID: 3300 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.727642] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.730774] CPU: 3 PID: 3300 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.731320] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.733624] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.734304] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19c1a8 <4>[ 34.734970] 0000000000000000 ffff88007c19c1a8 0000000004000000 ffff88007bf9bdd0 <4>[ 34.735650] Call Trace: <4>[ 34.735880] [] dump_stack+0x4d/0x66 <4>[ 34.736226] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.736593] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.736951] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.737346] [] truncate_setsize+0x27/0x40 <4>[ 34.737699] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.738065] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.738430] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.738796] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.739173] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.739559] [] do_fallocate+0x123/0x1b0 <4>[ 34.739902] [] SyS_fallocate+0x43/0x70 <4>[ 34.740250] [] system_call_fastpath+0x16/0x1b <4>[ 34.740615] ---[ end trace 6a3b1350ad3997c7 ]--- <4>[ 34.744270] ------------[ cut here ]------------ <4>[ 34.744585] WARNING: CPU: 3 PID: 3302 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.745212] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.748325] CPU: 3 PID: 3302 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.748862] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.749459] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 34.750136] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19c5a8 <4>[ 34.750803] 0000000000000000 ffff88007c19c5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 34.751475] Call Trace: <4>[ 34.751703] [] dump_stack+0x4d/0x66 <4>[ 34.752039] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.752404] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.752761] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.753158] [] truncate_setsize+0x27/0x40 <4>[ 34.753510] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.753868] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.754248] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.754613] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.754971] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.755360] [] do_fallocate+0x123/0x1b0 <4>[ 34.755706] [] SyS_fallocate+0x43/0x70 <4>[ 34.756057] [] system_call_fastpath+0x16/0x1b <4>[ 34.756425] ---[ end trace 6a3b1350ad3997c8 ]--- <4>[ 34.759861] ------------[ cut here ]------------ <4>[ 34.760228] WARNING: CPU: 2 PID: 3304 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.760907] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.764412] CPU: 2 PID: 3304 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.765015] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.765663] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.766439] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1971a8 <4>[ 34.767207] 0000000000000000 ffff88007c1971a8 0000000004000000 ffff88007a61fdd0 <4>[ 34.767959] Call Trace: <4>[ 34.768220] [] dump_stack+0x4d/0x66 <4>[ 34.768584] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.768997] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.769397] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.769818] [] truncate_setsize+0x27/0x40 <4>[ 34.770211] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.770615] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.771022] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.771427] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.771820] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.772248] [] do_fallocate+0x123/0x1b0 <4>[ 34.772634] [] SyS_fallocate+0x43/0x70 <4>[ 34.773015] [] system_call_fastpath+0x16/0x1b <4>[ 34.773423] ---[ end trace 6a3b1350ad3997c9 ]--- <4>[ 34.777199] ------------[ cut here ]------------ <4>[ 34.777516] WARNING: CPU: 3 PID: 3306 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.778145] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.781262] CPU: 3 PID: 3306 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.781800] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.782395] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.783071] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19c9a8 <4>[ 34.783741] 0000000000000000 ffff88007c19c9a8 0000000004000000 ffff88007bf9bdd0 <4>[ 34.784421] Call Trace: <4>[ 34.784649] [] dump_stack+0x4d/0x66 <4>[ 34.784980] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.785354] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.785712] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.786107] [] truncate_setsize+0x27/0x40 <4>[ 34.786459] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.786817] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.787189] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.787554] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.787913] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.788304] [] do_fallocate+0x123/0x1b0 <4>[ 34.788652] [] SyS_fallocate+0x43/0x70 <4>[ 34.788994] [] system_call_fastpath+0x16/0x1b <4>[ 34.789370] ---[ end trace 6a3b1350ad3997ca ]--- <4>[ 34.792814] ------------[ cut here ]------------ <4>[ 34.793168] WARNING: CPU: 2 PID: 3308 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.793844] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.797344] CPU: 2 PID: 3308 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.797943] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.798585] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 34.799339] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1975a8 <4>[ 34.800089] 0000000000000000 ffff88007c1975a8 0000000004000000 ffff88007bfc3dd0 <4>[ 34.800841] Call Trace: <4>[ 34.801096] [] dump_stack+0x4d/0x66 <4>[ 34.801455] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.801868] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.802265] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.802681] [] truncate_setsize+0x27/0x40 <4>[ 34.803073] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.803466] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.803865] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.804270] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.804663] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.805088] [] do_fallocate+0x123/0x1b0 <4>[ 34.805463] [] SyS_fallocate+0x43/0x70 <4>[ 34.805843] [] system_call_fastpath+0x16/0x1b <4>[ 34.806265] ---[ end trace 6a3b1350ad3997cb ]--- <4>[ 34.809645] ------------[ cut here ]------------ <4>[ 34.810002] WARNING: CPU: 2 PID: 3310 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.810688] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.814182] CPU: 2 PID: 3310 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.814768] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.815413] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 34.816165] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1979a8 <4>[ 34.816910] 0000000000000000 ffff88007c1979a8 0000000004000000 ffff88007a417dd0 <4>[ 34.817665] Call Trace: <4>[ 34.817916] [] dump_stack+0x4d/0x66 <4>[ 34.818285] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.818694] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.820987] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.821419] [] truncate_setsize+0x27/0x40 <4>[ 34.821804] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.822205] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.822604] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.823009] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.823401] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.823819] [] do_fallocate+0x123/0x1b0 <4>[ 34.824205] [] SyS_fallocate+0x43/0x70 <4>[ 34.824582] [] system_call_fastpath+0x16/0x1b <4>[ 34.824990] ---[ end trace 6a3b1350ad3997cc ]--- <4>[ 34.828787] ------------[ cut here ]------------ <4>[ 34.829122] WARNING: CPU: 3 PID: 3312 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.829740] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.832869] CPU: 3 PID: 3312 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.833409] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.834009] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 34.834682] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19cda8 <4>[ 34.835362] 0000000000000000 ffff88007c19cda8 0000000004000000 ffff88007bfabdd0 <4>[ 34.836039] Call Trace: <4>[ 34.836268] [] dump_stack+0x4d/0x66 <4>[ 34.836600] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.836964] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.837337] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.837718] [] truncate_setsize+0x27/0x40 <4>[ 34.838076] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.838435] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.838799] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.839182] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.839542] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.839927] [] do_fallocate+0x123/0x1b0 <4>[ 34.840278] [] SyS_fallocate+0x43/0x70 <4>[ 34.840624] [] system_call_fastpath+0x16/0x1b <4>[ 34.840988] ---[ end trace 6a3b1350ad3997cd ]--- <4>[ 34.844448] ------------[ cut here ]------------ <4>[ 34.844796] WARNING: CPU: 2 PID: 3314 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.845483] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.848983] CPU: 2 PID: 3314 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.849586] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.850231] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.850980] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c197da8 <4>[ 34.851742] 0000000000000000 ffff88007c197da8 0000000004000000 ffff88007bf9bdd0 <4>[ 34.852497] Call Trace: <4>[ 34.852749] [] dump_stack+0x4d/0x66 <4>[ 34.853112] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.853525] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.853917] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.854338] [] truncate_setsize+0x27/0x40 <4>[ 34.854724] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.855124] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.855525] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.855924] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.856322] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.856742] [] do_fallocate+0x123/0x1b0 <4>[ 34.857120] [] SyS_fallocate+0x43/0x70 <4>[ 34.857498] [] system_call_fastpath+0x16/0x1b <4>[ 34.857907] ---[ end trace 6a3b1350ad3997ce ]--- <4>[ 34.861272] ------------[ cut here ]------------ <4>[ 34.861613] WARNING: CPU: 2 PID: 3316 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.862299] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.865797] CPU: 2 PID: 3316 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.866399] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.867042] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 34.867795] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7381a8 <4>[ 34.868556] 0000000000000000 ffff88005b7381a8 0000000004000000 ffff88007bf8bdd0 <4>[ 34.869313] Call Trace: <4>[ 34.869562] [] dump_stack+0x4d/0x66 <4>[ 34.869919] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.870339] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.870732] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.871153] [] truncate_setsize+0x27/0x40 <4>[ 34.871538] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.871934] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.872339] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.872739] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.873137] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.873557] [] do_fallocate+0x123/0x1b0 <4>[ 34.873932] [] SyS_fallocate+0x43/0x70 <4>[ 34.874316] [] system_call_fastpath+0x16/0x1b <4>[ 34.874719] ---[ end trace 6a3b1350ad3997cf ]--- <4>[ 34.878511] ------------[ cut here ]------------ <4>[ 34.878828] WARNING: CPU: 3 PID: 3318 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.879465] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.882579] CPU: 3 PID: 3318 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.883125] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.883713] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.884395] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19d1a8 <4>[ 34.885071] 0000000000000000 ffff88007c19d1a8 0000000004000000 ffff88007a61fdd0 <4>[ 34.885738] Call Trace: <4>[ 34.885966] [] dump_stack+0x4d/0x66 <4>[ 34.886311] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.886678] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.887042] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.887424] [] truncate_setsize+0x27/0x40 <4>[ 34.887775] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.888150] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.888517] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.888882] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.889256] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.889641] [] do_fallocate+0x123/0x1b0 <4>[ 34.889986] [] SyS_fallocate+0x43/0x70 <4>[ 34.890335] [] system_call_fastpath+0x16/0x1b <4>[ 34.890699] ---[ end trace 6a3b1350ad3997d0 ]--- <4>[ 34.894054] ------------[ cut here ]------------ <4>[ 34.894406] WARNING: CPU: 2 PID: 3320 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.895096] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.898601] CPU: 2 PID: 3320 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.899199] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.899840] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 34.900595] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7385a8 <4>[ 34.901349] 0000000000000000 ffff88005b7385a8 0000000004000000 ffff88007a417dd0 <4>[ 34.902110] Call Trace: <4>[ 34.902360] [] dump_stack+0x4d/0x66 <4>[ 34.902718] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.903137] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.903530] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.903945] [] truncate_setsize+0x27/0x40 <4>[ 34.904336] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.904729] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.905133] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.905533] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.905925] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.906350] [] do_fallocate+0x123/0x1b0 <4>[ 34.906725] [] SyS_fallocate+0x43/0x70 <4>[ 34.907113] [] system_call_fastpath+0x16/0x1b <4>[ 34.909420] ---[ end trace 6a3b1350ad3997d1 ]--- <4>[ 34.912728] ------------[ cut here ]------------ <4>[ 34.913081] WARNING: CPU: 2 PID: 3322 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.913756] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.917266] CPU: 2 PID: 3322 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.917849] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.918492] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.919235] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7389a8 <4>[ 34.919989] 0000000000000000 ffff88005b7389a8 0000000004000000 ffff88007a50fdd0 <4>[ 34.920752] Call Trace: <4>[ 34.921008] [] dump_stack+0x4d/0x66 <4>[ 34.921366] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.921780] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.922178] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.922595] [] truncate_setsize+0x27/0x40 <4>[ 34.922980] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.923381] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.923781] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.924184] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.924577] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.924996] [] do_fallocate+0x123/0x1b0 <4>[ 34.925381] [] SyS_fallocate+0x43/0x70 <4>[ 34.925759] [] system_call_fastpath+0x16/0x1b <4>[ 34.926172] ---[ end trace 6a3b1350ad3997d2 ]--- <4>[ 34.929487] ------------[ cut here ]------------ <4>[ 34.929833] WARNING: CPU: 2 PID: 3324 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.930520] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.934021] CPU: 2 PID: 3324 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.934621] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.935264] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 34.936025] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b738da8 <4>[ 34.936778] 0000000000000000 ffff88005b738da8 0000000004000000 ffff88007a61fdd0 <4>[ 34.937536] Call Trace: <4>[ 34.937787] [] dump_stack+0x4d/0x66 <4>[ 34.938155] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.938564] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.938957] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.939378] [] truncate_setsize+0x27/0x40 <4>[ 34.939763] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.940165] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.940564] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.940963] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.941366] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.941790] [] do_fallocate+0x123/0x1b0 <4>[ 34.942169] [] SyS_fallocate+0x43/0x70 <4>[ 34.942546] [] system_call_fastpath+0x16/0x1b <4>[ 34.942954] ---[ end trace 6a3b1350ad3997d3 ]--- <4>[ 34.946758] ------------[ cut here ]------------ <4>[ 34.947093] WARNING: CPU: 3 PID: 3326 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.947712] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.950840] CPU: 3 PID: 3326 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.951386] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.951974] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 34.952654] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19d5a8 <4>[ 34.953344] 0000000000000000 ffff88007c19d5a8 0000000004000000 ffff88007bfc3dd0 <4>[ 34.954024] Call Trace: <4>[ 34.954258] [] dump_stack+0x4d/0x66 <4>[ 34.954589] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.954953] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.955324] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.955705] [] truncate_setsize+0x27/0x40 <4>[ 34.956065] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.956424] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.956788] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.957171] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.957531] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.957915] [] do_fallocate+0x123/0x1b0 <4>[ 34.958266] [] SyS_fallocate+0x43/0x70 <4>[ 34.958613] [] system_call_fastpath+0x16/0x1b <4>[ 34.958976] ---[ end trace 6a3b1350ad3997d4 ]--- <4>[ 34.962379] ------------[ cut here ]------------ <4>[ 34.962723] WARNING: CPU: 2 PID: 3328 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.963421] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.966922] CPU: 2 PID: 3328 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.967520] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.968164] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 34.968914] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7391a8 <4>[ 34.969676] 0000000000000000 ffff88005b7391a8 0000000004000000 ffff88007a417dd0 <4>[ 34.970430] Call Trace: <4>[ 34.970682] [] dump_stack+0x4d/0x66 <4>[ 34.971044] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.971457] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.971849] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.972268] [] truncate_setsize+0x27/0x40 <4>[ 34.972655] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.973055] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.973456] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.973856] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.974253] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.974672] [] do_fallocate+0x123/0x1b0 <4>[ 34.975058] [] SyS_fallocate+0x43/0x70 <4>[ 34.975434] [] system_call_fastpath+0x16/0x1b <4>[ 34.975842] ---[ end trace 6a3b1350ad3997d5 ]--- <4>[ 34.979359] ------------[ cut here ]------------ <4>[ 34.979704] WARNING: CPU: 2 PID: 3330 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.980387] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 34.983889] CPU: 2 PID: 3330 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 34.984492] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 34.985136] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 34.985885] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7395a8 <4>[ 34.986648] 0000000000000000 ffff88005b7395a8 0000000004000000 ffff88007bfd7dd0 <4>[ 34.987405] Call Trace: <4>[ 34.987656] [] dump_stack+0x4d/0x66 <4>[ 34.988024] [] warn_slowpath_common+0x7d/0xa0 <4>[ 34.988433] [] warn_slowpath_null+0x1a/0x20 <4>[ 34.988824] [] pagecache_isize_extended+0xdd/0x120 <4>[ 34.989246] [] truncate_setsize+0x27/0x40 <4>[ 34.989632] [] xfs_setattr_size+0x157/0x3a0 <4>[ 34.990032] [] ? xfs_trans_commit+0x157/0x250 <4>[ 34.990431] [] xfs_file_fallocate+0x2df/0x300 <4>[ 34.990830] [] ? __sb_start_write+0x49/0xf0 <4>[ 34.991227] [] ? selinux_file_permission+0xc4/0x120 <4>[ 34.991646] [] do_fallocate+0x123/0x1b0 <4>[ 34.992030] [] SyS_fallocate+0x43/0x70 <4>[ 34.992405] [] system_call_fastpath+0x16/0x1b <4>[ 34.992814] ---[ end trace 6a3b1350ad3997d6 ]--- <4>[ 34.996303] ------------[ cut here ]------------ <4>[ 34.996649] WARNING: CPU: 2 PID: 3332 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 34.997335] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.002750] CPU: 2 PID: 3332 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.003339] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.003979] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.004737] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7399a8 <4>[ 35.005500] 0000000000000000 ffff88005b7399a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.006256] Call Trace: <4>[ 35.006505] [] dump_stack+0x4d/0x66 <4>[ 35.006862] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.007282] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.007674] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.008094] [] truncate_setsize+0x27/0x40 <4>[ 35.008480] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.008878] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.009283] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.009682] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.010080] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.010501] [] do_fallocate+0x123/0x1b0 <4>[ 35.010875] [] SyS_fallocate+0x43/0x70 <4>[ 35.011264] [] system_call_fastpath+0x16/0x1b <4>[ 35.011667] ---[ end trace 6a3b1350ad3997d7 ]--- <4>[ 35.015478] ------------[ cut here ]------------ <4>[ 35.015797] WARNING: CPU: 3 PID: 3334 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.016433] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.019555] CPU: 3 PID: 3334 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.020096] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.020688] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.021369] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19d9a8 <4>[ 35.022044] 0000000000000000 ffff88007c19d9a8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.022714] Call Trace: <4>[ 35.022942] [] dump_stack+0x4d/0x66 <4>[ 35.023286] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.023650] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.024014] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.024396] [] truncate_setsize+0x27/0x40 <4>[ 35.024747] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.025122] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.025488] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.025853] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.026228] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.026613] [] do_fallocate+0x123/0x1b0 <4>[ 35.026957] [] SyS_fallocate+0x43/0x70 <4>[ 35.027306] [] system_call_fastpath+0x16/0x1b <4>[ 35.027670] ---[ end trace 6a3b1350ad3997d8 ]--- <4>[ 35.031142] ------------[ cut here ]------------ <4>[ 35.031485] WARNING: CPU: 2 PID: 3336 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.032171] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.035673] CPU: 2 PID: 3336 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.036276] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.036916] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 35.037672] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b739da8 <4>[ 35.038433] 0000000000000000 ffff88005b739da8 0000000004000000 ffff88007bf8bdd0 <4>[ 35.039189] Call Trace: <4>[ 35.039440] [] dump_stack+0x4d/0x66 <4>[ 35.039797] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.040215] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.040608] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.041029] [] truncate_setsize+0x27/0x40 <4>[ 35.041415] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.041813] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.042217] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.042617] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.043014] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.043433] [] do_fallocate+0x123/0x1b0 <4>[ 35.043807] [] SyS_fallocate+0x43/0x70 <4>[ 35.044197] [] system_call_fastpath+0x16/0x1b <4>[ 35.044600] ---[ end trace 6a3b1350ad3997d9 ]--- <4>[ 35.047893] ------------[ cut here ]------------ <4>[ 35.048248] WARNING: CPU: 2 PID: 3338 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.048924] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.052418] CPU: 2 PID: 3338 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.053021] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.053662] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.054415] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73a1a8 <4>[ 35.055176] 0000000000000000 ffff88005b73a1a8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.055929] Call Trace: <4>[ 35.056186] [] dump_stack+0x4d/0x66 <4>[ 35.056543] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.056957] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.057355] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.057771] [] truncate_setsize+0x27/0x40 <4>[ 35.058163] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.058557] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.058956] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.059360] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.059753] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.060178] [] do_fallocate+0x123/0x1b0 <4>[ 35.060552] [] SyS_fallocate+0x43/0x70 <4>[ 35.060932] [] system_call_fastpath+0x16/0x1b <4>[ 35.061344] ---[ end trace 6a3b1350ad3997da ]--- <4>[ 35.064858] ------------[ cut here ]------------ <4>[ 35.065201] WARNING: CPU: 3 PID: 3340 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.065819] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.068948] CPU: 3 PID: 3340 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.069498] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.070088] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 35.070756] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19dda8 <4>[ 35.071438] 0000000000000000 ffff88007c19dda8 0000000004000000 ffff88007bfabdd0 <4>[ 35.072109] Call Trace: <4>[ 35.072347] [] dump_stack+0x4d/0x66 <4>[ 35.072678] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.073049] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.073409] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.073790] [] truncate_setsize+0x27/0x40 <4>[ 35.074160] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.074519] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.074884] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.075257] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.075616] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.076009] [] do_fallocate+0x123/0x1b0 <4>[ 35.076357] [] SyS_fallocate+0x43/0x70 <4>[ 35.076699] [] system_call_fastpath+0x16/0x1b <4>[ 35.077071] ---[ end trace 6a3b1350ad3997db ]--- <4>[ 35.080531] ------------[ cut here ]------------ <4>[ 35.080881] WARNING: CPU: 2 PID: 3342 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.081564] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.085066] CPU: 2 PID: 3342 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.085665] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.086317] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 35.087075] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73a5a8 <4>[ 35.087828] 0000000000000000 ffff88005b73a5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 35.090490] Call Trace: <4>[ 35.090740] [] dump_stack+0x4d/0x66 <4>[ 35.091103] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.091516] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.091908] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.092329] [] truncate_setsize+0x27/0x40 <4>[ 35.092716] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.093120] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.093519] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.093920] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.094318] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.094738] [] do_fallocate+0x123/0x1b0 <4>[ 35.095124] [] SyS_fallocate+0x43/0x70 <4>[ 35.095500] [] system_call_fastpath+0x16/0x1b <4>[ 35.095907] ---[ end trace 6a3b1350ad3997dc ]--- <4>[ 35.099354] ------------[ cut here ]------------ <4>[ 35.099695] WARNING: CPU: 2 PID: 3344 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.100382] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.103878] CPU: 2 PID: 3344 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.104481] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.105125] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.105874] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73a9a8 <4>[ 35.106637] 0000000000000000 ffff88005b73a9a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.107395] Call Trace: <4>[ 35.107645] [] dump_stack+0x4d/0x66 <4>[ 35.108013] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.108422] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.108814] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.109236] [] truncate_setsize+0x27/0x40 <4>[ 35.109622] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.110024] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.110423] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.110822] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.111220] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.111639] [] do_fallocate+0x123/0x1b0 <4>[ 35.112018] [] SyS_fallocate+0x43/0x70 <4>[ 35.112395] [] system_call_fastpath+0x16/0x1b <4>[ 35.112804] ---[ end trace 6a3b1350ad3997dd ]--- <4>[ 35.116341] ------------[ cut here ]------------ <4>[ 35.116659] WARNING: CPU: 3 PID: 3346 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.117299] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.120420] CPU: 3 PID: 3346 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.120957] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.121552] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 35.122236] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19e1a8 <4>[ 35.122903] 0000000000000000 ffff88007c19e1a8 0000000004000000 ffff88007bf9bdd0 <4>[ 35.123583] Call Trace: <4>[ 35.123811] [] dump_stack+0x4d/0x66 <4>[ 35.124150] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.124515] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.124872] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.125272] [] truncate_setsize+0x27/0x40 <4>[ 35.125625] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.125983] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.126360] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.126726] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.127092] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.127477] [] do_fallocate+0x123/0x1b0 <4>[ 35.127822] [] SyS_fallocate+0x43/0x70 <4>[ 35.128170] [] system_call_fastpath+0x16/0x1b <4>[ 35.128535] ---[ end trace 6a3b1350ad3997de ]--- <4>[ 35.131985] ------------[ cut here ]------------ <4>[ 35.132341] WARNING: CPU: 2 PID: 3348 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.133031] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.136536] CPU: 2 PID: 3348 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.137144] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.137790] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 35.138555] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73ada8 <4>[ 35.139313] 0000000000000000 ffff88005b73ada8 0000000004000000 ffff88007a417dd0 <4>[ 35.140067] Call Trace: <4>[ 35.140327] [] dump_stack+0x4d/0x66 <4>[ 35.140685] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.141109] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.141507] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.141923] [] truncate_setsize+0x27/0x40 <4>[ 35.142319] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.142719] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.143129] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.143534] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.143927] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.144355] [] do_fallocate+0x123/0x1b0 <4>[ 35.144738] [] SyS_fallocate+0x43/0x70 <4>[ 35.145117] [] system_call_fastpath+0x16/0x1b <4>[ 35.145525] ---[ end trace 6a3b1350ad3997df ]--- <4>[ 35.149096] ------------[ cut here ]------------ <4>[ 35.149414] WARNING: CPU: 3 PID: 3350 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.150045] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.153162] CPU: 3 PID: 3350 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.153699] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.154295] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.154968] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19e5a8 <4>[ 35.155658] 0000000000000000 ffff88007c19e5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.156339] Call Trace: <4>[ 35.156567] [] dump_stack+0x4d/0x66 <4>[ 35.156898] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.157269] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.157629] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.158017] [] truncate_setsize+0x27/0x40 <4>[ 35.158372] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.158730] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.159103] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.159469] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.159827] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.160221] [] do_fallocate+0x123/0x1b0 <4>[ 35.160567] [] SyS_fallocate+0x43/0x70 <4>[ 35.160908] [] system_call_fastpath+0x16/0x1b <4>[ 35.161285] ---[ end trace 6a3b1350ad3997e0 ]--- <4>[ 35.164850] ------------[ cut here ]------------ <4>[ 35.165183] WARNING: CPU: 3 PID: 3352 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.165801] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.168925] CPU: 3 PID: 3352 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.169465] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.170059] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.170727] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19e9a8 <4>[ 35.171408] 0000000000000000 ffff88007c19e9a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.172078] Call Trace: <4>[ 35.172316] [] dump_stack+0x4d/0x66 <4>[ 35.172646] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.173019] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.173379] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.173759] [] truncate_setsize+0x27/0x40 <4>[ 35.174128] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.174486] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.174851] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.175234] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.177305] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.177689] [] do_fallocate+0x123/0x1b0 <4>[ 35.178041] [] SyS_fallocate+0x43/0x70 <4>[ 35.178388] [] system_call_fastpath+0x16/0x1b <4>[ 35.178752] ---[ end trace 6a3b1350ad3997e1 ]--- <4>[ 35.182157] ------------[ cut here ]------------ <4>[ 35.182499] WARNING: CPU: 2 PID: 3354 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.183187] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.186699] CPU: 2 PID: 3354 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.187301] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.187942] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.188695] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73b1a8 <4>[ 35.189451] 0000000000000000 ffff88005b73b1a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.190213] Call Trace: <4>[ 35.190468] [] dump_stack+0x4d/0x66 <4>[ 35.190826] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.191243] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.191637] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.192057] [] truncate_setsize+0x27/0x40 <4>[ 35.192443] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.192839] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.193241] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.193641] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.194037] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.194457] [] do_fallocate+0x123/0x1b0 <4>[ 35.194831] [] SyS_fallocate+0x43/0x70 <4>[ 35.195219] [] system_call_fastpath+0x16/0x1b <4>[ 35.195622] ---[ end trace 6a3b1350ad3997e2 ]--- <4>[ 35.198984] ------------[ cut here ]------------ <4>[ 35.199334] WARNING: CPU: 2 PID: 3356 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.200023] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.203520] CPU: 2 PID: 3356 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.204123] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.204763] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.205527] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73b5a8 <4>[ 35.206282] 0000000000000000 ffff88005b73b5a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.207037] Call Trace: <4>[ 35.207288] [] dump_stack+0x4d/0x66 <4>[ 35.207645] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.208064] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.208457] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.208872] [] truncate_setsize+0x27/0x40 <4>[ 35.209264] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.209658] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.210061] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.210462] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.210854] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.211279] [] do_fallocate+0x123/0x1b0 <4>[ 35.211654] [] SyS_fallocate+0x43/0x70 <4>[ 35.212042] [] system_call_fastpath+0x16/0x1b <4>[ 35.212445] ---[ end trace 6a3b1350ad3997e3 ]--- <4>[ 35.215975] ------------[ cut here ]------------ <4>[ 35.216304] WARNING: CPU: 3 PID: 3358 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.216922] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.220050] CPU: 3 PID: 3358 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.220587] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.221182] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.221856] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19eda8 <4>[ 35.222535] 0000000000000000 ffff88007c19eda8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.223215] Call Trace: <4>[ 35.223443] [] dump_stack+0x4d/0x66 <4>[ 35.223774] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.224145] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.224505] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.224885] [] truncate_setsize+0x27/0x40 <4>[ 35.225254] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.225613] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.225977] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.226350] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.226709] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.227101] [] do_fallocate+0x123/0x1b0 <4>[ 35.227449] [] SyS_fallocate+0x43/0x70 <4>[ 35.227790] [] system_call_fastpath+0x16/0x1b <4>[ 35.228171] ---[ end trace 6a3b1350ad3997e4 ]--- <4>[ 35.231644] ------------[ cut here ]------------ <4>[ 35.231986] WARNING: CPU: 2 PID: 3360 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.232673] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.236174] CPU: 2 PID: 3360 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.236768] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.237413] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.238176] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73b9a8 <4>[ 35.238930] 0000000000000000 ffff88005b73b9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.239686] Call Trace: <4>[ 35.239937] [] dump_stack+0x4d/0x66 <4>[ 35.240306] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.240714] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.241111] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.241527] [] truncate_setsize+0x27/0x40 <4>[ 35.241913] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.242316] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.242715] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.243120] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.243513] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.243932] [] do_fallocate+0x123/0x1b0 <4>[ 35.244318] [] SyS_fallocate+0x43/0x70 <4>[ 35.244693] [] system_call_fastpath+0x16/0x1b <4>[ 35.245105] ---[ end trace 6a3b1350ad3997e5 ]--- <4>[ 35.248562] ------------[ cut here ]------------ <4>[ 35.248911] WARNING: CPU: 2 PID: 3362 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.249597] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.253073] CPU: 2 PID: 3362 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.253672] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.254317] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 35.255077] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73bda8 <4>[ 35.255831] 0000000000000000 ffff88005b73bda8 0000000004000000 ffff88007bfabdd0 <4>[ 35.256588] Call Trace: <4>[ 35.256839] [] dump_stack+0x4d/0x66 <4>[ 35.257202] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.257614] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.258011] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.258427] [] truncate_setsize+0x27/0x40 <4>[ 35.258812] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.259213] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.259613] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.260017] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.260409] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.260828] [] do_fallocate+0x123/0x1b0 <4>[ 35.261208] [] SyS_fallocate+0x43/0x70 <4>[ 35.261585] [] system_call_fastpath+0x16/0x1b <4>[ 35.261994] ---[ end trace 6a3b1350ad3997e6 ]--- <4>[ 35.265640] ------------[ cut here ]------------ <4>[ 35.265957] WARNING: CPU: 3 PID: 3364 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.266596] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.271426] CPU: 3 PID: 3364 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.271962] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.272564] 0000000000000009 ffff88007bf9bd88 ffffffff81859ea6 0000000000000000 <4>[ 35.273248] ffff88007bf9bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19f1a8 <4>[ 35.273914] 0000000000000000 ffff88007c19f1a8 0000000004000000 ffff88007bf9bdd0 <4>[ 35.274604] Call Trace: <4>[ 35.274834] [] dump_stack+0x4d/0x66 <4>[ 35.275182] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.275547] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.275904] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.276298] [] truncate_setsize+0x27/0x40 <4>[ 35.276651] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.277017] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.277382] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.277747] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.278113] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.278498] [] do_fallocate+0x123/0x1b0 <4>[ 35.278843] [] SyS_fallocate+0x43/0x70 <4>[ 35.279204] [] system_call_fastpath+0x16/0x1b <4>[ 35.279568] ---[ end trace 6a3b1350ad3997e7 ]--- <4>[ 35.283156] ------------[ cut here ]------------ <4>[ 35.283514] WARNING: CPU: 2 PID: 3366 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.284189] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.287685] CPU: 2 PID: 3366 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.288294] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.288939] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.289705] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1801a8 <4>[ 35.290475] 0000000000000000 ffff88007c1801a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.291241] Call Trace: <4>[ 35.291492] [] dump_stack+0x4d/0x66 <4>[ 35.291850] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.292270] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.292668] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.293092] [] truncate_setsize+0x27/0x40 <4>[ 35.293484] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.293882] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.294291] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.294697] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.295099] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.295523] [] do_fallocate+0x123/0x1b0 <4>[ 35.295902] [] SyS_fallocate+0x43/0x70 <4>[ 35.296282] [] system_call_fastpath+0x16/0x1b <4>[ 35.296690] ---[ end trace 6a3b1350ad3997e8 ]--- <4>[ 35.300428] ------------[ cut here ]------------ <4>[ 35.300744] WARNING: CPU: 3 PID: 3368 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.301373] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.304482] CPU: 3 PID: 3368 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.305023] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.305612] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 35.306284] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19f5a8 <4>[ 35.306951] 0000000000000000 ffff88007c19f5a8 0000000004000000 ffff88007a417dd0 <4>[ 35.307622] Call Trace: <4>[ 35.307850] [] dump_stack+0x4d/0x66 <4>[ 35.308187] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.308553] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.308910] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.309296] [] truncate_setsize+0x27/0x40 <4>[ 35.309648] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.310012] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.310377] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.310742] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.311105] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.311490] [] do_fallocate+0x123/0x1b0 <4>[ 35.311835] [] SyS_fallocate+0x43/0x70 <4>[ 35.312181] [] system_call_fastpath+0x16/0x1b <4>[ 35.312545] ---[ end trace 6a3b1350ad3997e9 ]--- <4>[ 35.316029] ------------[ cut here ]------------ <4>[ 35.316381] WARNING: CPU: 2 PID: 3370 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.317071] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.320587] CPU: 2 PID: 3370 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.321195] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.321839] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.322599] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1805a8 <4>[ 35.323355] 0000000000000000 ffff88007c1805a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.324110] Call Trace: <4>[ 35.324366] [] dump_stack+0x4d/0x66 <4>[ 35.324724] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.325147] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.325559] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.325983] [] truncate_setsize+0x27/0x40 <4>[ 35.326377] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.326777] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.327185] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.327590] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.327983] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.328410] [] do_fallocate+0x123/0x1b0 <4>[ 35.328794] [] SyS_fallocate+0x43/0x70 <4>[ 35.329182] [] system_call_fastpath+0x16/0x1b <4>[ 35.329594] ---[ end trace 6a3b1350ad3997ea ]--- <4>[ 35.333304] ------------[ cut here ]------------ <4>[ 35.333621] WARNING: CPU: 3 PID: 3372 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.334252] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.337374] CPU: 3 PID: 3372 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.337910] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.338517] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.339191] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19f9a8 <4>[ 35.339859] 0000000000000000 ffff88007c19f9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.340540] Call Trace: <4>[ 35.340768] [] dump_stack+0x4d/0x66 <4>[ 35.341109] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.341477] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.341834] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.342220] [] truncate_setsize+0x27/0x40 <4>[ 35.342577] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.342935] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.343307] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.343673] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.344038] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.344423] [] do_fallocate+0x123/0x1b0 <4>[ 35.344768] [] SyS_fallocate+0x43/0x70 <4>[ 35.345118] [] system_call_fastpath+0x16/0x1b <4>[ 35.345483] ---[ end trace 6a3b1350ad3997eb ]--- <4>[ 35.348957] ------------[ cut here ]------------ <4>[ 35.349319] WARNING: CPU: 2 PID: 3374 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.350006] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.353520] CPU: 2 PID: 3374 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.354123] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.354763] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 35.357442] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1809a8 <4>[ 35.358197] 0000000000000000 ffff88007c1809a8 0000000004000000 ffff88007bfabdd0 <4>[ 35.358961] Call Trace: <4>[ 35.359219] [] dump_stack+0x4d/0x66 <4>[ 35.359577] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.359991] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.360389] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.360805] [] truncate_setsize+0x27/0x40 <4>[ 35.361197] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.361600] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.361999] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.362404] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.362797] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.363221] [] do_fallocate+0x123/0x1b0 <4>[ 35.363596] [] SyS_fallocate+0x43/0x70 <4>[ 35.363975] [] system_call_fastpath+0x16/0x1b <4>[ 35.364388] ---[ end trace 6a3b1350ad3997ec ]--- <4>[ 35.367934] ------------[ cut here ]------------ <4>[ 35.368258] WARNING: CPU: 3 PID: 3376 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.368878] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.371993] CPU: 3 PID: 3376 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.372534] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.373129] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.373796] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19fda8 <4>[ 35.374478] 0000000000000000 ffff88007c19fda8 0000000004000000 ffff88007a61fdd0 <4>[ 35.375158] Call Trace: <4>[ 35.375386] [] dump_stack+0x4d/0x66 <4>[ 35.375718] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.376089] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.376449] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.376830] [] truncate_setsize+0x27/0x40 <4>[ 35.377190] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.377550] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.377915] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.378288] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.378647] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.379041] [] do_fallocate+0x123/0x1b0 <4>[ 35.379387] [] SyS_fallocate+0x43/0x70 <4>[ 35.379729] [] system_call_fastpath+0x16/0x1b <4>[ 35.380107] ---[ end trace 6a3b1350ad3997ed ]--- <4>[ 35.383716] ------------[ cut here ]------------ <4>[ 35.384081] WARNING: CPU: 2 PID: 3378 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.384773] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.388303] CPU: 2 PID: 3378 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.388887] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.389530] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.390289] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c180da8 <4>[ 35.391052] 0000000000000000 ffff88007c180da8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.391805] Call Trace: <4>[ 35.392062] [] dump_stack+0x4d/0x66 <4>[ 35.392420] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.392833] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.393230] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.393656] [] truncate_setsize+0x27/0x40 <4>[ 35.394048] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.394441] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.394840] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.395245] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.395639] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.396062] [] do_fallocate+0x123/0x1b0 <4>[ 35.396445] [] SyS_fallocate+0x43/0x70 <4>[ 35.396824] [] system_call_fastpath+0x16/0x1b <4>[ 35.397237] ---[ end trace 6a3b1350ad3997ee ]--- <4>[ 35.400786] ------------[ cut here ]------------ <4>[ 35.401133] WARNING: CPU: 2 PID: 3380 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.401807] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.405312] CPU: 2 PID: 3380 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.405909] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.406553] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.407311] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1811a8 <4>[ 35.408073] 0000000000000000 ffff88007c1811a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.408838] Call Trace: <4>[ 35.409094] [] dump_stack+0x4d/0x66 <4>[ 35.409451] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.409864] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.410263] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.410678] [] truncate_setsize+0x27/0x40 <4>[ 35.411069] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.411473] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.411872] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.412278] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.412671] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.413094] [] do_fallocate+0x123/0x1b0 <4>[ 35.413469] [] SyS_fallocate+0x43/0x70 <4>[ 35.413845] [] system_call_fastpath+0x16/0x1b <4>[ 35.414259] ---[ end trace 6a3b1350ad3997ef ]--- <4>[ 35.418188] ------------[ cut here ]------------ <4>[ 35.418506] WARNING: CPU: 3 PID: 3382 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.419136] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.422248] CPU: 3 PID: 3382 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.422785] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.423386] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 35.424062] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a01a8 <4>[ 35.424727] 0000000000000000 ffff88007c1a01a8 0000000004000000 ffff88007a6dbdd0 <4>[ 35.425407] Call Trace: <4>[ 35.425635] [] dump_stack+0x4d/0x66 <4>[ 35.425966] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.426340] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.426698] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.427086] [] truncate_setsize+0x27/0x40 <4>[ 35.427440] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.427798] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.428170] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.428536] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.428894] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.429288] [] do_fallocate+0x123/0x1b0 <4>[ 35.429634] [] SyS_fallocate+0x43/0x70 <4>[ 35.429975] [] system_call_fastpath+0x16/0x1b <4>[ 35.430347] ---[ end trace 6a3b1350ad3997f0 ]--- <4>[ 35.434249] ------------[ cut here ]------------ <4>[ 35.434564] WARNING: CPU: 3 PID: 3384 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.435191] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.438295] CPU: 3 PID: 3384 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.438832] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.439426] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.440102] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a05a8 <4>[ 35.440769] 0000000000000000 ffff88007c1a05a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.441450] Call Trace: <4>[ 35.441677] [] dump_stack+0x4d/0x66 <4>[ 35.442016] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.442381] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.442738] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.443124] [] truncate_setsize+0x27/0x40 <4>[ 35.445183] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.445542] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.445906] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.446278] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.446636] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.447024] [] do_fallocate+0x123/0x1b0 <4>[ 35.447369] [] SyS_fallocate+0x43/0x70 <4>[ 35.447710] [] system_call_fastpath+0x16/0x1b <4>[ 35.448080] ---[ end trace 6a3b1350ad3997f1 ]--- <4>[ 35.451650] ------------[ cut here ]------------ <4>[ 35.451966] WARNING: CPU: 3 PID: 3386 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.452594] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.455714] CPU: 3 PID: 3386 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.456256] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.456843] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 35.457516] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a09a8 <4>[ 35.458187] 0000000000000000 ffff88007c1a09a8 0000000004000000 ffff88007a6dbdd0 <4>[ 35.458853] Call Trace: <4>[ 35.459085] [] dump_stack+0x4d/0x66 <4>[ 35.459417] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.459782] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.460156] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.460536] [] truncate_setsize+0x27/0x40 <4>[ 35.460887] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.461250] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.461615] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.461980] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.462343] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.462728] [] do_fallocate+0x123/0x1b0 <4>[ 35.463087] [] SyS_fallocate+0x43/0x70 <4>[ 35.463429] [] system_call_fastpath+0x16/0x1b <4>[ 35.463793] ---[ end trace 6a3b1350ad3997f2 ]--- <4>[ 35.467523] ------------[ cut here ]------------ <4>[ 35.467837] WARNING: CPU: 3 PID: 3390 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.468464] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.471566] CPU: 3 PID: 3390 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.472109] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.472697] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 35.473369] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a0da8 <4>[ 35.474047] 0000000000000000 ffff88007c1a0da8 0000000004000000 ffff88007bf8bdd0 <4>[ 35.474732] Call Trace: <4>[ 35.474965] [] dump_stack+0x4d/0x66 <4>[ 35.475315] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.475679] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.476042] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.476423] [] truncate_setsize+0x27/0x40 <4>[ 35.476774] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.477137] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.477502] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.477866] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.478239] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.478623] [] do_fallocate+0x123/0x1b0 <4>[ 35.478968] [] SyS_fallocate+0x43/0x70 <4>[ 35.479314] [] system_call_fastpath+0x16/0x1b <4>[ 35.479678] ---[ end trace 6a3b1350ad3997f3 ]--- <4>[ 35.483197] ------------[ cut here ]------------ <4>[ 35.483541] WARNING: CPU: 2 PID: 3394 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.484231] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.487731] CPU: 2 PID: 3394 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.488335] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.488980] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 35.489752] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1815a8 <4>[ 35.490523] 0000000000000000 ffff88007c1815a8 0000000004000000 ffff88007d087dd0 <4>[ 35.491286] Call Trace: <4>[ 35.491537] [] dump_stack+0x4d/0x66 <4>[ 35.491895] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.492320] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.492718] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.493142] [] truncate_setsize+0x27/0x40 <4>[ 35.493534] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.493931] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.494340] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.494745] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.495158] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.495583] [] do_fallocate+0x123/0x1b0 <4>[ 35.495962] [] SyS_fallocate+0x43/0x70 <4>[ 35.496341] [] system_call_fastpath+0x16/0x1b <4>[ 35.496748] ---[ end trace 6a3b1350ad3997f4 ]--- <4>[ 35.500314] ------------[ cut here ]------------ <4>[ 35.500632] WARNING: CPU: 3 PID: 3396 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.501259] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.504411] CPU: 3 PID: 3396 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.504948] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.505538] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.506223] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a11a8 <4>[ 35.506890] 0000000000000000 ffff88007c1a11a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.507561] Call Trace: <4>[ 35.507790] [] dump_stack+0x4d/0x66 <4>[ 35.508128] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.508493] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.508850] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.509235] [] truncate_setsize+0x27/0x40 <4>[ 35.509587] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.509945] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.510314] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.510680] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.511042] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.511427] [] do_fallocate+0x123/0x1b0 <4>[ 35.511772] [] SyS_fallocate+0x43/0x70 <4>[ 35.512117] [] system_call_fastpath+0x16/0x1b <4>[ 35.512482] ---[ end trace 6a3b1350ad3997f5 ]--- <4>[ 35.515954] ------------[ cut here ]------------ <4>[ 35.516274] WARNING: CPU: 3 PID: 3400 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.516892] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.519999] CPU: 3 PID: 3400 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.520542] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.521132] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.521800] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a15a8 <4>[ 35.522474] 0000000000000000 ffff88007c1a15a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.523146] Call Trace: <4>[ 35.523374] [] dump_stack+0x4d/0x66 <4>[ 35.523705] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.524075] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.524433] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.524814] [] truncate_setsize+0x27/0x40 <4>[ 35.525171] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.525528] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.525893] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.526261] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.526620] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.527009] [] do_fallocate+0x123/0x1b0 <4>[ 35.527355] [] SyS_fallocate+0x43/0x70 <4>[ 35.527696] [] system_call_fastpath+0x16/0x1b <4>[ 35.528064] ---[ end trace 6a3b1350ad3997f6 ]--- <4>[ 35.533168] ------------[ cut here ]------------ <4>[ 35.533488] WARNING: CPU: 3 PID: 3402 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.534129] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.537329] CPU: 3 PID: 3402 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.537866] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.538462] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 35.539134] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a19a8 <4>[ 35.539803] 0000000000000000 ffff88007c1a19a8 0000000004000000 ffff88007bfabdd0 <4>[ 35.540474] Call Trace: <4>[ 35.540702] [] dump_stack+0x4d/0x66 <4>[ 35.541046] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.541416] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.541773] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.542158] [] truncate_setsize+0x27/0x40 <4>[ 35.542510] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.542869] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.543237] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.543603] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.543960] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.544353] [] do_fallocate+0x123/0x1b0 <4>[ 35.544699] [] SyS_fallocate+0x43/0x70 <4>[ 35.545043] [] system_call_fastpath+0x16/0x1b <4>[ 35.545408] ---[ end trace 6a3b1350ad3997f7 ]--- <4>[ 35.548917] ------------[ cut here ]------------ <4>[ 35.549251] WARNING: CPU: 3 PID: 3406 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.549870] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.552985] CPU: 3 PID: 3406 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.553527] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.554117] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.554785] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a1da8 <4>[ 35.555462] 0000000000000000 ffff88007c1a1da8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.556132] Call Trace: <4>[ 35.556360] [] dump_stack+0x4d/0x66 <4>[ 35.556691] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.557061] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.557419] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.557799] [] truncate_setsize+0x27/0x40 <4>[ 35.558164] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.558522] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.558886] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.559257] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.559614] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.559999] [] do_fallocate+0x123/0x1b0 <4>[ 35.560348] [] SyS_fallocate+0x43/0x70 <4>[ 35.560689] [] system_call_fastpath+0x16/0x1b <4>[ 35.561062] ---[ end trace 6a3b1350ad3997f8 ]--- <4>[ 35.564591] ------------[ cut here ]------------ <4>[ 35.564905] WARNING: CPU: 3 PID: 3408 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.565533] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.568643] CPU: 3 PID: 3408 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.569185] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.569773] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.570454] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a21a8 <4>[ 35.571125] 0000000000000000 ffff88007c1a21a8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.571793] Call Trace: <4>[ 35.572026] [] dump_stack+0x4d/0x66 <4>[ 35.572358] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.572723] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.573095] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.573476] [] truncate_setsize+0x27/0x40 <4>[ 35.573826] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.574189] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.574554] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.574918] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.575281] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.575666] [] do_fallocate+0x123/0x1b0 <4>[ 35.576021] [] SyS_fallocate+0x43/0x70 <4>[ 35.576362] [] system_call_fastpath+0x16/0x1b <4>[ 35.576725] ---[ end trace 6a3b1350ad3997f9 ]--- <4>[ 35.580205] ------------[ cut here ]------------ <4>[ 35.580550] WARNING: CPU: 2 PID: 3410 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.581241] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.584734] CPU: 2 PID: 3410 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.585343] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.585988] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.586761] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1819a8 <4>[ 35.587518] 0000000000000000 ffff88007c1819a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.588287] Call Trace: <4>[ 35.588537] [] dump_stack+0x4d/0x66 <4>[ 35.588895] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.589319] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.589717] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.590141] [] truncate_setsize+0x27/0x40 <4>[ 35.590533] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.590931] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.591340] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.591746] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.592148] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.592573] [] do_fallocate+0x123/0x1b0 <4>[ 35.592952] [] SyS_fallocate+0x43/0x70 <4>[ 35.593331] [] system_call_fastpath+0x16/0x1b <4>[ 35.593739] ---[ end trace 6a3b1350ad3997fa ]--- <4>[ 35.597045] ------------[ cut here ]------------ <4>[ 35.597391] WARNING: CPU: 2 PID: 3412 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.598080] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.601584] CPU: 2 PID: 3412 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.602192] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.602836] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 35.603602] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c181da8 <4>[ 35.604358] 0000000000000000 ffff88007c181da8 0000000004000000 ffff88007bfabdd0 <4>[ 35.605111] Call Trace: <4>[ 35.605371] [] dump_stack+0x4d/0x66 <4>[ 35.605728] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.606151] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.606549] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.606964] [] truncate_setsize+0x27/0x40 <4>[ 35.607359] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.607759] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.608167] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.608572] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.608964] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.609392] [] do_fallocate+0x123/0x1b0 <4>[ 35.609777] [] SyS_fallocate+0x43/0x70 <4>[ 35.610159] [] system_call_fastpath+0x16/0x1b <4>[ 35.610567] ---[ end trace 6a3b1350ad3997fb ]--- <4>[ 35.614231] ------------[ cut here ]------------ <4>[ 35.614549] WARNING: CPU: 3 PID: 3414 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.615176] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.618288] CPU: 3 PID: 3414 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.620540] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.621130] 0000000000000009 ffff880000a13d88 ffffffff81859ea6 0000000000000000 <4>[ 35.621798] ffff880000a13dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a25a8 <4>[ 35.622469] 0000000000000000 ffff88007c1a25a8 0000000004000000 ffff880000a13dd0 <4>[ 35.623148] Call Trace: <4>[ 35.623376] [] dump_stack+0x4d/0x66 <4>[ 35.623708] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.624077] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.624435] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.624816] [] truncate_setsize+0x27/0x40 <4>[ 35.625172] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.625531] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.625895] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.626271] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.626629] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.627019] [] do_fallocate+0x123/0x1b0 <4>[ 35.627365] [] SyS_fallocate+0x43/0x70 <4>[ 35.627706] [] system_call_fastpath+0x16/0x1b <4>[ 35.628074] ---[ end trace 6a3b1350ad3997fc ]--- <4>[ 35.631558] ------------[ cut here ]------------ <4>[ 35.631901] WARNING: CPU: 2 PID: 3416 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.632598] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.636100] CPU: 2 PID: 3416 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.636698] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.637341] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 35.638097] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1821a8 <4>[ 35.638849] 0000000000000000 ffff88007c1821a8 0000000004000000 ffff88007bfbfdd0 <4>[ 35.639615] Call Trace: <4>[ 35.639866] [] dump_stack+0x4d/0x66 <4>[ 35.640234] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.640644] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.641042] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.641466] [] truncate_setsize+0x27/0x40 <4>[ 35.641851] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.642257] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.642661] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.643071] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.643470] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.643889] [] do_fallocate+0x123/0x1b0 <4>[ 35.644273] [] SyS_fallocate+0x43/0x70 <4>[ 35.644660] [] system_call_fastpath+0x16/0x1b <4>[ 35.645077] ---[ end trace 6a3b1350ad3997fd ]--- <4>[ 35.648479] ------------[ cut here ]------------ <4>[ 35.648820] WARNING: CPU: 2 PID: 3418 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.649505] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.652999] CPU: 2 PID: 3418 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.653601] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.654244] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.655006] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1825a8 <4>[ 35.655759] 0000000000000000 ffff88007c1825a8 0000000004000000 ffff88007a50fdd0 <4>[ 35.656515] Call Trace: <4>[ 35.656765] [] dump_stack+0x4d/0x66 <4>[ 35.657134] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.657544] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.657936] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.658357] [] truncate_setsize+0x27/0x40 <4>[ 35.658743] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.659145] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.659544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.659943] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.660342] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.660762] [] do_fallocate+0x123/0x1b0 <4>[ 35.661147] [] SyS_fallocate+0x43/0x70 <4>[ 35.661522] [] system_call_fastpath+0x16/0x1b <4>[ 35.661931] ---[ end trace 6a3b1350ad3997fe ]--- <4>[ 35.665572] ------------[ cut here ]------------ <4>[ 35.665890] WARNING: CPU: 3 PID: 3420 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.666528] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.669649] CPU: 3 PID: 3420 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.670195] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.670783] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 35.671466] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a29a8 <4>[ 35.672152] 0000000000000000 ffff88007c1a29a8 0000000004000000 ffff88007bf43dd0 <4>[ 35.672824] Call Trace: <4>[ 35.673062] [] dump_stack+0x4d/0x66 <4>[ 35.673401] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.673766] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.674133] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.674514] [] truncate_setsize+0x27/0x40 <4>[ 35.674866] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.675243] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.675609] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.675974] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.676344] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.676729] [] do_fallocate+0x123/0x1b0 <4>[ 35.677081] [] SyS_fallocate+0x43/0x70 <4>[ 35.677427] [] system_call_fastpath+0x16/0x1b <4>[ 35.677791] ---[ end trace 6a3b1350ad3997ff ]--- <4>[ 35.681156] ------------[ cut here ]------------ <4>[ 35.681516] WARNING: CPU: 2 PID: 3422 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.682200] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.685708] CPU: 2 PID: 3422 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.686305] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.686946] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.687701] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1829a8 <4>[ 35.688443] 0000000000000000 ffff88007c1829a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.689226] Call Trace: <4>[ 35.689491] [] dump_stack+0x4d/0x66 <4>[ 35.689838] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.690248] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.690642] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.691063] [] truncate_setsize+0x27/0x40 <4>[ 35.691450] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.691847] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.692255] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.692655] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.693053] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.693473] [] do_fallocate+0x123/0x1b0 <4>[ 35.693847] [] SyS_fallocate+0x43/0x70 <4>[ 35.694237] [] system_call_fastpath+0x16/0x1b <4>[ 35.694640] ---[ end trace 6a3b1350ad399800 ]--- <4>[ 35.698460] ------------[ cut here ]------------ <4>[ 35.698777] WARNING: CPU: 3 PID: 3426 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.699415] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.702539] CPU: 3 PID: 3426 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.703085] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.703673] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 35.704360] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a2da8 <4>[ 35.705036] 0000000000000000 ffff88007c1a2da8 0000000004000000 ffff88007a417dd0 <4>[ 35.705703] Call Trace: <4>[ 35.705932] [] dump_stack+0x4d/0x66 <4>[ 35.707976] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.708343] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.708701] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.709090] [] truncate_setsize+0x27/0x40 <4>[ 35.709444] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.709802] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.710174] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.710540] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.710898] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.711296] [] do_fallocate+0x123/0x1b0 <4>[ 35.711643] [] SyS_fallocate+0x43/0x70 <4>[ 35.711984] [] system_call_fastpath+0x16/0x1b <4>[ 35.712357] ---[ end trace 6a3b1350ad399801 ]--- <4>[ 35.715954] ------------[ cut here ]------------ <4>[ 35.716284] WARNING: CPU: 3 PID: 3428 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.716903] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.720023] CPU: 3 PID: 3428 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.720560] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.721152] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 35.721821] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a31a8 <4>[ 35.722504] 0000000000000000 ffff88007c1a31a8 0000000004000000 ffff88007bf43dd0 <4>[ 35.723176] Call Trace: <4>[ 35.723403] [] dump_stack+0x4d/0x66 <4>[ 35.723733] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.724103] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.724461] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.724841] [] truncate_setsize+0x27/0x40 <4>[ 35.725207] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.725565] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.725929] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.726299] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.726657] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.727046] [] do_fallocate+0x123/0x1b0 <4>[ 35.727391] [] SyS_fallocate+0x43/0x70 <4>[ 35.727732] [] system_call_fastpath+0x16/0x1b <4>[ 35.728109] ---[ end trace 6a3b1350ad399802 ]--- <4>[ 35.731521] ------------[ cut here ]------------ <4>[ 35.731884] WARNING: CPU: 2 PID: 3430 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.732570] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.736082] CPU: 2 PID: 3430 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.736675] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.737319] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 35.738080] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c182da8 <4>[ 35.738832] 0000000000000000 ffff88007c182da8 0000000004000000 ffff88007d087dd0 <4>[ 35.739593] Call Trace: <4>[ 35.739844] [] dump_stack+0x4d/0x66 <4>[ 35.740210] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.740620] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.741021] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.741443] [] truncate_setsize+0x27/0x40 <4>[ 35.741829] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.742236] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.742641] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.743051] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.743451] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.743870] [] do_fallocate+0x123/0x1b0 <4>[ 35.744254] [] SyS_fallocate+0x43/0x70 <4>[ 35.744638] [] system_call_fastpath+0x16/0x1b <4>[ 35.745055] ---[ end trace 6a3b1350ad399803 ]--- <4>[ 35.748843] ------------[ cut here ]------------ <4>[ 35.749178] WARNING: CPU: 3 PID: 3432 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.749796] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.752924] CPU: 3 PID: 3432 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.753465] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.754056] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.754724] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a35a8 <4>[ 35.755405] 0000000000000000 ffff88007c1a35a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.756076] Call Trace: <4>[ 35.756306] [] dump_stack+0x4d/0x66 <4>[ 35.756637] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.757006] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.757364] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.757745] [] truncate_setsize+0x27/0x40 <4>[ 35.758110] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.758469] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.758834] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.759203] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.759562] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.759946] [] do_fallocate+0x123/0x1b0 <4>[ 35.760295] [] SyS_fallocate+0x43/0x70 <4>[ 35.760638] [] system_call_fastpath+0x16/0x1b <4>[ 35.761004] ---[ end trace 6a3b1350ad399804 ]--- <4>[ 35.764587] ------------[ cut here ]------------ <4>[ 35.764940] WARNING: CPU: 2 PID: 3434 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.765632] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.769144] CPU: 2 PID: 3434 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.769737] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.770381] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 35.771137] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1831a8 <4>[ 35.771889] 0000000000000000 ffff88007c1831a8 0000000004000000 ffff88007a417dd0 <4>[ 35.772656] Call Trace: <4>[ 35.772907] [] dump_stack+0x4d/0x66 <4>[ 35.773275] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.773685] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.774087] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.774508] [] truncate_setsize+0x27/0x40 <4>[ 35.774894] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.775302] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.775707] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.776116] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.776514] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.776932] [] do_fallocate+0x123/0x1b0 <4>[ 35.777315] [] SyS_fallocate+0x43/0x70 <4>[ 35.777699] [] system_call_fastpath+0x16/0x1b <4>[ 35.778115] ---[ end trace 6a3b1350ad399805 ]--- <4>[ 35.781631] ------------[ cut here ]------------ <4>[ 35.781973] WARNING: CPU: 2 PID: 3436 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.782660] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.786159] CPU: 2 PID: 3436 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.786758] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.787403] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 35.788158] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1835a8 <4>[ 35.788909] 0000000000000000 ffff88007c1835a8 0000000004000000 ffff88007bfbfdd0 <4>[ 35.789666] Call Trace: <4>[ 35.789916] [] dump_stack+0x4d/0x66 <4>[ 35.790279] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.790694] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.791091] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.791506] [] truncate_setsize+0x27/0x40 <4>[ 35.791892] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.792294] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.792694] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.793099] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.793492] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.793911] [] do_fallocate+0x123/0x1b0 <4>[ 35.796193] [] SyS_fallocate+0x43/0x70 <4>[ 35.796564] [] system_call_fastpath+0x16/0x1b <4>[ 35.796970] ---[ end trace 6a3b1350ad399806 ]--- <4>[ 35.800596] ------------[ cut here ]------------ <4>[ 35.800914] WARNING: CPU: 3 PID: 3438 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.801553] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.804685] CPU: 3 PID: 3438 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.805230] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.805817] 0000000000000009 ffff88007a61fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.806498] ffff88007a61fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a39a8 <4>[ 35.807179] 0000000000000000 ffff88007c1a39a8 0000000004000000 ffff88007a61fdd0 <4>[ 35.807846] Call Trace: <4>[ 35.808088] [] dump_stack+0x4d/0x66 <4>[ 35.808420] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.808785] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.809149] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.809531] [] truncate_setsize+0x27/0x40 <4>[ 35.809882] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.810255] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.810622] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.810988] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.811358] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.811743] [] do_fallocate+0x123/0x1b0 <4>[ 35.812094] [] SyS_fallocate+0x43/0x70 <4>[ 35.812441] [] system_call_fastpath+0x16/0x1b <4>[ 35.812805] ---[ end trace 6a3b1350ad399807 ]--- <4>[ 35.816182] ------------[ cut here ]------------ <4>[ 35.816525] WARNING: CPU: 2 PID: 3440 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.817210] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.820709] CPU: 2 PID: 3440 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.821312] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.821952] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 35.822698] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1839a8 <4>[ 35.823444] 0000000000000000 ffff88007c1839a8 0000000004000000 ffff88007d087dd0 <4>[ 35.824208] Call Trace: <4>[ 35.824463] [] dump_stack+0x4d/0x66 <4>[ 35.824821] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.825240] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.825633] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.826053] [] truncate_setsize+0x27/0x40 <4>[ 35.826439] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.826837] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.827242] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.827642] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.828039] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.828459] [] do_fallocate+0x123/0x1b0 <4>[ 35.828834] [] SyS_fallocate+0x43/0x70 <4>[ 35.829222] [] system_call_fastpath+0x16/0x1b <4>[ 35.829624] ---[ end trace 6a3b1350ad399808 ]--- <4>[ 35.833152] ------------[ cut here ]------------ <4>[ 35.833469] WARNING: CPU: 3 PID: 3442 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.834103] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.837223] CPU: 3 PID: 3442 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.837760] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.838356] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.839031] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a3da8 <4>[ 35.839698] 0000000000000000 ffff88007c1a3da8 0000000004000000 ffff88007a56fdd0 <4>[ 35.840381] Call Trace: <4>[ 35.840609] [] dump_stack+0x4d/0x66 <4>[ 35.840939] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.841312] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.841671] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.842059] [] truncate_setsize+0x27/0x40 <4>[ 35.842413] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.842771] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.843154] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.843521] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.843879] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.844277] [] do_fallocate+0x123/0x1b0 <4>[ 35.844624] [] SyS_fallocate+0x43/0x70 <4>[ 35.844965] [] system_call_fastpath+0x16/0x1b <4>[ 35.845336] ---[ end trace 6a3b1350ad399809 ]--- <4>[ 35.848651] ------------[ cut here ]------------ <4>[ 35.849022] WARNING: CPU: 2 PID: 3444 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.849699] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.853198] CPU: 2 PID: 3444 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.853792] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.854435] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.855188] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c183da8 <4>[ 35.855937] 0000000000000000 ffff88007c183da8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.856691] Call Trace: <4>[ 35.856947] [] dump_stack+0x4d/0x66 <4>[ 35.857316] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.857724] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.858120] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.858536] [] truncate_setsize+0x27/0x40 <4>[ 35.858921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.859321] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.859721] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.860123] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.860516] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.860935] [] do_fallocate+0x123/0x1b0 <4>[ 35.861320] [] SyS_fallocate+0x43/0x70 <4>[ 35.861696] [] system_call_fastpath+0x16/0x1b <4>[ 35.862107] ---[ end trace 6a3b1350ad39980a ]--- <4>[ 35.865377] ------------[ cut here ]------------ <4>[ 35.865719] WARNING: CPU: 2 PID: 3446 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.866406] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.869908] CPU: 2 PID: 3446 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.870506] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.871144] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 35.871899] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a41a8 <4>[ 35.872661] 0000000000000000 ffff88007c1a41a8 0000000004000000 ffff88007bf43dd0 <4>[ 35.873416] Call Trace: <4>[ 35.873667] [] dump_stack+0x4d/0x66 <4>[ 35.874034] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.874444] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.874836] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.875257] [] truncate_setsize+0x27/0x40 <4>[ 35.875643] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.876043] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.876442] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.876841] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.877239] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.877657] [] do_fallocate+0x123/0x1b0 <4>[ 35.878041] [] SyS_fallocate+0x43/0x70 <4>[ 35.878417] [] system_call_fastpath+0x16/0x1b <4>[ 35.878825] ---[ end trace 6a3b1350ad39980b ]--- <4>[ 35.882349] ------------[ cut here ]------------ <4>[ 35.882667] WARNING: CPU: 3 PID: 3448 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.883307] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.888136] CPU: 3 PID: 3448 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.888673] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.889278] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.889951] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bc1a8 <4>[ 35.890629] 0000000000000000 ffff88007c1bc1a8 0000000004000000 ffff88007a56fdd0 <4>[ 35.891310] Call Trace: <4>[ 35.891539] [] dump_stack+0x4d/0x66 <4>[ 35.891870] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.892249] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.892607] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.892988] [] truncate_setsize+0x27/0x40 <4>[ 35.893351] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.893710] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.894081] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.894447] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.894805] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.895196] [] do_fallocate+0x123/0x1b0 <4>[ 35.895545] [] SyS_fallocate+0x43/0x70 <4>[ 35.895886] [] system_call_fastpath+0x16/0x1b <4>[ 35.896263] ---[ end trace 6a3b1350ad39980c ]--- <4>[ 35.899615] ------------[ cut here ]------------ <4>[ 35.899963] WARNING: CPU: 2 PID: 3450 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.900655] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.904161] CPU: 2 PID: 3450 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.904755] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.905398] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.906154] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a45a8 <4>[ 35.906906] 0000000000000000 ffff88007c1a45a8 0000000004000000 ffff88007bfd7dd0 <4>[ 35.907668] Call Trace: <4>[ 35.907918] [] dump_stack+0x4d/0x66 <4>[ 35.908280] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.908693] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.909090] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.909506] [] truncate_setsize+0x27/0x40 <4>[ 35.909891] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.910294] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.910694] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.911097] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.911490] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.911909] [] do_fallocate+0x123/0x1b0 <4>[ 35.912295] [] SyS_fallocate+0x43/0x70 <4>[ 35.912670] [] system_call_fastpath+0x16/0x1b <4>[ 35.913082] ---[ end trace 6a3b1350ad39980d ]--- <4>[ 35.916369] ------------[ cut here ]------------ <4>[ 35.916711] WARNING: CPU: 2 PID: 3452 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.917396] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.920897] CPU: 2 PID: 3452 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.921500] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.922142] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 35.922892] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a49a8 <4>[ 35.923653] 0000000000000000 ffff88007c1a49a8 0000000004000000 ffff88007bfc3dd0 <4>[ 35.924409] Call Trace: <4>[ 35.924660] [] dump_stack+0x4d/0x66 <4>[ 35.925028] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.925437] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.925829] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.926249] [] truncate_setsize+0x27/0x40 <4>[ 35.926635] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.927035] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.927434] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.927834] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.928233] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.928652] [] do_fallocate+0x123/0x1b0 <4>[ 35.929037] [] SyS_fallocate+0x43/0x70 <4>[ 35.929411] [] system_call_fastpath+0x16/0x1b <4>[ 35.929820] ---[ end trace 6a3b1350ad39980e ]--- <4>[ 35.933425] ------------[ cut here ]------------ <4>[ 35.933743] WARNING: CPU: 3 PID: 3454 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.934384] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.937507] CPU: 3 PID: 3454 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.938048] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.938640] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 35.939322] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bc5a8 <4>[ 35.939988] 0000000000000000 ffff88007c1bc5a8 0000000004000000 ffff88007a417dd0 <4>[ 35.940677] Call Trace: <4>[ 35.940905] [] dump_stack+0x4d/0x66 <4>[ 35.941252] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.941617] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.941975] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.942363] [] truncate_setsize+0x27/0x40 <4>[ 35.942717] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.943084] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.943450] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.943815] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.944191] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.944579] [] do_fallocate+0x123/0x1b0 <4>[ 35.944923] [] SyS_fallocate+0x43/0x70 <4>[ 35.945281] [] system_call_fastpath+0x16/0x1b <4>[ 35.945645] ---[ end trace 6a3b1350ad39980f ]--- <4>[ 35.948857] ------------[ cut here ]------------ <4>[ 35.949222] WARNING: CPU: 2 PID: 3456 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.949885] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.953374] CPU: 2 PID: 3456 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.953988] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.954638] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 35.955384] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a4da8 <4>[ 35.956141] 0000000000000000 ffff88007c1a4da8 0000000004000000 ffff88007a56fdd0 <4>[ 35.956893] Call Trace: <4>[ 35.957150] [] dump_stack+0x4d/0x66 <4>[ 35.957508] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.957921] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.958320] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.958735] [] truncate_setsize+0x27/0x40 <4>[ 35.959125] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.959519] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.959919] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.960324] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.960718] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.961141] [] do_fallocate+0x123/0x1b0 <4>[ 35.961516] [] SyS_fallocate+0x43/0x70 <4>[ 35.961892] [] system_call_fastpath+0x16/0x1b <4>[ 35.962303] ---[ end trace 6a3b1350ad399810 ]--- <4>[ 35.965791] ------------[ cut here ]------------ <4>[ 35.966130] WARNING: CPU: 3 PID: 3458 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.966749] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.969877] CPU: 3 PID: 3458 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.970423] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.971013] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 35.971682] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bc9a8 <4>[ 35.974068] 0000000000000000 ffff88007c1bc9a8 0000000004000000 ffff88007bf43dd0 <4>[ 35.974734] Call Trace: <4>[ 35.974962] [] dump_stack+0x4d/0x66 <4>[ 35.975301] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.975666] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.976033] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.976415] [] truncate_setsize+0x27/0x40 <4>[ 35.976766] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.977131] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.977497] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.977861] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.978238] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.978625] [] do_fallocate+0x123/0x1b0 <4>[ 35.978971] [] SyS_fallocate+0x43/0x70 <4>[ 35.979321] [] system_call_fastpath+0x16/0x1b <4>[ 35.979685] ---[ end trace 6a3b1350ad399811 ]--- <4>[ 35.983060] ------------[ cut here ]------------ <4>[ 35.983408] WARNING: CPU: 2 PID: 3460 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 35.984094] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 35.987604] CPU: 2 PID: 3460 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 35.988202] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 35.988842] 0000000000000009 ffff8800009f7d88 ffffffff81859ea6 0000000000000000 <4>[ 35.989604] ffff8800009f7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a51a8 <4>[ 35.990360] 0000000000000000 ffff88007c1a51a8 0000000004000000 ffff8800009f7dd0 <4>[ 35.991112] Call Trace: <4>[ 35.991366] [] dump_stack+0x4d/0x66 <4>[ 35.991724] [] warn_slowpath_common+0x7d/0xa0 <4>[ 35.992143] [] warn_slowpath_null+0x1a/0x20 <4>[ 35.992535] [] pagecache_isize_extended+0xdd/0x120 <4>[ 35.992950] [] truncate_setsize+0x27/0x40 <4>[ 35.993341] [] xfs_setattr_size+0x157/0x3a0 <4>[ 35.993735] [] ? xfs_trans_commit+0x157/0x250 <4>[ 35.994139] [] xfs_file_fallocate+0x2df/0x300 <4>[ 35.994540] [] ? __sb_start_write+0x49/0xf0 <4>[ 35.994932] [] ? selinux_file_permission+0xc4/0x120 <4>[ 35.995357] [] do_fallocate+0x123/0x1b0 <4>[ 35.995732] [] SyS_fallocate+0x43/0x70 <4>[ 35.996116] [] system_call_fastpath+0x16/0x1b <4>[ 35.996521] ---[ end trace 6a3b1350ad399812 ]--- <4>[ 36.000041] ------------[ cut here ]------------ <4>[ 36.000359] WARNING: CPU: 3 PID: 3462 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.000977] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.004107] CPU: 3 PID: 3462 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.004644] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.005239] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.005912] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bcda8 <4>[ 36.006592] 0000000000000000 ffff88007c1bcda8 0000000004000000 ffff88007a417dd0 <4>[ 36.007272] Call Trace: <4>[ 36.007500] [] dump_stack+0x4d/0x66 <4>[ 36.007831] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.008203] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.008563] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.008944] [] truncate_setsize+0x27/0x40 <4>[ 36.009308] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.009668] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.010040] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.010406] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.010764] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.011156] [] do_fallocate+0x123/0x1b0 <4>[ 36.011504] [] SyS_fallocate+0x43/0x70 <4>[ 36.011845] [] system_call_fastpath+0x16/0x1b <4>[ 36.012226] ---[ end trace 6a3b1350ad399813 ]--- <4>[ 36.015576] ------------[ cut here ]------------ <4>[ 36.015919] WARNING: CPU: 2 PID: 3464 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.016605] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.020101] CPU: 2 PID: 3464 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.020693] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.021336] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 36.022084] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a55a8 <4>[ 36.022841] 0000000000000000 ffff88007c1a55a8 0000000004000000 ffff88007bfc3dd0 <4>[ 36.023603] Call Trace: <4>[ 36.023852] [] dump_stack+0x4d/0x66 <4>[ 36.024220] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.024629] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.025026] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.025441] [] truncate_setsize+0x27/0x40 <4>[ 36.025827] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.026228] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.026627] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.027031] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.027424] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.027843] [] do_fallocate+0x123/0x1b0 <4>[ 36.028228] [] SyS_fallocate+0x43/0x70 <4>[ 36.028604] [] system_call_fastpath+0x16/0x1b <4>[ 36.029018] ---[ end trace 6a3b1350ad399814 ]--- <4>[ 36.032587] ------------[ cut here ]------------ <4>[ 36.032903] WARNING: CPU: 3 PID: 3466 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.033541] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.036659] CPU: 3 PID: 3466 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.037206] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.037794] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.038474] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bd1a8 <4>[ 36.039156] 0000000000000000 ffff88007c1bd1a8 0000000004000000 ffff88007a56fdd0 <4>[ 36.039823] Call Trace: <4>[ 36.040060] [] dump_stack+0x4d/0x66 <4>[ 36.040395] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.040759] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.041123] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.041505] [] truncate_setsize+0x27/0x40 <4>[ 36.041856] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.042235] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.042600] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.042965] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.043331] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.043717] [] do_fallocate+0x123/0x1b0 <4>[ 36.044068] [] SyS_fallocate+0x43/0x70 <4>[ 36.044414] [] system_call_fastpath+0x16/0x1b <4>[ 36.044777] ---[ end trace 6a3b1350ad399815 ]--- <4>[ 36.048124] ------------[ cut here ]------------ <4>[ 36.048466] WARNING: CPU: 2 PID: 3468 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.049154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.052650] CPU: 2 PID: 3468 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.053254] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.053895] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 36.054651] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a59a8 <4>[ 36.055420] 0000000000000000 ffff88007c1a59a8 0000000004000000 ffff88007bfbfdd0 <4>[ 36.056174] Call Trace: <4>[ 36.056425] [] dump_stack+0x4d/0x66 <4>[ 36.056783] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.057201] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.057594] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.058013] [] truncate_setsize+0x27/0x40 <4>[ 36.058400] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.058796] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.061096] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.061511] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.061903] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.062328] [] do_fallocate+0x123/0x1b0 <4>[ 36.062703] [] SyS_fallocate+0x43/0x70 <4>[ 36.063087] [] system_call_fastpath+0x16/0x1b <4>[ 36.063493] ---[ end trace 6a3b1350ad399816 ]--- <4>[ 36.067060] ------------[ cut here ]------------ <4>[ 36.067382] WARNING: CPU: 3 PID: 3470 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.068013] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.071132] CPU: 3 PID: 3470 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.071670] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.072265] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.072940] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bd5a8 <4>[ 36.073620] 0000000000000000 ffff88007c1bd5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.074300] Call Trace: <4>[ 36.074528] [] dump_stack+0x4d/0x66 <4>[ 36.074859] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.075243] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.075601] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.075982] [] truncate_setsize+0x27/0x40 <4>[ 36.076346] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.076705] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.077077] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.077442] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.077800] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.078191] [] do_fallocate+0x123/0x1b0 <4>[ 36.078540] [] SyS_fallocate+0x43/0x70 <4>[ 36.078883] [] system_call_fastpath+0x16/0x1b <4>[ 36.079266] ---[ end trace 6a3b1350ad399817 ]--- <4>[ 36.082694] ------------[ cut here ]------------ <4>[ 36.083044] WARNING: CPU: 2 PID: 3472 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.083721] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.087223] CPU: 2 PID: 3472 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.087807] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.088451] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.089204] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a5da8 <4>[ 36.089956] 0000000000000000 ffff88007c1a5da8 0000000004000000 ffff88007d087dd0 <4>[ 36.090714] Call Trace: <4>[ 36.090965] [] dump_stack+0x4d/0x66 <4>[ 36.091334] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.091742] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.092139] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.092555] [] truncate_setsize+0x27/0x40 <4>[ 36.092941] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.093341] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.093741] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.094145] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.094539] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.094958] [] do_fallocate+0x123/0x1b0 <4>[ 36.095344] [] SyS_fallocate+0x43/0x70 <4>[ 36.095720] [] system_call_fastpath+0x16/0x1b <4>[ 36.096131] ---[ end trace 6a3b1350ad399818 ]--- <4>[ 36.099633] ------------[ cut here ]------------ <4>[ 36.099951] WARNING: CPU: 3 PID: 3474 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.100586] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.103704] CPU: 3 PID: 3474 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.104250] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.104838] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.105520] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bd9a8 <4>[ 36.106202] 0000000000000000 ffff88007c1bd9a8 0000000004000000 ffff88007a417dd0 <4>[ 36.106869] Call Trace: <4>[ 36.107111] [] dump_stack+0x4d/0x66 <4>[ 36.107454] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.107819] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.108183] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.108564] [] truncate_setsize+0x27/0x40 <4>[ 36.108914] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.109288] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.109654] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.110030] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.110390] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.110773] [] do_fallocate+0x123/0x1b0 <4>[ 36.111125] [] SyS_fallocate+0x43/0x70 <4>[ 36.111472] [] system_call_fastpath+0x16/0x1b <4>[ 36.111835] ---[ end trace 6a3b1350ad399819 ]--- <4>[ 36.115029] ------------[ cut here ]------------ <4>[ 36.115345] WARNING: CPU: 3 PID: 3476 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.115963] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.119102] CPU: 3 PID: 3476 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.119639] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.120234] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 36.120908] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bdda8 <4>[ 36.121589] 0000000000000000 ffff88007c1bdda8 0000000004000000 ffff88007bfc3dd0 <4>[ 36.122275] Call Trace: <4>[ 36.122503] [] dump_stack+0x4d/0x66 <4>[ 36.122834] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.123208] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.123566] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.123947] [] truncate_setsize+0x27/0x40 <4>[ 36.124305] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.124665] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.125038] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.125406] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.125764] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.126157] [] do_fallocate+0x123/0x1b0 <4>[ 36.126504] [] SyS_fallocate+0x43/0x70 <4>[ 36.126845] [] system_call_fastpath+0x16/0x1b <4>[ 36.127218] ---[ end trace 6a3b1350ad39981a ]--- <4>[ 36.130378] ------------[ cut here ]------------ <4>[ 36.130726] WARNING: CPU: 2 PID: 3478 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.131413] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.134913] CPU: 2 PID: 3478 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.135515] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.136159] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.136899] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a61a8 <4>[ 36.137662] 0000000000000000 ffff88007c1a61a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.138431] Call Trace: <4>[ 36.138683] [] dump_stack+0x4d/0x66 <4>[ 36.139052] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.139460] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.139852] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.140274] [] truncate_setsize+0x27/0x40 <4>[ 36.140660] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.141060] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.141459] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.141859] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.142258] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.142678] [] do_fallocate+0x123/0x1b0 <4>[ 36.143063] [] SyS_fallocate+0x43/0x70 <4>[ 36.143439] [] system_call_fastpath+0x16/0x1b <4>[ 36.143847] ---[ end trace 6a3b1350ad39981b ]--- <4>[ 36.147323] ------------[ cut here ]------------ <4>[ 36.147682] WARNING: CPU: 2 PID: 3480 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.150274] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.153770] CPU: 2 PID: 3480 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.154372] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.155015] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 36.155776] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a65a8 <4>[ 36.156534] 0000000000000000 ffff88007c1a65a8 0000000004000000 ffff88007bfbfdd0 <4>[ 36.157293] Call Trace: <4>[ 36.157544] [] dump_stack+0x4d/0x66 <4>[ 36.157902] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.158321] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.158714] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.159133] [] truncate_setsize+0x27/0x40 <4>[ 36.159519] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.159915] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.160320] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.160720] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.161118] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.161538] [] do_fallocate+0x123/0x1b0 <4>[ 36.161917] [] SyS_fallocate+0x43/0x70 <4>[ 36.162302] [] system_call_fastpath+0x16/0x1b <4>[ 36.162705] ---[ end trace 6a3b1350ad39981c ]--- <4>[ 36.166081] ------------[ cut here ]------------ <4>[ 36.166423] WARNING: CPU: 2 PID: 3482 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.167109] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.170617] CPU: 2 PID: 3482 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.171214] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.171855] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.172610] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a69a8 <4>[ 36.173362] 0000000000000000 ffff88007c1a69a8 0000000004000000 ffff88007d087dd0 <4>[ 36.174108] Call Trace: <4>[ 36.174373] [] dump_stack+0x4d/0x66 <4>[ 36.174731] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.175150] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.175543] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.175958] [] truncate_setsize+0x27/0x40 <4>[ 36.176350] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.176743] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.177147] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.177547] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.177940] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.178363] [] do_fallocate+0x123/0x1b0 <4>[ 36.178738] [] SyS_fallocate+0x43/0x70 <4>[ 36.179126] [] system_call_fastpath+0x16/0x1b <4>[ 36.179529] ---[ end trace 6a3b1350ad39981d ]--- <4>[ 36.182912] ------------[ cut here ]------------ <4>[ 36.183270] WARNING: CPU: 2 PID: 3484 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.183958] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.187464] CPU: 2 PID: 3484 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.188067] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.188707] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.189466] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a6da8 <4>[ 36.190222] 0000000000000000 ffff88007c1a6da8 0000000004000000 ffff88007a417dd0 <4>[ 36.190974] Call Trace: <4>[ 36.191231] [] dump_stack+0x4d/0x66 <4>[ 36.191589] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.192008] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.192401] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.192816] [] truncate_setsize+0x27/0x40 <4>[ 36.193207] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.193602] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.194000] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.194405] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.194797] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.195221] [] do_fallocate+0x123/0x1b0 <4>[ 36.195596] [] SyS_fallocate+0x43/0x70 <4>[ 36.195973] [] system_call_fastpath+0x16/0x1b <4>[ 36.196385] ---[ end trace 6a3b1350ad39981e ]--- <4>[ 36.199779] ------------[ cut here ]------------ <4>[ 36.200147] WARNING: CPU: 2 PID: 3486 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.200824] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.204323] CPU: 2 PID: 3486 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.204922] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.205567] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 36.206329] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a71a8 <4>[ 36.207085] 0000000000000000 ffff88007c1a71a8 0000000004000000 ffff88007bfc3dd0 <4>[ 36.207837] Call Trace: <4>[ 36.208093] [] dump_stack+0x4d/0x66 <4>[ 36.208450] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.208864] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.209263] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.209679] [] truncate_setsize+0x27/0x40 <4>[ 36.210069] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.210465] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.210864] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.211270] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.211663] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.212086] [] do_fallocate+0x123/0x1b0 <4>[ 36.212461] [] SyS_fallocate+0x43/0x70 <4>[ 36.212838] [] system_call_fastpath+0x16/0x1b <4>[ 36.213252] ---[ end trace 6a3b1350ad39981f ]--- <4>[ 36.216663] ------------[ cut here ]------------ <4>[ 36.216981] WARNING: CPU: 3 PID: 3488 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.217623] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.220746] CPU: 3 PID: 3488 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.221287] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.221879] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.222559] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1be1a8 <4>[ 36.223240] 0000000000000000 ffff88007c1be1a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.223908] Call Trace: <4>[ 36.224145] [] dump_stack+0x4d/0x66 <4>[ 36.224480] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.224844] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.225208] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.225590] [] truncate_setsize+0x27/0x40 <4>[ 36.225941] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.226313] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.226678] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.227052] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.227411] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.227795] [] do_fallocate+0x123/0x1b0 <4>[ 36.228147] [] SyS_fallocate+0x43/0x70 <4>[ 36.228494] [] system_call_fastpath+0x16/0x1b <4>[ 36.228857] ---[ end trace 6a3b1350ad399820 ]--- <4>[ 36.232232] ------------[ cut here ]------------ <4>[ 36.232574] WARNING: CPU: 2 PID: 3490 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.233260] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.236759] CPU: 2 PID: 3490 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.237363] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.239910] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 36.240653] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a75a8 <4>[ 36.241409] 0000000000000000 ffff88007c1a75a8 0000000004000000 ffff88007bfbfdd0 <4>[ 36.242171] Call Trace: <4>[ 36.242422] [] dump_stack+0x4d/0x66 <4>[ 36.242780] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.243199] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.243592] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.244012] [] truncate_setsize+0x27/0x40 <4>[ 36.244399] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.244794] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.245199] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.245600] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.245992] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.246415] [] do_fallocate+0x123/0x1b0 <4>[ 36.246791] [] SyS_fallocate+0x43/0x70 <4>[ 36.247179] [] system_call_fastpath+0x16/0x1b <4>[ 36.247581] ---[ end trace 6a3b1350ad399821 ]--- <4>[ 36.251124] ------------[ cut here ]------------ <4>[ 36.251440] WARNING: CPU: 3 PID: 3492 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.252071] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.255188] CPU: 3 PID: 3492 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.255725] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.256320] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.256994] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1be5a8 <4>[ 36.257684] 0000000000000000 ffff88007c1be5a8 0000000004000000 ffff88007d087dd0 <4>[ 36.258366] Call Trace: <4>[ 36.258594] [] dump_stack+0x4d/0x66 <4>[ 36.258926] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.259298] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.259657] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.260047] [] truncate_setsize+0x27/0x40 <4>[ 36.260405] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.260762] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.261145] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.261512] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.261870] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.262275] [] do_fallocate+0x123/0x1b0 <4>[ 36.262621] [] SyS_fallocate+0x43/0x70 <4>[ 36.262962] [] system_call_fastpath+0x16/0x1b <4>[ 36.263339] ---[ end trace 6a3b1350ad399822 ]--- <4>[ 36.266742] ------------[ cut here ]------------ <4>[ 36.267109] WARNING: CPU: 2 PID: 3494 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.267780] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.271275] CPU: 2 PID: 3494 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.271869] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.272511] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.273271] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a79a8 <4>[ 36.274026] 0000000000000000 ffff88007c1a79a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.274793] Call Trace: <4>[ 36.275049] [] dump_stack+0x4d/0x66 <4>[ 36.275407] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.275820] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.276217] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.276633] [] truncate_setsize+0x27/0x40 <4>[ 36.277023] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.277419] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.277818] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.278224] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.278616] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.279041] [] do_fallocate+0x123/0x1b0 <4>[ 36.279415] [] SyS_fallocate+0x43/0x70 <4>[ 36.279792] [] system_call_fastpath+0x16/0x1b <4>[ 36.280205] ---[ end trace 6a3b1350ad399823 ]--- <4>[ 36.283724] ------------[ cut here ]------------ <4>[ 36.284056] WARNING: CPU: 3 PID: 3496 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.284674] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.287801] CPU: 3 PID: 3496 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.288346] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.288933] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.289614] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1be9a8 <4>[ 36.290298] 0000000000000000 ffff88007c1be9a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.290964] Call Trace: <4>[ 36.291204] [] dump_stack+0x4d/0x66 <4>[ 36.291539] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.291903] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.292267] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.292648] [] truncate_setsize+0x27/0x40 <4>[ 36.292999] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.293369] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.293733] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.294107] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.294466] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.294850] [] do_fallocate+0x123/0x1b0 <4>[ 36.295201] [] SyS_fallocate+0x43/0x70 <4>[ 36.295548] [] system_call_fastpath+0x16/0x1b <4>[ 36.295912] ---[ end trace 6a3b1350ad399824 ]--- <4>[ 36.299161] ------------[ cut here ]------------ <4>[ 36.299477] WARNING: CPU: 3 PID: 3498 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.300113] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.303236] CPU: 3 PID: 3498 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.303773] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.304370] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 36.305046] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1beda8 <4>[ 36.305712] 0000000000000000 ffff88007c1beda8 0000000004000000 ffff88007bfc3dd0 <4>[ 36.306393] Call Trace: <4>[ 36.306621] [] dump_stack+0x4d/0x66 <4>[ 36.306953] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.307323] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.307684] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.308071] [] truncate_setsize+0x27/0x40 <4>[ 36.308425] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.308783] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.309165] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.309531] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.309889] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.310280] [] do_fallocate+0x123/0x1b0 <4>[ 36.310628] [] SyS_fallocate+0x43/0x70 <4>[ 36.310969] [] system_call_fastpath+0x16/0x1b <4>[ 36.311342] ---[ end trace 6a3b1350ad399825 ]--- <4>[ 36.314644] ------------[ cut here ]------------ <4>[ 36.314991] WARNING: CPU: 2 PID: 3500 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.315679] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.319183] CPU: 2 PID: 3500 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.319776] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.320420] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.321179] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a7da8 <4>[ 36.321931] 0000000000000000 ffff88007c1a7da8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.322688] Call Trace: <4>[ 36.322939] [] dump_stack+0x4d/0x66 <4>[ 36.323302] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.323717] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.326025] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.326454] [] truncate_setsize+0x27/0x40 <4>[ 36.326840] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.327242] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.327642] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.328045] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.328438] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.328858] [] do_fallocate+0x123/0x1b0 <4>[ 36.329242] [] SyS_fallocate+0x43/0x70 <4>[ 36.329619] [] system_call_fastpath+0x16/0x1b <4>[ 36.330030] ---[ end trace 6a3b1350ad399826 ]--- <4>[ 36.333591] ------------[ cut here ]------------ <4>[ 36.333908] WARNING: CPU: 3 PID: 3502 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.334542] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.337662] CPU: 3 PID: 3502 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.338217] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.338805] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.339488] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bf1a8 <4>[ 36.340169] 0000000000000000 ffff88007c1bf1a8 0000000004000000 ffff88007a417dd0 <4>[ 36.340836] Call Trace: <4>[ 36.341072] [] dump_stack+0x4d/0x66 <4>[ 36.341407] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.341772] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.342138] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.342520] [] truncate_setsize+0x27/0x40 <4>[ 36.342871] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.343244] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.343609] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.343974] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.344345] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.344731] [] do_fallocate+0x123/0x1b0 <4>[ 36.345085] [] SyS_fallocate+0x43/0x70 <4>[ 36.345429] [] system_call_fastpath+0x16/0x1b <4>[ 36.345793] ---[ end trace 6a3b1350ad399827 ]--- <4>[ 36.349085] ------------[ cut here ]------------ <4>[ 36.349401] WARNING: CPU: 3 PID: 3504 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.350031] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.353147] CPU: 3 PID: 3504 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.353684] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.354279] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.354952] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bf5a8 <4>[ 36.355633] 0000000000000000 ffff88007c1bf5a8 0000000004000000 ffff88007d087dd0 <4>[ 36.356319] Call Trace: <4>[ 36.356547] [] dump_stack+0x4d/0x66 <4>[ 36.356878] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.357249] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.357609] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.357990] [] truncate_setsize+0x27/0x40 <4>[ 36.358349] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.358709] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.359086] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.359452] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.359810] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.360212] [] do_fallocate+0x123/0x1b0 <4>[ 36.360558] [] SyS_fallocate+0x43/0x70 <4>[ 36.360899] [] system_call_fastpath+0x16/0x1b <4>[ 36.361271] ---[ end trace 6a3b1350ad399828 ]--- <4>[ 36.364537] ------------[ cut here ]------------ <4>[ 36.364880] WARNING: CPU: 0 PID: 3506 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.365566] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.369068] CPU: 0 PID: 3506 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.369661] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.370304] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.371065] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7559a8 <4>[ 36.371820] 0000000000000000 ffff88005b7559a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.372575] Call Trace: <4>[ 36.372827] [] dump_stack+0x4d/0x66 <4>[ 36.373189] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.373602] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.373994] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.374415] [] truncate_setsize+0x27/0x40 <4>[ 36.374801] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.375202] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.375603] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.376006] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.376400] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.376819] [] do_fallocate+0x123/0x1b0 <4>[ 36.377198] [] SyS_fallocate+0x43/0x70 <4>[ 36.377575] [] system_call_fastpath+0x16/0x1b <4>[ 36.377983] ---[ end trace 6a3b1350ad399829 ]--- <4>[ 36.381606] ------------[ cut here ]------------ <4>[ 36.381923] WARNING: CPU: 3 PID: 3508 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.382555] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.385670] CPU: 3 PID: 3508 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.386220] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.386812] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 36.387492] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bf9a8 <4>[ 36.388172] 0000000000000000 ffff88007c1bf9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 36.388838] Call Trace: <4>[ 36.389075] [] dump_stack+0x4d/0x66 <4>[ 36.389414] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.389779] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.390146] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.390527] [] truncate_setsize+0x27/0x40 <4>[ 36.390878] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.391257] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.391622] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.391987] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.392355] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.392740] [] do_fallocate+0x123/0x1b0 <4>[ 36.393093] [] SyS_fallocate+0x43/0x70 <4>[ 36.393438] [] system_call_fastpath+0x16/0x1b <4>[ 36.393801] ---[ end trace 6a3b1350ad39982a ]--- <4>[ 36.397145] ------------[ cut here ]------------ <4>[ 36.397492] WARNING: CPU: 2 PID: 3510 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.398180] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.401674] CPU: 2 PID: 3510 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.402276] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.402917] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.403668] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c41a8 <4>[ 36.404438] 0000000000000000 ffff88007c1c41a8 0000000004000000 ffff88007d087dd0 <4>[ 36.405195] Call Trace: <4>[ 36.405445] [] dump_stack+0x4d/0x66 <4>[ 36.405802] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.406222] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.406614] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.407035] [] truncate_setsize+0x27/0x40 <4>[ 36.407421] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.407816] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.408220] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.408620] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.409018] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.409438] [] do_fallocate+0x123/0x1b0 <4>[ 36.409811] [] SyS_fallocate+0x43/0x70 <4>[ 36.410206] [] system_call_fastpath+0x16/0x1b <4>[ 36.412513] ---[ end trace 6a3b1350ad39982b ]--- <4>[ 36.416147] ------------[ cut here ]------------ <4>[ 36.416464] WARNING: CPU: 3 PID: 3512 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.417094] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.420209] CPU: 3 PID: 3512 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.420746] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.421341] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 36.422022] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bfda8 <4>[ 36.422693] 0000000000000000 ffff88007c1bfda8 0000000004000000 ffff88007bfc3dd0 <4>[ 36.423374] Call Trace: <4>[ 36.423603] [] dump_stack+0x4d/0x66 <4>[ 36.423934] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.424305] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.424666] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.425054] [] truncate_setsize+0x27/0x40 <4>[ 36.425407] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.425764] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.426136] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.426502] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.426860] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.427264] [] do_fallocate+0x123/0x1b0 <4>[ 36.427610] [] SyS_fallocate+0x43/0x70 <4>[ 36.427952] [] system_call_fastpath+0x16/0x1b <4>[ 36.428328] ---[ end trace 6a3b1350ad39982c ]--- <4>[ 36.431839] ------------[ cut here ]------------ <4>[ 36.432194] WARNING: CPU: 2 PID: 3514 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.432877] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.436390] CPU: 2 PID: 3514 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.436984] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.437628] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.438388] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c45a8 <4>[ 36.439136] 0000000000000000 ffff88007c1c45a8 0000000004000000 ffff88007a56fdd0 <4>[ 36.439887] Call Trace: <4>[ 36.440145] [] dump_stack+0x4d/0x66 <4>[ 36.440502] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.440915] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.441323] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.441743] [] truncate_setsize+0x27/0x40 <4>[ 36.442136] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.442528] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.442927] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.443332] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.443726] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.444150] [] do_fallocate+0x123/0x1b0 <4>[ 36.444525] [] SyS_fallocate+0x43/0x70 <4>[ 36.444905] [] system_call_fastpath+0x16/0x1b <4>[ 36.445319] ---[ end trace 6a3b1350ad39982d ]--- <4>[ 36.448818] ------------[ cut here ]------------ <4>[ 36.449170] WARNING: CPU: 2 PID: 3516 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.449854] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.453280] CPU: 2 PID: 3516 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.453863] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.454508] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.455260] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c49a8 <4>[ 36.456024] 0000000000000000 ffff88007c1c49a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.456775] Call Trace: <4>[ 36.457032] [] dump_stack+0x4d/0x66 <4>[ 36.457389] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.457803] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.458201] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.458616] [] truncate_setsize+0x27/0x40 <4>[ 36.459006] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.459399] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.459798] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.460203] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.460597] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.461021] [] do_fallocate+0x123/0x1b0 <4>[ 36.461395] [] SyS_fallocate+0x43/0x70 <4>[ 36.461775] [] system_call_fastpath+0x16/0x1b <4>[ 36.462187] ---[ end trace 6a3b1350ad39982e ]--- <4>[ 36.465785] ------------[ cut here ]------------ <4>[ 36.466122] WARNING: CPU: 3 PID: 3520 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.466749] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.469876] CPU: 3 PID: 3520 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.470422] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.471013] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.471681] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c01a8 <4>[ 36.472362] 0000000000000000 ffff88007c1c01a8 0000000004000000 ffff88007a417dd0 <4>[ 36.473037] Call Trace: <4>[ 36.473271] [] dump_stack+0x4d/0x66 <4>[ 36.473602] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.473967] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.474337] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.474719] [] truncate_setsize+0x27/0x40 <4>[ 36.475083] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.475450] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.475823] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.476202] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.476572] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.476962] [] do_fallocate+0x123/0x1b0 <4>[ 36.477317] [] SyS_fallocate+0x43/0x70 <4>[ 36.477661] [] system_call_fastpath+0x16/0x1b <4>[ 36.478034] ---[ end trace 6a3b1350ad39982f ]--- <4>[ 36.481635] ------------[ cut here ]------------ <4>[ 36.481982] WARNING: CPU: 2 PID: 3524 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.482673] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.486174] CPU: 2 PID: 3524 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.486767] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.487412] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.488164] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c4da8 <4>[ 36.488916] 0000000000000000 ffff88007c1c4da8 0000000004000000 ffff88007bf43dd0 <4>[ 36.489671] Call Trace: <4>[ 36.489923] [] dump_stack+0x4d/0x66 <4>[ 36.490291] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.490700] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.491098] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.491514] [] truncate_setsize+0x27/0x40 <4>[ 36.491900] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.492302] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.492702] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.493107] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.493500] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.493918] [] do_fallocate+0x123/0x1b0 <4>[ 36.494305] [] SyS_fallocate+0x43/0x70 <4>[ 36.494679] [] system_call_fastpath+0x16/0x1b <4>[ 36.495093] ---[ end trace 6a3b1350ad399830 ]--- <4>[ 36.498600] ------------[ cut here ]------------ <4>[ 36.498917] WARNING: CPU: 3 PID: 3526 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.499555] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.504401] CPU: 3 PID: 3526 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.504937] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.505538] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.506223] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c05a8 <4>[ 36.506888] 0000000000000000 ffff88007c1c05a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.507569] Call Trace: <4>[ 36.507797] [] dump_stack+0x4d/0x66 <4>[ 36.508136] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.508502] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.508859] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.509260] [] truncate_setsize+0x27/0x40 <4>[ 36.509612] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.509970] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.510348] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.510714] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.511079] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.511464] [] do_fallocate+0x123/0x1b0 <4>[ 36.511809] [] SyS_fallocate+0x43/0x70 <4>[ 36.512157] [] system_call_fastpath+0x16/0x1b <4>[ 36.512522] ---[ end trace 6a3b1350ad399831 ]--- <4>[ 36.515925] ------------[ cut here ]------------ <4>[ 36.516277] WARNING: CPU: 2 PID: 3530 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.516954] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.520464] CPU: 2 PID: 3530 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.521061] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.521709] 0000000000000009 ffff88007a50fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.522477] ffff88007a50fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c51a8 <4>[ 36.523232] 0000000000000000 ffff88007c1c51a8 0000000004000000 ffff88007a50fdd0 <4>[ 36.523984] Call Trace: <4>[ 36.524246] [] dump_stack+0x4d/0x66 <4>[ 36.524608] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.525028] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.525426] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.525841] [] truncate_setsize+0x27/0x40 <4>[ 36.526234] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.526638] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.527044] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.527449] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.527841] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.528267] [] do_fallocate+0x123/0x1b0 <4>[ 36.528651] [] SyS_fallocate+0x43/0x70 <4>[ 36.529030] [] system_call_fastpath+0x16/0x1b <4>[ 36.529439] ---[ end trace 6a3b1350ad399832 ]--- <4>[ 36.532961] ------------[ cut here ]------------ <4>[ 36.533290] WARNING: CPU: 3 PID: 3532 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.533909] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.537080] CPU: 3 PID: 3532 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.537628] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.538224] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 36.538899] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c09a8 <4>[ 36.539575] 0000000000000000 ffff88007c1c09a8 0000000004000000 ffff88007d087dd0 <4>[ 36.540255] Call Trace: <4>[ 36.540483] [] dump_stack+0x4d/0x66 <4>[ 36.540814] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.541185] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.541546] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.541927] [] truncate_setsize+0x27/0x40 <4>[ 36.542297] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.542655] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.543029] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.543395] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.543753] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.544145] [] do_fallocate+0x123/0x1b0 <4>[ 36.544493] [] SyS_fallocate+0x43/0x70 <4>[ 36.544834] [] system_call_fastpath+0x16/0x1b <4>[ 36.545215] ---[ end trace 6a3b1350ad399833 ]--- <4>[ 36.548571] ------------[ cut here ]------------ <4>[ 36.548887] WARNING: CPU: 3 PID: 3536 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.549529] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.552649] CPU: 3 PID: 3536 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.553195] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.553783] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.554466] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c0da8 <4>[ 36.555147] 0000000000000000 ffff88007c1c0da8 0000000004000000 ffff88007bf43dd0 <4>[ 36.555820] Call Trace: <4>[ 36.556057] [] dump_stack+0x4d/0x66 <4>[ 36.556392] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.556757] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.557121] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.557502] [] truncate_setsize+0x27/0x40 <4>[ 36.557854] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.558230] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.558595] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.558960] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.559332] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.559717] [] do_fallocate+0x123/0x1b0 <4>[ 36.560070] [] SyS_fallocate+0x43/0x70 <4>[ 36.560415] [] system_call_fastpath+0x16/0x1b <4>[ 36.560778] ---[ end trace 6a3b1350ad399834 ]--- <4>[ 36.563914] ------------[ cut here ]------------ <4>[ 36.564234] WARNING: CPU: 3 PID: 3538 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.564852] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.567965] CPU: 3 PID: 3538 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.568516] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.569105] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.569774] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c11a8 <4>[ 36.570454] 0000000000000000 ffff88007c1c11a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.571130] Call Trace: <4>[ 36.571368] [] dump_stack+0x4d/0x66 <4>[ 36.571699] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.572072] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.572430] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.572811] [] truncate_setsize+0x27/0x40 <4>[ 36.573169] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.573529] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.573893] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.574276] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.574634] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.575028] [] do_fallocate+0x123/0x1b0 <4>[ 36.575374] [] SyS_fallocate+0x43/0x70 <4>[ 36.575716] [] system_call_fastpath+0x16/0x1b <4>[ 36.576090] ---[ end trace 6a3b1350ad399835 ]--- <4>[ 36.579577] ------------[ cut here ]------------ <4>[ 36.579935] WARNING: CPU: 2 PID: 3540 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.580627] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.584125] CPU: 2 PID: 3540 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.584722] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.585366] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.586122] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c55a8 <4>[ 36.586874] 0000000000000000 ffff88007c1c55a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.589533] Call Trace: <4>[ 36.589783] [] dump_stack+0x4d/0x66 <4>[ 36.590146] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.590559] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.590951] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.591371] [] truncate_setsize+0x27/0x40 <4>[ 36.591758] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.592162] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.592561] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.592961] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.593360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.593780] [] do_fallocate+0x123/0x1b0 <4>[ 36.594165] [] SyS_fallocate+0x43/0x70 <4>[ 36.594540] [] system_call_fastpath+0x16/0x1b <4>[ 36.594948] ---[ end trace 6a3b1350ad399836 ]--- <4>[ 36.598730] ------------[ cut here ]------------ <4>[ 36.599061] WARNING: CPU: 3 PID: 3542 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.599684] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.602811] CPU: 3 PID: 3542 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.603352] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.603942] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.604624] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c15a8 <4>[ 36.605308] 0000000000000000 ffff88007c1c15a8 0000000004000000 ffff88007a56fdd0 <4>[ 36.605974] Call Trace: <4>[ 36.606215] [] dump_stack+0x4d/0x66 <4>[ 36.606549] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.606913] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.607277] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.607659] [] truncate_setsize+0x27/0x40 <4>[ 36.608018] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.608378] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.608743] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.609126] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.609486] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.609870] [] do_fallocate+0x123/0x1b0 <4>[ 36.610222] [] SyS_fallocate+0x43/0x70 <4>[ 36.610568] [] system_call_fastpath+0x16/0x1b <4>[ 36.610932] ---[ end trace 6a3b1350ad399837 ]--- <4>[ 36.614493] ------------[ cut here ]------------ <4>[ 36.614836] WARNING: CPU: 2 PID: 3544 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.615522] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.619025] CPU: 2 PID: 3544 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.619619] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.620264] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 36.621023] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c59a8 <4>[ 36.621776] 0000000000000000 ffff88007c1c59a8 0000000004000000 ffff88007a6dbdd0 <4>[ 36.622534] Call Trace: <4>[ 36.622785] [] dump_stack+0x4d/0x66 <4>[ 36.623148] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.623561] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.623953] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.624374] [] truncate_setsize+0x27/0x40 <4>[ 36.624759] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.625164] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.625563] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.625962] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.626360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.626779] [] do_fallocate+0x123/0x1b0 <4>[ 36.627162] [] SyS_fallocate+0x43/0x70 <4>[ 36.627537] [] system_call_fastpath+0x16/0x1b <4>[ 36.627946] ---[ end trace 6a3b1350ad399838 ]--- <4>[ 36.631684] ------------[ cut here ]------------ <4>[ 36.632000] WARNING: CPU: 3 PID: 3546 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.632643] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.635776] CPU: 3 PID: 3546 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.636321] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.636909] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.637591] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c19a8 <4>[ 36.638276] 0000000000000000 ffff88007c1c19a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.638943] Call Trace: <4>[ 36.639188] [] dump_stack+0x4d/0x66 <4>[ 36.639523] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.639887] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.640252] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.640633] [] truncate_setsize+0x27/0x40 <4>[ 36.640985] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.641354] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.641720] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.642098] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.642457] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.642841] [] do_fallocate+0x123/0x1b0 <4>[ 36.643194] [] SyS_fallocate+0x43/0x70 <4>[ 36.643539] [] system_call_fastpath+0x16/0x1b <4>[ 36.643902] ---[ end trace 6a3b1350ad399839 ]--- <4>[ 36.647137] ------------[ cut here ]------------ <4>[ 36.647454] WARNING: CPU: 3 PID: 3548 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.648090] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.651207] CPU: 3 PID: 3548 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.651744] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.652340] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.653017] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c1da8 <4>[ 36.653684] 0000000000000000 ffff88007c1c1da8 0000000004000000 ffff88007a417dd0 <4>[ 36.654363] Call Trace: <4>[ 36.654590] [] dump_stack+0x4d/0x66 <4>[ 36.654922] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.655295] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.655653] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.656042] [] truncate_setsize+0x27/0x40 <4>[ 36.656396] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.656754] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.657137] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.657503] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.657862] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.658265] [] do_fallocate+0x123/0x1b0 <4>[ 36.658611] [] SyS_fallocate+0x43/0x70 <4>[ 36.658952] [] system_call_fastpath+0x16/0x1b <4>[ 36.659324] ---[ end trace 6a3b1350ad39983a ]--- <4>[ 36.662501] ------------[ cut here ]------------ <4>[ 36.662817] WARNING: CPU: 3 PID: 3550 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.663460] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.666574] CPU: 3 PID: 3550 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.667119] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.667706] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.668388] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c21a8 <4>[ 36.669064] 0000000000000000 ffff88007c1c21a8 0000000004000000 ffff88007bf43dd0 <4>[ 36.669731] Call Trace: <4>[ 36.669959] [] dump_stack+0x4d/0x66 <4>[ 36.670303] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.670671] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.671036] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.671417] [] truncate_setsize+0x27/0x40 <4>[ 36.671768] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.672139] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.672512] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.672877] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.674947] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.675335] [] do_fallocate+0x123/0x1b0 <4>[ 36.675680] [] SyS_fallocate+0x43/0x70 <4>[ 36.676029] [] system_call_fastpath+0x16/0x1b <4>[ 36.676393] ---[ end trace 6a3b1350ad39983b ]--- <4>[ 36.679733] ------------[ cut here ]------------ <4>[ 36.680090] WARNING: CPU: 2 PID: 3552 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.680766] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.684274] CPU: 2 PID: 3552 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.684868] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.685511] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.686270] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c5da8 <4>[ 36.687027] 0000000000000000 ffff88007c1c5da8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.687780] Call Trace: <4>[ 36.688037] [] dump_stack+0x4d/0x66 <4>[ 36.688394] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.688808] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.689206] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.689622] [] truncate_setsize+0x27/0x40 <4>[ 36.690020] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.690397] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.690770] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.691150] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.691536] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.691955] [] do_fallocate+0x123/0x1b0 <4>[ 36.692339] [] SyS_fallocate+0x43/0x70 <4>[ 36.692725] [] system_call_fastpath+0x16/0x1b <4>[ 36.693142] ---[ end trace 6a3b1350ad39983c ]--- <4>[ 36.696774] ------------[ cut here ]------------ <4>[ 36.697113] WARNING: CPU: 3 PID: 3556 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.697732] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.700850] CPU: 3 PID: 3556 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.701393] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.701980] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 36.702651] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c25a8 <4>[ 36.703330] 0000000000000000 ffff88007c1c25a8 0000000004000000 ffff88007a6dbdd0 <4>[ 36.703997] Call Trace: <4>[ 36.704235] [] dump_stack+0x4d/0x66 <4>[ 36.704567] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.704931] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.705294] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.705675] [] truncate_setsize+0x27/0x40 <4>[ 36.706036] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.706394] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.706759] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.707129] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.707488] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.707872] [] do_fallocate+0x123/0x1b0 <4>[ 36.708222] [] SyS_fallocate+0x43/0x70 <4>[ 36.708564] [] system_call_fastpath+0x16/0x1b <4>[ 36.708928] ---[ end trace 6a3b1350ad39983d ]--- <4>[ 36.712290] ------------[ cut here ]------------ <4>[ 36.712608] WARNING: CPU: 3 PID: 3558 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.713245] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.716358] CPU: 3 PID: 3558 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.716895] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.717487] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 36.718157] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c29a8 <4>[ 36.718824] 0000000000000000 ffff88007c1c29a8 0000000004000000 ffff88007a417dd0 <4>[ 36.719506] Call Trace: <4>[ 36.719734] [] dump_stack+0x4d/0x66 <4>[ 36.720081] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.720445] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.720803] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.721189] [] truncate_setsize+0x27/0x40 <4>[ 36.721540] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.721897] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.722272] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.722638] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.722996] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.723384] [] do_fallocate+0x123/0x1b0 <4>[ 36.723729] [] SyS_fallocate+0x43/0x70 <4>[ 36.724076] [] system_call_fastpath+0x16/0x1b <4>[ 36.724440] ---[ end trace 6a3b1350ad39983e ]--- <4>[ 36.727847] ------------[ cut here ]------------ <4>[ 36.728208] WARNING: CPU: 2 PID: 3560 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.728880] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.732388] CPU: 2 PID: 3560 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.732986] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.733631] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 36.734390] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c61a8 <4>[ 36.735140] 0000000000000000 ffff88007c1c61a8 0000000004000000 ffff88007bf8bdd0 <4>[ 36.735902] Call Trace: <4>[ 36.736164] [] dump_stack+0x4d/0x66 <4>[ 36.736528] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.736943] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.737345] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.737765] [] truncate_setsize+0x27/0x40 <4>[ 36.738162] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.738562] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.738961] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.739369] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.739767] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.740195] [] do_fallocate+0x123/0x1b0 <4>[ 36.740580] [] SyS_fallocate+0x43/0x70 <4>[ 36.740955] [] system_call_fastpath+0x16/0x1b <4>[ 36.741372] ---[ end trace 6a3b1350ad39983f ]--- <4>[ 36.745039] ------------[ cut here ]------------ <4>[ 36.745356] WARNING: CPU: 3 PID: 3562 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.745974] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.749106] CPU: 3 PID: 3562 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.749643] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.750239] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.750913] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c2da8 <4>[ 36.751593] 0000000000000000 ffff88007c1c2da8 0000000004000000 ffff88007bf43dd0 <4>[ 36.752274] Call Trace: <4>[ 36.752502] [] dump_stack+0x4d/0x66 <4>[ 36.752834] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.753202] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.753565] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.753945] [] truncate_setsize+0x27/0x40 <4>[ 36.754310] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.754669] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.755042] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.755408] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.755766] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.756157] [] do_fallocate+0x123/0x1b0 <4>[ 36.756506] [] SyS_fallocate+0x43/0x70 <4>[ 36.756847] [] system_call_fastpath+0x16/0x1b <4>[ 36.757228] ---[ end trace 6a3b1350ad399840 ]--- <4>[ 36.760656] ------------[ cut here ]------------ <4>[ 36.761025] WARNING: CPU: 2 PID: 3564 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.761701] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.767092] CPU: 2 PID: 3564 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.767683] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.768328] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.769087] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c65a8 <4>[ 36.769839] 0000000000000000 ffff88007c1c65a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.770596] Call Trace: <4>[ 36.770847] [] dump_stack+0x4d/0x66 <4>[ 36.771209] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.771622] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.772020] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.772436] [] truncate_setsize+0x27/0x40 <4>[ 36.772822] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.773223] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.773623] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.774028] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.774421] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.774839] [] do_fallocate+0x123/0x1b0 <4>[ 36.775224] [] SyS_fallocate+0x43/0x70 <4>[ 36.775601] [] system_call_fastpath+0x16/0x1b <4>[ 36.776012] ---[ end trace 6a3b1350ad399841 ]--- <4>[ 36.779582] ------------[ cut here ]------------ <4>[ 36.779900] WARNING: CPU: 3 PID: 3566 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.780537] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.783655] CPU: 3 PID: 3566 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.784201] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.784789] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 36.785472] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c31a8 <4>[ 36.786153] 0000000000000000 ffff88007c1c31a8 0000000004000000 ffff88007bfabdd0 <4>[ 36.786819] Call Trace: <4>[ 36.787056] [] dump_stack+0x4d/0x66 <4>[ 36.787391] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.787756] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.788123] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.788504] [] truncate_setsize+0x27/0x40 <4>[ 36.788855] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.789232] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.789597] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.789962] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.790334] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.790719] [] do_fallocate+0x123/0x1b0 <4>[ 36.791070] [] SyS_fallocate+0x43/0x70 <4>[ 36.791417] [] system_call_fastpath+0x16/0x1b <4>[ 36.791780] ---[ end trace 6a3b1350ad399842 ]--- <4>[ 36.795268] ------------[ cut here ]------------ <4>[ 36.795611] WARNING: CPU: 2 PID: 3568 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.796306] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.799809] CPU: 2 PID: 3568 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.800407] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.801050] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 36.801800] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c69a8 <4>[ 36.802561] 0000000000000000 ffff88007c1c69a8 0000000004000000 ffff88007bf8bdd0 <4>[ 36.803321] Call Trace: <4>[ 36.803572] [] dump_stack+0x4d/0x66 <4>[ 36.803929] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.804347] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.804739] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.805160] [] truncate_setsize+0x27/0x40 <4>[ 36.805546] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.805942] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.806345] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.806746] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.807141] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.807561] [] do_fallocate+0x123/0x1b0 <4>[ 36.807936] [] SyS_fallocate+0x43/0x70 <4>[ 36.808323] [] system_call_fastpath+0x16/0x1b <4>[ 36.808726] ---[ end trace 6a3b1350ad399843 ]--- <4>[ 36.812183] ------------[ cut here ]------------ <4>[ 36.812502] WARNING: CPU: 3 PID: 3570 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.813140] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.816266] CPU: 3 PID: 3570 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.816802] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.817399] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.818070] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c35a8 <4>[ 36.818737] 0000000000000000 ffff88007c1c35a8 0000000004000000 ffff88007a56fdd0 <4>[ 36.819409] Call Trace: <4>[ 36.819637] [] dump_stack+0x4d/0x66 <4>[ 36.819969] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.820343] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.820700] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.821086] [] truncate_setsize+0x27/0x40 <4>[ 36.821437] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.821795] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.822165] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.822531] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.822889] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.823283] [] do_fallocate+0x123/0x1b0 <4>[ 36.823628] [] SyS_fallocate+0x43/0x70 <4>[ 36.823969] [] system_call_fastpath+0x16/0x1b <4>[ 36.824337] ---[ end trace 6a3b1350ad399844 ]--- <4>[ 36.827841] ------------[ cut here ]------------ <4>[ 36.828198] WARNING: CPU: 2 PID: 3574 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.828875] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.832374] CPU: 2 PID: 3574 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.832973] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.833617] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.834370] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c6da8 <4>[ 36.835134] 0000000000000000 ffff88007c1c6da8 0000000004000000 ffff88007a53fdd0 <4>[ 36.835893] Call Trace: <4>[ 36.836154] [] dump_stack+0x4d/0x66 <4>[ 36.836517] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.836930] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.837330] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.837751] [] truncate_setsize+0x27/0x40 <4>[ 36.838146] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.838547] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.838947] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.839356] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.839754] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.840183] [] do_fallocate+0x123/0x1b0 <4>[ 36.840567] [] SyS_fallocate+0x43/0x70 <4>[ 36.840942] [] system_call_fastpath+0x16/0x1b <4>[ 36.841359] ---[ end trace 6a3b1350ad399845 ]--- <4>[ 36.845050] ------------[ cut here ]------------ <4>[ 36.845366] WARNING: CPU: 3 PID: 3576 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.845985] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.849116] CPU: 3 PID: 3576 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.849652] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.850248] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.852635] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c39a8 <4>[ 36.853314] 0000000000000000 ffff88007c1c39a8 0000000004000000 ffff88007bf43dd0 <4>[ 36.853981] Call Trace: <4>[ 36.854223] [] dump_stack+0x4d/0x66 <4>[ 36.854558] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.854923] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.855289] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.855670] [] truncate_setsize+0x27/0x40 <4>[ 36.856030] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.856388] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.856752] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.857131] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.857489] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.857873] [] do_fallocate+0x123/0x1b0 <4>[ 36.858221] [] SyS_fallocate+0x43/0x70 <4>[ 36.858570] [] system_call_fastpath+0x16/0x1b <4>[ 36.858934] ---[ end trace 6a3b1350ad399846 ]--- <4>[ 36.862577] ------------[ cut here ]------------ <4>[ 36.862920] WARNING: CPU: 2 PID: 3578 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.863610] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.867111] CPU: 2 PID: 3578 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.867704] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.868348] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 36.869103] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c71a8 <4>[ 36.869855] 0000000000000000 ffff88007c1c71a8 0000000004000000 ffff88007a6dbdd0 <4>[ 36.870610] Call Trace: <4>[ 36.870862] [] dump_stack+0x4d/0x66 <4>[ 36.871232] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.871642] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.872039] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.872454] [] truncate_setsize+0x27/0x40 <4>[ 36.872840] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.873241] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.873640] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.874045] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.874438] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.874857] [] do_fallocate+0x123/0x1b0 <4>[ 36.875237] [] SyS_fallocate+0x43/0x70 <4>[ 36.875614] [] system_call_fastpath+0x16/0x1b <4>[ 36.876026] ---[ end trace 6a3b1350ad399847 ]--- <4>[ 36.879670] ------------[ cut here ]------------ <4>[ 36.879987] WARNING: CPU: 3 PID: 3580 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.880623] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.883742] CPU: 3 PID: 3580 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.884288] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.884876] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.885557] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c3da8 <4>[ 36.886234] 0000000000000000 ffff88007c1c3da8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.886901] Call Trace: <4>[ 36.887144] [] dump_stack+0x4d/0x66 <4>[ 36.887479] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.887843] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.888210] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.888592] [] truncate_setsize+0x27/0x40 <4>[ 36.888943] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.889307] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.889673] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.890047] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.890412] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.890796] [] do_fallocate+0x123/0x1b0 <4>[ 36.891149] [] SyS_fallocate+0x43/0x70 <4>[ 36.891495] [] system_call_fastpath+0x16/0x1b <4>[ 36.891858] ---[ end trace 6a3b1350ad399848 ]--- <4>[ 36.895351] ------------[ cut here ]------------ <4>[ 36.895704] WARNING: CPU: 2 PID: 3582 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.896391] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.899900] CPU: 2 PID: 3582 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.900498] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.901142] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.901892] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c75a8 <4>[ 36.902654] 0000000000000000 ffff88007c1c75a8 0000000004000000 ffff88007a53fdd0 <4>[ 36.903408] Call Trace: <4>[ 36.903659] [] dump_stack+0x4d/0x66 <4>[ 36.904028] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.904436] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.904828] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.905249] [] truncate_setsize+0x27/0x40 <4>[ 36.905634] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.906034] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.906434] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.906833] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.907231] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.907651] [] do_fallocate+0x123/0x1b0 <4>[ 36.908037] [] SyS_fallocate+0x43/0x70 <4>[ 36.908412] [] system_call_fastpath+0x16/0x1b <4>[ 36.908821] ---[ end trace 6a3b1350ad399849 ]--- <4>[ 36.912593] ------------[ cut here ]------------ <4>[ 36.912909] WARNING: CPU: 3 PID: 3584 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.913556] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.916674] CPU: 3 PID: 3584 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.917215] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.917806] 0000000000000009 ffff88007a447d88 ffffffff81859ea6 0000000000000000 <4>[ 36.918488] ffff88007a447dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ac1a8 <4>[ 36.919166] 0000000000000000 ffff88007c1ac1a8 0000000004000000 ffff88007a447dd0 <4>[ 36.919832] Call Trace: <4>[ 36.920068] [] dump_stack+0x4d/0x66 <4>[ 36.920404] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.920769] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.921133] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.921515] [] truncate_setsize+0x27/0x40 <4>[ 36.921866] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.922241] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.922608] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.922974] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.923345] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.923730] [] do_fallocate+0x123/0x1b0 <4>[ 36.924082] [] SyS_fallocate+0x43/0x70 <4>[ 36.924428] [] system_call_fastpath+0x16/0x1b <4>[ 36.924792] ---[ end trace 6a3b1350ad39984a ]--- <4>[ 36.928323] ------------[ cut here ]------------ <4>[ 36.928667] WARNING: CPU: 2 PID: 3586 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.929353] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.932851] CPU: 2 PID: 3586 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.933454] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.934096] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.934846] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c79a8 <4>[ 36.935606] 0000000000000000 ffff88007c1c79a8 0000000004000000 ffff88007bf43dd0 <4>[ 36.936367] Call Trace: <4>[ 36.936617] [] dump_stack+0x4d/0x66 <4>[ 36.936975] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.937394] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.937787] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.938207] [] truncate_setsize+0x27/0x40 <4>[ 36.940492] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.940885] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.941296] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.941701] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.942100] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.942520] [] do_fallocate+0x123/0x1b0 <4>[ 36.942894] [] SyS_fallocate+0x43/0x70 <4>[ 36.943279] [] system_call_fastpath+0x16/0x1b <4>[ 36.943686] ---[ end trace 6a3b1350ad39984b ]--- <4>[ 36.947655] ------------[ cut here ]------------ <4>[ 36.947971] WARNING: CPU: 3 PID: 3588 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.948612] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.951734] CPU: 3 PID: 3588 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.952280] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.952868] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 36.953550] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ac5a8 <4>[ 36.954235] 0000000000000000 ffff88007c1ac5a8 0000000004000000 ffff88007a56fdd0 <4>[ 36.954902] Call Trace: <4>[ 36.955138] [] dump_stack+0x4d/0x66 <4>[ 36.955473] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.955838] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.956202] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.956584] [] truncate_setsize+0x27/0x40 <4>[ 36.956935] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.957311] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.957676] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.958048] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.958407] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.958792] [] do_fallocate+0x123/0x1b0 <4>[ 36.959155] [] SyS_fallocate+0x43/0x70 <4>[ 36.959499] [] system_call_fastpath+0x16/0x1b <4>[ 36.959863] ---[ end trace 6a3b1350ad39984c ]--- <4>[ 36.963225] ------------[ cut here ]------------ <4>[ 36.963542] WARNING: CPU: 3 PID: 3590 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.964183] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.967301] CPU: 3 PID: 3590 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.967838] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.968432] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 36.969107] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ac9a8 <4>[ 36.969775] 0000000000000000 ffff88007c1ac9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 36.970455] Call Trace: <4>[ 36.970684] [] dump_stack+0x4d/0x66 <4>[ 36.971024] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.971389] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.971746] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.972135] [] truncate_setsize+0x27/0x40 <4>[ 36.972489] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.972847] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.973229] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.973595] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.973953] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.974351] [] do_fallocate+0x123/0x1b0 <4>[ 36.974696] [] SyS_fallocate+0x43/0x70 <4>[ 36.975045] [] system_call_fastpath+0x16/0x1b <4>[ 36.975409] ---[ end trace 6a3b1350ad39984d ]--- <4>[ 36.978728] ------------[ cut here ]------------ <4>[ 36.979088] WARNING: CPU: 2 PID: 3592 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.979764] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 36.983273] CPU: 2 PID: 3592 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 36.983867] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 36.984511] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 36.985269] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c7da8 <4>[ 36.986028] 0000000000000000 ffff88007c1c7da8 0000000004000000 ffff88007bf43dd0 <4>[ 36.986781] Call Trace: <4>[ 36.987038] [] dump_stack+0x4d/0x66 <4>[ 36.987397] [] warn_slowpath_common+0x7d/0xa0 <4>[ 36.987810] [] warn_slowpath_null+0x1a/0x20 <4>[ 36.988208] [] pagecache_isize_extended+0xdd/0x120 <4>[ 36.988625] [] truncate_setsize+0x27/0x40 <4>[ 36.989015] [] xfs_setattr_size+0x157/0x3a0 <4>[ 36.989409] [] ? xfs_trans_commit+0x157/0x250 <4>[ 36.989809] [] xfs_file_fallocate+0x2df/0x300 <4>[ 36.990214] [] ? __sb_start_write+0x49/0xf0 <4>[ 36.990607] [] ? selinux_file_permission+0xc4/0x120 <4>[ 36.991032] [] do_fallocate+0x123/0x1b0 <4>[ 36.991406] [] SyS_fallocate+0x43/0x70 <4>[ 36.991785] [] system_call_fastpath+0x16/0x1b <4>[ 36.992200] ---[ end trace 6a3b1350ad39984e ]--- <4>[ 36.996118] ------------[ cut here ]------------ <4>[ 36.996435] WARNING: CPU: 3 PID: 3594 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 36.997065] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.000184] CPU: 3 PID: 3594 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.000721] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.001327] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 37.002005] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1acda8 <4>[ 37.002681] 0000000000000000 ffff88007c1acda8 0000000004000000 ffff88007bfabdd0 <4>[ 37.003362] Call Trace: <4>[ 37.003590] [] dump_stack+0x4d/0x66 <4>[ 37.003921] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.004295] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.004654] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.005044] [] truncate_setsize+0x27/0x40 <4>[ 37.005401] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.005759] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.006140] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.006528] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.006887] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.007280] [] do_fallocate+0x123/0x1b0 <4>[ 37.007627] [] SyS_fallocate+0x43/0x70 <4>[ 37.007968] [] system_call_fastpath+0x16/0x1b <4>[ 37.008345] ---[ end trace 6a3b1350ad39984f ]--- <4>[ 37.011898] ------------[ cut here ]------------ <4>[ 37.012249] WARNING: CPU: 2 PID: 3596 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.012927] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.016432] CPU: 2 PID: 3596 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.017031] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.017671] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.018430] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c81a8 <4>[ 37.019185] 0000000000000000 ffff88007c1c81a8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.019938] Call Trace: <4>[ 37.020194] [] dump_stack+0x4d/0x66 <4>[ 37.020553] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.020966] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.021365] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.021781] [] truncate_setsize+0x27/0x40 <4>[ 37.022171] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.022565] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.022964] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.023369] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.023762] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.024185] [] do_fallocate+0x123/0x1b0 <4>[ 37.024560] [] SyS_fallocate+0x43/0x70 <4>[ 37.024937] [] system_call_fastpath+0x16/0x1b <4>[ 37.025350] ---[ end trace 6a3b1350ad399850 ]--- <4>[ 37.030263] ------------[ cut here ]------------ <4>[ 37.030580] WARNING: CPU: 3 PID: 3598 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.031210] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.034342] CPU: 3 PID: 3598 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.034879] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.035474] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.036159] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ad1a8 <4>[ 37.036826] 0000000000000000 ffff88007c1ad1a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.037507] Call Trace: <4>[ 37.037735] [] dump_stack+0x4d/0x66 <4>[ 37.038075] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.038440] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.038797] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.039196] [] truncate_setsize+0x27/0x40 <4>[ 37.039549] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.039907] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.040278] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.040645] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.041012] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.041397] [] do_fallocate+0x123/0x1b0 <4>[ 37.041741] [] SyS_fallocate+0x43/0x70 <4>[ 37.042095] [] system_call_fastpath+0x16/0x1b <4>[ 37.042460] ---[ end trace 6a3b1350ad399851 ]--- <4>[ 37.045902] ------------[ cut here ]------------ <4>[ 37.046251] WARNING: CPU: 2 PID: 3600 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.046925] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.050431] CPU: 2 PID: 3600 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.051034] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.051679] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.052448] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c85a8 <4>[ 37.053205] 0000000000000000 ffff88007c1c85a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.053957] Call Trace: <4>[ 37.054219] [] dump_stack+0x4d/0x66 <4>[ 37.054583] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.054996] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.055398] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.055818] [] truncate_setsize+0x27/0x40 <4>[ 37.056213] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.056615] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.057024] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.057429] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.057821] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.058247] [] do_fallocate+0x123/0x1b0 <4>[ 37.058632] [] SyS_fallocate+0x43/0x70 <4>[ 37.059010] [] system_call_fastpath+0x16/0x1b <4>[ 37.059418] ---[ end trace 6a3b1350ad399852 ]--- <4>[ 37.063036] ------------[ cut here ]------------ <4>[ 37.063354] WARNING: CPU: 3 PID: 3602 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.063973] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.067104] CPU: 3 PID: 3602 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.067641] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.068236] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.068909] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ad5a8 <4>[ 37.069589] 0000000000000000 ffff88007c1ad5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.070269] Call Trace: <4>[ 37.070497] [] dump_stack+0x4d/0x66 <4>[ 37.070828] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.071202] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.071560] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.071940] [] truncate_setsize+0x27/0x40 <4>[ 37.072305] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.072663] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.073036] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.073402] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.073760] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.074151] [] do_fallocate+0x123/0x1b0 <4>[ 37.074500] [] SyS_fallocate+0x43/0x70 <4>[ 37.074841] [] system_call_fastpath+0x16/0x1b <4>[ 37.075222] ---[ end trace 6a3b1350ad399853 ]--- <4>[ 37.078677] ------------[ cut here ]------------ <4>[ 37.079026] WARNING: CPU: 2 PID: 3604 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.079701] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.083201] CPU: 2 PID: 3604 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.083794] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.084438] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.085192] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c89a8 <4>[ 37.085944] 0000000000000000 ffff88007c1c89a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.086700] Call Trace: <4>[ 37.086951] [] dump_stack+0x4d/0x66 <4>[ 37.087318] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.087727] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.088124] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.088539] [] truncate_setsize+0x27/0x40 <4>[ 37.088925] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.089328] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.089727] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.090131] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.090524] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.090942] [] do_fallocate+0x123/0x1b0 <4>[ 37.091328] [] SyS_fallocate+0x43/0x70 <4>[ 37.091702] [] system_call_fastpath+0x16/0x1b <4>[ 37.092114] ---[ end trace 6a3b1350ad399854 ]--- <4>[ 37.095639] ------------[ cut here ]------------ <4>[ 37.095957] WARNING: CPU: 3 PID: 3606 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.096599] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.099716] CPU: 3 PID: 3606 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.100261] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.100849] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 37.101531] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ad9a8 <4>[ 37.102212] 0000000000000000 ffff88007c1ad9a8 0000000004000000 ffff88007a417dd0 <4>[ 37.102879] Call Trace: <4>[ 37.103127] [] dump_stack+0x4d/0x66 <4>[ 37.103462] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.103826] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.104188] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.104572] [] truncate_setsize+0x27/0x40 <4>[ 37.104923] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.105295] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.105660] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.106033] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.106392] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.106776] [] do_fallocate+0x123/0x1b0 <4>[ 37.107128] [] SyS_fallocate+0x43/0x70 <4>[ 37.107474] [] system_call_fastpath+0x16/0x1b <4>[ 37.107838] ---[ end trace 6a3b1350ad399855 ]--- <4>[ 37.111336] ------------[ cut here ]------------ <4>[ 37.111680] WARNING: CPU: 2 PID: 3608 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.112370] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.115876] CPU: 2 PID: 3608 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.118375] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.119031] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.119784] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c8da8 <4>[ 37.120540] 0000000000000000 ffff88007c1c8da8 0000000004000000 ffff88007a56fdd0 <4>[ 37.121291] Call Trace: <4>[ 37.121553] [] dump_stack+0x4d/0x66 <4>[ 37.121911] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.122329] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.122722] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.123141] [] truncate_setsize+0x27/0x40 <4>[ 37.123527] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.123925] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.124330] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.124730] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.125126] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.125546] [] do_fallocate+0x123/0x1b0 <4>[ 37.125920] [] SyS_fallocate+0x43/0x70 <4>[ 37.126309] [] system_call_fastpath+0x16/0x1b <4>[ 37.126711] ---[ end trace 6a3b1350ad399856 ]--- <4>[ 37.130268] ------------[ cut here ]------------ <4>[ 37.130585] WARNING: CPU: 3 PID: 3610 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.131226] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.134341] CPU: 3 PID: 3610 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.134878] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.135474] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.136159] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1adda8 <4>[ 37.136826] 0000000000000000 ffff88007c1adda8 0000000004000000 ffff88007bf43dd0 <4>[ 37.137507] Call Trace: <4>[ 37.137735] [] dump_stack+0x4d/0x66 <4>[ 37.138074] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.138439] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.138797] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.139185] [] truncate_setsize+0x27/0x40 <4>[ 37.139539] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.139896] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.140275] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.140643] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.141000] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.141393] [] do_fallocate+0x123/0x1b0 <4>[ 37.141738] [] SyS_fallocate+0x43/0x70 <4>[ 37.142088] [] system_call_fastpath+0x16/0x1b <4>[ 37.142453] ---[ end trace 6a3b1350ad399857 ]--- <4>[ 37.145920] ------------[ cut here ]------------ <4>[ 37.146289] WARNING: CPU: 2 PID: 3612 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.146968] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.150483] CPU: 2 PID: 3612 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.151091] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.151736] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.152501] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c91a8 <4>[ 37.153254] 0000000000000000 ffff88007c1c91a8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.154008] Call Trace: <4>[ 37.154270] [] dump_stack+0x4d/0x66 <4>[ 37.154628] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.155053] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.155451] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.155866] [] truncate_setsize+0x27/0x40 <4>[ 37.156262] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.156662] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.157071] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.157476] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.157869] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.158295] [] do_fallocate+0x123/0x1b0 <4>[ 37.158681] [] SyS_fallocate+0x43/0x70 <4>[ 37.159062] [] system_call_fastpath+0x16/0x1b <4>[ 37.159469] ---[ end trace 6a3b1350ad399858 ]--- <4>[ 37.162906] ------------[ cut here ]------------ <4>[ 37.163257] WARNING: CPU: 2 PID: 3614 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.163944] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.167449] CPU: 2 PID: 3614 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.168052] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.168692] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 37.169444] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c95a8 <4>[ 37.170203] 0000000000000000 ffff88007c1c95a8 0000000004000000 ffff88007bfabdd0 <4>[ 37.170956] Call Trace: <4>[ 37.171214] [] dump_stack+0x4d/0x66 <4>[ 37.171571] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.171985] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.172383] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.172799] [] truncate_setsize+0x27/0x40 <4>[ 37.173190] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.173584] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.173983] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.174388] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.174782] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.175205] [] do_fallocate+0x123/0x1b0 <4>[ 37.175580] [] SyS_fallocate+0x43/0x70 <4>[ 37.175959] [] system_call_fastpath+0x16/0x1b <4>[ 37.176369] ---[ end trace 6a3b1350ad399859 ]--- <4>[ 37.179650] ------------[ cut here ]------------ <4>[ 37.179991] WARNING: CPU: 2 PID: 3616 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.180676] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.184183] CPU: 2 PID: 3616 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.184769] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.185413] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 37.186172] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c99a8 <4>[ 37.186923] 0000000000000000 ffff88007c1c99a8 0000000004000000 ffff88007bfc3dd0 <4>[ 37.187680] Call Trace: <4>[ 37.187931] [] dump_stack+0x4d/0x66 <4>[ 37.188300] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.188708] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.189106] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.189521] [] truncate_setsize+0x27/0x40 <4>[ 37.189907] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.190309] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.190708] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.191114] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.191507] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.191926] [] do_fallocate+0x123/0x1b0 <4>[ 37.192312] [] SyS_fallocate+0x43/0x70 <4>[ 37.192687] [] system_call_fastpath+0x16/0x1b <4>[ 37.193099] ---[ end trace 6a3b1350ad39985a ]--- <4>[ 37.196368] ------------[ cut here ]------------ <4>[ 37.196709] WARNING: CPU: 2 PID: 3618 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.197408] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.200905] CPU: 2 PID: 3618 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.201507] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.202150] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 37.202900] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1c9da8 <4>[ 37.203665] 0000000000000000 ffff88007c1c9da8 0000000004000000 ffff88007a417dd0 <4>[ 37.204428] Call Trace: <4>[ 37.204679] [] dump_stack+0x4d/0x66 <4>[ 37.206947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.207350] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.207743] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.208162] [] truncate_setsize+0x27/0x40 <4>[ 37.208549] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.208945] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.209349] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.209750] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.210147] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.210566] [] do_fallocate+0x123/0x1b0 <4>[ 37.210941] [] SyS_fallocate+0x43/0x70 <4>[ 37.211328] [] system_call_fastpath+0x16/0x1b <4>[ 37.211731] ---[ end trace 6a3b1350ad39985b ]--- <4>[ 37.215037] ------------[ cut here ]------------ <4>[ 37.215379] WARNING: CPU: 2 PID: 3620 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.216013] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.219526] CPU: 2 PID: 3620 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.220123] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.220763] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.221521] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ca1a8 <4>[ 37.222279] 0000000000000000 ffff88007c1ca1a8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.223036] Call Trace: <4>[ 37.223286] [] dump_stack+0x4d/0x66 <4>[ 37.223644] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.224063] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.224456] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.224871] [] truncate_setsize+0x27/0x40 <4>[ 37.225263] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.225656] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.226060] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.226459] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.226851] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.227276] [] do_fallocate+0x123/0x1b0 <4>[ 37.227651] [] SyS_fallocate+0x43/0x70 <4>[ 37.228040] [] system_call_fastpath+0x16/0x1b <4>[ 37.228443] ---[ end trace 6a3b1350ad39985c ]--- <4>[ 37.231847] ------------[ cut here ]------------ <4>[ 37.232191] WARNING: CPU: 3 PID: 3622 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.232810] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.235936] CPU: 3 PID: 3622 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.236481] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.237082] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 37.237767] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ae1a8 <4>[ 37.238447] 0000000000000000 ffff88007c1ae1a8 0000000004000000 ffff88007bfc3dd0 <4>[ 37.239125] Call Trace: <4>[ 37.239357] [] dump_stack+0x4d/0x66 <4>[ 37.239689] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.240060] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.240421] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.240801] [] truncate_setsize+0x27/0x40 <4>[ 37.241170] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.241529] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.241893] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.242266] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.242625] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.243018] [] do_fallocate+0x123/0x1b0 <4>[ 37.243365] [] SyS_fallocate+0x43/0x70 <4>[ 37.243706] [] system_call_fastpath+0x16/0x1b <4>[ 37.244079] ---[ end trace 6a3b1350ad39985d ]--- <4>[ 37.247466] ------------[ cut here ]------------ <4>[ 37.247811] WARNING: CPU: 2 PID: 3624 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.248498] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.251993] CPU: 2 PID: 3624 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.252597] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.253242] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.253990] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ca5a8 <4>[ 37.254752] 0000000000000000 ffff88007c1ca5a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.255509] Call Trace: <4>[ 37.255761] [] dump_stack+0x4d/0x66 <4>[ 37.256130] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.256539] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.256931] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.257352] [] truncate_setsize+0x27/0x40 <4>[ 37.257738] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.258142] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.258542] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.258941] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.259340] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.259760] [] do_fallocate+0x123/0x1b0 <4>[ 37.260145] [] SyS_fallocate+0x43/0x70 <4>[ 37.260519] [] system_call_fastpath+0x16/0x1b <4>[ 37.260928] ---[ end trace 6a3b1350ad39985e ]--- <4>[ 37.264399] ------------[ cut here ]------------ <4>[ 37.264740] WARNING: CPU: 2 PID: 3626 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.265427] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.268923] CPU: 2 PID: 3626 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.269526] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.270168] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.270919] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ca9a8 <4>[ 37.271683] 0000000000000000 ffff88007c1ca9a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.272439] Call Trace: <4>[ 37.272690] [] dump_stack+0x4d/0x66 <4>[ 37.273052] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.273464] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.273856] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.274278] [] truncate_setsize+0x27/0x40 <4>[ 37.274663] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.275064] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.275464] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.275863] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.276261] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.276680] [] do_fallocate+0x123/0x1b0 <4>[ 37.277065] [] SyS_fallocate+0x43/0x70 <4>[ 37.277441] [] system_call_fastpath+0x16/0x1b <4>[ 37.277849] ---[ end trace 6a3b1350ad39985f ]--- <4>[ 37.281227] ------------[ cut here ]------------ <4>[ 37.281569] WARNING: CPU: 2 PID: 3628 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.282254] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.285758] CPU: 2 PID: 3628 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.286362] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.287006] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 37.287758] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cada8 <4>[ 37.288521] 0000000000000000 ffff88007c1cada8 0000000004000000 ffff88007bfc3dd0 <4>[ 37.289280] Call Trace: <4>[ 37.289529] [] dump_stack+0x4d/0x66 <4>[ 37.289886] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.290306] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.290699] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.291121] [] truncate_setsize+0x27/0x40 <4>[ 37.291506] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.291902] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.292308] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.292708] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.293105] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.293524] [] do_fallocate+0x123/0x1b0 <4>[ 37.295803] [] SyS_fallocate+0x43/0x70 <4>[ 37.296176] [] system_call_fastpath+0x16/0x1b <4>[ 37.296582] ---[ end trace 6a3b1350ad399860 ]--- <4>[ 37.299948] ------------[ cut here ]------------ <4>[ 37.300275] WARNING: CPU: 3 PID: 3630 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.300894] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.304023] CPU: 3 PID: 3630 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.304560] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.305155] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 37.305829] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ae5a8 <4>[ 37.306510] 0000000000000000 ffff88007c1ae5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 37.307190] Call Trace: <4>[ 37.307418] [] dump_stack+0x4d/0x66 <4>[ 37.307749] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.308120] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.308480] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.308861] [] truncate_setsize+0x27/0x40 <4>[ 37.309229] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.309588] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.309952] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.310332] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.310691] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.311082] [] do_fallocate+0x123/0x1b0 <4>[ 37.311431] [] SyS_fallocate+0x43/0x70 <4>[ 37.311772] [] system_call_fastpath+0x16/0x1b <4>[ 37.312150] ---[ end trace 6a3b1350ad399861 ]--- <4>[ 37.315500] ------------[ cut here ]------------ <4>[ 37.315843] WARNING: CPU: 2 PID: 3632 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.316529] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.320031] CPU: 2 PID: 3632 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.320628] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.321272] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 37.322031] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cb1a8 <4>[ 37.322784] 0000000000000000 ffff88007c1cb1a8 0000000004000000 ffff88007bfabdd0 <4>[ 37.323542] Call Trace: <4>[ 37.323793] [] dump_stack+0x4d/0x66 <4>[ 37.324156] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.324569] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.324961] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.325381] [] truncate_setsize+0x27/0x40 <4>[ 37.325767] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.326184] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.326586] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.326986] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.327383] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.327803] [] do_fallocate+0x123/0x1b0 <4>[ 37.328186] [] SyS_fallocate+0x43/0x70 <4>[ 37.328561] [] system_call_fastpath+0x16/0x1b <4>[ 37.328969] ---[ end trace 6a3b1350ad399862 ]--- <4>[ 37.332493] ------------[ cut here ]------------ <4>[ 37.332809] WARNING: CPU: 3 PID: 3634 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.333443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.336569] CPU: 3 PID: 3634 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.337110] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.337701] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.338381] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ae9a8 <4>[ 37.339052] 0000000000000000 ffff88007c1ae9a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.339723] Call Trace: <4>[ 37.339951] [] dump_stack+0x4d/0x66 <4>[ 37.340298] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.340665] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.341030] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.341411] [] truncate_setsize+0x27/0x40 <4>[ 37.341762] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.342137] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.342502] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.342867] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.343244] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.343629] [] do_fallocate+0x123/0x1b0 <4>[ 37.343973] [] SyS_fallocate+0x43/0x70 <4>[ 37.344321] [] system_call_fastpath+0x16/0x1b <4>[ 37.344686] ---[ end trace 6a3b1350ad399863 ]--- <4>[ 37.347984] ------------[ cut here ]------------ <4>[ 37.348350] WARNING: CPU: 2 PID: 3636 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.349034] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.352554] CPU: 2 PID: 3636 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.353144] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.353784] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.354536] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cb5a8 <4>[ 37.355293] 0000000000000000 ffff88007c1cb5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.356049] Call Trace: <4>[ 37.356299] [] dump_stack+0x4d/0x66 <4>[ 37.356657] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.357075] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.357468] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.357882] [] truncate_setsize+0x27/0x40 <4>[ 37.358274] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.358668] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.359071] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.359471] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.359864] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.360287] [] do_fallocate+0x123/0x1b0 <4>[ 37.360663] [] SyS_fallocate+0x43/0x70 <4>[ 37.361047] [] system_call_fastpath+0x16/0x1b <4>[ 37.361452] ---[ end trace 6a3b1350ad399864 ]--- <4>[ 37.365046] ------------[ cut here ]------------ <4>[ 37.365363] WARNING: CPU: 1 PID: 3638 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.365981] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.369124] CPU: 1 PID: 3638 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.369661] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.370256] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 37.370930] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7059a8 <4>[ 37.371609] 0000000000000000 ffff88005b7059a8 0000000004000000 ffff88007a417dd0 <4>[ 37.372290] Call Trace: <4>[ 37.372518] [] dump_stack+0x4d/0x66 <4>[ 37.372849] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.373223] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.373581] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.373961] [] truncate_setsize+0x27/0x40 <4>[ 37.374324] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.374683] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.375055] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.375420] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.375778] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.376170] [] do_fallocate+0x123/0x1b0 <4>[ 37.376518] [] SyS_fallocate+0x43/0x70 <4>[ 37.376859] [] system_call_fastpath+0x16/0x1b <4>[ 37.377242] ---[ end trace 6a3b1350ad399865 ]--- <4>[ 37.380719] ------------[ cut here ]------------ <4>[ 37.381089] WARNING: CPU: 2 PID: 3640 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.381768] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.387181] CPU: 2 PID: 3640 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.387775] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.388419] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.389178] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cb9a8 <4>[ 37.389929] 0000000000000000 ffff88007c1cb9a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.390695] Call Trace: <4>[ 37.390946] [] dump_stack+0x4d/0x66 <4>[ 37.391314] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.391724] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.392124] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.392544] [] truncate_setsize+0x27/0x40 <4>[ 37.392930] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.393335] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.393740] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.394148] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.394547] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.394965] [] do_fallocate+0x123/0x1b0 <4>[ 37.395349] [] SyS_fallocate+0x43/0x70 <4>[ 37.395735] [] system_call_fastpath+0x16/0x1b <4>[ 37.396151] ---[ end trace 6a3b1350ad399866 ]--- <4>[ 37.399647] ------------[ cut here ]------------ <4>[ 37.399965] WARNING: CPU: 3 PID: 3642 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.400598] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.403713] CPU: 3 PID: 3642 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.404253] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.404842] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.405514] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1aeda8 <4>[ 37.406194] 0000000000000000 ffff88007c1aeda8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.406860] Call Trace: <4>[ 37.407093] [] dump_stack+0x4d/0x66 <4>[ 37.407425] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.407790] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.408152] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.408534] [] truncate_setsize+0x27/0x40 <4>[ 37.408884] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.409254] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.409619] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.409984] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.410346] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.410731] [] do_fallocate+0x123/0x1b0 <4>[ 37.411081] [] SyS_fallocate+0x43/0x70 <4>[ 37.411422] [] system_call_fastpath+0x16/0x1b <4>[ 37.411786] ---[ end trace 6a3b1350ad399867 ]--- <4>[ 37.415255] ------------[ cut here ]------------ <4>[ 37.415598] WARNING: CPU: 2 PID: 3644 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.416289] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.419798] CPU: 2 PID: 3644 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.420401] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.421047] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.421799] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cbda8 <4>[ 37.422571] 0000000000000000 ffff88007c1cbda8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.423338] Call Trace: <4>[ 37.423589] [] dump_stack+0x4d/0x66 <4>[ 37.423947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.424369] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.424767] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.425192] [] truncate_setsize+0x27/0x40 <4>[ 37.425583] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.425981] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.426388] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.426793] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.427194] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.427619] [] do_fallocate+0x123/0x1b0 <4>[ 37.427998] [] SyS_fallocate+0x43/0x70 <4>[ 37.428377] [] system_call_fastpath+0x16/0x1b <4>[ 37.428785] ---[ end trace 6a3b1350ad399868 ]--- <4>[ 37.432257] ------------[ cut here ]------------ <4>[ 37.432574] WARNING: CPU: 3 PID: 3646 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.433201] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.436312] CPU: 3 PID: 3646 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.436849] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.437447] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.438118] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1af1a8 <4>[ 37.438786] 0000000000000000 ffff88007c1af1a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.439458] Call Trace: <4>[ 37.439686] [] dump_stack+0x4d/0x66 <4>[ 37.440029] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.440393] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.440751] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.441137] [] truncate_setsize+0x27/0x40 <4>[ 37.441495] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.441853] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.442223] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.442590] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.442947] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.443342] [] do_fallocate+0x123/0x1b0 <4>[ 37.443687] [] SyS_fallocate+0x43/0x70 <4>[ 37.444033] [] system_call_fastpath+0x16/0x1b <4>[ 37.444397] ---[ end trace 6a3b1350ad399869 ]--- <4>[ 37.447785] ------------[ cut here ]------------ <4>[ 37.448159] WARNING: CPU: 2 PID: 3648 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.448833] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.452351] CPU: 2 PID: 3648 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.452927] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.453533] 0000000000000009 ffff88007bfc3d88 ffffffff81859ea6 0000000000000000 <4>[ 37.454252] ffff88007bfc3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17c1a8 <4>[ 37.455007] 0000000000000000 ffff88007c17c1a8 0000000004000000 ffff88007bfc3dd0 <4>[ 37.455774] Call Trace: <4>[ 37.456034] [] dump_stack+0x4d/0x66 <4>[ 37.456398] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.456812] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.457208] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.457632] [] truncate_setsize+0x27/0x40 <4>[ 37.458027] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.458428] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.458827] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.459236] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.459635] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.460063] [] do_fallocate+0x123/0x1b0 <4>[ 37.460446] [] SyS_fallocate+0x43/0x70 <4>[ 37.460822] [] system_call_fastpath+0x16/0x1b <4>[ 37.461239] ---[ end trace 6a3b1350ad39986a ]--- <4>[ 37.464926] ------------[ cut here ]------------ <4>[ 37.465255] WARNING: CPU: 3 PID: 3652 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.465873] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.468990] CPU: 3 PID: 3652 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.469532] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.470122] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 37.470790] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1af5a8 <4>[ 37.473176] 0000000000000000 ffff88007c1af5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 37.473842] Call Trace: <4>[ 37.474086] [] dump_stack+0x4d/0x66 <4>[ 37.474418] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.474784] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.475146] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.475528] [] truncate_setsize+0x27/0x40 <4>[ 37.475879] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.476253] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.476618] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.476993] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.477365] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.477759] [] do_fallocate+0x123/0x1b0 <4>[ 37.478119] [] SyS_fallocate+0x43/0x70 <4>[ 37.478461] [] system_call_fastpath+0x16/0x1b <4>[ 37.478824] ---[ end trace 6a3b1350ad39986b ]--- <4>[ 37.482200] ------------[ cut here ]------------ <4>[ 37.482517] WARNING: CPU: 3 PID: 3656 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.483154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.486271] CPU: 3 PID: 3656 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.486808] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.487399] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.488070] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1af9a8 <4>[ 37.488738] 0000000000000000 ffff88007c1af9a8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.489418] Call Trace: <4>[ 37.489646] [] dump_stack+0x4d/0x66 <4>[ 37.489977] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.490348] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.490707] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.491092] [] truncate_setsize+0x27/0x40 <4>[ 37.491444] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.491802] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.492180] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.492545] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.492903] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.493293] [] do_fallocate+0x123/0x1b0 <4>[ 37.493638] [] SyS_fallocate+0x43/0x70 <4>[ 37.493979] [] system_call_fastpath+0x16/0x1b <4>[ 37.494347] ---[ end trace 6a3b1350ad39986c ]--- <4>[ 37.497802] ------------[ cut here ]------------ <4>[ 37.498165] WARNING: CPU: 2 PID: 3658 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.498842] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.502358] CPU: 2 PID: 3658 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.502956] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.503600] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 37.504358] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17c5a8 <4>[ 37.505075] 0000000000000000 ffff88007c17c5a8 0000000004000000 ffff88007a417dd0 <4>[ 37.505763] Call Trace: <4>[ 37.506027] [] dump_stack+0x4d/0x66 <4>[ 37.506391] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.506805] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.507207] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.507628] [] truncate_setsize+0x27/0x40 <4>[ 37.508024] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.508427] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.508827] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.509236] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.509634] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.510061] [] do_fallocate+0x123/0x1b0 <4>[ 37.510445] [] SyS_fallocate+0x43/0x70 <4>[ 37.510821] [] system_call_fastpath+0x16/0x1b <4>[ 37.511238] ---[ end trace 6a3b1350ad39986d ]--- <4>[ 37.514816] ------------[ cut here ]------------ <4>[ 37.515180] WARNING: CPU: 2 PID: 3662 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.515854] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.519380] CPU: 2 PID: 3662 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.519964] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.520606] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.521368] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17c9a8 <4>[ 37.522117] 0000000000000000 ffff88007c17c9a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.522868] Call Trace: <4>[ 37.523125] [] dump_stack+0x4d/0x66 <4>[ 37.523482] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.523896] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.524295] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.524710] [] truncate_setsize+0x27/0x40 <4>[ 37.525100] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.525494] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.525893] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.526299] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.526692] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.527115] [] do_fallocate+0x123/0x1b0 <4>[ 37.527490] [] SyS_fallocate+0x43/0x70 <4>[ 37.527869] [] system_call_fastpath+0x16/0x1b <4>[ 37.528282] ---[ end trace 6a3b1350ad39986e ]--- <4>[ 37.531980] ------------[ cut here ]------------ <4>[ 37.532318] WARNING: CPU: 3 PID: 3664 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.532937] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.536065] CPU: 3 PID: 3664 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.536602] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.537197] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.537888] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1afda8 <4>[ 37.538579] 0000000000000000 ffff88007c1afda8 0000000004000000 ffff88007a56fdd0 <4>[ 37.539272] Call Trace: <4>[ 37.539500] [] dump_stack+0x4d/0x66 <4>[ 37.539832] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.540206] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.540564] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.540945] [] truncate_setsize+0x27/0x40 <4>[ 37.541308] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.541668] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.542041] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.542407] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.542765] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.543159] [] do_fallocate+0x123/0x1b0 <4>[ 37.543505] [] SyS_fallocate+0x43/0x70 <4>[ 37.543846] [] system_call_fastpath+0x16/0x1b <4>[ 37.544228] ---[ end trace 6a3b1350ad39986f ]--- <4>[ 37.547914] ------------[ cut here ]------------ <4>[ 37.548235] WARNING: CPU: 3 PID: 3668 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.548854] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.551974] CPU: 3 PID: 3668 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.552519] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.553109] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 37.553777] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b81a8 <4>[ 37.554449] 0000000000000000 ffff88007c1b81a8 0000000004000000 ffff88007bfbfdd0 <4>[ 37.555126] Call Trace: <4>[ 37.555354] [] dump_stack+0x4d/0x66 <4>[ 37.555685] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.556054] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.556412] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.556792] [] truncate_setsize+0x27/0x40 <4>[ 37.557148] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.557506] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.559586] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.559951] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.560317] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.560702] [] do_fallocate+0x123/0x1b0 <4>[ 37.561055] [] SyS_fallocate+0x43/0x70 <4>[ 37.561401] [] system_call_fastpath+0x16/0x1b <4>[ 37.561765] ---[ end trace 6a3b1350ad399870 ]--- <4>[ 37.565110] ------------[ cut here ]------------ <4>[ 37.565426] WARNING: CPU: 3 PID: 3670 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.566057] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.569202] CPU: 3 PID: 3670 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.569738] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.570331] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.570999] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b85a8 <4>[ 37.571670] 0000000000000000 ffff88007c1b85a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.572351] Call Trace: <4>[ 37.572580] [] dump_stack+0x4d/0x66 <4>[ 37.572911] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.573280] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.573639] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.574024] [] truncate_setsize+0x27/0x40 <4>[ 37.574376] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.574734] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.575114] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.575479] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.575837] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.576226] [] do_fallocate+0x123/0x1b0 <4>[ 37.576571] [] SyS_fallocate+0x43/0x70 <4>[ 37.576913] [] system_call_fastpath+0x16/0x1b <4>[ 37.577280] ---[ end trace 6a3b1350ad399871 ]--- <4>[ 37.580544] ------------[ cut here ]------------ <4>[ 37.580860] WARNING: CPU: 3 PID: 3672 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.581502] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.584616] CPU: 3 PID: 3672 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.585158] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.585745] 0000000000000009 ffff88007a577d88 ffffffff81859ea6 0000000000000000 <4>[ 37.586417] ffff88007a577dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b89a8 <4>[ 37.587099] 0000000000000000 ffff88007c1b89a8 0000000004000000 ffff88007a577dd0 <4>[ 37.587766] Call Trace: <4>[ 37.587995] [] dump_stack+0x4d/0x66 <4>[ 37.588332] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.588698] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.589060] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.589441] [] truncate_setsize+0x27/0x40 <4>[ 37.589792] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.590165] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.590529] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.590894] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.591257] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.591642] [] do_fallocate+0x123/0x1b0 <4>[ 37.591987] [] SyS_fallocate+0x43/0x70 <4>[ 37.592332] [] system_call_fastpath+0x16/0x1b <4>[ 37.592697] ---[ end trace 6a3b1350ad399872 ]--- <4>[ 37.596159] ------------[ cut here ]------------ <4>[ 37.596512] WARNING: CPU: 2 PID: 3674 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.597216] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.600710] CPU: 2 PID: 3674 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.601318] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.601963] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 37.602736] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17cda8 <4>[ 37.603491] 0000000000000000 ffff88007c17cda8 0000000004000000 ffff88007bf8bdd0 <4>[ 37.604255] Call Trace: <4>[ 37.604506] [] dump_stack+0x4d/0x66 <4>[ 37.604863] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.605287] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.605684] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.606109] [] truncate_setsize+0x27/0x40 <4>[ 37.606501] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.606899] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.607308] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.607713] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.608115] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.608539] [] do_fallocate+0x123/0x1b0 <4>[ 37.608918] [] SyS_fallocate+0x43/0x70 <4>[ 37.609298] [] system_call_fastpath+0x16/0x1b <4>[ 37.609706] ---[ end trace 6a3b1350ad399873 ]--- <4>[ 37.613364] ------------[ cut here ]------------ <4>[ 37.613680] WARNING: CPU: 3 PID: 3676 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.614315] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.617429] CPU: 3 PID: 3676 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.617965] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.618557] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 37.619229] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b8da8 <4>[ 37.619896] 0000000000000000 ffff88007c1b8da8 0000000004000000 ffff88007bfbfdd0 <4>[ 37.620576] Call Trace: <4>[ 37.620805] [] dump_stack+0x4d/0x66 <4>[ 37.621142] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.621507] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.621864] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.622261] [] truncate_setsize+0x27/0x40 <4>[ 37.622613] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.622971] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.623345] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.623710] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.624073] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.624458] [] do_fallocate+0x123/0x1b0 <4>[ 37.624803] [] SyS_fallocate+0x43/0x70 <4>[ 37.625148] [] system_call_fastpath+0x16/0x1b <4>[ 37.625512] ---[ end trace 6a3b1350ad399874 ]--- <4>[ 37.629031] ------------[ cut here ]------------ <4>[ 37.629389] WARNING: CPU: 2 PID: 3678 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.630077] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.633590] CPU: 2 PID: 3678 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.634187] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.634835] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.635601] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17d1a8 <4>[ 37.636353] 0000000000000000 ffff88007c17d1a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.637108] Call Trace: <4>[ 37.637369] [] dump_stack+0x4d/0x66 <4>[ 37.637727] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.638147] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.638546] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.638961] [] truncate_setsize+0x27/0x40 <4>[ 37.639356] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.639756] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.640165] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.640570] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.640963] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.641388] [] do_fallocate+0x123/0x1b0 <4>[ 37.641772] [] SyS_fallocate+0x43/0x70 <4>[ 37.642155] [] system_call_fastpath+0x16/0x1b <4>[ 37.642564] ---[ end trace 6a3b1350ad399875 ]--- <4>[ 37.646134] ------------[ cut here ]------------ <4>[ 37.646450] WARNING: CPU: 3 PID: 3680 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.648786] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.651906] CPU: 3 PID: 3680 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.652461] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.653051] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.653719] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b91a8 <4>[ 37.654400] 0000000000000000 ffff88007c1b91a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.655071] Call Trace: <4>[ 37.655305] [] dump_stack+0x4d/0x66 <4>[ 37.655636] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.656008] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.656368] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.656748] [] truncate_setsize+0x27/0x40 <4>[ 37.657108] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.657467] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.657831] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.658213] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.658573] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.658957] [] do_fallocate+0x123/0x1b0 <4>[ 37.659311] [] SyS_fallocate+0x43/0x70 <4>[ 37.659656] [] system_call_fastpath+0x16/0x1b <4>[ 37.660029] ---[ end trace 6a3b1350ad399876 ]--- <4>[ 37.663331] ------------[ cut here ]------------ <4>[ 37.663647] WARNING: CPU: 3 PID: 3682 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.664289] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.667407] CPU: 3 PID: 3682 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.667943] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.668539] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 37.669223] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b95a8 <4>[ 37.669890] 0000000000000000 ffff88007c1b95a8 0000000004000000 ffff88007a477dd0 <4>[ 37.670570] Call Trace: <4>[ 37.670798] [] dump_stack+0x4d/0x66 <4>[ 37.671137] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.671503] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.671860] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.672249] [] truncate_setsize+0x27/0x40 <4>[ 37.672602] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.672960] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.673340] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.673705] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.674072] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.674457] [] do_fallocate+0x123/0x1b0 <4>[ 37.674802] [] SyS_fallocate+0x43/0x70 <4>[ 37.675152] [] system_call_fastpath+0x16/0x1b <4>[ 37.675516] ---[ end trace 6a3b1350ad399877 ]--- <4>[ 37.678643] ------------[ cut here ]------------ <4>[ 37.678958] WARNING: CPU: 3 PID: 3684 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.679589] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.682700] CPU: 3 PID: 3684 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.683242] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.683831] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 37.684502] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b99a8 <4>[ 37.685183] 0000000000000000 ffff88007c1b99a8 0000000004000000 ffff88007bfbfdd0 <4>[ 37.685850] Call Trace: <4>[ 37.686082] [] dump_stack+0x4d/0x66 <4>[ 37.686414] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.686780] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.687142] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.687523] [] truncate_setsize+0x27/0x40 <4>[ 37.687874] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.688243] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.688607] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.688972] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.689336] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.689720] [] do_fallocate+0x123/0x1b0 <4>[ 37.690069] [] SyS_fallocate+0x43/0x70 <4>[ 37.690410] [] system_call_fastpath+0x16/0x1b <4>[ 37.690774] ---[ end trace 6a3b1350ad399878 ]--- <4>[ 37.694359] ------------[ cut here ]------------ <4>[ 37.694710] WARNING: CPU: 2 PID: 3686 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.695400] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.698909] CPU: 2 PID: 3686 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.699522] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.700170] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.700922] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17d5a8 <4>[ 37.701698] 0000000000000000 ffff88007c17d5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.702466] Call Trace: <4>[ 37.702717] [] dump_stack+0x4d/0x66 <4>[ 37.703085] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.703497] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.703890] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.704331] [] truncate_setsize+0x27/0x40 <4>[ 37.704723] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.705129] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.705534] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.705934] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.706337] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.706762] [] do_fallocate+0x123/0x1b0 <4>[ 37.707146] [] SyS_fallocate+0x43/0x70 <4>[ 37.707530] [] system_call_fastpath+0x16/0x1b <4>[ 37.707938] ---[ end trace 6a3b1350ad399879 ]--- <4>[ 37.711324] ------------[ cut here ]------------ <4>[ 37.711673] WARNING: CPU: 2 PID: 3690 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.712361] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.715866] CPU: 2 PID: 3690 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.716469] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.717120] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.717861] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17d9a8 <4>[ 37.718620] 0000000000000000 ffff88007c17d9a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.719388] Call Trace: <4>[ 37.719646] [] dump_stack+0x4d/0x66 <4>[ 37.720012] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.720421] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.720813] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.721237] [] truncate_setsize+0x27/0x40 <4>[ 37.721629] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.722033] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.722437] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.722837] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.723238] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.723663] [] do_fallocate+0x123/0x1b0 <4>[ 37.724046] [] SyS_fallocate+0x43/0x70 <4>[ 37.724432] [] system_call_fastpath+0x16/0x1b <4>[ 37.724840] ---[ end trace 6a3b1350ad39987a ]--- <4>[ 37.728313] ------------[ cut here ]------------ <4>[ 37.728662] WARNING: CPU: 2 PID: 3692 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.729351] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.732860] CPU: 2 PID: 3692 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.733469] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.736023] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 37.736769] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17dda8 <4>[ 37.737526] 0000000000000000 ffff88007c17dda8 0000000004000000 ffff88007a477dd0 <4>[ 37.738294] Call Trace: <4>[ 37.738544] [] dump_stack+0x4d/0x66 <4>[ 37.738901] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.739325] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.739723] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.740146] [] truncate_setsize+0x27/0x40 <4>[ 37.740537] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.740935] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.741344] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.741748] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.742150] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.742573] [] do_fallocate+0x123/0x1b0 <4>[ 37.742952] [] SyS_fallocate+0x43/0x70 <4>[ 37.743331] [] system_call_fastpath+0x16/0x1b <4>[ 37.743739] ---[ end trace 6a3b1350ad39987b ]--- <4>[ 37.747452] ------------[ cut here ]------------ <4>[ 37.747770] WARNING: CPU: 3 PID: 3694 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.748402] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.751518] CPU: 3 PID: 3694 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.752059] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.752647] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 37.753318] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b9da8 <4>[ 37.753985] 0000000000000000 ffff88007c1b9da8 0000000004000000 ffff88007a547dd0 <4>[ 37.754662] Call Trace: <4>[ 37.754890] [] dump_stack+0x4d/0x66 <4>[ 37.755228] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.755593] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.755951] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.756337] [] truncate_setsize+0x27/0x40 <4>[ 37.756689] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.757057] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.757427] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.757792] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.758155] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.758540] [] do_fallocate+0x123/0x1b0 <4>[ 37.758884] [] SyS_fallocate+0x43/0x70 <4>[ 37.759231] [] system_call_fastpath+0x16/0x1b <4>[ 37.759595] ---[ end trace 6a3b1350ad39987c ]--- <4>[ 37.763181] ------------[ cut here ]------------ <4>[ 37.763527] WARNING: CPU: 2 PID: 3696 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.764218] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.767721] CPU: 2 PID: 3696 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.768330] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.768975] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 37.769741] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17e1a8 <4>[ 37.770512] 0000000000000000 ffff88007c17e1a8 0000000004000000 ffff88007a6dbdd0 <4>[ 37.771276] Call Trace: <4>[ 37.771527] [] dump_stack+0x4d/0x66 <4>[ 37.771884] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.772306] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.772704] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.773128] [] truncate_setsize+0x27/0x40 <4>[ 37.773519] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.773917] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.774326] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.774730] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.775132] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.775557] [] do_fallocate+0x123/0x1b0 <4>[ 37.775935] [] SyS_fallocate+0x43/0x70 <4>[ 37.776315] [] system_call_fastpath+0x16/0x1b <4>[ 37.776722] ---[ end trace 6a3b1350ad39987d ]--- <4>[ 37.780469] ------------[ cut here ]------------ <4>[ 37.780786] WARNING: CPU: 3 PID: 3698 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.781418] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.784533] CPU: 3 PID: 3698 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.785075] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.785663] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.786335] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ba1a8 <4>[ 37.787005] 0000000000000000 ffff88007c1ba1a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.787681] Call Trace: <4>[ 37.787910] [] dump_stack+0x4d/0x66 <4>[ 37.788248] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.788612] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.788970] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.789356] [] truncate_setsize+0x27/0x40 <4>[ 37.789708] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.790080] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.790445] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.790810] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.791173] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.791558] [] do_fallocate+0x123/0x1b0 <4>[ 37.791904] [] SyS_fallocate+0x43/0x70 <4>[ 37.792250] [] system_call_fastpath+0x16/0x1b <4>[ 37.792614] ---[ end trace 6a3b1350ad39987e ]--- <4>[ 37.796184] ------------[ cut here ]------------ <4>[ 37.796530] WARNING: CPU: 2 PID: 3700 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.797221] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.800721] CPU: 2 PID: 3700 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.801323] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.801970] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 37.802729] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17e5a8 <4>[ 37.803504] 0000000000000000 ffff88007c17e5a8 0000000004000000 ffff88007d087dd0 <4>[ 37.804271] Call Trace: <4>[ 37.804522] [] dump_stack+0x4d/0x66 <4>[ 37.804880] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.805298] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.805697] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.806124] [] truncate_setsize+0x27/0x40 <4>[ 37.806514] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.806912] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.807321] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.807726] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.808129] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.808553] [] do_fallocate+0x123/0x1b0 <4>[ 37.808932] [] SyS_fallocate+0x43/0x70 <4>[ 37.809312] [] system_call_fastpath+0x16/0x1b <4>[ 37.809719] ---[ end trace 6a3b1350ad39987f ]--- <4>[ 37.813264] ------------[ cut here ]------------ <4>[ 37.813581] WARNING: CPU: 3 PID: 3702 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.814218] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.817334] CPU: 3 PID: 3702 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.817871] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.818469] 0000000000000009 ffff88007bfd7d88 ffffffff81859ea6 0000000000000000 <4>[ 37.819140] ffff88007bfd7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ba5a8 <4>[ 37.819807] 0000000000000000 ffff88007c1ba5a8 0000000004000000 ffff88007bfd7dd0 <4>[ 37.820487] Call Trace: <4>[ 37.820715] [] dump_stack+0x4d/0x66 <4>[ 37.821052] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.821417] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.823497] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.823878] [] truncate_setsize+0x27/0x40 <4>[ 37.824233] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.824592] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.824956] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.825330] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.825688] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.826087] [] do_fallocate+0x123/0x1b0 <4>[ 37.826432] [] SyS_fallocate+0x43/0x70 <4>[ 37.826773] [] system_call_fastpath+0x16/0x1b <4>[ 37.827141] ---[ end trace 6a3b1350ad399880 ]--- <4>[ 37.830721] ------------[ cut here ]------------ <4>[ 37.831088] WARNING: CPU: 2 PID: 3704 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.831763] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.835265] CPU: 2 PID: 3704 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.835858] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.836501] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.837260] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17e9a8 <4>[ 37.838021] 0000000000000000 ffff88007c17e9a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.838781] Call Trace: <4>[ 37.839042] [] dump_stack+0x4d/0x66 <4>[ 37.839405] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.839819] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.840218] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.840640] [] truncate_setsize+0x27/0x40 <4>[ 37.841033] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.841434] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.841833] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.842243] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.842641] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.843069] [] do_fallocate+0x123/0x1b0 <4>[ 37.843453] [] SyS_fallocate+0x43/0x70 <4>[ 37.843827] [] system_call_fastpath+0x16/0x1b <4>[ 37.844244] ---[ end trace 6a3b1350ad399881 ]--- <4>[ 37.847759] ------------[ cut here ]------------ <4>[ 37.848124] WARNING: CPU: 2 PID: 3706 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.848811] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.852315] CPU: 2 PID: 3706 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.852908] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.853551] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 37.854311] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17eda8 <4>[ 37.855066] 0000000000000000 ffff88007c17eda8 0000000004000000 ffff88007a477dd0 <4>[ 37.855818] Call Trace: <4>[ 37.856074] [] dump_stack+0x4d/0x66 <4>[ 37.856431] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.856843] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.857241] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.857657] [] truncate_setsize+0x27/0x40 <4>[ 37.858049] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.858443] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.858842] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.859249] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.859642] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.860066] [] do_fallocate+0x123/0x1b0 <4>[ 37.860441] [] SyS_fallocate+0x43/0x70 <4>[ 37.860820] [] system_call_fastpath+0x16/0x1b <4>[ 37.861234] ---[ end trace 6a3b1350ad399882 ]--- <4>[ 37.864920] ------------[ cut here ]------------ <4>[ 37.865254] WARNING: CPU: 3 PID: 3708 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.865873] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.869004] CPU: 3 PID: 3708 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.869541] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.870136] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 37.870810] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ba9a8 <4>[ 37.871488] 0000000000000000 ffff88007c1ba9a8 0000000004000000 ffff88007a547dd0 <4>[ 37.872171] Call Trace: <4>[ 37.872400] [] dump_stack+0x4d/0x66 <4>[ 37.872731] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.873103] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.873463] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.873843] [] truncate_setsize+0x27/0x40 <4>[ 37.874202] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.874562] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.874927] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.875305] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.875665] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.876058] [] do_fallocate+0x123/0x1b0 <4>[ 37.876409] [] SyS_fallocate+0x43/0x70 <4>[ 37.876751] [] system_call_fastpath+0x16/0x1b <4>[ 37.877123] ---[ end trace 6a3b1350ad399883 ]--- <4>[ 37.880627] ------------[ cut here ]------------ <4>[ 37.880977] WARNING: CPU: 2 PID: 3710 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.881671] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.885149] CPU: 2 PID: 3710 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.885747] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.886392] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.887147] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c17f1a8 <4>[ 37.887903] 0000000000000000 ffff88007c17f1a8 0000000004000000 ffff88007a56fdd0 <4>[ 37.888660] Call Trace: <4>[ 37.888911] [] dump_stack+0x4d/0x66 <4>[ 37.889274] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.889687] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.890084] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.890500] [] truncate_setsize+0x27/0x40 <4>[ 37.890885] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.891285] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.891686] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.892088] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.892483] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.892901] [] do_fallocate+0x123/0x1b0 <4>[ 37.893287] [] SyS_fallocate+0x43/0x70 <4>[ 37.893662] [] system_call_fastpath+0x16/0x1b <4>[ 37.894073] ---[ end trace 6a3b1350ad399884 ]--- <4>[ 37.897385] ------------[ cut here ]------------ <4>[ 37.897731] WARNING: CPU: 2 PID: 3712 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.898417] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.901920] CPU: 2 PID: 3712 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.902519] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.903163] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 37.903922] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17f5a8 <4>[ 37.904678] 0000000000000000 ffff88007c17f5a8 0000000004000000 ffff88007d087dd0 <4>[ 37.905432] Call Trace: <4>[ 37.905682] [] dump_stack+0x4d/0x66 <4>[ 37.906050] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.906461] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.906853] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.907274] [] truncate_setsize+0x27/0x40 <4>[ 37.907660] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.908062] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.908461] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.908860] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.909259] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.909678] [] do_fallocate+0x123/0x1b0 <4>[ 37.910063] [] SyS_fallocate+0x43/0x70 <4>[ 37.910438] [] system_call_fastpath+0x16/0x1b <4>[ 37.912752] ---[ end trace 6a3b1350ad399885 ]--- <4>[ 37.916284] ------------[ cut here ]------------ <4>[ 37.916602] WARNING: CPU: 3 PID: 3714 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.917242] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.920363] CPU: 3 PID: 3714 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.920900] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.921495] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 37.922171] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bada8 <4>[ 37.922839] 0000000000000000 ffff88007c1bada8 0000000004000000 ffff88007a53fdd0 <4>[ 37.923515] Call Trace: <4>[ 37.923743] [] dump_stack+0x4d/0x66 <4>[ 37.924082] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.924448] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.924805] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.925194] [] truncate_setsize+0x27/0x40 <4>[ 37.925548] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.925906] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.926286] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.926652] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.927019] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.927405] [] do_fallocate+0x123/0x1b0 <4>[ 37.927749] [] SyS_fallocate+0x43/0x70 <4>[ 37.928100] [] system_call_fastpath+0x16/0x1b <4>[ 37.928465] ---[ end trace 6a3b1350ad399886 ]--- <4>[ 37.931916] ------------[ cut here ]------------ <4>[ 37.932270] WARNING: CPU: 2 PID: 3716 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.932947] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.936469] CPU: 2 PID: 3716 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.937066] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.937716] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 37.938482] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17f9a8 <4>[ 37.939237] 0000000000000000 ffff88007c17f9a8 0000000004000000 ffff88007a547dd0 <4>[ 37.939989] Call Trace: <4>[ 37.940251] [] dump_stack+0x4d/0x66 <4>[ 37.940618] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.941038] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.941436] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.941851] [] truncate_setsize+0x27/0x40 <4>[ 37.942242] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.942650] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.943057] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.943463] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.943855] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.944281] [] do_fallocate+0x123/0x1b0 <4>[ 37.944665] [] SyS_fallocate+0x43/0x70 <4>[ 37.945044] [] system_call_fastpath+0x16/0x1b <4>[ 37.945452] ---[ end trace 6a3b1350ad399887 ]--- <4>[ 37.949015] ------------[ cut here ]------------ <4>[ 37.949332] WARNING: CPU: 3 PID: 3718 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.949951] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.953070] CPU: 3 PID: 3718 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.953607] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.954206] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.954879] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bb1a8 <4>[ 37.955561] 0000000000000000 ffff88007c1bb1a8 0000000004000000 ffff88007bf43dd0 <4>[ 37.956240] Call Trace: <4>[ 37.956469] [] dump_stack+0x4d/0x66 <4>[ 37.956800] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.957171] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.957532] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.957913] [] truncate_setsize+0x27/0x40 <4>[ 37.958271] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.958631] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.958995] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.959370] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.959729] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.960123] [] do_fallocate+0x123/0x1b0 <4>[ 37.960469] [] SyS_fallocate+0x43/0x70 <4>[ 37.960811] [] system_call_fastpath+0x16/0x1b <4>[ 37.961184] ---[ end trace 6a3b1350ad399888 ]--- <4>[ 37.964472] ------------[ cut here ]------------ <4>[ 37.964788] WARNING: CPU: 3 PID: 3720 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.965424] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.968535] CPU: 3 PID: 3720 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.969076] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.969667] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 37.970349] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bb5a8 <4>[ 37.971026] 0000000000000000 ffff88007c1bb5a8 0000000004000000 ffff88007d087dd0 <4>[ 37.971699] Call Trace: <4>[ 37.971927] [] dump_stack+0x4d/0x66 <4>[ 37.972267] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.972632] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.972990] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.973380] [] truncate_setsize+0x27/0x40 <4>[ 37.973733] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.974099] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.974464] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.974829] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.975194] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.975580] [] do_fallocate+0x123/0x1b0 <4>[ 37.975925] [] SyS_fallocate+0x43/0x70 <4>[ 37.976276] [] system_call_fastpath+0x16/0x1b <4>[ 37.976641] ---[ end trace 6a3b1350ad399889 ]--- <4>[ 37.980151] ------------[ cut here ]------------ <4>[ 37.980506] WARNING: CPU: 2 PID: 3722 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.981176] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 37.984666] CPU: 2 PID: 3722 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 37.985263] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 37.985904] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 37.986647] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c17fda8 <4>[ 37.987407] 0000000000000000 ffff88007c17fda8 0000000004000000 ffff88007bf43dd0 <4>[ 37.988164] Call Trace: <4>[ 37.988419] [] dump_stack+0x4d/0x66 <4>[ 37.988776] [] warn_slowpath_common+0x7d/0xa0 <4>[ 37.989196] [] warn_slowpath_null+0x1a/0x20 <4>[ 37.989590] [] pagecache_isize_extended+0xdd/0x120 <4>[ 37.990011] [] truncate_setsize+0x27/0x40 <4>[ 37.990397] [] xfs_setattr_size+0x157/0x3a0 <4>[ 37.990792] [] ? xfs_trans_commit+0x157/0x250 <4>[ 37.991197] [] xfs_file_fallocate+0x2df/0x300 <4>[ 37.991598] [] ? __sb_start_write+0x49/0xf0 <4>[ 37.991991] [] ? selinux_file_permission+0xc4/0x120 <4>[ 37.992425] [] do_fallocate+0x123/0x1b0 <4>[ 37.992800] [] SyS_fallocate+0x43/0x70 <4>[ 37.993188] [] system_call_fastpath+0x16/0x1b <4>[ 37.993591] ---[ end trace 6a3b1350ad39988a ]--- <4>[ 37.997140] ------------[ cut here ]------------ <4>[ 37.997456] WARNING: CPU: 3 PID: 3724 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 37.998085] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.002907] CPU: 3 PID: 3724 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.003448] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.004043] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.004710] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bb9a8 <4>[ 38.005392] 0000000000000000 ffff88007c1bb9a8 0000000004000000 ffff88007a53fdd0 <4>[ 38.006069] Call Trace: <4>[ 38.006301] [] dump_stack+0x4d/0x66 <4>[ 38.006632] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.006997] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.007362] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.007744] [] truncate_setsize+0x27/0x40 <4>[ 38.008104] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.008463] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.008827] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.009202] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.009560] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.009944] [] do_fallocate+0x123/0x1b0 <4>[ 38.010296] [] SyS_fallocate+0x43/0x70 <4>[ 38.010643] [] system_call_fastpath+0x16/0x1b <4>[ 38.011016] ---[ end trace 6a3b1350ad39988b ]--- <4>[ 38.014454] ------------[ cut here ]------------ <4>[ 38.014801] WARNING: CPU: 2 PID: 3726 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.015497] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.019021] CPU: 2 PID: 3726 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.019608] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.020251] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 38.021005] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cc1a8 <4>[ 38.021774] 0000000000000000 ffff88007c1cc1a8 0000000004000000 ffff88007a417dd0 <4>[ 38.022532] Call Trace: <4>[ 38.022783] [] dump_stack+0x4d/0x66 <4>[ 38.023146] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.023559] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.023951] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.024372] [] truncate_setsize+0x27/0x40 <4>[ 38.024758] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.025159] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.025558] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.025958] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.026356] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.026775] [] do_fallocate+0x123/0x1b0 <4>[ 38.027159] [] SyS_fallocate+0x43/0x70 <4>[ 38.027541] [] system_call_fastpath+0x16/0x1b <4>[ 38.027945] ---[ end trace 6a3b1350ad39988c ]--- <4>[ 38.031454] ------------[ cut here ]------------ <4>[ 38.031771] WARNING: CPU: 3 PID: 3728 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.032401] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.035512] CPU: 3 PID: 3728 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.036053] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.036644] 0000000000000009 ffff88007a47bd88 ffffffff81859ea6 0000000000000000 <4>[ 38.037327] ffff88007a47bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1bbda8 <4>[ 38.037994] 0000000000000000 ffff88007c1bbda8 0000000004000000 ffff88007a47bdd0 <4>[ 38.038676] Call Trace: <4>[ 38.038904] [] dump_stack+0x4d/0x66 <4>[ 38.039243] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.039607] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.039965] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.040364] [] truncate_setsize+0x27/0x40 <4>[ 38.040717] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.041083] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.041448] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.041813] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.042179] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.042564] [] do_fallocate+0x123/0x1b0 <4>[ 38.042909] [] SyS_fallocate+0x43/0x70 <4>[ 38.043260] [] system_call_fastpath+0x16/0x1b <4>[ 38.043624] ---[ end trace 6a3b1350ad39988d ]--- <4>[ 38.046826] ------------[ cut here ]------------ <4>[ 38.047151] WARNING: CPU: 3 PID: 3730 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.047769] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.050893] CPU: 3 PID: 3730 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.051439] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.052035] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 38.052710] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73c1a8 <4>[ 38.053390] 0000000000000000 ffff88005b73c1a8 0000000004000000 ffff88007d087dd0 <4>[ 38.054062] Call Trace: <4>[ 38.054300] [] dump_stack+0x4d/0x66 <4>[ 38.054631] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.054995] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.055362] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.055743] [] truncate_setsize+0x27/0x40 <4>[ 38.056102] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.056462] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.056826] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.057198] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.057558] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.057942] [] do_fallocate+0x123/0x1b0 <4>[ 38.058295] [] SyS_fallocate+0x43/0x70 <4>[ 38.058640] [] system_call_fastpath+0x16/0x1b <4>[ 38.059014] ---[ end trace 6a3b1350ad39988e ]--- <4>[ 38.062220] ------------[ cut here ]------------ <4>[ 38.062537] WARNING: CPU: 3 PID: 3732 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.063168] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.066296] CPU: 3 PID: 3732 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.066833] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.067429] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.068104] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73c5a8 <4>[ 38.068771] 0000000000000000 ffff88005b73c5a8 0000000004000000 ffff88007a477dd0 <4>[ 38.069451] Call Trace: <4>[ 38.069679] [] dump_stack+0x4d/0x66 <4>[ 38.070021] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.070386] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.070744] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.071134] [] truncate_setsize+0x27/0x40 <4>[ 38.071486] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.071844] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.072217] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.072583] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.072940] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.073332] [] do_fallocate+0x123/0x1b0 <4>[ 38.073680] [] SyS_fallocate+0x43/0x70 <4>[ 38.074030] [] system_call_fastpath+0x16/0x1b <4>[ 38.074394] ---[ end trace 6a3b1350ad39988f ]--- <4>[ 38.077591] ------------[ cut here ]------------ <4>[ 38.077907] WARNING: CPU: 3 PID: 3734 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.078540] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.081649] CPU: 3 PID: 3734 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.082190] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.082782] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 38.083464] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73c9a8 <4>[ 38.084134] 0000000000000000 ffff88005b73c9a8 0000000004000000 ffff88007bf43dd0 <4>[ 38.086518] Call Trace: <4>[ 38.086746] [] dump_stack+0x4d/0x66 <4>[ 38.087086] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.087451] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.087809] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.088197] [] truncate_setsize+0x27/0x40 <4>[ 38.088552] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.088910] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.089283] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.089649] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.090018] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.090403] [] do_fallocate+0x123/0x1b0 <4>[ 38.090748] [] SyS_fallocate+0x43/0x70 <4>[ 38.091095] [] system_call_fastpath+0x16/0x1b <4>[ 38.091460] ---[ end trace 6a3b1350ad399890 ]--- <4>[ 38.094842] ------------[ cut here ]------------ <4>[ 38.095208] WARNING: CPU: 2 PID: 3736 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.095869] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.099371] CPU: 2 PID: 3736 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.099970] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.100614] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.101367] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cc5a8 <4>[ 38.102118] 0000000000000000 ffff88007c1cc5a8 0000000004000000 ffff88007a53fdd0 <4>[ 38.102879] Call Trace: <4>[ 38.103141] [] dump_stack+0x4d/0x66 <4>[ 38.103506] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.103919] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.104332] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.104752] [] truncate_setsize+0x27/0x40 <4>[ 38.105147] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.105547] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.105947] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.106355] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.106753] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.107190] [] do_fallocate+0x123/0x1b0 <4>[ 38.107574] [] SyS_fallocate+0x43/0x70 <4>[ 38.107949] [] system_call_fastpath+0x16/0x1b <4>[ 38.108364] ---[ end trace 6a3b1350ad399891 ]--- <4>[ 38.112023] ------------[ cut here ]------------ <4>[ 38.112339] WARNING: CPU: 3 PID: 3738 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.112958] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.116086] CPU: 3 PID: 3738 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.116623] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.117218] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 38.117893] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73cda8 <4>[ 38.118575] 0000000000000000 ffff88005b73cda8 0000000004000000 ffff88007d087dd0 <4>[ 38.119256] Call Trace: <4>[ 38.119485] [] dump_stack+0x4d/0x66 <4>[ 38.119816] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.120190] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.120549] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.120930] [] truncate_setsize+0x27/0x40 <4>[ 38.121288] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.121649] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.122021] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.122387] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.122745] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.123138] [] do_fallocate+0x123/0x1b0 <4>[ 38.123485] [] SyS_fallocate+0x43/0x70 <4>[ 38.123826] [] system_call_fastpath+0x16/0x1b <4>[ 38.124199] ---[ end trace 6a3b1350ad399892 ]--- <4>[ 38.127682] ------------[ cut here ]------------ <4>[ 38.128031] WARNING: CPU: 2 PID: 3740 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.128715] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.132227] CPU: 2 PID: 3740 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.132813] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.133457] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 38.134216] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cc9a8 <4>[ 38.134976] 0000000000000000 ffff88007c1cc9a8 0000000004000000 ffff88007a463dd0 <4>[ 38.135731] Call Trace: <4>[ 38.135982] [] dump_stack+0x4d/0x66 <4>[ 38.136351] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.136758] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.137155] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.137580] [] truncate_setsize+0x27/0x40 <4>[ 38.137966] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.138369] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.138768] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.139173] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.139565] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.139984] [] do_fallocate+0x123/0x1b0 <4>[ 38.140369] [] SyS_fallocate+0x43/0x70 <4>[ 38.140751] [] system_call_fastpath+0x16/0x1b <4>[ 38.141163] ---[ end trace 6a3b1350ad399893 ]--- <4>[ 38.144580] ------------[ cut here ]------------ <4>[ 38.144897] WARNING: CPU: 3 PID: 3742 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.145532] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.148646] CPU: 3 PID: 3742 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.149187] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.149779] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.150462] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73d1a8 <4>[ 38.151132] 0000000000000000 ffff88005b73d1a8 0000000004000000 ffff88007a42fdd0 <4>[ 38.151808] Call Trace: <4>[ 38.152046] [] dump_stack+0x4d/0x66 <4>[ 38.152380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.152746] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.153111] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.153492] [] truncate_setsize+0x27/0x40 <4>[ 38.153844] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.154211] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.154576] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.154942] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.155307] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.155692] [] do_fallocate+0x123/0x1b0 <4>[ 38.156045] [] SyS_fallocate+0x43/0x70 <4>[ 38.156391] [] system_call_fastpath+0x16/0x1b <4>[ 38.156754] ---[ end trace 6a3b1350ad399894 ]--- <4>[ 38.160457] ------------[ cut here ]------------ <4>[ 38.160773] WARNING: CPU: 3 PID: 3744 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.161405] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.164509] CPU: 3 PID: 3744 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.165056] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.165649] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.166330] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73d5a8 <4>[ 38.166997] 0000000000000000 ffff88005b73d5a8 0000000004000000 ffff88007a477dd0 <4>[ 38.167680] Call Trace: <4>[ 38.167908] [] dump_stack+0x4d/0x66 <4>[ 38.168246] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.168612] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.168970] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.169359] [] truncate_setsize+0x27/0x40 <4>[ 38.169712] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.170079] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.170445] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.170810] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.172881] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.173273] [] do_fallocate+0x123/0x1b0 <4>[ 38.173618] [] SyS_fallocate+0x43/0x70 <4>[ 38.173959] [] system_call_fastpath+0x16/0x1b <4>[ 38.174330] ---[ end trace 6a3b1350ad399895 ]--- <4>[ 38.177683] ------------[ cut here ]------------ <4>[ 38.178000] WARNING: CPU: 3 PID: 3746 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.178633] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.181744] CPU: 3 PID: 3746 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.182290] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.182877] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.183560] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73d9a8 <4>[ 38.184240] 0000000000000000 ffff88005b73d9a8 0000000004000000 ffff88007a53fdd0 <4>[ 38.184907] Call Trace: <4>[ 38.185144] [] dump_stack+0x4d/0x66 <4>[ 38.185479] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.185844] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.186211] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.186592] [] truncate_setsize+0x27/0x40 <4>[ 38.186943] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.187310] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.187675] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.188047] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.188406] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.188791] [] do_fallocate+0x123/0x1b0 <4>[ 38.189155] [] SyS_fallocate+0x43/0x70 <4>[ 38.189499] [] system_call_fastpath+0x16/0x1b <4>[ 38.189863] ---[ end trace 6a3b1350ad399896 ]--- <4>[ 38.193463] ------------[ cut here ]------------ <4>[ 38.193811] WARNING: CPU: 2 PID: 3748 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.194505] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.198015] CPU: 2 PID: 3748 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.198612] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.199255] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.200016] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ccda8 <4>[ 38.200770] 0000000000000000 ffff88007c1ccda8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.201530] Call Trace: <4>[ 38.201786] [] dump_stack+0x4d/0x66 <4>[ 38.202155] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.202563] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.202955] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.203377] [] truncate_setsize+0x27/0x40 <4>[ 38.203763] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.204167] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.204580] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.204979] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.205377] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.205797] [] do_fallocate+0x123/0x1b0 <4>[ 38.206181] [] SyS_fallocate+0x43/0x70 <4>[ 38.206556] [] system_call_fastpath+0x16/0x1b <4>[ 38.206962] ---[ end trace 6a3b1350ad399897 ]--- <4>[ 38.210740] ------------[ cut here ]------------ <4>[ 38.211063] WARNING: CPU: 3 PID: 3750 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.211681] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.214799] CPU: 3 PID: 3750 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.215340] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.215930] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 38.216613] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73dda8 <4>[ 38.217301] 0000000000000000 ffff88005b73dda8 0000000004000000 ffff88007a417dd0 <4>[ 38.217968] Call Trace: <4>[ 38.218204] [] dump_stack+0x4d/0x66 <4>[ 38.218540] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.218904] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.219272] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.219653] [] truncate_setsize+0x27/0x40 <4>[ 38.220013] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.220372] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.220736] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.221109] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.221467] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.221852] [] do_fallocate+0x123/0x1b0 <4>[ 38.222204] [] SyS_fallocate+0x43/0x70 <4>[ 38.222551] [] system_call_fastpath+0x16/0x1b <4>[ 38.222914] ---[ end trace 6a3b1350ad399898 ]--- <4>[ 38.226541] ------------[ cut here ]------------ <4>[ 38.226892] WARNING: CPU: 2 PID: 3752 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.227587] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.231096] CPU: 2 PID: 3752 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.231691] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.232335] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.233087] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cd1a8 <4>[ 38.233838] 0000000000000000 ffff88007c1cd1a8 0000000004000000 ffff88007a53fdd0 <4>[ 38.234604] Call Trace: <4>[ 38.234855] [] dump_stack+0x4d/0x66 <4>[ 38.235218] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.235634] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.236030] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.236445] [] truncate_setsize+0x27/0x40 <4>[ 38.236831] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.237232] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.237641] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.238046] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.238439] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.238858] [] do_fallocate+0x123/0x1b0 <4>[ 38.239243] [] SyS_fallocate+0x43/0x70 <4>[ 38.239619] [] system_call_fastpath+0x16/0x1b <4>[ 38.240031] ---[ end trace 6a3b1350ad399899 ]--- <4>[ 38.243657] ------------[ cut here ]------------ <4>[ 38.243973] WARNING: CPU: 3 PID: 3754 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.244611] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.247721] CPU: 3 PID: 3754 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.248279] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.248868] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.249551] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73e1a8 <4>[ 38.250232] 0000000000000000 ffff88005b73e1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.250899] Call Trace: <4>[ 38.251137] [] dump_stack+0x4d/0x66 <4>[ 38.251472] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.251837] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.252203] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.252585] [] truncate_setsize+0x27/0x40 <4>[ 38.252936] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.253304] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.253669] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.254043] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.254402] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.254787] [] do_fallocate+0x123/0x1b0 <4>[ 38.255138] [] SyS_fallocate+0x43/0x70 <4>[ 38.255485] [] system_call_fastpath+0x16/0x1b <4>[ 38.255849] ---[ end trace 6a3b1350ad39989a ]--- <4>[ 38.259223] ------------[ cut here ]------------ <4>[ 38.259565] WARNING: CPU: 2 PID: 3756 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.260261] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.265665] CPU: 2 PID: 3756 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.266263] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.266903] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 38.267666] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cd5a8 <4>[ 38.268419] 0000000000000000 ffff88007c1cd5a8 0000000004000000 ffff88007a453dd0 <4>[ 38.269175] Call Trace: <4>[ 38.269436] [] dump_stack+0x4d/0x66 <4>[ 38.269793] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.270213] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.270606] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.271026] [] truncate_setsize+0x27/0x40 <4>[ 38.271413] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.271811] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.272217] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.272627] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.273026] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.273445] [] do_fallocate+0x123/0x1b0 <4>[ 38.273819] [] SyS_fallocate+0x43/0x70 <4>[ 38.274208] [] system_call_fastpath+0x16/0x1b <4>[ 38.274610] ---[ end trace 6a3b1350ad39989b ]--- <4>[ 38.278118] ------------[ cut here ]------------ <4>[ 38.278436] WARNING: CPU: 3 PID: 3758 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.279066] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.282176] CPU: 3 PID: 3758 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.282713] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.283320] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 38.283994] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73e5a8 <4>[ 38.284674] 0000000000000000 ffff88005b73e5a8 0000000004000000 ffff88007a417dd0 <4>[ 38.285355] Call Trace: <4>[ 38.285583] [] dump_stack+0x4d/0x66 <4>[ 38.285915] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.286289] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.286647] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.287038] [] truncate_setsize+0x27/0x40 <4>[ 38.287390] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.287748] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.288121] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.288487] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.288845] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.289237] [] do_fallocate+0x123/0x1b0 <4>[ 38.289585] [] SyS_fallocate+0x43/0x70 <4>[ 38.289926] [] system_call_fastpath+0x16/0x1b <4>[ 38.290298] ---[ end trace 6a3b1350ad39989c ]--- <4>[ 38.293673] ------------[ cut here ]------------ <4>[ 38.294024] WARNING: CPU: 2 PID: 3760 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.294703] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.298211] CPU: 2 PID: 3760 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.298796] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.299440] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.300198] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cd9a8 <4>[ 38.300949] 0000000000000000 ffff88007c1cd9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.301705] Call Trace: <4>[ 38.301956] [] dump_stack+0x4d/0x66 <4>[ 38.302324] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.302732] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.303129] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.303544] [] truncate_setsize+0x27/0x40 <4>[ 38.303930] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.304335] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.304735] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.305140] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.305534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.305953] [] do_fallocate+0x123/0x1b0 <4>[ 38.306338] [] SyS_fallocate+0x43/0x70 <4>[ 38.306715] [] system_call_fastpath+0x16/0x1b <4>[ 38.307127] ---[ end trace 6a3b1350ad39989d ]--- <4>[ 38.310558] ------------[ cut here ]------------ <4>[ 38.310876] WARNING: CPU: 3 PID: 3762 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.311518] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.314636] CPU: 3 PID: 3762 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.315177] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.315768] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 38.316448] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73e9a8 <4>[ 38.317123] 0000000000000000 ffff88005b73e9a8 0000000004000000 ffff88007a547dd0 <4>[ 38.317791] Call Trace: <4>[ 38.318029] [] dump_stack+0x4d/0x66 <4>[ 38.318364] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.318728] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.319093] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.319475] [] truncate_setsize+0x27/0x40 <4>[ 38.319826] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.320203] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.320569] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.320933] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.321299] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.321684] [] do_fallocate+0x123/0x1b0 <4>[ 38.322037] [] SyS_fallocate+0x43/0x70 <4>[ 38.322382] [] system_call_fastpath+0x16/0x1b <4>[ 38.322745] ---[ end trace 6a3b1350ad39989e ]--- <4>[ 38.325955] ------------[ cut here ]------------ <4>[ 38.326285] WARNING: CPU: 3 PID: 3764 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.326906] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.330030] CPU: 3 PID: 3764 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.330567] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.331163] 0000000000000009 ffff88007d087d88 ffffffff81859ea6 0000000000000000 <4>[ 38.331837] ffff88007d087dc0 ffffffff8106ef0d 0000000000001000 ffff88005b73eda8 <4>[ 38.332518] 0000000000000000 ffff88005b73eda8 0000000004000000 ffff88007d087dd0 <4>[ 38.333200] Call Trace: <4>[ 38.333428] [] dump_stack+0x4d/0x66 <4>[ 38.333759] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.334133] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.334491] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.334872] [] truncate_setsize+0x27/0x40 <4>[ 38.335231] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.335590] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.335955] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.336333] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.336692] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.337085] [] do_fallocate+0x123/0x1b0 <4>[ 38.337432] [] SyS_fallocate+0x43/0x70 <4>[ 38.337772] [] system_call_fastpath+0x16/0x1b <4>[ 38.338145] ---[ end trace 6a3b1350ad39989f ]--- <4>[ 38.341402] ------------[ cut here ]------------ <4>[ 38.341745] WARNING: CPU: 2 PID: 3766 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.342432] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.345926] CPU: 2 PID: 3766 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.346529] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.347172] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 38.349837] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cdda8 <4>[ 38.350588] 0000000000000000 ffff88007c1cdda8 0000000004000000 ffff88007a453dd0 <4>[ 38.351343] Call Trace: <4>[ 38.351594] [] dump_stack+0x4d/0x66 <4>[ 38.351952] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.352369] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.352762] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.353181] [] truncate_setsize+0x27/0x40 <4>[ 38.353567] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.353963] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.354367] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.354768] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.355165] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.355585] [] do_fallocate+0x123/0x1b0 <4>[ 38.355959] [] SyS_fallocate+0x43/0x70 <4>[ 38.356347] [] system_call_fastpath+0x16/0x1b <4>[ 38.356749] ---[ end trace 6a3b1350ad3998a0 ]--- <4>[ 38.360334] ------------[ cut here ]------------ <4>[ 38.360651] WARNING: CPU: 3 PID: 3768 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.361292] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.364410] CPU: 3 PID: 3768 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.364947] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.365541] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 38.366225] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73f1a8 <4>[ 38.366892] 0000000000000000 ffff88005b73f1a8 0000000004000000 ffff88007a6dbdd0 <4>[ 38.367570] Call Trace: <4>[ 38.367799] [] dump_stack+0x4d/0x66 <4>[ 38.368138] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.368503] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.368861] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.369251] [] truncate_setsize+0x27/0x40 <4>[ 38.369604] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.369961] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.370339] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.370707] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.371080] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.371465] [] do_fallocate+0x123/0x1b0 <4>[ 38.371810] [] SyS_fallocate+0x43/0x70 <4>[ 38.372160] [] system_call_fastpath+0x16/0x1b <4>[ 38.372524] ---[ end trace 6a3b1350ad3998a1 ]--- <4>[ 38.375872] ------------[ cut here ]------------ <4>[ 38.376223] WARNING: CPU: 2 PID: 3770 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.376897] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.380407] CPU: 2 PID: 3770 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.381010] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.381655] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 38.382424] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ce1a8 <4>[ 38.383182] 0000000000000000 ffff88007c1ce1a8 0000000004000000 ffff88007a547dd0 <4>[ 38.383933] Call Trace: <4>[ 38.384195] [] dump_stack+0x4d/0x66 <4>[ 38.384558] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.384971] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.385373] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.385793] [] truncate_setsize+0x27/0x40 <4>[ 38.386189] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.386588] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.386987] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.387395] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.387794] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.388220] [] do_fallocate+0x123/0x1b0 <4>[ 38.388603] [] SyS_fallocate+0x43/0x70 <4>[ 38.388978] [] system_call_fastpath+0x16/0x1b <4>[ 38.389395] ---[ end trace 6a3b1350ad3998a2 ]--- <4>[ 38.392947] ------------[ cut here ]------------ <4>[ 38.393276] WARNING: CPU: 3 PID: 3772 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.393894] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.397020] CPU: 3 PID: 3772 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.397556] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.398152] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.398826] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73f5a8 <4>[ 38.399510] 0000000000000000 ffff88005b73f5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.400190] Call Trace: <4>[ 38.400418] [] dump_stack+0x4d/0x66 <4>[ 38.400749] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.401121] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.401481] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.401862] [] truncate_setsize+0x27/0x40 <4>[ 38.402232] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.402591] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.402955] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.403328] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.403687] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.404078] [] do_fallocate+0x123/0x1b0 <4>[ 38.404426] [] SyS_fallocate+0x43/0x70 <4>[ 38.404768] [] system_call_fastpath+0x16/0x1b <4>[ 38.405150] ---[ end trace 6a3b1350ad3998a3 ]--- <4>[ 38.408503] ------------[ cut here ]------------ <4>[ 38.408846] WARNING: CPU: 2 PID: 3774 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.409532] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.413041] CPU: 2 PID: 3774 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.413628] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.414273] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.415033] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ce5a8 <4>[ 38.415786] 0000000000000000 ffff88007c1ce5a8 0000000004000000 ffff88007a53fdd0 <4>[ 38.416542] Call Trace: <4>[ 38.416793] [] dump_stack+0x4d/0x66 <4>[ 38.417162] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.417569] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.417963] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.418384] [] truncate_setsize+0x27/0x40 <4>[ 38.418769] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.419171] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.419570] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.419969] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.420366] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.420786] [] do_fallocate+0x123/0x1b0 <4>[ 38.421170] [] SyS_fallocate+0x43/0x70 <4>[ 38.421546] [] system_call_fastpath+0x16/0x1b <4>[ 38.421954] ---[ end trace 6a3b1350ad3998a4 ]--- <4>[ 38.425407] ------------[ cut here ]------------ <4>[ 38.425724] WARNING: CPU: 3 PID: 3776 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.426364] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.429481] CPU: 3 PID: 3776 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.430025] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.430613] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 38.431295] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73f9a8 <4>[ 38.431962] 0000000000000000 ffff88005b73f9a8 0000000004000000 ffff88007a6dbdd0 <4>[ 38.432654] Call Trace: <4>[ 38.432882] [] dump_stack+0x4d/0x66 <4>[ 38.433233] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.433600] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.433957] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.434345] [] truncate_setsize+0x27/0x40 <4>[ 38.436422] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.436780] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.437153] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.437519] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.437877] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.438275] [] do_fallocate+0x123/0x1b0 <4>[ 38.438622] [] SyS_fallocate+0x43/0x70 <4>[ 38.438962] [] system_call_fastpath+0x16/0x1b <4>[ 38.439340] ---[ end trace 6a3b1350ad3998a5 ]--- <4>[ 38.442524] ------------[ cut here ]------------ <4>[ 38.442840] WARNING: CPU: 3 PID: 3778 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.443474] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.446587] CPU: 3 PID: 3778 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.447133] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.447720] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.448401] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b73fda8 <4>[ 38.449072] 0000000000000000 ffff88005b73fda8 0000000004000000 ffff88007a42fdd0 <4>[ 38.449744] Call Trace: <4>[ 38.449972] [] dump_stack+0x4d/0x66 <4>[ 38.450316] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.450683] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.451047] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.451428] [] truncate_setsize+0x27/0x40 <4>[ 38.451779] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.452155] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.452521] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.452886] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.453254] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.453639] [] do_fallocate+0x123/0x1b0 <4>[ 38.453984] [] SyS_fallocate+0x43/0x70 <4>[ 38.454347] [] system_call_fastpath+0x16/0x1b <4>[ 38.454721] ---[ end trace 6a3b1350ad3998a6 ]--- <4>[ 38.458255] ------------[ cut here ]------------ <4>[ 38.458570] WARNING: CPU: 3 PID: 3782 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.459211] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.462328] CPU: 3 PID: 3782 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.462865] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.463466] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 38.464142] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d81a8 <4>[ 38.464809] 0000000000000000 ffff88007c1d81a8 0000000004000000 ffff88007a547dd0 <4>[ 38.465490] Call Trace: <4>[ 38.465717] [] dump_stack+0x4d/0x66 <4>[ 38.466056] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.466421] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.466779] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.467168] [] truncate_setsize+0x27/0x40 <4>[ 38.467521] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.467879] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.468257] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.468623] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.468980] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.469377] [] do_fallocate+0x123/0x1b0 <4>[ 38.469724] [] SyS_fallocate+0x43/0x70 <4>[ 38.470072] [] system_call_fastpath+0x16/0x1b <4>[ 38.470437] ---[ end trace 6a3b1350ad3998a7 ]--- <4>[ 38.473810] ------------[ cut here ]------------ <4>[ 38.474167] WARNING: CPU: 2 PID: 3784 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.474846] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.478374] CPU: 2 PID: 3784 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.478922] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.479536] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 38.480289] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ce9a8 <4>[ 38.481044] 0000000000000000 ffff88007c1ce9a8 0000000004000000 ffff88007bf43dd0 <4>[ 38.481805] Call Trace: <4>[ 38.482065] [] dump_stack+0x4d/0x66 <4>[ 38.482428] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.482841] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.483242] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.483664] [] truncate_setsize+0x27/0x40 <4>[ 38.484057] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.484458] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.484858] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.485266] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.485664] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.486091] [] do_fallocate+0x123/0x1b0 <4>[ 38.486475] [] SyS_fallocate+0x43/0x70 <4>[ 38.486850] [] system_call_fastpath+0x16/0x1b <4>[ 38.487267] ---[ end trace 6a3b1350ad3998a8 ]--- <4>[ 38.490598] ------------[ cut here ]------------ <4>[ 38.490940] WARNING: CPU: 2 PID: 3788 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.491627] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.495127] CPU: 2 PID: 3788 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.495719] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.496362] 0000000000000009 ffff88007a573d88 ffffffff81859ea6 0000000000000000 <4>[ 38.497117] ffff88007a573dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ceda8 <4>[ 38.497872] 0000000000000000 ffff88007c1ceda8 0000000004000000 ffff88007a573dd0 <4>[ 38.498629] Call Trace: <4>[ 38.498879] [] dump_stack+0x4d/0x66 <4>[ 38.499243] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.499655] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.500052] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.500468] [] truncate_setsize+0x27/0x40 <4>[ 38.500853] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.501256] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.501655] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.502059] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.502451] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.502869] [] do_fallocate+0x123/0x1b0 <4>[ 38.503255] [] SyS_fallocate+0x43/0x70 <4>[ 38.503632] [] system_call_fastpath+0x16/0x1b <4>[ 38.504045] ---[ end trace 6a3b1350ad3998a9 ]--- <4>[ 38.507460] ------------[ cut here ]------------ <4>[ 38.507813] WARNING: CPU: 0 PID: 3790 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.508500] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.512012] CPU: 0 PID: 3790 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.512598] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.513242] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.514004] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b755da8 <4>[ 38.514757] 0000000000000000 ffff88005b755da8 0000000004000000 ffff88007a42fdd0 <4>[ 38.515516] Call Trace: <4>[ 38.515767] [] dump_stack+0x4d/0x66 <4>[ 38.516129] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.516542] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.516934] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.517355] [] truncate_setsize+0x27/0x40 <4>[ 38.517741] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.518144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.518544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.518943] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.519341] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.519760] [] do_fallocate+0x123/0x1b0 <4>[ 38.520144] [] SyS_fallocate+0x43/0x70 <4>[ 38.520520] [] system_call_fastpath+0x16/0x1b <4>[ 38.520927] ---[ end trace 6a3b1350ad3998aa ]--- <4>[ 38.526060] ------------[ cut here ]------------ <4>[ 38.526402] WARNING: CPU: 2 PID: 3794 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.527086] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.530579] CPU: 2 PID: 3794 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.531182] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.531822] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 38.532584] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cf1a8 <4>[ 38.533340] 0000000000000000 ffff88007c1cf1a8 0000000004000000 ffff88007a453dd0 <4>[ 38.534084] Call Trace: <4>[ 38.534343] [] dump_stack+0x4d/0x66 <4>[ 38.534700] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.535119] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.535512] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.535927] [] truncate_setsize+0x27/0x40 <4>[ 38.536317] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.536712] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.537114] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.537514] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.537907] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.538331] [] do_fallocate+0x123/0x1b0 <4>[ 38.538706] [] SyS_fallocate+0x43/0x70 <4>[ 38.539094] [] system_call_fastpath+0x16/0x1b <4>[ 38.539501] ---[ end trace 6a3b1350ad3998ab ]--- <4>[ 38.542868] ------------[ cut here ]------------ <4>[ 38.543211] WARNING: CPU: 3 PID: 3797 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.543830] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.546959] CPU: 3 PID: 3797 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.547511] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.548102] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.548771] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d85a8 <4>[ 38.549451] 0000000000000000 ffff88007c1d85a8 0000000004000000 ffff88007a477dd0 <4>[ 38.550127] Call Trace: <4>[ 38.550361] [] dump_stack+0x4d/0x66 <4>[ 38.550693] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.551064] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.551425] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.551805] [] truncate_setsize+0x27/0x40 <4>[ 38.552175] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.552534] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.552898] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.553273] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.553632] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.554026] [] do_fallocate+0x123/0x1b0 <4>[ 38.554372] [] SyS_fallocate+0x43/0x70 <4>[ 38.554713] [] system_call_fastpath+0x16/0x1b <4>[ 38.555086] ---[ end trace 6a3b1350ad3998ac ]--- <4>[ 38.558375] ------------[ cut here ]------------ <4>[ 38.558691] WARNING: CPU: 3 PID: 3800 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.559331] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.562443] CPU: 3 PID: 3800 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.562980] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.563575] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 38.564251] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d89a8 <4>[ 38.564918] 0000000000000000 ffff88007c1d89a8 0000000004000000 ffff88007a547dd0 <4>[ 38.565597] Call Trace: <4>[ 38.565826] [] dump_stack+0x4d/0x66 <4>[ 38.566166] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.566532] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.566889] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.567278] [] truncate_setsize+0x27/0x40 <4>[ 38.567631] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.567989] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.568366] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.568732] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.569098] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.569482] [] do_fallocate+0x123/0x1b0 <4>[ 38.569827] [] SyS_fallocate+0x43/0x70 <4>[ 38.570178] [] system_call_fastpath+0x16/0x1b <4>[ 38.570542] ---[ end trace 6a3b1350ad3998ad ]--- <4>[ 38.573898] ------------[ cut here ]------------ <4>[ 38.574254] WARNING: CPU: 2 PID: 3802 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.574932] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.578432] CPU: 2 PID: 3802 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.579030] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.579671] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 38.580423] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cf5a8 <4>[ 38.581180] 0000000000000000 ffff88007c1cf5a8 0000000004000000 ffff88007a493dd0 <4>[ 38.581933] Call Trace: <4>[ 38.582190] [] dump_stack+0x4d/0x66 <4>[ 38.582549] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.582962] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.583359] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.583775] [] truncate_setsize+0x27/0x40 <4>[ 38.584164] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.584560] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.584960] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.585363] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.585757] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.586181] [] do_fallocate+0x123/0x1b0 <4>[ 38.586555] [] SyS_fallocate+0x43/0x70 <4>[ 38.586935] [] system_call_fastpath+0x16/0x1b <4>[ 38.587346] ---[ end trace 6a3b1350ad3998ae ]--- <4>[ 38.590666] ------------[ cut here ]------------ <4>[ 38.591014] WARNING: CPU: 2 PID: 3804 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.591691] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.595188] CPU: 2 PID: 3804 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.595781] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.596427] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.597184] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cf9a8 <4>[ 38.597939] 0000000000000000 ffff88007c1cf9a8 0000000004000000 ffff88007a477dd0 <4>[ 38.598696] Call Trace: <4>[ 38.598947] [] dump_stack+0x4d/0x66 <4>[ 38.599315] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.599723] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.600120] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.600536] [] truncate_setsize+0x27/0x40 <4>[ 38.600921] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.601323] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.601722] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.602126] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.602518] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.602937] [] do_fallocate+0x123/0x1b0 <4>[ 38.603323] [] SyS_fallocate+0x43/0x70 <4>[ 38.603697] [] system_call_fastpath+0x16/0x1b <4>[ 38.604110] ---[ end trace 6a3b1350ad3998af ]--- <4>[ 38.607897] ------------[ cut here ]------------ <4>[ 38.608227] WARNING: CPU: 3 PID: 3806 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.608844] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.611971] CPU: 3 PID: 3806 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.614232] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.614821] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.615501] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d8da8 <4>[ 38.616182] 0000000000000000 ffff88007c1d8da8 0000000004000000 ffff88007a42fdd0 <4>[ 38.616848] Call Trace: <4>[ 38.617091] [] dump_stack+0x4d/0x66 <4>[ 38.617426] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.617791] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.618168] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.618549] [] truncate_setsize+0x27/0x40 <4>[ 38.618901] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.619267] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.619632] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.619997] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.620373] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.620759] [] do_fallocate+0x123/0x1b0 <4>[ 38.621116] [] SyS_fallocate+0x43/0x70 <4>[ 38.621467] [] system_call_fastpath+0x16/0x1b <4>[ 38.621831] ---[ end trace 6a3b1350ad3998b0 ]--- <4>[ 38.625497] ------------[ cut here ]------------ <4>[ 38.625811] WARNING: CPU: 3 PID: 3808 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.626445] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.629567] CPU: 3 PID: 3808 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.630107] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.630698] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 38.631380] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d91a8 <4>[ 38.632051] 0000000000000000 ffff88007c1d91a8 0000000004000000 ffff88007a6dbdd0 <4>[ 38.632723] Call Trace: <4>[ 38.632951] [] dump_stack+0x4d/0x66 <4>[ 38.633296] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.633661] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.634028] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.634409] [] truncate_setsize+0x27/0x40 <4>[ 38.634759] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.635136] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.635502] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.635867] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.636245] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.636630] [] do_fallocate+0x123/0x1b0 <4>[ 38.636975] [] SyS_fallocate+0x43/0x70 <4>[ 38.637324] [] system_call_fastpath+0x16/0x1b <4>[ 38.637689] ---[ end trace 6a3b1350ad3998b1 ]--- <4>[ 38.641274] ------------[ cut here ]------------ <4>[ 38.641635] WARNING: CPU: 2 PID: 3810 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.642321] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.645832] CPU: 2 PID: 3810 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.646430] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.647069] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.647813] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1cfda8 <4>[ 38.648572] 0000000000000000 ffff88007c1cfda8 0000000004000000 ffff88007a57fdd0 <4>[ 38.649328] Call Trace: <4>[ 38.649590] [] dump_stack+0x4d/0x66 <4>[ 38.649947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.650365] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.650759] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.651180] [] truncate_setsize+0x27/0x40 <4>[ 38.651566] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.651962] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.652365] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.652765] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.653163] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.653583] [] do_fallocate+0x123/0x1b0 <4>[ 38.653958] [] SyS_fallocate+0x43/0x70 <4>[ 38.654346] [] system_call_fastpath+0x16/0x1b <4>[ 38.654748] ---[ end trace 6a3b1350ad3998b2 ]--- <4>[ 38.658063] ------------[ cut here ]------------ <4>[ 38.658404] WARNING: CPU: 2 PID: 3812 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.659086] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.662592] CPU: 2 PID: 3812 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.663192] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.663827] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.664588] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a81a8 <4>[ 38.665342] 0000000000000000 ffff88007c1a81a8 0000000004000000 ffff88007a42fdd0 <4>[ 38.666092] Call Trace: <4>[ 38.666347] [] dump_stack+0x4d/0x66 <4>[ 38.666704] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.667123] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.667516] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.667931] [] truncate_setsize+0x27/0x40 <4>[ 38.668323] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.668717] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.669120] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.669520] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.669912] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.670337] [] do_fallocate+0x123/0x1b0 <4>[ 38.670711] [] SyS_fallocate+0x43/0x70 <4>[ 38.671092] [] system_call_fastpath+0x16/0x1b <4>[ 38.671496] ---[ end trace 6a3b1350ad3998b3 ]--- <4>[ 38.675263] ------------[ cut here ]------------ <4>[ 38.675581] WARNING: CPU: 3 PID: 3814 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.676211] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.679330] CPU: 3 PID: 3814 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.679867] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.680468] 0000000000000009 ffff88007a57bd88 ffffffff81859ea6 0000000000000000 <4>[ 38.681149] ffff88007a57bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d95a8 <4>[ 38.681814] 0000000000000000 ffff88007c1d95a8 0000000004000000 ffff88007a57bdd0 <4>[ 38.682495] Call Trace: <4>[ 38.682723] [] dump_stack+0x4d/0x66 <4>[ 38.683062] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.683427] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.683785] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.684184] [] truncate_setsize+0x27/0x40 <4>[ 38.684537] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.684895] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.685268] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.685633] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.685991] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.686383] [] do_fallocate+0x123/0x1b0 <4>[ 38.686732] [] SyS_fallocate+0x43/0x70 <4>[ 38.687087] [] system_call_fastpath+0x16/0x1b <4>[ 38.687451] ---[ end trace 6a3b1350ad3998b4 ]--- <4>[ 38.690807] ------------[ cut here ]------------ <4>[ 38.691174] WARNING: CPU: 2 PID: 3816 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.691851] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.695227] CPU: 2 PID: 3816 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.695824] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.696469] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.697228] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a85a8 <4>[ 38.697981] 0000000000000000 ffff88007c1a85a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.698746] Call Trace: <4>[ 38.698996] [] dump_stack+0x4d/0x66 <4>[ 38.701266] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.701677] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.702079] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.702500] [] truncate_setsize+0x27/0x40 <4>[ 38.702885] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.703306] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.703713] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.704122] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.704521] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.704939] [] do_fallocate+0x123/0x1b0 <4>[ 38.705325] [] SyS_fallocate+0x43/0x70 <4>[ 38.705711] [] system_call_fastpath+0x16/0x1b <4>[ 38.706130] ---[ end trace 6a3b1350ad3998b5 ]--- <4>[ 38.709570] ------------[ cut here ]------------ <4>[ 38.709915] WARNING: CPU: 2 PID: 3820 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.710602] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.714102] CPU: 2 PID: 3820 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.714694] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.715344] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 38.716094] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a89a8 <4>[ 38.716846] 0000000000000000 ffff88007c1a89a8 0000000004000000 ffff88007a453dd0 <4>[ 38.717601] Call Trace: <4>[ 38.717852] [] dump_stack+0x4d/0x66 <4>[ 38.718215] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.718627] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.719024] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.719440] [] truncate_setsize+0x27/0x40 <4>[ 38.719825] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.720225] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.720625] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.721030] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.721422] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.721841] [] do_fallocate+0x123/0x1b0 <4>[ 38.722228] [] SyS_fallocate+0x43/0x70 <4>[ 38.722604] [] system_call_fastpath+0x16/0x1b <4>[ 38.723017] ---[ end trace 6a3b1350ad3998b6 ]--- <4>[ 38.726346] ------------[ cut here ]------------ <4>[ 38.726687] WARNING: CPU: 2 PID: 3822 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.727376] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.730877] CPU: 2 PID: 3822 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.731480] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.732123] 0000000000000009 ffff88007a57bd88 ffffffff81859ea6 0000000000000000 <4>[ 38.732863] ffff88007a57bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a8da8 <4>[ 38.733628] 0000000000000000 ffff88007c1a8da8 0000000004000000 ffff88007a57bdd0 <4>[ 38.734383] Call Trace: <4>[ 38.734644] [] dump_stack+0x4d/0x66 <4>[ 38.735005] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.735419] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.735812] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.736232] [] truncate_setsize+0x27/0x40 <4>[ 38.736618] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.737020] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.737419] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.737819] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.738216] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.738636] [] do_fallocate+0x123/0x1b0 <4>[ 38.739020] [] SyS_fallocate+0x43/0x70 <4>[ 38.739396] [] system_call_fastpath+0x16/0x1b <4>[ 38.739804] ---[ end trace 6a3b1350ad3998b7 ]--- <4>[ 38.743046] ------------[ cut here ]------------ <4>[ 38.743387] WARNING: CPU: 2 PID: 3824 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.744069] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.747577] CPU: 2 PID: 3824 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.748176] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.748811] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 38.749570] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a91a8 <4>[ 38.750322] 0000000000000000 ffff88007c1a91a8 0000000004000000 ffff88007a6dbdd0 <4>[ 38.751074] Call Trace: <4>[ 38.751334] [] dump_stack+0x4d/0x66 <4>[ 38.751691] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.752111] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.752504] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.752919] [] truncate_setsize+0x27/0x40 <4>[ 38.753311] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.753704] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.754108] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.754508] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.754900] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.755325] [] do_fallocate+0x123/0x1b0 <4>[ 38.755700] [] SyS_fallocate+0x43/0x70 <4>[ 38.756084] [] system_call_fastpath+0x16/0x1b <4>[ 38.756490] ---[ end trace 6a3b1350ad3998b8 ]--- <4>[ 38.760247] ------------[ cut here ]------------ <4>[ 38.760567] WARNING: CPU: 3 PID: 3826 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.761198] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.764320] CPU: 3 PID: 3826 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.764857] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.765456] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 38.766136] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d99a8 <4>[ 38.766803] 0000000000000000 ffff88007c1d99a8 0000000004000000 ffff88007bf43dd0 <4>[ 38.767484] Call Trace: <4>[ 38.767712] [] dump_stack+0x4d/0x66 <4>[ 38.768053] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.768420] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.768777] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.769173] [] truncate_setsize+0x27/0x40 <4>[ 38.769529] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.769887] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.770259] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.770625] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.770983] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.771375] [] do_fallocate+0x123/0x1b0 <4>[ 38.771723] [] SyS_fallocate+0x43/0x70 <4>[ 38.772073] [] system_call_fastpath+0x16/0x1b <4>[ 38.772437] ---[ end trace 6a3b1350ad3998b9 ]--- <4>[ 38.775828] ------------[ cut here ]------------ <4>[ 38.776199] WARNING: CPU: 2 PID: 3828 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.776875] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.780380] CPU: 2 PID: 3828 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.780978] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.781622] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.782381] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a95a8 <4>[ 38.783141] 0000000000000000 ffff88007c1a95a8 0000000004000000 ffff88007a477dd0 <4>[ 38.783900] Call Trace: <4>[ 38.784161] [] dump_stack+0x4d/0x66 <4>[ 38.784524] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.784937] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.785336] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.785758] [] truncate_setsize+0x27/0x40 <4>[ 38.786152] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.786554] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.786953] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.787360] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.787758] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.788186] [] do_fallocate+0x123/0x1b0 <4>[ 38.790470] [] SyS_fallocate+0x43/0x70 <4>[ 38.790846] [] system_call_fastpath+0x16/0x1b <4>[ 38.791261] ---[ end trace 6a3b1350ad3998ba ]--- <4>[ 38.794613] ------------[ cut here ]------------ <4>[ 38.794954] WARNING: CPU: 2 PID: 3830 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.795641] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.799144] CPU: 2 PID: 3830 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.799736] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.800380] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 38.801135] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a99a8 <4>[ 38.801887] 0000000000000000 ffff88007c1a99a8 0000000004000000 ffff88007a453dd0 <4>[ 38.802645] Call Trace: <4>[ 38.802895] [] dump_stack+0x4d/0x66 <4>[ 38.803263] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.803672] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.804068] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.804484] [] truncate_setsize+0x27/0x40 <4>[ 38.804869] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.805272] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.805671] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.806075] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.806467] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.806885] [] do_fallocate+0x123/0x1b0 <4>[ 38.807271] [] SyS_fallocate+0x43/0x70 <4>[ 38.807646] [] system_call_fastpath+0x16/0x1b <4>[ 38.808059] ---[ end trace 6a3b1350ad3998bb ]--- <4>[ 38.811735] ------------[ cut here ]------------ <4>[ 38.812064] WARNING: CPU: 3 PID: 3832 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.812687] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.815813] CPU: 3 PID: 3832 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.816359] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.816946] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 38.817627] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d9da8 <4>[ 38.818312] 0000000000000000 ffff88007c1d9da8 0000000004000000 ffff88007bf43dd0 <4>[ 38.818980] Call Trace: <4>[ 38.819222] [] dump_stack+0x4d/0x66 <4>[ 38.819557] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.819922] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.820286] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.820667] [] truncate_setsize+0x27/0x40 <4>[ 38.821026] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.821386] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.821750] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.822133] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.822494] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.822879] [] do_fallocate+0x123/0x1b0 <4>[ 38.823242] [] SyS_fallocate+0x43/0x70 <4>[ 38.823587] [] system_call_fastpath+0x16/0x1b <4>[ 38.823951] ---[ end trace 6a3b1350ad3998bc ]--- <4>[ 38.827610] ------------[ cut here ]------------ <4>[ 38.827925] WARNING: CPU: 3 PID: 3834 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.828553] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.831659] CPU: 3 PID: 3834 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.832212] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.832800] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 38.833474] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1da1a8 <4>[ 38.834146] 0000000000000000 ffff88007c1da1a8 0000000004000000 ffff88007a547dd0 <4>[ 38.834813] Call Trace: <4>[ 38.835051] [] dump_stack+0x4d/0x66 <4>[ 38.835388] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.835752] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.836115] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.836497] [] truncate_setsize+0x27/0x40 <4>[ 38.836848] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.837211] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.837575] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.837940] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.838307] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.838693] [] do_fallocate+0x123/0x1b0 <4>[ 38.839042] [] SyS_fallocate+0x43/0x70 <4>[ 38.839383] [] system_call_fastpath+0x16/0x1b <4>[ 38.839746] ---[ end trace 6a3b1350ad3998bd ]--- <4>[ 38.843071] ------------[ cut here ]------------ <4>[ 38.843422] WARNING: CPU: 2 PID: 3836 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.844118] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.847624] CPU: 2 PID: 3836 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.848227] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.848875] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 38.849633] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1a9da8 <4>[ 38.850400] 0000000000000000 ffff88007c1a9da8 0000000004000000 ffff88007bfabdd0 <4>[ 38.851152] Call Trace: <4>[ 38.851414] [] dump_stack+0x4d/0x66 <4>[ 38.851772] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.852196] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.852594] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.853017] [] truncate_setsize+0x27/0x40 <4>[ 38.853409] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.853806] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.854216] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.854621] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.855023] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.855449] [] do_fallocate+0x123/0x1b0 <4>[ 38.855828] [] SyS_fallocate+0x43/0x70 <4>[ 38.856208] [] system_call_fastpath+0x16/0x1b <4>[ 38.856618] ---[ end trace 6a3b1350ad3998be ]--- <4>[ 38.859904] ------------[ cut here ]------------ <4>[ 38.860269] WARNING: CPU: 2 PID: 3838 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.860932] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.864439] CPU: 2 PID: 3838 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.865045] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.865692] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.866444] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1aa1a8 <4>[ 38.867217] 0000000000000000 ffff88007c1aa1a8 0000000004000000 ffff88007a42fdd0 <4>[ 38.867969] Call Trace: <4>[ 38.868229] [] dump_stack+0x4d/0x66 <4>[ 38.868592] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.869013] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.869411] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.869826] [] truncate_setsize+0x27/0x40 <4>[ 38.870219] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.870620] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.871026] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.871431] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.871823] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.872249] [] do_fallocate+0x123/0x1b0 <4>[ 38.872634] [] SyS_fallocate+0x43/0x70 <4>[ 38.873012] [] system_call_fastpath+0x16/0x1b <4>[ 38.873418] ---[ end trace 6a3b1350ad3998bf ]--- <4>[ 38.876762] ------------[ cut here ]------------ <4>[ 38.877116] WARNING: CPU: 2 PID: 3840 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.877793] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.883195] CPU: 2 PID: 3840 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.883792] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.884436] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.885190] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1aa5a8 <4>[ 38.885937] 0000000000000000 ffff88007c1aa5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.886708] Call Trace: <4>[ 38.886959] [] dump_stack+0x4d/0x66 <4>[ 38.887325] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.887736] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.888138] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.888559] [] truncate_setsize+0x27/0x40 <4>[ 38.888944] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.889348] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.889753] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.890161] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.890558] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.890976] [] do_fallocate+0x123/0x1b0 <4>[ 38.891360] [] SyS_fallocate+0x43/0x70 <4>[ 38.891746] [] system_call_fastpath+0x16/0x1b <4>[ 38.892164] ---[ end trace 6a3b1350ad3998c0 ]--- <4>[ 38.895544] ------------[ cut here ]------------ <4>[ 38.895885] WARNING: CPU: 2 PID: 3842 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.896573] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.900068] CPU: 2 PID: 3842 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.900666] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.901309] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.902064] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1aa9a8 <4>[ 38.902814] 0000000000000000 ffff88007c1aa9a8 0000000004000000 ffff88007a477dd0 <4>[ 38.903571] Call Trace: <4>[ 38.903821] [] dump_stack+0x4d/0x66 <4>[ 38.904189] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.904598] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.904990] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.905410] [] truncate_setsize+0x27/0x40 <4>[ 38.905797] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.906197] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.906597] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.906996] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.907393] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.907812] [] do_fallocate+0x123/0x1b0 <4>[ 38.908197] [] SyS_fallocate+0x43/0x70 <4>[ 38.908572] [] system_call_fastpath+0x16/0x1b <4>[ 38.908980] ---[ end trace 6a3b1350ad3998c1 ]--- <4>[ 38.912408] ------------[ cut here ]------------ <4>[ 38.912748] WARNING: CPU: 2 PID: 3844 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.913433] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.916937] CPU: 2 PID: 3844 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.917533] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.918175] 0000000000000009 ffff88007a42fd88 ffffffff81859ea6 0000000000000000 <4>[ 38.918925] ffff88007a42fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1aada8 <4>[ 38.919682] 0000000000000000 ffff88007c1aada8 0000000004000000 ffff88007a42fdd0 <4>[ 38.920432] Call Trace: <4>[ 38.920689] [] dump_stack+0x4d/0x66 <4>[ 38.921057] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.921466] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.921858] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.922279] [] truncate_setsize+0x27/0x40 <4>[ 38.922665] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.923066] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.923465] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.923864] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.924262] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.924682] [] do_fallocate+0x123/0x1b0 <4>[ 38.925066] [] SyS_fallocate+0x43/0x70 <4>[ 38.925441] [] system_call_fastpath+0x16/0x1b <4>[ 38.925849] ---[ end trace 6a3b1350ad3998c2 ]--- <4>[ 38.929742] ------------[ cut here ]------------ <4>[ 38.930079] WARNING: CPU: 3 PID: 3846 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.930697] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.933827] CPU: 3 PID: 3846 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.934367] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.934958] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 38.935641] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1da5a8 <4>[ 38.936326] 0000000000000000 ffff88007c1da5a8 0000000004000000 ffff88007a463dd0 <4>[ 38.936992] Call Trace: <4>[ 38.937229] [] dump_stack+0x4d/0x66 <4>[ 38.937564] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.937928] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.938293] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.938674] [] truncate_setsize+0x27/0x40 <4>[ 38.939033] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.939393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.939757] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.940130] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.940489] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.940873] [] do_fallocate+0x123/0x1b0 <4>[ 38.941233] [] SyS_fallocate+0x43/0x70 <4>[ 38.941583] [] system_call_fastpath+0x16/0x1b <4>[ 38.941947] ---[ end trace 6a3b1350ad3998c3 ]--- <4>[ 38.945746] ------------[ cut here ]------------ <4>[ 38.946078] WARNING: CPU: 3 PID: 3848 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.946696] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.949823] CPU: 3 PID: 3848 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.950363] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.950954] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 38.951636] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1da9a8 <4>[ 38.952320] 0000000000000000 ffff88007c1da9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 38.952986] Call Trace: <4>[ 38.953226] [] dump_stack+0x4d/0x66 <4>[ 38.953560] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.953925] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.954307] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.954688] [] truncate_setsize+0x27/0x40 <4>[ 38.955049] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.955415] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.955779] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.956162] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.956521] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.956906] [] do_fallocate+0x123/0x1b0 <4>[ 38.957259] [] SyS_fallocate+0x43/0x70 <4>[ 38.957604] [] system_call_fastpath+0x16/0x1b <4>[ 38.957967] ---[ end trace 6a3b1350ad3998c4 ]--- <4>[ 38.961441] ------------[ cut here ]------------ <4>[ 38.961785] WARNING: CPU: 2 PID: 3850 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.962476] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.965978] CPU: 2 PID: 3850 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.966575] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.967217] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 38.967967] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ab1a8 <4>[ 38.970632] 0000000000000000 ffff88007c1ab1a8 0000000004000000 ffff88007a6dbdd0 <4>[ 38.971384] Call Trace: <4>[ 38.971635] [] dump_stack+0x4d/0x66 <4>[ 38.971993] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.972414] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.972806] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.973226] [] truncate_setsize+0x27/0x40 <4>[ 38.973612] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.974016] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.974415] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.974815] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.975213] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.975632] [] do_fallocate+0x123/0x1b0 <4>[ 38.976016] [] SyS_fallocate+0x43/0x70 <4>[ 38.976391] [] system_call_fastpath+0x16/0x1b <4>[ 38.976799] ---[ end trace 6a3b1350ad3998c5 ]--- <4>[ 38.980271] ------------[ cut here ]------------ <4>[ 38.980630] WARNING: CPU: 2 PID: 3852 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.981316] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 38.984815] CPU: 2 PID: 3852 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 38.985419] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 38.986062] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 38.986811] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ab5a8 <4>[ 38.987572] 0000000000000000 ffff88007c1ab5a8 0000000004000000 ffff88007a477dd0 <4>[ 38.988329] Call Trace: <4>[ 38.988579] [] dump_stack+0x4d/0x66 <4>[ 38.988936] [] warn_slowpath_common+0x7d/0xa0 <4>[ 38.989356] [] warn_slowpath_null+0x1a/0x20 <4>[ 38.989748] [] pagecache_isize_extended+0xdd/0x120 <4>[ 38.990169] [] truncate_setsize+0x27/0x40 <4>[ 38.990554] [] xfs_setattr_size+0x157/0x3a0 <4>[ 38.990950] [] ? xfs_trans_commit+0x157/0x250 <4>[ 38.991354] [] xfs_file_fallocate+0x2df/0x300 <4>[ 38.991754] [] ? __sb_start_write+0x49/0xf0 <4>[ 38.992151] [] ? selinux_file_permission+0xc4/0x120 <4>[ 38.992570] [] do_fallocate+0x123/0x1b0 <4>[ 38.992944] [] SyS_fallocate+0x43/0x70 <4>[ 38.993332] [] system_call_fastpath+0x16/0x1b <4>[ 38.993735] ---[ end trace 6a3b1350ad3998c6 ]--- <4>[ 38.997741] ------------[ cut here ]------------ <4>[ 38.998078] WARNING: CPU: 3 PID: 3854 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 38.998696] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.001823] CPU: 3 PID: 3854 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.002364] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.002956] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 39.003636] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dada8 <4>[ 39.004319] 0000000000000000 ffff88007c1dada8 0000000004000000 ffff88007a453dd0 <4>[ 39.004988] Call Trace: <4>[ 39.005226] [] dump_stack+0x4d/0x66 <4>[ 39.005560] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.005925] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.006291] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.006672] [] truncate_setsize+0x27/0x40 <4>[ 39.007032] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.007393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.007758] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.008130] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.008489] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.008873] [] do_fallocate+0x123/0x1b0 <4>[ 39.009225] [] SyS_fallocate+0x43/0x70 <4>[ 39.009571] [] system_call_fastpath+0x16/0x1b <4>[ 39.009935] ---[ end trace 6a3b1350ad3998c7 ]--- <4>[ 39.013736] ------------[ cut here ]------------ <4>[ 39.014068] WARNING: CPU: 3 PID: 3856 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.014686] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.017811] CPU: 3 PID: 3856 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.018351] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.018943] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 39.019625] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1db1a8 <4>[ 39.020311] 0000000000000000 ffff88007c1db1a8 0000000004000000 ffff88007a463dd0 <4>[ 39.020977] Call Trace: <4>[ 39.021216] [] dump_stack+0x4d/0x66 <4>[ 39.021552] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.021916] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.022280] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.022662] [] truncate_setsize+0x27/0x40 <4>[ 39.023019] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.023380] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.023744] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.024127] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.024489] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.024873] [] do_fallocate+0x123/0x1b0 <4>[ 39.025236] [] SyS_fallocate+0x43/0x70 <4>[ 39.025581] [] system_call_fastpath+0x16/0x1b <4>[ 39.025944] ---[ end trace 6a3b1350ad3998c8 ]--- <4>[ 39.029484] ------------[ cut here ]------------ <4>[ 39.029828] WARNING: CPU: 2 PID: 3858 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.030519] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.034012] CPU: 2 PID: 3858 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.034609] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.035254] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 39.036003] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ab9a8 <4>[ 39.036759] 0000000000000000 ffff88007c1ab9a8 0000000004000000 ffff88007a547dd0 <4>[ 39.037515] Call Trace: <4>[ 39.037767] [] dump_stack+0x4d/0x66 <4>[ 39.038135] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.038546] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.038937] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.039359] [] truncate_setsize+0x27/0x40 <4>[ 39.039745] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.040147] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.040547] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.040947] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.041345] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.041765] [] do_fallocate+0x123/0x1b0 <4>[ 39.042150] [] SyS_fallocate+0x43/0x70 <4>[ 39.042526] [] system_call_fastpath+0x16/0x1b <4>[ 39.042934] ---[ end trace 6a3b1350ad3998c9 ]--- <4>[ 39.046294] ------------[ cut here ]------------ <4>[ 39.046636] WARNING: CPU: 2 PID: 3860 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.047321] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.050817] CPU: 2 PID: 3860 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.051422] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.052065] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 39.052815] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1abda8 <4>[ 39.053570] 0000000000000000 ffff88007c1abda8 0000000004000000 ffff88007bf43dd0 <4>[ 39.054328] Call Trace: <4>[ 39.054578] [] dump_stack+0x4d/0x66 <4>[ 39.054936] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.055356] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.055748] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.056170] [] truncate_setsize+0x27/0x40 <4>[ 39.056556] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.056952] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.059265] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.059675] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.060073] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.060493] [] do_fallocate+0x123/0x1b0 <4>[ 39.060867] [] SyS_fallocate+0x43/0x70 <4>[ 39.061252] [] system_call_fastpath+0x16/0x1b <4>[ 39.061656] ---[ end trace 6a3b1350ad3998ca ]--- <4>[ 39.065001] ------------[ cut here ]------------ <4>[ 39.065348] WARNING: CPU: 2 PID: 3862 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.066039] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.069531] CPU: 2 PID: 3862 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.070134] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.070775] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.071521] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18c1a8 <4>[ 39.072277] 0000000000000000 ffff88007c18c1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.073034] Call Trace: <4>[ 39.073292] [] dump_stack+0x4d/0x66 <4>[ 39.073648] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.074069] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.074461] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.074876] [] truncate_setsize+0x27/0x40 <4>[ 39.075268] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.075662] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.076066] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.076466] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.076859] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.077284] [] do_fallocate+0x123/0x1b0 <4>[ 39.077659] [] SyS_fallocate+0x43/0x70 <4>[ 39.078047] [] system_call_fastpath+0x16/0x1b <4>[ 39.078449] ---[ end trace 6a3b1350ad3998cb ]--- <4>[ 39.082177] ------------[ cut here ]------------ <4>[ 39.082496] WARNING: CPU: 3 PID: 3864 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.083128] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.086244] CPU: 3 PID: 3864 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.086781] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.087376] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 39.088053] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1db5a8 <4>[ 39.088720] 0000000000000000 ffff88007c1db5a8 0000000004000000 ffff88007a453dd0 <4>[ 39.089399] Call Trace: <4>[ 39.089628] [] dump_stack+0x4d/0x66 <4>[ 39.089959] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.090330] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.090691] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.091080] [] truncate_setsize+0x27/0x40 <4>[ 39.091438] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.091796] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.092167] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.092533] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.092891] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.093283] [] do_fallocate+0x123/0x1b0 <4>[ 39.093631] [] SyS_fallocate+0x43/0x70 <4>[ 39.093972] [] system_call_fastpath+0x16/0x1b <4>[ 39.094348] ---[ end trace 6a3b1350ad3998cc ]--- <4>[ 39.097709] ------------[ cut here ]------------ <4>[ 39.098075] WARNING: CPU: 2 PID: 3866 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.098752] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.102251] CPU: 2 PID: 3866 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.102844] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.103488] 0000000000000009 ffff88007a57bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.104248] ffff88007a57bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18c5a8 <4>[ 39.105003] 0000000000000000 ffff88007c18c5a8 0000000004000000 ffff88007a57bdd0 <4>[ 39.105754] Call Trace: <4>[ 39.106011] [] dump_stack+0x4d/0x66 <4>[ 39.106369] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.106783] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.107180] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.107596] [] truncate_setsize+0x27/0x40 <4>[ 39.107981] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.108380] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.108780] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.109183] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.109577] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.109995] [] do_fallocate+0x123/0x1b0 <4>[ 39.110380] [] SyS_fallocate+0x43/0x70 <4>[ 39.110755] [] system_call_fastpath+0x16/0x1b <4>[ 39.111168] ---[ end trace 6a3b1350ad3998cd ]--- <4>[ 39.114436] ------------[ cut here ]------------ <4>[ 39.114777] WARNING: CPU: 2 PID: 3868 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.115461] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.118962] CPU: 2 PID: 3868 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.119564] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.120208] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.120958] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18c9a8 <4>[ 39.121720] 0000000000000000 ffff88007c18c9a8 0000000004000000 ffff88007a56fdd0 <4>[ 39.122479] Call Trace: <4>[ 39.122729] [] dump_stack+0x4d/0x66 <4>[ 39.123099] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.123508] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.123900] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.124322] [] truncate_setsize+0x27/0x40 <4>[ 39.124708] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.125108] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.125507] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.125907] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.126305] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.126726] [] do_fallocate+0x123/0x1b0 <4>[ 39.127109] [] SyS_fallocate+0x43/0x70 <4>[ 39.127483] [] system_call_fastpath+0x16/0x1b <4>[ 39.127891] ---[ end trace 6a3b1350ad3998ce ]--- <4>[ 39.131285] ------------[ cut here ]------------ <4>[ 39.131629] WARNING: CPU: 2 PID: 3870 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.132315] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.135811] CPU: 2 PID: 3870 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.136415] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.137058] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.137811] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18cda8 <4>[ 39.138573] 0000000000000000 ffff88007c18cda8 0000000004000000 ffff88007a53fdd0 <4>[ 39.139335] Call Trace: <4>[ 39.139584] [] dump_stack+0x4d/0x66 <4>[ 39.139941] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.140361] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.140754] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.141175] [] truncate_setsize+0x27/0x40 <4>[ 39.141561] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.141956] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.142360] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.142760] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.143156] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.143576] [] do_fallocate+0x123/0x1b0 <4>[ 39.143950] [] SyS_fallocate+0x43/0x70 <4>[ 39.144338] [] system_call_fastpath+0x16/0x1b <4>[ 39.144741] ---[ end trace 6a3b1350ad3998cf ]--- <4>[ 39.148557] ------------[ cut here ]------------ <4>[ 39.148874] WARNING: CPU: 3 PID: 3872 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.151221] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.154341] CPU: 3 PID: 3872 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.154877] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.155477] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.156153] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1db9a8 <4>[ 39.156819] 0000000000000000 ffff88007c1db9a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.157501] Call Trace: <4>[ 39.157730] [] dump_stack+0x4d/0x66 <4>[ 39.158076] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.158442] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.158800] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.159199] [] truncate_setsize+0x27/0x40 <4>[ 39.159552] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.159909] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.160281] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.160647] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.161012] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.161397] [] do_fallocate+0x123/0x1b0 <4>[ 39.161741] [] SyS_fallocate+0x43/0x70 <4>[ 39.162095] [] system_call_fastpath+0x16/0x1b <4>[ 39.162460] ---[ end trace 6a3b1350ad3998d0 ]--- <4>[ 39.166103] ------------[ cut here ]------------ <4>[ 39.166418] WARNING: CPU: 3 PID: 3874 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.167047] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.170164] CPU: 3 PID: 3874 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.170701] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.171296] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 39.171970] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dbda8 <4>[ 39.172661] 0000000000000000 ffff88007c1dbda8 0000000004000000 ffff88007a417dd0 <4>[ 39.173342] Call Trace: <4>[ 39.173570] [] dump_stack+0x4d/0x66 <4>[ 39.173901] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.174272] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.174632] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.175020] [] truncate_setsize+0x27/0x40 <4>[ 39.175374] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.175732] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.176106] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.176471] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.176829] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.177220] [] do_fallocate+0x123/0x1b0 <4>[ 39.177568] [] SyS_fallocate+0x43/0x70 <4>[ 39.177909] [] system_call_fastpath+0x16/0x1b <4>[ 39.178286] ---[ end trace 6a3b1350ad3998d1 ]--- <4>[ 39.181887] ------------[ cut here ]------------ <4>[ 39.182207] WARNING: CPU: 3 PID: 3876 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.182825] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.185937] CPU: 3 PID: 3876 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.186482] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.187077] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 39.187753] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75c1a8 <4>[ 39.188431] 0000000000000000 ffff88005b75c1a8 0000000004000000 ffff88007bf43dd0 <4>[ 39.189106] Call Trace: <4>[ 39.189342] [] dump_stack+0x4d/0x66 <4>[ 39.189673] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.190047] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.190405] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.190786] [] truncate_setsize+0x27/0x40 <4>[ 39.191145] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.191504] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.191868] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.192252] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.192610] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.192995] [] do_fallocate+0x123/0x1b0 <4>[ 39.193356] [] SyS_fallocate+0x43/0x70 <4>[ 39.193703] [] system_call_fastpath+0x16/0x1b <4>[ 39.194074] ---[ end trace 6a3b1350ad3998d2 ]--- <4>[ 39.197548] ------------[ cut here ]------------ <4>[ 39.197897] WARNING: CPU: 2 PID: 3878 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.198594] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.202091] CPU: 2 PID: 3878 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.202689] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.203339] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 39.204086] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c18d1a8 <4>[ 39.204836] 0000000000000000 ffff88007c18d1a8 0000000004000000 ffff88007a453dd0 <4>[ 39.205598] Call Trace: <4>[ 39.205849] [] dump_stack+0x4d/0x66 <4>[ 39.206213] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.206625] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.207024] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.207440] [] truncate_setsize+0x27/0x40 <4>[ 39.207825] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.208230] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.208630] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.209035] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.209428] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.209847] [] do_fallocate+0x123/0x1b0 <4>[ 39.210227] [] SyS_fallocate+0x43/0x70 <4>[ 39.210603] [] system_call_fastpath+0x16/0x1b <4>[ 39.211016] ---[ end trace 6a3b1350ad3998d3 ]--- <4>[ 39.214527] ------------[ cut here ]------------ <4>[ 39.214882] WARNING: CPU: 2 PID: 3880 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.215568] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.219073] CPU: 2 PID: 3880 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.219665] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.220307] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.221068] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18d5a8 <4>[ 39.221821] 0000000000000000 ffff88007c18d5a8 0000000004000000 ffff88007a56fdd0 <4>[ 39.222579] Call Trace: <4>[ 39.222830] [] dump_stack+0x4d/0x66 <4>[ 39.223193] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.223606] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.223998] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.224419] [] truncate_setsize+0x27/0x40 <4>[ 39.224804] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.225205] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.225604] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.226009] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.226401] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.226820] [] do_fallocate+0x123/0x1b0 <4>[ 39.227204] [] SyS_fallocate+0x43/0x70 <4>[ 39.227581] [] system_call_fastpath+0x16/0x1b <4>[ 39.227989] ---[ end trace 6a3b1350ad3998d4 ]--- <4>[ 39.231795] ------------[ cut here ]------------ <4>[ 39.232129] WARNING: CPU: 3 PID: 3882 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.232747] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.235874] CPU: 3 PID: 3882 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.236421] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.238723] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 39.239403] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75c5a8 <4>[ 39.240078] 0000000000000000 ffff88005b75c5a8 0000000004000000 ffff88007a417dd0 <4>[ 39.240750] Call Trace: <4>[ 39.240979] [] dump_stack+0x4d/0x66 <4>[ 39.241326] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.241693] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.242057] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.242438] [] truncate_setsize+0x27/0x40 <4>[ 39.242789] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.243155] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.243521] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.243887] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.244259] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.244645] [] do_fallocate+0x123/0x1b0 <4>[ 39.244989] [] SyS_fallocate+0x43/0x70 <4>[ 39.245337] [] system_call_fastpath+0x16/0x1b <4>[ 39.245702] ---[ end trace 6a3b1350ad3998d5 ]--- <4>[ 39.249515] ------------[ cut here ]------------ <4>[ 39.249830] WARNING: CPU: 3 PID: 3884 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.250468] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.253589] CPU: 3 PID: 3884 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.254130] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.254721] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.255402] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75c9a8 <4>[ 39.256077] 0000000000000000 ffff88005b75c9a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.256744] Call Trace: <4>[ 39.256972] [] dump_stack+0x4d/0x66 <4>[ 39.257318] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.257684] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.258050] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.258431] [] truncate_setsize+0x27/0x40 <4>[ 39.258782] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.259158] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.259524] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.259888] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.260260] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.260645] [] do_fallocate+0x123/0x1b0 <4>[ 39.260988] [] SyS_fallocate+0x43/0x70 <4>[ 39.261338] [] system_call_fastpath+0x16/0x1b <4>[ 39.261702] ---[ end trace 6a3b1350ad3998d6 ]--- <4>[ 39.265290] ------------[ cut here ]------------ <4>[ 39.265633] WARNING: CPU: 2 PID: 3886 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.266323] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.269831] CPU: 2 PID: 3886 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.270429] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.271073] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.271826] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18d9a8 <4>[ 39.272580] 0000000000000000 ffff88007c18d9a8 0000000004000000 ffff88007a45bdd0 <4>[ 39.273338] Call Trace: <4>[ 39.273589] [] dump_stack+0x4d/0x66 <4>[ 39.273947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.274367] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.274760] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.275181] [] truncate_setsize+0x27/0x40 <4>[ 39.275567] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.275962] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.276366] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.276766] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.277163] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.277583] [] do_fallocate+0x123/0x1b0 <4>[ 39.277957] [] SyS_fallocate+0x43/0x70 <4>[ 39.278345] [] system_call_fastpath+0x16/0x1b <4>[ 39.278748] ---[ end trace 6a3b1350ad3998d7 ]--- <4>[ 39.282271] ------------[ cut here ]------------ <4>[ 39.282615] WARNING: CPU: 2 PID: 3888 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.283300] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.286804] CPU: 2 PID: 3888 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.287406] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.288048] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.288801] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18dda8 <4>[ 39.289563] 0000000000000000 ffff88007c18dda8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.290318] Call Trace: <4>[ 39.290569] [] dump_stack+0x4d/0x66 <4>[ 39.290925] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.291342] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.291734] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.292153] [] truncate_setsize+0x27/0x40 <4>[ 39.292539] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.292935] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.293340] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.293740] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.294136] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.294555] [] do_fallocate+0x123/0x1b0 <4>[ 39.294930] [] SyS_fallocate+0x43/0x70 <4>[ 39.295318] [] system_call_fastpath+0x16/0x1b <4>[ 39.295720] ---[ end trace 6a3b1350ad3998d8 ]--- <4>[ 39.299235] ------------[ cut here ]------------ <4>[ 39.299589] WARNING: CPU: 2 PID: 3890 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.300260] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.303756] CPU: 2 PID: 3890 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.304355] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.304994] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.305750] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18e1a8 <4>[ 39.306516] 0000000000000000 ffff88007c18e1a8 0000000004000000 ffff88007a53fdd0 <4>[ 39.307273] Call Trace: <4>[ 39.307522] [] dump_stack+0x4d/0x66 <4>[ 39.307879] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.308300] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.308692] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.309118] [] truncate_setsize+0x27/0x40 <4>[ 39.309503] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.309899] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.310305] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.310705] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.311102] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.311521] [] do_fallocate+0x123/0x1b0 <4>[ 39.311896] [] SyS_fallocate+0x43/0x70 <4>[ 39.312285] [] system_call_fastpath+0x16/0x1b <4>[ 39.312688] ---[ end trace 6a3b1350ad3998d9 ]--- <4>[ 39.316717] ------------[ cut here ]------------ <4>[ 39.317049] WARNING: CPU: 3 PID: 3892 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.317672] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.320800] CPU: 3 PID: 3892 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.321346] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.321934] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.322615] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75cda8 <4>[ 39.323300] 0000000000000000 ffff88005b75cda8 0000000004000000 ffff88007a45bdd0 <4>[ 39.323967] Call Trace: <4>[ 39.324208] [] dump_stack+0x4d/0x66 <4>[ 39.324543] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.324908] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.327001] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.327386] [] truncate_setsize+0x27/0x40 <4>[ 39.327737] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.328103] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.328467] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.328833] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.329210] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.329596] [] do_fallocate+0x123/0x1b0 <4>[ 39.329941] [] SyS_fallocate+0x43/0x70 <4>[ 39.330297] [] system_call_fastpath+0x16/0x1b <4>[ 39.330662] ---[ end trace 6a3b1350ad3998da ]--- <4>[ 39.334536] ------------[ cut here ]------------ <4>[ 39.334851] WARNING: CPU: 3 PID: 3894 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.335488] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.338600] CPU: 3 PID: 3894 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.339141] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.339731] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.340413] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75d1a8 <4>[ 39.341091] 0000000000000000 ffff88005b75d1a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.341758] Call Trace: <4>[ 39.341985] [] dump_stack+0x4d/0x66 <4>[ 39.342330] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.342695] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.343060] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.343441] [] truncate_setsize+0x27/0x40 <4>[ 39.343792] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.344170] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.344535] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.344900] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.345270] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.345655] [] do_fallocate+0x123/0x1b0 <4>[ 39.346000] [] SyS_fallocate+0x43/0x70 <4>[ 39.346355] [] system_call_fastpath+0x16/0x1b <4>[ 39.346719] ---[ end trace 6a3b1350ad3998db ]--- <4>[ 39.350289] ------------[ cut here ]------------ <4>[ 39.350648] WARNING: CPU: 2 PID: 3896 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.351335] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.354840] CPU: 2 PID: 3896 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.355437] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.356080] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 39.356830] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c18e5a8 <4>[ 39.357584] 0000000000000000 ffff88007c18e5a8 0000000004000000 ffff88007a453dd0 <4>[ 39.358338] Call Trace: <4>[ 39.358590] [] dump_stack+0x4d/0x66 <4>[ 39.358947] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.359367] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.359760] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.360179] [] truncate_setsize+0x27/0x40 <4>[ 39.360567] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.360964] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.361369] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.361770] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.362168] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.362588] [] do_fallocate+0x123/0x1b0 <4>[ 39.362962] [] SyS_fallocate+0x43/0x70 <4>[ 39.363350] [] system_call_fastpath+0x16/0x1b <4>[ 39.363753] ---[ end trace 6a3b1350ad3998dc ]--- <4>[ 39.367225] ------------[ cut here ]------------ <4>[ 39.367566] WARNING: CPU: 2 PID: 3898 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.368252] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.371747] CPU: 2 PID: 3898 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.372353] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.372993] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 39.373754] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88007c18e9a8 <4>[ 39.374515] 0000000000000000 ffff88007c18e9a8 0000000004000000 ffff88007a417dd0 <4>[ 39.375270] Call Trace: <4>[ 39.375520] [] dump_stack+0x4d/0x66 <4>[ 39.375877] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.376297] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.376691] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.377110] [] truncate_setsize+0x27/0x40 <4>[ 39.377497] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.377893] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.378298] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.378699] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.379096] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.379516] [] do_fallocate+0x123/0x1b0 <4>[ 39.379890] [] SyS_fallocate+0x43/0x70 <4>[ 39.380274] [] system_call_fastpath+0x16/0x1b <4>[ 39.380679] ---[ end trace 6a3b1350ad3998dd ]--- <4>[ 39.384104] ------------[ cut here ]------------ <4>[ 39.384461] WARNING: CPU: 2 PID: 3900 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.385149] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.388649] CPU: 2 PID: 3900 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.389247] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.389888] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.390650] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18eda8 <4>[ 39.391405] 0000000000000000 ffff88007c18eda8 0000000004000000 ffff88007a45bdd0 <4>[ 39.392165] Call Trace: <4>[ 39.392415] [] dump_stack+0x4d/0x66 <4>[ 39.392772] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.393190] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.393583] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.393998] [] truncate_setsize+0x27/0x40 <4>[ 39.394389] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.394783] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.395186] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.395586] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.395978] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.396402] [] do_fallocate+0x123/0x1b0 <4>[ 39.396778] [] SyS_fallocate+0x43/0x70 <4>[ 39.397160] [] system_call_fastpath+0x16/0x1b <4>[ 39.397568] ---[ end trace 6a3b1350ad3998de ]--- <4>[ 39.401354] ------------[ cut here ]------------ <4>[ 39.401672] WARNING: CPU: 3 PID: 3902 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.402304] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.405425] CPU: 3 PID: 3902 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.405961] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.406556] 0000000000000009 ffff88007a417d88 ffffffff81859ea6 0000000000000000 <4>[ 39.407239] ffff88007a417dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75d5a8 <4>[ 39.407906] 0000000000000000 ffff88005b75d5a8 0000000004000000 ffff88007a417dd0 <4>[ 39.408587] Call Trace: <4>[ 39.408815] [] dump_stack+0x4d/0x66 <4>[ 39.409154] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.409519] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.409877] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.410278] [] truncate_setsize+0x27/0x40 <4>[ 39.410630] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.410988] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.411360] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.411726] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.412091] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.412476] [] do_fallocate+0x123/0x1b0 <4>[ 39.412821] [] SyS_fallocate+0x43/0x70 <4>[ 39.413180] [] system_call_fastpath+0x16/0x1b <4>[ 39.415253] ---[ end trace 6a3b1350ad3998df ]--- <4>[ 39.418673] ------------[ cut here ]------------ <4>[ 39.419039] WARNING: CPU: 2 PID: 3904 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.419703] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.423204] CPU: 2 PID: 3904 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.423798] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.424442] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.425201] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18f1a8 <4>[ 39.425950] 0000000000000000 ffff88007c18f1a8 0000000004000000 ffff88007bf8bdd0 <4>[ 39.426707] Call Trace: <4>[ 39.426959] [] dump_stack+0x4d/0x66 <4>[ 39.427328] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.427735] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.428132] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.428548] [] truncate_setsize+0x27/0x40 <4>[ 39.428933] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.429337] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.429737] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.430141] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.430534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.430952] [] do_fallocate+0x123/0x1b0 <4>[ 39.431338] [] SyS_fallocate+0x43/0x70 <4>[ 39.431712] [] system_call_fastpath+0x16/0x1b <4>[ 39.432125] ---[ end trace 6a3b1350ad3998e0 ]--- <4>[ 39.435418] ------------[ cut here ]------------ <4>[ 39.435760] WARNING: CPU: 2 PID: 3906 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.436447] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.439946] CPU: 2 PID: 3906 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.440549] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.441193] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.441947] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18f5a8 <4>[ 39.442706] 0000000000000000 ffff88007c18f5a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.443461] Call Trace: <4>[ 39.443711] [] dump_stack+0x4d/0x66 <4>[ 39.444079] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.444488] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.444879] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.445300] [] truncate_setsize+0x27/0x40 <4>[ 39.445687] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.446087] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.446487] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.446886] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.447285] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.447704] [] do_fallocate+0x123/0x1b0 <4>[ 39.448084] [] SyS_fallocate+0x43/0x70 <4>[ 39.448462] [] system_call_fastpath+0x16/0x1b <4>[ 39.448870] ---[ end trace 6a3b1350ad3998e1 ]--- <4>[ 39.452642] ------------[ cut here ]------------ <4>[ 39.452959] WARNING: CPU: 3 PID: 3908 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.453599] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.456750] CPU: 3 PID: 3908 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.457306] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.457895] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.458576] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75d9a8 <4>[ 39.459262] 0000000000000000 ffff88005b75d9a8 0000000004000000 ffff88007a45bdd0 <4>[ 39.459929] Call Trace: <4>[ 39.460166] [] dump_stack+0x4d/0x66 <4>[ 39.460501] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.460865] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.461242] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.461623] [] truncate_setsize+0x27/0x40 <4>[ 39.461975] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.462344] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.462708] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.463080] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.463439] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.463824] [] do_fallocate+0x123/0x1b0 <4>[ 39.464175] [] SyS_fallocate+0x43/0x70 <4>[ 39.464522] [] system_call_fastpath+0x16/0x1b <4>[ 39.464885] ---[ end trace 6a3b1350ad3998e2 ]--- <4>[ 39.468575] ------------[ cut here ]------------ <4>[ 39.468927] WARNING: CPU: 2 PID: 3912 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.469615] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.473120] CPU: 2 PID: 3912 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.473713] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.474357] 0000000000000009 ffff88007a6dbd88 ffffffff81859ea6 0000000000000000 <4>[ 39.475112] ffff88007a6dbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c18f9a8 <4>[ 39.475864] 0000000000000000 ffff88007c18f9a8 0000000004000000 ffff88007a6dbdd0 <4>[ 39.476621] Call Trace: <4>[ 39.476873] [] dump_stack+0x4d/0x66 <4>[ 39.477242] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.477650] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.478047] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.478462] [] truncate_setsize+0x27/0x40 <4>[ 39.478848] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.479250] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.479645] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.480021] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.480387] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.480778] [] do_fallocate+0x123/0x1b0 <4>[ 39.481168] [] SyS_fallocate+0x43/0x70 <4>[ 39.481544] [] system_call_fastpath+0x16/0x1b <4>[ 39.481952] ---[ end trace 6a3b1350ad3998e3 ]--- <4>[ 39.485640] ------------[ cut here ]------------ <4>[ 39.485986] WARNING: CPU: 2 PID: 3916 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.486672] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.490187] CPU: 2 PID: 3916 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.490773] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.491417] 0000000000000009 ffff88007a497d88 ffffffff81859ea6 0000000000000000 <4>[ 39.492169] ffff88007a497dc0 ffffffff8106ef0d 0000000000001000 ffff88007c18fda8 <4>[ 39.492922] 0000000000000000 ffff88007c18fda8 0000000004000000 ffff88007a497dd0 <4>[ 39.493676] Call Trace: <4>[ 39.493927] [] dump_stack+0x4d/0x66 <4>[ 39.494296] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.494705] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.495101] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.495517] [] truncate_setsize+0x27/0x40 <4>[ 39.495903] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.496305] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.496705] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.497108] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.497501] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.497920] [] do_fallocate+0x123/0x1b0 <4>[ 39.498305] [] SyS_fallocate+0x43/0x70 <4>[ 39.498680] [] system_call_fastpath+0x16/0x1b <4>[ 39.499094] ---[ end trace 6a3b1350ad3998e4 ]--- <4>[ 39.502403] ------------[ cut here ]------------ <4>[ 39.502749] WARNING: CPU: 2 PID: 3918 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.503437] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.508845] CPU: 2 PID: 3918 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.509406] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.510044] 0000000000000009 ffff88007a49fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.510835] ffff88007a49fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74c1a8 <4>[ 39.511591] 0000000000000000 ffff88005b74c1a8 0000000004000000 ffff88007a49fdd0 <4>[ 39.512345] Call Trace: <4>[ 39.512596] [] dump_stack+0x4d/0x66 <4>[ 39.512954] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.513373] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.513765] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.514186] [] truncate_setsize+0x27/0x40 <4>[ 39.514571] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.514967] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.515371] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.515772] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.516169] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.516588] [] do_fallocate+0x123/0x1b0 <4>[ 39.516962] [] SyS_fallocate+0x43/0x70 <4>[ 39.517350] [] system_call_fastpath+0x16/0x1b <4>[ 39.517753] ---[ end trace 6a3b1350ad3998e5 ]--- <4>[ 39.521221] ------------[ cut here ]------------ <4>[ 39.521568] WARNING: CPU: 2 PID: 3922 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.522255] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.525751] CPU: 2 PID: 3922 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.526354] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.526995] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 39.527750] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74c5a8 <4>[ 39.528511] 0000000000000000 ffff88005b74c5a8 0000000004000000 ffff88007a477dd0 <4>[ 39.529272] Call Trace: <4>[ 39.529522] [] dump_stack+0x4d/0x66 <4>[ 39.529879] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.530298] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.530691] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.531111] [] truncate_setsize+0x27/0x40 <4>[ 39.531496] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.531894] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.532299] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.532700] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.533098] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.533518] [] do_fallocate+0x123/0x1b0 <4>[ 39.533892] [] SyS_fallocate+0x43/0x70 <4>[ 39.534281] [] system_call_fastpath+0x16/0x1b <4>[ 39.534684] ---[ end trace 6a3b1350ad3998e6 ]--- <4>[ 39.537942] ------------[ cut here ]------------ <4>[ 39.538288] WARNING: CPU: 2 PID: 3924 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.538964] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.542463] CPU: 2 PID: 3924 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.543016] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.543615] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.544308] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74c9a8 <4>[ 39.545062] 0000000000000000 ffff88005b74c9a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.545816] Call Trace: <4>[ 39.546071] [] dump_stack+0x4d/0x66 <4>[ 39.546430] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.546844] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.547240] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.547656] [] truncate_setsize+0x27/0x40 <4>[ 39.548045] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.548442] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.548841] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.549245] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.549638] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.550062] [] do_fallocate+0x123/0x1b0 <4>[ 39.550437] [] SyS_fallocate+0x43/0x70 <4>[ 39.550816] [] system_call_fastpath+0x16/0x1b <4>[ 39.551228] ---[ end trace 6a3b1350ad3998e7 ]--- <4>[ 39.554655] ------------[ cut here ]------------ <4>[ 39.555020] WARNING: CPU: 2 PID: 3928 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.555698] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.559203] CPU: 2 PID: 3928 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.559788] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.560433] 0000000000000009 ffff88007a49bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.561186] ffff88007a49bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74cda8 <4>[ 39.561938] 0000000000000000 ffff88005b74cda8 0000000004000000 ffff88007a49bdd0 <4>[ 39.562696] Call Trace: <4>[ 39.562946] [] dump_stack+0x4d/0x66 <4>[ 39.563307] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.563722] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.564118] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.564534] [] truncate_setsize+0x27/0x40 <4>[ 39.564919] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.565321] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.565720] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.566125] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.566517] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.566936] [] do_fallocate+0x123/0x1b0 <4>[ 39.567322] [] SyS_fallocate+0x43/0x70 <4>[ 39.567696] [] system_call_fastpath+0x16/0x1b <4>[ 39.568108] ---[ end trace 6a3b1350ad3998e8 ]--- <4>[ 39.571426] ------------[ cut here ]------------ <4>[ 39.571765] WARNING: CPU: 2 PID: 3930 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.572452] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.575945] CPU: 2 PID: 3930 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.576549] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.577192] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 39.577940] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74d1a8 <4>[ 39.578695] 0000000000000000 ffff88005b74d1a8 0000000004000000 ffff88007a547dd0 <4>[ 39.579450] Call Trace: <4>[ 39.579701] [] dump_stack+0x4d/0x66 <4>[ 39.580068] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.580477] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.580870] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.581291] [] truncate_setsize+0x27/0x40 <4>[ 39.581677] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.582078] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.582478] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.582877] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.583276] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.583695] [] do_fallocate+0x123/0x1b0 <4>[ 39.584081] [] SyS_fallocate+0x43/0x70 <4>[ 39.584456] [] system_call_fastpath+0x16/0x1b <4>[ 39.584864] ---[ end trace 6a3b1350ad3998e9 ]--- <4>[ 39.588169] ------------[ cut here ]------------ <4>[ 39.588527] WARNING: CPU: 2 PID: 3932 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.589213] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.592706] CPU: 2 PID: 3932 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.593309] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.593949] 0000000000000009 ffff88007a48fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.594705] ffff88007a48fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74d5a8 <4>[ 39.595455] 0000000000000000 ffff88005b74d5a8 0000000004000000 ffff88007a48fdd0 <4>[ 39.598121] Call Trace: <4>[ 39.598372] [] dump_stack+0x4d/0x66 <4>[ 39.598729] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.599151] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.599544] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.599960] [] truncate_setsize+0x27/0x40 <4>[ 39.600350] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.600744] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.601148] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.601547] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.601940] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.602364] [] do_fallocate+0x123/0x1b0 <4>[ 39.602740] [] SyS_fallocate+0x43/0x70 <4>[ 39.603128] [] system_call_fastpath+0x16/0x1b <4>[ 39.603531] ---[ end trace 6a3b1350ad3998ea ]--- <4>[ 39.606845] ------------[ cut here ]------------ <4>[ 39.607193] WARNING: CPU: 2 PID: 3934 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.607871] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.611361] CPU: 2 PID: 3934 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.611959] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.612602] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.613355] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74d9a8 <4>[ 39.614105] 0000000000000000 ffff88005b74d9a8 0000000004000000 ffff88007a45bdd0 <4>[ 39.614859] Call Trace: <4>[ 39.615113] [] dump_stack+0x4d/0x66 <4>[ 39.615471] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.615885] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.616283] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.616698] [] truncate_setsize+0x27/0x40 <4>[ 39.617088] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.617482] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.617880] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.618284] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.618678] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.619102] [] do_fallocate+0x123/0x1b0 <4>[ 39.619477] [] SyS_fallocate+0x43/0x70 <4>[ 39.619856] [] system_call_fastpath+0x16/0x1b <4>[ 39.620269] ---[ end trace 6a3b1350ad3998eb ]--- <4>[ 39.623613] ------------[ cut here ]------------ <4>[ 39.623954] WARNING: CPU: 2 PID: 3936 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.624641] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.628146] CPU: 2 PID: 3936 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.628745] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.629389] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 39.630144] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74dda8 <4>[ 39.630898] 0000000000000000 ffff88005b74dda8 0000000004000000 ffff88007a463dd0 <4>[ 39.631655] Call Trace: <4>[ 39.631906] [] dump_stack+0x4d/0x66 <4>[ 39.632268] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.632682] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.633079] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.633495] [] truncate_setsize+0x27/0x40 <4>[ 39.633880] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.634283] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.634682] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.635087] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.635480] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.635899] [] do_fallocate+0x123/0x1b0 <4>[ 39.636285] [] SyS_fallocate+0x43/0x70 <4>[ 39.636661] [] system_call_fastpath+0x16/0x1b <4>[ 39.637075] ---[ end trace 6a3b1350ad3998ec ]--- <4>[ 39.640510] ------------[ cut here ]------------ <4>[ 39.640849] WARNING: CPU: 2 PID: 3938 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.641534] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.645023] CPU: 2 PID: 3938 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.645616] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.646258] 0000000000000009 ffff88007a48fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.647011] ffff88007a48fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74e1a8 <4>[ 39.647762] 0000000000000000 ffff88005b74e1a8 0000000004000000 ffff88007a48fdd0 <4>[ 39.648517] Call Trace: <4>[ 39.648768] [] dump_stack+0x4d/0x66 <4>[ 39.649136] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.649545] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.649937] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.650358] [] truncate_setsize+0x27/0x40 <4>[ 39.650744] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.651144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.651544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.651943] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.652340] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.652760] [] do_fallocate+0x123/0x1b0 <4>[ 39.653145] [] SyS_fallocate+0x43/0x70 <4>[ 39.653520] [] system_call_fastpath+0x16/0x1b <4>[ 39.653928] ---[ end trace 6a3b1350ad3998ed ]--- <4>[ 39.657284] ------------[ cut here ]------------ <4>[ 39.657632] WARNING: CPU: 2 PID: 3940 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.658318] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.661814] CPU: 2 PID: 3940 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.662418] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.663061] 0000000000000009 ffff88007a547d88 ffffffff81859ea6 0000000000000000 <4>[ 39.663803] ffff88007a547dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74e5a8 <4>[ 39.664562] 0000000000000000 ffff88005b74e5a8 0000000004000000 ffff88007a547dd0 <4>[ 39.665309] Call Trace: <4>[ 39.665573] [] dump_stack+0x4d/0x66 <4>[ 39.665930] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.666350] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.666743] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.667163] [] truncate_setsize+0x27/0x40 <4>[ 39.667549] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.667945] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.668349] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.668750] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.669146] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.669565] [] do_fallocate+0x123/0x1b0 <4>[ 39.669940] [] SyS_fallocate+0x43/0x70 <4>[ 39.670325] [] system_call_fastpath+0x16/0x1b <4>[ 39.670729] ---[ end trace 6a3b1350ad3998ee ]--- <4>[ 39.674132] ------------[ cut here ]------------ <4>[ 39.674473] WARNING: CPU: 2 PID: 3942 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.675157] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.678652] CPU: 2 PID: 3942 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.679250] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.679885] 0000000000000009 ffff88007a45bd88 ffffffff81859ea6 0000000000000000 <4>[ 39.680645] ffff88007a45bdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74e9a8 <4>[ 39.681395] 0000000000000000 ffff88005b74e9a8 0000000004000000 ffff88007a45bdd0 <4>[ 39.682143] Call Trace: <4>[ 39.682404] [] dump_stack+0x4d/0x66 <4>[ 39.682761] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.683181] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.683573] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.683988] [] truncate_setsize+0x27/0x40 <4>[ 39.684379] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.684773] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.685178] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.685577] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.687869] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.688303] [] do_fallocate+0x123/0x1b0 <4>[ 39.688677] [] SyS_fallocate+0x43/0x70 <4>[ 39.689065] [] system_call_fastpath+0x16/0x1b <4>[ 39.689468] ---[ end trace 6a3b1350ad3998ef ]--- <4>[ 39.692808] ------------[ cut here ]------------ <4>[ 39.693170] WARNING: CPU: 2 PID: 3944 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.693848] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.697387] CPU: 2 PID: 3944 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.697980] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.698623] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.699383] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74eda8 <4>[ 39.700141] 0000000000000000 ffff88005b74eda8 0000000004000000 ffff88007a53fdd0 <4>[ 39.700896] Call Trace: <4>[ 39.701152] [] dump_stack+0x4d/0x66 <4>[ 39.701510] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.701924] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.702321] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.702737] [] truncate_setsize+0x27/0x40 <4>[ 39.703130] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.703522] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.703920] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.704327] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.704735] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.705158] [] do_fallocate+0x123/0x1b0 <4>[ 39.705533] [] SyS_fallocate+0x43/0x70 <4>[ 39.705912] [] system_call_fastpath+0x16/0x1b <4>[ 39.706326] ---[ end trace 6a3b1350ad3998f0 ]--- <4>[ 39.709854] ------------[ cut here ]------------ <4>[ 39.710204] WARNING: CPU: 2 PID: 3948 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.710883] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.714386] CPU: 2 PID: 3948 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.714985] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.715628] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.716386] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74f1a8 <4>[ 39.717140] 0000000000000000 ffff88005b74f1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.717891] Call Trace: <4>[ 39.718147] [] dump_stack+0x4d/0x66 <4>[ 39.718504] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.718918] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.719317] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.719733] [] truncate_setsize+0x27/0x40 <4>[ 39.720124] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.720517] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.720916] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.721322] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.721715] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.722139] [] do_fallocate+0x123/0x1b0 <4>[ 39.722515] [] SyS_fallocate+0x43/0x70 <4>[ 39.722894] [] system_call_fastpath+0x16/0x1b <4>[ 39.723309] ---[ end trace 6a3b1350ad3998f1 ]--- <4>[ 39.726619] ------------[ cut here ]------------ <4>[ 39.726961] WARNING: CPU: 2 PID: 3950 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.727648] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.731147] CPU: 2 PID: 3950 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.731740] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.732383] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 39.733139] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74f5a8 <4>[ 39.733891] 0000000000000000 ffff88005b74f5a8 0000000004000000 ffff88007a477dd0 <4>[ 39.734648] Call Trace: <4>[ 39.734898] [] dump_stack+0x4d/0x66 <4>[ 39.735267] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.735675] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.736071] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.736487] [] truncate_setsize+0x27/0x40 <4>[ 39.736872] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.737274] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.737674] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.738078] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.738470] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.738889] [] do_fallocate+0x123/0x1b0 <4>[ 39.739276] [] SyS_fallocate+0x43/0x70 <4>[ 39.739652] [] system_call_fastpath+0x16/0x1b <4>[ 39.740065] ---[ end trace 6a3b1350ad3998f2 ]--- <4>[ 39.743393] ------------[ cut here ]------------ <4>[ 39.743734] WARNING: CPU: 2 PID: 3952 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.744421] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.747915] CPU: 2 PID: 3952 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.748520] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.749163] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 39.749913] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b74f9a8 <4>[ 39.750674] 0000000000000000 ffff88005b74f9a8 0000000004000000 ffff88007a463dd0 <4>[ 39.751430] Call Trace: <4>[ 39.751681] [] dump_stack+0x4d/0x66 <4>[ 39.752050] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.752458] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.752851] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.753273] [] truncate_setsize+0x27/0x40 <4>[ 39.753659] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.754061] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.754460] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.754859] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.755257] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.755676] [] do_fallocate+0x123/0x1b0 <4>[ 39.756062] [] SyS_fallocate+0x43/0x70 <4>[ 39.756437] [] system_call_fastpath+0x16/0x1b <4>[ 39.756845] ---[ end trace 6a3b1350ad3998f3 ]--- <4>[ 39.760174] ------------[ cut here ]------------ <4>[ 39.760519] WARNING: CPU: 2 PID: 3954 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.761206] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.764694] CPU: 2 PID: 3954 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.765297] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.765932] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.766690] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b74fda8 <4>[ 39.767452] 0000000000000000 ffff88005b74fda8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.768207] Call Trace: <4>[ 39.768458] [] dump_stack+0x4d/0x66 <4>[ 39.768815] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.769235] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.769628] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.770048] [] truncate_setsize+0x27/0x40 <4>[ 39.770433] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.770829] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.771233] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.771633] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.772030] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.772449] [] do_fallocate+0x123/0x1b0 <4>[ 39.772824] [] SyS_fallocate+0x43/0x70 <4>[ 39.773209] [] system_call_fastpath+0x16/0x1b <4>[ 39.773612] ---[ end trace 6a3b1350ad3998f4 ]--- <4>[ 39.776962] ------------[ cut here ]------------ <4>[ 39.777328] WARNING: CPU: 2 PID: 3956 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.778008] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.783385] CPU: 2 PID: 3956 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.783983] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.784627] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.785386] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b41a8 <4>[ 39.786144] 0000000000000000 ffff88007c1b41a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.786897] Call Trace: <4>[ 39.787154] [] dump_stack+0x4d/0x66 <4>[ 39.787511] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.787925] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.788323] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.788740] [] truncate_setsize+0x27/0x40 <4>[ 39.789130] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.789525] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.789924] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.790329] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.790722] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.791146] [] do_fallocate+0x123/0x1b0 <4>[ 39.791521] [] SyS_fallocate+0x43/0x70 <4>[ 39.791900] [] system_call_fastpath+0x16/0x1b <4>[ 39.792313] ---[ end trace 6a3b1350ad3998f5 ]--- <4>[ 39.795703] ------------[ cut here ]------------ <4>[ 39.796050] WARNING: CPU: 2 PID: 3958 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.796727] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.800231] CPU: 2 PID: 3958 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.800824] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.801468] 0000000000000009 ffff88007a477d88 ffffffff81859ea6 0000000000000000 <4>[ 39.802220] ffff88007a477dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b45a8 <4>[ 39.802972] 0000000000000000 ffff88007c1b45a8 0000000004000000 ffff88007a477dd0 <4>[ 39.803730] Call Trace: <4>[ 39.803979] [] dump_stack+0x4d/0x66 <4>[ 39.804347] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.804756] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.805153] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.805569] [] truncate_setsize+0x27/0x40 <4>[ 39.805954] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.806355] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.806754] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.807159] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.807551] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.807969] [] do_fallocate+0x123/0x1b0 <4>[ 39.808355] [] SyS_fallocate+0x43/0x70 <4>[ 39.808731] [] system_call_fastpath+0x16/0x1b <4>[ 39.809143] ---[ end trace 6a3b1350ad3998f6 ]--- <4>[ 39.812507] ------------[ cut here ]------------ <4>[ 39.812867] WARNING: CPU: 2 PID: 3960 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.813553] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.817057] CPU: 2 PID: 3960 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.817648] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.818293] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.819053] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b49a8 <4>[ 39.819806] 0000000000000000 ffff88007c1b49a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.820561] Call Trace: <4>[ 39.820812] [] dump_stack+0x4d/0x66 <4>[ 39.821180] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.821588] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.821980] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.822401] [] truncate_setsize+0x27/0x40 <4>[ 39.822787] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.823187] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.823587] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.823986] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.824384] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.824803] [] do_fallocate+0x123/0x1b0 <4>[ 39.825187] [] SyS_fallocate+0x43/0x70 <4>[ 39.825562] [] system_call_fastpath+0x16/0x1b <4>[ 39.825970] ---[ end trace 6a3b1350ad3998f7 ]--- <4>[ 39.829288] ------------[ cut here ]------------ <4>[ 39.829630] WARNING: CPU: 2 PID: 3962 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.830317] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.833821] CPU: 2 PID: 3962 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.834420] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.835064] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 39.835817] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b4da8 <4>[ 39.836579] 0000000000000000 ffff88007c1b4da8 0000000004000000 ffff88007a463dd0 <4>[ 39.837335] Call Trace: <4>[ 39.837584] [] dump_stack+0x4d/0x66 <4>[ 39.837941] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.838361] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.838753] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.839174] [] truncate_setsize+0x27/0x40 <4>[ 39.839560] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.839956] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.840360] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.840761] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.841159] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.841578] [] do_fallocate+0x123/0x1b0 <4>[ 39.841953] [] SyS_fallocate+0x43/0x70 <4>[ 39.842337] [] system_call_fastpath+0x16/0x1b <4>[ 39.842741] ---[ end trace 6a3b1350ad3998f8 ]--- <4>[ 39.845982] ------------[ cut here ]------------ <4>[ 39.846334] WARNING: CPU: 2 PID: 3964 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.847014] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.850514] CPU: 2 PID: 3964 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.851114] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.851754] 0000000000000009 ffff88007a497d88 ffffffff81859ea6 0000000000000000 <4>[ 39.852511] ffff88007a497dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b51a8 <4>[ 39.853267] 0000000000000000 ffff88007c1b51a8 0000000004000000 ffff88007a497dd0 <4>[ 39.854024] Call Trace: <4>[ 39.854274] [] dump_stack+0x4d/0x66 <4>[ 39.854631] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.855048] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.855441] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.855857] [] truncate_setsize+0x27/0x40 <4>[ 39.856248] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.856642] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.857046] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.857446] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.857837] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.858262] [] do_fallocate+0x123/0x1b0 <4>[ 39.858637] [] SyS_fallocate+0x43/0x70 <4>[ 39.859019] [] system_call_fastpath+0x16/0x1b <4>[ 39.859424] ---[ end trace 6a3b1350ad3998f9 ]--- <4>[ 39.862736] ------------[ cut here ]------------ <4>[ 39.863088] WARNING: CPU: 2 PID: 3966 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.863767] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.867264] CPU: 2 PID: 3966 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.867858] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.868501] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.871163] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b55a8 <4>[ 39.871911] 0000000000000000 ffff88007c1b55a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.872669] Call Trace: <4>[ 39.872920] [] dump_stack+0x4d/0x66 <4>[ 39.873283] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.873695] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.874093] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.874510] [] truncate_setsize+0x27/0x40 <4>[ 39.874895] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.875300] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.875699] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.876104] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.876496] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.876915] [] do_fallocate+0x123/0x1b0 <4>[ 39.877301] [] SyS_fallocate+0x43/0x70 <4>[ 39.877675] [] system_call_fastpath+0x16/0x1b <4>[ 39.878089] ---[ end trace 6a3b1350ad3998fa ]--- <4>[ 39.881541] ------------[ cut here ]------------ <4>[ 39.881886] WARNING: CPU: 2 PID: 3968 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.882571] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.886075] CPU: 2 PID: 3968 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.886667] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.887310] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 39.888070] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b59a8 <4>[ 39.888824] 0000000000000000 ffff88007c1b59a8 0000000004000000 ffff88007a463dd0 <4>[ 39.889580] Call Trace: <4>[ 39.889830] [] dump_stack+0x4d/0x66 <4>[ 39.890198] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.890609] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.891006] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.891421] [] truncate_setsize+0x27/0x40 <4>[ 39.891806] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.892208] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.892607] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.893011] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.893404] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.893822] [] do_fallocate+0x123/0x1b0 <4>[ 39.894205] [] SyS_fallocate+0x43/0x70 <4>[ 39.894580] [] system_call_fastpath+0x16/0x1b <4>[ 39.894989] ---[ end trace 6a3b1350ad3998fb ]--- <4>[ 39.898333] ------------[ cut here ]------------ <4>[ 39.898674] WARNING: CPU: 2 PID: 3970 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.899358] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.902860] CPU: 2 PID: 3970 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.903458] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.904104] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.904862] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b5da8 <4>[ 39.905617] 0000000000000000 ffff88007c1b5da8 0000000004000000 ffff88007bfabdd0 <4>[ 39.906372] Call Trace: <4>[ 39.906623] [] dump_stack+0x4d/0x66 <4>[ 39.906980] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.907401] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.907794] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.908215] [] truncate_setsize+0x27/0x40 <4>[ 39.908601] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.908997] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.909400] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.909800] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.910198] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.910617] [] do_fallocate+0x123/0x1b0 <4>[ 39.910991] [] SyS_fallocate+0x43/0x70 <4>[ 39.911375] [] system_call_fastpath+0x16/0x1b <4>[ 39.911779] ---[ end trace 6a3b1350ad3998fc ]--- <4>[ 39.915114] ------------[ cut here ]------------ <4>[ 39.915460] WARNING: CPU: 2 PID: 3972 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.916149] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.919639] CPU: 2 PID: 3972 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.920243] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.920883] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.921647] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b61a8 <4>[ 39.922401] 0000000000000000 ffff88007c1b61a8 0000000004000000 ffff88007a53fdd0 <4>[ 39.923157] Call Trace: <4>[ 39.923407] [] dump_stack+0x4d/0x66 <4>[ 39.923765] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.924186] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.924578] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.924994] [] truncate_setsize+0x27/0x40 <4>[ 39.925384] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.925778] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.926182] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.926582] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.926974] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.927397] [] do_fallocate+0x123/0x1b0 <4>[ 39.927773] [] SyS_fallocate+0x43/0x70 <4>[ 39.928160] [] system_call_fastpath+0x16/0x1b <4>[ 39.928563] ---[ end trace 6a3b1350ad3998fd ]--- <4>[ 39.931967] ------------[ cut here ]------------ <4>[ 39.932319] WARNING: CPU: 2 PID: 3974 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.932993] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.936510] CPU: 2 PID: 3974 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.937099] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.937739] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 39.938504] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b65a8 <4>[ 39.939263] 0000000000000000 ffff88007c1b65a8 0000000004000000 ffff88007a4a7dd0 <4>[ 39.940019] Call Trace: <4>[ 39.940271] [] dump_stack+0x4d/0x66 <4>[ 39.940629] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.941048] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.941440] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.941855] [] truncate_setsize+0x27/0x40 <4>[ 39.942245] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.942640] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.943043] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.943443] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.943835] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.944259] [] do_fallocate+0x123/0x1b0 <4>[ 39.944634] [] SyS_fallocate+0x43/0x70 <4>[ 39.945022] [] system_call_fastpath+0x16/0x1b <4>[ 39.945425] ---[ end trace 6a3b1350ad3998fe ]--- <4>[ 39.948673] ------------[ cut here ]------------ <4>[ 39.949038] WARNING: CPU: 2 PID: 3976 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.949717] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.953240] CPU: 2 PID: 3976 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.953823] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.954475] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 39.955231] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b69a8 <4>[ 39.955991] 0000000000000000 ffff88007c1b69a8 0000000004000000 ffff88007bfbfdd0 <4>[ 39.956746] Call Trace: <4>[ 39.956996] [] dump_stack+0x4d/0x66 <4>[ 39.957359] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.957773] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.958170] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.958585] [] truncate_setsize+0x27/0x40 <4>[ 39.960871] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.961266] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.961665] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.962070] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.962463] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.962882] [] do_fallocate+0x123/0x1b0 <4>[ 39.963268] [] SyS_fallocate+0x43/0x70 <4>[ 39.963642] [] system_call_fastpath+0x16/0x1b <4>[ 39.964055] ---[ end trace 6a3b1350ad3998ff ]--- <4>[ 39.967404] ------------[ cut here ]------------ <4>[ 39.967744] WARNING: CPU: 2 PID: 3978 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.968431] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.971920] CPU: 2 PID: 3978 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.972523] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.973165] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 39.973916] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b6da8 <4>[ 39.974678] 0000000000000000 ffff88007c1b6da8 0000000004000000 ffff88007a53fdd0 <4>[ 39.975435] Call Trace: <4>[ 39.975686] [] dump_stack+0x4d/0x66 <4>[ 39.976054] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.976463] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.976854] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.977276] [] truncate_setsize+0x27/0x40 <4>[ 39.977661] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.978061] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.978460] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.978859] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.979256] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.979676] [] do_fallocate+0x123/0x1b0 <4>[ 39.980061] [] SyS_fallocate+0x43/0x70 <4>[ 39.980436] [] system_call_fastpath+0x16/0x1b <4>[ 39.980844] ---[ end trace 6a3b1350ad399900 ]--- <4>[ 39.984073] ------------[ cut here ]------------ <4>[ 39.984414] WARNING: CPU: 2 PID: 3980 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 39.985100] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 39.988598] CPU: 2 PID: 3980 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 39.989202] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 39.989842] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 39.990605] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b71a8 <4>[ 39.991366] 0000000000000000 ffff88007c1b71a8 0000000004000000 ffff88007bfabdd0 <4>[ 39.992118] Call Trace: <4>[ 39.992372] [] dump_stack+0x4d/0x66 <4>[ 39.992729] [] warn_slowpath_common+0x7d/0xa0 <4>[ 39.993151] [] warn_slowpath_null+0x1a/0x20 <4>[ 39.993544] [] pagecache_isize_extended+0xdd/0x120 <4>[ 39.993960] [] truncate_setsize+0x27/0x40 <4>[ 39.994352] [] xfs_setattr_size+0x157/0x3a0 <4>[ 39.994745] [] ? xfs_trans_commit+0x157/0x250 <4>[ 39.995149] [] xfs_file_fallocate+0x2df/0x300 <4>[ 39.995548] [] ? __sb_start_write+0x49/0xf0 <4>[ 39.995940] [] ? selinux_file_permission+0xc4/0x120 <4>[ 39.996365] [] do_fallocate+0x123/0x1b0 <4>[ 39.996739] [] SyS_fallocate+0x43/0x70 <4>[ 39.997122] [] system_call_fastpath+0x16/0x1b <4>[ 39.997527] ---[ end trace 6a3b1350ad399901 ]--- <4>[ 40.000962] ------------[ cut here ]------------ <4>[ 40.001313] WARNING: CPU: 2 PID: 3982 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.001989] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.005486] CPU: 2 PID: 3982 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.006084] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.006733] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.007506] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b75a8 <4>[ 40.008271] 0000000000000000 ffff88007c1b75a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.009031] Call Trace: <4>[ 40.009286] [] dump_stack+0x4d/0x66 <4>[ 40.009643] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.010065] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.010463] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.010879] [] truncate_setsize+0x27/0x40 <4>[ 40.011274] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.011674] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.012084] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.012488] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.012881] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.013307] [] do_fallocate+0x123/0x1b0 <4>[ 40.013692] [] SyS_fallocate+0x43/0x70 <4>[ 40.014069] [] system_call_fastpath+0x16/0x1b <4>[ 40.014476] ---[ end trace 6a3b1350ad399902 ]--- <4>[ 40.017768] ------------[ cut here ]------------ <4>[ 40.018123] WARNING: CPU: 2 PID: 3984 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.018803] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.022311] CPU: 2 PID: 3984 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.022905] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.023549] 0000000000000009 ffff88007a49bd88 ffffffff81859ea6 0000000000000000 <4>[ 40.024308] ffff88007a49bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b79a8 <4>[ 40.025072] 0000000000000000 ffff88007c1b79a8 0000000004000000 ffff88007a49bdd0 <4>[ 40.025832] Call Trace: <4>[ 40.026092] [] dump_stack+0x4d/0x66 <4>[ 40.026455] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.026868] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.027270] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.027691] [] truncate_setsize+0x27/0x40 <4>[ 40.028086] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.028487] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.028886] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.029295] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.029693] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.030120] [] do_fallocate+0x123/0x1b0 <4>[ 40.030504] [] SyS_fallocate+0x43/0x70 <4>[ 40.030879] [] system_call_fastpath+0x16/0x1b <4>[ 40.031296] ---[ end trace 6a3b1350ad399903 ]--- <4>[ 40.034627] ------------[ cut here ]------------ <4>[ 40.034968] WARNING: CPU: 2 PID: 3986 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.035653] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.039145] CPU: 2 PID: 3986 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.039737] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.040381] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.041139] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1b7da8 <4>[ 40.041890] 0000000000000000 ffff88007c1b7da8 0000000004000000 ffff88007a463dd0 <4>[ 40.042646] Call Trace: <4>[ 40.042897] [] dump_stack+0x4d/0x66 <4>[ 40.043266] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.043674] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.044071] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.044487] [] truncate_setsize+0x27/0x40 <4>[ 40.044872] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.045274] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.045673] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.046076] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.046468] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.046887] [] do_fallocate+0x123/0x1b0 <4>[ 40.047274] [] SyS_fallocate+0x43/0x70 <4>[ 40.047648] [] system_call_fastpath+0x16/0x1b <4>[ 40.048059] ---[ end trace 6a3b1350ad399904 ]--- <4>[ 40.051329] ------------[ cut here ]------------ <4>[ 40.051333] WARNING: CPU: 2 PID: 3988 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.051343] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.051344] CPU: 2 PID: 3988 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.051345] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.051351] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.051352] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1981a8 <4>[ 40.051354] 0000000000000000 ffff88007c1981a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.051354] Call Trace: <4>[ 40.051361] [] dump_stack+0x4d/0x66 <4>[ 40.051363] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.051365] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.051366] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.051367] [] truncate_setsize+0x27/0x40 <4>[ 40.051368] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.051370] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.051371] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.051373] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.051375] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.051376] [] do_fallocate+0x123/0x1b0 <4>[ 40.051377] [] SyS_fallocate+0x43/0x70 <4>[ 40.051379] [] system_call_fastpath+0x16/0x1b <4>[ 40.051379] ---[ end trace 6a3b1350ad399905 ]--- <4>[ 40.066472] ------------[ cut here ]------------ <4>[ 40.066792] WARNING: CPU: 3 PID: 3990 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.067423] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.070547] CPU: 3 PID: 3990 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.071096] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.071683] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.072365] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75dda8 <4>[ 40.073040] 0000000000000000 ffff88005b75dda8 0000000004000000 ffff88007a53fdd0 <4>[ 40.073712] Call Trace: <4>[ 40.073942] [] dump_stack+0x4d/0x66 <4>[ 40.074289] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.074655] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.075020] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.075401] [] truncate_setsize+0x27/0x40 <4>[ 40.075752] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.076118] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.076484] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.076849] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.077225] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.077610] [] do_fallocate+0x123/0x1b0 <4>[ 40.077954] [] SyS_fallocate+0x43/0x70 <4>[ 40.078303] [] system_call_fastpath+0x16/0x1b <4>[ 40.078668] ---[ end trace 6a3b1350ad399906 ]--- <4>[ 40.082098] ------------[ cut here ]------------ <4>[ 40.082440] WARNING: CPU: 2 PID: 3992 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.083126] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.086632] CPU: 2 PID: 3992 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.087230] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.087869] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.088617] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1985a8 <4>[ 40.089367] 0000000000000000 ffff88007c1985a8 0000000004000000 ffff88007a463dd0 <4>[ 40.090127] Call Trace: <4>[ 40.090387] [] dump_stack+0x4d/0x66 <4>[ 40.090745] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.091163] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.091555] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.091970] [] truncate_setsize+0x27/0x40 <4>[ 40.092361] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.092754] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.093158] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.093559] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.093952] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.094374] [] do_fallocate+0x123/0x1b0 <4>[ 40.094750] [] SyS_fallocate+0x43/0x70 <4>[ 40.095139] [] system_call_fastpath+0x16/0x1b <4>[ 40.095541] ---[ end trace 6a3b1350ad399907 ]--- <4>[ 40.098930] ------------[ cut here ]------------ <4>[ 40.099278] WARNING: CPU: 2 PID: 3994 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.099963] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.103476] CPU: 2 PID: 3994 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.104073] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.104713] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.105472] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1989a8 <4>[ 40.106228] 0000000000000000 ffff88007c1989a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.106981] Call Trace: <4>[ 40.107238] [] dump_stack+0x4d/0x66 <4>[ 40.107595] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.108015] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.108408] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.108824] [] truncate_setsize+0x27/0x40 <4>[ 40.109215] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.109608] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.110013] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.110412] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.110804] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.111227] [] do_fallocate+0x123/0x1b0 <4>[ 40.111602] [] SyS_fallocate+0x43/0x70 <4>[ 40.111981] [] system_call_fastpath+0x16/0x1b <4>[ 40.112394] ---[ end trace 6a3b1350ad399908 ]--- <4>[ 40.115737] ------------[ cut here ]------------ <4>[ 40.116087] WARNING: CPU: 2 PID: 3996 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.116765] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.120258] CPU: 2 PID: 3996 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.120851] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.121494] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 40.122256] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c198da8 <4>[ 40.123014] 0000000000000000 ffff88007c198da8 0000000004000000 ffff88007bfabdd0 <4>[ 40.123766] Call Trace: <4>[ 40.124022] [] dump_stack+0x4d/0x66 <4>[ 40.124380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.124794] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.125191] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.125606] [] truncate_setsize+0x27/0x40 <4>[ 40.125990] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.126392] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.126791] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.127194] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.127586] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.128010] [] do_fallocate+0x123/0x1b0 <4>[ 40.128385] [] SyS_fallocate+0x43/0x70 <4>[ 40.128764] [] system_call_fastpath+0x16/0x1b <4>[ 40.129179] ---[ end trace 6a3b1350ad399909 ]--- <4>[ 40.132517] ------------[ cut here ]------------ <4>[ 40.132863] WARNING: CPU: 2 PID: 3998 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.133550] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.137046] CPU: 2 PID: 3998 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.139555] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.140207] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.140956] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1991a8 <4>[ 40.141710] 0000000000000000 ffff88007c1991a8 0000000004000000 ffff88007a463dd0 <4>[ 40.142466] Call Trace: <4>[ 40.142716] [] dump_stack+0x4d/0x66 <4>[ 40.143084] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.143493] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.143886] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.144307] [] truncate_setsize+0x27/0x40 <4>[ 40.144693] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.145095] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.145494] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.145894] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.146291] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.146711] [] do_fallocate+0x123/0x1b0 <4>[ 40.147093] [] SyS_fallocate+0x43/0x70 <4>[ 40.147469] [] system_call_fastpath+0x16/0x1b <4>[ 40.147877] ---[ end trace 6a3b1350ad39990a ]--- <4>[ 40.151233] ------------[ cut here ]------------ <4>[ 40.151583] WARNING: CPU: 2 PID: 4000 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.152271] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.155770] CPU: 2 PID: 4000 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.156374] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.157016] 0000000000000009 ffff88007a49bd88 ffffffff81859ea6 0000000000000000 <4>[ 40.157767] ffff88007a49bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1995a8 <4>[ 40.158523] 0000000000000000 ffff88007c1995a8 0000000004000000 ffff88007a49bdd0 <4>[ 40.159279] Call Trace: <4>[ 40.159529] [] dump_stack+0x4d/0x66 <4>[ 40.159886] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.160305] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.160698] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.161119] [] truncate_setsize+0x27/0x40 <4>[ 40.161505] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.161901] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.162305] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.162706] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.163103] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.163522] [] do_fallocate+0x123/0x1b0 <4>[ 40.163897] [] SyS_fallocate+0x43/0x70 <4>[ 40.164280] [] system_call_fastpath+0x16/0x1b <4>[ 40.164684] ---[ end trace 6a3b1350ad39990b ]--- <4>[ 40.168030] ------------[ cut here ]------------ <4>[ 40.168379] WARNING: CPU: 2 PID: 4002 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.169061] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.172568] CPU: 2 PID: 4002 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.173177] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.173817] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.174574] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1999a8 <4>[ 40.175336] 0000000000000000 ffff88007c1999a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.176082] Call Trace: <4>[ 40.176341] [] dump_stack+0x4d/0x66 <4>[ 40.176698] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.177118] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.177510] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.177925] [] truncate_setsize+0x27/0x40 <4>[ 40.178317] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.178711] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.179114] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.179513] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.179906] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.180331] [] do_fallocate+0x123/0x1b0 <4>[ 40.180706] [] SyS_fallocate+0x43/0x70 <4>[ 40.181094] [] system_call_fastpath+0x16/0x1b <4>[ 40.181497] ---[ end trace 6a3b1350ad39990c ]--- <4>[ 40.184862] ------------[ cut here ]------------ <4>[ 40.185214] WARNING: CPU: 2 PID: 4004 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.185896] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.189405] CPU: 2 PID: 4004 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.189999] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.190643] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.191396] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c199da8 <4>[ 40.192143] 0000000000000000 ffff88007c199da8 0000000004000000 ffff88007a463dd0 <4>[ 40.192899] Call Trace: <4>[ 40.193165] [] dump_stack+0x4d/0x66 <4>[ 40.193523] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.193937] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.194336] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.194751] [] truncate_setsize+0x27/0x40 <4>[ 40.195143] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.195537] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.195936] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.196341] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.196734] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.197157] [] do_fallocate+0x123/0x1b0 <4>[ 40.197532] [] SyS_fallocate+0x43/0x70 <4>[ 40.197911] [] system_call_fastpath+0x16/0x1b <4>[ 40.198325] ---[ end trace 6a3b1350ad39990d ]--- <4>[ 40.201685] ------------[ cut here ]------------ <4>[ 40.202033] WARNING: CPU: 2 PID: 4006 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.202706] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.206201] CPU: 2 PID: 4006 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.206801] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.207445] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.208207] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19a1a8 <4>[ 40.208960] 0000000000000000 ffff88007c19a1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.209720] Call Trace: <4>[ 40.209970] [] dump_stack+0x4d/0x66 <4>[ 40.210332] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.210744] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.211141] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.211557] [] truncate_setsize+0x27/0x40 <4>[ 40.211942] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.212343] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.212743] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.213147] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.213539] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.213957] [] do_fallocate+0x123/0x1b0 <4>[ 40.214343] [] SyS_fallocate+0x43/0x70 <4>[ 40.214719] [] system_call_fastpath+0x16/0x1b <4>[ 40.215132] ---[ end trace 6a3b1350ad39990e ]--- <4>[ 40.218390] ------------[ cut here ]------------ <4>[ 40.218730] WARNING: CPU: 2 PID: 4008 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.219415] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.222912] CPU: 2 PID: 4008 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.223515] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.224158] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.224907] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19a5a8 <4>[ 40.225670] 0000000000000000 ffff88007c19a5a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.226426] Call Trace: <4>[ 40.226676] [] dump_stack+0x4d/0x66 <4>[ 40.228943] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.229347] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.229739] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.230160] [] truncate_setsize+0x27/0x40 <4>[ 40.230545] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.230941] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.231346] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.231745] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.232142] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.232561] [] do_fallocate+0x123/0x1b0 <4>[ 40.232936] [] SyS_fallocate+0x43/0x70 <4>[ 40.233320] [] system_call_fastpath+0x16/0x1b <4>[ 40.233724] ---[ end trace 6a3b1350ad39990f ]--- <4>[ 40.237113] ------------[ cut here ]------------ <4>[ 40.237458] WARNING: CPU: 2 PID: 4010 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.238145] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.241641] CPU: 2 PID: 4010 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.242241] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.242881] 0000000000000009 ffff88007a49bd88 ffffffff81859ea6 0000000000000000 <4>[ 40.243636] ffff88007a49bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c19a9a8 <4>[ 40.244386] 0000000000000000 ffff88007c19a9a8 0000000004000000 ffff88007a49bdd0 <4>[ 40.245138] Call Trace: <4>[ 40.245397] [] dump_stack+0x4d/0x66 <4>[ 40.245754] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.246172] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.246565] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.246980] [] truncate_setsize+0x27/0x40 <4>[ 40.247371] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.247764] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.248169] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.248568] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.248960] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.249384] [] do_fallocate+0x123/0x1b0 <4>[ 40.249759] [] SyS_fallocate+0x43/0x70 <4>[ 40.250142] [] system_call_fastpath+0x16/0x1b <4>[ 40.250546] ---[ end trace 6a3b1350ad399910 ]--- <4>[ 40.254015] ------------[ cut here ]------------ <4>[ 40.254360] WARNING: CPU: 2 PID: 4012 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.255041] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.258551] CPU: 2 PID: 4012 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.259149] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.259790] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.260542] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19ada8 <4>[ 40.261303] 0000000000000000 ffff88007c19ada8 0000000004000000 ffff88007a463dd0 <4>[ 40.262059] Call Trace: <4>[ 40.262309] [] dump_stack+0x4d/0x66 <4>[ 40.262666] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.263087] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.263480] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.263895] [] truncate_setsize+0x27/0x40 <4>[ 40.264286] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.264680] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.265083] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.265483] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.265875] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.266299] [] do_fallocate+0x123/0x1b0 <4>[ 40.266674] [] SyS_fallocate+0x43/0x70 <4>[ 40.267063] [] system_call_fastpath+0x16/0x1b <4>[ 40.267465] ---[ end trace 6a3b1350ad399911 ]--- <4>[ 40.270963] ------------[ cut here ]------------ <4>[ 40.271312] WARNING: CPU: 2 PID: 4014 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.271990] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.275487] CPU: 2 PID: 4014 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.276084] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.276725] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.277481] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19b1a8 <4>[ 40.278242] 0000000000000000 ffff88007c19b1a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.278987] Call Trace: <4>[ 40.279247] [] dump_stack+0x4d/0x66 <4>[ 40.279605] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.280024] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.280417] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.280831] [] truncate_setsize+0x27/0x40 <4>[ 40.281221] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.281618] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.282021] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.282421] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.282812] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.283236] [] do_fallocate+0x123/0x1b0 <4>[ 40.283611] [] SyS_fallocate+0x43/0x70 <4>[ 40.283991] [] system_call_fastpath+0x16/0x1b <4>[ 40.284402] ---[ end trace 6a3b1350ad399912 ]--- <4>[ 40.287891] ------------[ cut here ]------------ <4>[ 40.288238] WARNING: CPU: 2 PID: 4016 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.288915] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.292418] CPU: 2 PID: 4016 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.293016] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.293651] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 40.294408] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19b5a8 <4>[ 40.295166] 0000000000000000 ffff88007c19b5a8 0000000004000000 ffff88007a493dd0 <4>[ 40.295918] Call Trace: <4>[ 40.296175] [] dump_stack+0x4d/0x66 <4>[ 40.296532] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.296947] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.297345] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.297761] [] truncate_setsize+0x27/0x40 <4>[ 40.298154] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.298555] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.298955] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.299358] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.299752] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.300177] [] do_fallocate+0x123/0x1b0 <4>[ 40.300551] [] SyS_fallocate+0x43/0x70 <4>[ 40.300931] [] system_call_fastpath+0x16/0x1b <4>[ 40.301343] ---[ end trace 6a3b1350ad399913 ]--- <4>[ 40.304838] ------------[ cut here ]------------ <4>[ 40.305190] WARNING: CPU: 2 PID: 4018 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.305868] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.309371] CPU: 2 PID: 4018 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.309970] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.310613] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.311366] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19b9a8 <4>[ 40.312117] 0000000000000000 ffff88007c19b9a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.312868] Call Trace: <4>[ 40.313125] [] dump_stack+0x4d/0x66 <4>[ 40.313483] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.313897] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.314295] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.314710] [] truncate_setsize+0x27/0x40 <4>[ 40.315100] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.315496] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.315895] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.316299] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.316692] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.317115] [] do_fallocate+0x123/0x1b0 <4>[ 40.319391] [] SyS_fallocate+0x43/0x70 <4>[ 40.319762] [] system_call_fastpath+0x16/0x1b <4>[ 40.320175] ---[ end trace 6a3b1350ad399914 ]--- <4>[ 40.323648] ------------[ cut here ]------------ <4>[ 40.324012] WARNING: CPU: 2 PID: 4020 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.324674] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.328187] CPU: 2 PID: 4020 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.328780] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.329425] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.330184] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c19bda8 <4>[ 40.330936] 0000000000000000 ffff88007c19bda8 0000000004000000 ffff88007a463dd0 <4>[ 40.331694] Call Trace: <4>[ 40.331944] [] dump_stack+0x4d/0x66 <4>[ 40.332307] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.332719] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.333116] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.333531] [] truncate_setsize+0x27/0x40 <4>[ 40.333917] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.334319] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.334718] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.335122] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.335515] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.335934] [] do_fallocate+0x123/0x1b0 <4>[ 40.336320] [] SyS_fallocate+0x43/0x70 <4>[ 40.336697] [] system_call_fastpath+0x16/0x1b <4>[ 40.337111] ---[ end trace 6a3b1350ad399915 ]--- <4>[ 40.340607] ------------[ cut here ]------------ <4>[ 40.340948] WARNING: CPU: 2 PID: 4022 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.341634] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.345135] CPU: 2 PID: 4022 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.345729] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.346373] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 40.347128] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e01a8 <4>[ 40.347879] 0000000000000000 ffff88007c1e01a8 0000000004000000 ffff88007a493dd0 <4>[ 40.348637] Call Trace: <4>[ 40.348887] [] dump_stack+0x4d/0x66 <4>[ 40.349256] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.349665] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.350062] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.350478] [] truncate_setsize+0x27/0x40 <4>[ 40.350863] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.351266] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.351665] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.352069] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.352462] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.352880] [] do_fallocate+0x123/0x1b0 <4>[ 40.353267] [] SyS_fallocate+0x43/0x70 <4>[ 40.353643] [] system_call_fastpath+0x16/0x1b <4>[ 40.354055] ---[ end trace 6a3b1350ad399916 ]--- <4>[ 40.357415] ------------[ cut here ]------------ <4>[ 40.357771] WARNING: CPU: 2 PID: 4024 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.358457] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.361965] CPU: 2 PID: 4024 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.362562] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.363206] 0000000000000009 ffff88007a49fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.363946] ffff88007a49fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e05a8 <4>[ 40.364709] 0000000000000000 ffff88007c1e05a8 0000000004000000 ffff88007a49fdd0 <4>[ 40.365478] Call Trace: <4>[ 40.365729] [] dump_stack+0x4d/0x66 <4>[ 40.366092] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.366505] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.366897] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.367318] [] truncate_setsize+0x27/0x40 <4>[ 40.367703] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.368104] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.368503] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.368902] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.369299] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.369719] [] do_fallocate+0x123/0x1b0 <4>[ 40.370099] [] SyS_fallocate+0x43/0x70 <4>[ 40.370475] [] system_call_fastpath+0x16/0x1b <4>[ 40.370883] ---[ end trace 6a3b1350ad399917 ]--- <4>[ 40.374208] ------------[ cut here ]------------ <4>[ 40.374568] WARNING: CPU: 2 PID: 4026 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.375240] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.378728] CPU: 2 PID: 4026 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.379332] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.379973] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 40.380726] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e09a8 <4>[ 40.381487] 0000000000000000 ffff88007c1e09a8 0000000004000000 ffff88007bfabdd0 <4>[ 40.382248] Call Trace: <4>[ 40.382498] [] dump_stack+0x4d/0x66 <4>[ 40.382855] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.383273] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.383666] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.384086] [] truncate_setsize+0x27/0x40 <4>[ 40.384473] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.384870] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.385277] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.385677] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.386074] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.386493] [] do_fallocate+0x123/0x1b0 <4>[ 40.386868] [] SyS_fallocate+0x43/0x70 <4>[ 40.387253] [] system_call_fastpath+0x16/0x1b <4>[ 40.387659] ---[ end trace 6a3b1350ad399918 ]--- <4>[ 40.391029] ------------[ cut here ]------------ <4>[ 40.391380] WARNING: CPU: 2 PID: 4028 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.392049] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.395530] CPU: 2 PID: 4028 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.396133] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.396768] 0000000000000009 ffff88007a4c3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.397529] ffff88007a4c3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e0da8 <4>[ 40.398290] 0000000000000000 ffff88007c1e0da8 0000000004000000 ffff88007a4c3dd0 <4>[ 40.399040] Call Trace: <4>[ 40.399294] [] dump_stack+0x4d/0x66 <4>[ 40.399651] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.400071] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.400463] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.400878] [] truncate_setsize+0x27/0x40 <4>[ 40.401271] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.401664] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.402067] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.402467] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.402859] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.403283] [] do_fallocate+0x123/0x1b0 <4>[ 40.403658] [] SyS_fallocate+0x43/0x70 <4>[ 40.404042] [] system_call_fastpath+0x16/0x1b <4>[ 40.404446] ---[ end trace 6a3b1350ad399919 ]--- <4>[ 40.407726] ------------[ cut here ]------------ <4>[ 40.408091] WARNING: CPU: 2 PID: 4030 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.408774] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.414178] CPU: 2 PID: 4030 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.414772] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.415417] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 40.416177] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e11a8 <4>[ 40.416931] 0000000000000000 ffff88007c1e11a8 0000000004000000 ffff88007a493dd0 <4>[ 40.417686] Call Trace: <4>[ 40.417936] [] dump_stack+0x4d/0x66 <4>[ 40.418305] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.418713] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.419110] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.419526] [] truncate_setsize+0x27/0x40 <4>[ 40.419911] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.420312] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.420711] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.421116] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.421509] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.421928] [] do_fallocate+0x123/0x1b0 <4>[ 40.422314] [] SyS_fallocate+0x43/0x70 <4>[ 40.422690] [] system_call_fastpath+0x16/0x1b <4>[ 40.423104] ---[ end trace 6a3b1350ad39991a ]--- <4>[ 40.426427] ------------[ cut here ]------------ <4>[ 40.426772] WARNING: CPU: 2 PID: 4032 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.427456] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.430950] CPU: 2 PID: 4032 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.431546] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.432189] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 40.432938] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e15a8 <4>[ 40.433699] 0000000000000000 ffff88007c1e15a8 0000000004000000 ffff88007bfabdd0 <4>[ 40.434455] Call Trace: <4>[ 40.434706] [] dump_stack+0x4d/0x66 <4>[ 40.435069] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.435483] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.435875] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.436297] [] truncate_setsize+0x27/0x40 <4>[ 40.436683] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.437083] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.437482] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.437881] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.438280] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.438699] [] do_fallocate+0x123/0x1b0 <4>[ 40.439084] [] SyS_fallocate+0x43/0x70 <4>[ 40.439460] [] system_call_fastpath+0x16/0x1b <4>[ 40.439868] ---[ end trace 6a3b1350ad39991b ]--- <4>[ 40.443190] ------------[ cut here ]------------ <4>[ 40.443546] WARNING: CPU: 2 PID: 4034 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.444231] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.447729] CPU: 2 PID: 4034 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.448332] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.448971] 0000000000000009 ffff88007a49fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.449717] ffff88007a49fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e19a8 <4>[ 40.450473] 0000000000000000 ffff88007c1e19a8 0000000004000000 ffff88007a49fdd0 <4>[ 40.451235] Call Trace: <4>[ 40.451489] [] dump_stack+0x4d/0x66 <4>[ 40.451847] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.452268] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.452661] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.453081] [] truncate_setsize+0x27/0x40 <4>[ 40.453467] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.453863] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.454267] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.454680] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.455079] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.455497] [] do_fallocate+0x123/0x1b0 <4>[ 40.455872] [] SyS_fallocate+0x43/0x70 <4>[ 40.456257] [] system_call_fastpath+0x16/0x1b <4>[ 40.456661] ---[ end trace 6a3b1350ad39991c ]--- <4>[ 40.460483] ------------[ cut here ]------------ <4>[ 40.460803] WARNING: CPU: 3 PID: 4037 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.461439] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.464567] CPU: 3 PID: 4037 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.465113] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.465701] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.466382] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75e1a8 <4>[ 40.467053] 0000000000000000 ffff88005b75e1a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.467726] Call Trace: <4>[ 40.467954] [] dump_stack+0x4d/0x66 <4>[ 40.468300] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.468667] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.469032] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.469414] [] truncate_setsize+0x27/0x40 <4>[ 40.469766] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.470142] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.470509] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.470874] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.471250] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.471636] [] do_fallocate+0x123/0x1b0 <4>[ 40.471980] [] SyS_fallocate+0x43/0x70 <4>[ 40.472328] [] system_call_fastpath+0x16/0x1b <4>[ 40.472693] ---[ end trace 6a3b1350ad39991d ]--- <4>[ 40.476178] ------------[ cut here ]------------ <4>[ 40.476521] WARNING: CPU: 2 PID: 4040 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.477210] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.480744] CPU: 2 PID: 4040 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.481328] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.481993] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.482713] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e1da8 <4>[ 40.483470] 0000000000000000 ffff88007c1e1da8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.484224] Call Trace: <4>[ 40.484475] [] dump_stack+0x4d/0x66 <4>[ 40.484832] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.485251] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.485643] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.486061] [] truncate_setsize+0x27/0x40 <4>[ 40.486448] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.486846] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.487249] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.487649] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.488047] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.488466] [] do_fallocate+0x123/0x1b0 <4>[ 40.488840] [] SyS_fallocate+0x43/0x70 <4>[ 40.489223] [] system_call_fastpath+0x16/0x1b <4>[ 40.489630] ---[ end trace 6a3b1350ad39991e ]--- <4>[ 40.493256] ------------[ cut here ]------------ <4>[ 40.493608] WARNING: CPU: 2 PID: 4044 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.494294] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.497802] CPU: 2 PID: 4044 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.498401] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.499044] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.499797] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e21a8 <4>[ 40.502465] 0000000000000000 ffff88007c1e21a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.503220] Call Trace: <4>[ 40.503472] [] dump_stack+0x4d/0x66 <4>[ 40.503829] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.504250] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.504642] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.505063] [] truncate_setsize+0x27/0x40 <4>[ 40.505450] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.505845] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.506250] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.506650] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.507048] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.507467] [] do_fallocate+0x123/0x1b0 <4>[ 40.507841] [] SyS_fallocate+0x43/0x70 <4>[ 40.508229] [] system_call_fastpath+0x16/0x1b <4>[ 40.508632] ---[ end trace 6a3b1350ad39991f ]--- <4>[ 40.512124] ------------[ cut here ]------------ <4>[ 40.512468] WARNING: CPU: 2 PID: 4046 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.513152] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.516651] CPU: 2 PID: 4046 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.517250] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.517890] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.518645] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e25a8 <4>[ 40.519395] 0000000000000000 ffff88007c1e25a8 0000000004000000 ffff88007a463dd0 <4>[ 40.520147] Call Trace: <4>[ 40.520408] [] dump_stack+0x4d/0x66 <4>[ 40.520765] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.521184] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.521577] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.521992] [] truncate_setsize+0x27/0x40 <4>[ 40.522383] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.522777] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.523181] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.523581] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.523973] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.524398] [] do_fallocate+0x123/0x1b0 <4>[ 40.524772] [] SyS_fallocate+0x43/0x70 <4>[ 40.525155] [] system_call_fastpath+0x16/0x1b <4>[ 40.525562] ---[ end trace 6a3b1350ad399920 ]--- <4>[ 40.529139] ------------[ cut here ]------------ <4>[ 40.529458] WARNING: CPU: 3 PID: 4050 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.530089] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.533205] CPU: 3 PID: 4050 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.533742] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.534337] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.535015] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75e5a8 <4>[ 40.535690] 0000000000000000 ffff88005b75e5a8 0000000004000000 ffff88007a53fdd0 <4>[ 40.536372] Call Trace: <4>[ 40.536600] [] dump_stack+0x4d/0x66 <4>[ 40.536932] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.537305] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.537663] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.538054] [] truncate_setsize+0x27/0x40 <4>[ 40.538413] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.538771] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.539144] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.539509] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.539868] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.540270] [] do_fallocate+0x123/0x1b0 <4>[ 40.540617] [] SyS_fallocate+0x43/0x70 <4>[ 40.540958] [] system_call_fastpath+0x16/0x1b <4>[ 40.541331] ---[ end trace 6a3b1350ad399921 ]--- <4>[ 40.544847] ------------[ cut here ]------------ <4>[ 40.545233] WARNING: CPU: 2 PID: 4052 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.545893] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.549336] CPU: 2 PID: 4052 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.549934] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.550578] 0000000000000009 ffff88007a49fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.551331] ffff88007a49fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e29a8 <4>[ 40.552087] 0000000000000000 ffff88007c1e29a8 0000000004000000 ffff88007a49fdd0 <4>[ 40.552842] Call Trace: <4>[ 40.553098] [] dump_stack+0x4d/0x66 <4>[ 40.553456] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.553869] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.554268] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.554683] [] truncate_setsize+0x27/0x40 <4>[ 40.555075] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.555470] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.555869] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.556275] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.556668] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.557093] [] do_fallocate+0x123/0x1b0 <4>[ 40.557467] [] SyS_fallocate+0x43/0x70 <4>[ 40.557844] [] system_call_fastpath+0x16/0x1b <4>[ 40.558258] ---[ end trace 6a3b1350ad399922 ]--- <4>[ 40.561836] ------------[ cut here ]------------ <4>[ 40.562184] WARNING: CPU: 2 PID: 4056 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.562866] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.566363] CPU: 2 PID: 4056 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.566961] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.567605] 0000000000000009 ffff88007a4c3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.568357] ffff88007a4c3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e2da8 <4>[ 40.569108] 0000000000000000 ffff88007c1e2da8 0000000004000000 ffff88007a4c3dd0 <4>[ 40.569859] Call Trace: <4>[ 40.570115] [] dump_stack+0x4d/0x66 <4>[ 40.570472] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.570886] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.571286] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.571701] [] truncate_setsize+0x27/0x40 <4>[ 40.572094] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.572490] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.572888] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.573295] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.573688] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.574113] [] do_fallocate+0x123/0x1b0 <4>[ 40.574488] [] SyS_fallocate+0x43/0x70 <4>[ 40.574867] [] system_call_fastpath+0x16/0x1b <4>[ 40.575281] ---[ end trace 6a3b1350ad399923 ]--- <4>[ 40.578630] ------------[ cut here ]------------ <4>[ 40.578971] WARNING: CPU: 2 PID: 4058 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.579655] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.583161] CPU: 2 PID: 4058 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.583754] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.584399] 0000000000000009 ffff88007a49bd88 ffffffff81859ea6 0000000000000000 <4>[ 40.585154] ffff88007a49bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e31a8 <4>[ 40.585907] 0000000000000000 ffff88007c1e31a8 0000000004000000 ffff88007a49bdd0 <4>[ 40.586663] Call Trace: <4>[ 40.586912] [] dump_stack+0x4d/0x66 <4>[ 40.587280] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.587690] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.588088] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.588503] [] truncate_setsize+0x27/0x40 <4>[ 40.588888] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.589291] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.591588] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.592008] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.592400] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.592820] [] do_fallocate+0x123/0x1b0 <4>[ 40.593205] [] SyS_fallocate+0x43/0x70 <4>[ 40.593581] [] system_call_fastpath+0x16/0x1b <4>[ 40.593990] ---[ end trace 6a3b1350ad399924 ]--- <4>[ 40.597374] ------------[ cut here ]------------ <4>[ 40.597720] WARNING: CPU: 2 PID: 4060 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.598404] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.601902] CPU: 2 PID: 4060 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.602504] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.603147] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.603896] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e35a8 <4>[ 40.604658] 0000000000000000 ffff88007c1e35a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.605414] Call Trace: <4>[ 40.605665] [] dump_stack+0x4d/0x66 <4>[ 40.606033] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.606442] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.606833] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.607254] [] truncate_setsize+0x27/0x40 <4>[ 40.607644] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.608042] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.608442] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.608841] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.609238] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.609658] [] do_fallocate+0x123/0x1b0 <4>[ 40.610042] [] SyS_fallocate+0x43/0x70 <4>[ 40.610417] [] system_call_fastpath+0x16/0x1b <4>[ 40.610826] ---[ end trace 6a3b1350ad399925 ]--- <4>[ 40.614268] ------------[ cut here ]------------ <4>[ 40.614625] WARNING: CPU: 2 PID: 4062 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.615306] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.618810] CPU: 2 PID: 4062 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.619409] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.620052] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.620802] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e39a8 <4>[ 40.621564] 0000000000000000 ffff88007c1e39a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.622319] Call Trace: <4>[ 40.622569] [] dump_stack+0x4d/0x66 <4>[ 40.622926] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.623347] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.623748] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.624169] [] truncate_setsize+0x27/0x40 <4>[ 40.624554] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.624950] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.625354] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.625754] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.626152] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.626570] [] do_fallocate+0x123/0x1b0 <4>[ 40.626945] [] SyS_fallocate+0x43/0x70 <4>[ 40.627333] [] system_call_fastpath+0x16/0x1b <4>[ 40.627735] ---[ end trace 6a3b1350ad399926 ]--- <4>[ 40.631219] ------------[ cut here ]------------ <4>[ 40.631559] WARNING: CPU: 2 PID: 4064 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.632246] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.635739] CPU: 2 PID: 4064 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.636343] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.636983] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.637739] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1e3da8 <4>[ 40.638500] 0000000000000000 ffff88007c1e3da8 0000000004000000 ffff88007a53fdd0 <4>[ 40.639257] Call Trace: <4>[ 40.639512] [] dump_stack+0x4d/0x66 <4>[ 40.639884] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.640306] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.640698] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.641118] [] truncate_setsize+0x27/0x40 <4>[ 40.641504] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.641901] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.642307] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.642707] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.643104] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.643523] [] do_fallocate+0x123/0x1b0 <4>[ 40.643898] [] SyS_fallocate+0x43/0x70 <4>[ 40.644287] [] system_call_fastpath+0x16/0x1b <4>[ 40.644689] ---[ end trace 6a3b1350ad399927 ]--- <4>[ 40.648105] ------------[ cut here ]------------ <4>[ 40.648449] WARNING: CPU: 2 PID: 4066 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.649133] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.652633] CPU: 2 PID: 4066 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.653233] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.653873] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 40.654626] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ec1a8 <4>[ 40.655375] 0000000000000000 ffff88007c1ec1a8 0000000004000000 ffff88007bfabdd0 <4>[ 40.656132] Call Trace: <4>[ 40.656390] [] dump_stack+0x4d/0x66 <4>[ 40.656748] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.657169] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.657561] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.657976] [] truncate_setsize+0x27/0x40 <4>[ 40.658367] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.658760] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.659163] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.659562] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.659954] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.660378] [] do_fallocate+0x123/0x1b0 <4>[ 40.660753] [] SyS_fallocate+0x43/0x70 <4>[ 40.661136] [] system_call_fastpath+0x16/0x1b <4>[ 40.661542] ---[ end trace 6a3b1350ad399928 ]--- <4>[ 40.664782] ------------[ cut here ]------------ <4>[ 40.665131] WARNING: CPU: 2 PID: 4068 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.665808] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.669313] CPU: 2 PID: 4068 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.669907] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.670551] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.671310] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ec5a8 <4>[ 40.672067] 0000000000000000 ffff88007c1ec5a8 0000000004000000 ffff88007a463dd0 <4>[ 40.672823] Call Trace: <4>[ 40.673078] [] dump_stack+0x4d/0x66 <4>[ 40.673436] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.673848] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.674245] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.674660] [] truncate_setsize+0x27/0x40 <4>[ 40.675051] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.675445] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.675844] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.676249] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.676642] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.677065] [] do_fallocate+0x123/0x1b0 <4>[ 40.677440] [] SyS_fallocate+0x43/0x70 <4>[ 40.677819] [] system_call_fastpath+0x16/0x1b <4>[ 40.678232] ---[ end trace 6a3b1350ad399929 ]--- <4>[ 40.681617] ------------[ cut here ]------------ <4>[ 40.681961] WARNING: CPU: 2 PID: 4070 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.684547] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.688053] CPU: 2 PID: 4070 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.688645] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.689289] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.690049] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ec9a8 <4>[ 40.690799] 0000000000000000 ffff88007c1ec9a8 0000000004000000 ffff88007a53fdd0 <4>[ 40.691555] Call Trace: <4>[ 40.691806] [] dump_stack+0x4d/0x66 <4>[ 40.692169] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.692582] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.692974] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.693394] [] truncate_setsize+0x27/0x40 <4>[ 40.693780] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.694180] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.694580] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.694979] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.695376] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.695795] [] do_fallocate+0x123/0x1b0 <4>[ 40.696179] [] SyS_fallocate+0x43/0x70 <4>[ 40.696564] [] system_call_fastpath+0x16/0x1b <4>[ 40.696937] ---[ end trace 6a3b1350ad39992a ]--- <4>[ 40.700435] ------------[ cut here ]------------ <4>[ 40.700792] WARNING: CPU: 2 PID: 4073 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.701482] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.705009] CPU: 2 PID: 4073 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.705601] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.706244] 0000000000000009 ffff88007a4bfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.706996] ffff88007a4bfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ecda8 <4>[ 40.707758] 0000000000000000 ffff88007c1ecda8 0000000004000000 ffff88007a4bfdd0 <4>[ 40.708512] Call Trace: <4>[ 40.708763] [] dump_stack+0x4d/0x66 <4>[ 40.709124] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.709539] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.709931] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.710352] [] truncate_setsize+0x27/0x40 <4>[ 40.710738] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.711137] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.711537] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.711936] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.712334] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.712754] [] do_fallocate+0x123/0x1b0 <4>[ 40.713137] [] SyS_fallocate+0x43/0x70 <4>[ 40.713513] [] system_call_fastpath+0x16/0x1b <4>[ 40.713921] ---[ end trace 6a3b1350ad39992b ]--- <4>[ 40.717363] ------------[ cut here ]------------ <4>[ 40.717714] WARNING: CPU: 2 PID: 4076 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.718400] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.721895] CPU: 2 PID: 4076 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.722500] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.723143] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.723893] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ed1a8 <4>[ 40.724646] 0000000000000000 ffff88007c1ed1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.725401] Call Trace: <4>[ 40.725652] [] dump_stack+0x4d/0x66 <4>[ 40.726019] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.726430] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.726821] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.727242] [] truncate_setsize+0x27/0x40 <4>[ 40.727627] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.728029] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.728428] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.728828] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.729225] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.729644] [] do_fallocate+0x123/0x1b0 <4>[ 40.730028] [] SyS_fallocate+0x43/0x70 <4>[ 40.730403] [] system_call_fastpath+0x16/0x1b <4>[ 40.730809] ---[ end trace 6a3b1350ad39992c ]--- <4>[ 40.734271] ------------[ cut here ]------------ <4>[ 40.734611] WARNING: CPU: 2 PID: 4078 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.735299] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.738800] CPU: 2 PID: 4078 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.739398] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.740042] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.740791] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ed5a8 <4>[ 40.741545] 0000000000000000 ffff88007c1ed5a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.742299] Call Trace: <4>[ 40.742554] [] dump_stack+0x4d/0x66 <4>[ 40.742911] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.743332] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.743725] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.744145] [] truncate_setsize+0x27/0x40 <4>[ 40.744531] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.744926] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.745332] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.745732] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.746128] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.746547] [] do_fallocate+0x123/0x1b0 <4>[ 40.746922] [] SyS_fallocate+0x43/0x70 <4>[ 40.747309] [] system_call_fastpath+0x16/0x1b <4>[ 40.747712] ---[ end trace 6a3b1350ad39992d ]--- <4>[ 40.751028] ------------[ cut here ]------------ <4>[ 40.751373] WARNING: CPU: 2 PID: 4080 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.752054] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.755563] CPU: 2 PID: 4080 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.756162] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.756801] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 40.757554] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ed9a8 <4>[ 40.758310] 0000000000000000 ffff88007c1ed9a8 0000000004000000 ffff88007a493dd0 <4>[ 40.759051] Call Trace: <4>[ 40.759316] [] dump_stack+0x4d/0x66 <4>[ 40.759673] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.760092] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.760484] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.760899] [] truncate_setsize+0x27/0x40 <4>[ 40.761290] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.761683] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.762087] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.762487] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.762878] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.763303] [] do_fallocate+0x123/0x1b0 <4>[ 40.763678] [] SyS_fallocate+0x43/0x70 <4>[ 40.764062] [] system_call_fastpath+0x16/0x1b <4>[ 40.764467] ---[ end trace 6a3b1350ad39992e ]--- <4>[ 40.767670] ------------[ cut here ]------------ <4>[ 40.768019] WARNING: CPU: 2 PID: 4082 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.768707] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.772209] CPU: 2 PID: 4082 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.772808] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.775358] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 40.776099] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1edda8 <4>[ 40.776850] 0000000000000000 ffff88007c1edda8 0000000004000000 ffff88007bfabdd0 <4>[ 40.777605] Call Trace: <4>[ 40.777856] [] dump_stack+0x4d/0x66 <4>[ 40.778219] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.778633] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.779030] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.779445] [] truncate_setsize+0x27/0x40 <4>[ 40.779831] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.780232] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.780631] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.781036] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.781428] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.781846] [] do_fallocate+0x123/0x1b0 <4>[ 40.782225] [] SyS_fallocate+0x43/0x70 <4>[ 40.782602] [] system_call_fastpath+0x16/0x1b <4>[ 40.783015] ---[ end trace 6a3b1350ad39992f ]--- <4>[ 40.786157] ------------[ cut here ]------------ <4>[ 40.786507] WARNING: CPU: 2 PID: 4084 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.787195] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.790693] CPU: 2 PID: 4084 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.791292] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.791932] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.792686] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ee1a8 <4>[ 40.793437] 0000000000000000 ffff88007c1ee1a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.794205] Call Trace: <4>[ 40.794456] [] dump_stack+0x4d/0x66 <4>[ 40.794813] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.795234] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.795627] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.796047] [] truncate_setsize+0x27/0x40 <4>[ 40.796433] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.796828] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.797232] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.797632] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.798028] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.798447] [] do_fallocate+0x123/0x1b0 <4>[ 40.798822] [] SyS_fallocate+0x43/0x70 <4>[ 40.799212] [] system_call_fastpath+0x16/0x1b <4>[ 40.799614] ---[ end trace 6a3b1350ad399930 ]--- <4>[ 40.802811] ------------[ cut here ]------------ <4>[ 40.803177] WARNING: CPU: 2 PID: 4086 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.803854] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.807360] CPU: 2 PID: 4086 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.807958] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.808600] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.809354] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ee5a8 <4>[ 40.810105] 0000000000000000 ffff88007c1ee5a8 0000000004000000 ffff88007a53fdd0 <4>[ 40.810858] Call Trace: <4>[ 40.811114] [] dump_stack+0x4d/0x66 <4>[ 40.811471] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.811883] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.812281] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.812697] [] truncate_setsize+0x27/0x40 <4>[ 40.813087] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.813481] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.813880] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.814285] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.814677] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.815102] [] do_fallocate+0x123/0x1b0 <4>[ 40.815477] [] SyS_fallocate+0x43/0x70 <4>[ 40.815856] [] system_call_fastpath+0x16/0x1b <4>[ 40.816268] ---[ end trace 6a3b1350ad399931 ]--- <4>[ 40.819479] ------------[ cut here ]------------ <4>[ 40.819837] WARNING: CPU: 2 PID: 4088 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.820507] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.824006] CPU: 2 PID: 4088 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.824606] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.825249] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.826004] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ee9a8 <4>[ 40.826755] 0000000000000000 ffff88007c1ee9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.827516] Call Trace: <4>[ 40.827767] [] dump_stack+0x4d/0x66 <4>[ 40.828129] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.828543] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.828935] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.829356] [] truncate_setsize+0x27/0x40 <4>[ 40.829742] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.830142] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.830542] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.830941] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.831339] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.831759] [] do_fallocate+0x123/0x1b0 <4>[ 40.832144] [] SyS_fallocate+0x43/0x70 <4>[ 40.832519] [] system_call_fastpath+0x16/0x1b <4>[ 40.832927] ---[ end trace 6a3b1350ad399932 ]--- <4>[ 40.836131] ------------[ cut here ]------------ <4>[ 40.836485] WARNING: CPU: 2 PID: 4090 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.837166] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.840663] CPU: 2 PID: 4090 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.841267] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.841907] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 40.842664] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1eeda8 <4>[ 40.843418] 0000000000000000 ffff88007c1eeda8 0000000004000000 ffff88007a463dd0 <4>[ 40.844176] Call Trace: <4>[ 40.844431] [] dump_stack+0x4d/0x66 <4>[ 40.844788] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.845208] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.845601] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.846021] [] truncate_setsize+0x27/0x40 <4>[ 40.846406] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.846802] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.847206] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.847606] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.847999] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.848422] [] do_fallocate+0x123/0x1b0 <4>[ 40.848797] [] SyS_fallocate+0x43/0x70 <4>[ 40.849185] [] system_call_fastpath+0x16/0x1b <4>[ 40.849588] ---[ end trace 6a3b1350ad399933 ]--- <4>[ 40.852822] ------------[ cut here ]------------ <4>[ 40.853170] WARNING: CPU: 2 PID: 4092 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.853855] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.857355] CPU: 2 PID: 4092 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.857953] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.858597] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 40.859350] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ef1a8 <4>[ 40.860101] 0000000000000000 ffff88007c1ef1a8 0000000004000000 ffff88007a4b3dd0 <4>[ 40.860852] Call Trace: <4>[ 40.861109] [] dump_stack+0x4d/0x66 <4>[ 40.861466] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.861880] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.864174] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.864605] [] truncate_setsize+0x27/0x40 <4>[ 40.864990] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.865391] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.865790] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.866193] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.866587] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.867011] [] do_fallocate+0x123/0x1b0 <4>[ 40.867385] [] SyS_fallocate+0x43/0x70 <4>[ 40.867764] [] system_call_fastpath+0x16/0x1b <4>[ 40.868179] ---[ end trace 6a3b1350ad399934 ]--- <4>[ 40.871382] ------------[ cut here ]------------ <4>[ 40.871722] WARNING: CPU: 2 PID: 4094 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.872408] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.875892] CPU: 2 PID: 4094 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.876496] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.877138] 0000000000000009 ffff88007a4bfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.877888] ffff88007a4bfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ef5a8 <4>[ 40.878651] 0000000000000000 ffff88007c1ef5a8 0000000004000000 ffff88007a4bfdd0 <4>[ 40.879408] Call Trace: <4>[ 40.879658] [] dump_stack+0x4d/0x66 <4>[ 40.880027] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.880435] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.880827] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.881248] [] truncate_setsize+0x27/0x40 <4>[ 40.881634] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.882034] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.882434] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.882834] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.883231] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.883650] [] do_fallocate+0x123/0x1b0 <4>[ 40.884029] [] SyS_fallocate+0x43/0x70 <4>[ 40.884406] [] system_call_fastpath+0x16/0x1b <4>[ 40.884815] ---[ end trace 6a3b1350ad399935 ]--- <4>[ 40.888092] ------------[ cut here ]------------ <4>[ 40.888433] WARNING: CPU: 2 PID: 4096 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.889115] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.892608] CPU: 2 PID: 4096 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.893211] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.893851] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.894593] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ef9a8 <4>[ 40.895353] 0000000000000000 ffff88007c1ef9a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.896105] Call Trace: <4>[ 40.896364] [] dump_stack+0x4d/0x66 <4>[ 40.896721] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.897139] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.897531] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.897945] [] truncate_setsize+0x27/0x40 <4>[ 40.898337] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.898730] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.899133] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.899533] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.899925] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.900350] [] do_fallocate+0x123/0x1b0 <4>[ 40.900725] [] SyS_fallocate+0x43/0x70 <4>[ 40.901108] [] system_call_fastpath+0x16/0x1b <4>[ 40.901514] ---[ end trace 6a3b1350ad399936 ]--- <4>[ 40.905132] ------------[ cut here ]------------ <4>[ 40.905452] WARNING: CPU: 3 PID: 4098 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.906082] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.909201] CPU: 3 PID: 4098 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.909738] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.910333] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.911009] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75e9a8 <4>[ 40.911684] 0000000000000000 ffff88005b75e9a8 0000000004000000 ffff88007a53fdd0 <4>[ 40.912365] Call Trace: <4>[ 40.912595] [] dump_stack+0x4d/0x66 <4>[ 40.912927] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.913298] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.913659] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.914047] [] truncate_setsize+0x27/0x40 <4>[ 40.914400] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.914758] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.915131] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.915497] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.915856] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.916260] [] do_fallocate+0x123/0x1b0 <4>[ 40.916606] [] SyS_fallocate+0x43/0x70 <4>[ 40.916948] [] system_call_fastpath+0x16/0x1b <4>[ 40.917324] ---[ end trace 6a3b1350ad399937 ]--- <4>[ 40.920602] ------------[ cut here ]------------ <4>[ 40.920948] WARNING: CPU: 2 PID: 4100 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.921637] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.925134] CPU: 2 PID: 4100 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.925732] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.926371] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.927129] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1efda8 <4>[ 40.927880] 0000000000000000 ffff88007c1efda8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.928643] Call Trace: <4>[ 40.928894] [] dump_stack+0x4d/0x66 <4>[ 40.929263] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.929671] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.930068] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.930483] [] truncate_setsize+0x27/0x40 <4>[ 40.930868] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.931272] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.931671] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.932075] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.932469] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.932888] [] do_fallocate+0x123/0x1b0 <4>[ 40.933274] [] SyS_fallocate+0x43/0x70 <4>[ 40.933648] [] system_call_fastpath+0x16/0x1b <4>[ 40.934060] ---[ end trace 6a3b1350ad399938 ]--- <4>[ 40.937319] ------------[ cut here ]------------ <4>[ 40.937660] WARNING: CPU: 2 PID: 4102 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.938345] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.941849] CPU: 2 PID: 4102 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.942452] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.943089] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 40.943843] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dc1a8 <4>[ 40.944605] 0000000000000000 ffff88007c1dc1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 40.945364] Call Trace: <4>[ 40.945615] [] dump_stack+0x4d/0x66 <4>[ 40.945972] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.946392] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.946784] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.947205] [] truncate_setsize+0x27/0x40 <4>[ 40.947591] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.947987] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.948391] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.948791] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.949188] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.949607] [] do_fallocate+0x123/0x1b0 <4>[ 40.949981] [] SyS_fallocate+0x43/0x70 <4>[ 40.950369] [] system_call_fastpath+0x16/0x1b <4>[ 40.952676] ---[ end trace 6a3b1350ad399939 ]--- <4>[ 40.955903] ------------[ cut here ]------------ <4>[ 40.956268] WARNING: CPU: 2 PID: 4104 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.956947] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.960448] CPU: 2 PID: 4104 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.961051] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.961686] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 40.962442] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dc5a8 <4>[ 40.963211] 0000000000000000 ffff88007c1dc5a8 0000000004000000 ffff88007a53fdd0 <4>[ 40.963965] Call Trace: <4>[ 40.964220] [] dump_stack+0x4d/0x66 <4>[ 40.964578] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.964992] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.965388] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.965804] [] truncate_setsize+0x27/0x40 <4>[ 40.966194] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.966590] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.966989] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.967393] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.967786] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.968209] [] do_fallocate+0x123/0x1b0 <4>[ 40.968585] [] SyS_fallocate+0x43/0x70 <4>[ 40.968964] [] system_call_fastpath+0x16/0x1b <4>[ 40.969374] ---[ end trace 6a3b1350ad39993a ]--- <4>[ 40.972560] ------------[ cut here ]------------ <4>[ 40.972923] WARNING: CPU: 2 PID: 4106 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.973609] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.977101] CPU: 2 PID: 4106 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.977694] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.978337] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.979093] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dc9a8 <4>[ 40.979845] 0000000000000000 ffff88007c1dc9a8 0000000004000000 ffff88007a4a7dd0 <4>[ 40.980600] Call Trace: <4>[ 40.980851] [] dump_stack+0x4d/0x66 <4>[ 40.981213] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.981627] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.982025] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.982440] [] truncate_setsize+0x27/0x40 <4>[ 40.982826] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.983227] [] ? xfs_trans_commit+0x157/0x250 <4>[ 40.983627] [] xfs_file_fallocate+0x2df/0x300 <4>[ 40.984031] [] ? __sb_start_write+0x49/0xf0 <4>[ 40.984423] [] ? selinux_file_permission+0xc4/0x120 <4>[ 40.984842] [] do_fallocate+0x123/0x1b0 <4>[ 40.985221] [] SyS_fallocate+0x43/0x70 <4>[ 40.985598] [] system_call_fastpath+0x16/0x1b <4>[ 40.986011] ---[ end trace 6a3b1350ad39993b ]--- <4>[ 40.989332] ------------[ cut here ]------------ <4>[ 40.989677] WARNING: CPU: 2 PID: 4108 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 40.990364] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 40.993868] CPU: 2 PID: 4108 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 40.994466] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 40.995109] 0000000000000009 ffff8800009f7d88 ffffffff81859ea6 0000000000000000 <4>[ 40.995859] ffff8800009f7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dcda8 <4>[ 40.996619] 0000000000000000 ffff88007c1dcda8 0000000004000000 ffff8800009f7dd0 <4>[ 40.997375] Call Trace: <4>[ 40.997625] [] dump_stack+0x4d/0x66 <4>[ 40.997982] [] warn_slowpath_common+0x7d/0xa0 <4>[ 40.998402] [] warn_slowpath_null+0x1a/0x20 <4>[ 40.998795] [] pagecache_isize_extended+0xdd/0x120 <4>[ 40.999216] [] truncate_setsize+0x27/0x40 <4>[ 40.999602] [] xfs_setattr_size+0x157/0x3a0 <4>[ 40.999997] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.000401] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.000801] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.001199] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.001618] [] do_fallocate+0x123/0x1b0 <4>[ 41.001992] [] SyS_fallocate+0x43/0x70 <4>[ 41.002380] [] system_call_fastpath+0x16/0x1b <4>[ 41.002783] ---[ end trace 6a3b1350ad39993c ]--- <4>[ 41.005987] ------------[ cut here ]------------ <4>[ 41.006353] WARNING: CPU: 2 PID: 4110 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.007036] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.010549] CPU: 2 PID: 4110 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.011148] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.011788] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.012541] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dd1a8 <4>[ 41.013292] 0000000000000000 ffff88007c1dd1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.014040] Call Trace: <4>[ 41.014300] [] dump_stack+0x4d/0x66 <4>[ 41.014657] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.015074] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.015467] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.015883] [] truncate_setsize+0x27/0x40 <4>[ 41.016274] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.016668] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.017071] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.017472] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.017864] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.018288] [] do_fallocate+0x123/0x1b0 <4>[ 41.018664] [] SyS_fallocate+0x43/0x70 <4>[ 41.019052] [] system_call_fastpath+0x16/0x1b <4>[ 41.019455] ---[ end trace 6a3b1350ad39993d ]--- <4>[ 41.022790] ------------[ cut here ]------------ <4>[ 41.023138] WARNING: CPU: 2 PID: 4112 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.023812] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.027306] CPU: 2 PID: 4112 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.027900] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.028543] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 41.029295] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dd5a8 <4>[ 41.030052] 0000000000000000 ffff88007c1dd5a8 0000000004000000 ffff88007bfabdd0 <4>[ 41.030805] Call Trace: <4>[ 41.031061] [] dump_stack+0x4d/0x66 <4>[ 41.031418] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.031832] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.032230] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.032646] [] truncate_setsize+0x27/0x40 <4>[ 41.033036] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.033431] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.033830] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.034235] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.034628] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.035051] [] do_fallocate+0x123/0x1b0 <4>[ 41.035425] [] SyS_fallocate+0x43/0x70 <4>[ 41.035805] [] system_call_fastpath+0x16/0x1b <4>[ 41.036216] ---[ end trace 6a3b1350ad39993e ]--- <4>[ 41.039538] ------------[ cut here ]------------ <4>[ 41.039882] WARNING: CPU: 2 PID: 4114 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.040569] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.045985] CPU: 2 PID: 4114 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.046573] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.047217] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.047967] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dd9a8 <4>[ 41.048728] 0000000000000000 ffff88007c1dd9a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.049486] Call Trace: <4>[ 41.049736] [] dump_stack+0x4d/0x66 <4>[ 41.050104] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.050513] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.050905] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.051327] [] truncate_setsize+0x27/0x40 <4>[ 41.051713] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.052115] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.052514] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.052913] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.053312] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.053730] [] do_fallocate+0x123/0x1b0 <4>[ 41.054116] [] SyS_fallocate+0x43/0x70 <4>[ 41.054491] [] system_call_fastpath+0x16/0x1b <4>[ 41.054899] ---[ end trace 6a3b1350ad39993f ]--- <4>[ 41.058162] ------------[ cut here ]------------ <4>[ 41.058504] WARNING: CPU: 2 PID: 4116 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.059190] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.062688] CPU: 2 PID: 4116 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.063285] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.063925] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 41.064669] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1ddda8 <4>[ 41.065426] 0000000000000000 ffff88007c1ddda8 0000000004000000 ffff88007a463dd0 <4>[ 41.066176] Call Trace: <4>[ 41.066434] [] dump_stack+0x4d/0x66 <4>[ 41.066791] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.067211] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.067604] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.068025] [] truncate_setsize+0x27/0x40 <4>[ 41.068410] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.068806] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.069210] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.069610] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.070007] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.070426] [] do_fallocate+0x123/0x1b0 <4>[ 41.070801] [] SyS_fallocate+0x43/0x70 <4>[ 41.071185] [] system_call_fastpath+0x16/0x1b <4>[ 41.071590] ---[ end trace 6a3b1350ad399940 ]--- <4>[ 41.074870] ------------[ cut here ]------------ <4>[ 41.075220] WARNING: CPU: 2 PID: 4118 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.075906] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.079412] CPU: 2 PID: 4118 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.080016] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.080650] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.081407] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1de1a8 <4>[ 41.082160] 0000000000000000 ffff88007c1de1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.082918] Call Trace: <4>[ 41.083175] [] dump_stack+0x4d/0x66 <4>[ 41.083533] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.083945] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.084342] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.084758] [] truncate_setsize+0x27/0x40 <4>[ 41.085149] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.085544] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.085942] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.086349] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.086742] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.087165] [] do_fallocate+0x123/0x1b0 <4>[ 41.087540] [] SyS_fallocate+0x43/0x70 <4>[ 41.087919] [] system_call_fastpath+0x16/0x1b <4>[ 41.088330] ---[ end trace 6a3b1350ad399941 ]--- <4>[ 41.091639] ------------[ cut here ]------------ <4>[ 41.091979] WARNING: CPU: 2 PID: 4120 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.092666] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.096172] CPU: 2 PID: 4120 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.096765] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.097409] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 41.098162] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1de5a8 <4>[ 41.098914] 0000000000000000 ffff88007c1de5a8 0000000004000000 ffff88007a4bbdd0 <4>[ 41.099670] Call Trace: <4>[ 41.099921] [] dump_stack+0x4d/0x66 <4>[ 41.100284] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.100697] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.101094] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.101509] [] truncate_setsize+0x27/0x40 <4>[ 41.101894] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.102296] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.102696] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.103100] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.103491] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.103910] [] do_fallocate+0x123/0x1b0 <4>[ 41.104296] [] SyS_fallocate+0x43/0x70 <4>[ 41.104671] [] system_call_fastpath+0x16/0x1b <4>[ 41.105083] ---[ end trace 6a3b1350ad399942 ]--- <4>[ 41.108391] ------------[ cut here ]------------ <4>[ 41.108732] WARNING: CPU: 2 PID: 4122 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.109417] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.112920] CPU: 2 PID: 4122 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.113523] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.114166] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 41.114916] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1de9a8 <4>[ 41.115669] 0000000000000000 ffff88007c1de9a8 0000000004000000 ffff88007bfabdd0 <4>[ 41.116417] Call Trace: <4>[ 41.116671] [] dump_stack+0x4d/0x66 <4>[ 41.117039] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.117448] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.117840] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.118261] [] truncate_setsize+0x27/0x40 <4>[ 41.118646] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.119049] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.119448] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.119847] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.120245] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.120665] [] do_fallocate+0x123/0x1b0 <4>[ 41.121049] [] SyS_fallocate+0x43/0x70 <4>[ 41.121425] [] system_call_fastpath+0x16/0x1b <4>[ 41.121831] ---[ end trace 6a3b1350ad399943 ]--- <4>[ 41.125147] ------------[ cut here ]------------ <4>[ 41.125490] WARNING: CPU: 2 PID: 4124 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.126176] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.129672] CPU: 2 PID: 4124 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.130271] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.130912] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.131668] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1deda8 <4>[ 41.132417] 0000000000000000 ffff88007c1deda8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.135088] Call Trace: <4>[ 41.135339] [] dump_stack+0x4d/0x66 <4>[ 41.135696] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.136116] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.136508] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.136924] [] truncate_setsize+0x27/0x40 <4>[ 41.137315] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.137709] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.138112] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.138511] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.138903] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.139328] [] do_fallocate+0x123/0x1b0 <4>[ 41.139703] [] SyS_fallocate+0x43/0x70 <4>[ 41.140086] [] system_call_fastpath+0x16/0x1b <4>[ 41.140493] ---[ end trace 6a3b1350ad399944 ]--- <4>[ 41.143842] ------------[ cut here ]------------ <4>[ 41.144212] WARNING: CPU: 2 PID: 4126 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.144889] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.148385] CPU: 2 PID: 4126 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.148978] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.149621] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 41.150382] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1df1a8 <4>[ 41.151137] 0000000000000000 ffff88007c1df1a8 0000000004000000 ffff88007a463dd0 <4>[ 41.151890] Call Trace: <4>[ 41.152147] [] dump_stack+0x4d/0x66 <4>[ 41.152504] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.152918] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.153316] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.153732] [] truncate_setsize+0x27/0x40 <4>[ 41.154122] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.154517] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.154916] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.155321] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.155713] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.156136] [] do_fallocate+0x123/0x1b0 <4>[ 41.156511] [] SyS_fallocate+0x43/0x70 <4>[ 41.156890] [] system_call_fastpath+0x16/0x1b <4>[ 41.157301] ---[ end trace 6a3b1350ad399945 ]--- <4>[ 41.160688] ------------[ cut here ]------------ <4>[ 41.161036] WARNING: CPU: 2 PID: 4128 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.161712] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.165233] CPU: 2 PID: 4128 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.165833] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.166477] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.167230] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1df5a8 <4>[ 41.167979] 0000000000000000 ffff88007c1df5a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.168741] Call Trace: <4>[ 41.168992] [] dump_stack+0x4d/0x66 <4>[ 41.169359] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.169768] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.170166] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.170581] [] truncate_setsize+0x27/0x40 <4>[ 41.170966] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.171367] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.171767] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.172170] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.172563] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.172982] [] do_fallocate+0x123/0x1b0 <4>[ 41.173368] [] SyS_fallocate+0x43/0x70 <4>[ 41.173742] [] system_call_fastpath+0x16/0x1b <4>[ 41.174154] ---[ end trace 6a3b1350ad399946 ]--- <4>[ 41.177459] ------------[ cut here ]------------ <4>[ 41.177779] WARNING: CPU: 1 PID: 4130 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.178410] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.181534] CPU: 1 PID: 4130 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.182085] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.182673] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 41.183354] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88005b705da8 <4>[ 41.184045] 0000000000000000 ffff88005b705da8 0000000004000000 ffff88007bfabdd0 <4>[ 41.184721] Call Trace: <4>[ 41.184951] [] dump_stack+0x4d/0x66 <4>[ 41.185296] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.185663] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.186030] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.186411] [] truncate_setsize+0x27/0x40 <4>[ 41.186763] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.187131] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.187496] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.187862] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.188240] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.188627] [] do_fallocate+0x123/0x1b0 <4>[ 41.188971] [] SyS_fallocate+0x43/0x70 <4>[ 41.189322] [] system_call_fastpath+0x16/0x1b <4>[ 41.189686] ---[ end trace 6a3b1350ad399947 ]--- <4>[ 41.193052] ------------[ cut here ]------------ <4>[ 41.193393] WARNING: CPU: 2 PID: 4132 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.194078] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.197593] CPU: 2 PID: 4132 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.198196] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.198836] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 41.199599] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1df9a8 <4>[ 41.200354] 0000000000000000 ffff88007c1df9a8 0000000004000000 ffff88007a4bbdd0 <4>[ 41.201104] Call Trace: <4>[ 41.201358] [] dump_stack+0x4d/0x66 <4>[ 41.201715] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.202136] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.202528] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.202943] [] truncate_setsize+0x27/0x40 <4>[ 41.203336] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.203729] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.204138] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.204537] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.204929] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.205354] [] do_fallocate+0x123/0x1b0 <4>[ 41.205729] [] SyS_fallocate+0x43/0x70 <4>[ 41.206118] [] system_call_fastpath+0x16/0x1b <4>[ 41.206520] ---[ end trace 6a3b1350ad399948 ]--- <4>[ 41.210345] ------------[ cut here ]------------ <4>[ 41.210663] WARNING: CPU: 3 PID: 4134 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.211293] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.214420] CPU: 3 PID: 4134 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.214957] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.215554] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.216240] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75eda8 <4>[ 41.216905] 0000000000000000 ffff88005b75eda8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.217585] Call Trace: <4>[ 41.217813] [] dump_stack+0x4d/0x66 <4>[ 41.218152] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.218517] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.218875] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.219275] [] truncate_setsize+0x27/0x40 <4>[ 41.219628] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.219985] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.220359] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.220725] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.222808] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.223195] [] do_fallocate+0x123/0x1b0 <4>[ 41.223540] [] SyS_fallocate+0x43/0x70 <4>[ 41.223881] [] system_call_fastpath+0x16/0x1b <4>[ 41.224264] ---[ end trace 6a3b1350ad399949 ]--- <4>[ 41.227646] ------------[ cut here ]------------ <4>[ 41.228017] WARNING: CPU: 2 PID: 4136 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.228704] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.232224] CPU: 2 PID: 4136 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.232810] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.233456] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 41.234209] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1dfda8 <4>[ 41.234961] 0000000000000000 ffff88007c1dfda8 0000000004000000 ffff88007a53fdd0 <4>[ 41.235716] Call Trace: <4>[ 41.235967] [] dump_stack+0x4d/0x66 <4>[ 41.236335] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.236743] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.237139] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.237555] [] truncate_setsize+0x27/0x40 <4>[ 41.237941] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.238341] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.238741] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.239145] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.239538] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.239957] [] do_fallocate+0x123/0x1b0 <4>[ 41.240342] [] SyS_fallocate+0x43/0x70 <4>[ 41.240717] [] system_call_fastpath+0x16/0x1b <4>[ 41.241129] ---[ end trace 6a3b1350ad39994a ]--- <4>[ 41.244549] ------------[ cut here ]------------ <4>[ 41.244890] WARNING: CPU: 2 PID: 4138 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.245576] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.249078] CPU: 2 PID: 4138 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.249671] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.250313] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.251066] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d01a8 <4>[ 41.251818] 0000000000000000 ffff88007c1d01a8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.252580] Call Trace: <4>[ 41.252831] [] dump_stack+0x4d/0x66 <4>[ 41.253194] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.253607] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.253999] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.254420] [] truncate_setsize+0x27/0x40 <4>[ 41.254805] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.255206] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.255606] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.256011] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.256403] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.256822] [] do_fallocate+0x123/0x1b0 <4>[ 41.257207] [] SyS_fallocate+0x43/0x70 <4>[ 41.257581] [] system_call_fastpath+0x16/0x1b <4>[ 41.257989] ---[ end trace 6a3b1350ad39994b ]--- <4>[ 41.261371] ------------[ cut here ]------------ <4>[ 41.261721] WARNING: CPU: 2 PID: 4140 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.262405] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.265905] CPU: 2 PID: 4140 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.266509] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.267153] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.267903] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d05a8 <4>[ 41.268665] 0000000000000000 ffff88007c1d05a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.269424] Call Trace: <4>[ 41.269675] [] dump_stack+0x4d/0x66 <4>[ 41.270043] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.270452] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.270844] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.271264] [] truncate_setsize+0x27/0x40 <4>[ 41.271650] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.272050] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.272449] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.272848] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.273247] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.273666] [] do_fallocate+0x123/0x1b0 <4>[ 41.274044] [] SyS_fallocate+0x43/0x70 <4>[ 41.274422] [] system_call_fastpath+0x16/0x1b <4>[ 41.274830] ---[ end trace 6a3b1350ad39994c ]--- <4>[ 41.278236] ------------[ cut here ]------------ <4>[ 41.278582] WARNING: CPU: 2 PID: 4142 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.279267] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.282771] CPU: 2 PID: 4142 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.283370] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.284013] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 41.284767] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d09a8 <4>[ 41.285521] 0000000000000000 ffff88007c1d09a8 0000000004000000 ffff88007a4bbdd0 <4>[ 41.286277] Call Trace: <4>[ 41.286527] [] dump_stack+0x4d/0x66 <4>[ 41.286884] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.287303] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.287695] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.288117] [] truncate_setsize+0x27/0x40 <4>[ 41.288502] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.288898] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.289303] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.289704] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.290100] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.290519] [] do_fallocate+0x123/0x1b0 <4>[ 41.290894] [] SyS_fallocate+0x43/0x70 <4>[ 41.291283] [] system_call_fastpath+0x16/0x1b <4>[ 41.291685] ---[ end trace 6a3b1350ad39994d ]--- <4>[ 41.295061] ------------[ cut here ]------------ <4>[ 41.295411] WARNING: CPU: 2 PID: 4144 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.296095] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.299606] CPU: 2 PID: 4144 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.300212] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.300853] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 41.301609] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d0da8 <4>[ 41.302364] 0000000000000000 ffff88007c1d0da8 0000000004000000 ffff88007bfabdd0 <4>[ 41.303116] Call Trace: <4>[ 41.303375] [] dump_stack+0x4d/0x66 <4>[ 41.303732] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.304150] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.304543] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.304958] [] truncate_setsize+0x27/0x40 <4>[ 41.305348] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.305743] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.306159] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.306558] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.306950] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.307373] [] do_fallocate+0x123/0x1b0 <4>[ 41.307749] [] SyS_fallocate+0x43/0x70 <4>[ 41.308131] [] system_call_fastpath+0x16/0x1b <4>[ 41.308538] ---[ end trace 6a3b1350ad39994e ]--- <4>[ 41.311896] ------------[ cut here ]------------ <4>[ 41.312242] WARNING: CPU: 2 PID: 4146 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.312928] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.318338] CPU: 2 PID: 4146 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.318937] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.319580] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.320332] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d11a8 <4>[ 41.321089] 0000000000000000 ffff88007c1d11a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.321843] Call Trace: <4>[ 41.322098] [] dump_stack+0x4d/0x66 <4>[ 41.322456] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.322870] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.323268] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.323684] [] truncate_setsize+0x27/0x40 <4>[ 41.324076] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.324470] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.324869] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.325275] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.325668] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.326091] [] do_fallocate+0x123/0x1b0 <4>[ 41.326466] [] SyS_fallocate+0x43/0x70 <4>[ 41.326853] [] system_call_fastpath+0x16/0x1b <4>[ 41.327265] ---[ end trace 6a3b1350ad39994f ]--- <4>[ 41.330588] ------------[ cut here ]------------ <4>[ 41.330930] WARNING: CPU: 2 PID: 4148 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.331616] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.335116] CPU: 2 PID: 4148 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.335715] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.336358] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.337114] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d15a8 <4>[ 41.337866] 0000000000000000 ffff88007c1d15a8 0000000004000000 ffff88007a4a3dd0 <4>[ 41.338624] Call Trace: <4>[ 41.338874] [] dump_stack+0x4d/0x66 <4>[ 41.339243] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.339652] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.340048] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.340463] [] truncate_setsize+0x27/0x40 <4>[ 41.340849] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.341252] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.341651] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.342055] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.342448] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.342866] [] do_fallocate+0x123/0x1b0 <4>[ 41.343252] [] SyS_fallocate+0x43/0x70 <4>[ 41.343629] [] system_call_fastpath+0x16/0x1b <4>[ 41.344041] ---[ end trace 6a3b1350ad399950 ]--- <4>[ 41.347393] ------------[ cut here ]------------ <4>[ 41.347751] WARNING: CPU: 2 PID: 4150 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.348439] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.351922] CPU: 2 PID: 4150 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.352527] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.353171] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.353921] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d19a8 <4>[ 41.354683] 0000000000000000 ffff88007c1d19a8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.355435] Call Trace: <4>[ 41.355690] [] dump_stack+0x4d/0x66 <4>[ 41.356053] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.356465] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.356857] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.357278] [] truncate_setsize+0x27/0x40 <4>[ 41.357664] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.358065] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.358465] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.358864] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.359262] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.359682] [] do_fallocate+0x123/0x1b0 <4>[ 41.360068] [] SyS_fallocate+0x43/0x70 <4>[ 41.360442] [] system_call_fastpath+0x16/0x1b <4>[ 41.360851] ---[ end trace 6a3b1350ad399951 ]--- <4>[ 41.364231] ------------[ cut here ]------------ <4>[ 41.364581] WARNING: CPU: 2 PID: 4152 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.365266] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.368770] CPU: 2 PID: 4152 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.369368] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.370011] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 41.370782] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d1da8 <4>[ 41.371539] 0000000000000000 ffff88007c1d1da8 0000000004000000 ffff88007a493dd0 <4>[ 41.372298] Call Trace: <4>[ 41.372548] [] dump_stack+0x4d/0x66 <4>[ 41.372905] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.373323] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.373716] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.374137] [] truncate_setsize+0x27/0x40 <4>[ 41.374523] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.374918] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.375323] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.375723] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.376121] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.376539] [] do_fallocate+0x123/0x1b0 <4>[ 41.376914] [] SyS_fallocate+0x43/0x70 <4>[ 41.377303] [] system_call_fastpath+0x16/0x1b <4>[ 41.377705] ---[ end trace 6a3b1350ad399952 ]--- <4>[ 41.381140] ------------[ cut here ]------------ <4>[ 41.381495] WARNING: CPU: 2 PID: 4154 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.382177] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.385677] CPU: 2 PID: 4154 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.386275] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.386916] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.387657] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d21a8 <4>[ 41.388416] 0000000000000000 ffff88007c1d21a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.389177] Call Trace: <4>[ 41.389432] [] dump_stack+0x4d/0x66 <4>[ 41.389790] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.390209] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.390603] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.391023] [] truncate_setsize+0x27/0x40 <4>[ 41.391409] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.391805] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.392209] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.392609] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.393006] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.393426] [] do_fallocate+0x123/0x1b0 <4>[ 41.393801] [] SyS_fallocate+0x43/0x70 <4>[ 41.394189] [] system_call_fastpath+0x16/0x1b <4>[ 41.394592] ---[ end trace 6a3b1350ad399953 ]--- <4>[ 41.397912] ------------[ cut here ]------------ <4>[ 41.398257] WARNING: CPU: 2 PID: 4156 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.398932] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.402422] CPU: 2 PID: 4156 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.403026] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.403667] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.406334] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d25a8 <4>[ 41.407085] 0000000000000000 ffff88007c1d25a8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.407838] Call Trace: <4>[ 41.408094] [] dump_stack+0x4d/0x66 <4>[ 41.408451] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.408863] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.409262] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.409678] [] truncate_setsize+0x27/0x40 <4>[ 41.410067] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.410463] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.410862] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.411268] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.411661] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.412085] [] do_fallocate+0x123/0x1b0 <4>[ 41.412460] [] SyS_fallocate+0x43/0x70 <4>[ 41.412839] [] system_call_fastpath+0x16/0x1b <4>[ 41.413254] ---[ end trace 6a3b1350ad399954 ]--- <4>[ 41.416648] ------------[ cut here ]------------ <4>[ 41.416991] WARNING: CPU: 2 PID: 4158 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.417677] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.421164] CPU: 2 PID: 4158 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.421757] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.422401] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 41.423157] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d29a8 <4>[ 41.423909] 0000000000000000 ffff88007c1d29a8 0000000004000000 ffff88007a463dd0 <4>[ 41.424666] Call Trace: <4>[ 41.424917] [] dump_stack+0x4d/0x66 <4>[ 41.425279] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.425692] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.426089] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.426505] [] truncate_setsize+0x27/0x40 <4>[ 41.426890] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.427292] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.427691] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.428095] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.428487] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.428905] [] do_fallocate+0x123/0x1b0 <4>[ 41.429291] [] SyS_fallocate+0x43/0x70 <4>[ 41.429665] [] system_call_fastpath+0x16/0x1b <4>[ 41.430079] ---[ end trace 6a3b1350ad399955 ]--- <4>[ 41.433472] ------------[ cut here ]------------ <4>[ 41.433817] WARNING: CPU: 2 PID: 4160 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.434503] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.438008] CPU: 2 PID: 4160 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.438600] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.439245] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.440007] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d2da8 <4>[ 41.440761] 0000000000000000 ffff88007c1d2da8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.441519] Call Trace: <4>[ 41.441768] [] dump_stack+0x4d/0x66 <4>[ 41.442131] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.442544] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.442936] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.443358] [] truncate_setsize+0x27/0x40 <4>[ 41.443744] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.444144] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.444544] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.444943] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.445340] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.445760] [] do_fallocate+0x123/0x1b0 <4>[ 41.446138] [] SyS_fallocate+0x43/0x70 <4>[ 41.446516] [] system_call_fastpath+0x16/0x1b <4>[ 41.446924] ---[ end trace 6a3b1350ad399956 ]--- <4>[ 41.450264] ------------[ cut here ]------------ <4>[ 41.450619] WARNING: CPU: 2 PID: 4162 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.451290] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.454799] CPU: 2 PID: 4162 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.455398] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.456041] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.456794] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d31a8 <4>[ 41.457556] 0000000000000000 ffff88007c1d31a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.458312] Call Trace: <4>[ 41.458560] [] dump_stack+0x4d/0x66 <4>[ 41.458925] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.459306] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.459671] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.460064] [] truncate_setsize+0x27/0x40 <4>[ 41.460447] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.460839] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.461244] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.461645] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.462043] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.462461] [] do_fallocate+0x123/0x1b0 <4>[ 41.462836] [] SyS_fallocate+0x43/0x70 <4>[ 41.463226] [] system_call_fastpath+0x16/0x1b <4>[ 41.463628] ---[ end trace 6a3b1350ad399957 ]--- <4>[ 41.467130] ------------[ cut here ]------------ <4>[ 41.467485] WARNING: CPU: 2 PID: 4166 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.468168] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.471662] CPU: 2 PID: 4166 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.472269] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.472908] 0000000000000009 ffff88007a4cbd88 ffffffff81859ea6 0000000000000000 <4>[ 41.473673] ffff88007a4cbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d35a8 <4>[ 41.474426] 0000000000000000 ffff88007c1d35a8 0000000004000000 ffff88007a4cbdd0 <4>[ 41.475182] Call Trace: <4>[ 41.475432] [] dump_stack+0x4d/0x66 <4>[ 41.475789] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.476209] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.476602] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.477022] [] truncate_setsize+0x27/0x40 <4>[ 41.477408] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.477804] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.478208] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.478608] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.479000] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.479423] [] do_fallocate+0x123/0x1b0 <4>[ 41.479798] [] SyS_fallocate+0x43/0x70 <4>[ 41.480181] [] system_call_fastpath+0x16/0x1b <4>[ 41.480587] ---[ end trace 6a3b1350ad399958 ]--- <4>[ 41.484595] ------------[ cut here ]------------ <4>[ 41.484915] WARNING: CPU: 1 PID: 4168 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.485548] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.488672] CPU: 1 PID: 4168 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.489217] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.489806] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.490488] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7061a8 <4>[ 41.491168] 0000000000000000 ffff88005b7061a8 0000000004000000 ffff88007a4cfdd0 <4>[ 41.491835] Call Trace: <4>[ 41.492073] [] dump_stack+0x4d/0x66 <4>[ 41.492408] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.492772] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.493148] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.493529] [] truncate_setsize+0x27/0x40 <4>[ 41.495603] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.495962] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.496341] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.496708] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.497074] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.497466] [] do_fallocate+0x123/0x1b0 <4>[ 41.497810] [] SyS_fallocate+0x43/0x70 <4>[ 41.498159] [] system_call_fastpath+0x16/0x1b <4>[ 41.498523] ---[ end trace 6a3b1350ad399959 ]--- <4>[ 41.502294] ------------[ cut here ]------------ <4>[ 41.502610] WARNING: CPU: 3 PID: 4172 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.503237] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.506358] CPU: 3 PID: 4172 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.506895] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.507487] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.508167] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75f1a8 <4>[ 41.508832] 0000000000000000 ffff88005b75f1a8 0000000004000000 ffff88007bfbfdd0 <4>[ 41.509505] Call Trace: <4>[ 41.509733] [] dump_stack+0x4d/0x66 <4>[ 41.510082] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.510447] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.510805] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.511200] [] truncate_setsize+0x27/0x40 <4>[ 41.511552] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.511910] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.512283] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.512659] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.513030] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.513424] [] do_fallocate+0x123/0x1b0 <4>[ 41.513776] [] SyS_fallocate+0x43/0x70 <4>[ 41.514132] [] system_call_fastpath+0x16/0x1b <4>[ 41.514496] ---[ end trace 6a3b1350ad39995a ]--- <4>[ 41.518176] ------------[ cut here ]------------ <4>[ 41.518524] WARNING: CPU: 2 PID: 4176 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.519214] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.522711] CPU: 2 PID: 4176 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.523319] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.523964] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 41.524731] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d39a8 <4>[ 41.525502] 0000000000000000 ffff88007c1d39a8 0000000004000000 ffff88007a4bbdd0 <4>[ 41.526269] Call Trace: <4>[ 41.526520] [] dump_stack+0x4d/0x66 <4>[ 41.526878] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.527298] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.527696] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.528122] [] truncate_setsize+0x27/0x40 <4>[ 41.528513] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.528911] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.529318] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.529724] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.530127] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.530551] [] do_fallocate+0x123/0x1b0 <4>[ 41.530929] [] SyS_fallocate+0x43/0x70 <4>[ 41.531310] [] system_call_fastpath+0x16/0x1b <4>[ 41.531717] ---[ end trace 6a3b1350ad39995b ]--- <4>[ 41.535802] ------------[ cut here ]------------ <4>[ 41.536137] WARNING: CPU: 3 PID: 4178 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.536755] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.539876] CPU: 3 PID: 4178 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.540418] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.541009] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 41.541678] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75f5a8 <4>[ 41.542360] 0000000000000000 ffff88005b75f5a8 0000000004000000 ffff88007a493dd0 <4>[ 41.543030] Call Trace: <4>[ 41.543260] [] dump_stack+0x4d/0x66 <4>[ 41.543591] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.543956] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.544323] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.544705] [] truncate_setsize+0x27/0x40 <4>[ 41.545065] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.545429] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.545793] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.546164] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.546534] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.546928] [] do_fallocate+0x123/0x1b0 <4>[ 41.547290] [] SyS_fallocate+0x43/0x70 <4>[ 41.547639] [] system_call_fastpath+0x16/0x1b <4>[ 41.548014] ---[ end trace 6a3b1350ad39995c ]--- <4>[ 41.551719] ------------[ cut here ]------------ <4>[ 41.552082] WARNING: CPU: 2 PID: 4182 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.552744] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.556254] CPU: 2 PID: 4182 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.556847] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.557491] 0000000000000009 ffff88007a4c3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.558250] ffff88007a4c3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1d3da8 <4>[ 41.559014] 0000000000000000 ffff88007c1d3da8 0000000004000000 ffff88007a4c3dd0 <4>[ 41.559774] Call Trace: <4>[ 41.560035] [] dump_stack+0x4d/0x66 <4>[ 41.560403] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.560816] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.561218] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.561638] [] truncate_setsize+0x27/0x40 <4>[ 41.562033] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.562432] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.562831] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.563240] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.563638] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.564066] [] do_fallocate+0x123/0x1b0 <4>[ 41.564450] [] SyS_fallocate+0x43/0x70 <4>[ 41.564825] [] system_call_fastpath+0x16/0x1b <4>[ 41.565242] ---[ end trace 6a3b1350ad39995d ]--- <4>[ 41.569147] ------------[ cut here ]------------ <4>[ 41.569465] WARNING: CPU: 3 PID: 4184 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.570091] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.573200] CPU: 3 PID: 4184 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.573737] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.574329] 0000000000000009 ffff88007a4ebd88 ffffffff81859ea6 0000000000000000 <4>[ 41.574998] ffff88007a4ebdc0 ffffffff8106ef0d 0000000000001000 ffff88005b75f9a8 <4>[ 41.575679] 0000000000000000 ffff88005b75f9a8 0000000004000000 ffff88007a4ebdd0 <4>[ 41.576361] Call Trace: <4>[ 41.576590] [] dump_stack+0x4d/0x66 <4>[ 41.576921] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.577292] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.577650] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.578041] [] truncate_setsize+0x27/0x40 <4>[ 41.578392] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.578750] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.579120] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.579486] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.579843] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.580232] [] do_fallocate+0x123/0x1b0 <4>[ 41.580577] [] SyS_fallocate+0x43/0x70 <4>[ 41.580918] [] system_call_fastpath+0x16/0x1b <4>[ 41.581291] ---[ end trace 6a3b1350ad39995e ]--- <4>[ 41.584737] ------------[ cut here ]------------ <4>[ 41.584741] WARNING: CPU: 2 PID: 4186 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.584755] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.584757] CPU: 2 PID: 4186 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.584758] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.584760] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.584761] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f01a8 <4>[ 41.584762] 0000000000000000 ffff88007c1f01a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.584763] Call Trace: <4>[ 41.584766] [] dump_stack+0x4d/0x66 <4>[ 41.584768] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.584770] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.584771] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.584772] [] truncate_setsize+0x27/0x40 <4>[ 41.584774] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.584775] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.584777] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.584779] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.584781] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.584783] [] do_fallocate+0x123/0x1b0 <4>[ 41.584784] [] SyS_fallocate+0x43/0x70 <4>[ 41.584785] [] system_call_fastpath+0x16/0x1b <4>[ 41.584786] ---[ end trace 6a3b1350ad39995f ]--- <4>[ 41.599657] ------------[ cut here ]------------ <4>[ 41.599974] WARNING: CPU: 3 PID: 4188 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.600608] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.603721] CPU: 3 PID: 4188 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.604278] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.604865] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.605547] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88005b75fda8 <4>[ 41.606226] 0000000000000000 ffff88005b75fda8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.606893] Call Trace: <4>[ 41.607131] [] dump_stack+0x4d/0x66 <4>[ 41.607466] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.607830] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.608197] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.608579] [] truncate_setsize+0x27/0x40 <4>[ 41.608930] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.609297] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.609663] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.610038] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.610396] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.610780] [] do_fallocate+0x123/0x1b0 <4>[ 41.611132] [] SyS_fallocate+0x43/0x70 <4>[ 41.611479] [] system_call_fastpath+0x16/0x1b <4>[ 41.611843] ---[ end trace 6a3b1350ad399960 ]--- <4>[ 41.615372] ------------[ cut here ]------------ <4>[ 41.615718] WARNING: CPU: 2 PID: 4190 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.616420] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.619937] CPU: 2 PID: 4190 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.620535] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.621177] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 41.621926] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f05a8 <4>[ 41.622674] 0000000000000000 ffff88007c1f05a8 0000000004000000 ffff88007a493dd0 <4>[ 41.623446] Call Trace: <4>[ 41.623698] [] dump_stack+0x4d/0x66 <4>[ 41.624065] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.624474] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.624865] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.625287] [] truncate_setsize+0x27/0x40 <4>[ 41.625673] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.626074] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.626473] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.626873] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.627271] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.627690] [] do_fallocate+0x123/0x1b0 <4>[ 41.628074] [] SyS_fallocate+0x43/0x70 <4>[ 41.628463] [] system_call_fastpath+0x16/0x1b <4>[ 41.628870] ---[ end trace 6a3b1350ad399961 ]--- <4>[ 41.632603] ------------[ cut here ]------------ <4>[ 41.632920] WARNING: CPU: 3 PID: 4192 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.633553] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.636663] CPU: 3 PID: 4192 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.637209] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.637798] 0000000000000009 ffff88007a4ebd88 ffffffff81859ea6 0000000000000000 <4>[ 41.638480] ffff88007a4ebdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2141a8 <4>[ 41.639161] 0000000000000000 ffff88007c2141a8 0000000004000000 ffff88007a4ebdd0 <4>[ 41.639828] Call Trace: <4>[ 41.640066] [] dump_stack+0x4d/0x66 <4>[ 41.640401] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.640765] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.641132] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.641514] [] truncate_setsize+0x27/0x40 <4>[ 41.641866] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.642231] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.642597] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.642962] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.643328] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.643713] [] do_fallocate+0x123/0x1b0 <4>[ 41.644066] [] SyS_fallocate+0x43/0x70 <4>[ 41.644410] [] system_call_fastpath+0x16/0x1b <4>[ 41.644773] ---[ end trace 6a3b1350ad399962 ]--- <4>[ 41.648220] ------------[ cut here ]------------ <4>[ 41.648580] WARNING: CPU: 2 PID: 4194 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.649275] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.652787] CPU: 2 PID: 4194 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.653385] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.654028] 0000000000000009 ffff88007a4dfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.654781] ffff88007a4dfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f09a8 <4>[ 41.655546] 0000000000000000 ffff88007c1f09a8 0000000004000000 ffff88007a4dfdd0 <4>[ 41.656305] Call Trace: <4>[ 41.656555] [] dump_stack+0x4d/0x66 <4>[ 41.656913] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.657332] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.657725] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.658146] [] truncate_setsize+0x27/0x40 <4>[ 41.658541] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.658937] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.659342] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.659742] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.660139] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.660558] [] do_fallocate+0x123/0x1b0 <4>[ 41.660932] [] SyS_fallocate+0x43/0x70 <4>[ 41.661320] [] system_call_fastpath+0x16/0x1b <4>[ 41.661729] ---[ end trace 6a3b1350ad399963 ]--- <4>[ 41.665429] ------------[ cut here ]------------ <4>[ 41.665746] WARNING: CPU: 3 PID: 4196 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.666377] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.669487] CPU: 3 PID: 4196 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.671737] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.672330] 0000000000000009 ffff88007a4d7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.672996] ffff88007a4d7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2145a8 <4>[ 41.673677] 0000000000000000 ffff88007c2145a8 0000000004000000 ffff88007a4d7dd0 <4>[ 41.674356] Call Trace: <4>[ 41.674586] [] dump_stack+0x4d/0x66 <4>[ 41.674918] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.675290] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.675650] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.676040] [] truncate_setsize+0x27/0x40 <4>[ 41.676393] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.676751] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.677124] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.677490] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.677848] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.678240] [] do_fallocate+0x123/0x1b0 <4>[ 41.678588] [] SyS_fallocate+0x43/0x70 <4>[ 41.678929] [] system_call_fastpath+0x16/0x1b <4>[ 41.679301] ---[ end trace 6a3b1350ad399964 ]--- <4>[ 41.682739] ------------[ cut here ]------------ <4>[ 41.683104] WARNING: CPU: 2 PID: 4198 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.683769] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.687287] CPU: 2 PID: 4198 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.687870] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.688514] 0000000000000009 ffff88007a4d3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.689274] ffff88007a4d3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f0da8 <4>[ 41.690037] 0000000000000000 ffff88007c1f0da8 0000000004000000 ffff88007a4d3dd0 <4>[ 41.690789] Call Trace: <4>[ 41.691046] [] dump_stack+0x4d/0x66 <4>[ 41.691403] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.691817] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.692214] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.692639] [] truncate_setsize+0x27/0x40 <4>[ 41.693030] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.693424] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.693823] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.694228] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.694621] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.695044] [] do_fallocate+0x123/0x1b0 <4>[ 41.695435] [] SyS_fallocate+0x43/0x70 <4>[ 41.695811] [] system_call_fastpath+0x16/0x1b <4>[ 41.696225] ---[ end trace 6a3b1350ad399965 ]--- <4>[ 41.699817] ------------[ cut here ]------------ <4>[ 41.700145] WARNING: CPU: 1 PID: 4200 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.700764] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.703913] CPU: 1 PID: 4200 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.704460] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.705058] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 41.705730] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7065a8 <4>[ 41.706412] 0000000000000000 ffff88005b7065a8 0000000004000000 ffff88007a493dd0 <4>[ 41.707089] Call Trace: <4>[ 41.707322] [] dump_stack+0x4d/0x66 <4>[ 41.707653] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.708026] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.708385] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.708765] [] truncate_setsize+0x27/0x40 <4>[ 41.709125] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.709485] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.709850] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.710224] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.710583] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.710967] [] do_fallocate+0x123/0x1b0 <4>[ 41.711321] [] SyS_fallocate+0x43/0x70 <4>[ 41.711666] [] system_call_fastpath+0x16/0x1b <4>[ 41.712039] ---[ end trace 6a3b1350ad399966 ]--- <4>[ 41.715707] ------------[ cut here ]------------ <4>[ 41.716061] WARNING: CPU: 2 PID: 4204 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.716749] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.720277] CPU: 2 PID: 4204 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.720861] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.721504] 0000000000000009 ffff88007a4ebd88 ffffffff81859ea6 0000000000000000 <4>[ 41.722258] ffff88007a4ebdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f11a8 <4>[ 41.723025] 0000000000000000 ffff88007c1f11a8 0000000004000000 ffff88007a4ebdd0 <4>[ 41.723778] Call Trace: <4>[ 41.724035] [] dump_stack+0x4d/0x66 <4>[ 41.724393] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.724806] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.725203] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.725630] [] truncate_setsize+0x27/0x40 <4>[ 41.726021] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.726414] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.726813] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.727216] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.727610] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.728033] [] do_fallocate+0x123/0x1b0 <4>[ 41.728412] [] SyS_fallocate+0x43/0x70 <4>[ 41.728797] [] system_call_fastpath+0x16/0x1b <4>[ 41.729210] ---[ end trace 6a3b1350ad399967 ]--- <4>[ 41.732842] ------------[ cut here ]------------ <4>[ 41.733167] WARNING: CPU: 3 PID: 4206 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.733786] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.736910] CPU: 3 PID: 4206 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.737456] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.738047] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.738715] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2149a8 <4>[ 41.739395] 0000000000000000 ffff88007c2149a8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.740067] Call Trace: <4>[ 41.740305] [] dump_stack+0x4d/0x66 <4>[ 41.740636] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.741011] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.741369] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.741750] [] truncate_setsize+0x27/0x40 <4>[ 41.742108] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.742468] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.742833] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.743206] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.743565] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.743949] [] do_fallocate+0x123/0x1b0 <4>[ 41.744304] [] SyS_fallocate+0x43/0x70 <4>[ 41.744648] [] system_call_fastpath+0x16/0x1b <4>[ 41.745021] ---[ end trace 6a3b1350ad399968 ]--- <4>[ 41.748513] ------------[ cut here ]------------ <4>[ 41.748857] WARNING: CPU: 2 PID: 4208 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.749556] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.753065] CPU: 2 PID: 4208 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.753652] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.754295] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 41.755048] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f15a8 <4>[ 41.755810] 0000000000000000 ffff88007c1f15a8 0000000004000000 ffff88007a463dd0 <4>[ 41.756568] Call Trace: <4>[ 41.756819] [] dump_stack+0x4d/0x66 <4>[ 41.759097] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.759503] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.759895] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.760317] [] truncate_setsize+0x27/0x40 <4>[ 41.760703] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.761103] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.761513] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.761913] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.762312] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.762732] [] do_fallocate+0x123/0x1b0 <4>[ 41.763116] [] SyS_fallocate+0x43/0x70 <4>[ 41.763491] [] system_call_fastpath+0x16/0x1b <4>[ 41.763899] ---[ end trace 6a3b1350ad399969 ]--- <4>[ 41.767510] ------------[ cut here ]------------ <4>[ 41.767852] WARNING: CPU: 2 PID: 4210 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.768540] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.772054] CPU: 2 PID: 4210 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.772637] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.773280] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.774042] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f19a8 <4>[ 41.774800] 0000000000000000 ffff88007c1f19a8 0000000004000000 ffff88007a4a3dd0 <4>[ 41.775559] Call Trace: <4>[ 41.775810] [] dump_stack+0x4d/0x66 <4>[ 41.776179] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.776588] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.776980] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.777403] [] truncate_setsize+0x27/0x40 <4>[ 41.777794] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.778195] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.778595] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.778994] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.779391] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.779811] [] do_fallocate+0x123/0x1b0 <4>[ 41.780190] [] SyS_fallocate+0x43/0x70 <4>[ 41.780577] [] system_call_fastpath+0x16/0x1b <4>[ 41.780985] ---[ end trace 6a3b1350ad39996a ]--- <4>[ 41.784667] ------------[ cut here ]------------ <4>[ 41.784985] WARNING: CPU: 3 PID: 4212 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.785618] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.788727] CPU: 3 PID: 4212 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.789268] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.789859] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.790542] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c214da8 <4>[ 41.791223] 0000000000000000 ffff88007c214da8 0000000004000000 ffff88007a4cfdd0 <4>[ 41.791889] Call Trace: <4>[ 41.792127] [] dump_stack+0x4d/0x66 <4>[ 41.792461] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.792826] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.793194] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.793575] [] truncate_setsize+0x27/0x40 <4>[ 41.793926] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.794293] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.794658] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.795031] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.795389] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.795773] [] do_fallocate+0x123/0x1b0 <4>[ 41.796127] [] SyS_fallocate+0x43/0x70 <4>[ 41.796471] [] system_call_fastpath+0x16/0x1b <4>[ 41.796835] ---[ end trace 6a3b1350ad39996b ]--- <4>[ 41.800437] ------------[ cut here ]------------ <4>[ 41.800796] WARNING: CPU: 2 PID: 4214 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.801499] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.804998] CPU: 2 PID: 4214 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.805602] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.806244] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 41.806994] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f1da8 <4>[ 41.807769] 0000000000000000 ffff88007c1f1da8 0000000004000000 ffff88007a463dd0 <4>[ 41.808525] Call Trace: <4>[ 41.808776] [] dump_stack+0x4d/0x66 <4>[ 41.809143] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.809552] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.809944] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.810365] [] truncate_setsize+0x27/0x40 <4>[ 41.810751] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.811151] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.811550] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.811949] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.812348] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.812767] [] do_fallocate+0x123/0x1b0 <4>[ 41.813152] [] SyS_fallocate+0x43/0x70 <4>[ 41.813529] [] system_call_fastpath+0x16/0x1b <4>[ 41.813936] ---[ end trace 6a3b1350ad39996c ]--- <4>[ 41.817501] ------------[ cut here ]------------ <4>[ 41.817818] WARNING: CPU: 3 PID: 4216 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.818455] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.821564] CPU: 3 PID: 4216 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.822116] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.822709] 0000000000000009 ffff88007a4a7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.823390] ffff88007a4a7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2151a8 <4>[ 41.824067] 0000000000000000 ffff88007c2151a8 0000000004000000 ffff88007a4a7dd0 <4>[ 41.824740] Call Trace: <4>[ 41.824968] [] dump_stack+0x4d/0x66 <4>[ 41.825312] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.825677] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.826043] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.826425] [] truncate_setsize+0x27/0x40 <4>[ 41.826776] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.827142] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.827507] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.827872] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.828238] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.828623] [] do_fallocate+0x123/0x1b0 <4>[ 41.828969] [] SyS_fallocate+0x43/0x70 <4>[ 41.829317] [] system_call_fastpath+0x16/0x1b <4>[ 41.829682] ---[ end trace 6a3b1350ad39996d ]--- <4>[ 41.833264] ------------[ cut here ]------------ <4>[ 41.833610] WARNING: CPU: 2 PID: 4218 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.834307] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.837815] CPU: 2 PID: 4218 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.838415] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.839057] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.839810] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f21a8 <4>[ 41.840583] 0000000000000000 ffff88007c1f21a8 0000000004000000 ffff88007a4c7dd0 <4>[ 41.841340] Call Trace: <4>[ 41.841591] [] dump_stack+0x4d/0x66 <4>[ 41.841949] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.842369] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.842761] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.843183] [] truncate_setsize+0x27/0x40 <4>[ 41.843568] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.843966] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.844371] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.844770] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.845167] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.845587] [] do_fallocate+0x123/0x1b0 <4>[ 41.847867] [] SyS_fallocate+0x43/0x70 <4>[ 41.848241] [] system_call_fastpath+0x16/0x1b <4>[ 41.848647] ---[ end trace 6a3b1350ad39996e ]--- <4>[ 41.852249] ------------[ cut here ]------------ <4>[ 41.852566] WARNING: CPU: 3 PID: 4220 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.853197] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.856307] CPU: 3 PID: 4220 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.856844] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.857439] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.858116] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2155a8 <4>[ 41.858784] 0000000000000000 ffff88007c2155a8 0000000004000000 ffff88007a4cfdd0 <4>[ 41.859465] Call Trace: <4>[ 41.859694] [] dump_stack+0x4d/0x66 <4>[ 41.860034] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.860399] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.860756] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.861147] [] truncate_setsize+0x27/0x40 <4>[ 41.861499] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.861858] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.862242] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.862610] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.862968] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.863359] [] do_fallocate+0x123/0x1b0 <4>[ 41.863707] [] SyS_fallocate+0x43/0x70 <4>[ 41.864057] [] system_call_fastpath+0x16/0x1b <4>[ 41.864422] ---[ end trace 6a3b1350ad39996f ]--- <4>[ 41.867908] ------------[ cut here ]------------ <4>[ 41.868279] WARNING: CPU: 2 PID: 4222 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.868950] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.872463] CPU: 2 PID: 4222 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.873070] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.873715] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 41.874484] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f25a8 <4>[ 41.875250] 0000000000000000 ffff88007c1f25a8 0000000004000000 ffff88007a4b3dd0 <4>[ 41.876012] Call Trace: <4>[ 41.876267] [] dump_stack+0x4d/0x66 <4>[ 41.876625] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.877048] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.877449] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.877865] [] truncate_setsize+0x27/0x40 <4>[ 41.878261] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.878661] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.879069] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.879474] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.879867] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.880306] [] do_fallocate+0x123/0x1b0 <4>[ 41.880690] [] SyS_fallocate+0x43/0x70 <4>[ 41.881070] [] system_call_fastpath+0x16/0x1b <4>[ 41.881477] ---[ end trace 6a3b1350ad399970 ]--- <4>[ 41.885102] ------------[ cut here ]------------ <4>[ 41.885449] WARNING: CPU: 2 PID: 4224 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.886136] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.889646] CPU: 2 PID: 4224 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.890245] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.890885] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 41.891637] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f29a8 <4>[ 41.892404] 0000000000000000 ffff88007c1f29a8 0000000004000000 ffff88007a4c7dd0 <4>[ 41.893155] Call Trace: <4>[ 41.893409] [] dump_stack+0x4d/0x66 <4>[ 41.893767] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.894186] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.894580] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.894995] [] truncate_setsize+0x27/0x40 <4>[ 41.895385] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.895779] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.896183] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.896582] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.896975] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.897408] [] do_fallocate+0x123/0x1b0 <4>[ 41.897784] [] SyS_fallocate+0x43/0x70 <4>[ 41.898172] [] system_call_fastpath+0x16/0x1b <4>[ 41.898574] ---[ end trace 6a3b1350ad399971 ]--- <4>[ 41.902242] ------------[ cut here ]------------ <4>[ 41.902559] WARNING: CPU: 3 PID: 4226 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.903188] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.906299] CPU: 3 PID: 4226 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.906836] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.907431] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.908107] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2159a8 <4>[ 41.908774] 0000000000000000 ffff88007c2159a8 0000000004000000 ffff88007a4cfdd0 <4>[ 41.909456] Call Trace: <4>[ 41.909684] [] dump_stack+0x4d/0x66 <4>[ 41.910024] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.910389] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.910746] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.911136] [] truncate_setsize+0x27/0x40 <4>[ 41.911489] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.911847] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.912219] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.912586] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.912944] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.913343] [] do_fallocate+0x123/0x1b0 <4>[ 41.913689] [] SyS_fallocate+0x43/0x70 <4>[ 41.914038] [] system_call_fastpath+0x16/0x1b <4>[ 41.914402] ---[ end trace 6a3b1350ad399972 ]--- <4>[ 41.917937] ------------[ cut here ]------------ <4>[ 41.918302] WARNING: CPU: 2 PID: 4228 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.918980] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.922497] CPU: 2 PID: 4228 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.923100] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.923744] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 41.924528] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f2da8 <4>[ 41.925294] 0000000000000000 ffff88007c1f2da8 0000000004000000 ffff88007bf43dd0 <4>[ 41.926056] Call Trace: <4>[ 41.926312] [] dump_stack+0x4d/0x66 <4>[ 41.926669] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.927093] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.927488] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.927903] [] truncate_setsize+0x27/0x40 <4>[ 41.928299] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.928699] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.929108] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.929512] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.929904] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.930333] [] do_fallocate+0x123/0x1b0 <4>[ 41.930717] [] SyS_fallocate+0x43/0x70 <4>[ 41.931095] [] system_call_fastpath+0x16/0x1b <4>[ 41.931503] ---[ end trace 6a3b1350ad399973 ]--- <4>[ 41.935050] ------------[ cut here ]------------ <4>[ 41.935393] WARNING: CPU: 2 PID: 4230 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.936081] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.941491] CPU: 2 PID: 4230 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.942096] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.942737] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 41.943494] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f31a8 <4>[ 41.944251] 0000000000000000 ffff88007c1f31a8 0000000004000000 ffff88007a493dd0 <4>[ 41.944997] Call Trace: <4>[ 41.945259] [] dump_stack+0x4d/0x66 <4>[ 41.945627] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.946047] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.946439] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.946854] [] truncate_setsize+0x27/0x40 <4>[ 41.947246] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.947639] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.948043] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.948452] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.948845] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.949270] [] do_fallocate+0x123/0x1b0 <4>[ 41.949645] [] SyS_fallocate+0x43/0x70 <4>[ 41.950030] [] system_call_fastpath+0x16/0x1b <4>[ 41.950434] ---[ end trace 6a3b1350ad399974 ]--- <4>[ 41.953857] ------------[ cut here ]------------ <4>[ 41.954225] WARNING: CPU: 2 PID: 4232 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.954899] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.958400] CPU: 2 PID: 4232 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.958998] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.959641] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 41.960405] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f35a8 <4>[ 41.961167] 0000000000000000 ffff88007c1f35a8 0000000004000000 ffff88007a53fdd0 <4>[ 41.961924] Call Trace: <4>[ 41.962181] [] dump_stack+0x4d/0x66 <4>[ 41.962539] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.962954] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.963351] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.963766] [] truncate_setsize+0x27/0x40 <4>[ 41.964157] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.964550] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.964949] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.965354] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.965746] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.966170] [] do_fallocate+0x123/0x1b0 <4>[ 41.966554] [] SyS_fallocate+0x43/0x70 <4>[ 41.966933] [] system_call_fastpath+0x16/0x1b <4>[ 41.967346] ---[ end trace 6a3b1350ad399975 ]--- <4>[ 41.970872] ------------[ cut here ]------------ <4>[ 41.971240] WARNING: CPU: 2 PID: 4234 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.971922] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.975424] CPU: 2 PID: 4234 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.976027] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.976667] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 41.977428] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f39a8 <4>[ 41.978186] 0000000000000000 ffff88007c1f39a8 0000000004000000 ffff88007a57fdd0 <4>[ 41.978939] Call Trace: <4>[ 41.979200] [] dump_stack+0x4d/0x66 <4>[ 41.979557] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.979975] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.980373] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.980790] [] truncate_setsize+0x27/0x40 <4>[ 41.981180] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.981574] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.981972] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.982377] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.982770] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.983196] [] do_fallocate+0x123/0x1b0 <4>[ 41.983581] [] SyS_fallocate+0x43/0x70 <4>[ 41.983958] [] system_call_fastpath+0x16/0x1b <4>[ 41.984371] ---[ end trace 6a3b1350ad399976 ]--- <4>[ 41.987661] ------------[ cut here ]------------ <4>[ 41.988002] WARNING: CPU: 2 PID: 4236 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 41.988693] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 41.992214] CPU: 2 PID: 4236 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 41.992814] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 41.993457] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 41.994210] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f3da8 <4>[ 41.994960] 0000000000000000 ffff88007c1f3da8 0000000004000000 ffff88007a4cfdd0 <4>[ 41.995723] Call Trace: <4>[ 41.995974] [] dump_stack+0x4d/0x66 <4>[ 41.996342] [] warn_slowpath_common+0x7d/0xa0 <4>[ 41.996750] [] warn_slowpath_null+0x1a/0x20 <4>[ 41.997147] [] pagecache_isize_extended+0xdd/0x120 <4>[ 41.997573] [] truncate_setsize+0x27/0x40 <4>[ 41.997959] [] xfs_setattr_size+0x157/0x3a0 <4>[ 41.998360] [] ? xfs_trans_commit+0x157/0x250 <4>[ 41.998759] [] xfs_file_fallocate+0x2df/0x300 <4>[ 41.999163] [] ? __sb_start_write+0x49/0xf0 <4>[ 41.999555] [] ? selinux_file_permission+0xc4/0x120 <4>[ 41.999974] [] do_fallocate+0x123/0x1b0 <4>[ 42.000359] [] SyS_fallocate+0x43/0x70 <4>[ 42.000737] [] system_call_fastpath+0x16/0x1b <4>[ 42.001147] ---[ end trace 6a3b1350ad399977 ]--- <4>[ 42.004408] ------------[ cut here ]------------ <4>[ 42.004749] WARNING: CPU: 2 PID: 4238 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.005434] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.008929] CPU: 2 PID: 4238 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.009530] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.010172] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.010921] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7181a8 <4>[ 42.011674] 0000000000000000 ffff88005b7181a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.012438] Call Trace: <4>[ 42.012689] [] dump_stack+0x4d/0x66 <4>[ 42.013057] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.013466] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.013858] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.014279] [] truncate_setsize+0x27/0x40 <4>[ 42.014666] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.015065] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.015475] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.015874] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.016272] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.016692] [] do_fallocate+0x123/0x1b0 <4>[ 42.017076] [] SyS_fallocate+0x43/0x70 <4>[ 42.017452] [] system_call_fastpath+0x16/0x1b <4>[ 42.017860] ---[ end trace 6a3b1350ad399978 ]--- <4>[ 42.021166] ------------[ cut here ]------------ <4>[ 42.021507] WARNING: CPU: 2 PID: 4240 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.022197] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.025703] CPU: 2 PID: 4240 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.026307] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.026943] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.027688] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7185a8 <4>[ 42.030370] 0000000000000000 ffff88005b7185a8 0000000004000000 ffff88007a57fdd0 <4>[ 42.031120] Call Trace: <4>[ 42.031374] [] dump_stack+0x4d/0x66 <4>[ 42.031731] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.032151] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.032544] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.032959] [] truncate_setsize+0x27/0x40 <4>[ 42.033349] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.033743] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.034147] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.034557] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.034949] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.035372] [] do_fallocate+0x123/0x1b0 <4>[ 42.035747] [] SyS_fallocate+0x43/0x70 <4>[ 42.036132] [] system_call_fastpath+0x16/0x1b <4>[ 42.036539] ---[ end trace 6a3b1350ad399979 ]--- <4>[ 42.039801] ------------[ cut here ]------------ <4>[ 42.040149] WARNING: CPU: 2 PID: 4242 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.040826] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.044325] CPU: 2 PID: 4242 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.044919] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.045562] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 42.046316] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7189a8 <4>[ 42.047073] 0000000000000000 ffff88005b7189a8 0000000004000000 ffff88007a493dd0 <4>[ 42.047827] Call Trace: <4>[ 42.048081] [] dump_stack+0x4d/0x66 <4>[ 42.048438] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.048852] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.049250] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.049666] [] truncate_setsize+0x27/0x40 <4>[ 42.050056] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.050450] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.050849] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.051255] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.051647] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.052070] [] do_fallocate+0x123/0x1b0 <4>[ 42.052455] [] SyS_fallocate+0x43/0x70 <4>[ 42.052835] [] system_call_fastpath+0x16/0x1b <4>[ 42.053247] ---[ end trace 6a3b1350ad39997a ]--- <4>[ 42.056463] ------------[ cut here ]------------ <4>[ 42.056805] WARNING: CPU: 2 PID: 4244 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.057493] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.060999] CPU: 2 PID: 4244 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.061603] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.062247] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.063008] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b718da8 <4>[ 42.063763] 0000000000000000 ffff88005b718da8 0000000004000000 ffff88007a463dd0 <4>[ 42.064520] Call Trace: <4>[ 42.064775] [] dump_stack+0x4d/0x66 <4>[ 42.065144] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.065553] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.065945] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.066366] [] truncate_setsize+0x27/0x40 <4>[ 42.066751] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.067154] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.067563] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.067962] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.068360] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.068779] [] do_fallocate+0x123/0x1b0 <4>[ 42.069159] [] SyS_fallocate+0x43/0x70 <4>[ 42.069537] [] system_call_fastpath+0x16/0x1b <4>[ 42.069945] ---[ end trace 6a3b1350ad39997b ]--- <4>[ 42.073166] ------------[ cut here ]------------ <4>[ 42.073507] WARNING: CPU: 2 PID: 4246 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.074196] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.077704] CPU: 2 PID: 4246 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.078307] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.078948] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.079711] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7191a8 <4>[ 42.080470] 0000000000000000 ffff88005b7191a8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.081228] Call Trace: <4>[ 42.081477] [] dump_stack+0x4d/0x66 <4>[ 42.081834] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.082252] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.082645] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.083065] [] truncate_setsize+0x27/0x40 <4>[ 42.083460] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.083856] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.084262] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.084662] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.085059] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.085478] [] do_fallocate+0x123/0x1b0 <4>[ 42.085853] [] SyS_fallocate+0x43/0x70 <4>[ 42.086236] [] system_call_fastpath+0x16/0x1b <4>[ 42.086640] ---[ end trace 6a3b1350ad39997c ]--- <4>[ 42.089885] ------------[ cut here ]------------ <4>[ 42.090232] WARNING: CPU: 2 PID: 4248 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.090906] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.094425] CPU: 2 PID: 4248 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.095016] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.095666] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.096424] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7195a8 <4>[ 42.097180] 0000000000000000 ffff88005b7195a8 0000000004000000 ffff88007a53fdd0 <4>[ 42.097932] Call Trace: <4>[ 42.098189] [] dump_stack+0x4d/0x66 <4>[ 42.098548] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.098963] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.099361] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.099777] [] truncate_setsize+0x27/0x40 <4>[ 42.100169] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.100565] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.100964] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.101369] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.101770] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.102194] [] do_fallocate+0x123/0x1b0 <4>[ 42.102569] [] SyS_fallocate+0x43/0x70 <4>[ 42.102945] [] system_call_fastpath+0x16/0x1b <4>[ 42.103358] ---[ end trace 6a3b1350ad39997d ]--- <4>[ 42.106606] ------------[ cut here ]------------ <4>[ 42.106947] WARNING: CPU: 2 PID: 4250 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.107639] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.111132] CPU: 2 PID: 4250 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.111730] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.112374] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 42.113127] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88005b7199a8 <4>[ 42.113889] 0000000000000000 ffff88005b7199a8 0000000004000000 ffff88007a493dd0 <4>[ 42.114644] Call Trace: <4>[ 42.114895] [] dump_stack+0x4d/0x66 <4>[ 42.115264] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.115673] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.116069] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.116495] [] truncate_setsize+0x27/0x40 <4>[ 42.116880] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.117283] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.119586] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.119986] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.120383] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.120801] [] do_fallocate+0x123/0x1b0 <4>[ 42.121186] [] SyS_fallocate+0x43/0x70 <4>[ 42.121560] [] system_call_fastpath+0x16/0x1b <4>[ 42.121968] ---[ end trace 6a3b1350ad39997e ]--- <4>[ 42.125180] ------------[ cut here ]------------ <4>[ 42.125533] WARNING: CPU: 2 PID: 4252 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.126204] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.129694] CPU: 2 PID: 4252 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.130297] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.130938] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.131694] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88005b719da8 <4>[ 42.132450] 0000000000000000 ffff88005b719da8 0000000004000000 ffff88007bf43dd0 <4>[ 42.133214] Call Trace: <4>[ 42.133470] [] dump_stack+0x4d/0x66 <4>[ 42.133828] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.134248] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.134641] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.135061] [] truncate_setsize+0x27/0x40 <4>[ 42.135456] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.135853] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.136258] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.136658] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.137055] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.137473] [] do_fallocate+0x123/0x1b0 <4>[ 42.137848] [] SyS_fallocate+0x43/0x70 <4>[ 42.138235] [] system_call_fastpath+0x16/0x1b <4>[ 42.138639] ---[ end trace 6a3b1350ad39997f ]--- <4>[ 42.141883] ------------[ cut here ]------------ <4>[ 42.142230] WARNING: CPU: 2 PID: 4254 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.142904] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.146385] CPU: 2 PID: 4254 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.146984] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.147627] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.148381] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b71a1a8 <4>[ 42.149143] 0000000000000000 ffff88005b71a1a8 0000000004000000 ffff88007a57fdd0 <4>[ 42.149897] Call Trace: <4>[ 42.150153] [] dump_stack+0x4d/0x66 <4>[ 42.150511] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.150925] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.151323] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.151747] [] truncate_setsize+0x27/0x40 <4>[ 42.152137] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.152531] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.152930] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.153335] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.153728] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.154151] [] do_fallocate+0x123/0x1b0 <4>[ 42.154536] [] SyS_fallocate+0x43/0x70 <4>[ 42.154912] [] system_call_fastpath+0x16/0x1b <4>[ 42.155327] ---[ end trace 6a3b1350ad399980 ]--- <4>[ 42.158671] ------------[ cut here ]------------ <4>[ 42.159035] WARNING: CPU: 2 PID: 4256 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.159716] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.163221] CPU: 2 PID: 4256 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.163804] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.164449] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.165208] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b71a5a8 <4>[ 42.165968] 0000000000000000 ffff88005b71a5a8 0000000004000000 ffff88007a53fdd0 <4>[ 42.166726] Call Trace: <4>[ 42.166976] [] dump_stack+0x4d/0x66 <4>[ 42.167338] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.167753] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.168150] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.168574] [] truncate_setsize+0x27/0x40 <4>[ 42.168959] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.169362] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.169761] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.170166] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.170559] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.170977] [] do_fallocate+0x123/0x1b0 <4>[ 42.171363] [] SyS_fallocate+0x43/0x70 <4>[ 42.171740] [] system_call_fastpath+0x16/0x1b <4>[ 42.172153] ---[ end trace 6a3b1350ad399981 ]--- <4>[ 42.175485] ------------[ cut here ]------------ <4>[ 42.175837] WARNING: CPU: 2 PID: 4258 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.176521] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.180027] CPU: 2 PID: 4258 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.180628] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.181271] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.182025] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b71a9a8 <4>[ 42.182777] 0000000000000000 ffff88005b71a9a8 0000000004000000 ffff88007a463dd0 <4>[ 42.183542] Call Trace: <4>[ 42.183792] [] dump_stack+0x4d/0x66 <4>[ 42.184161] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.184569] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.184961] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.185382] [] truncate_setsize+0x27/0x40 <4>[ 42.185768] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.186168] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.186566] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.186965] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.187364] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.187783] [] do_fallocate+0x123/0x1b0 <4>[ 42.188167] [] SyS_fallocate+0x43/0x70 <4>[ 42.188542] [] system_call_fastpath+0x16/0x1b <4>[ 42.188950] ---[ end trace 6a3b1350ad399982 ]--- <4>[ 42.192229] ------------[ cut here ]------------ <4>[ 42.192584] WARNING: CPU: 2 PID: 4260 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.193257] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.196769] CPU: 2 PID: 4260 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.197368] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.198011] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.198771] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88005b71ada8 <4>[ 42.199532] 0000000000000000 ffff88005b71ada8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.200286] Call Trace: <4>[ 42.200536] [] dump_stack+0x4d/0x66 <4>[ 42.200893] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.201311] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.201704] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.202124] [] truncate_setsize+0x27/0x40 <4>[ 42.202519] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.202916] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.203334] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.203733] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.204130] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.204548] [] do_fallocate+0x123/0x1b0 <4>[ 42.204922] [] SyS_fallocate+0x43/0x70 <4>[ 42.205317] [] system_call_fastpath+0x16/0x1b <4>[ 42.205722] ---[ end trace 6a3b1350ad399983 ]--- <4>[ 42.209002] ------------[ cut here ]------------ <4>[ 42.209359] WARNING: CPU: 2 PID: 4262 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.211952] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.215452] CPU: 2 PID: 4262 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.216050] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.216690] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 42.217448] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88005b71b1a8 <4>[ 42.218206] 0000000000000000 ffff88005b71b1a8 0000000004000000 ffff88007a493dd0 <4>[ 42.218958] Call Trace: <4>[ 42.219216] [] dump_stack+0x4d/0x66 <4>[ 42.219573] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.219987] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.220385] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.220804] [] truncate_setsize+0x27/0x40 <4>[ 42.221195] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.221589] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.221988] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.222393] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.222786] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.223209] [] do_fallocate+0x123/0x1b0 <4>[ 42.223594] [] SyS_fallocate+0x43/0x70 <4>[ 42.223973] [] system_call_fastpath+0x16/0x1b <4>[ 42.224386] ---[ end trace 6a3b1350ad399984 ]--- <4>[ 42.227647] ------------[ cut here ]------------ <4>[ 42.227991] WARNING: CPU: 2 PID: 4264 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.228682] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.232195] CPU: 2 PID: 4264 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.232781] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.233425] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.234184] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88005b71b5a8 <4>[ 42.234947] 0000000000000000 ffff88005b71b5a8 0000000004000000 ffff88007a463dd0 <4>[ 42.235702] Call Trace: <4>[ 42.235953] [] dump_stack+0x4d/0x66 <4>[ 42.236321] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.236730] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.237127] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.237553] [] truncate_setsize+0x27/0x40 <4>[ 42.237938] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.238340] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.238740] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.239143] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.239536] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.239955] [] do_fallocate+0x123/0x1b0 <4>[ 42.240340] [] SyS_fallocate+0x43/0x70 <4>[ 42.240720] [] system_call_fastpath+0x16/0x1b <4>[ 42.241132] ---[ end trace 6a3b1350ad399985 ]--- <4>[ 42.244386] ------------[ cut here ]------------ <4>[ 42.244726] WARNING: CPU: 2 PID: 4266 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.245413] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.248890] CPU: 2 PID: 4266 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.249497] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.250139] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.250888] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88005b71b9a8 <4>[ 42.251648] 0000000000000000 ffff88005b71b9a8 0000000004000000 ffff88007a487dd0 <4>[ 42.252403] Call Trace: <4>[ 42.252663] [] dump_stack+0x4d/0x66 <4>[ 42.253026] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.253438] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.253830] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.254250] [] truncate_setsize+0x27/0x40 <4>[ 42.254636] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.255036] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.255445] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.255844] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.256241] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.256660] [] do_fallocate+0x123/0x1b0 <4>[ 42.257045] [] SyS_fallocate+0x43/0x70 <4>[ 42.257420] [] system_call_fastpath+0x16/0x1b <4>[ 42.257828] ---[ end trace 6a3b1350ad399986 ]--- <4>[ 42.261130] ------------[ cut here ]------------ <4>[ 42.261487] WARNING: CPU: 2 PID: 4268 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.262158] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.265657] CPU: 2 PID: 4268 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.266260] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.266899] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.267655] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b71bda8 <4>[ 42.268417] 0000000000000000 ffff88005b71bda8 0000000004000000 ffff88007a57fdd0 <4>[ 42.269181] Call Trace: <4>[ 42.269430] [] dump_stack+0x4d/0x66 <4>[ 42.269787] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.270207] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.270600] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.271020] [] truncate_setsize+0x27/0x40 <4>[ 42.271406] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.271812] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.272217] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.272617] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.273014] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.273433] [] do_fallocate+0x123/0x1b0 <4>[ 42.273808] [] SyS_fallocate+0x43/0x70 <4>[ 42.274192] [] system_call_fastpath+0x16/0x1b <4>[ 42.274607] ---[ end trace 6a3b1350ad399987 ]--- <4>[ 42.277883] ------------[ cut here ]------------ <4>[ 42.278230] WARNING: CPU: 2 PID: 4270 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.278905] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.282403] CPU: 2 PID: 4270 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.283005] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.283640] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 42.284398] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1301a8 <4>[ 42.285170] 0000000000000000 ffff88007c1301a8 0000000004000000 ffff88007a493dd0 <4>[ 42.285923] Call Trace: <4>[ 42.286179] [] dump_stack+0x4d/0x66 <4>[ 42.286536] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.286948] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.287346] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.287761] [] truncate_setsize+0x27/0x40 <4>[ 42.288152] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.288546] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.288945] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.289349] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.289742] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.290165] [] do_fallocate+0x123/0x1b0 <4>[ 42.290545] [] SyS_fallocate+0x43/0x70 <4>[ 42.290921] [] system_call_fastpath+0x16/0x1b <4>[ 42.291335] ---[ end trace 6a3b1350ad399988 ]--- <4>[ 42.294609] ------------[ cut here ]------------ <4>[ 42.294949] WARNING: CPU: 2 PID: 4272 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.295637] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.299151] CPU: 2 PID: 4272 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.299743] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.302293] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.303040] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1305a8 <4>[ 42.303793] 0000000000000000 ffff88007c1305a8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.304552] Call Trace: <4>[ 42.304807] [] dump_stack+0x4d/0x66 <4>[ 42.305175] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.305583] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.305976] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.306396] [] truncate_setsize+0x27/0x40 <4>[ 42.306781] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.307182] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.307591] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.307990] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.308388] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.308808] [] do_fallocate+0x123/0x1b0 <4>[ 42.309190] [] SyS_fallocate+0x43/0x70 <4>[ 42.309566] [] system_call_fastpath+0x16/0x1b <4>[ 42.309974] ---[ end trace 6a3b1350ad399989 ]--- <4>[ 42.313270] ------------[ cut here ]------------ <4>[ 42.313619] WARNING: CPU: 2 PID: 4274 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.314317] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.317824] CPU: 2 PID: 4274 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.318428] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.319071] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.319823] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1309a8 <4>[ 42.320594] 0000000000000000 ffff88007c1309a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.321350] Call Trace: <4>[ 42.321602] [] dump_stack+0x4d/0x66 <4>[ 42.321959] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.322376] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.322769] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.323189] [] truncate_setsize+0x27/0x40 <4>[ 42.323585] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.323981] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.324386] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.324786] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.325183] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.325602] [] do_fallocate+0x123/0x1b0 <4>[ 42.325977] [] SyS_fallocate+0x43/0x70 <4>[ 42.326365] [] system_call_fastpath+0x16/0x1b <4>[ 42.326769] ---[ end trace 6a3b1350ad39998a ]--- <4>[ 42.330150] ------------[ cut here ]------------ <4>[ 42.330491] WARNING: CPU: 2 PID: 4276 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.331177] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.334676] CPU: 2 PID: 4276 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.335273] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.335909] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.336679] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c130da8 <4>[ 42.337435] 0000000000000000 ffff88007c130da8 0000000004000000 ffff88007a53fdd0 <4>[ 42.338195] Call Trace: <4>[ 42.338447] [] dump_stack+0x4d/0x66 <4>[ 42.338804] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.339222] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.339623] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.340045] [] truncate_setsize+0x27/0x40 <4>[ 42.340431] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.340827] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.341230] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.341630] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.342027] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.342456] [] do_fallocate+0x123/0x1b0 <4>[ 42.342830] [] SyS_fallocate+0x43/0x70 <4>[ 42.343218] [] system_call_fastpath+0x16/0x1b <4>[ 42.343621] ---[ end trace 6a3b1350ad39998b ]--- <4>[ 42.346873] ------------[ cut here ]------------ <4>[ 42.347234] WARNING: CPU: 2 PID: 4278 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.347896] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.351391] CPU: 2 PID: 4278 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.351991] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.352634] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.353395] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1311a8 <4>[ 42.354143] 0000000000000000 ffff88007c1311a8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.354907] Call Trace: <4>[ 42.355164] [] dump_stack+0x4d/0x66 <4>[ 42.355521] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.355935] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.356334] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.356750] [] truncate_setsize+0x27/0x40 <4>[ 42.357139] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.357544] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.357942] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.358347] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.358740] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.359162] [] do_fallocate+0x123/0x1b0 <4>[ 42.359537] [] SyS_fallocate+0x43/0x70 <4>[ 42.359917] [] system_call_fastpath+0x16/0x1b <4>[ 42.360330] ---[ end trace 6a3b1350ad39998c ]--- <4>[ 42.363577] ------------[ cut here ]------------ <4>[ 42.363927] WARNING: CPU: 2 PID: 4280 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.364623] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.368127] CPU: 2 PID: 4280 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.368719] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.369362] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.370117] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1315a8 <4>[ 42.370878] 0000000000000000 ffff88007c1315a8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.371635] Call Trace: <4>[ 42.371886] [] dump_stack+0x4d/0x66 <4>[ 42.372254] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.372663] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.373059] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.373485] [] truncate_setsize+0x27/0x40 <4>[ 42.373870] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.374273] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.374672] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.375076] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.375469] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.375887] [] do_fallocate+0x123/0x1b0 <4>[ 42.376273] [] SyS_fallocate+0x43/0x70 <4>[ 42.376657] [] system_call_fastpath+0x16/0x1b <4>[ 42.377069] ---[ end trace 6a3b1350ad39998d ]--- <4>[ 42.380292] ------------[ cut here ]------------ <4>[ 42.380637] WARNING: CPU: 2 PID: 4282 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.381322] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.384827] CPU: 2 PID: 4282 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.385436] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.386079] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.386827] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1319a8 <4>[ 42.387588] 0000000000000000 ffff88007c1319a8 0000000004000000 ffff88007a57fdd0 <4>[ 42.388344] Call Trace: <4>[ 42.388600] [] dump_stack+0x4d/0x66 <4>[ 42.388957] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.389377] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.391673] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.392093] [] truncate_setsize+0x27/0x40 <4>[ 42.392479] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.392875] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.393280] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.393680] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.394077] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.394496] [] do_fallocate+0x123/0x1b0 <4>[ 42.394871] [] SyS_fallocate+0x43/0x70 <4>[ 42.395259] [] system_call_fastpath+0x16/0x1b <4>[ 42.395662] ---[ end trace 6a3b1350ad39998e ]--- <4>[ 42.398987] ------------[ cut here ]------------ <4>[ 42.399353] WARNING: CPU: 2 PID: 4284 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.400035] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.403531] CPU: 2 PID: 4284 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.404128] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.404769] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.405532] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c131da8 <4>[ 42.406288] 0000000000000000 ffff88007c131da8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.407044] Call Trace: <4>[ 42.407294] [] dump_stack+0x4d/0x66 <4>[ 42.407656] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.408074] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.408467] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.408882] [] truncate_setsize+0x27/0x40 <4>[ 42.409274] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.409667] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.410070] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.410480] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.410872] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.411298] [] do_fallocate+0x123/0x1b0 <4>[ 42.411673] [] SyS_fallocate+0x43/0x70 <4>[ 42.412056] [] system_call_fastpath+0x16/0x1b <4>[ 42.412462] ---[ end trace 6a3b1350ad39998f ]--- <4>[ 42.415832] ------------[ cut here ]------------ <4>[ 42.416196] WARNING: CPU: 2 PID: 4286 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.416859] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.420377] CPU: 2 PID: 4286 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.420961] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.421604] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.422357] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1321a8 <4>[ 42.423112] 0000000000000000 ffff88007c1321a8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.423861] Call Trace: <4>[ 42.424121] [] dump_stack+0x4d/0x66 <4>[ 42.424479] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.424893] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.425291] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.425712] [] truncate_setsize+0x27/0x40 <4>[ 42.426104] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.426496] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.426895] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.427300] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.427693] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.428117] [] do_fallocate+0x123/0x1b0 <4>[ 42.428501] [] SyS_fallocate+0x43/0x70 <4>[ 42.428880] [] system_call_fastpath+0x16/0x1b <4>[ 42.429294] ---[ end trace 6a3b1350ad399990 ]--- <4>[ 42.432595] ------------[ cut here ]------------ <4>[ 42.432939] WARNING: CPU: 2 PID: 4288 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.433635] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.437142] CPU: 2 PID: 4288 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.437741] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.438385] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.439140] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1325a8 <4>[ 42.439901] 0000000000000000 ffff88007c1325a8 0000000004000000 ffff88007a57fdd0 <4>[ 42.440657] Call Trace: <4>[ 42.440907] [] dump_stack+0x4d/0x66 <4>[ 42.441286] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.441695] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.442091] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.442508] [] truncate_setsize+0x27/0x40 <4>[ 42.442893] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.443295] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.443695] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.444099] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.444491] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.444910] [] do_fallocate+0x123/0x1b0 <4>[ 42.445295] [] SyS_fallocate+0x43/0x70 <4>[ 42.445670] [] system_call_fastpath+0x16/0x1b <4>[ 42.446084] ---[ end trace 6a3b1350ad399991 ]--- <4>[ 42.449645] ------------[ cut here ]------------ <4>[ 42.449964] WARNING: CPU: 3 PID: 4290 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.450597] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.453711] CPU: 3 PID: 4290 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.454260] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.454848] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.455530] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c215da8 <4>[ 42.456211] 0000000000000000 ffff88007c215da8 0000000004000000 ffff88007bf43dd0 <4>[ 42.456878] Call Trace: <4>[ 42.457127] [] dump_stack+0x4d/0x66 <4>[ 42.457462] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.457825] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.458189] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.458571] [] truncate_setsize+0x27/0x40 <4>[ 42.458922] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.459290] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.459655] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.460029] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.460393] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.460797] [] do_fallocate+0x123/0x1b0 <4>[ 42.461157] [] SyS_fallocate+0x43/0x70 <4>[ 42.461508] [] system_call_fastpath+0x16/0x1b <4>[ 42.461880] ---[ end trace 6a3b1350ad399992 ]--- <4>[ 42.465431] ------------[ cut here ]------------ <4>[ 42.465746] WARNING: CPU: 3 PID: 4294 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.466378] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.469486] CPU: 3 PID: 4294 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.470032] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.470620] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.471302] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2161a8 <4>[ 42.471970] 0000000000000000 ffff88007c2161a8 0000000004000000 ffff88007a487dd0 <4>[ 42.472653] Call Trace: <4>[ 42.472881] [] dump_stack+0x4d/0x66 <4>[ 42.473222] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.473587] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.473944] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.474335] [] truncate_setsize+0x27/0x40 <4>[ 42.474687] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.475053] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.475419] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.475784] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.476149] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.476534] [] do_fallocate+0x123/0x1b0 <4>[ 42.476879] [] SyS_fallocate+0x43/0x70 <4>[ 42.477239] [] system_call_fastpath+0x16/0x1b <4>[ 42.479313] ---[ end trace 6a3b1350ad399993 ]--- <4>[ 42.482676] ------------[ cut here ]------------ <4>[ 42.482991] WARNING: CPU: 3 PID: 4296 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.483618] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.486820] CPU: 3 PID: 4296 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.487362] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.487950] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.488622] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2165a8 <4>[ 42.489303] 0000000000000000 ffff88007c2165a8 0000000004000000 ffff88007a463dd0 <4>[ 42.489971] Call Trace: <4>[ 42.490203] [] dump_stack+0x4d/0x66 <4>[ 42.490535] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.490900] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.491263] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.491644] [] truncate_setsize+0x27/0x40 <4>[ 42.491995] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.492357] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.492722] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.493095] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.493455] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.493838] [] do_fallocate+0x123/0x1b0 <4>[ 42.494190] [] SyS_fallocate+0x43/0x70 <4>[ 42.494531] [] system_call_fastpath+0x16/0x1b <4>[ 42.494895] ---[ end trace 6a3b1350ad399994 ]--- <4>[ 42.498435] ------------[ cut here ]------------ <4>[ 42.498750] WARNING: CPU: 3 PID: 4300 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.499376] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.502478] CPU: 3 PID: 4300 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.503020] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.503608] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 42.504280] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2169a8 <4>[ 42.504948] 0000000000000000 ffff88007c2169a8 0000000004000000 ffff88007a4c7dd0 <4>[ 42.505620] Call Trace: <4>[ 42.505848] [] dump_stack+0x4d/0x66 <4>[ 42.506186] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.506550] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.506908] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.507296] [] truncate_setsize+0x27/0x40 <4>[ 42.507647] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.508009] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.508374] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.508739] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.509102] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.509486] [] do_fallocate+0x123/0x1b0 <4>[ 42.509831] [] SyS_fallocate+0x43/0x70 <4>[ 42.510177] [] system_call_fastpath+0x16/0x1b <4>[ 42.510542] ---[ end trace 6a3b1350ad399995 ]--- <4>[ 42.514024] ------------[ cut here ]------------ <4>[ 42.514391] WARNING: CPU: 2 PID: 4302 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.515067] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.518566] CPU: 2 PID: 4302 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.519175] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.519819] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 42.520603] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1329a8 <4>[ 42.521372] 0000000000000000 ffff88007c1329a8 0000000004000000 ffff88007a53fdd0 <4>[ 42.522124] Call Trace: <4>[ 42.522390] [] dump_stack+0x4d/0x66 <4>[ 42.522748] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.523172] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.523570] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.523986] [] truncate_setsize+0x27/0x40 <4>[ 42.524382] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.524782] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.525190] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.525595] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.525987] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.526416] [] do_fallocate+0x123/0x1b0 <4>[ 42.526800] [] SyS_fallocate+0x43/0x70 <4>[ 42.527179] [] system_call_fastpath+0x16/0x1b <4>[ 42.527587] ---[ end trace 6a3b1350ad399996 ]--- <4>[ 42.531188] ------------[ cut here ]------------ <4>[ 42.531506] WARNING: CPU: 3 PID: 4306 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.532133] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.535247] CPU: 3 PID: 4306 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.535783] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.536375] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.537045] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c216da8 <4>[ 42.537712] 0000000000000000 ffff88007c216da8 0000000004000000 ffff88007a487dd0 <4>[ 42.538395] Call Trace: <4>[ 42.538625] [] dump_stack+0x4d/0x66 <4>[ 42.538956] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.539326] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.539685] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.540070] [] truncate_setsize+0x27/0x40 <4>[ 42.540422] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.540780] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.541149] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.541515] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.541873] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.542273] [] do_fallocate+0x123/0x1b0 <4>[ 42.542617] [] SyS_fallocate+0x43/0x70 <4>[ 42.542958] [] system_call_fastpath+0x16/0x1b <4>[ 42.543326] ---[ end trace 6a3b1350ad399997 ]--- <4>[ 42.546557] ------------[ cut here ]------------ <4>[ 42.546873] WARNING: CPU: 3 PID: 4308 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.547500] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.550669] CPU: 3 PID: 4308 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.551212] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.551800] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.552473] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2171a8 <4>[ 42.553145] 0000000000000000 ffff88007c2171a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.553812] Call Trace: <4>[ 42.554052] [] dump_stack+0x4d/0x66 <4>[ 42.554389] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.554754] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.555117] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.555498] [] truncate_setsize+0x27/0x40 <4>[ 42.555849] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.556213] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.556578] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.556942] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.557305] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.557690] [] do_fallocate+0x123/0x1b0 <4>[ 42.558039] [] SyS_fallocate+0x43/0x70 <4>[ 42.558380] [] system_call_fastpath+0x16/0x1b <4>[ 42.558744] ---[ end trace 6a3b1350ad399998 ]--- <4>[ 42.562107] ------------[ cut here ]------------ <4>[ 42.562455] WARNING: CPU: 2 PID: 4312 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.563147] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.568589] CPU: 2 PID: 4312 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.569184] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.569828] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.570602] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c132da8 <4>[ 42.571357] 0000000000000000 ffff88007c132da8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.572108] Call Trace: <4>[ 42.572373] [] dump_stack+0x4d/0x66 <4>[ 42.572731] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.573153] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.573551] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.573966] [] truncate_setsize+0x27/0x40 <4>[ 42.574362] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.574761] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.575171] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.575577] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.575969] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.576397] [] do_fallocate+0x123/0x1b0 <4>[ 42.576782] [] SyS_fallocate+0x43/0x70 <4>[ 42.577163] [] system_call_fastpath+0x16/0x1b <4>[ 42.577572] ---[ end trace 6a3b1350ad399999 ]--- <4>[ 42.580888] ------------[ cut here ]------------ <4>[ 42.581242] WARNING: CPU: 2 PID: 4314 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.581925] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.585447] CPU: 2 PID: 4314 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.586037] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.586678] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.587425] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1331a8 <4>[ 42.588193] 0000000000000000 ffff88007c1331a8 0000000004000000 ffff88007a487dd0 <4>[ 42.588945] Call Trace: <4>[ 42.589203] [] dump_stack+0x4d/0x66 <4>[ 42.589560] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.589974] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.590371] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.590796] [] truncate_setsize+0x27/0x40 <4>[ 42.591187] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.591580] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.591979] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.592384] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.592777] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.593200] [] do_fallocate+0x123/0x1b0 <4>[ 42.593583] [] SyS_fallocate+0x43/0x70 <4>[ 42.593961] [] system_call_fastpath+0x16/0x1b <4>[ 42.594374] ---[ end trace 6a3b1350ad39999a ]--- <4>[ 42.597630] ------------[ cut here ]------------ <4>[ 42.597972] WARNING: CPU: 2 PID: 4316 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.598667] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.602191] CPU: 2 PID: 4316 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.602777] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.603422] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.604180] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1335a8 <4>[ 42.604940] 0000000000000000 ffff88007c1335a8 0000000004000000 ffff88007a463dd0 <4>[ 42.605696] Call Trace: <4>[ 42.605947] [] dump_stack+0x4d/0x66 <4>[ 42.606316] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.606724] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.607121] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.607546] [] truncate_setsize+0x27/0x40 <4>[ 42.607931] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.608333] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.608732] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.609137] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.609530] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.609949] [] do_fallocate+0x123/0x1b0 <4>[ 42.610334] [] SyS_fallocate+0x43/0x70 <4>[ 42.610709] [] system_call_fastpath+0x16/0x1b <4>[ 42.611122] ---[ end trace 6a3b1350ad39999b ]--- <4>[ 42.614391] ------------[ cut here ]------------ <4>[ 42.614746] WARNING: CPU: 2 PID: 4318 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.615417] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.618920] CPU: 2 PID: 4318 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.619528] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.620170] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 42.620920] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1339a8 <4>[ 42.621680] 0000000000000000 ffff88007c1339a8 0000000004000000 ffff88007a4c7dd0 <4>[ 42.622445] Call Trace: <4>[ 42.622696] [] dump_stack+0x4d/0x66 <4>[ 42.623064] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.623472] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.623865] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.624286] [] truncate_setsize+0x27/0x40 <4>[ 42.624672] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.625072] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.625482] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.625880] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.626279] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.626698] [] do_fallocate+0x123/0x1b0 <4>[ 42.627082] [] SyS_fallocate+0x43/0x70 <4>[ 42.627467] [] system_call_fastpath+0x16/0x1b <4>[ 42.627875] ---[ end trace 6a3b1350ad39999c ]--- <4>[ 42.631687] ------------[ cut here ]------------ <4>[ 42.632006] WARNING: CPU: 3 PID: 4320 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.632640] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.635759] CPU: 3 PID: 4320 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.636305] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.636892] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.637575] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2175a8 <4>[ 42.638255] 0000000000000000 ffff88007c2175a8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.638921] Call Trace: <4>[ 42.639160] [] dump_stack+0x4d/0x66 <4>[ 42.639494] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.639859] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.640237] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.640618] [] truncate_setsize+0x27/0x40 <4>[ 42.640970] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.641337] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.641703] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.642077] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.642435] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.642819] [] do_fallocate+0x123/0x1b0 <4>[ 42.643173] [] SyS_fallocate+0x43/0x70 <4>[ 42.643518] [] system_call_fastpath+0x16/0x1b <4>[ 42.643881] ---[ end trace 6a3b1350ad39999d ]--- <4>[ 42.647319] ------------[ cut here ]------------ <4>[ 42.647635] WARNING: CPU: 3 PID: 4322 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.648265] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.651383] CPU: 3 PID: 4322 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.651920] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.652517] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.653192] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2179a8 <4>[ 42.653860] 0000000000000000 ffff88007c2179a8 0000000004000000 ffff88007a487dd0 <4>[ 42.656250] Call Trace: <4>[ 42.656477] [] dump_stack+0x4d/0x66 <4>[ 42.656809] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.657180] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.657541] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.657922] [] truncate_setsize+0x27/0x40 <4>[ 42.658282] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.658641] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.659015] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.659380] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.659738] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.660132] [] do_fallocate+0x123/0x1b0 <4>[ 42.660479] [] SyS_fallocate+0x43/0x70 <4>[ 42.660820] [] system_call_fastpath+0x16/0x1b <4>[ 42.661191] ---[ end trace 6a3b1350ad39999e ]--- <4>[ 42.664626] ------------[ cut here ]------------ <4>[ 42.664941] WARNING: CPU: 3 PID: 4324 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.665569] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.668696] CPU: 3 PID: 4324 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.669250] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.669837] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.670508] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c217da8 <4>[ 42.671181] 0000000000000000 ffff88007c217da8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.671848] Call Trace: <4>[ 42.672082] [] dump_stack+0x4d/0x66 <4>[ 42.672413] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.672778] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.673140] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.673521] [] truncate_setsize+0x27/0x40 <4>[ 42.673872] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.674246] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.674610] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.674975] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.675338] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.675723] [] do_fallocate+0x123/0x1b0 <4>[ 42.676072] [] SyS_fallocate+0x43/0x70 <4>[ 42.676413] [] system_call_fastpath+0x16/0x1b <4>[ 42.676777] ---[ end trace 6a3b1350ad39999f ]--- <4>[ 42.680224] ------------[ cut here ]------------ <4>[ 42.680539] WARNING: CPU: 3 PID: 4326 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.681164] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.684276] CPU: 3 PID: 4326 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.684813] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.685406] 0000000000000009 ffff88007a493d88 ffffffff81859ea6 0000000000000000 <4>[ 42.686081] ffff88007a493dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f81a8 <4>[ 42.686749] 0000000000000000 ffff88007c1f81a8 0000000004000000 ffff88007a493dd0 <4>[ 42.687423] Call Trace: <4>[ 42.687650] [] dump_stack+0x4d/0x66 <4>[ 42.687981] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.688352] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.688710] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.689095] [] truncate_setsize+0x27/0x40 <4>[ 42.689446] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.689804] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.690173] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.690538] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.690895] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.691285] [] do_fallocate+0x123/0x1b0 <4>[ 42.691629] [] SyS_fallocate+0x43/0x70 <4>[ 42.691970] [] system_call_fastpath+0x16/0x1b <4>[ 42.692336] ---[ end trace 6a3b1350ad3999a0 ]--- <4>[ 42.695766] ------------[ cut here ]------------ <4>[ 42.696092] WARNING: CPU: 3 PID: 4328 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.696715] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.699830] CPU: 3 PID: 4328 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.700377] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.700982] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.701672] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f85a8 <4>[ 42.702362] 0000000000000000 ffff88007c1f85a8 0000000004000000 ffff88007a463dd0 <4>[ 42.703040] Call Trace: <4>[ 42.703281] [] dump_stack+0x4d/0x66 <4>[ 42.703612] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.703976] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.704344] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.704725] [] truncate_setsize+0x27/0x40 <4>[ 42.705084] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.705444] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.705808] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.706181] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.706540] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.706924] [] do_fallocate+0x123/0x1b0 <4>[ 42.707274] [] SyS_fallocate+0x43/0x70 <4>[ 42.707621] [] system_call_fastpath+0x16/0x1b <4>[ 42.707985] ---[ end trace 6a3b1350ad3999a1 ]--- <4>[ 42.711478] ------------[ cut here ]------------ <4>[ 42.711794] WARNING: CPU: 3 PID: 4332 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.712421] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.715534] CPU: 3 PID: 4332 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.716088] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.716676] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.717348] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f89a8 <4>[ 42.718018] 0000000000000000 ffff88007c1f89a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.718686] Call Trace: <4>[ 42.718913] [] dump_stack+0x4d/0x66 <4>[ 42.719259] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.719625] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.719982] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.720367] [] truncate_setsize+0x27/0x40 <4>[ 42.720720] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.721081] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.721446] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.721810] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.722182] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.722567] [] do_fallocate+0x123/0x1b0 <4>[ 42.722912] [] SyS_fallocate+0x43/0x70 <4>[ 42.723257] [] system_call_fastpath+0x16/0x1b <4>[ 42.723621] ---[ end trace 6a3b1350ad3999a2 ]--- <4>[ 42.727122] ------------[ cut here ]------------ <4>[ 42.727436] WARNING: CPU: 3 PID: 4334 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.728063] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.731177] CPU: 3 PID: 4334 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.731714] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.732307] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.732975] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f8da8 <4>[ 42.733653] 0000000000000000 ffff88007c1f8da8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.734325] Call Trace: <4>[ 42.734553] [] dump_stack+0x4d/0x66 <4>[ 42.734884] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.735255] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.735612] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.735993] [] truncate_setsize+0x27/0x40 <4>[ 42.736358] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.736715] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.737084] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.737449] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.739524] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.739909] [] do_fallocate+0x123/0x1b0 <4>[ 42.740257] [] SyS_fallocate+0x43/0x70 <4>[ 42.740598] [] system_call_fastpath+0x16/0x1b <4>[ 42.740961] ---[ end trace 6a3b1350ad3999a3 ]--- <4>[ 42.744571] ------------[ cut here ]------------ <4>[ 42.744925] WARNING: CPU: 2 PID: 4336 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.745625] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.749131] CPU: 2 PID: 4336 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.749729] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.750375] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 42.751131] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c133da8 <4>[ 42.751883] 0000000000000000 ffff88007c133da8 0000000004000000 ffff88007a487dd0 <4>[ 42.752650] Call Trace: <4>[ 42.752902] [] dump_stack+0x4d/0x66 <4>[ 42.753270] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.753681] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.754081] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.754502] [] truncate_setsize+0x27/0x40 <4>[ 42.754888] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.755296] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.755702] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.756112] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.756512] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.756931] [] do_fallocate+0x123/0x1b0 <4>[ 42.757314] [] SyS_fallocate+0x43/0x70 <4>[ 42.757701] [] system_call_fastpath+0x16/0x1b <4>[ 42.758117] ---[ end trace 6a3b1350ad3999a4 ]--- <4>[ 42.761595] ------------[ cut here ]------------ <4>[ 42.761936] WARNING: CPU: 2 PID: 4338 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.762624] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.766112] CPU: 2 PID: 4338 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.766711] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.767353] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.768106] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f41a8 <4>[ 42.768864] 0000000000000000 ffff88007c1f41a8 0000000004000000 ffff88007a463dd0 <4>[ 42.769623] Call Trace: <4>[ 42.769873] [] dump_stack+0x4d/0x66 <4>[ 42.770236] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.770648] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.771045] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.771461] [] truncate_setsize+0x27/0x40 <4>[ 42.771846] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.772248] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.772647] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.773053] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.773446] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.773865] [] do_fallocate+0x123/0x1b0 <4>[ 42.774251] [] SyS_fallocate+0x43/0x70 <4>[ 42.774627] [] system_call_fastpath+0x16/0x1b <4>[ 42.775037] ---[ end trace 6a3b1350ad3999a5 ]--- <4>[ 42.778301] ------------[ cut here ]------------ <4>[ 42.778642] WARNING: CPU: 2 PID: 4340 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.779328] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.782833] CPU: 2 PID: 4340 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.783433] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.784071] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.784825] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f45a8 <4>[ 42.785588] 0000000000000000 ffff88007c1f45a8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.786348] Call Trace: <4>[ 42.786599] [] dump_stack+0x4d/0x66 <4>[ 42.786956] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.787375] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.787767] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.788188] [] truncate_setsize+0x27/0x40 <4>[ 42.788573] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.788969] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.789373] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.789774] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.790170] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.790589] [] do_fallocate+0x123/0x1b0 <4>[ 42.790963] [] SyS_fallocate+0x43/0x70 <4>[ 42.791351] [] system_call_fastpath+0x16/0x1b <4>[ 42.791754] ---[ end trace 6a3b1350ad3999a6 ]--- <4>[ 42.795100] ------------[ cut here ]------------ <4>[ 42.795440] WARNING: CPU: 2 PID: 4342 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.796122] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.799624] CPU: 2 PID: 4342 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.800221] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.800861] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.801615] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f49a8 <4>[ 42.802366] 0000000000000000 ffff88007c1f49a8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.803119] Call Trace: <4>[ 42.803377] [] dump_stack+0x4d/0x66 <4>[ 42.803734] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.804153] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.804546] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.804961] [] truncate_setsize+0x27/0x40 <4>[ 42.805352] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.805745] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.806149] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.806548] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.806939] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.807365] [] do_fallocate+0x123/0x1b0 <4>[ 42.807739] [] SyS_fallocate+0x43/0x70 <4>[ 42.808121] [] system_call_fastpath+0x16/0x1b <4>[ 42.808525] ---[ end trace 6a3b1350ad3999a7 ]--- <4>[ 42.811848] ------------[ cut here ]------------ <4>[ 42.812196] WARNING: CPU: 2 PID: 4344 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.812880] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.816381] CPU: 2 PID: 4344 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.816979] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.817622] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 42.818384] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f4da8 <4>[ 42.819136] 0000000000000000 ffff88007c1f4da8 0000000004000000 ffff88007a453dd0 <4>[ 42.819888] Call Trace: <4>[ 42.820144] [] dump_stack+0x4d/0x66 <4>[ 42.820502] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.820916] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.821314] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.821730] [] truncate_setsize+0x27/0x40 <4>[ 42.822119] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.822514] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.822913] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.823317] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.823710] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.824135] [] do_fallocate+0x123/0x1b0 <4>[ 42.824510] [] SyS_fallocate+0x43/0x70 <4>[ 42.824889] [] system_call_fastpath+0x16/0x1b <4>[ 42.825301] ---[ end trace 6a3b1350ad3999a8 ]--- <4>[ 42.828911] ------------[ cut here ]------------ <4>[ 42.829250] WARNING: CPU: 3 PID: 4346 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.829869] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.834715] CPU: 3 PID: 4346 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.835270] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.835858] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.836540] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f91a8 <4>[ 42.837220] 0000000000000000 ffff88007c1f91a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.837887] Call Trace: <4>[ 42.838131] [] dump_stack+0x4d/0x66 <4>[ 42.838466] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.838830] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.839205] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.839586] [] truncate_setsize+0x27/0x40 <4>[ 42.839938] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.840305] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.840670] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.841044] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.841410] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.841794] [] do_fallocate+0x123/0x1b0 <4>[ 42.842145] [] SyS_fallocate+0x43/0x70 <4>[ 42.842492] [] system_call_fastpath+0x16/0x1b <4>[ 42.842855] ---[ end trace 6a3b1350ad3999a9 ]--- <4>[ 42.846386] ------------[ cut here ]------------ <4>[ 42.846702] WARNING: CPU: 3 PID: 4348 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.847338] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.850453] CPU: 3 PID: 4348 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.850990] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.851583] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 42.852254] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f95a8 <4>[ 42.852921] 0000000000000000 ffff88007c1f95a8 0000000004000000 ffff88007a4c7dd0 <4>[ 42.853602] Call Trace: <4>[ 42.853831] [] dump_stack+0x4d/0x66 <4>[ 42.854168] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.854532] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.854890] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.855275] [] truncate_setsize+0x27/0x40 <4>[ 42.855627] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.855984] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.856357] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.856723] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.857085] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.857470] [] do_fallocate+0x123/0x1b0 <4>[ 42.857815] [] SyS_fallocate+0x43/0x70 <4>[ 42.858160] [] system_call_fastpath+0x16/0x1b <4>[ 42.858524] ---[ end trace 6a3b1350ad3999aa ]--- <4>[ 42.861939] ------------[ cut here ]------------ <4>[ 42.862296] WARNING: CPU: 2 PID: 4350 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.862972] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.866480] CPU: 2 PID: 4350 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.867087] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.867732] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.868498] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f51a8 <4>[ 42.869250] 0000000000000000 ffff88007c1f51a8 0000000004000000 ffff88007a463dd0 <4>[ 42.870006] Call Trace: <4>[ 42.870269] [] dump_stack+0x4d/0x66 <4>[ 42.870627] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.871052] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.871450] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.871865] [] truncate_setsize+0x27/0x40 <4>[ 42.872259] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.872661] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.873067] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.873472] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.873865] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.874291] [] do_fallocate+0x123/0x1b0 <4>[ 42.874677] [] SyS_fallocate+0x43/0x70 <4>[ 42.875054] [] system_call_fastpath+0x16/0x1b <4>[ 42.875461] ---[ end trace 6a3b1350ad3999ab ]--- <4>[ 42.879042] ------------[ cut here ]------------ <4>[ 42.879387] WARNING: CPU: 2 PID: 4352 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.880072] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.883556] CPU: 2 PID: 4352 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.884164] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.884808] 0000000000000009 ffff88007a453d88 ffffffff81859ea6 0000000000000000 <4>[ 42.885582] ffff88007a453dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f55a8 <4>[ 42.886337] 0000000000000000 ffff88007c1f55a8 0000000004000000 ffff88007a453dd0 <4>[ 42.887083] Call Trace: <4>[ 42.887343] [] dump_stack+0x4d/0x66 <4>[ 42.887699] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.888124] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.888521] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.888936] [] truncate_setsize+0x27/0x40 <4>[ 42.889332] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.889732] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.890140] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.890546] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.890938] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.891365] [] do_fallocate+0x123/0x1b0 <4>[ 42.891749] [] SyS_fallocate+0x43/0x70 <4>[ 42.892128] [] system_call_fastpath+0x16/0x1b <4>[ 42.892535] ---[ end trace 6a3b1350ad3999ac ]--- <4>[ 42.895987] ------------[ cut here ]------------ <4>[ 42.896338] WARNING: CPU: 2 PID: 4354 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.897032] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.900530] CPU: 2 PID: 4354 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.901129] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.901769] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.902532] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f59a8 <4>[ 42.903291] 0000000000000000 ffff88007c1f59a8 0000000004000000 ffff88007bf43dd0 <4>[ 42.904048] Call Trace: <4>[ 42.904298] [] dump_stack+0x4d/0x66 <4>[ 42.904655] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.905075] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.905467] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.905882] [] truncate_setsize+0x27/0x40 <4>[ 42.906274] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.906668] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.907071] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.907471] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.907863] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.908287] [] do_fallocate+0x123/0x1b0 <4>[ 42.908667] [] SyS_fallocate+0x43/0x70 <4>[ 42.909052] [] system_call_fastpath+0x16/0x1b <4>[ 42.909455] ---[ end trace 6a3b1350ad3999ad ]--- <4>[ 42.912704] ------------[ cut here ]------------ <4>[ 42.913033] WARNING: CPU: 3 PID: 4356 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.913652] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.916778] CPU: 3 PID: 4356 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.917324] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.917912] 0000000000000009 ffff88007bfbfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.920315] ffff88007bfbfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f99a8 <4>[ 42.920982] 0000000000000000 ffff88007c1f99a8 0000000004000000 ffff88007bfbfdd0 <4>[ 42.921661] Call Trace: <4>[ 42.921890] [] dump_stack+0x4d/0x66 <4>[ 42.922237] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.922604] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.922961] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.923350] [] truncate_setsize+0x27/0x40 <4>[ 42.923704] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.924072] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.924438] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.924803] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.925180] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.925565] [] do_fallocate+0x123/0x1b0 <4>[ 42.925909] [] SyS_fallocate+0x43/0x70 <4>[ 42.926258] [] system_call_fastpath+0x16/0x1b <4>[ 42.926622] ---[ end trace 6a3b1350ad3999ae ]--- <4>[ 42.929978] ------------[ cut here ]------------ <4>[ 42.930328] WARNING: CPU: 2 PID: 4358 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.931024] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.934526] CPU: 2 PID: 4358 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.935134] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.935780] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 42.936546] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f5da8 <4>[ 42.937298] 0000000000000000 ffff88007c1f5da8 0000000004000000 ffff88007a463dd0 <4>[ 42.938052] Call Trace: <4>[ 42.938314] [] dump_stack+0x4d/0x66 <4>[ 42.938671] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.939096] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.939493] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.939909] [] truncate_setsize+0x27/0x40 <4>[ 42.940305] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.940705] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.941116] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.941523] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.941915] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.942344] [] do_fallocate+0x123/0x1b0 <4>[ 42.942729] [] SyS_fallocate+0x43/0x70 <4>[ 42.943106] [] system_call_fastpath+0x16/0x1b <4>[ 42.943513] ---[ end trace 6a3b1350ad3999af ]--- <4>[ 42.947078] ------------[ cut here ]------------ <4>[ 42.947395] WARNING: CPU: 3 PID: 4360 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.948026] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.951145] CPU: 3 PID: 4360 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.951682] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.952278] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 42.952953] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f9da8 <4>[ 42.953635] 0000000000000000 ffff88007c1f9da8 0000000004000000 ffff88007bf43dd0 <4>[ 42.954320] Call Trace: <4>[ 42.954548] [] dump_stack+0x4d/0x66 <4>[ 42.954880] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.955251] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.955611] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.955992] [] truncate_setsize+0x27/0x40 <4>[ 42.956357] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.956716] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.957087] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.957452] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.957810] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.958202] [] do_fallocate+0x123/0x1b0 <4>[ 42.958551] [] SyS_fallocate+0x43/0x70 <4>[ 42.958892] [] system_call_fastpath+0x16/0x1b <4>[ 42.959275] ---[ end trace 6a3b1350ad3999b0 ]--- <4>[ 42.962611] ------------[ cut here ]------------ <4>[ 42.962971] WARNING: CPU: 2 PID: 4362 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.963658] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.967164] CPU: 2 PID: 4362 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.967756] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.968402] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 42.969156] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f61a8 <4>[ 42.969910] 0000000000000000 ffff88007c1f61a8 0000000004000000 ffff88007a4cfdd0 <4>[ 42.970665] Call Trace: <4>[ 42.970916] [] dump_stack+0x4d/0x66 <4>[ 42.971285] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.971693] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.972089] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.972505] [] truncate_setsize+0x27/0x40 <4>[ 42.972890] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.973295] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.973694] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.974100] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.974493] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.974912] [] do_fallocate+0x123/0x1b0 <4>[ 42.975298] [] SyS_fallocate+0x43/0x70 <4>[ 42.975673] [] system_call_fastpath+0x16/0x1b <4>[ 42.976086] ---[ end trace 6a3b1350ad3999b1 ]--- <4>[ 42.979394] ------------[ cut here ]------------ <4>[ 42.979735] WARNING: CPU: 2 PID: 4364 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.980420] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 42.983916] CPU: 2 PID: 4364 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 42.984520] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 42.985163] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 42.985914] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f65a8 <4>[ 42.986675] 0000000000000000 ffff88007c1f65a8 0000000004000000 ffff88007bf8bdd0 <4>[ 42.987431] Call Trace: <4>[ 42.987681] [] dump_stack+0x4d/0x66 <4>[ 42.988050] [] warn_slowpath_common+0x7d/0xa0 <4>[ 42.988458] [] warn_slowpath_null+0x1a/0x20 <4>[ 42.988850] [] pagecache_isize_extended+0xdd/0x120 <4>[ 42.989272] [] truncate_setsize+0x27/0x40 <4>[ 42.989658] [] xfs_setattr_size+0x157/0x3a0 <4>[ 42.990059] [] ? xfs_trans_commit+0x157/0x250 <4>[ 42.990458] [] xfs_file_fallocate+0x2df/0x300 <4>[ 42.990857] [] ? __sb_start_write+0x49/0xf0 <4>[ 42.991256] [] ? selinux_file_permission+0xc4/0x120 <4>[ 42.991675] [] do_fallocate+0x123/0x1b0 <4>[ 42.992060] [] SyS_fallocate+0x43/0x70 <4>[ 42.992435] [] system_call_fastpath+0x16/0x1b <4>[ 42.992843] ---[ end trace 6a3b1350ad3999b2 ]--- <4>[ 42.996485] ------------[ cut here ]------------ <4>[ 42.996803] WARNING: CPU: 3 PID: 4366 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 42.997443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.000560] CPU: 3 PID: 4366 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.001106] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.001693] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.002374] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fa1a8 <4>[ 43.003045] 0000000000000000 ffff88007c1fa1a8 0000000004000000 ffff88007a463dd0 <4>[ 43.003717] Call Trace: <4>[ 43.003945] [] dump_stack+0x4d/0x66 <4>[ 43.004287] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.004652] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.005017] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.005398] [] truncate_setsize+0x27/0x40 <4>[ 43.007482] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.007841] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.008213] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.008579] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.008936] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.009334] [] do_fallocate+0x123/0x1b0 <4>[ 43.009680] [] SyS_fallocate+0x43/0x70 <4>[ 43.010030] [] system_call_fastpath+0x16/0x1b <4>[ 43.010395] ---[ end trace 6a3b1350ad3999b3 ]--- <4>[ 43.013819] ------------[ cut here ]------------ <4>[ 43.014155] WARNING: CPU: 3 PID: 4368 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.014775] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.017888] CPU: 3 PID: 4368 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.018429] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.019019] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.019687] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fa5a8 <4>[ 43.020368] 0000000000000000 ffff88007c1fa5a8 0000000004000000 ffff88007a56fdd0 <4>[ 43.021038] Call Trace: <4>[ 43.021267] [] dump_stack+0x4d/0x66 <4>[ 43.021598] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.021962] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.022330] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.022711] [] truncate_setsize+0x27/0x40 <4>[ 43.023077] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.023434] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.023798] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.024169] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.024526] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.024911] [] do_fallocate+0x123/0x1b0 <4>[ 43.025261] [] SyS_fallocate+0x43/0x70 <4>[ 43.025602] [] system_call_fastpath+0x16/0x1b <4>[ 43.025966] ---[ end trace 6a3b1350ad3999b4 ]--- <4>[ 43.029334] ------------[ cut here ]------------ <4>[ 43.029648] WARNING: CPU: 3 PID: 4370 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.030274] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.033385] CPU: 3 PID: 4370 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.033922] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.034513] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.035193] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fa9a8 <4>[ 43.035860] 0000000000000000 ffff88007c1fa9a8 0000000004000000 ffff88007a53fdd0 <4>[ 43.036531] Call Trace: <4>[ 43.036759] [] dump_stack+0x4d/0x66 <4>[ 43.037096] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.037461] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.037818] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.038215] [] truncate_setsize+0x27/0x40 <4>[ 43.038567] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.038924] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.039293] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.039659] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.040021] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.040406] [] do_fallocate+0x123/0x1b0 <4>[ 43.040751] [] SyS_fallocate+0x43/0x70 <4>[ 43.041106] [] system_call_fastpath+0x16/0x1b <4>[ 43.041470] ---[ end trace 6a3b1350ad3999b5 ]--- <4>[ 43.044879] ------------[ cut here ]------------ <4>[ 43.045216] WARNING: CPU: 3 PID: 4372 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.045835] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.048950] CPU: 3 PID: 4372 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.049497] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.050088] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.050756] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fada8 <4>[ 43.051436] 0000000000000000 ffff88007c1fada8 0000000004000000 ffff88007a463dd0 <4>[ 43.052106] Call Trace: <4>[ 43.052334] [] dump_stack+0x4d/0x66 <4>[ 43.052664] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.053035] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.053392] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.053773] [] truncate_setsize+0x27/0x40 <4>[ 43.054138] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.054497] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.054861] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.055240] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.055598] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.055982] [] do_fallocate+0x123/0x1b0 <4>[ 43.056331] [] SyS_fallocate+0x43/0x70 <4>[ 43.056672] [] system_call_fastpath+0x16/0x1b <4>[ 43.057044] ---[ end trace 6a3b1350ad3999b6 ]--- <4>[ 43.060468] ------------[ cut here ]------------ <4>[ 43.060784] WARNING: CPU: 3 PID: 4374 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.061418] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.064531] CPU: 3 PID: 4374 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.065083] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.065671] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.066352] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fb1a8 <4>[ 43.067023] 0000000000000000 ffff88007c1fb1a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.067692] Call Trace: <4>[ 43.067920] [] dump_stack+0x4d/0x66 <4>[ 43.068256] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.068621] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.068979] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.069370] [] truncate_setsize+0x27/0x40 <4>[ 43.069721] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.070084] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.070448] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.070812] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.071175] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.071560] [] do_fallocate+0x123/0x1b0 <4>[ 43.071905] [] SyS_fallocate+0x43/0x70 <4>[ 43.072256] [] system_call_fastpath+0x16/0x1b <4>[ 43.072619] ---[ end trace 6a3b1350ad3999b7 ]--- <4>[ 43.076050] ------------[ cut here ]------------ <4>[ 43.076365] WARNING: CPU: 3 PID: 4376 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.076983] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.080101] CPU: 3 PID: 4376 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.080638] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.081229] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.081898] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fb5a8 <4>[ 43.082581] 0000000000000000 ffff88007c1fb5a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.083252] Call Trace: <4>[ 43.083480] [] dump_stack+0x4d/0x66 <4>[ 43.083811] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.084181] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.084539] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.084919] [] truncate_setsize+0x27/0x40 <4>[ 43.085280] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.085638] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.086007] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.086372] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.086730] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.087119] [] do_fallocate+0x123/0x1b0 <4>[ 43.087464] [] SyS_fallocate+0x43/0x70 <4>[ 43.087804] [] system_call_fastpath+0x16/0x1b <4>[ 43.088181] ---[ end trace 6a3b1350ad3999b8 ]--- <4>[ 43.091600] ------------[ cut here ]------------ <4>[ 43.091606] WARNING: CPU: 0 PID: 4378 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.091620] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.091622] CPU: 0 PID: 4378 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.091623] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.091625] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.091626] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b7561a8 <4>[ 43.091627] 0000000000000000 ffff88005b7561a8 0000000004000000 ffff88007a57fdd0 <4>[ 43.091628] Call Trace: <4>[ 43.091631] [] dump_stack+0x4d/0x66 <4>[ 43.091634] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.091635] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.091637] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.091641] [] truncate_setsize+0x27/0x40 <4>[ 43.091643] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.091645] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.091647] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.091653] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.091655] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.091657] [] do_fallocate+0x123/0x1b0 <4>[ 43.091658] [] SyS_fallocate+0x43/0x70 <4>[ 43.091660] [] system_call_fastpath+0x16/0x1b <4>[ 43.091661] ---[ end trace 6a3b1350ad3999b9 ]--- <4>[ 43.106506] ------------[ cut here ]------------ <4>[ 43.106848] WARNING: CPU: 2 PID: 4380 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.107534] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.111040] CPU: 2 PID: 4380 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.111639] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.112285] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.113045] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f69a8 <4>[ 43.113797] 0000000000000000 ffff88007c1f69a8 0000000004000000 ffff88007bfabdd0 <4>[ 43.114551] Call Trace: <4>[ 43.114802] [] dump_stack+0x4d/0x66 <4>[ 43.115170] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.115579] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.115971] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.116392] [] truncate_setsize+0x27/0x40 <4>[ 43.116778] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.117179] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.117579] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.117979] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.118376] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.118796] [] do_fallocate+0x123/0x1b0 <4>[ 43.119180] [] SyS_fallocate+0x43/0x70 <4>[ 43.119555] [] system_call_fastpath+0x16/0x1b <4>[ 43.119963] ---[ end trace 6a3b1350ad3999ba ]--- <4>[ 43.123244] ------------[ cut here ]------------ <4>[ 43.123599] WARNING: CPU: 2 PID: 4382 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.124281] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.127779] CPU: 2 PID: 4382 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.128382] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.129025] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.129778] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f6da8 <4>[ 43.130540] 0000000000000000 ffff88007c1f6da8 0000000004000000 ffff88007a56fdd0 <4>[ 43.131301] Call Trace: <4>[ 43.131550] [] dump_stack+0x4d/0x66 <4>[ 43.131907] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.132328] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.132721] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.133141] [] truncate_setsize+0x27/0x40 <4>[ 43.133526] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.133922] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.134327] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.134727] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.135125] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.135544] [] do_fallocate+0x123/0x1b0 <4>[ 43.135918] [] SyS_fallocate+0x43/0x70 <4>[ 43.136304] [] system_call_fastpath+0x16/0x1b <4>[ 43.136710] ---[ end trace 6a3b1350ad3999bb ]--- <4>[ 43.140216] ------------[ cut here ]------------ <4>[ 43.140534] WARNING: CPU: 3 PID: 4384 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.141174] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.144292] CPU: 3 PID: 4384 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.144829] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.145425] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 43.146100] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fb9a8 <4>[ 43.146767] 0000000000000000 ffff88007c1fb9a8 0000000004000000 ffff88007a4cfdd0 <4>[ 43.147447] Call Trace: <4>[ 43.147676] [] dump_stack+0x4d/0x66 <4>[ 43.148017] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.148382] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.148739] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.149126] [] truncate_setsize+0x27/0x40 <4>[ 43.149481] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.149839] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.150224] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.150592] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.150950] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.151347] [] do_fallocate+0x123/0x1b0 <4>[ 43.151693] [] SyS_fallocate+0x43/0x70 <4>[ 43.152043] [] system_call_fastpath+0x16/0x1b <4>[ 43.152408] ---[ end trace 6a3b1350ad3999bc ]--- <4>[ 43.156072] ------------[ cut here ]------------ <4>[ 43.156387] WARNING: CPU: 3 PID: 4386 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.157015] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.160127] CPU: 3 PID: 4386 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.160664] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.161255] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.161925] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1fbda8 <4>[ 43.162607] 0000000000000000 ffff88007c1fbda8 0000000004000000 ffff88007a53fdd0 <4>[ 43.163280] Call Trace: <4>[ 43.163507] [] dump_stack+0x4d/0x66 <4>[ 43.163838] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.164209] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.164566] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.164947] [] truncate_setsize+0x27/0x40 <4>[ 43.165307] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.165665] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.166039] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.166404] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.166762] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.167150] [] do_fallocate+0x123/0x1b0 <4>[ 43.167495] [] SyS_fallocate+0x43/0x70 <4>[ 43.167836] [] system_call_fastpath+0x16/0x1b <4>[ 43.168214] ---[ end trace 6a3b1350ad3999bd ]--- <4>[ 43.171557] ------------[ cut here ]------------ <4>[ 43.171912] WARNING: CPU: 2 PID: 4388 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.172597] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.176113] CPU: 2 PID: 4388 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.178616] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.179269] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.180024] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f71a8 <4>[ 43.180781] 0000000000000000 ffff88007c1f71a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.181540] Call Trace: <4>[ 43.181790] [] dump_stack+0x4d/0x66 <4>[ 43.182157] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.182567] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.182960] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.183385] [] truncate_setsize+0x27/0x40 <4>[ 43.183775] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.184181] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.184586] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.184985] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.185387] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.185811] [] do_fallocate+0x123/0x1b0 <4>[ 43.186195] [] SyS_fallocate+0x43/0x70 <4>[ 43.186578] [] system_call_fastpath+0x16/0x1b <4>[ 43.186987] ---[ end trace 6a3b1350ad3999be ]--- <4>[ 43.190381] ------------[ cut here ]------------ <4>[ 43.190722] WARNING: CPU: 2 PID: 4390 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.191411] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.194896] CPU: 2 PID: 4390 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.195504] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.196151] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.196894] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f75a8 <4>[ 43.197664] 0000000000000000 ffff88007c1f75a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.198432] Call Trace: <4>[ 43.198688] [] dump_stack+0x4d/0x66 <4>[ 43.199054] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.199465] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.199857] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.200282] [] truncate_setsize+0x27/0x40 <4>[ 43.200673] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.201081] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.201485] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.201885] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.202284] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.202709] [] do_fallocate+0x123/0x1b0 <4>[ 43.203086] [] SyS_fallocate+0x43/0x70 <4>[ 43.203467] [] system_call_fastpath+0x16/0x1b <4>[ 43.203876] ---[ end trace 6a3b1350ad3999bf ]--- <4>[ 43.207247] ------------[ cut here ]------------ <4>[ 43.207594] WARNING: CPU: 2 PID: 4392 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.208285] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.211791] CPU: 2 PID: 4392 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.212395] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.213042] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.213784] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f79a8 <4>[ 43.214552] 0000000000000000 ffff88007c1f79a8 0000000004000000 ffff88007a57fdd0 <4>[ 43.215316] Call Trace: <4>[ 43.215570] [] dump_stack+0x4d/0x66 <4>[ 43.215927] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.216348] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.216746] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.217168] [] truncate_setsize+0x27/0x40 <4>[ 43.217559] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.217957] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.218365] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.218770] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.219171] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.219595] [] do_fallocate+0x123/0x1b0 <4>[ 43.219974] [] SyS_fallocate+0x43/0x70 <4>[ 43.220354] [] system_call_fastpath+0x16/0x1b <4>[ 43.220761] ---[ end trace 6a3b1350ad3999c0 ]--- <4>[ 43.224357] ------------[ cut here ]------------ <4>[ 43.224675] WARNING: CPU: 3 PID: 4394 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.225311] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.228427] CPU: 3 PID: 4394 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.228963] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.229556] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.230226] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2181a8 <4>[ 43.230893] 0000000000000000 ffff88007c2181a8 0000000004000000 ffff88007bfabdd0 <4>[ 43.231576] Call Trace: <4>[ 43.231805] [] dump_stack+0x4d/0x66 <4>[ 43.232143] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.232507] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.232865] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.233262] [] truncate_setsize+0x27/0x40 <4>[ 43.233615] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.233973] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.234346] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.234712] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.235074] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.235459] [] do_fallocate+0x123/0x1b0 <4>[ 43.235804] [] SyS_fallocate+0x43/0x70 <4>[ 43.236150] [] system_call_fastpath+0x16/0x1b <4>[ 43.236513] ---[ end trace 6a3b1350ad3999c1 ]--- <4>[ 43.239961] ------------[ cut here ]------------ <4>[ 43.240288] WARNING: CPU: 3 PID: 4396 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.240907] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.244023] CPU: 3 PID: 4396 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.244559] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.245151] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 43.245820] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2185a8 <4>[ 43.246503] 0000000000000000 ffff88007c2185a8 0000000004000000 ffff88007bf8bdd0 <4>[ 43.247175] Call Trace: <4>[ 43.247402] [] dump_stack+0x4d/0x66 <4>[ 43.247733] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.248104] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.248462] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.248842] [] truncate_setsize+0x27/0x40 <4>[ 43.249208] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.249565] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.249930] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.250299] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.250658] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.251046] [] do_fallocate+0x123/0x1b0 <4>[ 43.251391] [] SyS_fallocate+0x43/0x70 <4>[ 43.251732] [] system_call_fastpath+0x16/0x1b <4>[ 43.252109] ---[ end trace 6a3b1350ad3999c2 ]--- <4>[ 43.255515] ------------[ cut here ]------------ <4>[ 43.255831] WARNING: CPU: 3 PID: 4398 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.256459] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.259569] CPU: 3 PID: 4398 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.260111] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.260699] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.261381] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2189a8 <4>[ 43.262053] 0000000000000000 ffff88007c2189a8 0000000004000000 ffff88007a56fdd0 <4>[ 43.262722] Call Trace: <4>[ 43.262949] [] dump_stack+0x4d/0x66 <4>[ 43.265006] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.265370] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.265728] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.266113] [] truncate_setsize+0x27/0x40 <4>[ 43.266464] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.266822] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.267201] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.267566] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.267923] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.268312] [] do_fallocate+0x123/0x1b0 <4>[ 43.268657] [] SyS_fallocate+0x43/0x70 <4>[ 43.268998] [] system_call_fastpath+0x16/0x1b <4>[ 43.269366] ---[ end trace 6a3b1350ad3999c3 ]--- <4>[ 43.272719] ------------[ cut here ]------------ <4>[ 43.273085] WARNING: CPU: 2 PID: 4400 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.273762] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.277258] CPU: 2 PID: 4400 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.277851] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.278495] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 43.279254] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c1f7da8 <4>[ 43.280010] 0000000000000000 ffff88007c1f7da8 0000000004000000 ffff88007a4cfdd0 <4>[ 43.280763] Call Trace: <4>[ 43.281020] [] dump_stack+0x4d/0x66 <4>[ 43.281378] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.281792] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.282190] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.282606] [] truncate_setsize+0x27/0x40 <4>[ 43.282992] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.283393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.283792] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.284197] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.284589] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.285014] [] do_fallocate+0x123/0x1b0 <4>[ 43.285388] [] SyS_fallocate+0x43/0x70 <4>[ 43.285767] [] system_call_fastpath+0x16/0x1b <4>[ 43.286179] ---[ end trace 6a3b1350ad3999c4 ]--- <4>[ 43.289479] ------------[ cut here ]------------ <4>[ 43.289840] WARNING: CPU: 2 PID: 4402 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.290511] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.294010] CPU: 2 PID: 4402 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.294602] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.295245] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.295998] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2081a8 <4>[ 43.296760] 0000000000000000 ffff88007c2081a8 0000000004000000 ffff88007a463dd0 <4>[ 43.297516] Call Trace: <4>[ 43.297765] [] dump_stack+0x4d/0x66 <4>[ 43.298135] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.298551] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.298943] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.299363] [] truncate_setsize+0x27/0x40 <4>[ 43.299749] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.300151] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.300550] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.300949] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.301347] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.301766] [] do_fallocate+0x123/0x1b0 <4>[ 43.302152] [] SyS_fallocate+0x43/0x70 <4>[ 43.302527] [] system_call_fastpath+0x16/0x1b <4>[ 43.302935] ---[ end trace 6a3b1350ad3999c5 ]--- <4>[ 43.306483] ------------[ cut here ]------------ <4>[ 43.306801] WARNING: CPU: 3 PID: 4404 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.307436] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.310553] CPU: 3 PID: 4404 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.311095] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.311683] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.312355] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c218da8 <4>[ 43.313032] 0000000000000000 ffff88007c218da8 0000000004000000 ffff88007bf43dd0 <4>[ 43.313699] Call Trace: <4>[ 43.313927] [] dump_stack+0x4d/0x66 <4>[ 43.314265] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.314629] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.314987] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.315373] [] truncate_setsize+0x27/0x40 <4>[ 43.315725] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.316097] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.316462] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.316827] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.317191] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.317576] [] do_fallocate+0x123/0x1b0 <4>[ 43.317920] [] SyS_fallocate+0x43/0x70 <4>[ 43.318267] [] system_call_fastpath+0x16/0x1b <4>[ 43.318631] ---[ end trace 6a3b1350ad3999c6 ]--- <4>[ 43.322085] ------------[ cut here ]------------ <4>[ 43.322400] WARNING: CPU: 3 PID: 4406 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.323025] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.326133] CPU: 3 PID: 4406 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.326670] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.327269] 0000000000000009 ffff88007a4cfd88 ffffffff81859ea6 0000000000000000 <4>[ 43.327947] ffff88007a4cfdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2191a8 <4>[ 43.328627] 0000000000000000 ffff88007c2191a8 0000000004000000 ffff88007a4cfdd0 <4>[ 43.329305] Call Trace: <4>[ 43.329533] [] dump_stack+0x4d/0x66 <4>[ 43.329864] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.330245] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.330602] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.330983] [] truncate_setsize+0x27/0x40 <4>[ 43.331339] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.331697] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.332071] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.332440] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.332798] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.333187] [] do_fallocate+0x123/0x1b0 <4>[ 43.333533] [] SyS_fallocate+0x43/0x70 <4>[ 43.333873] [] system_call_fastpath+0x16/0x1b <4>[ 43.334252] ---[ end trace 6a3b1350ad3999c7 ]--- <4>[ 43.337877] ------------[ cut here ]------------ <4>[ 43.338210] WARNING: CPU: 3 PID: 4408 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.338829] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.341949] CPU: 3 PID: 4408 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.342489] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.343080] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.343748] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2195a8 <4>[ 43.344428] 0000000000000000 ffff88007c2195a8 0000000004000000 ffff88007a56fdd0 <4>[ 43.345099] Call Trace: <4>[ 43.345328] [] dump_stack+0x4d/0x66 <4>[ 43.345659] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.346028] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.346387] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.346768] [] truncate_setsize+0x27/0x40 <4>[ 43.347133] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.347491] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.347855] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.348235] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.348593] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.348978] [] do_fallocate+0x123/0x1b0 <4>[ 43.351041] [] SyS_fallocate+0x43/0x70 <4>[ 43.351382] [] system_call_fastpath+0x16/0x1b <4>[ 43.351746] ---[ end trace 6a3b1350ad3999c8 ]--- <4>[ 43.355102] ------------[ cut here ]------------ <4>[ 43.355461] WARNING: CPU: 2 PID: 4410 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.356154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.359664] CPU: 2 PID: 4410 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.360266] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.360910] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.361676] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2085a8 <4>[ 43.362436] 0000000000000000 ffff88007c2085a8 0000000004000000 ffff88007a53fdd0 <4>[ 43.363194] Call Trace: <4>[ 43.363450] [] dump_stack+0x4d/0x66 <4>[ 43.363808] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.364230] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.364628] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.365051] [] truncate_setsize+0x27/0x40 <4>[ 43.365441] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.365839] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.366247] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.366652] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.367055] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.367478] [] do_fallocate+0x123/0x1b0 <4>[ 43.367858] [] SyS_fallocate+0x43/0x70 <4>[ 43.368238] [] system_call_fastpath+0x16/0x1b <4>[ 43.368646] ---[ end trace 6a3b1350ad3999c9 ]--- <4>[ 43.371908] ------------[ cut here ]------------ <4>[ 43.372269] WARNING: CPU: 2 PID: 4412 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.372932] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.376445] CPU: 2 PID: 4412 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.377054] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.377698] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.378467] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2089a8 <4>[ 43.379233] 0000000000000000 ffff88007c2089a8 0000000004000000 ffff88007a57fdd0 <4>[ 43.379985] Call Trace: <4>[ 43.380246] [] dump_stack+0x4d/0x66 <4>[ 43.380609] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.381031] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.381429] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.381844] [] truncate_setsize+0x27/0x40 <4>[ 43.382239] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.382639] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.383047] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.383452] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.383844] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.384273] [] do_fallocate+0x123/0x1b0 <4>[ 43.384656] [] SyS_fallocate+0x43/0x70 <4>[ 43.385035] [] system_call_fastpath+0x16/0x1b <4>[ 43.385443] ---[ end trace 6a3b1350ad3999ca ]--- <4>[ 43.388935] ------------[ cut here ]------------ <4>[ 43.389264] WARNING: CPU: 3 PID: 4414 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.389883] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.393014] CPU: 3 PID: 4414 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.393551] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.394146] 0000000000000009 ffff88007a56fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.394820] ffff88007a56fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2199a8 <4>[ 43.395500] 0000000000000000 ffff88007c2199a8 0000000004000000 ffff88007a56fdd0 <4>[ 43.396181] Call Trace: <4>[ 43.396410] [] dump_stack+0x4d/0x66 <4>[ 43.396742] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.397113] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.397474] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.397854] [] truncate_setsize+0x27/0x40 <4>[ 43.398223] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.398581] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.398945] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.399325] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.399683] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.400075] [] do_fallocate+0x123/0x1b0 <4>[ 43.400424] [] SyS_fallocate+0x43/0x70 <4>[ 43.400764] [] system_call_fastpath+0x16/0x1b <4>[ 43.401141] ---[ end trace 6a3b1350ad3999cb ]--- <4>[ 43.404505] ------------[ cut here ]------------ <4>[ 43.404862] WARNING: CPU: 2 PID: 4416 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.405541] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.409060] CPU: 2 PID: 4416 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.409647] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.410290] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.411051] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c208da8 <4>[ 43.411804] 0000000000000000 ffff88007c208da8 0000000004000000 ffff88007bfabdd0 <4>[ 43.412561] Call Trace: <4>[ 43.412811] [] dump_stack+0x4d/0x66 <4>[ 43.413179] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.413587] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.413978] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.414399] [] truncate_setsize+0x27/0x40 <4>[ 43.414784] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.415184] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.415584] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.415984] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.416381] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.416801] [] do_fallocate+0x123/0x1b0 <4>[ 43.417186] [] SyS_fallocate+0x43/0x70 <4>[ 43.417562] [] system_call_fastpath+0x16/0x1b <4>[ 43.417969] ---[ end trace 6a3b1350ad3999cc ]--- <4>[ 43.421471] ------------[ cut here ]------------ <4>[ 43.421789] WARNING: CPU: 3 PID: 4418 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.422424] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.425544] CPU: 3 PID: 4418 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.426084] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.426677] 0000000000000009 ffff88007a53fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.427358] ffff88007a53fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c219da8 <4>[ 43.428034] 0000000000000000 ffff88007c219da8 0000000004000000 ffff88007a53fdd0 <4>[ 43.428702] Call Trace: <4>[ 43.428930] [] dump_stack+0x4d/0x66 <4>[ 43.429269] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.429635] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.429992] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.430379] [] truncate_setsize+0x27/0x40 <4>[ 43.430735] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.431105] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.431471] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.431835] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.432203] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.432590] [] do_fallocate+0x123/0x1b0 <4>[ 43.432935] [] SyS_fallocate+0x43/0x70 <4>[ 43.433286] [] system_call_fastpath+0x16/0x1b <4>[ 43.433650] ---[ end trace 6a3b1350ad3999cd ]--- <4>[ 43.437029] ------------[ cut here ]------------ <4>[ 43.437389] WARNING: CPU: 2 PID: 4420 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.438073] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.443485] CPU: 2 PID: 4420 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.444083] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.444723] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.445475] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2091a8 <4>[ 43.446233] 0000000000000000 ffff88007c2091a8 0000000004000000 ffff88007a4b3dd0 <4>[ 43.446985] Call Trace: <4>[ 43.447243] [] dump_stack+0x4d/0x66 <4>[ 43.447601] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.448019] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.448412] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.448827] [] truncate_setsize+0x27/0x40 <4>[ 43.449216] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.449613] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.450017] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.450417] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.450810] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.451232] [] do_fallocate+0x123/0x1b0 <4>[ 43.451607] [] SyS_fallocate+0x43/0x70 <4>[ 43.451987] [] system_call_fastpath+0x16/0x1b <4>[ 43.452396] ---[ end trace 6a3b1350ad3999ce ]--- <4>[ 43.455663] ------------[ cut here ]------------ <4>[ 43.456004] WARNING: CPU: 2 PID: 4422 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.456689] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.460186] CPU: 2 PID: 4422 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.460785] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.461429] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.462194] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2095a8 <4>[ 43.462880] 0000000000000000 ffff88007c2095a8 0000000004000000 ffff88007a463dd0 <4>[ 43.463572] Call Trace: <4>[ 43.463838] [] dump_stack+0x4d/0x66 <4>[ 43.464209] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.464618] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.465016] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.465432] [] truncate_setsize+0x27/0x40 <4>[ 43.465817] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.466218] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.466617] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.467022] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.467415] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.467833] [] do_fallocate+0x123/0x1b0 <4>[ 43.468217] [] SyS_fallocate+0x43/0x70 <4>[ 43.468592] [] system_call_fastpath+0x16/0x1b <4>[ 43.469005] ---[ end trace 6a3b1350ad3999cf ]--- <4>[ 43.472583] ------------[ cut here ]------------ <4>[ 43.472941] WARNING: CPU: 2 PID: 4426 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.473628] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.477131] CPU: 2 PID: 4426 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.477724] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.478367] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.479120] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2099a8 <4>[ 43.479871] 0000000000000000 ffff88007c2099a8 0000000004000000 ffff88007bfabdd0 <4>[ 43.480629] Call Trace: <4>[ 43.480879] [] dump_stack+0x4d/0x66 <4>[ 43.481248] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.481656] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.482054] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.482470] [] truncate_setsize+0x27/0x40 <4>[ 43.482855] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.483257] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.483656] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.484060] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.484452] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.484870] [] do_fallocate+0x123/0x1b0 <4>[ 43.485256] [] SyS_fallocate+0x43/0x70 <4>[ 43.485633] [] system_call_fastpath+0x16/0x1b <4>[ 43.486059] ---[ end trace 6a3b1350ad3999d0 ]--- <4>[ 43.489736] ------------[ cut here ]------------ <4>[ 43.490086] WARNING: CPU: 2 PID: 4429 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.490761] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.494260] CPU: 2 PID: 4429 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.494854] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.495499] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.496257] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c209da8 <4>[ 43.497011] 0000000000000000 ffff88007c209da8 0000000004000000 ffff88007a4b3dd0 <4>[ 43.497764] Call Trace: <4>[ 43.498021] [] dump_stack+0x4d/0x66 <4>[ 43.498380] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.498793] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.499191] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.499606] [] truncate_setsize+0x27/0x40 <4>[ 43.499992] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.500393] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.500793] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.501198] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.501590] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.502014] [] do_fallocate+0x123/0x1b0 <4>[ 43.502389] [] SyS_fallocate+0x43/0x70 <4>[ 43.502768] [] system_call_fastpath+0x16/0x1b <4>[ 43.503182] ---[ end trace 6a3b1350ad3999d1 ]--- <4>[ 43.506733] ------------[ cut here ]------------ <4>[ 43.507066] WARNING: CPU: 3 PID: 4432 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.507686] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.510815] CPU: 3 PID: 4432 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.511360] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.511948] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.512631] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c21a1a8 <4>[ 43.513315] 0000000000000000 ffff88007c21a1a8 0000000004000000 ffff88007a4a3dd0 <4>[ 43.513980] Call Trace: <4>[ 43.514223] [] dump_stack+0x4d/0x66 <4>[ 43.514559] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.514923] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.515287] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.515685] [] truncate_setsize+0x27/0x40 <4>[ 43.516050] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.516418] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.516794] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.517180] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.517541] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.517925] [] do_fallocate+0x123/0x1b0 <4>[ 43.518278] [] SyS_fallocate+0x43/0x70 <4>[ 43.518623] [] system_call_fastpath+0x16/0x1b <4>[ 43.518986] ---[ end trace 6a3b1350ad3999d2 ]--- <4>[ 43.522659] ------------[ cut here ]------------ <4>[ 43.522973] WARNING: CPU: 3 PID: 4436 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.523612] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.526734] CPU: 3 PID: 4436 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.527281] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.527870] 0000000000000009 ffff88007a4efd88 ffffffff81859ea6 0000000000000000 <4>[ 43.528551] ffff88007a4efdc0 ffffffff8106ef0d 0000000000001000 ffff88007c21a5a8 <4>[ 43.530938] 0000000000000000 ffff88007c21a5a8 0000000004000000 ffff88007a4efdd0 <4>[ 43.531618] Call Trace: <4>[ 43.531846] [] dump_stack+0x4d/0x66 <4>[ 43.532195] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.532560] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.532918] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.533317] [] truncate_setsize+0x27/0x40 <4>[ 43.533669] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.534033] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.534399] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.534763] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.535139] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.535525] [] do_fallocate+0x123/0x1b0 <4>[ 43.535869] [] SyS_fallocate+0x43/0x70 <4>[ 43.536230] [] system_call_fastpath+0x16/0x1b <4>[ 43.536593] ---[ end trace 6a3b1350ad3999d3 ]--- <4>[ 43.539997] ------------[ cut here ]------------ <4>[ 43.540353] WARNING: CPU: 2 PID: 4438 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.541041] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.544527] CPU: 2 PID: 4438 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.545135] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.545779] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.546552] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20a1a8 <4>[ 43.547318] 0000000000000000 ffff88007c20a1a8 0000000004000000 ffff88007a4b3dd0 <4>[ 43.548078] Call Trace: <4>[ 43.548334] [] dump_stack+0x4d/0x66 <4>[ 43.548692] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.549116] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.549513] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.549928] [] truncate_setsize+0x27/0x40 <4>[ 43.550326] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.550695] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.551075] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.551449] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.551811] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.552232] [] do_fallocate+0x123/0x1b0 <4>[ 43.552617] [] SyS_fallocate+0x43/0x70 <4>[ 43.552991] [] system_call_fastpath+0x16/0x1b <4>[ 43.553407] ---[ end trace 6a3b1350ad3999d4 ]--- <4>[ 43.557002] ------------[ cut here ]------------ <4>[ 43.557337] WARNING: CPU: 3 PID: 4442 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.557955] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.561085] CPU: 3 PID: 4442 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.561622] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.562218] 0000000000000009 ffff88007a483d88 ffffffff81859ea6 0000000000000000 <4>[ 43.562892] ffff88007a483dc0 ffffffff8106ef0d 0000000000001000 ffff88007c21a9a8 <4>[ 43.563575] 0000000000000000 ffff88007c21a9a8 0000000004000000 ffff88007a483dd0 <4>[ 43.564255] Call Trace: <4>[ 43.564484] [] dump_stack+0x4d/0x66 <4>[ 43.564815] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.565188] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.565546] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.565927] [] truncate_setsize+0x27/0x40 <4>[ 43.566292] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.566651] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.567024] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.567389] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.567747] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.568139] [] do_fallocate+0x123/0x1b0 <4>[ 43.568488] [] SyS_fallocate+0x43/0x70 <4>[ 43.568829] [] system_call_fastpath+0x16/0x1b <4>[ 43.569211] ---[ end trace 6a3b1350ad3999d5 ]--- <4>[ 43.572631] ------------[ cut here ]------------ <4>[ 43.572974] WARNING: CPU: 2 PID: 4444 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.573666] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.577171] CPU: 2 PID: 4444 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.577756] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.578401] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.579153] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20a5a8 <4>[ 43.579904] 0000000000000000 ffff88007c20a5a8 0000000004000000 ffff88007a463dd0 <4>[ 43.580662] Call Trace: <4>[ 43.580913] [] dump_stack+0x4d/0x66 <4>[ 43.581282] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.581690] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.582087] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.582502] [] truncate_setsize+0x27/0x40 <4>[ 43.582888] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.583289] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.583689] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.584094] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.584486] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.584904] [] do_fallocate+0x123/0x1b0 <4>[ 43.585290] [] SyS_fallocate+0x43/0x70 <4>[ 43.585667] [] system_call_fastpath+0x16/0x1b <4>[ 43.586079] ---[ end trace 6a3b1350ad3999d6 ]--- <4>[ 43.589538] ------------[ cut here ]------------ <4>[ 43.589880] WARNING: CPU: 2 PID: 4446 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.590568] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.594068] CPU: 2 PID: 4446 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.594665] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.595309] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.596064] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20a9a8 <4>[ 43.596815] 0000000000000000 ffff88007c20a9a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.597573] Call Trace: <4>[ 43.597824] [] dump_stack+0x4d/0x66 <4>[ 43.598185] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.598598] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.598990] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.599410] [] truncate_setsize+0x27/0x40 <4>[ 43.599795] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.600196] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.600595] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.600994] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.601391] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.601810] [] do_fallocate+0x123/0x1b0 <4>[ 43.602189] [] SyS_fallocate+0x43/0x70 <4>[ 43.602566] [] system_call_fastpath+0x16/0x1b <4>[ 43.602974] ---[ end trace 6a3b1350ad3999d7 ]--- <4>[ 43.606304] ------------[ cut here ]------------ <4>[ 43.606647] WARNING: CPU: 2 PID: 4448 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.607334] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.610830] CPU: 2 PID: 4448 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.611433] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.612076] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.612826] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20ada8 <4>[ 43.613587] 0000000000000000 ffff88007c20ada8 0000000004000000 ffff88007a4b3dd0 <4>[ 43.614343] Call Trace: <4>[ 43.614594] [] dump_stack+0x4d/0x66 <4>[ 43.614951] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.615369] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.615761] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.616182] [] truncate_setsize+0x27/0x40 <4>[ 43.616567] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.616963] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.619267] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.619667] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.620064] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.620484] [] do_fallocate+0x123/0x1b0 <4>[ 43.620858] [] SyS_fallocate+0x43/0x70 <4>[ 43.621247] [] system_call_fastpath+0x16/0x1b <4>[ 43.621649] ---[ end trace 6a3b1350ad3999d8 ]--- <4>[ 43.625136] ------------[ cut here ]------------ <4>[ 43.625478] WARNING: CPU: 2 PID: 4450 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.626163] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.629660] CPU: 2 PID: 4450 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.630254] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.630889] 0000000000000009 ffff88007a483d88 ffffffff81859ea6 0000000000000000 <4>[ 43.631647] ffff88007a483dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20b1a8 <4>[ 43.632409] 0000000000000000 ffff88007c20b1a8 0000000004000000 ffff88007a483dd0 <4>[ 43.633165] Call Trace: <4>[ 43.633416] [] dump_stack+0x4d/0x66 <4>[ 43.633772] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.634193] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.634585] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.635000] [] truncate_setsize+0x27/0x40 <4>[ 43.635390] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.635788] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.636192] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.636592] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.636984] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.637409] [] do_fallocate+0x123/0x1b0 <4>[ 43.637783] [] SyS_fallocate+0x43/0x70 <4>[ 43.638171] [] system_call_fastpath+0x16/0x1b <4>[ 43.638573] ---[ end trace 6a3b1350ad3999d9 ]--- <4>[ 43.641915] ------------[ cut here ]------------ <4>[ 43.642276] WARNING: CPU: 2 PID: 4452 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.642939] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.646427] CPU: 2 PID: 4452 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.647030] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.647671] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.648428] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20b5a8 <4>[ 43.649184] 0000000000000000 ffff88007c20b5a8 0000000004000000 ffff88007a463dd0 <4>[ 43.649938] Call Trace: <4>[ 43.650195] [] dump_stack+0x4d/0x66 <4>[ 43.650552] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.650965] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.651363] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.651779] [] truncate_setsize+0x27/0x40 <4>[ 43.652169] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.652563] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.652961] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.653366] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.653759] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.654183] [] do_fallocate+0x123/0x1b0 <4>[ 43.654558] [] SyS_fallocate+0x43/0x70 <4>[ 43.654938] [] system_call_fastpath+0x16/0x1b <4>[ 43.655351] ---[ end trace 6a3b1350ad3999da ]--- <4>[ 43.658717] ------------[ cut here ]------------ <4>[ 43.659076] WARNING: CPU: 2 PID: 4454 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.659750] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.663261] CPU: 2 PID: 4454 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.663845] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.664488] 0000000000000009 ffff88007a487d88 ffffffff81859ea6 0000000000000000 <4>[ 43.665246] ffff88007a487dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20b9a8 <4>[ 43.665998] 0000000000000000 ffff88007c20b9a8 0000000004000000 ffff88007a487dd0 <4>[ 43.666753] Call Trace: <4>[ 43.667010] [] dump_stack+0x4d/0x66 <4>[ 43.667367] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.667781] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.668179] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.668594] [] truncate_setsize+0x27/0x40 <4>[ 43.668980] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.669381] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.669781] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.670184] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.670576] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.670995] [] do_fallocate+0x123/0x1b0 <4>[ 43.671380] [] SyS_fallocate+0x43/0x70 <4>[ 43.671754] [] system_call_fastpath+0x16/0x1b <4>[ 43.672167] ---[ end trace 6a3b1350ad3999db ]--- <4>[ 43.675534] ------------[ cut here ]------------ <4>[ 43.675892] WARNING: CPU: 2 PID: 4456 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.676572] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.680083] CPU: 2 PID: 4456 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.680674] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.681316] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.682070] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20bda8 <4>[ 43.682821] 0000000000000000 ffff88007c20bda8 0000000004000000 ffff88007bfabdd0 <4>[ 43.683582] Call Trace: <4>[ 43.683832] [] dump_stack+0x4d/0x66 <4>[ 43.684195] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.684609] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.685006] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.685422] [] truncate_setsize+0x27/0x40 <4>[ 43.685808] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.686210] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.686608] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.687014] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.687406] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.687825] [] do_fallocate+0x123/0x1b0 <4>[ 43.688208] [] SyS_fallocate+0x43/0x70 <4>[ 43.688583] [] system_call_fastpath+0x16/0x1b <4>[ 43.688990] ---[ end trace 6a3b1350ad3999dc ]--- <4>[ 43.692358] ------------[ cut here ]------------ <4>[ 43.692698] WARNING: CPU: 2 PID: 4458 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.693383] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.696883] CPU: 2 PID: 4458 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.697488] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.698130] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 43.698880] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20c1a8 <4>[ 43.699643] 0000000000000000 ffff88007c20c1a8 0000000004000000 ffff88007a4bbdd0 <4>[ 43.700401] Call Trace: <4>[ 43.700651] [] dump_stack+0x4d/0x66 <4>[ 43.701020] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.701431] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.701827] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.702232] [] truncate_setsize+0x27/0x40 <4>[ 43.702593] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.702960] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.703350] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.703750] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.704152] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.704572] [] do_fallocate+0x123/0x1b0 <4>[ 43.704951] [] SyS_fallocate+0x43/0x70 <4>[ 43.705330] [] system_call_fastpath+0x16/0x1b <4>[ 43.705734] ---[ end trace 6a3b1350ad3999dd ]--- <4>[ 43.709273] ------------[ cut here ]------------ <4>[ 43.709631] WARNING: CPU: 2 PID: 4462 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.712210] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.715707] CPU: 2 PID: 4462 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.716306] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.716946] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.717700] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20c5a8 <4>[ 43.718449] 0000000000000000 ffff88007c20c5a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.719207] Call Trace: <4>[ 43.719462] [] dump_stack+0x4d/0x66 <4>[ 43.719820] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.720239] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.720632] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.721052] [] truncate_setsize+0x27/0x40 <4>[ 43.721438] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.721833] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.722238] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.722638] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.723035] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.723454] [] do_fallocate+0x123/0x1b0 <4>[ 43.723828] [] SyS_fallocate+0x43/0x70 <4>[ 43.724213] [] system_call_fastpath+0x16/0x1b <4>[ 43.724617] ---[ end trace 6a3b1350ad3999de ]--- <4>[ 43.727914] ------------[ cut here ]------------ <4>[ 43.728264] WARNING: CPU: 2 PID: 4464 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.728950] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.732458] CPU: 2 PID: 4464 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.733062] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.733697] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.734453] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20c9a8 <4>[ 43.735214] 0000000000000000 ffff88007c20c9a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.735966] Call Trace: <4>[ 43.736224] [] dump_stack+0x4d/0x66 <4>[ 43.736582] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.736996] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.737394] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.737810] [] truncate_setsize+0x27/0x40 <4>[ 43.738200] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.738596] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.738994] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.739399] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.739792] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.740215] [] do_fallocate+0x123/0x1b0 <4>[ 43.740589] [] SyS_fallocate+0x43/0x70 <4>[ 43.740969] [] system_call_fastpath+0x16/0x1b <4>[ 43.741381] ---[ end trace 6a3b1350ad3999df ]--- <4>[ 43.744786] ------------[ cut here ]------------ <4>[ 43.745133] WARNING: CPU: 2 PID: 4466 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.745812] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.749307] CPU: 2 PID: 4466 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.749900] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.750543] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 43.751303] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20cda8 <4>[ 43.752059] 0000000000000000 ffff88007c20cda8 0000000004000000 ffff88007bfabdd0 <4>[ 43.752813] Call Trace: <4>[ 43.753069] [] dump_stack+0x4d/0x66 <4>[ 43.753426] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.753840] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.754238] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.754653] [] truncate_setsize+0x27/0x40 <4>[ 43.755043] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.755438] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.755837] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.756241] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.756635] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.757058] [] do_fallocate+0x123/0x1b0 <4>[ 43.757433] [] SyS_fallocate+0x43/0x70 <4>[ 43.757810] [] system_call_fastpath+0x16/0x1b <4>[ 43.758223] ---[ end trace 6a3b1350ad3999e0 ]--- <4>[ 43.761534] ------------[ cut here ]------------ <4>[ 43.761892] WARNING: CPU: 2 PID: 4468 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.762574] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.766076] CPU: 2 PID: 4468 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.766668] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.767310] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.768071] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20d1a8 <4>[ 43.768824] 0000000000000000 ffff88007c20d1a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.769586] Call Trace: <4>[ 43.769836] [] dump_stack+0x4d/0x66 <4>[ 43.770204] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.770613] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.771010] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.771426] [] truncate_setsize+0x27/0x40 <4>[ 43.771812] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.772212] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.772612] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.773016] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.773408] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.773827] [] do_fallocate+0x123/0x1b0 <4>[ 43.774213] [] SyS_fallocate+0x43/0x70 <4>[ 43.774589] [] system_call_fastpath+0x16/0x1b <4>[ 43.774997] ---[ end trace 6a3b1350ad3999e1 ]--- <4>[ 43.778509] ------------[ cut here ]------------ <4>[ 43.778853] WARNING: CPU: 2 PID: 4470 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.779540] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.783041] CPU: 2 PID: 4470 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.783640] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.784284] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 43.785044] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20d5a8 <4>[ 43.785797] 0000000000000000 ffff88007c20d5a8 0000000004000000 ffff88007a4bbdd0 <4>[ 43.786556] Call Trace: <4>[ 43.786806] [] dump_stack+0x4d/0x66 <4>[ 43.787169] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.787582] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.787974] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.788395] [] truncate_setsize+0x27/0x40 <4>[ 43.788781] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.789182] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.789581] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.789981] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.790378] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.790798] [] do_fallocate+0x123/0x1b0 <4>[ 43.791183] [] SyS_fallocate+0x43/0x70 <4>[ 43.791557] [] system_call_fastpath+0x16/0x1b <4>[ 43.791966] ---[ end trace 6a3b1350ad3999e2 ]--- <4>[ 43.795339] ------------[ cut here ]------------ <4>[ 43.795689] WARNING: CPU: 2 PID: 4472 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.796374] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.799860] CPU: 2 PID: 4472 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.800465] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.803013] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.803756] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20d9a8 <4>[ 43.804512] 0000000000000000 ffff88007c20d9a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.805273] Call Trace: <4>[ 43.805522] [] dump_stack+0x4d/0x66 <4>[ 43.805879] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.806300] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.806693] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.807114] [] truncate_setsize+0x27/0x40 <4>[ 43.807500] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.807896] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.808300] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.808701] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.809099] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.809518] [] do_fallocate+0x123/0x1b0 <4>[ 43.809892] [] SyS_fallocate+0x43/0x70 <4>[ 43.810278] [] system_call_fastpath+0x16/0x1b <4>[ 43.810682] ---[ end trace 6a3b1350ad3999e3 ]--- <4>[ 43.814025] ------------[ cut here ]------------ <4>[ 43.814366] WARNING: CPU: 2 PID: 4474 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.815050] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.818552] CPU: 2 PID: 4474 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.819150] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.819790] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.820541] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20dda8 <4>[ 43.821297] 0000000000000000 ffff88007c20dda8 0000000004000000 ffff88007a463dd0 <4>[ 43.822046] Call Trace: <4>[ 43.822301] [] dump_stack+0x4d/0x66 <4>[ 43.822658] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.823077] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.823470] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.823885] [] truncate_setsize+0x27/0x40 <4>[ 43.824276] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.824670] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.825074] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.825473] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.825865] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.826289] [] do_fallocate+0x123/0x1b0 <4>[ 43.826664] [] SyS_fallocate+0x43/0x70 <4>[ 43.827052] [] system_call_fastpath+0x16/0x1b <4>[ 43.827456] ---[ end trace 6a3b1350ad3999e4 ]--- <4>[ 43.830848] ------------[ cut here ]------------ <4>[ 43.831201] WARNING: CPU: 2 PID: 4476 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.831880] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.835380] CPU: 2 PID: 4476 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.835978] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.836621] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 43.837375] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20e1a8 <4>[ 43.838124] 0000000000000000 ffff88007c20e1a8 0000000004000000 ffff88007bf8bdd0 <4>[ 43.838876] Call Trace: <4>[ 43.839133] [] dump_stack+0x4d/0x66 <4>[ 43.839490] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.839902] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.840301] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.840717] [] truncate_setsize+0x27/0x40 <4>[ 43.841108] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.841502] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.841900] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.842306] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.842699] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.843122] [] do_fallocate+0x123/0x1b0 <4>[ 43.843497] [] SyS_fallocate+0x43/0x70 <4>[ 43.843877] [] system_call_fastpath+0x16/0x1b <4>[ 43.844290] ---[ end trace 6a3b1350ad3999e5 ]--- <4>[ 43.847621] ------------[ cut here ]------------ <4>[ 43.847961] WARNING: CPU: 2 PID: 4478 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.848647] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.852152] CPU: 2 PID: 4478 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.852746] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.853390] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 43.854146] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20e5a8 <4>[ 43.854899] 0000000000000000 ffff88007c20e5a8 0000000004000000 ffff88007a4b3dd0 <4>[ 43.855654] Call Trace: <4>[ 43.855905] [] dump_stack+0x4d/0x66 <4>[ 43.856273] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.856682] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.857079] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.857495] [] truncate_setsize+0x27/0x40 <4>[ 43.857881] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.858283] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.858682] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.859086] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.859478] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.859897] [] do_fallocate+0x123/0x1b0 <4>[ 43.860283] [] SyS_fallocate+0x43/0x70 <4>[ 43.860657] [] system_call_fastpath+0x16/0x1b <4>[ 43.861071] ---[ end trace 6a3b1350ad3999e6 ]--- <4>[ 43.864316] ------------[ cut here ]------------ <4>[ 43.864656] WARNING: CPU: 2 PID: 4480 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.865345] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.868851] CPU: 2 PID: 4480 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.869450] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.870092] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 43.870843] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20e9a8 <4>[ 43.871607] 0000000000000000 ffff88007c20e9a8 0000000004000000 ffff88007a4c7dd0 <4>[ 43.872366] Call Trace: <4>[ 43.872616] [] dump_stack+0x4d/0x66 <4>[ 43.872973] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.873393] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.873786] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.874205] [] truncate_setsize+0x27/0x40 <4>[ 43.874591] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.874987] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.875391] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.875790] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.876186] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.876605] [] do_fallocate+0x123/0x1b0 <4>[ 43.876980] [] SyS_fallocate+0x43/0x70 <4>[ 43.877368] [] system_call_fastpath+0x16/0x1b <4>[ 43.877770] ---[ end trace 6a3b1350ad3999e7 ]--- <4>[ 43.881071] ------------[ cut here ]------------ <4>[ 43.881422] WARNING: CPU: 2 PID: 4482 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.882106] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.885602] CPU: 2 PID: 4482 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.886205] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.886839] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.887597] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20eda8 <4>[ 43.888353] 0000000000000000 ffff88007c20eda8 0000000004000000 ffff88007a57fdd0 <4>[ 43.889092] Call Trace: <4>[ 43.889358] [] dump_stack+0x4d/0x66 <4>[ 43.889716] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.890135] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.892431] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.892847] [] truncate_setsize+0x27/0x40 <4>[ 43.893235] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.893631] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.894033] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.894433] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.894825] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.895249] [] do_fallocate+0x123/0x1b0 <4>[ 43.895624] [] SyS_fallocate+0x43/0x70 <4>[ 43.896007] [] system_call_fastpath+0x16/0x1b <4>[ 43.896413] ---[ end trace 6a3b1350ad3999e8 ]--- <4>[ 43.899657] ------------[ cut here ]------------ <4>[ 43.899998] WARNING: CPU: 2 PID: 4484 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.900683] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.904189] CPU: 2 PID: 4484 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.904782] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.905427] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.906180] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c20f1a8 <4>[ 43.906925] 0000000000000000 ffff88007c20f1a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.907682] Call Trace: <4>[ 43.907930] [] dump_stack+0x4d/0x66 <4>[ 43.908294] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.908706] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.909103] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.909518] [] truncate_setsize+0x27/0x40 <4>[ 43.909903] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.910305] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.910704] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.911107] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.911500] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.911918] [] do_fallocate+0x123/0x1b0 <4>[ 43.912305] [] SyS_fallocate+0x43/0x70 <4>[ 43.912681] [] system_call_fastpath+0x16/0x1b <4>[ 43.913093] ---[ end trace 6a3b1350ad3999e9 ]--- <4>[ 43.916454] ------------[ cut here ]------------ <4>[ 43.916803] WARNING: CPU: 2 PID: 4486 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.917488] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.920994] CPU: 2 PID: 4486 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.921592] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.922230] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 43.922985] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20f5a8 <4>[ 43.923746] 0000000000000000 ffff88007c20f5a8 0000000004000000 ffff88007a4bbdd0 <4>[ 43.924503] Call Trace: <4>[ 43.924754] [] dump_stack+0x4d/0x66 <4>[ 43.925117] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.925530] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.925922] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.926344] [] truncate_setsize+0x27/0x40 <4>[ 43.926729] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.927129] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.927528] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.927927] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.928325] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.928745] [] do_fallocate+0x123/0x1b0 <4>[ 43.929129] [] SyS_fallocate+0x43/0x70 <4>[ 43.929504] [] system_call_fastpath+0x16/0x1b <4>[ 43.929912] ---[ end trace 6a3b1350ad3999ea ]--- <4>[ 43.933179] ------------[ cut here ]------------ <4>[ 43.933520] WARNING: CPU: 2 PID: 4488 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.934206] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.937704] CPU: 2 PID: 4488 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.938307] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.938947] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 43.939703] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20f9a8 <4>[ 43.940472] 0000000000000000 ffff88007c20f9a8 0000000004000000 ffff88007a57fdd0 <4>[ 43.941229] Call Trace: <4>[ 43.941479] [] dump_stack+0x4d/0x66 <4>[ 43.941836] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.942265] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.942657] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.943077] [] truncate_setsize+0x27/0x40 <4>[ 43.943462] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.943858] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.944263] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.944663] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.945060] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.945480] [] do_fallocate+0x123/0x1b0 <4>[ 43.945854] [] SyS_fallocate+0x43/0x70 <4>[ 43.946239] [] system_call_fastpath+0x16/0x1b <4>[ 43.946645] ---[ end trace 6a3b1350ad3999eb ]--- <4>[ 43.950031] ------------[ cut here ]------------ <4>[ 43.950372] WARNING: CPU: 2 PID: 4490 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.951057] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.954570] CPU: 2 PID: 4490 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.955170] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.955804] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 43.956563] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c20fda8 <4>[ 43.957315] 0000000000000000 ffff88007c20fda8 0000000004000000 ffff88007bf8bdd0 <4>[ 43.958071] Call Trace: <4>[ 43.958328] [] dump_stack+0x4d/0x66 <4>[ 43.958685] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.959106] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.959499] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.959915] [] truncate_setsize+0x27/0x40 <4>[ 43.960306] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.960700] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.961105] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.961505] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.961897] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.962322] [] do_fallocate+0x123/0x1b0 <4>[ 43.962697] [] SyS_fallocate+0x43/0x70 <4>[ 43.963084] [] system_call_fastpath+0x16/0x1b <4>[ 43.963487] ---[ end trace 6a3b1350ad3999ec ]--- <4>[ 43.966966] ------------[ cut here ]------------ <4>[ 43.967313] WARNING: CPU: 2 PID: 4492 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.967987] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.971484] CPU: 2 PID: 4492 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.972083] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.972724] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 43.973475] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2101a8 <4>[ 43.974237] 0000000000000000 ffff88007c2101a8 0000000004000000 ffff88007bf43dd0 <4>[ 43.974982] Call Trace: <4>[ 43.975248] [] dump_stack+0x4d/0x66 <4>[ 43.975605] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.976025] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.976417] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.976833] [] truncate_setsize+0x27/0x40 <4>[ 43.977223] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.977618] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.978022] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.978422] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.978815] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.979239] [] do_fallocate+0x123/0x1b0 <4>[ 43.979613] [] SyS_fallocate+0x43/0x70 <4>[ 43.979992] [] system_call_fastpath+0x16/0x1b <4>[ 43.982305] ---[ end trace 6a3b1350ad3999ed ]--- <4>[ 43.985736] ------------[ cut here ]------------ <4>[ 43.986085] WARNING: CPU: 2 PID: 4494 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 43.986761] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 43.990259] CPU: 2 PID: 4494 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 43.990853] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 43.991496] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 43.992255] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2105a8 <4>[ 43.993009] 0000000000000000 ffff88007c2105a8 0000000004000000 ffff88007a463dd0 <4>[ 43.993764] Call Trace: <4>[ 43.994019] [] dump_stack+0x4d/0x66 <4>[ 43.994377] [] warn_slowpath_common+0x7d/0xa0 <4>[ 43.994791] [] warn_slowpath_null+0x1a/0x20 <4>[ 43.995189] [] pagecache_isize_extended+0xdd/0x120 <4>[ 43.995604] [] truncate_setsize+0x27/0x40 <4>[ 43.995990] [] xfs_setattr_size+0x157/0x3a0 <4>[ 43.996391] [] ? xfs_trans_commit+0x157/0x250 <4>[ 43.996790] [] xfs_file_fallocate+0x2df/0x300 <4>[ 43.997194] [] ? __sb_start_write+0x49/0xf0 <4>[ 43.997586] [] ? selinux_file_permission+0xc4/0x120 <4>[ 43.998011] [] do_fallocate+0x123/0x1b0 <4>[ 43.998386] [] SyS_fallocate+0x43/0x70 <4>[ 43.998765] [] system_call_fastpath+0x16/0x1b <4>[ 43.999180] ---[ end trace 6a3b1350ad3999ee ]--- <4>[ 44.002740] ------------[ cut here ]------------ <4>[ 44.003086] WARNING: CPU: 2 PID: 4496 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.003762] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.007262] CPU: 2 PID: 4496 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.007855] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.008499] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.009250] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2109a8 <4>[ 44.009995] 0000000000000000 ffff88007c2109a8 0000000004000000 ffff88007a4a3dd0 <4>[ 44.010752] Call Trace: <4>[ 44.011008] [] dump_stack+0x4d/0x66 <4>[ 44.011367] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.011781] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.012177] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.012594] [] truncate_setsize+0x27/0x40 <4>[ 44.012979] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.013380] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.013779] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.014183] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.014576] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.014994] [] do_fallocate+0x123/0x1b0 <4>[ 44.015379] [] SyS_fallocate+0x43/0x70 <4>[ 44.015756] [] system_call_fastpath+0x16/0x1b <4>[ 44.016165] ---[ end trace 6a3b1350ad3999ef ]--- <4>[ 44.019657] ------------[ cut here ]------------ <4>[ 44.019997] WARNING: CPU: 2 PID: 4498 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.020683] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.024182] CPU: 2 PID: 4498 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.024775] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.025420] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 44.026172] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c210da8 <4>[ 44.026925] 0000000000000000 ffff88007c210da8 0000000004000000 ffff88007a4c7dd0 <4>[ 44.027681] Call Trace: <4>[ 44.027932] [] dump_stack+0x4d/0x66 <4>[ 44.028301] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.028710] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.029106] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.029521] [] truncate_setsize+0x27/0x40 <4>[ 44.029906] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.030309] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.030708] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.031112] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.031504] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.031922] [] do_fallocate+0x123/0x1b0 <4>[ 44.032308] [] SyS_fallocate+0x43/0x70 <4>[ 44.032682] [] system_call_fastpath+0x16/0x1b <4>[ 44.033095] ---[ end trace 6a3b1350ad3999f0 ]--- <4>[ 44.036764] ------------[ cut here ]------------ <4>[ 44.037132] WARNING: CPU: 2 PID: 4500 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.037812] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.041316] CPU: 2 PID: 4500 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.041910] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.042555] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 44.043302] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2111a8 <4>[ 44.044058] 0000000000000000 ffff88007c2111a8 0000000004000000 ffff88007bf43dd0 <4>[ 44.044808] Call Trace: <4>[ 44.045069] [] dump_stack+0x4d/0x66 <4>[ 44.045426] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.045840] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.046237] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.046653] [] truncate_setsize+0x27/0x40 <4>[ 44.047045] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.047438] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.047838] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.048242] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.048635] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.049058] [] do_fallocate+0x123/0x1b0 <4>[ 44.049433] [] SyS_fallocate+0x43/0x70 <4>[ 44.049813] [] system_call_fastpath+0x16/0x1b <4>[ 44.050223] ---[ end trace 6a3b1350ad3999f1 ]--- <4>[ 44.053575] ------------[ cut here ]------------ <4>[ 44.053916] WARNING: CPU: 2 PID: 4502 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.054602] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.058104] CPU: 2 PID: 4502 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.058697] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.059340] 0000000000000009 ffff8800009f7d88 ffffffff81859ea6 0000000000000000 <4>[ 44.060095] ffff8800009f7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2115a8 <4>[ 44.060848] 0000000000000000 ffff88007c2115a8 0000000004000000 ffff8800009f7dd0 <4>[ 44.061604] Call Trace: <4>[ 44.061854] [] dump_stack+0x4d/0x66 <4>[ 44.062217] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.062632] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.063028] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.063444] [] truncate_setsize+0x27/0x40 <4>[ 44.063829] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.064230] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.064630] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.065034] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.065426] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.065845] [] do_fallocate+0x123/0x1b0 <4>[ 44.066230] [] SyS_fallocate+0x43/0x70 <4>[ 44.066606] [] system_call_fastpath+0x16/0x1b <4>[ 44.067020] ---[ end trace 6a3b1350ad3999f2 ]--- <4>[ 44.070459] ------------[ cut here ]------------ <4>[ 44.070804] WARNING: CPU: 2 PID: 4504 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.071492] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.076910] CPU: 2 PID: 4504 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.077497] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.078140] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 44.078889] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2119a8 <4>[ 44.079649] 0000000000000000 ffff88007c2119a8 0000000004000000 ffff88007bf8bdd0 <4>[ 44.080404] Call Trace: <4>[ 44.080655] [] dump_stack+0x4d/0x66 <4>[ 44.081023] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.081433] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.081825] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.082246] [] truncate_setsize+0x27/0x40 <4>[ 44.082633] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.083033] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.083433] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.083833] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.084230] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.084649] [] do_fallocate+0x123/0x1b0 <4>[ 44.085034] [] SyS_fallocate+0x43/0x70 <4>[ 44.085409] [] system_call_fastpath+0x16/0x1b <4>[ 44.085817] ---[ end trace 6a3b1350ad3999f3 ]--- <4>[ 44.089333] ------------[ cut here ]------------ <4>[ 44.089675] WARNING: CPU: 2 PID: 4506 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.090362] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.093868] CPU: 2 PID: 4506 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.094465] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.095108] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 44.095858] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c211da8 <4>[ 44.096620] 0000000000000000 ffff88007c211da8 0000000004000000 ffff88007a57fdd0 <4>[ 44.097378] Call Trace: <4>[ 44.097628] [] dump_stack+0x4d/0x66 <4>[ 44.097986] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.098406] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.098799] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.099219] [] truncate_setsize+0x27/0x40 <4>[ 44.099604] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.100000] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.100404] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.100804] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.101200] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.101620] [] do_fallocate+0x123/0x1b0 <4>[ 44.101994] [] SyS_fallocate+0x43/0x70 <4>[ 44.102379] [] system_call_fastpath+0x16/0x1b <4>[ 44.102783] ---[ end trace 6a3b1350ad3999f4 ]--- <4>[ 44.106298] ------------[ cut here ]------------ <4>[ 44.106645] WARNING: CPU: 2 PID: 4508 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.107336] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.110831] CPU: 2 PID: 4508 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.111433] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.112071] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 44.112825] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2121a8 <4>[ 44.113581] 0000000000000000 ffff88007c2121a8 0000000004000000 ffff88007a4bbdd0 <4>[ 44.114343] Call Trace: <4>[ 44.114598] [] dump_stack+0x4d/0x66 <4>[ 44.114955] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.115374] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.115767] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.116188] [] truncate_setsize+0x27/0x40 <4>[ 44.116574] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.116970] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.117374] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.117774] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.118174] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.118593] [] do_fallocate+0x123/0x1b0 <4>[ 44.118968] [] SyS_fallocate+0x43/0x70 <4>[ 44.119356] [] system_call_fastpath+0x16/0x1b <4>[ 44.119758] ---[ end trace 6a3b1350ad3999f5 ]--- <4>[ 44.123275] ------------[ cut here ]------------ <4>[ 44.123626] WARNING: CPU: 2 PID: 4510 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.124297] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.127792] CPU: 2 PID: 4510 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.128391] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.129034] 0000000000000009 ffff88007a4b3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.129787] ffff88007a4b3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2125a8 <4>[ 44.130548] 0000000000000000 ffff88007c2125a8 0000000004000000 ffff88007a4b3dd0 <4>[ 44.131304] Call Trace: <4>[ 44.131555] [] dump_stack+0x4d/0x66 <4>[ 44.131913] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.132333] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.132726] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.133145] [] truncate_setsize+0x27/0x40 <4>[ 44.133531] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.133927] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.134332] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.134732] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.135128] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.135546] [] do_fallocate+0x123/0x1b0 <4>[ 44.135921] [] SyS_fallocate+0x43/0x70 <4>[ 44.136306] [] system_call_fastpath+0x16/0x1b <4>[ 44.136710] ---[ end trace 6a3b1350ad3999f6 ]--- <4>[ 44.140099] ------------[ cut here ]------------ <4>[ 44.140440] WARNING: CPU: 2 PID: 4512 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.141124] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.144628] CPU: 2 PID: 4512 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.145227] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.145862] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 44.146623] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2129a8 <4>[ 44.147365] 0000000000000000 ffff88007c2129a8 0000000004000000 ffff88007a463dd0 <4>[ 44.148126] Call Trace: <4>[ 44.148386] [] dump_stack+0x4d/0x66 <4>[ 44.148743] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.149162] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.149554] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.149970] [] truncate_setsize+0x27/0x40 <4>[ 44.150360] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.150754] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.151158] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.151557] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.151949] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.152373] [] do_fallocate+0x123/0x1b0 <4>[ 44.152748] [] SyS_fallocate+0x43/0x70 <4>[ 44.153132] [] system_call_fastpath+0x16/0x1b <4>[ 44.153539] ---[ end trace 6a3b1350ad3999f7 ]--- <4>[ 44.157027] ------------[ cut here ]------------ <4>[ 44.157373] WARNING: CPU: 2 PID: 4514 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.158057] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.161562] CPU: 2 PID: 4514 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.162165] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.162806] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 44.163560] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c212da8 <4>[ 44.164312] 0000000000000000 ffff88007c212da8 0000000004000000 ffff88007bfabdd0 <4>[ 44.166975] Call Trace: <4>[ 44.167227] [] dump_stack+0x4d/0x66 <4>[ 44.167584] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.167996] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.168394] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.168810] [] truncate_setsize+0x27/0x40 <4>[ 44.169199] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.169593] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.169992] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.170397] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.170790] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.171212] [] do_fallocate+0x123/0x1b0 <4>[ 44.171587] [] SyS_fallocate+0x43/0x70 <4>[ 44.171967] [] system_call_fastpath+0x16/0x1b <4>[ 44.172379] ---[ end trace 6a3b1350ad3999f8 ]--- <4>[ 44.175764] ------------[ cut here ]------------ <4>[ 44.176114] WARNING: CPU: 2 PID: 4516 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.176791] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.180285] CPU: 2 PID: 4516 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.180880] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.181523] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 44.182283] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2131a8 <4>[ 44.183039] 0000000000000000 ffff88007c2131a8 0000000004000000 ffff88007a4c7dd0 <4>[ 44.183797] Call Trace: <4>[ 44.184051] [] dump_stack+0x4d/0x66 <4>[ 44.184409] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.184824] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.185221] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.185636] [] truncate_setsize+0x27/0x40 <4>[ 44.186026] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.186421] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.186820] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.187224] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.187618] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.188042] [] do_fallocate+0x123/0x1b0 <4>[ 44.188417] [] SyS_fallocate+0x43/0x70 <4>[ 44.188796] [] system_call_fastpath+0x16/0x1b <4>[ 44.189209] ---[ end trace 6a3b1350ad3999f9 ]--- <4>[ 44.192584] ------------[ cut here ]------------ <4>[ 44.192930] WARNING: CPU: 2 PID: 4518 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.193618] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.197102] CPU: 2 PID: 4518 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.197695] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.198336] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.199079] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2135a8 <4>[ 44.199834] 0000000000000000 ffff88007c2135a8 0000000004000000 ffff88007a4a3dd0 <4>[ 44.200595] Call Trace: <4>[ 44.200846] [] dump_stack+0x4d/0x66 <4>[ 44.201209] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.201622] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.202020] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.202436] [] truncate_setsize+0x27/0x40 <4>[ 44.202821] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.203222] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.203622] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.204026] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.204419] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.204850] [] do_fallocate+0x123/0x1b0 <4>[ 44.205237] [] SyS_fallocate+0x43/0x70 <4>[ 44.205613] [] system_call_fastpath+0x16/0x1b <4>[ 44.206027] ---[ end trace 6a3b1350ad3999fa ]--- <4>[ 44.209443] ------------[ cut here ]------------ <4>[ 44.209782] WARNING: CPU: 2 PID: 4520 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.210468] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.213971] CPU: 2 PID: 4520 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.214570] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.215207] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 44.215950] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2139a8 <4>[ 44.216711] 0000000000000000 ffff88007c2139a8 0000000004000000 ffff88007bfabdd0 <4>[ 44.217472] Call Trace: <4>[ 44.217727] [] dump_stack+0x4d/0x66 <4>[ 44.218091] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.218504] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.218896] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.219317] [] truncate_setsize+0x27/0x40 <4>[ 44.219702] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.220103] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.220502] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.220902] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.221300] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.221720] [] do_fallocate+0x123/0x1b0 <4>[ 44.222105] [] SyS_fallocate+0x43/0x70 <4>[ 44.222479] [] system_call_fastpath+0x16/0x1b <4>[ 44.222887] ---[ end trace 6a3b1350ad3999fb ]--- <4>[ 44.226262] ------------[ cut here ]------------ <4>[ 44.226603] WARNING: CPU: 2 PID: 4522 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.227290] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.230790] CPU: 2 PID: 4522 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.231394] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.232037] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 44.232799] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c213da8 <4>[ 44.233555] 0000000000000000 ffff88007c213da8 0000000004000000 ffff88007bf8bdd0 <4>[ 44.234315] Call Trace: <4>[ 44.234564] [] dump_stack+0x4d/0x66 <4>[ 44.234921] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.235340] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.235734] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.236153] [] truncate_setsize+0x27/0x40 <4>[ 44.236539] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.236934] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.237339] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.237740] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.238136] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.238555] [] do_fallocate+0x123/0x1b0 <4>[ 44.238930] [] SyS_fallocate+0x43/0x70 <4>[ 44.239317] [] system_call_fastpath+0x16/0x1b <4>[ 44.239720] ---[ end trace 6a3b1350ad3999fc ]--- <4>[ 44.242976] ------------[ cut here ]------------ <4>[ 44.243322] WARNING: CPU: 2 PID: 4524 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.243998] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.247519] CPU: 2 PID: 4524 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.248116] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.248757] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 44.249514] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2281a8 <4>[ 44.250272] 0000000000000000 ffff88007c2281a8 0000000004000000 ffff88007a463dd0 <4>[ 44.251028] Call Trace: <4>[ 44.251279] [] dump_stack+0x4d/0x66 <4>[ 44.251636] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.252055] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.252447] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.252862] [] truncate_setsize+0x27/0x40 <4>[ 44.253254] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.253648] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.254051] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.254450] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.256743] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.257177] [] do_fallocate+0x123/0x1b0 <4>[ 44.257552] [] SyS_fallocate+0x43/0x70 <4>[ 44.257931] [] system_call_fastpath+0x16/0x1b <4>[ 44.258342] ---[ end trace 6a3b1350ad3999fd ]--- <4>[ 44.261752] ------------[ cut here ]------------ <4>[ 44.262101] WARNING: CPU: 2 PID: 4526 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.262778] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.266274] CPU: 2 PID: 4526 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.266867] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.267510] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 44.268269] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2285a8 <4>[ 44.269025] 0000000000000000 ffff88007c2285a8 0000000004000000 ffff88007bf43dd0 <4>[ 44.269776] Call Trace: <4>[ 44.270032] [] dump_stack+0x4d/0x66 <4>[ 44.270390] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.270804] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.271201] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.271617] [] truncate_setsize+0x27/0x40 <4>[ 44.272008] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.272401] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.272800] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.273205] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.273598] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.274021] [] do_fallocate+0x123/0x1b0 <4>[ 44.274396] [] SyS_fallocate+0x43/0x70 <4>[ 44.274776] [] system_call_fastpath+0x16/0x1b <4>[ 44.275189] ---[ end trace 6a3b1350ad3999fe ]--- <4>[ 44.278670] ------------[ cut here ]------------ <4>[ 44.279021] WARNING: CPU: 2 PID: 4528 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.279697] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.283192] CPU: 2 PID: 4528 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.283786] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.284430] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 44.285189] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2289a8 <4>[ 44.285941] 0000000000000000 ffff88007c2289a8 0000000004000000 ffff88007a4bbdd0 <4>[ 44.286698] Call Trace: <4>[ 44.286947] [] dump_stack+0x4d/0x66 <4>[ 44.287316] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.287725] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.288122] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.288538] [] truncate_setsize+0x27/0x40 <4>[ 44.288923] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.289326] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.289724] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.290130] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.290522] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.290940] [] do_fallocate+0x123/0x1b0 <4>[ 44.291327] [] SyS_fallocate+0x43/0x70 <4>[ 44.291704] [] system_call_fastpath+0x16/0x1b <4>[ 44.292118] ---[ end trace 6a3b1350ad3999ff ]--- <4>[ 44.295589] ------------[ cut here ]------------ <4>[ 44.295930] WARNING: CPU: 2 PID: 4530 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.296614] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.300120] CPU: 2 PID: 4530 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.300712] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.301355] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 44.302110] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c228da8 <4>[ 44.302857] 0000000000000000 ffff88007c228da8 0000000004000000 ffff88007bfabdd0 <4>[ 44.303618] Call Trace: <4>[ 44.303869] [] dump_stack+0x4d/0x66 <4>[ 44.304238] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.304647] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.305044] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.305459] [] truncate_setsize+0x27/0x40 <4>[ 44.305844] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.306245] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.306644] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.307048] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.307441] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.307859] [] do_fallocate+0x123/0x1b0 <4>[ 44.308245] [] SyS_fallocate+0x43/0x70 <4>[ 44.308622] [] system_call_fastpath+0x16/0x1b <4>[ 44.309034] ---[ end trace 6a3b1350ad399a00 ]--- <4>[ 44.312396] ------------[ cut here ]------------ <4>[ 44.312735] WARNING: CPU: 2 PID: 4532 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.313423] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.316915] CPU: 2 PID: 4532 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.317519] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.318162] 0000000000000009 ffff88007a57fd88 ffffffff81859ea6 0000000000000000 <4>[ 44.318913] ffff88007a57fdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2291a8 <4>[ 44.319675] 0000000000000000 ffff88007c2291a8 0000000004000000 ffff88007a57fdd0 <4>[ 44.320433] Call Trace: <4>[ 44.320683] [] dump_stack+0x4d/0x66 <4>[ 44.321052] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.321461] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.321853] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.322274] [] truncate_setsize+0x27/0x40 <4>[ 44.322659] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.323061] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.323461] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.323860] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.324258] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.324677] [] do_fallocate+0x123/0x1b0 <4>[ 44.325063] [] SyS_fallocate+0x43/0x70 <4>[ 44.325438] [] system_call_fastpath+0x16/0x1b <4>[ 44.325843] ---[ end trace 6a3b1350ad399a01 ]--- <4>[ 44.329181] ------------[ cut here ]------------ <4>[ 44.329522] WARNING: CPU: 2 PID: 4534 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.330210] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.333696] CPU: 2 PID: 4534 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.334300] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.334940] 0000000000000009 ffff88007a4c7d88 ffffffff81859ea6 0000000000000000 <4>[ 44.335696] ffff88007a4c7dc0 ffffffff8106ef0d 0000000000001000 ffff88007c2295a8 <4>[ 44.336450] 0000000000000000 ffff88007c2295a8 0000000004000000 ffff88007a4c7dd0 <4>[ 44.337208] Call Trace: <4>[ 44.337457] [] dump_stack+0x4d/0x66 <4>[ 44.337814] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.338234] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.338627] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.339047] [] truncate_setsize+0x27/0x40 <4>[ 44.339432] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.339828] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.340233] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.340632] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.341028] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.341447] [] do_fallocate+0x123/0x1b0 <4>[ 44.341822] [] SyS_fallocate+0x43/0x70 <4>[ 44.342206] [] system_call_fastpath+0x16/0x1b <4>[ 44.342612] ---[ end trace 6a3b1350ad399a02 ]--- <4>[ 44.346164] ------------[ cut here ]------------ <4>[ 44.346505] WARNING: CPU: 2 PID: 4536 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.347194] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.352583] CPU: 2 PID: 4536 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.353187] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.353828] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 44.354581] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c2299a8 <4>[ 44.355333] 0000000000000000 ffff88007c2299a8 0000000004000000 ffff88007a4bbdd0 <4>[ 44.356089] Call Trace: <4>[ 44.356347] [] dump_stack+0x4d/0x66 <4>[ 44.356704] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.357121] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.357513] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.357928] [] truncate_setsize+0x27/0x40 <4>[ 44.358320] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.358713] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.359117] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.359516] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.359908] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.360333] [] do_fallocate+0x123/0x1b0 <4>[ 44.360708] [] SyS_fallocate+0x43/0x70 <4>[ 44.361091] [] system_call_fastpath+0x16/0x1b <4>[ 44.361496] ---[ end trace 6a3b1350ad399a03 ]--- <4>[ 44.364767] ------------[ cut here ]------------ <4>[ 44.365114] WARNING: CPU: 2 PID: 4538 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.365794] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.369290] CPU: 2 PID: 4538 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.369883] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.370526] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.371279] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c229da8 <4>[ 44.372035] 0000000000000000 ffff88007c229da8 0000000004000000 ffff88007a4a3dd0 <4>[ 44.372790] Call Trace: <4>[ 44.373046] [] dump_stack+0x4d/0x66 <4>[ 44.373404] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.373818] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.374218] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.374633] [] truncate_setsize+0x27/0x40 <4>[ 44.375024] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.375418] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.375816] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.376220] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.376613] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.377037] [] do_fallocate+0x123/0x1b0 <4>[ 44.377411] [] SyS_fallocate+0x43/0x70 <4>[ 44.377791] [] system_call_fastpath+0x16/0x1b <4>[ 44.378205] ---[ end trace 6a3b1350ad399a04 ]--- <4>[ 44.381675] ------------[ cut here ]------------ <4>[ 44.382035] WARNING: CPU: 2 PID: 4540 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.382709] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.386214] CPU: 2 PID: 4540 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.386808] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.387451] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 44.388204] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c22a1a8 <4>[ 44.388956] 0000000000000000 ffff88007c22a1a8 0000000004000000 ffff88007a463dd0 <4>[ 44.389714] Call Trace: <4>[ 44.389965] [] dump_stack+0x4d/0x66 <4>[ 44.390333] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.390742] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.391140] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.391556] [] truncate_setsize+0x27/0x40 <4>[ 44.391941] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.392342] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.392741] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.393146] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.393539] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.393958] [] do_fallocate+0x123/0x1b0 <4>[ 44.394343] [] SyS_fallocate+0x43/0x70 <4>[ 44.394719] [] system_call_fastpath+0x16/0x1b <4>[ 44.395132] ---[ end trace 6a3b1350ad399a05 ]--- <4>[ 44.398565] ------------[ cut here ]------------ <4>[ 44.398906] WARNING: CPU: 2 PID: 4542 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.399592] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.403094] CPU: 2 PID: 4542 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.403687] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.404331] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 44.405080] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c22a5a8 <4>[ 44.405827] 0000000000000000 ffff88007c22a5a8 0000000004000000 ffff88007bf8bdd0 <4>[ 44.406589] Call Trace: <4>[ 44.406839] [] dump_stack+0x4d/0x66 <4>[ 44.407207] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.407615] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.408013] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.408428] [] truncate_setsize+0x27/0x40 <4>[ 44.408814] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.409215] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.409615] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.410019] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.410411] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.410829] [] do_fallocate+0x123/0x1b0 <4>[ 44.411211] [] SyS_fallocate+0x43/0x70 <4>[ 44.411585] [] system_call_fastpath+0x16/0x1b <4>[ 44.411994] ---[ end trace 6a3b1350ad399a06 ]--- <4>[ 44.415324] ------------[ cut here ]------------ <4>[ 44.415663] WARNING: CPU: 2 PID: 4544 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.416349] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.419846] CPU: 2 PID: 4544 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.420449] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.421090] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 44.421841] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c22a9a8 <4>[ 44.422602] 0000000000000000 ffff88007c22a9a8 0000000004000000 ffff88007a4bbdd0 <4>[ 44.423361] Call Trace: <4>[ 44.423610] [] dump_stack+0x4d/0x66 <4>[ 44.423967] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.424387] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.424780] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.425200] [] truncate_setsize+0x27/0x40 <4>[ 44.425586] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.425981] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.426385] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.426784] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.427180] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.427599] [] do_fallocate+0x123/0x1b0 <4>[ 44.427974] [] SyS_fallocate+0x43/0x70 <4>[ 44.428358] [] system_call_fastpath+0x16/0x1b <4>[ 44.428762] ---[ end trace 6a3b1350ad399a07 ]--- <4>[ 44.432179] ------------[ cut here ]------------ <4>[ 44.432539] WARNING: CPU: 2 PID: 4546 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.433220] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.436718] CPU: 2 PID: 4546 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.437315] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.437955] 0000000000000009 ffff88007bf43d88 ffffffff81859ea6 0000000000000000 <4>[ 44.440624] ffff88007bf43dc0 ffffffff8106ef0d 0000000000001000 ffff88007c22ada8 <4>[ 44.441377] 0000000000000000 ffff88007c22ada8 0000000004000000 ffff88007bf43dd0 <4>[ 44.442126] Call Trace: <4>[ 44.442379] [] dump_stack+0x4d/0x66 <4>[ 44.442744] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.443165] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.443559] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.443973] [] truncate_setsize+0x27/0x40 <4>[ 44.444364] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.444758] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.445161] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.445560] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.445952] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.446376] [] do_fallocate+0x123/0x1b0 <4>[ 44.446751] [] SyS_fallocate+0x43/0x70 <4>[ 44.447139] [] system_call_fastpath+0x16/0x1b <4>[ 44.447541] ---[ end trace 6a3b1350ad399a08 ]--- <4>[ 44.450777] ------------[ cut here ]------------ <4>[ 44.451129] WARNING: CPU: 2 PID: 4548 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.451806] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.455335] CPU: 2 PID: 4548 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.455920] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.456564] 0000000000000009 ffff88007a463d88 ffffffff81859ea6 0000000000000000 <4>[ 44.457316] ffff88007a463dc0 ffffffff8106ef0d 0000000000001000 ffff88007c22b1a8 <4>[ 44.458064] 0000000000000000 ffff88007c22b1a8 0000000004000000 ffff88007a463dd0 <4>[ 44.458815] Call Trace: <4>[ 44.459071] [] dump_stack+0x4d/0x66 <4>[ 44.459428] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.459842] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.460239] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.460654] [] truncate_setsize+0x27/0x40 <4>[ 44.461044] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.461438] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.461838] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.462243] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.462636] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.463059] [] do_fallocate+0x123/0x1b0 <4>[ 44.463433] [] SyS_fallocate+0x43/0x70 <4>[ 44.463802] [] system_call_fastpath+0x16/0x1b <4>[ 44.464179] ---[ end trace 6a3b1350ad399a09 ]--- <4>[ 44.467773] ------------[ cut here ]------------ <4>[ 44.468101] WARNING: CPU: 3 PID: 4552 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.468720] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.471840] CPU: 3 PID: 4552 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.472393] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.472981] 0000000000000009 ffff88007bf8bd88 ffffffff81859ea6 0000000000000000 <4>[ 44.473662] ffff88007bf8bdc0 ffffffff8106ef0d 0000000000001000 ffff88007c21ada8 <4>[ 44.474343] 0000000000000000 ffff88007c21ada8 0000000004000000 ffff88007bf8bdd0 <4>[ 44.475018] Call Trace: <4>[ 44.475252] [] dump_stack+0x4d/0x66 <4>[ 44.475584] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.475948] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.476319] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.476700] [] truncate_setsize+0x27/0x40 <4>[ 44.477060] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.477419] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.477783] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.478167] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.478527] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.478911] [] do_fallocate+0x123/0x1b0 <4>[ 44.479265] [] SyS_fallocate+0x43/0x70 <4>[ 44.479609] [] system_call_fastpath+0x16/0x1b <4>[ 44.479973] ---[ end trace 6a3b1350ad399a0a ]--- <4>[ 44.483266] ------------[ cut here ]------------ <4>[ 44.483609] WARNING: CPU: 2 PID: 4554 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.484296] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.487798] CPU: 2 PID: 4554 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.488351] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.488953] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.489711] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c22b5a8 <4>[ 44.490469] 0000000000000000 ffff88007c22b5a8 0000000004000000 ffff88007a4a3dd0 <4>[ 44.491223] Call Trace: <4>[ 44.491475] [] dump_stack+0x4d/0x66 <4>[ 44.491833] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.492254] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.492647] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.493066] [] truncate_setsize+0x27/0x40 <4>[ 44.493452] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.493847] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.494253] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.494654] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.495051] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.495471] [] do_fallocate+0x123/0x1b0 <4>[ 44.495845] [] SyS_fallocate+0x43/0x70 <4>[ 44.496234] [] system_call_fastpath+0x16/0x1b <4>[ 44.496637] ---[ end trace 6a3b1350ad399a0b ]--- <4>[ 44.499961] ------------[ cut here ]------------ <4>[ 44.500327] WARNING: CPU: 2 PID: 4558 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.501008] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.504494] CPU: 2 PID: 4558 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.505093] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.505733] 0000000000000009 ffff88007a4efd88 ffffffff81859ea6 0000000000000000 <4>[ 44.506489] ffff88007a4efdc0 ffffffff8106ef0d 0000000000001000 ffff88007c22b9a8 <4>[ 44.507238] 0000000000000000 ffff88007c22b9a8 0000000004000000 ffff88007a4efdd0 <4>[ 44.507986] Call Trace: <4>[ 44.508249] [] dump_stack+0x4d/0x66 <4>[ 44.508606] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.509026] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.509418] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.509833] [] truncate_setsize+0x27/0x40 <4>[ 44.510224] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.510618] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.511022] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.511423] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.511815] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.512239] [] do_fallocate+0x123/0x1b0 <4>[ 44.512615] [] SyS_fallocate+0x43/0x70 <4>[ 44.512994] [] system_call_fastpath+0x16/0x1b <4>[ 44.513406] ---[ end trace 6a3b1350ad399a0c ]--- <4>[ 44.516694] ------------[ cut here ]------------ <4>[ 44.517048] WARNING: CPU: 2 PID: 4560 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.517704] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.521133] CPU: 2 PID: 4560 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.521726] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.522370] 0000000000000009 ffff88007a4bbd88 ffffffff81859ea6 0000000000000000 <4>[ 44.523123] ffff88007a4bbdc0 ffffffff8106ef0d 0000000000001000 ffff88007c22bda8 <4>[ 44.523867] 0000000000000000 ffff88007c22bda8 0000000004000000 ffff88007a4bbdd0 <4>[ 44.524622] Call Trace: <4>[ 44.524873] [] dump_stack+0x4d/0x66 <4>[ 44.525236] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.525649] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.526046] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.526461] [] truncate_setsize+0x27/0x40 <4>[ 44.528746] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.529140] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.529539] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.529938] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.530337] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.530757] [] do_fallocate+0x123/0x1b0 <4>[ 44.531142] [] SyS_fallocate+0x43/0x70 <4>[ 44.531517] [] system_call_fastpath+0x16/0x1b <4>[ 44.531925] ---[ end trace 6a3b1350ad399a0d ]--- <4>[ 44.535315] ------------[ cut here ]------------ <4>[ 44.535656] WARNING: CPU: 2 PID: 4564 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.536343] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.539833] CPU: 2 PID: 4564 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.540436] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.541074] 0000000000000009 ffff88007bfabd88 ffffffff81859ea6 0000000000000000 <4>[ 44.541828] ffff88007bfabdc0 ffffffff8106ef0d 0000000000001000 ffff88007c22c1a8 <4>[ 44.542590] 0000000000000000 ffff88007c22c1a8 0000000004000000 ffff88007bfabdd0 <4>[ 44.543347] Call Trace: <4>[ 44.543596] [] dump_stack+0x4d/0x66 <4>[ 44.543952] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.544372] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.544766] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.545187] [] truncate_setsize+0x27/0x40 <4>[ 44.545572] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.545968] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.546373] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.546774] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.547172] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.547591] [] do_fallocate+0x123/0x1b0 <4>[ 44.547966] [] SyS_fallocate+0x43/0x70 <4>[ 44.548353] [] system_call_fastpath+0x16/0x1b <4>[ 44.548756] ---[ end trace 6a3b1350ad399a0e ]--- <4>[ 44.552078] ------------[ cut here ]------------ <4>[ 44.552405] WARNING: CPU: 2 PID: 4566 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() <4>[ 44.553154] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq <4>[ 44.556530] CPU: 2 PID: 4566 Comm: fallocate Tainted: G W 3.17.0-gda9a9f1 #1 <4>[ 44.557135] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 <4>[ 44.557775] 0000000000000009 ffff88007a4a3d88 ffffffff81859ea6 0000000000000000 <4>[ 44.558531] ffff88007a4a3dc0 ffffffff8106ef0d 0000000000001000 ffff88007c22c5a8 <4>[ 44.559285] 0000000000000000 ffff88007c22c5a8 0000000004000000 ffff88007a4a3dd0 <4>[ 44.560041] Call Trace: <4>[ 44.560301] [] dump_stack+0x4d/0x66 <4>[ 44.560658] [] warn_slowpath_common+0x7d/0xa0 <4>[ 44.561077] [] warn_slowpath_null+0x1a/0x20 <4>[ 44.561470] [] pagecache_isize_extended+0xdd/0x120 <4>[ 44.561885] [] truncate_setsize+0x27/0x40 <4>[ 44.562277] [] xfs_setattr_size+0x157/0x3a0 <4>[ 44.562671] [] ? xfs_trans_commit+0x157/0x250 <4>[ 44.563075] [] xfs_file_fallocate+0x2df/0x300 <4>[ 44.563475] [] ? __sb_start_write+0x49/0xf0 <4>[ 44.563867] [] ? selinux_file_permission+0xc4/0x120 <4>[ 44.564292] [] do_fallocate+0x123/0x1b0 <4>[ 44.564667] [] SyS_fallocate+0x43/0x70 <4>[ 44.565053] [] system_call_fastpath+0x16/0x1b <4>[ 44.565456] ---[ end trace 6a3b1350ad399a0f ]--- --EeQfGwPcQSOJBaQU-- From jack@suse.cz Thu Oct 16 06:01: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 862C67F3F for ; Thu, 16 Oct 2014 06:01:35 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 126CCAC003 for ; Thu, 16 Oct 2014 04:01:31 -0700 (PDT) X-ASG-Debug-ID: 1413457289-04cb6c2efa1ff20001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id PQmJ8tqC92SWRi6i (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 04:01:29 -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 CA962AB07; Thu, 16 Oct 2014 11:01:28 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 5D7CF81C78; Thu, 16 Oct 2014 13:01:27 +0200 (CEST) Date: Thu, 16 Oct 2014 13:01:27 +0200 From: Jan Kara To: Fengguang Wu Cc: Jan Kara , Theodore Ts'o , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Subject: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Message-ID: <20141016110127.GD6085@quack.suse.cz> X-ASG-Orig-Subj: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() References: <20141016100913.GA8140@wfg-t540p.sh.intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="IJpNTDwzlM2Ie8A6" Content-Disposition: inline In-Reply-To: <20141016100913.GA8140@wfg-t540p.sh.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413457289 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.10630 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu 16-10-14 18:09:13, Wu Fengguang wrote: > Hi Jan, > > Your patch gives a warning on the xfs code path. :) > > git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev > commit be330474e2d0533a7a6185e567f3654fec096dbd ("vfs: fix data corruption when blocksize < pagesize for mmaped data") ... > <5>[ 25.956576] XFS (sda1): Mounting V4 Filesystem > <6>[ 26.194468] XFS (sda1): Ending clean mount > <4>[ 27.258450] ------------[ cut here ]------------ > <4>[ 27.258789] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Ah, I believe this is: WARN_ON(!mutex_is_locked(&inode->i_mutex)); because XFS doesn't use i_mutex but its private rwlock. I forgot to check dmesg after running xfstests for XFS and didn't notice this. Anyway, the solution is to just remove the assertion since it doesn't hold for all filesystems. Patch for that is attached. Thanks Fengguang for catching this. Honza > <4>[ 27.259443] Modules linked in: ipmi_watchdog ipmi_msghandler btrfs xor raid6_pq sg sr_mod cdrom sd_mod firewire_ohci firewire_core crc_itu_t snd_hda_codec_realtek pcspkr snd_hda_codec_generic ahci libahci libata snd_hda_intel i2c_i801 snd_hda_controller parport_pc parport snd_hda_codec snd_hwdep snd_pcm snd_timer shpchp snd x38_edac edac_core soundcore acpi_cpufreq > <4>[ 27.262734] CPU: 3 PID: 2339 Comm: fallocate Not tainted 3.17.0-gda9a9f1 #1 > <4>[ 27.263153] Hardware name: / , BIOS VVRBLI9J.86A.2891.2007.0511.1144 05/11/2007 > <4>[ 27.263780] 0000000000000009 ffff88007a43fd88 ffffffff81859ea6 0000000000000000 > <4>[ 27.264492] ffff88007a43fdc0 ffffffff8106ef0d 0000000000001000 ffff88005b6f05a8 > <4>[ 27.265199] 0000000000000000 ffff88005b6f05a8 0000000004000000 ffff88007a43fdd0 > <4>[ 27.265906] Call Trace: > <4>[ 27.266165] [] dump_stack+0x4d/0x66 > <4>[ 27.266511] [] warn_slowpath_common+0x7d/0xa0 > <4>[ 27.266900] [] warn_slowpath_null+0x1a/0x20 > <4>[ 27.267286] [] pagecache_isize_extended+0xdd/0x120 > <4>[ 27.267690] [] truncate_setsize+0x27/0x40 > <4>[ 27.268068] [] xfs_setattr_size+0x157/0x3a0 > <4>[ 27.268442] [] ? xfs_trans_commit+0x157/0x250 > <4>[ 27.268821] [] xfs_file_fallocate+0x2df/0x300 > <4>[ 27.269215] [] ? __sb_start_write+0x49/0xf0 > <4>[ 27.269596] [] ? selinux_file_permission+0xc4/0x120 > <4>[ 27.270009] [] do_fallocate+0x123/0x1b0 > <4>[ 27.270380] [] SyS_fallocate+0x43/0x70 > <4>[ 27.270738] [] system_call_fastpath+0x16/0x1b > <4>[ 27.271119] ---[ end trace 6a3b1350ad399610 ]--- > <4>[ 27.274498] ------------[ cut here ]------------ --IJpNTDwzlM2Ie8A6 Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0001-mm-Remove-false-WARN_ON-from-pagecache_isize_extende.patch" >From de3426d6495f4b44b14c09b7c7202e9a86d864b9 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Thu, 16 Oct 2014 12:58:42 +0200 Subject: [PATCH] mm: Remove false WARN_ON from pagecache_isize_extended() The WARN_ON checking whether i_mutex is held in pagecache_isize_extended() was wrong because some filesystems (e.g. XFS) use different locks for serialization of truncates / writes. So just remove the check. Signed-off-by: Jan Kara --- mm/truncate.c | 1 - 1 file changed, 1 deletion(-) diff --git a/mm/truncate.c b/mm/truncate.c index 261eaf6e5a19..c646084e5eec 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -755,7 +755,6 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) struct page *page; pgoff_t index; - WARN_ON(!mutex_is_locked(&inode->i_mutex)); WARN_ON(to > inode->i_size); if (from >= to || bsize == PAGE_CACHE_SIZE) -- 1.8.1.4 --IJpNTDwzlM2Ie8A6-- From jwboyer@gmail.com Thu Oct 16 06:52: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=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 F40397F3F for ; Thu, 16 Oct 2014 06:52:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 840C7AC003 for ; Thu, 16 Oct 2014 04:52:48 -0700 (PDT) X-ASG-Debug-ID: 1413460363-04cbb070c8209d0001-NocioJ Received: from mail-ob0-f169.google.com (mail-ob0-f169.google.com [209.85.214.169]) by cuda.sgi.com with ESMTP id 7TTq1RaadIsrT3Rb (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 16 Oct 2014 04:52:44 -0700 (PDT) X-Barracuda-Envelope-From: jwboyer@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.169 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] Received: by mail-ob0-f169.google.com with SMTP id m8so2706820obr.28 for ; Thu, 16 Oct 2014 04:52:43 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.169] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:cc:content-type; bh=kPVMeStcy00rX1zqJ8qGycaHi8gcLNj9Ee1GB2eVF94=; b=BEj4uoHQt4ZlxAIDlFIr7Azd5+u7PQ1ON9pEteRfQCx1dhqqzhhKnCNOVfw0LuvwHM 1MKMpjUT/iRyQ1EnPSaSkXke5VHuycbxvpqDlzOS9/LP0OMmA42XAKGGRUHJFuzR+i26 wVnOnhqf9p2foVB2b+PzRWrx++UjOS7ybvJ3zpqAzDPnqKkBm+ZkoxlPg1evqptNHzyH ZdyRuwfl2LRuql8YWFT4SEgPk7Ljkzu3V/vuNRmR3GjYAUtNyg721Vh+ca+rQFqH07Cz z75nWWxTe+iWIrhzlJzlSsynY6bhPqORVk0i7pHO5HXOrkZfcg0l8jgXu732TW0UPGF2 Wa4A== MIME-Version: 1.0 X-Received: by 10.202.79.71 with SMTP id d68mr554169oib.65.1413460363575; Thu, 16 Oct 2014 04:52:43 -0700 (PDT) Sender: jwboyer@gmail.com Received: by 10.76.171.166 with HTTP; Thu, 16 Oct 2014 04:52:43 -0700 (PDT) Date: Thu, 16 Oct 2014 07:52:43 -0400 X-Google-Sender-Auth: hlog_BXJrEb8XhSpilY1gaMV4AQ Message-ID: Subject: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb From: Josh Boyer X-ASG-Orig-Subj: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb To: Dave Chinner , Eric Sandeen Cc: xfs@oss.sgi.com, "Linux-Kernel@Vger. Kernel. Org" Content-Type: text/plain; charset=ISO-8859-1 X-Barracuda-Connect: mail-ob0-f169.google.com[209.85.214.169] X-Barracuda-Start-Time: 1413460364 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.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=DKIM_SIGNED, DKIM_VERIFIED, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10632 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.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) Hi All, Colin reported a lockdep spew with XFS using Linus' tree last week. The lockdep report is below. He noted that his application was using splice. josh [1] https://bugzilla.redhat.com/show_bug.cgi?id=1152813 [14689.265161] ====================================================== [14689.265175] [ INFO: possible circular locking dependency detected ] [14689.265186] 3.18.0-0.rc0.git2.1.fc22.x86_64 #1 Not tainted [14689.265190] ------------------------------------------------------- [14689.265199] atomic/1144 is trying to acquire lock: [14689.265203] (&sb->s_type->i_mutex_key#13){+.+.+.}, at: [] xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.265245] but task is already holding lock: [14689.265249] (&pipe->mutex/1){+.+.+.}, at: [] pipe_lock+0x1e/0x20 [14689.265262] which lock already depends on the new lock. [14689.265268] the existing dependency chain (in reverse order) is: [14689.265287] -> #2 (&pipe->mutex/1){+.+.+.}: [14689.265296] [] lock_acquire+0xa4/0x1d0 [14689.265303] [] mutex_lock_nested+0x85/0x440 [14689.265310] [] pipe_lock+0x1e/0x20 [14689.265315] [] splice_to_pipe+0x2a/0x260 [14689.265321] [] __generic_file_splice_read+0x57f/0x620 [14689.265328] [] generic_file_splice_read+0x3b/0x90 [14689.265334] [] xfs_file_splice_read+0xb0/0x1e0 [xfs] [14689.265350] [] do_splice_to+0x6c/0x90 [14689.265356] [] SyS_splice+0x6dd/0x800 [14689.265362] [] system_call_fastpath+0x16/0x1b [14689.265368] -> #1 (&(&ip->i_iolock)->mr_lock){++++++}: [14689.265424] [] lock_acquire+0xa4/0x1d0 [14689.265494] [] down_write_nested+0x5e/0xc0 [14689.265553] [] xfs_ilock+0xb9/0x1c0 [xfs] [14689.265629] [] xfs_file_buffered_aio_write.isra.10+0x87/0x310 [xfs] [14689.265693] [] xfs_file_write_iter+0x8a/0x130 [xfs] [14689.265749] [] new_sync_write+0x8e/0xd0 [14689.265811] [] vfs_write+0xba/0x200 [14689.265862] [] SyS_write+0x5c/0xd0 [14689.265912] [] system_call_fastpath+0x16/0x1b [14689.265963] -> #0 (&sb->s_type->i_mutex_key#13){+.+.+.}: [14689.266024] [] __lock_acquire+0x1b0e/0x1c10 [14689.266024] [] lock_acquire+0xa4/0x1d0 [14689.266024] [] mutex_lock_nested+0x85/0x440 [14689.266024] [] xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.266024] [] xfs_file_write_iter+0x8a/0x130 [xfs] [14689.266024] [] iter_file_splice_write+0x2ec/0x4b0 [14689.266024] [] SyS_splice+0x381/0x800 [14689.266024] [] system_call_fastpath+0x16/0x1b [14689.266024] other info that might help us debug this: [14689.266024] Chain exists of: &sb->s_type->i_mutex_key#13 --> &(&ip->i_iolock)->mr_lock --> &pipe->mutex/1 [14689.266024] Possible unsafe locking scenario: [14689.266024] CPU0 CPU1 [14689.266024] ---- ---- [14689.266024] lock(&pipe->mutex/1); [14689.266024] lock(&(&ip->i_iolock)->mr_lock); [14689.266024] lock(&pipe->mutex/1); [14689.266024] lock(&sb->s_type->i_mutex_key#13); [14689.266024] *** DEADLOCK *** [14689.266024] 2 locks held by atomic/1144: [14689.266024] #0: (sb_writers#8){.+.+.+}, at: [] SyS_splice+0x77f/0x800 [14689.266024] #1: (&pipe->mutex/1){+.+.+.}, at: [] pipe_lock+0x1e/0x20 [14689.266024] stack backtrace: [14689.266024] CPU: 0 PID: 1144 Comm: atomic Not tainted 3.18.0-0.rc0.git2.1.fc22.x86_64 #1 [14689.266024] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 [14689.266024] 0000000000000000 00000000fd91796b ffff88003793bad0 ffffffff81838f3e [14689.266024] ffffffff82c03eb0 ffff88003793bb10 ffffffff81836b36 ffff88003793bb70 [14689.266024] ffff88003828a670 ffff880038289a40 0000000000000002 ffff880038289ab0 [14689.266024] Call Trace: [14689.266024] [] dump_stack+0x4d/0x66 [14689.266024] [] print_circular_bug+0x201/0x20f [14689.266024] [] __lock_acquire+0x1b0e/0x1c10 [14689.266024] [] ? dump_trace+0x170/0x350 [14689.266024] [] lock_acquire+0xa4/0x1d0 [14689.266024] [] ? xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.266024] [] mutex_lock_nested+0x85/0x440 [14689.266024] [] ? xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.266024] [] ? xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.266024] [] ? mark_held_locks+0x7c/0xb0 [14689.266024] [] xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] [14689.266024] [] ? pipe_lock+0x1e/0x20 [14689.266024] [] xfs_file_write_iter+0x8a/0x130 [xfs] [14689.266024] [] iter_file_splice_write+0x2ec/0x4b0 [14689.266024] [] SyS_splice+0x381/0x800 [14689.266024] [] system_call_fastpath+0x16/0x1b From bfoster@redhat.com Thu Oct 16 07:41: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 52DFD7F3F for ; Thu, 16 Oct 2014 07:41:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 31B128F8033 for ; Thu, 16 Oct 2014 05:40:59 -0700 (PDT) X-ASG-Debug-ID: 1413463257-04cbb070c522000001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id AX9wKtSoM7wt2XwB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 05:40: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-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 s9GCeoTN012075 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 16 Oct 2014 08:40:50 -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 s9GCen8P022962; Thu, 16 Oct 2014 08:40:49 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 2852F120064; Thu, 16 Oct 2014 08:40:48 -0400 (EDT) Date: Thu, 16 Oct 2014 08:40:48 -0400 From: Brian Foster To: Alexey Khoroshilov Cc: Dave Chinner , xfs@oss.sgi.com, linux-kernel@vger.kernel.org, spruce-project@linuxtesting.org Subject: Re: [PATCH] xfs: fix deadlock on failure path in xfs_setattr_nonsize() Message-ID: <20141016124047.GA42623@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix deadlock on failure path in xfs_setattr_nonsize() References: <1413408168-3086-1-git-send-email-khoroshilov@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413408168-3086-1-git-send-email-khoroshilov@ispras.ru> 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: 1413463258 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, Oct 15, 2014 at 11:22:48PM +0200, Alexey Khoroshilov wrote: > If xfs_trans_reserve() fails, xfs_setattr_nonsize() does not deallocate > the transaction and does not release "freeze" lock. That leads to the > following warning from lockdep: > [ BUG: lock held when returning to user space! ] > ------------------------------------------------ > fs-driver-tests/7127 is leaving the kernel with locks still held! > 1 lock held by fs-driver-tests/7127: > #0: (sb_internal){.+.+.+}, at: [] xfs_trans_alloc+0x24/0x40 [xfs] > > The patch adds xfs_trans_cancel() on the failure path. > > Found by Linux File System Verification project (linuxtesting.org). > > Signed-off-by: Alexey Khoroshilov > --- Looks good, thanks for the patch. Reviewed-by: Brian Foster > fs/xfs/xfs_iops.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c > index 72129493e9d3..e2e785eec831 100644 > --- a/fs/xfs/xfs_iops.c > +++ b/fs/xfs/xfs_iops.c > @@ -599,8 +599,10 @@ xfs_setattr_nonsize( > > tp = xfs_trans_alloc(mp, XFS_TRANS_SETATTR_NOT_SIZE); > error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0); > - if (error) > + if (error) { > + xfs_trans_cancel(tp, 0); > goto out_dqrele; > + } > > xfs_ilock(ip, XFS_ILOCK_EXCL); > > -- > 1.9.1 > From bfoster@redhat.com Thu Oct 16 08:28: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 D4C267F3F for ; Thu, 16 Oct 2014 08:28:20 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id C2FC98F8033 for ; Thu, 16 Oct 2014 06:28:17 -0700 (PDT) X-ASG-Debug-ID: 1413466096-04cb6c2efb24a30001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id LmFMGZdRp8EKL860 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 06:28:16 -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 s9GDSFGU021420 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 16 Oct 2014 09:28:15 -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 s9GDSEqo016538; Thu, 16 Oct 2014 09:28:14 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id B4ACF120064; Thu, 16 Oct 2014 09:28:13 -0400 (EDT) Date: Thu, 16 Oct 2014 09:28:13 -0400 From: Brian Foster To: Dan Carpenter Cc: xfs@oss.sgi.com Subject: Re: xfs: use after free on error in xfs_qm_log_quotaoff() Message-ID: <20141016132813.GA50649@bfoster.bfoster> X-ASG-Orig-Subj: Re: xfs: use after free on error in xfs_qm_log_quotaoff() References: <20140219095305.GA22351@elgon.mountain> <20141015130535.GN26918@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141015130535.GN26918@mwanda> 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: 1413466096 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 Wed, Oct 15, 2014 at 04:05:35PM +0300, Dan Carpenter wrote: > This bug is still around. > > regards, > dan carpenter > > On Wed, Feb 19, 2014 at 12:53:05PM +0300, Dan Carpenter wrote: > > Smatch complains here. I don't think I have reported this one before. > > It feels very familiar but I have grepped my outbox. > > > > fs/xfs/xfs_qm_syscalls.c:814 xfs_qm_log_quotaoff() > > warn: 'tp' was already freed. > > Heh, looks like this function also has a problem restoring flags. If the reserve fails we restore flags to 0 rather than the old flags. I'll send a patch shortly. Brian > > fs/xfs/xfs_qm_syscalls.c > > 804 /* > > 805 * We have to make sure that the transaction is secure on disk before we > > 806 * return and actually stop quota accounting. So, make it synchronous. > > 807 * We don't care about quotoff's performance. > > 808 */ > > 809 xfs_trans_set_sync(tp); > > 810 error = xfs_trans_commit(tp, 0); > > ^^^^^^^^^^^^^^^^ > > This function frees tp. > > > > 811 > > 812 error0: > > 813 if (error) { > > 814 xfs_trans_cancel(tp, 0); > > ^^^^^^^^^^^^^^^^^ > > Use after free. > > > > 815 /* > > 816 * No one else is modifying sb_qflags, so this is OK. > > 817 * We still hold the quotaofflock. > > 818 */ > > > > regards, > > dan carpenter > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Thu Oct 16 08:39: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 711967F3F for ; Thu, 16 Oct 2014 08:39:37 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 501108F8035 for ; Thu, 16 Oct 2014 06:39:37 -0700 (PDT) X-ASG-Debug-ID: 1413466776-04bdf038d026670001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YyxhvXxbAb3J5dJ3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 06:39: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-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 s9GDdY5o018868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 16 Oct 2014 09:39:34 -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 s9GDdYkZ028433; Thu, 16 Oct 2014 09:39:34 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 6A5C9120064; Thu, 16 Oct 2014 09:39:33 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Cc: Dan Carpenter Subject: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() Date: Thu, 16 Oct 2014 09:39:33 -0400 X-ASG-Orig-Subj: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() Message-Id: <1413466773-56087-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: 1413466776 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 The error handling in xfs_qm_log_quotaoff() has a couple problems. If xfs_trans_commit() fails, we fall through to the error block and call xfs_trans_cancel(). This is incorrect on commit failure. If xfs_trans_reserve() fails, we jump to the error block, cancel the tp and restore the superblock qflags to oldsbqflag. However, oldsbqflag has been initialized to zero and not yet updated from the original flags so we set the flags to zero. Fix up the error handling in xfs_qm_log_quotaoff() to not restore flags if they haven't been modified and not cancel the tp on commit failure. Reported-by: Dan Carpenter Signed-off-by: Brian Foster --- fs/xfs/xfs_qm_syscalls.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c index 80f2d77..f2d454e 100644 --- a/fs/xfs/xfs_qm_syscalls.c +++ b/fs/xfs/xfs_qm_syscalls.c @@ -784,13 +784,17 @@ xfs_qm_log_quotaoff( { xfs_trans_t *tp; int error; - xfs_qoff_logitem_t *qoffi=NULL; - uint oldsbqflag=0; + xfs_qoff_logitem_t *qoffi; + uint oldsbqflag; + + *qoffstartp = NULL; tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QUOTAOFF); error = xfs_trans_reserve(tp, &M_RES(mp)->tr_qm_quotaoff, 0, 0); - if (error) - goto error0; + if (error) { + xfs_trans_cancel(tp, 0); + return error; + } qoffi = xfs_trans_get_qoff_item(tp, NULL, flags & XFS_ALL_QUOTA_ACCT); xfs_trans_log_quotaoff_item(tp, qoffi); @@ -809,19 +813,20 @@ xfs_qm_log_quotaoff( */ xfs_trans_set_sync(tp); error = xfs_trans_commit(tp, 0); + if (error) + goto error_flags; -error0: - if (error) { - xfs_trans_cancel(tp, 0); - /* - * No one else is modifying sb_qflags, so this is OK. - * We still hold the quotaofflock. - */ - spin_lock(&mp->m_sb_lock); - mp->m_sb.sb_qflags = oldsbqflag; - spin_unlock(&mp->m_sb_lock); - } *qoffstartp = qoffi; + return 0; + +error_flags: + /* + * No one else is modifying sb_qflags, so this is OK. + * We still hold the quotaofflock. + */ + spin_lock(&mp->m_sb_lock); + mp->m_sb.sb_qflags = oldsbqflag; + spin_unlock(&mp->m_sb_lock); return error; } -- 1.8.3.1 From sandeen@sandeen.net Thu Oct 16 08:45: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C470D7F3F for ; Thu, 16 Oct 2014 08:45:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 63C4CAC003 for ; Thu, 16 Oct 2014 06:45:07 -0700 (PDT) X-ASG-Debug-ID: 1413467106-04cbb070c724f00001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id B0P9wzx9QhQHDCTC for ; Thu, 16 Oct 2014 06:45:06 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 9A3B1637142A; Thu, 16 Oct 2014 08:45:05 -0500 (CDT) Message-ID: <543FCBE0.2040609@sandeen.net> Date: Thu, 16 Oct 2014 08:45:04 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dave Chinner , xfs@oss.sgi.com Subject: Re: [PATCH] xfs: bulkstat doesn't release AGI buffer on error References: <1413324728-4008-1-git-send-email-david@fromorbit.com> X-ASG-Orig-Subj: Re: [PATCH] xfs: bulkstat doesn't release AGI buffer on error In-Reply-To: <1413324728-4008-1-git-send-email-david@fromorbit.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413467106 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.10634 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/14/14 5:12 PM, Dave Chinner wrote: > From: Dave Chinner > > The recent refactoring of the bulkstat code left a small landmine in > the code. If a inobt read fails, then the tree walk is aborted and > returns without releasing the AGI buffer or freeing the cursor. This > can lead to a subsequent bulkstat call hanging trying to grab the > AGI buffer again. > > Signed-off-by: Dave Chinner Reviewed-by: Eric Sandeen Can you add a cc: stable, too? > --- > fs/xfs/xfs_itable.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index f1deb96..ef8ea05 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -427,7 +427,7 @@ xfs_bulkstat( > > error = xfs_bulkstat_grab_ichunk(cur, agino, &icount, &r); > if (error) > - break; > + goto del_cursor; > if (icount) { > irbp->ir_startino = r.ir_startino; > irbp->ir_freecount = r.ir_freecount; > @@ -442,7 +442,7 @@ xfs_bulkstat( > error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); > } > if (error) > - break; > + goto del_cursor; > > /* > * Loop through inode btree records in this ag, > @@ -454,7 +454,7 @@ xfs_bulkstat( > error = xfs_inobt_get_rec(cur, &r, &i); > if (error || i == 0) { > end_of_ag = 1; > - break; > + goto del_cursor; > } > > /* > @@ -476,13 +476,17 @@ xfs_bulkstat( > error = xfs_btree_increment(cur, 0, &tmp); > cond_resched(); > } > + > /* > - * Drop the btree buffers and the agi buffer. > - * We can't hold any of the locks these represent > - * when calling iget. > + * Drop the btree buffers and the agi buffer as we can't hold any > + * of the locks these represent when calling iget. If there is a > + * pending error, then we are done. > */ > +del_cursor: > xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); > xfs_buf_relse(agbp); > + if (error) > + break; > /* > * Now format all the good inodes into the user's buffer. > */ > From socialsecuritydisabilityhelp@reinfile.com Thu Oct 16 11:39: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=HTML_IMAGE_RATIO_06, 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 28E227F3F for ; Thu, 16 Oct 2014 11:39:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id ED304304053 for ; Thu, 16 Oct 2014 09:39:42 -0700 (PDT) X-ASG-Debug-ID: 1413477546-04bdf038d230520001-NocioJ Received: from reinfile.com ([50.3.183.149]) by cuda.sgi.com with ESMTP id jJqbA9HOCkHVxryy for ; Thu, 16 Oct 2014 09:39:36 -0700 (PDT) X-Barracuda-Envelope-From: socialsecuritydisabilityhelp@reinfile.com X-Barracuda-Apparent-Source-IP: 50.3.183.149 From: "Social Security Disability Help" Date: Thu, 16 Oct 2014 11:39:12 -0500 MIME-Version: 1.0 Subject: Need to Appeal your Disability Claim? Get Your Free Evaluation To: X-ASG-Orig-Subj: Need to Appeal your Disability Claim? Get Your Free Evaluation Message-ID: Content-Type: multipart/alternative; boundary="------------29156452003564548768275" X-Barracuda-Connect: UNKNOWN[50.3.183.149] X-Barracuda-Start-Time: 1413477576 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.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=BSF_SC5_MJ1963, HTML_IMAGE_RATIO_06, HTML_MESSAGE, MARKETING_SUBJECT, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10638 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words 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.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 This is a multi-part message in MIME format. --------------29156452003564548768275 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit If you cannot see this mail copy please visit this link Disability Benefits - Get help filing and appealing your Social Security Disability claim. • Get a complimentary evaluation and experienced application help. • Learn your rights and what you're entitled to. • Don't wait, time limits apply and you may lose your benefits. Complete a short form to get your complimentary Case Review ... Act right away Click Here DISCLAIMER: This is a group advertisement. DisabilityBenefits.co is not a lawyer referral service. Subscriber Attorneys appearing on DisabilityBenefits.co have paid an online advertising fee. Use of this Service is not intended to and does not create an attorney-client relationship between a Subscriber Attorney and any Requestors. DisabilityBenefits.co is not a law firm. The information contained herein is not legal advice. The attorneys listed do not in any way constitute a referral or endorsement by this website. Disability Benefits 800 Forest Oaks Lane, Suite C Hurst, TX 76053 To Unsubscribe, please follow this link . Or for complete delisting please visit this link . It is the mirror of life and it deals with everything related to our life. There are many benefits of reading literature. The study of literature improves our sensibility and provides us with a certain depth of perception. It consoles and braces us up in our hours of gloom, stimulates and ennobles our morality. It helps us widen our outlook and develop our personality. As a matter of fact, it has diverse benefits. It has academic benefits, cognitive benefits, social benefits and emotional benefits.It is universally admitted that reading literature is delightful. It gives readers immense pleasure. Young students read different kinds of literary works basically for pleasure. Good literature helps them develop a reading habit and this habit has a positive impact on the academic studies also. --------------29156452003564548768275 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

=EF=BB=BFIf you cannot see this mail copy please visit this link

=0D =0D =0D = =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D
3D"ALT"
=0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D =0D

=0D =0D =0D Disability Benefits - Get help filing and appealing your= Social Security Disability claim.

=0D =0D =0D =0D
=0D =0D =0D • Get a complimentary evaluation and experienced application help.<= br />=0D =0D =0D • Learn your rights and what you're entitled to.
=0D =0D =0D • Don't wait, time limits apply and you may lose your benefits.=
=0D =0D =0D
=0D =0D =0D Complete a short form to get your complimentary Case Review ... Act righ= t away
=0D =0D =0D
=0D =0D =0D Click= Here

=0D =0D =0D DISCLAIMER: This is a group advertisement. DisabilityBenefits.co is = not a lawyer referral service. Subscriber Attorneys appearing on Disability= Benefits.co have paid an online advertising fee. Use of this Service is not= intended to and does not create an attorney-client relationship between a = Subscriber Attorney and any Requestors. DisabilityBenefits.co is not a law = firm. The information contained herein is not legal advice. The attorneys l= isted do not in any way constitute a referral or endorsement by this websit= e.
=0D =0D =0D
=0D =0D =0D Disability Benefits 800 Forest Oaks Lane, Suite C Hurst, TX 76053 To Uns= ubscribe, please follow this link. Or= for complete delisting please visit this link.
=0D =0D =0D =0D =0D =0D

 

=0D =0D =0D =0D =0D =0D

 

=0D =0D =0D =0D =0D =0D

 

=0D =0D =0D =0D =0D =0D

It is the mirror of life and it de= als with everything related to our life. There are many benefits of reading= literature. The study of literature improves our sensibility and provides = us with a certain depth of perception. It consoles and braces us up in our = hours of gloom, stimulates and ennobles our morality. It helps us widen our= outlook and develop our personality. As a matter of fact, it has diverse b= enefits. It has academic benefits, cognitive benefits, social benefits and = emotional benefits.It is universally admitted that reading literature is de= lightful. It gives readers immense pleasure. Young students read different = kinds of literary works basically for pleasure. Good literature helps them = develop a reading habit and this habit has a positive impact on the academi= c studies also.

=0D =0D =0D =0D =0D =0D

 

=0D =0D =0D --------------29156452003564548768275-- From bfoster@redhat.com Thu Oct 16 16:05: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 BDFDE7F3F for ; Thu, 16 Oct 2014 16:05:07 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8F08F8F8039 for ; Thu, 16 Oct 2014 14:05:04 -0700 (PDT) X-ASG-Debug-ID: 1413493500-04bdf038d13f690001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6ETOOeMFB6NCs9S8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 14: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-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 s9GL4xxC020659 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 16 Oct 2014 17:04:59 -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 s9GL4xfi029876; Thu, 16 Oct 2014 17:04:59 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 01567120064; Thu, 16 Oct 2014 17:04:57 -0400 (EDT) Date: Thu, 16 Oct 2014 17:04:57 -0400 From: Brian Foster To: Carlos Maiolino Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Message-ID: <20141016210457.GA33732@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-2-git-send-email-cmaiolino@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413397042-32229-2-git-send-email-cmaiolino@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: 1413493500 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, Oct 15, 2014 at 03:17:21PM -0300, Carlos Maiolino wrote: > To be able to support RENAME_EXCHANGE flag from renameat2() system call, XFS > must have its inode_operations updated, exporting .rename2 method, instead of > .rename. > > This patch just replaces the (now old) .rename method by .rename2, using the > same infra-structure, but checking rename flags. > > calls to .rename2 using RENAME_EXCHANGE flag, although now handled inside XFS, > still returns -EINVAL. > > RENAME_NOREPLACE is handled via VFS and we don't need to care about it inside > xfs_vn_rename2. > > Signed-off-by: Carlos Maiolino > --- > fs/xfs/xfs_iops.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c > index 7212949..b2b92c7 100644 > --- a/fs/xfs/xfs_iops.c > +++ b/fs/xfs/xfs_iops.c > @@ -379,22 +379,27 @@ xfs_vn_symlink( > } > > STATIC int > -xfs_vn_rename( > +xfs_vn_rename2( The function rename seems unnecessary..? Meh, not a big deal to me either way. Otherwise, this one seems Ok. Brian > struct inode *odir, > struct dentry *odentry, > struct inode *ndir, > - struct dentry *ndentry) > + struct dentry *ndentry, > + unsigned int flags) > { > struct inode *new_inode = ndentry->d_inode; > struct xfs_name oname; > struct xfs_name nname; > > + /* XFS does not support RENAME_EXCHANGE yet */ > + if (flags & ~RENAME_NOREPLACE) > + return -EINVAL; > + > xfs_dentry_to_name(&oname, odentry, 0); > xfs_dentry_to_name(&nname, ndentry, odentry->d_inode->i_mode); > > return xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), > - XFS_I(ndir), &nname, new_inode ? > - XFS_I(new_inode) : NULL); > + XFS_I(ndir), &nname, > + new_inode ? XFS_I(new_inode) : NULL); > } > > /* > @@ -1117,7 +1122,7 @@ static const struct inode_operations xfs_dir_inode_operations = { > */ > .rmdir = xfs_vn_unlink, > .mknod = xfs_vn_mknod, > - .rename = xfs_vn_rename, > + .rename2 = xfs_vn_rename2, > .get_acl = xfs_get_acl, > .set_acl = xfs_set_acl, > .getattr = xfs_vn_getattr, > @@ -1145,7 +1150,7 @@ static const struct inode_operations xfs_dir_ci_inode_operations = { > */ > .rmdir = xfs_vn_unlink, > .mknod = xfs_vn_mknod, > - .rename = xfs_vn_rename, > + .rename2 = xfs_vn_rename2, > .get_acl = xfs_get_acl, > .set_acl = xfs_set_acl, > .getattr = xfs_vn_getattr, > -- > 2.1.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Thu Oct 16 16: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 96DDD7F3F for ; Thu, 16 Oct 2014 16:05:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 856428F8039 for ; Thu, 16 Oct 2014 14:05:44 -0700 (PDT) X-ASG-Debug-ID: 1413493539-04cbb070c63cf80001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id zP0ZpM5Ikrz71o0g (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 16 Oct 2014 14:05:40 -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 s9GL5dgm011899 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 16 Oct 2014 17:05: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 s9GL5c28030352; Thu, 16 Oct 2014 17:05:38 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 59463120064; Thu, 16 Oct 2014 17:05:37 -0400 (EDT) Date: Thu, 16 Oct 2014 17:05:37 -0400 From: Brian Foster To: Carlos Maiolino Cc: xfs@oss.sgi.com Subject: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Message-ID: <20141016210536.GB33732@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-3-git-send-email-cmaiolino@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413397042-32229-3-git-send-email-cmaiolino@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: 1413493539 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, Oct 15, 2014 at 03:17:22PM -0300, Carlos Maiolino wrote: > Adds a new function named xfs_cross_rename(), responsible to handle requests > from sys_renameat2() using RENAME_EXCHANGE flag. > > Signed-off-by: Carlos Maiolino > --- Hi Carlos, Some high-level comments from a first pass... > fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > fs/xfs/xfs_inode.h | 4 ++ > fs/xfs/xfs_iops.c | 7 +- > 3 files changed, 197 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index fea3c92..a5bc88d 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -2920,6 +2920,193 @@ xfs_rename( > return error; > } > > +/* xfs_cross_rename() > + * > + * responsible to handle RENAME_EXCHANGE flag > + * in renameat2() sytemcall > + */ > +int > +xfs_cross_rename( > + xfs_inode_t *src_dp, > + struct xfs_name *src_name, > + xfs_inode_t *src_ip, > + xfs_inode_t *target_dp, > + struct xfs_name *target_name, > + xfs_inode_t *target_ip) > +{ > + xfs_trans_t *tp = NULL; > + xfs_mount_t *mp = src_dp->i_mount; > + int new_parent; /* Crossing from different parents */ > + int src_is_directory; > + int tgt_is_directory; > + int error; > + xfs_bmap_free_t free_list; > + xfs_fsblock_t first_block; > + int cancel_flags; > + int committed; > + xfs_inode_t *inodes[4]; > + int spaceres; > + int num_inodes; > + > + new_parent = (src_dp != target_dp); > + src_is_directory = S_ISDIR(src_ip->i_d.di_mode); > + tgt_is_directory = S_ISDIR(target_ip->i_d.di_mode); > + > + xfs_sort_for_rename(src_dp, target_dp, src_ip, target_ip, > + inodes, &num_inodes); > + > + xfs_bmap_init(&free_list, &first_block); > + tp = xfs_trans_alloc(mp, XFS_TRANS_RENAME); > + cancel_flags = XFS_TRANS_RELEASE_LOG_RES; > + spaceres = XFS_RENAME_SPACE_RES(mp, target_name->len); > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, spaceres, 0); > + It seems to me that the existing block and log reservations would "cover" the rename exchange case, but it might be worth defining new reservations for the purpose of clarity and to prevent future problems. XFS_RENAME_SPACE_RES() covers directory removal and insertion. Here we are doing neither, which makes me wonder whether we need a block reservation at all. It does appear that we have a sf dir case where the inode number could cause a format conversion. Perhaps we need something that calculates the blocks required for the insertion of the max of both names (it seems like the conversion would only happen once, but we don't know which way)? I haven't spent a ton of time in directory code, so I could easily be missing something. The tr_rename log reservation considers four inodes, two directory modifications, a target inode unlink (the overwrite case), and alloc btree mods for directory blocks being freed. IIUC, the exchange case should only ever log four inodes and the possible dir format conversion (e.g., no unlink, no dir block frees). We could define a new tr_rename_xchg reservation that encodes that and documents it appropriately in the comment. It might be worth getting a second opinion from Dave or somebody before going too far ahead on the logging work... > + if (error == -ENOSPC) { > + spaceres = 0; > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, 0, 0); > + } > + if (error) { > + xfs_trans_cancel(tp, 0); > + goto std_return; > + } > + > + /* > + * Attach the dquots to the inodes > + */ > + error = xfs_qm_vop_rename_dqattach(inodes); > + if (error) { > + xfs_trans_cancel(tp, cancel_flags); > + goto std_return; > + } > + > + /* > + * Lock all participating inodes. In case of RENAME_EXCHANGE, target > + * must exist, so we'll be locking at least 3 inodes here. > + */ > + xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); > + > + /* > + * Join all the inodes to the transaction. From this point on, > + * we can rely on either trans_commit or trans_cancel to unlock > + * them. > + * target_ip will always exist, so, no need to check its existence. > + */ > + xfs_trans_ijoin(tp, src_dp, XFS_ILOCK_EXCL); > + if (new_parent) > + xfs_trans_ijoin(tp, target_dp, XFS_ILOCK_EXCL); > + > + xfs_trans_ijoin(tp, src_ip, XFS_ILOCK_EXCL); > + xfs_trans_ijoin(tp, target_ip, XFS_ILOCK_EXCL); > + > + /* > + * If we are using project inheritance, we only allow RENAME_EXCHANGE > + * into our tree when the project IDs are the same; else the tree quota > + * mechanism would be circumvented. > + */ > + if (unlikely(((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) || > + (src_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) && > + (xfs_get_projid(src_dp) != xfs_get_projid(target_dp)) )) { > + error = -EXDEV; > + goto error_return; > + } > + I think that having a separate helper for the rename exchange case is generally the right thing. That said, I wonder if we're splitting things at the right level because it looks like xfs_rename() could handle everything we have in xfs_cross_rename() up to about this point. I definitely don't think we should go too far and try to handle all of this in one function, even if there is some duplication in the directory name replacement and inode link management. The logic would probably end up unnecessarily hairy and difficult to reason about. > + error = xfs_dir_replace(tp, src_dp, src_name, > + target_ip->i_ino, > + &first_block, &free_list, spaceres); > + if (error) > + goto abort_return; > + > + /* > + * Update ".." entry to match the new parent > + */ > + if (new_parent && tgt_is_directory) { > + error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, > + src_dp->i_ino, &first_block, &free_list, spaceres); > + if (error) > + goto abort_return; > + } > + > + xfs_trans_ichgtime(tp, src_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > + > + error = xfs_dir_replace(tp, target_dp, target_name, > + src_ip->i_ino, > + &first_block, &free_list, spaceres); > + if (error) > + goto abort_return; > + > + /* > + * Update ".." entry to match the new parent > + */ > + if (new_parent && src_is_directory) { > + error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, > + target_dp->i_ino, &first_block, &free_list, spaceres); > + if (error) > + goto abort_return; > + } > + > + /* > + * In case we are crossing different file types between different > + * parents, we must update parent's link count to match the ".." > + * entry of the new child (or the removal of it). > + */ > + if (new_parent) { > + xfs_trans_ichgtime(tp, target_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > + > + if (src_is_directory && !tgt_is_directory) { > + error = xfs_droplink(tp, src_dp); > + if (error) > + goto abort_return; > + error = xfs_bumplink(tp, target_dp); > + if (error) > + goto abort_return; > + } > + > + if (tgt_is_directory && !src_is_directory) { > + error = xfs_droplink(tp, target_dp); > + if (error) > + goto abort_return; > + error = xfs_bumplink(tp, src_dp); > + if (error) > + goto abort_return; > + } > + > + /* > + * We don't need to log the source dir if > + * this is the same as the target. > + */ > + xfs_trans_log_inode(tp, src_dp, XFS_ILOG_CORE); > + } > + > + xfs_trans_log_inode(tp, target_dp, XFS_ILOG_CORE); > + xfs_trans_log_inode(tp, src_ip, XFS_ILOG_CORE); > + xfs_trans_log_inode(tp, target_ip, XFS_ILOG_CORE); > + ... and from here to the end also looks equivalent to xfs_rename(). Could we do something like pass the flags (or some new parameter) to xfs_rename() and convert the meat of the directory update calls into a couple internal helpers? For example: xfs_rename(...) { /* setup tp, lock inodes, etc. */ if (rename_exchange) error = xfs_rename_exchange_int(...); else error = xfs_rename(...); if (error) ... /* tp completion handling */ return xfs_trans_commit(...); abort_return: ... return error; } ... and that could be done with another refactoring patch to prepare xfs_rename(). Just a thought. > + /* > + * If this is a synchronous mount, make sure the rename transaction goes > + * to disk before returning to the user. > + */ > + if (mp->m_flags & (XFS_MOUNT_WSYNC|XFS_MOUNT_DIRSYNC)) > + xfs_trans_set_sync(tp); > + > + error = xfs_bmap_finish(&tp, &free_list, &committed); > + if (error) { > + xfs_bmap_cancel(&free_list); > + xfs_trans_cancel(tp, (XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT)); > + goto std_return; > + } > + > + return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); > + > +abort_return: > + cancel_flags |= XFS_TRANS_ABORT; > +error_return: > + xfs_bmap_cancel(&free_list); > + xfs_trans_cancel(tp, cancel_flags); > +std_return: > + return error; > + > +} > + > STATIC int > xfs_iflush_cluster( > xfs_inode_t *ip, > diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h > index c10e3fa..16889d3 100644 > --- a/fs/xfs/xfs_inode.h > +++ b/fs/xfs/xfs_inode.h > @@ -341,6 +341,10 @@ int xfs_rename(struct xfs_inode *src_dp, struct xfs_name *src_name, > struct xfs_inode *src_ip, struct xfs_inode *target_dp, > struct xfs_name *target_name, > struct xfs_inode *target_ip); > +int xfs_cross_rename(struct xfs_inode *src_dp, struct xfs_name *src_name, > + struct xfs_inode *src_ip, struct xfs_inode *target_dp, > + struct xfs_name *target_name, > + struct xfs_inode *target_ip); > > void xfs_ilock(xfs_inode_t *, uint); > int xfs_ilock_nowait(xfs_inode_t *, uint); > diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c > index b2b92c7..bc164df 100644 > --- a/fs/xfs/xfs_iops.c > +++ b/fs/xfs/xfs_iops.c > @@ -391,12 +391,17 @@ xfs_vn_rename2( > struct xfs_name nname; > > /* XFS does not support RENAME_EXCHANGE yet */ > - if (flags & ~RENAME_NOREPLACE) > + if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE)) > return -EINVAL; > > xfs_dentry_to_name(&oname, odentry, 0); This might need to be handled differently for the exchange case. As below, the new dentry always gets the old mode. I suspect we don't care about the mode of the original dentry in traditional rename since that entry goes away. It looks like it would be set to 0 here in the exchange case, however, rather than ndentry->d_inode->i_mode (which we can't assume exists for the non-exchange case). Brian > xfs_dentry_to_name(&nname, ndentry, odentry->d_inode->i_mode); > > + if (flags & RENAME_EXCHANGE) > + return xfs_cross_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), > + XFS_I(ndir), &nname, > + new_inode ? XFS_I(new_inode) : NULL); > + > return xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode), > XFS_I(ndir), &nname, > new_inode ? XFS_I(new_inode) : NULL); > -- > 2.1.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From david@fromorbit.com Thu Oct 16 17:14: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 3A57E7F3F for ; Thu, 16 Oct 2014 17:14:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id F0DF58F8033 for ; Thu, 16 Oct 2014 15:14:40 -0700 (PDT) X-ASG-Debug-ID: 1413497677-04bdf038d1422f0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id u16HmSL9t6HCBfPz for ; Thu, 16 Oct 2014 15:14: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: AsM5AAxCQFR5LODnPGdsb2JhbABbgw5Tgw62GAaTUIFdhWoCAgEBAoEUFwEGAQEBATg7hAIBAQQBJxMcIwULCBEEBgkaCw8FJQMHBhQTiDYHDswHAQEBAQEBBAEBAQEBARwYhgqIFIIXB4MtgR4Fhi2QGIJDhE6BMYZzkC2BVykvAYJJAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl6.internode.on.net with ESMTP; 17 Oct 2014 08:44:36 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XetJa-00005m-Ts; Fri, 17 Oct 2014 09:14:34 +1100 Date: Fri, 17 Oct 2014 09:14:34 +1100 From: Dave Chinner To: Josh Boyer Cc: Eric Sandeen , xfs@oss.sgi.com, "Linux-Kernel@Vger. Kernel. Org" , linux-fsdevel@vger.kernel.org, viro@ZenIV.linux.org.uk Subject: splice read/write pipe lock ordering issues (was Re: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb) Message-ID: <20141016221434.GF7169@dastard> X-ASG-Orig-Subj: splice read/write pipe lock ordering issues (was Re: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb) 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.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1413497678 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.10651 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) [ Adding Al and linux-fsdevel to the cc list ] On Thu, Oct 16, 2014 at 07:52:43AM -0400, Josh Boyer wrote: > Hi All, > > Colin reported a lockdep spew with XFS using Linus' tree last week. > The lockdep report is below. He noted that his application was using > splice. That smells like a splice architecture bug. splice write puts the pipe lock outside the inode locks, but splice read puts the pipes locks *inside* the inode locks. The recent commit 8d02076 "(->splice_write() via ->write_iter()") which went into 3.16 will be what is causing this. It replaced a long standing splice lock inversion problem (XFS iolock vs i_mutex http://oss.sgi.com/archives/xfs/2011-08/msg00122.html) by moving to a ->write_iter call under the pipe_lock. Only XFS reports this issue because XFS is the only filesystem that serialises splice reads against truncate, concurrent writes into the same region, extent manipulation functions via fallocate() (e.g. hole punch), etc. and it does so via the inode iolock that it takes in shared (read) mode during xfs_file_splice_read(). > josh > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1152813 > > [14689.265161] ====================================================== > [14689.265175] [ INFO: possible circular locking dependency detected ] > [14689.265186] 3.18.0-0.rc0.git2.1.fc22.x86_64 #1 Not tainted > [14689.265190] ------------------------------------------------------- > [14689.265199] atomic/1144 is trying to acquire lock: > [14689.265203] (&sb->s_type->i_mutex_key#13){+.+.+.}, at: > [] xfs_file_buffered_aio_write.isra.10+0x7a/0x310 > [xfs] > [14689.265245] > but task is already holding lock: > [14689.265249] (&pipe->mutex/1){+.+.+.}, at: [] > pipe_lock+0x1e/0x20 > [14689.265262] > which lock already depends on the new lock. > > [14689.265268] > the existing dependency chain (in reverse order) is: > [14689.265287] > -> #2 (&pipe->mutex/1){+.+.+.}: > [14689.265296] [] lock_acquire+0xa4/0x1d0 > [14689.265303] [] mutex_lock_nested+0x85/0x440 > [14689.265310] [] pipe_lock+0x1e/0x20 > [14689.265315] [] splice_to_pipe+0x2a/0x260 > [14689.265321] [] > __generic_file_splice_read+0x57f/0x620 > [14689.265328] [] generic_file_splice_read+0x3b/0x90 > [14689.265334] [] xfs_file_splice_read+0xb0/0x1e0 [xfs] > [14689.265350] [] do_splice_to+0x6c/0x90 > [14689.265356] [] SyS_splice+0x6dd/0x800 > [14689.265362] [] system_call_fastpath+0x16/0x1b splice read -> iolock(shared) -> pipe lock. > [14689.265368] > -> #1 (&(&ip->i_iolock)->mr_lock){++++++}: > [14689.265424] [] lock_acquire+0xa4/0x1d0 > [14689.265494] [] down_write_nested+0x5e/0xc0 > [14689.265553] [] xfs_ilock+0xb9/0x1c0 [xfs] > [14689.265629] [] > xfs_file_buffered_aio_write.isra.10+0x87/0x310 [xfs] > [14689.265693] [] xfs_file_write_iter+0x8a/0x130 [xfs] > [14689.265749] [] new_sync_write+0x8e/0xd0 > [14689.265811] [] vfs_write+0xba/0x200 > [14689.265862] [] SyS_write+0x5c/0xd0 > [14689.265912] [] system_call_fastpath+0x16/0x1b write(2) -> i_mutex -> iolock(exclusive) > [14689.265963] > -> #0 (&sb->s_type->i_mutex_key#13){+.+.+.}: > [14689.266024] [] __lock_acquire+0x1b0e/0x1c10 > [14689.266024] [] lock_acquire+0xa4/0x1d0 > [14689.266024] [] mutex_lock_nested+0x85/0x440 > [14689.266024] [] > xfs_file_buffered_aio_write.isra.10+0x7a/0x310 [xfs] > [14689.266024] [] xfs_file_write_iter+0x8a/0x130 [xfs] > [14689.266024] [] iter_file_splice_write+0x2ec/0x4b0 > [14689.266024] [] SyS_splice+0x381/0x800 > [14689.266024] [] system_call_fastpath+0x16/0x1b splice write -> pipe lock -> i_mutex [ -> iolock(exclusive) ] This reminds me of the mmap_sem and all the problems we have because we can't serialise page faults against IO path and data manipulation functions (e.g. hole punch). We shouldn't be repeating that disaster is we can avoid it.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From BATV+bb5ebe281e05a14c76fc+4072+infradead.org+hch@bombadil.srs.infradead.org Fri Oct 17 04: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=0.0 required=5.0 tests=none 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 1E6517F3F for ; Fri, 17 Oct 2014 04:36:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id F1DA38F8039 for ; Fri, 17 Oct 2014 02:35:58 -0700 (PDT) X-ASG-Debug-ID: 1413538556-04cb6c2efc53520001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id WcMgv88NUoY0xeWq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 02:35:57 -0700 (PDT) X-Barracuda-Envelope-From: BATV+bb5ebe281e05a14c76fc+4072+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 1Xf3wy-0003r9-Nv; Fri, 17 Oct 2014 09:35:56 +0000 Date: Fri, 17 Oct 2014 02:35:56 -0700 From: Christoph Hellwig To: Brian Foster Cc: Carlos Maiolino , xfs@oss.sgi.com Subject: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Message-ID: <20141017093556.GA9146@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-2-git-send-email-cmaiolino@redhat.com> <20141016210457.GA33732@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141016210457.GA33732@bfoster.bfoster> 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: 1413538557 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.10668 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 16, 2014 at 05:04:57PM -0400, Brian Foster wrote: > The function rename seems unnecessary..? Meh, not a big deal to me > either way. Otherwise, this one seems Ok. Yeah, we might as well keep the old name. As far as I'm concerned I'd love to get rid of the two different IOPS in the VFS, too. From BATV+bb5ebe281e05a14c76fc+4072+infradead.org+hch@bombadil.srs.infradead.org Fri Oct 17 04:38: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 765887F3F for ; Fri, 17 Oct 2014 04:38:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 05696AC005 for ; Fri, 17 Oct 2014 02:38:44 -0700 (PDT) X-ASG-Debug-ID: 1413538722-04cbb070c853df0001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id lwCKkSliLf1u8rvr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 02:38:42 -0700 (PDT) X-Barracuda-Envelope-From: BATV+bb5ebe281e05a14c76fc+4072+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 1Xf3zY-0004Sv-Mq; Fri, 17 Oct 2014 09:38:36 +0000 Date: Fri, 17 Oct 2014 02:38:36 -0700 From: Christoph Hellwig To: Dave Chinner Cc: Josh Boyer , linux-fsdevel@vger.kernel.org, Eric Sandeen , "Linux-Kernel@Vger. Kernel. Org" , viro@ZenIV.linux.org.uk, xfs@oss.sgi.com Subject: Re: splice read/write pipe lock ordering issues (was Re: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb) Message-ID: <20141017093836.GB9146@infradead.org> X-ASG-Orig-Subj: Re: splice read/write pipe lock ordering issues (was Re: XFS lockdep with Linux v3.17-5503-g35a9ad8af0bb) References: <20141016221434.GF7169@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141016221434.GF7169@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: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1413538722 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.30 X-Barracuda-Spam-Status: No, SCORE=2.30 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC7_SA_HREF_FROM_MISMATCH_TEXT_URIx1_HL, PR0N_SUBJECT, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10668 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 2.00 BSF_SC7_SA_HREF_FROM_MISMATCH_TEXT_URIx1_HL Custom Rule HREF_FROM_MISMATCH_TEXT_URIx1_HL On Fri, Oct 17, 2014 at 09:14:34AM +1100, Dave Chinner wrote: > That smells like a splice architecture bug. splice write puts the > pipe lock outside the inode locks, but splice read puts the pipes > locks *inside* the inode locks. > > The recent commit 8d02076 "(->splice_write() via ->write_iter()") > which went into 3.16 will be what is causing this. It replaced a > long standing splice lock inversion problem (XFS iolock vs i_mutex > http://oss.sgi.com/archives/xfs/2011-08/msg00122.html) by moving > to a ->write_iter call under the pipe_lock. > > Only XFS reports this issue because XFS is the only filesystem that > serialises splice reads against truncate, concurrent writes into the > same region, extent manipulation functions via fallocate() (e.g. > hole punch), etc. and it does so via the inode iolock that it takes > in shared (read) mode during xfs_file_splice_read(). Actually ocfs2 and nfs will have the same issue. From a.gami2014@vera.com.uy Fri Oct 17 05:44: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=4.9 required=5.0 tests=ADVANCE_FEE_4_NEW, ADVANCE_FEE_5_NEW,HK_SCAM_S7,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 22C6D7F3F for ; Fri, 17 Oct 2014 05:44:07 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B05E0304064 for ; Fri, 17 Oct 2014 03:44:03 -0700 (PDT) X-ASG-Debug-ID: 1413542637-04bdf038cf59cc0001-NocioJ Received: from mta01.vera.com.uy (smtp-s02-b.vera.com.uy [200.40.31.21]) by cuda.sgi.com with ESMTP id xNl7KUhPV421LO9I for ; Fri, 17 Oct 2014 03:43:58 -0700 (PDT) X-Barracuda-Envelope-From: a.gami2014@vera.com.uy X-Barracuda-Apparent-Source-IP: 200.40.31.21 Received: from avas03.in.vera.com.uy (slbcorreolez-vrrp.in.vera.com.uy [172.24.31.1]) by mta01.in.vera.com.uy (Postfix) with ESMTP id 4424D220EE3; Fri, 17 Oct 2014 08:43:53 -0200 (UYST) Received: from localhost (unknown [127.0.0.1]) by IMSVA (Postfix) with SMTP id 189A3228727; Fri, 17 Oct 2014 08:43:53 -0200 (UYST) X-IMSS-HAND-OFF-DIRECTIVE: 172.24.31.41:10025 Received: from mta01.vera.com.uy (unknown [172.24.31.10]) by avas03.in.vera.com.uy (Postfix) with ESMTP id 59BCF228727; Fri, 17 Oct 2014 08:43:43 -0200 (UYST) Received: from mbox01.in.vera.com.uy (slbcorreolez-vrrp.in.vera.com.uy [172.24.31.1]) by mta01.in.vera.com.uy (Postfix) with ESMTP id D001322156A; Fri, 17 Oct 2014 08:43:38 -0200 (UYST) DKIM-Filter: OpenDKIM Filter v2.9.0 mta01.in.vera.com.uy 18556221572 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vera.com.uy; s=72E86E58-1335-11E4-BC8D-0ED04F92C007; t=1413542623; bh=Kkohr8u4CRBfBj9170OvC0pvjAvjg1CcfXRzJo8bLAo=; h=Date:From:Message-ID:Subject:MIME-Version:Content-Type; b=xWpB/0btRnV8Kg8S+lP2mUpwBM4muQTOwS3TRFxhPgFXS7gENdl5BRf3tphUbrmCl zTtgdnErf8CQxXNRq6jU+WeQHs8um6652PLY5w+s2f7/qlm25cRjODcnduc1ot+/Ki g4mpG6s+orGyQ1bV3uRQOYw/6GMWcQYLBoZO5LXI= Date: Fri, 17 Oct 2014 08:43:38 -0200 (UYST) From: Armand Gami Message-ID: <2039959537.3204793.1413542618722.JavaMail.zimbra@vera.com.uy> In-Reply-To: <337896188.3204789.1413542617428.JavaMail.zimbra@vera.com.uy> Subject: Please I need your help! MIME-Version: 1.0 X-ASG-Orig-Subj: Please I need your help! Content-Type: multipart/alternative; boundary="----=_Part_3204792_693290816.1413542618722" X-Originating-IP: [172.24.31.30] Thread-Topic: Please I need your help! Thread-Index: uU+zXXGzdMFnWJWTU6LceC1JICKQsw== To: undisclosed-recipients:; X-TM-AS-MML: disable X-SPAM: YES X-SPAMOUT: YES X-TM-AS-Product-Ver: IMSVA-8.5.0.1516-7.5.0.1018-21032.006 X-TM-AS-Result: Yes-57.320-4.5-31-11 X-imss-scan-details: Yes-57.320-4.5-31-11;Yes-57.320-4.5-31-11 X-TMASE-Version: IMSVA-8.5.0.1516-7.5.1018-21032.006 X-TMASE-Result: 11-57.320100-5.000000 X-TMASE-MatchedRID: ikrAZy0qzMCZZhZK7vBWC/Qajs/YwumpOhJ9m53n4aClvIixP/JrwWo2 CpAw8kIrPKykZSnW8n/GTbGCvCrFkxv4EaDquet2+/HV1Dwcb5PJ5SXtoJPLyDqI/Q1zONHSemz RYMGLeBxHO45i5oWHjgzaHQtsXcxJYzV25h0omb3R2hgWtKOR+RCAX4XPOvyZZ4kLIJ6V8AmtEa JoVjyWkAFvDMtaeFWbanlqO3o/fij3CzNGHj3gHyaPjzrfsLNnfMhjt3b5PP01jYi8tribH+ygQ WdkAVMsC/65/XIzpYE7u3BnuZUonwei3UbsWUfb5BgEdUqqANTEkmLzgU2KemRdIs6LECun4dPr oZEJyCDi8zVgXoAltuoKEDqVJEm+71zr0FZRMbDavgOhJLlkrFaz40mF+EdEpbUXDZAt2ulFGCd 0S0NCsjZVoAH2HiY2WH4aXhAgHfMcEbaBa3x3lhOYUGeZ3ppevuvB6gAgryg= X-Barracuda-Connect: smtp-s02-b.vera.com.uy[200.40.31.21] X-Barracuda-Start-Time: 1413542637 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.02 X-Barracuda-Spam-Status: No, SCORE=2.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC2_MV0285_2, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10670 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese 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 2.00 BSF_SC2_MV0285_2 BSF_SC2_MV0285_2 ------=_Part_3204792_693290816.1413542618722 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Please I need your help! I apologize for contacting you this way. I am Armand Gami , I am a young 17 year old Ivorian . I dream and desire to come to settle in your country to start a new life. As you know , my country, Ivory Coast is emerging from a long and bloody civil war. So I want to go into exile because the conditions here have become very dangerous. my entire family was killed during the civil war and I am the only survivor. I will not come to your country empty-handed , I have inherited a capital of my deceased father, a serious amount, and I want to invest it in a real and lucrative business. I need your help to transfer my inheritance to your country and also help me come and join you there. do you think that this investment would allow me to have the right of residence? would you welcome me and be my guardian ? especially because I want to continue my studies once in your country . I hope to read from you so that we can build friendly relations. God bless you. Armand ------=_Part_3204792_693290816.1413542618722 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Please I need your help!

= I apologize for contacting you this way. I am Armand Gami , I am a young 17= year old Ivorian . I dream and desire to come to settle in your country to= start a new life.

As you know , my country, Ivory Coast is emerging= from a long and bloody civil war. So I want to go into exile because the c= onditions here have become very dangerous. my entire family was killed duri= ng the civil war and I am the only survivor. I will not come to your countr= y empty-handed , I have inherited a capital of my deceased father, a seriou= s amount, and I want to invest it in a real and lucrative business. I need = your help to transfer my inheritance to your country and also help me come = and join you there.

do you think that this investment would allow me= to have the right of residence? would you welcome me and be my guardian ? = especially because I want to continue my studies once in your country .
=
I hope to read from you so that we can build friendly relations.
God bless you.

Armand
------=_Part_3204792_693290816.1413542618722-- From bounces@absolu-wood.com Fri Oct 17 11:12: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=4.3 required=5.0 tests=HTML_IMAGE_RATIO_04, HTML_MESSAGE,MPART_ALT_DIFF,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 630B17F3F for ; Fri, 17 Oct 2014 11:12:53 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1663C8F804B for ; Fri, 17 Oct 2014 09:12:50 -0700 (PDT) X-ASG-Debug-ID: 1413562363-04bdf038d067e90001-NocioJ Received: from fr326.leads-marketing.fr (fr326.leads-marketing.fr [5.39.53.126]) by cuda.sgi.com with ESMTP id oceGw02UmLp72RcG for ; Fri, 17 Oct 2014 09:12:44 -0700 (PDT) X-Barracuda-Envelope-From: bounces@absolu-wood.com X-Barracuda-Apparent-Source-IP: 5.39.53.126 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=k3; d=absolu-wood.com; h=To:Subject:Message-ID:Date:From:Reply-To:MIME-Version:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; i=lucie@absolu-wood.com; bh=fUagavWRRgq35jiaJBbMNNnqWLE=; b=eapybLOKz6vbmqQf5RB0I9mGWTeysq2ZdT0cS476+Ia55AWAxRCtyK8IqjDnyT1gzZGejF+ccq/X jnRrgREAKnPUhAiaCKMF63jydOayATXtSe47hvGzwYkkuiBB5pOwxf347LwYXdr8BJuc6NpvAJM5 OLwz2tPV27tQRsGh2i4= Received: by fr326.leads-marketing.fr for ; Fri, 17 Oct 2014 17:12:43 +0100 (envelope-from ) To: xfs@oss.sgi.com Subject: Communiquez avec le bois ! Message-ID: <384a73cd109d5cf837b529a880d1ca69@app.absolu-wood.com> X-ASG-Orig-Subj: Communiquez avec le bois ! Date: Fri, 17 Oct 2014 16:13:22 +0000 From: "Absolu WooD" Reply-To: lucie@absolu-wood.com MIME-Version: 1.0 X-Mailer-LID: 69,70,71,72 List-Unsubscribe: X-Mailer-RecptId: 7899799 X-Mailer-SID: 545 X-Mailer-Sent-By: 1 Content-Type: multipart/alternative; charset="UTF-8"; boundary="b1_9bdb3ac5ca923a4c3025f309f437cf9d" Content-Transfer-Encoding: 8bit X-Barracuda-Connect: fr326.leads-marketing.fr[5.39.53.126] X-Barracuda-Start-Time: 1413562364 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.31 X-Barracuda-Spam-Status: No, SCORE=0.31 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, MPART_ALT_DIFF X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10678 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.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 0.14 MPART_ALT_DIFF BODY: HTML and text parts are different --b1_9bdb3ac5ca923a4c3025f309f437cf9d 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://app.absolu-wood.com/display.php?M=7899799&C=ea33f840e76e3aee6c49a75e950ea28b&S=545&L=72&N=109 To stop receiving these emails:http://app.absolu-wood.com/unsubscribe.php?M=7899799&C=ea33f840e76e3aee6c49a75e950ea28b&L=72&N=545 --b1_9bdb3ac5ca923a4c3025f309f437cf9d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit Absolu Wood - Communiquez avec le bois !
  logo.png   Communication par l'objet
&
papeterie bois
 
Absolu Wood - Le Bruel - 48230 ESCLANEDES - 09.72.44.69.41
 
 
patchwork.png

Communiquez avec le bois !

Une mise en oeuvre innovante du bois, pour des objets originaux et une communication durable.

  • Une matière esthétique et hautement symbolique.
  • Gamme de produits de papeterie réalisée en bois et papier recyclé.
  • Différentes techniques de marquage.
  • Produits fabriqués en France par une entreprise adaptée.
 
 
  encart-pro2.png   catalogue.png   fabrique-en-france-200.png  
Notre site web dédié aux pros Téléchargez notre catalogue Fabrication Française
--b1_9bdb3ac5ca923a4c3025f309f437cf9d-- From surendra@rapmalls.com Fri Oct 17 11:57: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=2.2 required=5.0 tests=HTML_MESSAGE,LOTS_OF_MONEY, MIME_HTML_ONLY,MIME_QP_LONG_LINE 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 EED737F3F for ; Fri, 17 Oct 2014 11:57:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 89BE1AC004 for ; Fri, 17 Oct 2014 09:57:45 -0700 (PDT) X-ASG-Debug-ID: 1413565063-04bdf038d26a1b0001-NocioJ Received: from clark.dnsbox51.com (clark.dnsbox51.com [209.236.125.78]) by cuda.sgi.com with ESMTP id e5qkMRSVnDFFlSiS (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 09:57:43 -0700 (PDT) X-Barracuda-Envelope-From: surendra@rapmalls.com X-Barracuda-Apparent-Source-IP: 209.236.125.78 Received: from static-76-160-169-26.dsl.cavtel.net ([76.160.169.26]:11886 helo=Accounting-PC) by clark.dnsbox51.com with esmtpa (Exim 4.82) (envelope-from ) id 1XfApg-003QbH-M3 for xfs@oss.sgi.com; Fri, 17 Oct 2014 11:57:41 -0500 From: surendra@rapmalls.com To: xfs@oss.sgi.com Subject: =?UTF-8?Q?Final_notification_for_xfs=40oss.sgi.com?= Date: Fri, 17 Oct 2014 12:56:53 -0400 X-ASG-Orig-Subj: =?UTF-8?Q?Final_notification_for_xfs=40oss.sgi.com?= MIME-Version: 1.0 (produced by Synapse) X-mailer: Synapse - Pascal TCP/IP library by Lukas Gebauer Content-type: Multipart/mixed; boundary="2DA093E5_74ED27E1_Synapse_boundary" Content-Description: Multipart message X-OutGoing-Spam-Status: No, score=0.2 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - clark.dnsbox51.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - rapmalls.com X-Get-Message-Sender-Via: clark.dnsbox51.com: authenticated_id: surendra@rapmalls.com X-Barracuda-Connect: clark.dnsbox51.com[209.236.125.78] X-Barracuda-Start-Time: 1413565063 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: 2.66 X-Barracuda-Spam-Status: No, SCORE=2.66 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC7_SA722, HTML_MESSAGE, MIME_HTML_ONLY, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2, MISSING_MID, NO_REAL_NAME, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10680 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.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 1.50 BSF_SC7_SA722 Custom Rule BSF_SC7_SA722 Message-Id: <20141017165745.4A15BA4217D@cuda.sgi.com> --2DA093E5_74ED27E1_Synapse_boundary Content-type: text/html; charset=UTF-8 Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Content-Description: HTML text =EF=BB=BF?=09=09=09Purchase Notice=09= =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09
=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09Order= Details=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09
=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09
=09=09=09=09=09=09=09=09=09=09=093D""=09=09= =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09
=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09
Details of shipment =09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
Order= from October 17th 2014
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09
=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09

For your information that your order is being shipped to you. We also= included invoice date to your shipping address.

= Order= number: 920551626
Order total: 3005.19 USD
Shipping date: 10/ 17th= 2014.
= =

Please visit the link provided below to= view more info about your order.=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09

=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09

= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09
=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 Order= details =09 =09=09=09=09=09=09=09=09=09=09=09= =09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09

=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=093D""=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09
 
=09=09=09=09=09=09=09=09=09
=09=09=09=09=09
=09=09=09=093D""=09=09= =09=09
=09
=09=09=09=09=09=09=09
=09=09=09
=09 --2DA093E5_74ED27E1_Synapse_boundary-- From jack@suse.cz Fri Oct 17 14:24: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 89E697F3F for ; Fri, 17 Oct 2014 14:24:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 27855AC007 for ; Fri, 17 Oct 2014 12:24:37 -0700 (PDT) X-ASG-Debug-ID: 1413573872-04bdf038d270560001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id tHcicF8tVIdWcJcG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 12:24:34 -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 67F94ABE6; Fri, 17 Oct 2014 19:24:31 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CB7FE81C78; Fri, 17 Oct 2014 21:24:28 +0200 (CEST) Date: Fri, 17 Oct 2014 21:24:28 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141017192428.GA19788@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> <20141011133452.GA29004@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141011133452.GA29004@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413573873 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.10686 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat 11-10-14 06:34:52, Christoph Hellwig wrote: > I still very much disagree with the s_inode_fields indirection. Please > find a patch below to remove it, and use a get_dquots super_block > operation instead. This leads to less and better readable code, > and serves 4 bytes in every inode in the system. Additionally the I don't see the 4-bytes per inode saving, what am I missing? Frankly, I don't see a difference in readability but since you and Al agree on that I concede to your taste :) > indirection could easily be optimized away by directly passing the > dquot array in various functions, but for now I'd like to keep it > simple. So after I wrote a patch to avoid the indirection in most places (we cannot avoid it during quotaon and quotaoff but those are corner cases) I also think it's better to leave it for a separate patch series. It's mostly trivial but there's lot of churn when functions prototypes change, names need to change, etc. and with that I'd probably do other cleanups of the quota API towards filesystems (to somewhat reduce number of functions). So I'll just change the patches to use the function call instead of indirection table as you suggest. Honza > > diff --git a/fs/ext2/super.c b/fs/ext2/super.c > index 47d97af..c330e90 100644 > --- a/fs/ext2/super.c > +++ b/fs/ext2/super.c > @@ -307,6 +307,11 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root) > #ifdef CONFIG_QUOTA > static ssize_t ext2_quota_read(struct super_block *sb, int type, char *data, size_t len, loff_t off); > static ssize_t ext2_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); > + > +static struct dquot **ext2_get_dquots(struct inode *inode) > +{ > + return EXT2_I(inode)->i_dquot; > +} > #endif > > static const struct super_operations ext2_sops = { > @@ -324,13 +329,7 @@ static const struct super_operations ext2_sops = { > #ifdef CONFIG_QUOTA > .quota_read = ext2_quota_read, > .quota_write = ext2_quota_write, > -#endif > -}; > - > -static const int ext2_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = offsetof(struct ext2_inode_info, i_dquot) - > - offsetof(struct ext2_inode_info, vfs_inode), > + .get_dquots = ext2_get_dquots, > #endif > }; > > @@ -1103,7 +1102,6 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) > sb->s_qcop = &dquot_quotactl_ops; > sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > - sb_init_inode_fields(sb, ext2_inode_fields); > > root = ext2_iget(sb, EXT2_ROOT_INO); > if (IS_ERR(root)) { > diff --git a/fs/ext3/super.c b/fs/ext3/super.c > index 9e15262..9ca145d 100644 > --- a/fs/ext3/super.c > +++ b/fs/ext3/super.c > @@ -769,6 +769,11 @@ static ssize_t ext3_quota_read(struct super_block *sb, int type, char *data, > static ssize_t ext3_quota_write(struct super_block *sb, int type, > const char *data, size_t len, loff_t off); > > +static struct dquot **ext3_get_dquots(struct inode *inode) > +{ > + return EXT3_I(inode)->i_dquot; > +} > + > static const struct dquot_operations ext3_quota_operations = { > .write_dquot = ext3_write_dquot, > .acquire_dquot = ext3_acquire_dquot, > @@ -807,17 +812,11 @@ static const struct super_operations ext3_sops = { > #ifdef CONFIG_QUOTA > .quota_read = ext3_quota_read, > .quota_write = ext3_quota_write, > + .get_dquots = ext3_get_dquots, > #endif > .bdev_try_to_free_page = bdev_try_to_free_page, > }; > > -static const int ext3_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = (int)offsetof(struct ext3_inode_info, i_dquot) - > - (int)offsetof(struct ext3_inode_info, vfs_inode), > -#endif > -}; > - > static const struct export_operations ext3_export_ops = { > .fh_to_dentry = ext3_fh_to_dentry, > .fh_to_parent = ext3_fh_to_parent, > @@ -2021,7 +2020,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) > sb->dq_op = &ext3_quota_operations; > sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > - sb_init_inode_fields(sb, ext3_inode_fields); > memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ > mutex_init(&sbi->s_orphan_lock); > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index ceac3c1..f7d4332 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -1072,6 +1072,11 @@ static int ext4_quota_enable(struct super_block *sb, int type, int format_id, > unsigned int flags); > static int ext4_enable_quotas(struct super_block *sb); > > +static struct dquot **ext4_get_dquots(struct inode *inode) > +{ > + return EXT4_I(inode)->i_dquot; > +} > + > static const struct dquot_operations ext4_quota_operations = { > .get_reserved_space = ext4_get_reserved_space, > .write_dquot = ext4_write_dquot, > @@ -1140,17 +1145,11 @@ static const struct super_operations ext4_nojournal_sops = { > #ifdef CONFIG_QUOTA > .quota_read = ext4_quota_read, > .quota_write = ext4_quota_write, > + .get_dquots = ext4_get_dquots, > #endif > .bdev_try_to_free_page = bdev_try_to_free_page, > }; > > -static const int ext4_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = offsetof(struct ext4_inode_info, i_dquot) - > - offsetof(struct ext4_inode_info, vfs_inode), > -#endif > -}; > - > static const struct export_operations ext4_export_ops = { > .fh_to_dentry = ext4_fh_to_dentry, > .fh_to_parent = ext4_fh_to_parent, > @@ -3926,7 +3925,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) > sb->s_qcop = &ext4_qctl_operations; > sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > - sb_init_inode_fields(sb, ext4_inode_fields); > memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > > INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ > diff --git a/fs/jfs/super.c b/fs/jfs/super.c > index a13727d..a7b0447 100644 > --- a/fs/jfs/super.c > +++ b/fs/jfs/super.c > @@ -54,7 +54,6 @@ static struct kmem_cache *jfs_inode_cachep; > > static const struct super_operations jfs_super_operations; > static const struct export_operations jfs_export_operations; > -static const int jfs_inode_fields[IF_FIELD_NR]; > static struct file_system_type jfs_fs_type; > > #define MAX_COMMIT_THREADS 64 > @@ -543,7 +542,6 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) > sb->s_qcop = &dquot_quotactl_ops; > sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > - sb_init_inode_fields(sb, jfs_inode_fields); > > /* > * Initialize direct-mapping inode/address-space > @@ -842,6 +840,10 @@ out: > return len - towrite; > } > > +static struct dquot **jfs_get_dquots(struct inode *inode) > +{ > + return JFS_IP(inode)->i_dquot; > +} > #endif > > static const struct super_operations jfs_super_operations = { > @@ -860,13 +862,7 @@ static const struct super_operations jfs_super_operations = { > #ifdef CONFIG_QUOTA > .quota_read = jfs_quota_read, > .quota_write = jfs_quota_write, > -#endif > -}; > - > -static const int jfs_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = (int)offsetof(struct jfs_inode_info, i_dquot) - > - (int)offsetof(struct jfs_inode_info, vfs_inode), > + .get_dquots = jfs_get_dquots, > #endif > }; > > diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > index 5d94b9a..c575bab 100644 > --- a/fs/ocfs2/super.c > +++ b/fs/ocfs2/super.c > @@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend); > static int ocfs2_enable_quotas(struct ocfs2_super *osb); > static void ocfs2_disable_quotas(struct ocfs2_super *osb); > > +static struct dquot **ocfs2_get_dquots(struct inode *inode) > +{ > + return OCFS2_I(inode)->i_dquot; > +} > + > static const struct super_operations ocfs2_sops = { > .statfs = ocfs2_statfs, > .alloc_inode = ocfs2_alloc_inode, > @@ -155,13 +160,7 @@ static const struct super_operations ocfs2_sops = { > .show_options = ocfs2_show_options, > .quota_read = ocfs2_quota_read, > .quota_write = ocfs2_quota_write, > -}; > - > -static const int ocfs2_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = offsetof(struct ocfs2_inode_info, i_dquot) - > - offsetof(struct ocfs2_inode_info, vfs_inode), > -#endif > + .get_dquots = ocfs2_get_dquots, > }; > > enum { > @@ -2081,7 +2080,6 @@ static int ocfs2_initialize_super(struct super_block *sb, > sb->dq_op = &ocfs2_quota_operations; > sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > sb->s_xattr = ocfs2_xattr_handlers; > - sb_init_inode_fields(sb, ocfs2_inode_fields); > sb->s_time_gran = 1; > sb->s_flags |= MS_NOATIME; > /* this is needed to support O_LARGEFILE */ > diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c > index ecb8732..b3af224 100644 > --- a/fs/quota/dquot.c > +++ b/fs/quota/dquot.c > @@ -893,9 +893,9 @@ out: > } > EXPORT_SYMBOL(dqget); > > -static inline struct dquot **i_dquot(const struct inode *inode) > +static inline struct dquot **i_dquot(struct inode *inode) > { > - return ((struct dquot **)inode_field(inode, IF_DQUOTS)); > + return inode->i_sb->s_op->get_dquots(inode); > } > > static int dqinit_needed(struct inode *inode, int type) > @@ -1648,7 +1648,7 @@ EXPORT_SYMBOL(__dquot_alloc_space); > /* > * This operation can block, but only after everything is updated > */ > -int dquot_alloc_inode(const struct inode *inode) > +int dquot_alloc_inode(struct inode *inode) > { > int cnt, ret = 0, index; > struct dquot_warn warn[MAXQUOTAS]; > @@ -1789,7 +1789,7 @@ EXPORT_SYMBOL(__dquot_free_space); > /* > * This operation can block, but only after everything is updated > */ > -void dquot_free_inode(const struct inode *inode) > +void dquot_free_inode(struct inode *inode) > { > unsigned int cnt; > struct dquot_warn warn[MAXQUOTAS]; > diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c > index 04babe5..72bdcc8 100644 > --- a/fs/reiserfs/super.c > +++ b/fs/reiserfs/super.c > @@ -754,6 +754,11 @@ static ssize_t reiserfs_quota_write(struct super_block *, int, const char *, > size_t, loff_t); > static ssize_t reiserfs_quota_read(struct super_block *, int, char *, size_t, > loff_t); > + > +static struct dquot **reiserfs_get_dquots(struct inode *inode) > +{ > + return REISERFS_I(inode)->i_dquot; > +} > #endif > > static const struct super_operations reiserfs_sops = { > @@ -772,13 +777,7 @@ static const struct super_operations reiserfs_sops = { > #ifdef CONFIG_QUOTA > .quota_read = reiserfs_quota_read, > .quota_write = reiserfs_quota_write, > -#endif > -}; > - > -static const int reiserfs_inode_fields[IF_FIELD_NR] = { > -#ifdef CONFIG_QUOTA > - [IF_DQUOTS] = (int)offsetof(struct reiserfs_inode_info, i_dquot) - > - (int)offsetof(struct reiserfs_inode_info, vfs_inode), > + .get_dquots = reiserfs_get_dquots, > #endif > }; > > @@ -1646,7 +1645,6 @@ static int read_super_block(struct super_block *s, int offset) > s->dq_op = &reiserfs_quota_operations; > sb_dqopt(s)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > #endif > - sb_init_inode_fields(s, reiserfs_inode_fields); > > /* > * new format is limited by the 32 bit wide i_blocks field, want to > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 6a801ca..3e1c596 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -612,12 +612,6 @@ struct inode { > void *i_private; /* fs or device private pointer */ > }; > > -/* Optional inode fields (stored in filesystems inode if the fs needs them) */ > -enum inode_fields { > - IF_DQUOTS, /* Quota pointers: struct dquot *foo[MAXQUOTAS] */ > - IF_FIELD_NR /* Number of optional inode fields */ > -}; > - > static inline int inode_unhashed(struct inode *inode) > { > return hlist_unhashed(&inode->i_hash); > @@ -1239,11 +1233,6 @@ struct super_block { > void *s_fs_info; /* Filesystem private info */ > unsigned int s_max_links; > fmode_t s_mode; > - /* > - * We could have here just a pointer to the offsets array but this > - * way we save one dereference when looking up field offsets > - */ > - int s_inode_fields[IF_FIELD_NR]; > > /* Granularity of c/m/atime in ns. > Cannot be worse than a second */ > @@ -1294,24 +1283,6 @@ struct super_block { > struct rcu_head rcu; > }; > > -static inline void *inode_field(const struct inode *inode, > - enum inode_fields field) > -{ > - int offset; > - > - BUG_ON(field >= IF_FIELD_NR); > - offset = inode->i_sb->s_inode_fields[field]; > - if (!offset) /* Field not present? */ > - return NULL; > - return ((char *)inode) + offset; > -} > - > -static inline void sb_init_inode_fields(struct super_block *sb, > - const int *fields) > -{ > - memcpy(sb->s_inode_fields, fields, sizeof(int) * IF_FIELD_NR); > -} > - > extern struct timespec current_fs_time(struct super_block *sb); > > /* > @@ -1609,6 +1580,7 @@ struct super_operations { > #ifdef CONFIG_QUOTA > ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); > ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); > + struct dquot **(*get_dquots)(struct inode *); > #endif > int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); > long (*nr_cached_objects)(struct super_block *, int); > diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h > index 1d3eee5..f23538a 100644 > --- a/include/linux/quotaops.h > +++ b/include/linux/quotaops.h > @@ -64,10 +64,10 @@ void dquot_destroy(struct dquot *dquot); > int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags); > void __dquot_free_space(struct inode *inode, qsize_t number, int flags); > > -int dquot_alloc_inode(const struct inode *inode); > +int dquot_alloc_inode(struct inode *inode); > > int dquot_claim_space_nodirty(struct inode *inode, qsize_t number); > -void dquot_free_inode(const struct inode *inode); > +void dquot_free_inode(struct inode *inode); > void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number); > > int dquot_disable(struct super_block *sb, int type, unsigned int flags); > @@ -213,12 +213,12 @@ static inline void dquot_drop(struct inode *inode) > { > } > > -static inline int dquot_alloc_inode(const struct inode *inode) > +static inline int dquot_alloc_inode(struct inode *inode) > { > return 0; > } > > -static inline void dquot_free_inode(const struct inode *inode) > +static inline void dquot_free_inode(struct inode *inode) > { > } > -- Jan Kara SUSE Labs, CR From bfoster@redhat.com Fri Oct 17 15:20: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 8E6937F3F for ; Fri, 17 Oct 2014 15:20:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4E9C88F804C for ; Fri, 17 Oct 2014 13:20:24 -0700 (PDT) X-ASG-Debug-ID: 1413577222-04bdf038d0732e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id GKRsjqyNmvZYCGO3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 13:20:23 -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 s9HKKMmv009912 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 17 Oct 2014 16:20:22 -0400 Received: from laptop.bfoster (vpn-49-205.rdu2.redhat.com [10.10.49.205]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9HKKKwG023977 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 17 Oct 2014 16:20:22 -0400 Date: Fri, 17 Oct 2014 16:20:20 -0400 From: Brian Foster To: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141017202019.GA3393@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413220285-24886-1-git-send-email-bfoster@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: 1413577223 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 Mon, Oct 13, 2014 at 01:11:25PM -0400, Brian Foster wrote: > The zero range operation is analogous to fallocate with the exception of > converting the range to zeroes. E.g., it attempts to allocate zeroed > blocks over the range specified by the caller. The XFS implementation > kills all delalloc blocks currently over the aligned range, converts the > range to allocated zero blocks (unwritten extents) and handles the > partial pages at the ends of the range by sending writes through the > pagecache. > > The current implementation suffers from several problems associated with > inode size. If the aligned range covers an extending I/O, said I/O is > discarded and an inode size update from a previous write never makes it > to disk. Further, if an unaligned zero range extends beyond eof, the > page write induced for the partial end page can itself increase the > inode size, even if the zero range request is not supposed to update > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > The latter behavior not only incorrectly increases the inode size, but > can lead to stray delalloc blocks on the inode. Typically, post-eof > preallocation blocks are either truncated on release or inode eviction > or explicitly written to by xfs_zero_eof() on natural file size > extension. If the inode size increases due to zero range, however, > associated blocks leak into the address space having never been > converted or mapped to pagecache pages. A direct I/O to such an > uncovered range cannot convert the extent via writeback and will BUG(). > For example: > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > ... > $ xfs_io -d -c "pread 128k 128k" > > > If the entire delalloc extent happens to not have page coverage > whatsoever (e.g., delalloc conversion couldn't find a large enough free > space extent), even a full file writeback won't convert what's left of > the extent and we'll assert on inode eviction. > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > Use the existing hole punch and prealloc mechanisms as primitives for > zero range. We punch out the pagecache beforehand to eliminate > unnecessary writeback. The hole punch mechanism handles partial block > zeroing for us and facilitates the use of a single prealloc call over > the entire range, which increases the odds of contiguous allocation. > > Signed-off-by: Brian Foster > --- > > This is v4, but effectively an alternate implementation to v3 that > reduces zero range to a hole punch and preallocate operation. I > originally reproduced a hang with v3 + my unwritten conversion helper > patch that I thought somehow related to said helper, but I have seen > what appears to be the same thing with this patch after a couple hundred > cycles of generic/269. That leads me to believe that there is a more > general problem perhaps related to the increased extent manipulation > going on in either implementation (whether for conversion or removal). I > don't reproduce such a failure with focused hole punch testing on tot, > but I do reproduce other assert failures that I suspect just mask the > ability to reproduce this one. > > In short, all three of these configurations pass basic correctness tests > for me. v3 has been the most reliable in stress tests. v3+unwritten > conversion and v4 seem to reproduce this hang after a while. v4 is > probably the most simple implementation of the three. > > Brian > > v4: > - Simplify the implementation to use hole punch. > v3: http://oss.sgi.com/archives/xfs/2014-10/msg00149.html > - Pass length to xfs_alloc_file_space() rather than end offset. > - Split up start/end page writeback branches. > - Fix up a bunch of comments. > v2: http://oss.sgi.com/archives/xfs/2014-10/msg00138.html > - Refactor the logic to punch out pagecache/delalloc first and do > allocation last to prevent stray delalloc on ENOSPC. > v1: http://oss.sgi.com/archives/xfs/2014-10/msg00052.html > > fs/xfs/xfs_bmap_util.c | 95 +++++++++++++++++++++++++++++--------------------- > 1 file changed, 55 insertions(+), 40 deletions(-) > > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > index 92e8f99..8d178fc 100644 > --- a/fs/xfs/xfs_bmap_util.c > +++ b/fs/xfs/xfs_bmap_util.c > @@ -1338,7 +1338,10 @@ xfs_free_file_space( > goto out; > } > > - > +/* > + * Preallocate and zero a range of a file. This mechanism has the allocation > + * semantics of fallocate and in addition converts data in the range to zeroes. > + */ > int > xfs_zero_file_space( > struct xfs_inode *ip, > @@ -1346,65 +1349,77 @@ xfs_zero_file_space( > xfs_off_t len) > { > struct xfs_mount *mp = ip->i_mount; > - uint granularity; > + uint blksize; > xfs_off_t start_boundary; > xfs_off_t end_boundary; > int error; > + loff_t eof; > > trace_xfs_zero_file_space(ip); > > - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); > + blksize = 1 << mp->m_sb.sb_blocklog; > > /* > - * Round the range of extents we are going to convert inwards. If the > - * offset is aligned, then it doesn't get changed so we zero from the > - * start of the block offset points to. > + * Align the range inward to page size. This represents the range of > + * pages that can be tossed, even if dirty. > */ > - start_boundary = round_up(offset, granularity); > - end_boundary = round_down(offset + len, granularity); > + start_boundary = round_up(offset, PAGE_CACHE_SIZE); > + end_boundary = round_down(offset + len, PAGE_CACHE_SIZE); > > ASSERT(start_boundary >= offset); > ASSERT(end_boundary <= offset + len); > > - if (start_boundary < end_boundary - 1) { > + /* > + * If the range covers one or more full pages, punch out the pagecache > + * and any delalloc blocks over the range. This is an optimization to > + * prevent writeback and delalloc extent conversion over the zeroed > + * range via the hole punch or prealloc calls. > + * > + * We only handle the page aligned range here because this function does > + * not handle the partial block zeroing necessary to keep the cache and > + * on-disk data consistent. That is the responsibility of the > + * xfs_free_file_space() call below. > + */ > + if (end_boundary > start_boundary) { > /* > - * Writeback the range to ensure any inode size updates due to > - * appending writes make it to disk (otherwise we could just > - * punch out the delalloc blocks). > + * Flush the eof page first if it falls within the range so we > + * do not lose i_size updates. > */ > - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, > - start_boundary, end_boundary - 1); > - if (error) > - goto out; > + eof = round_down(i_size_read(VFS_I(ip)) - 1, PAGE_CACHE_SIZE); > + if (i_size_read(VFS_I(ip)) > ip->i_d.di_size && > + eof >= start_boundary && eof <= end_boundary) > + filemap_write_and_wait_range(VFS_I(ip)->i_mapping, eof, > + -1); > truncate_pagecache_range(VFS_I(ip), start_boundary, > end_boundary - 1); > > - /* convert the blocks */ > - error = xfs_alloc_file_space(ip, start_boundary, > - end_boundary - start_boundary - 1, > - XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); > - if (error) > - goto out; > - > - /* We've handled the interior of the range, now for the edges */ > - if (start_boundary != offset) { > - error = xfs_iozero(ip, offset, start_boundary - offset); > - if (error) > - goto out; > - } > - > - if (end_boundary != offset + len) > - error = xfs_iozero(ip, end_boundary, > - offset + len - end_boundary); > - > - } else { > - /* > - * It's either a sub-granularity range or the range spanned lies > - * partially across two adjacent blocks. > - */ > - error = xfs_iozero(ip, offset, len); > + xfs_ilock(ip, XFS_ILOCK_EXCL); > + error = xfs_bmap_punch_delalloc_range(ip, > + XFS_B_TO_FSBT(mp, start_boundary), > + XFS_B_TO_FSB(mp, end_boundary - start_boundary)); > + xfs_iunlock(ip, XFS_ILOCK_EXCL); > } It appears that the tp->t_blk_res overrun assert is also related to delalloc punching. I'm basically seeing a writepage attempted for a page over a delalloc extent (imap in writepage reflects this), but at some point before we get into the allocation (I suspect between where we release and reacquire ilock in xfs_map_blocks() to iomap_write_allocate()) the delalloc blocks that relate this particular page to the extent disappear. An in-core extent dump after doing the allocation but before inserting into the extent tree shows the range to be allocated as a hole. Indeed, the allocator saw a hole (wasdel == 0) and ended up doing the full allocation while the transaction had a reservation for a delalloc conversion, which we end up overrunning. It's not quite clear to me how this is happening. I would expect truncate_pagecache_range() to serialize against writeback via page lock. Regardless, the scenario of writing back pages into unallocated space that writeback thinks is covered by delayed allocation suggests something racing with delalloc punching. The problem seems to disappear if I comment it out from zero range, so we might want to kill the above hunk entirely for the time being. Brian > > + /* > + * Punch a hole and prealloc the range. We use hole punch rather than > + * unwritten extent conversion for two reasons: > + * > + * 1.) Hole punch handles partial block zeroing for us. Note that we've > + * already tossed pagecache over the aligned range so we won't write > + * back too much data (only unaligned start/end pages to avoid races > + * with uncached I/O). > + * > + * 2.) If prealloc returns ENOSPC, the file range is still zero-valued > + * by virtue of the hole punch. > + */ > + error = xfs_free_file_space(ip, offset, len); > + if (error) > + goto out; > + > + error = xfs_alloc_file_space(ip, round_down(offset, blksize), > + round_up(offset + len, blksize) - > + round_down(offset, blksize), > + XFS_BMAPI_PREALLOC); > out: > return error; > > -- > 1.8.3.1 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From peacefulgloria@centurylink.net Fri Oct 17 18:33: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=HTML_MESSAGE,T_DKIM_INVALID autolearn=unavailable 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 DE4117F3F for ; Fri, 17 Oct 2014 18:33:26 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C9A1B304039 for ; Fri, 17 Oct 2014 16:33:23 -0700 (PDT) X-ASG-Debug-ID: 1413588794-04cb6c2ef970470004-NocioJ Received: from smtp.centurylink.net (mail.centurylink.net [205.219.233.9]) by cuda.sgi.com with ESMTP id ZbK29039Z2fJRPRc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 17 Oct 2014 16:33:23 -0700 (PDT) X-Barracuda-Envelope-From: peacefulgloria@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=1413588794; h=From:Subject:Date:To:MIME-Version:Content-Type; bh=4WcN/E/ifErUkMZqv05KNslY0cQ=; b=Qzo3BAxOGl7nud9fQUNkaov8c6Qtp3tqrQGY5ermX+yqrRcP3BOhCfmpSaCeq0/o UqnPOy5zNW7eVyIsOsaFwBQqub2It/uEFYW5bgM/qwc7aPNScKRC88hs3RXpP47B sVzOHeaogeIebAwv00gJj1e03U8/LGhzOlvQ8hVPzihYPNiD98XqI/pgZuiJYH6X YKIA4RxzJDbye6yhfqGYip6QJ1vZuj7znECCVYn+djFcRVQANMRd5SrJ4dLmRJ9H kA2g+EllONgis5SOhCB8BDA/ykUs9acOTraZNNp6Z9XQTd5WNOPehcbiyOtlJQAb 0daGcFvmPpuBUPvDHNUypg==; X_CMAE_Category: , , X-CNFS-Analysis: v=2.0 cv=BsEfMPr5 c=1 sm=1 a=FKkrIqjQGGEA:10 a=YTHtZiAxaJsA:10 a=1SVKJj2qBb0A:10 a=I_5RNyk1AAAA:8 a=qy2oMlxNFPGbdpuccMgA:9 a=QEXdDO2ut3YA:10 a=wgW-QfjpE74A:10 a=_mMfS4ZUEPUA:10 a=xfV4Lv6d_W5PoX6htNwA:9 a=_W_S_7VecoQA:10 a=IGazwXkBE0MA:10 a=woySP4Il718A:10 a=_0rNhT5Yg9IA:10 a=UDo720tNcInnqUF9S9yrCA==:117 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine X-Authed-Username: cGVhY2VmdWxnbG9yaWFAY2VudHVyeWxpbmsubmV0 Received: from [10.40.66.4] ([10.40.66.4:54221] helo=md51.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 5E/C9-13053-437A1445; Fri, 17 Oct 2014 19:33:11 -0400 Date: Fri, 17 Oct 2014 19:33:08 -0400 (EDT) From: PEACE GLORIA To: Gloria C Mackenzie Message-ID: <1444644760.3647691.1413588788322.JavaMail.root@centurylink.net> In-Reply-To: Subject: Re: Good Day, MIME-Version: 1.0 X-ASG-Orig-Subj: Re: Good Day, Content-Type: multipart/alternative; boundary="----=_Part_3647690_1421434684.1413588788319" X-Originating-IP: [197.86.164.146] 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: 1413588803 X-Barracuda-Encrypted: AES256-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.00 X-Barracuda-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.10693 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_3647690_1421434684.1413588788319 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Did you receive my previous message about my donation to you? ------=_Part_3647690_1421434684.1413588788319 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
Did you receive my previous message about my donation to you?

------=_Part_3647690_1421434684.1413588788319-- From stan@hardwarefreak.com Sat Oct 18 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=none 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 3C29E7F3F for ; Sat, 18 Oct 2014 01:03:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1A9EF8F8039 for ; Fri, 17 Oct 2014 23:03:02 -0700 (PDT) X-ASG-Debug-ID: 1413612180-04cb6c2efa7a440001-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 FPZPPk9ykOhgWiMB for ; Fri, 17 Oct 2014 23:03:01 -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 [134.64.128.100] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id F3F7E6C0F5; Sat, 18 Oct 2014 01:02:59 -0500 (CDT) Message-ID: <544202AE.3000003@hardwarefreak.com> Date: Sat, 18 Oct 2014 01:03:26 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <20141009211339.GD4376@dastard> 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: 1413612181 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 10/09/2014 04:13 PM, Dave Chinner wrote: ... >> I'm told we have 800 threads writing to nearly as many files >> concurrently on a single XFS on a 12+2 spindle RAID6 LUN. >> Achieved data rate is currently ~300 MiB/s. Some of these are >> files are supposedly being written at a rate of only 32KiB every >> 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine >> how many bytes we're writing to each of the low rate files, and >> how many files, to figure out RMW mitigation strategies. Out of >> the apparent 800 streams 700 are these low data rate suckers, one >> stream writing per file. >> >> Nary a stock RAID controller is going to be able to assemble full >> stripes out of these small slow writes. With a 768 KiB stripe >> that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? > > Raid controllers don't typically have the resources to track > hundreds of separate write streams at a time. Most don't have the > memory available to track that many active write streams, and those > that do probably can't proritise writeback sanely given how slowly > most cachelines would be touched. The fast writers would simply tune > over the slower writer caches way too quickly. > > Perhaps you need to change the application to make the slow writers > buffer stripe sized writes in memory and flush them 768k at a > time... All buffers are now 768K multiples--6144, 768, 768, and I'm told the app should be writing out full buffers. However I'm not seeing the throughput increase I should given the amount that the RMWs should have decreased, which, if my math is correct, should be about half (80) the raw actuator seek rate of these drives (7.2k SAS). Something isn't right. I'm guessing it's the controller firmware, maybe the test app, or both. The test app backs off then ramps up when response times at the controller go up and back down. And it's not super accurate or timely about it. The lowest interval setting possible is 10 seconds. Which is way too high when a controller goes into congestion. Does XFS give alignment hints with O_DIRECT writes into preallocated files? The filesystems were aligned at make time w/768K stripe width, so each prealloc file should be aligned on a stripe boundary. I've played with the various queue settings, even tried deadline instead of noop hoping more LBAs could be sorted before hitting the controller. Can't seem to get a repeatable increase. I've nr_requests at 524288, rq_affinity 2, read_ahead_kb 0 since reads are <20% of the IO, add_random 0, etc. Nothing seems to help really. Thanks, Stan From huquanjun@gmail.com Sat Oct 18 04:26: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,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 2036E7F3F for ; Sat, 18 Oct 2014 04:26:46 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id C0762AC004 for ; Sat, 18 Oct 2014 02:26:42 -0700 (PDT) X-ASG-Debug-ID: 1413624400-04bdf038cf88d10001-NocioJ Received: from mail-qg0-f43.google.com (mail-qg0-f43.google.com [209.85.192.43]) by cuda.sgi.com with ESMTP id kv4nICdtOgBbfgLS (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 18 Oct 2014 02:26:41 -0700 (PDT) X-Barracuda-Envelope-From: huquanjun@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.43 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.43] Received: by mail-qg0-f43.google.com with SMTP id j107so1579088qga.2 for ; Sat, 18 Oct 2014 02:26:40 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.43] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.43] 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=L63tlYLKUMGwEyJT6ceomGCrmbJBd0+572GQaVLb1xs=; b=J0cmVjTmCqkGihAMFnvbecT6UHWskj2zpqwGE7Ckpro7fIgos2akQnr/LjuvJNN67+ MsrAAu8Jss7lwQGwbliZ0W2H/NILHkl0yVhGGRJme0lsE3pwhj0yLfz7AvBpILwMJVHU b7wO5+ZIlqnCWk15+qqQWiBEEhCokhE1w7YhVJmKdTX0f0IL5VIeGcnERNm7zwnT2NW4 0BASlqWxJz6HA6bIastFewf2SmTVacLxPK1YqdCD0KGcGKeApAN/wPhscg9Nada1f+A6 /lnN25BA0z3FZAoO43QF5psIY/KSlLiu52hp09MhEN4cKInlKTfwICbtsCKWIMOpv12l iGTg== MIME-Version: 1.0 X-Received: by 10.140.81.8 with SMTP id e8mr17935935qgd.45.1413624400607; Sat, 18 Oct 2014 02:26:40 -0700 (PDT) Received: by 10.229.82.198 with HTTP; Sat, 18 Oct 2014 02:26:40 -0700 (PDT) Date: Sat, 18 Oct 2014 17:26:40 +0800 Message-ID: Subject: Problem about very high Average Read/Write Request Time From: quanjun hu X-ASG-Orig-Subj: Problem about very high Average Read/Write Request Time To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11c11fca3e7f820505af14a9 X-Barracuda-Connect: mail-qg0-f43.google.com[209.85.192.43] X-Barracuda-Start-Time: 1413624401 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.10706 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 --001a11c11fca3e7f820505af14a9 Content-Type: text/plain; charset=UTF-8 Hi, I am using xfs on a raid 5 (~100TB) and put log on external ssd device, the mount information is: /dev/sdc on /data/fhgfs/fhgfs_storage type xfs (rw,relatime,attr2,delaylog,logdev=/dev/sdb1,sunit=512,swidth=15872,noquota). when doing only reading / only writing , the speed is very fast(~1.5G), but when do both the speed is very slow (100M), and high r_await(160) and w_await(200000). 1. how can I reduce average request time? 2. can I use ssd as write/read cache for xfs? Best regards, Quanjun --001a11c11fca3e7f820505af14a9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,
=C2=A0 =C2=A0I am using xfs on a raid 5 (~100TB) a= nd put log on external ssd device, the mount information is:
/dev= /sdc on /data/fhgfs/fhgfs_storage type xfs (rw,relatime,attr2,delaylog,logd= ev=3D/dev/sdb1,sunit=3D512,swidth=3D15872,noquota).
=C2=A0 wh= en doing only reading / only writing , the speed is very fast(~1.5G), but w= hen do both the speed is very slow (100M), and high r_await(160) and w_awai= t(200000).
=C2=A0 =C2=A01. how can I reduce average request time?=
=C2=A0 =C2=A02. can I use ssd as write/read cache for xfs?
=

Best=C2=A0r= egards,
Quanjun

--001a11c11fca3e7f820505af14a9-- From eflorac@intellique.com Sat Oct 18 07: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C5A247F3F for ; Sat, 18 Oct 2014 07:38:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A517A8F804B for ; Sat, 18 Oct 2014 05:38:20 -0700 (PDT) X-ASG-Debug-ID: 1413635894-04bdf038d28c320001-NocioJ Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by cuda.sgi.com with ESMTP id 4lMfyYP5xQHam3Qs (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 18 Oct 2014 05:38:15 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.5 Received: from galadriel.home (unknown [82.235.234.79]) by smtp5-g21.free.fr (Postfix) with ESMTP id 67F77D480A6; Sat, 18 Oct 2014 14:36:46 +0200 (CEST) Date: Sat, 18 Oct 2014 14:38:48 +0200 From: Emmanuel Florac To: quanjun hu Cc: xfs@oss.sgi.com Subject: Re: Problem about very high Average Read/Write Request Time Message-ID: <20141018143848.3baf3266@galadriel.home> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time In-Reply-To: References: Organization: Intellique X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp5-g21.free.fr[212.27.42.5] X-Barracuda-Start-Time: 1413635894 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.10709 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Sat, 18 Oct 2014 17:26:40 +0800 vous =C3=A9criviez: > Hi, > I am using xfs on a raid 5 (~100TB) and put log on external ssd > device, the mount information is: > /dev/sdc on /data/fhgfs/fhgfs_storage type xfs > (rw,relatime,attr2,delaylog,logdev=3D/dev/sdb1,sunit=3D512,swidth=3D15872= ,noquota). > when doing only reading / only writing , the speed is very > fast(~1.5G), but when do both the speed is very slow (100M), and high > r_await(160) and w_await(200000). What are your kernel version, mount options and xfs_info output ? > 1. how can I reduce average request time? > 2. can I use ssd as write/read cache for xfs? Sure, using bcache and other similar tools. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From BATV+79b8eac1357ae5f4fd56+4073+infradead.org+hch@bombadil.srs.infradead.org Sat Oct 18 10:17: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 BA1F57F3F for ; Sat, 18 Oct 2014 10:17:50 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 46259AC004 for ; Sat, 18 Oct 2014 08:17:49 -0700 (PDT) X-ASG-Debug-ID: 1413645464-04cb6c2efb86d20001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id gJel53z9PS7Y784E (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 18 Oct 2014 08:17:45 -0700 (PDT) X-Barracuda-Envelope-From: BATV+79b8eac1357ae5f4fd56+4073+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 1XfVlC-00012w-4B; Sat, 18 Oct 2014 15:17:38 +0000 Date: Sat, 18 Oct 2014 08:17:38 -0700 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141018151738.GG30355@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> <20141011133452.GA29004@infradead.org> <20141017192428.GA19788@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141017192428.GA19788@quack.suse.cz> 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: 1413645465 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.10712 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 17, 2014 at 09:24:28PM +0200, Jan Kara wrote: > I don't see the 4-bytes per inode saving, what am I missing? Frankly, I > don't see a difference in readability but since you and Al agree on that I > concede to your taste :) It's the removal of s_inode_fields that saves 4 bytes. From stan@hardwarefreak.com Sat Oct 18 13:16: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 B209B7F3F for ; Sat, 18 Oct 2014 13:16:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A0827304039 for ; Sat, 18 Oct 2014 11:16:37 -0700 (PDT) X-ASG-Debug-ID: 1413656193-04cbb070c889460001-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 IO7nuROTSzc8HjF3 for ; Sat, 18 Oct 2014 11:16:33 -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 [134.64.128.100] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 7486D6C0FE; Sat, 18 Oct 2014 13:16:32 -0500 (CDT) Message-ID: <5442AE9A.7030703@hardwarefreak.com> Date: Sat, 18 Oct 2014 13:16:58 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> <544202AE.3000003@hardwarefreak.com> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <544202AE.3000003@hardwarefreak.com> 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: 1413656193 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 10/18/2014 01:03 AM, Stan Hoeppner wrote: > On 10/09/2014 04:13 PM, Dave Chinner wrote: > ... >>> I'm told we have 800 threads writing to nearly as many files >>> concurrently on a single XFS on a 12+2 spindle RAID6 LUN. >>> Achieved data rate is currently ~300 MiB/s. Some of these are >>> files are supposedly being written at a rate of only 32KiB every >>> 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine >>> how many bytes we're writing to each of the low rate files, and >>> how many files, to figure out RMW mitigation strategies. Out of >>> the apparent 800 streams 700 are these low data rate suckers, one >>> stream writing per file. >>> >>> Nary a stock RAID controller is going to be able to assemble full >>> stripes out of these small slow writes. With a 768 KiB stripe >>> that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? >> >> Raid controllers don't typically have the resources to track >> hundreds of separate write streams at a time. Most don't have the >> memory available to track that many active write streams, and those >> that do probably can't proritise writeback sanely given how slowly >> most cachelines would be touched. The fast writers would simply tune >> over the slower writer caches way too quickly. >> >> Perhaps you need to change the application to make the slow writers >> buffer stripe sized writes in memory and flush them 768k at a >> time... > > All buffers are now 768K multiples--6144, 768, 768, and I'm told the app should be writing out full buffers. However I'm not seeing the throughput increase I should given the amount that the RMWs should have decreased, which, if my math is correct, should be about half (80) the raw actuator seek rate of these drives (7.2k SAS). Something isn't right. I'm guessing it's the controller firmware, maybe the test app, or both. The test app backs off then ramps up when response times at the controller go up and back down. And it's not super accurate or timely about it. The lowest interval setting possible is 10 seconds. Which is way too high when a controller goes into congestion. > > Does XFS give alignment hints with O_DIRECT writes into preallocated files? The filesystems were aligned at make time w/768K stripe width, so each prealloc file should be aligned on a stripe boundary. I've played with the various queue settings, even tried deadline instead of noop hoping more LBAs could be sorted before hitting the controller. Can't seem to get a repeatable increase. I've nr_requests at 524288, rq_affinity 2, read_ahead_kb 0 since reads are <20% of the IO, add_random 0, etc. Nothing seems to help really. Some additional background: Num. Streams = 350 WRITING: Num. Write Threads = 100 Avg. Write Rate = 72 KiB/s Avg. Write Intvl = 10666.666 ms Num. Write Buffers = 426 Write Buffer Size = 768 KiB Write Buffer Mem. = 327168 KiB Group Write Rate = 25200 KiB/s Avg. Buffer Rate = 32.812 bufs/s Avg. Buffer Intvl. = 30.476 ms Avg. Thread Intvl. = 3047.600 ms The 350 streams are written to 350 preallocated files in parallel. Yes, a seek monster. Writing without AIO currently. I'm bumping the rate to 2x during the run but that isn't reflected above. The above is the default setup. The app can't dump the running setup. The previous non buffer aligned config used 160KB write buffers. Stan From jack@suse.cz Sat Oct 18 14:26: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 741E97F3F for ; Sat, 18 Oct 2014 14:26:33 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 03772AC004 for ; Sat, 18 Oct 2014 12:26:29 -0700 (PDT) X-ASG-Debug-ID: 1413660386-04cbb070c58a680001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 33EtsRY77L1KsxV2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 18 Oct 2014 12:26:27 -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 F237DABCC; Sat, 18 Oct 2014 19:26:25 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E574381C31; Sat, 18 Oct 2014 21:26:24 +0200 (CEST) Date: Sat, 18 Oct 2014 21:26:24 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141018192624.GA16478@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> <20141011133452.GA29004@infradead.org> <20141017192428.GA19788@quack.suse.cz> <20141018151738.GG30355@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141018151738.GG30355@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413660387 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.10716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat 18-10-14 08:17:38, Christoph Hellwig wrote: > On Fri, Oct 17, 2014 at 09:24:28PM +0200, Jan Kara wrote: > > I don't see the 4-bytes per inode saving, what am I missing? Frankly, I > > don't see a difference in readability but since you and Al agree on that I > > concede to your taste :) > > It's the removal of s_inode_fields that saves 4 bytes. But that was in the superblock, not in the inode... Honza -- Jan Kara SUSE Labs, CR From root@krios.tbi.univie.ac.at Sat Oct 18 23:25: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 25FE07F3F for ; Sat, 18 Oct 2014 23:25:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id C6736AC006 for ; Sat, 18 Oct 2014 21:25:11 -0700 (PDT) X-ASG-Debug-ID: 1413692706-04bdf038d09c620001-NocioJ Received: from krios.tbi.univie.ac.at (krios.tbi.univie.ac.at [131.130.44.60]) by cuda.sgi.com with ESMTP id OFe6hUBQxMaayBn0 for ; Sat, 18 Oct 2014 21:25:06 -0700 (PDT) X-Barracuda-Envelope-From: root@krios.tbi.univie.ac.at X-Barracuda-Apparent-Source-IP: 131.130.44.60 Received: by krios.tbi.univie.ac.at (Postfix) id 9DFF85ECFE; Sun, 19 Oct 2014 06:25:03 +0200 (CEST) Delivered-To: root@krios.tbi.univie.ac.at Received: by krios.tbi.univie.ac.at (Postfix, from userid 0) id 9276A5F3E2; Sun, 19 Oct 2014 06:25:03 +0200 (CEST) From: root@krios.tbi.univie.ac.at (Cron Daemon) To: root@krios.tbi.univie.ac.at Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: Message-Id: <20141019042503.9276A5F3E2@krios.tbi.univie.ac.at> Date: Sun, 19 Oct 2014 06:25:03 +0200 (CEST) X-Barracuda-Connect: krios.tbi.univie.ac.at[131.130.44.60] X-Barracuda-Start-Time: 1413692706 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.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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_ADDR_MATCH, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10725 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address /etc/cron.daily/logrotate: error: error opening /home/git/gitlab/log/application.log: Permission denied error: error opening /home/git/gitlab/log/githost.log: Permission denied error: error opening /home/git/gitlab/log/production.log: Permission denied error: error opening /home/git/gitlab/log/satellites.log: Permission denied error: error opening /home/git/gitlab/log/sidekiq.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stderr.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stdout.log: Permission denied error: error opening /home/git/gitlab-shell/gitlab-shell.log: Permission denied run-parts: /etc/cron.daily/logrotate exited with return code 1 From pg_mh@mh.to.sabi.co.uk Sun Oct 19 05:10: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 4F0407F4E for ; Sun, 19 Oct 2014 05:10:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id D2551AC005 for ; Sun, 19 Oct 2014 03:10:33 -0700 (PDT) X-ASG-Debug-ID: 1413713428-04cbb070c797a50001-ps1ADW Received: from woodbine.london.02.net (woodbine.london.02.net [87.194.255.145]) by cuda.sgi.com with ESMTP id XlX97zs4dIprvoHY for ; Sun, 19 Oct 2014 03:10:28 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.145 Received: from ty.sabi.co.UK (94.192.123.208) by woodbine.london.02.net (8.5.140) id 53BD9B4503A6D8BB for xfs@OSS.SGI.com; Sun, 19 Oct 2014 11:40:51 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1XfnRM-0007WZ-PE for ; Sun, 19 Oct 2014 11:10:20 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <21571.36364.518119.806191@tree.ty.sabi.co.uk> Date: Sun, 19 Oct 2014 11:10:20 +0100 Precedence: air-mail To: Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <20141018143848.3baf3266@galadriel.home> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: woodbine.london.02.net[87.194.255.145] X-Barracuda-Start-Time: 1413713428 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.10731 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- >> I am using xfs on a raid 5 (~100TB) and put log on external >> ssd device, the mount information is: /dev/sdc on >> /data/fhgfs/fhgfs_storage type xfs >> (rw,relatime,attr2,delaylog,logdev=/dev/sdb1,sunit=512,swidth=15872,noquota). >> when doing only reading / only writing , the speed is very >> fast(~1.5G), but when do both the speed is very slow (100M), >> and high r_await(160) and w_await(200000). > What are your kernel version, mount options and xfs_info output ? Those are usually important details, but in this case the information that matters is already present. There is a ratio of 31 (thirty one) between 'swidth' and 'sunit' and assuming that this reflects the geometry of the RAID5 set and given commonly available disk sizes it can be guessed that with amazing "bravery" someone has configured a RAID5 out of 32 (thirty two) high capacity/low IOPS 3TB drives, or something similar. It is even "braver" than that: if the device name "/data/fhgfs/fhgfs_storage" is dedscriptive, this "brave" RAID5 set is supposed to hold the object storage layer of a BeeFS highly parallel filesystem, and therefore will likely have mostly-random accesses. This issue should be moved to the 'linux-raid' mailing list as from the reported information it has nothing to do with XFS. BTW the 100MB/s aggregate over 31 drives means around 3MB/s per drive, which seems pretty good for a RW workload with mostly-random accesses with high RMW correlation. It is notable but not surprising that XFS works well even with such a "brave" choice of block storage layer, untainted by any "cowardly" consideration of the effects of RMW and using drives designed for capacity rather than IOPS. From BATV+fbafbb8d9fd0902e4bfa+4074+infradead.org+hch@bombadil.srs.infradead.org Sun Oct 19 09:16: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 236F17F51 for ; Sun, 19 Oct 2014 09:16:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 11E5F304048 for ; Sun, 19 Oct 2014 07:16:40 -0700 (PDT) X-ASG-Debug-ID: 1413728195-04cbb070c79c220001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id ykczJU2yhPNWeprh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 19 Oct 2014 07:16:35 -0700 (PDT) X-Barracuda-Envelope-From: BATV+fbafbb8d9fd0902e4bfa+4074+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 1XfrHY-0000hG-4d; Sun, 19 Oct 2014 14:16:28 +0000 Date: Sun, 19 Oct 2014 07:16:28 -0700 From: Christoph Hellwig To: Jan Kara Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode Message-ID: <20141019141628.GA2485@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 0/12 v2] Moving i_dquot out of struct inode References: <1412952910-7142-1-git-send-email-jack@suse.cz> <20141011133452.GA29004@infradead.org> <20141017192428.GA19788@quack.suse.cz> <20141018151738.GG30355@infradead.org> <20141018192624.GA16478@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141018192624.GA16478@quack.suse.cz> 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: 1413728195 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.10735 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, Oct 18, 2014 at 09:26:24PM +0200, Jan Kara wrote: > But that was in the superblock, not in the inode... You're right! Sorry for the confusion. From stan@hardwarefreak.com Sun Oct 19 16:16: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 705587F4E for ; Sun, 19 Oct 2014 16:16:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3E653304039 for ; Sun, 19 Oct 2014 14:16:30 -0700 (PDT) X-ASG-Debug-ID: 1413753389-04bdf038cfb1250001-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 mfbFy01W6WvqlJT6 for ; Sun, 19 Oct 2014 14:16:29 -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 [134.64.128.100] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id BE55D6C0E7; Sun, 19 Oct 2014 16:16:28 -0500 (CDT) Message-ID: <54442A48.6050503@hardwarefreak.com> Date: Sun, 19 Oct 2014 16:16:56 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: quanjun hu , xfs@oss.sgi.com Subject: Re: Problem about very high Average Read/Write Request Time References: X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time 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: 1413753389 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 10/18/2014 04:26 AM, quanjun hu wrote: > Hi, > I am using xfs on a raid 5 (~100TB) and put log on external ssd device, the mount information is: > /dev/sdc on /data/fhgfs/fhgfs_storage type xfs (rw,relatime,attr2,delaylog,logdev=/dev/sdb1,sunit=512,swidth=15872,noquota). > when doing only reading / only writing , the speed is very fast(~1.5G), but when do both the speed is very slow (100M), and high r_await(160) and w_await(200000). > 1. how can I reduce average request time? > 2. can I use ssd as write/read cache for xfs? You apparently have 31 effective SATA 7.2k RPM spindles with 256 KiB chunk, 7.75 MiB stripe width, in RAID5. That should yield 3-4.6 GiB/s of streaming throughput assuming no cable, expander, nor HBA limitations. You're achieving only 1/3rd to 1/2 of this. Which hardware RAID controller is this? What are the specs? Cache RAM, host and back end cable count and type? When you say read or write is fast individually, but read+write is slow, what types of files are you reading and writing, and how many in parallel? This combined pattern is likely the cause of the slowdown due to excessive seeking in the drives. As others mentioned this isn't an XFS problem. The problem is that your RAID geometry doesn't match your workload. Your very wide parity stripe is apparently causing excessive seeking with your read+write workload due to read-modify-write operations. To mitigate this, and to increase resiliency, you should switch to RAID6 with a smaller chunk. If you need maximum capacity make a single RAID6 array with 16 KiB chunk size. This will yield a 496 KiB stripe width, increasing the odds that all writes are a full stripe, and hopefully eliminating much of the RMW problem. A better option might be making three 10 drive RAID6 arrays (two spares) with 32 KiB chunk, 256 KiB stripe width, and concatenating the 3 arrays with mdadm --linear. You'd have 24 spindles of capacity and throughput instead of 31, but no more RMW operations, or at least very few. You'd format the linear md device with # mkfs.xfs -d su=32k,sw=8 /dev/mdX As long as your file accesses are spread fairly evenly across at least 3 directories you should achieve excellent parallel throughput, though single file streaming throughput will peak at 800-1200 MiB/s, that of 8 drives. With a little understanding of how this setup works, you can write two streaming files and read a third without any of the 3 competing with one another for disk seeks/bandwidth--which is your current problem. Or you could do one read and one write to each of 3 directories, and no pair of two would interfere with the other pairs. Scale up from here. Basically what we're doing is isolating each RAID LUN into a set of directories. When you write to one of those directories the file goes into only one of the 3 RAID arrays. Doing this isolates RMWs for a given write to only a subset of your disks, and minimizes the amount of seeks generated by parallel accesses. Cheers, Stan From david@fromorbit.com Sun Oct 19 17:24: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 D6FB07F4E for ; Sun, 19 Oct 2014 17:24:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id C51D1304032 for ; Sun, 19 Oct 2014 15:24:40 -0700 (PDT) X-ASG-Debug-ID: 1413757477-04cbb070c7a48e0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 73py1sS4fnVJPmeM for ; Sun, 19 Oct 2014 15:24:37 -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: AiY9AKM4RFR5LODnPGdsb2JhbABbgw6BK4c9sVIGlF+FawQCAoENFwEGAQEBATg7hAIBAQEDATocIwULCAMYCSUPBSUDBxoTiDcHv3wBAQEHAiAYhguJZUkHhEsFnViBMYNGgy2JfoV/IIFtKS+BB4FEAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Oct 2014 08:54:36 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xfytu-00082r-H9; Mon, 20 Oct 2014 09:24:34 +1100 Date: Mon, 20 Oct 2014 09:24:34 +1100 From: Dave Chinner To: Stan Hoeppner Cc: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files Message-ID: <20141019222434.GL17506@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> <544202AE.3000003@hardwarefreak.com> <5442AE9A.7030703@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5442AE9A.7030703@hardwarefreak.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: 1413757477 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.10746 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [ please word wrap your emails at 68-72 columns ] On Sat, Oct 18, 2014 at 01:16:58PM -0500, Stan Hoeppner wrote: > On 10/18/2014 01:03 AM, Stan Hoeppner wrote: > > On 10/09/2014 04:13 PM, Dave Chinner wrote: > > ... > >>> I'm told we have 800 threads writing to nearly as many files > >>> concurrently on a single XFS on a 12+2 spindle RAID6 LUN. > >>> Achieved data rate is currently ~300 MiB/s. Some of these are > >>> files are supposedly being written at a rate of only 32KiB every > >>> 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine > >>> how many bytes we're writing to each of the low rate files, and > >>> how many files, to figure out RMW mitigation strategies. Out of > >>> the apparent 800 streams 700 are these low data rate suckers, one > >>> stream writing per file. > >>> > >>> Nary a stock RAID controller is going to be able to assemble full > >>> stripes out of these small slow writes. With a 768 KiB stripe > >>> that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? > >> > >> Raid controllers don't typically have the resources to track > >> hundreds of separate write streams at a time. Most don't have the > >> memory available to track that many active write streams, and those > >> that do probably can't proritise writeback sanely given how slowly > >> most cachelines would be touched. The fast writers would simply tune > >> over the slower writer caches way too quickly. > >> > >> Perhaps you need to change the application to make the slow writers > >> buffer stripe sized writes in memory and flush them 768k at a > >> time... > > > > All buffers are now 768K multiples--6144, 768, 768, and I'm told > > the app should be writing out full buffers. However I'm not > > seeing the throughput increase I should given the amount that > > the RMWs should have decreased, which, if my math is correct, Maybe that's not your problem. What's the storage array tell you about RMW cycles? What's it tell you about lun utilisation - is it even or do you have hot luns? > > should be about half (80) the raw actuator seek rate of these > > drives (7.2k SAS). Not all drives seek at the same rate. Typically for a RAID 6 array, every disk you add to the width of the lun slows the seek rate for full stripe writes by 2-3%. So a 12+2 lun is going to have an average seek rate of 25-30% lower than a 2+1 lun on full stripe writes.... > > Something isn't right. I'm guessing it's > > the controller firmware, maybe the test app, or both. The test > > app backs off then ramps up when response times at the > > controller go up and back down. And it's not super accurate or > > timely about it. The lowest interval setting possible is 10 > > seconds. Which is way too high when a controller goes into > > congestion. The controller should not have any problems with this. If the controller IO response times are varying significantly, then you're doing something wrong - most probably caching in BBWC rather than writing through to disk immediately... > > Does XFS give alignment hints with O_DIRECT writes into > > preallocated files? What do you mean? if the file is preallocated and aligned, then the IO alignment is wholly up to the application. i.e. if the application is not doing aligned IO, then there's nothing the filesystem can do to align it... > > The filesystems were aligned at make time > > w/768K stripe width, so each prealloc file should be aligned on > > a stripe boundary. "should be aligned"? You haven't verified they are aligned by using with 'xfs_bmap -vp'? > > I've played with the various queue settings, > > even tried deadline instead of noop hoping more LBAs could be > > sorted before hitting the controller. Can't seem to get a > > repeatable increase. I've nr_requests at 524288, rq_affinity 2, > > read_ahead_kb 0 since reads are <20% of the IO, add_random 0, > > etc. Nothing seems to help really. nr_requests = 524288? Why do you want to queue half a million IOs once the CTQ depth has overflowed? That's a major latency problem right there. You've got latency problems, so your should be removing any source of potential or variable latency in the IO stack. e.g. turning off all IO scheduler queuing, reducing CTQ depth and using write through caching so you can observe the behaviour of the raw luns. Strip it right back, then observe... > Some additional background: > > Num. Streams = 350 > WRITING: > Num. Write Threads = 100 > Avg. Write Rate = 72 KiB/s > Avg. Write Intvl = 10666.666 ms > Num. Write Buffers = 426 > Write Buffer Size = 768 KiB > Write Buffer Mem. = 327168 KiB > Group Write Rate = 25200 KiB/s > Avg. Buffer Rate = 32.812 bufs/s > Avg. Buffer Intvl. = 30.476 ms > Avg. Thread Intvl. = 3047.600 ms > > The 350 streams are written to 350 preallocated files in parallel. And they layout of those files are? If you don't know the physical layout of the files and what disks in the storage array they map to, then you can't determine what the seek times should be. If you can't work out what the seek times should be, then you don't know what the stream capacity of the storage should be. Keep in mind that single extent files are optimised for read performance, not write performance. i.e. by default XFS trades off some write performance to improve file read performance. Optimising for highest write speeds means linearising all writes (i.e. reducing seeks), while XFS's default behaviour is to separate them into different regions of the disk (increasing seeks). IOWs, write rates are likely to go up if you allow files to be fragmented and interleaved to make writes more sequential. The down side is that reads will then seek, but if reads aren't the primary workload, nor a performance sensitive operation, then perhaps you're optimising for the wrong operation.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 19 19:26: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 2AED77F4E for ; Sun, 19 Oct 2014 19:26:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D1E68304032 for ; Sun, 19 Oct 2014 17:26:00 -0700 (PDT) X-ASG-Debug-ID: 1413764757-04bdf038d2b4260001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id jI55qBrIlBcjAX3S for ; Sun, 19 Oct 2014 17:25:57 -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: ApJfAHZVRFR5LODnPGdsb2JhbABbgw6BK4c9sVIGgUiTF4VrAgIBAQKBDRcBBgEBAQE4O4QCAQEBAwEnExwjBQsIAw4KCSUPBSUDBxoTiDcHwAgBAQgiGIYLiUoXTQeESwWXUIYIgTGLNIIiiycpL4EGAQMcgSUBAQE Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Oct 2014 10:55:31 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xg0mu-0008Gp-Nl; Mon, 20 Oct 2014 11:25:28 +1100 Date: Mon, 20 Oct 2014 11:25:28 +1100 From: Dave Chinner To: Brian Foster Cc: Carlos Maiolino , xfs@oss.sgi.com Subject: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Message-ID: <20141020002528.GI7169@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-3-git-send-email-cmaiolino@redhat.com> <20141016210536.GB33732@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141016210536.GB33732@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: 1413764757 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.10749 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 16, 2014 at 05:05:37PM -0400, Brian Foster wrote: > On Wed, Oct 15, 2014 at 03:17:22PM -0300, Carlos Maiolino wrote: > > Adds a new function named xfs_cross_rename(), responsible to handle requests > > from sys_renameat2() using RENAME_EXCHANGE flag. > > > > Signed-off-by: Carlos Maiolino > > --- > > Hi Carlos, > > Some high-level comments from a first pass... > > > fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > > fs/xfs/xfs_inode.h | 4 ++ > > fs/xfs/xfs_iops.c | 7 +- > > 3 files changed, 197 insertions(+), 1 deletion(-) > > > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > > index fea3c92..a5bc88d 100644 > > --- a/fs/xfs/xfs_inode.c > > +++ b/fs/xfs/xfs_inode.c > > @@ -2920,6 +2920,193 @@ xfs_rename( > > return error; > > } > > > > +/* xfs_cross_rename() > > + * > > + * responsible to handle RENAME_EXCHANGE flag > > + * in renameat2() sytemcall > > + */ > > +int > > +xfs_cross_rename( > > + xfs_inode_t *src_dp, > > + struct xfs_name *src_name, > > + xfs_inode_t *src_ip, > > + xfs_inode_t *target_dp, > > + struct xfs_name *target_name, > > + xfs_inode_t *target_ip) > > +{ > > + xfs_trans_t *tp = NULL; > > + xfs_mount_t *mp = src_dp->i_mount; > > + int new_parent; /* Crossing from different parents */ > > + int src_is_directory; > > + int tgt_is_directory; > > + int error; > > + xfs_bmap_free_t free_list; > > + xfs_fsblock_t first_block; > > + int cancel_flags; > > + int committed; > > + xfs_inode_t *inodes[4]; > > + int spaceres; > > + int num_inodes; > > + > > + new_parent = (src_dp != target_dp); > > + src_is_directory = S_ISDIR(src_ip->i_d.di_mode); > > + tgt_is_directory = S_ISDIR(target_ip->i_d.di_mode); > > + > > + xfs_sort_for_rename(src_dp, target_dp, src_ip, target_ip, > > + inodes, &num_inodes); > > + > > + xfs_bmap_init(&free_list, &first_block); > > + tp = xfs_trans_alloc(mp, XFS_TRANS_RENAME); > > + cancel_flags = XFS_TRANS_RELEASE_LOG_RES; > > + spaceres = XFS_RENAME_SPACE_RES(mp, target_name->len); > > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, spaceres, 0); > > + > > It seems to me that the existing block and log reservations would > "cover" the rename exchange case, but it might be worth defining new > reservations for the purpose of clarity and to prevent future problems. > > XFS_RENAME_SPACE_RES() covers directory removal and insertion. Here we > are doing neither, which makes me wonder whether we need a block > reservation at all. It does appear that we have a sf dir case where the > inode number could cause a format conversion. Perhaps we need something > that calculates the blocks required for the insertion of the max of both > names (it seems like the conversion would only happen once, but we don't > know which way)? I haven't spent a ton of time in directory code, so I > could easily be missing something. The shortform replace can result in shortform->block conversion, therefore we need the reservation. > The tr_rename log reservation considers four inodes, two directory > modifications, a target inode unlink (the overwrite case), and alloc > btree mods for directory blocks being freed. IIUC, the exchange case > should only ever log four inodes and the possible dir format conversion > (e.g., no unlink, no dir block frees). We could define a new > tr_rename_xchg reservation that encodes that and documents it > appropriately in the comment. The rename log reservation is the worse case that a rename operation requires - it is not specific to a particular rename instance. This new reanme type fits within the existing definition, so we should just use it unchanged. What it comes down to is that there is no point in trying to define reservations for every single possible type of operation we can do - it's just too much maintenance overhead to verify that they are correct after some incidental change. If we define the worst case, then everything else is covered and we don't have to care about whether we have the reservation for a specific case right, or indeed whether we are using the correct reservation for a specific rename transaction.... > > + if (error == -ENOSPC) { > > + spaceres = 0; > > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, 0, 0); > > + } > > + if (error) { > > + xfs_trans_cancel(tp, 0); > > + goto std_return; > > + } This is not necessary. The spaceres == 0 case in the rename is for adding new directory entries at ENOSPC and that is checked by xfs_dir_canenter(). We are not calling that function (because we aren't adding a name) and therefore we can't run without a full space reservation. Oh, and kill that "std_return" name. if (error) { cancel_flags = 0; goto out_trans_cancel; } > > + > > + /* > > + * Attach the dquots to the inodes > > + */ > > + error = xfs_qm_vop_rename_dqattach(inodes); > > + if (error) { > > + xfs_trans_cancel(tp, cancel_flags); > > + goto std_return; > > + } if (error) goto out_trans_cancel; > > + > > + /* > > + * Lock all participating inodes. In case of RENAME_EXCHANGE, target > > + * must exist, so we'll be locking at least 3 inodes here. > > + */ > > + xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); > > + > > + /* > > + * Join all the inodes to the transaction. From this point on, > > + * we can rely on either trans_commit or trans_cancel to unlock > > + * them. > > + * target_ip will always exist, so, no need to check its existence. > > + */ > > + xfs_trans_ijoin(tp, src_dp, XFS_ILOCK_EXCL); > > + if (new_parent) > > + xfs_trans_ijoin(tp, target_dp, XFS_ILOCK_EXCL); > > + > > + xfs_trans_ijoin(tp, src_ip, XFS_ILOCK_EXCL); > > + xfs_trans_ijoin(tp, target_ip, XFS_ILOCK_EXCL); > > + > > + /* > > + * If we are using project inheritance, we only allow RENAME_EXCHANGE > > + * into our tree when the project IDs are the same; else the tree quota > > + * mechanism would be circumvented. > > + */ > > + if (unlikely(((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) || > > + (src_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) && > > + (xfs_get_projid(src_dp) != xfs_get_projid(target_dp)) )) { > > + error = -EXDEV; > > + goto error_return; > > + } > > + > > I think that having a separate helper for the rename exchange case is > generally the right thing. That said, I wonder if we're splitting things > at the right level because it looks like xfs_rename() could handle > everything we have in xfs_cross_rename() up to about this point. Right. I think that splitting out the internal part of xfs_rename after all this common setup code is the best way to proceed. > I definitely don't think we should go too far and try to handle all of > this in one function, even if there is some duplication in the directory > name replacement and inode link management. The logic would probably end > up unnecessarily hairy and difficult to reason about. > > > + error = xfs_dir_replace(tp, src_dp, src_name, > > + target_ip->i_ino, > > + &first_block, &free_list, spaceres); > > + if (error) > > + goto abort_return; > > + > > + /* > > + * Update ".." entry to match the new parent > > + */ > > + if (new_parent && tgt_is_directory) { > > + error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, > > + src_dp->i_ino, &first_block, &free_list, spaceres); > > + if (error) > > + goto abort_return; > > + } > > + > > + xfs_trans_ichgtime(tp, src_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > > + > > + error = xfs_dir_replace(tp, target_dp, target_name, > > + src_ip->i_ino, > > + &first_block, &free_list, spaceres); > > + if (error) > > + goto abort_return; > > + > > + /* > > + * Update ".." entry to match the new parent > > + */ > > + if (new_parent && src_is_directory) { > > + error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, > > + target_dp->i_ino, &first_block, &free_list, spaceres); > > + if (error) > > + goto abort_return; > > + } So you do a bunch of work based on new_parent and tgt/src_is_directory, and then: > > + > > + /* > > + * In case we are crossing different file types between different > > + * parents, we must update parent's link count to match the ".." > > + * entry of the new child (or the removal of it). > > + */ > > + if (new_parent) { > > + xfs_trans_ichgtime(tp, target_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > > + > > + if (src_is_directory && !tgt_is_directory) { > > + error = xfs_droplink(tp, src_dp); > > + if (error) > > + goto abort_return; [whitespace is screwed up] > > + error = xfs_bumplink(tp, target_dp); > > + if (error) > > + goto abort_return; > > + } > > + > > + if (tgt_is_directory && !src_is_directory) { > > + error = xfs_droplink(tp, target_dp); > > + if (error) > > + goto abort_return; > > + error = xfs_bumplink(tp, src_dp); > > + if (error) > > + goto abort_return; > > + } > > + > > + /* > > + * We don't need to log the source dir if > > + * this is the same as the target. > > + */ > > + xfs_trans_log_inode(tp, src_dp, XFS_ILOG_CORE); > > + } You do a bunch more work based on the same variables. THis should reall ybe combined into a single set of logic to manipulate the directory states. if (new_parent) { if (tgt_is_directory) { error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, src_dp->i_ino, &first_block, &free_list, spaceres); if (error) goto out_abort; if (!src_is_directory) { error = xfs_droplink(tp, target_dp); if (error) goto out_abort; error = xfs_bumplink(tp, src_dp); if (error) goto out_abort; } } if (src_is_directory) { error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, target_dp->i_ino, &first_block, &free_list, spaceres); if (error) goto out_abort; ..... > > > + /* > > + * If this is a synchronous mount, make sure the rename transaction goes > > + * to disk before returning to the user. > > + */ > > + if (mp->m_flags & (XFS_MOUNT_WSYNC|XFS_MOUNT_DIRSYNC)) > > + xfs_trans_set_sync(tp); > > + > > + error = xfs_bmap_finish(&tp, &free_list, &committed); > > + if (error) { > > + xfs_bmap_cancel(&free_list); > > + xfs_trans_cancel(tp, (XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT)); > > + goto std_return; > > + } > > + return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); error = xfs_bmap_finish(&tp, &free_list, &committed); if (!error) return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); > > +abort_return: > > + cancel_flags |= XFS_TRANS_ABORT; > > +error_return: > > + xfs_bmap_cancel(&free_list); > > + xfs_trans_cancel(tp, cancel_flags); > > +std_return: > > + return error; out_abort: cancel_flags |= XFS_TRANS_ABORT; out_bmap_cancel: xfs_bmap_cancel(&free_list); out_trans_cancel: xfs_trans_cancel(tp, cancel_flags); return error; Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 19 19:31: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 749847F4E for ; Sun, 19 Oct 2014 19:31:27 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 629298F8033 for ; Sun, 19 Oct 2014 17:31:24 -0700 (PDT) X-ASG-Debug-ID: 1413765081-04cbb070c6a6320001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id pwBwr2p9Up7VdhU7 for ; Sun, 19 Oct 2014 17:31:22 -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: AiBfAIlXRFR5LODnPGdsb2JhbABbgw6BK4c9sViUX4VrAgIBAQKBDRcBBgEBAQE4O4QDAQEEJxMcIxAIAw4KCSUPBSUDBxoTiD7ABgEBAQcCAR8YhguGawGCdU0HhEsFhi2XK4xli0yBfSkvgQeBRAEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Oct 2014 11:01:21 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xg0sa-0008Hl-Ki; Mon, 20 Oct 2014 11:31:20 +1100 Date: Mon, 20 Oct 2014 11:31:20 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com, Dan Carpenter Subject: Re: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() Message-ID: <20141020003120.GJ7169@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() References: <1413466773-56087-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413466773-56087-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: 1413765081 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.10749 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 16, 2014 at 09:39:33AM -0400, Brian Foster wrote: > The error handling in xfs_qm_log_quotaoff() has a couple problems. If > xfs_trans_commit() fails, we fall through to the error block and call > xfs_trans_cancel(). This is incorrect on commit failure. If > xfs_trans_reserve() fails, we jump to the error block, cancel the tp and > restore the superblock qflags to oldsbqflag. However, oldsbqflag has > been initialized to zero and not yet updated from the original flags so > we set the flags to zero. > > Fix up the error handling in xfs_qm_log_quotaoff() to not restore flags > if they haven't been modified and not cancel the tp on commit failure. > > Reported-by: Dan Carpenter > Signed-off-by: Brian Foster > --- > fs/xfs/xfs_qm_syscalls.c | 35 ++++++++++++++++++++--------------- > 1 file changed, 20 insertions(+), 15 deletions(-) > > diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c > index 80f2d77..f2d454e 100644 > --- a/fs/xfs/xfs_qm_syscalls.c > +++ b/fs/xfs/xfs_qm_syscalls.c > @@ -784,13 +784,17 @@ xfs_qm_log_quotaoff( > { > xfs_trans_t *tp; > int error; > - xfs_qoff_logitem_t *qoffi=NULL; > - uint oldsbqflag=0; > + xfs_qoff_logitem_t *qoffi; > + uint oldsbqflag; > + > + *qoffstartp = NULL; > > tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QUOTAOFF); > error = xfs_trans_reserve(tp, &M_RES(mp)->tr_qm_quotaoff, 0, 0); > - if (error) > - goto error0; > + if (error) { > + xfs_trans_cancel(tp, 0); > + return error; > + } > > qoffi = xfs_trans_get_qoff_item(tp, NULL, flags & XFS_ALL_QUOTA_ACCT); > xfs_trans_log_quotaoff_item(tp, qoffi); > @@ -809,19 +813,20 @@ xfs_qm_log_quotaoff( > */ > xfs_trans_set_sync(tp); > error = xfs_trans_commit(tp, 0); > + if (error) > + goto error_flags; If the commit fails, the filesystem will be shut down and the state of the quota flags is completely irrelevant at this point so there's no reason to restore them. Indeed, is restoring them even the right thing to do? The commit *may* have made it to disk, but a subsequent error during completion handling resulted in the commit failing.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 19 20:25: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 15F6E7F4E for ; Sun, 19 Oct 2014 20:25:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E75AC8F8039 for ; Sun, 19 Oct 2014 18:25:27 -0700 (PDT) X-ASG-Debug-ID: 1413768324-04cbb070c5a6fa0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id Du8etysLx1sui1aB for ; Sun, 19 Oct 2014 18:25: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: Ais+AIVjRFR5LODnZGdsb2JhbABbgw6BK7kPBpRfhWsCAgEBAoENFwEEeYQCAQEBAwEnExwjBQsIAw4KCSUPBSUDIRMbiBwHwA0BAQEHAgEfGIYLiUpkB4RLBY9kjXSMZY1JKS+BBoFFAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Oct 2014 11:55:24 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xg1in-0008OE-0S; Mon, 20 Oct 2014 12:25:17 +1100 Date: Mon, 20 Oct 2014 12:25:16 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141020012516.GK7169@dastard> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> <20141017202019.GA3393@laptop.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141017202019.GA3393@laptop.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: 1413768324 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.10750 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 17, 2014 at 04:20:20PM -0400, Brian Foster wrote: > It appears that the tp->t_blk_res overrun assert is also related to > delalloc punching. I'm basically seeing a writepage attempted for a page > over a delalloc extent (imap in writepage reflects this), but at some > point before we get into the allocation (I suspect between where we > release and reacquire ilock in xfs_map_blocks() to > iomap_write_allocate()) the delalloc blocks that relate this particular > page to the extent disappear. An in-core extent dump after doing the > allocation but before inserting into the extent tree shows the range to > be allocated as a hole. Indeed, the allocator saw a hole (wasdel == 0) > and ended up doing the full allocation while the transaction had a > reservation for a delalloc conversion, which we end up overrunning. > > It's not quite clear to me how this is happening. I would expect > truncate_pagecache_range() to serialize against writeback via page lock. It does. But the problem won't be truncate_pagecache_range(), it will be that punching delalloc blocks doesn't serialise against the page lock. i.e. we run truncate_pagecache_range/truncate_setsize without holding inode locks, and they serialise against writeback via page locks. However, we run xfs_bmap_punch_delalloc_range() holding inode locks, but no page locks. Hence both can serialise against writeback, but not against each other. therefore: writeback zero range page_lock page is delalloc XFS_ILOCK_SHARED XFS_ILOCK_EXCL map delalloc xfs_iunlock punch delalloc range xfs_iunlock XFS_ILOCK_EXCL pagecache_truncate_range allocate HOLE!!!! page_lock xfs_iunlock starts page writeback unlocks page waits on writeback removes page from cache Basically, we back to the fundamental problem that we can't manipulate extent state directly if there are *unlocked* pages in the page cache over that range because we hold meaningful writeback state on the page. > Regardless, the scenario of writing back pages into unallocated space > that writeback thinks is covered by delayed allocation suggests > something racing with delalloc punching. The problem seems to disappear > if I comment it out from zero range, so we might want to kill the above > hunk entirely for the time being. Yes, but I think I see the way forward now. xfs_vm_writepage() needs to unconditionally map the page it is being passed rather than relying on the state of bufferheads attached to the buffer. We can't serialise the page cache state against direct extent manipulations, therefore we have to make all decisions based on one set of state we can serialise access to sanely. The issue is that we can't currently serialise extent manipulations against writeback easily, but I think I see a neat and easy way to do this, and it mirrors a technique we already use(*): add a cursor to track the active map we are operating on so that we know if we are about to modify and extent we are currently writing to. Actually, a cursor solves a couple of other problems in this mapping code - see the big comment in xfs_iomap_write_allocate() about using a single map to avoid lookup/unlock/lock/allocate race conditions with truncate/hole-punch. So I think I have a solution that moves us towards the goal of "die, bufferheads, die" and solves these writeback vs page cache vs extent manipulation issues - let me do a bit more thinking about it and I'll write something up. Cheers, Dave. (*) we use a cursor for a similar purpose during AIL traversal: to detect item deletion while the AIL lock was dropped that would cause us to follow an invalid list pointer. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 19 20:48: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1B0F87F4E for ; Sun, 19 Oct 2014 20:48:28 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0717D8F8039 for ; Sun, 19 Oct 2014 18:48:27 -0700 (PDT) X-ASG-Debug-ID: 1413769704-04cb6c2ef9a8ad0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id WMaFy3mIp6obbpUq for ; Sun, 19 Oct 2014 18:48:24 -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: AhIlAF9pRFR5LODnZGdsb2JhbABbgw5TWLkPBpMCgV2FawQCAoENFwEEeYQDAQEEOhwVDhAIAxgJJQ8FJQMhE4g+DsAGAQEBBwIBHxiGC4gXghcHhEsFlkaHEoFtmEEpL4JLAQEB Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl2.internode.on.net with ESMTP; 20 Oct 2014 12:17:51 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xg24c-0008Qg-Dv; Mon, 20 Oct 2014 12:47:50 +1100 Date: Mon, 20 Oct 2014 12:47:50 +1100 From: Dave Chinner To: "Kaul, Yaniv" Cc: "xfs@oss.sgi.com" , fstests@vger.kernel.org, esandeen@redhat.com Subject: Re: Can't build RPM of xfstests Message-ID: <20141020014750.GL7169@dastard> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.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: 1413769704 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.10750 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header [ cc fstests@vger.kernel.org ] On Sun, Oct 12, 2014 at 02:58:50AM -0400, Kaul, Yaniv wrote: > I'm getting the sources from https://kernel.googlesource.com/pub/scm/fs/xfs/xfstests-dev (as I can't use git directly, only over HTTP(s) due to company policy) > I'm trying to compile the RPM on either CentOS 6.5 or 7, both fail identically. Log snippets: > > == dist, log is Logs/dist > make: Entering directory `/var/jenkins/workspace/xfstests-build/build' > /bin/tar: xfstests-1.1.1/m4/general_headers.m4: Cannot stat: No such file or directory > /bin/tar: Exiting with failure status due to previous errors > Wrote: /var/jenkins/workspace/xfstests-build/build/xfstests-1.1.1.src.tar.gz > === install === > gmake[1]: Entering directory `/var/jenkins/workspace/xfstests-build' > Building include > Building lib > Building ltp > Building src > Building aio-dio-regress > Building m4 > Building common > Building tests > /usr/bin/gmake --no-print-directory Q=@ -C include install > ... > gmake[1]: Leaving directory `/var/jenkins/workspace/xfstests-build' > === tar === > Wrote: /var/jenkins/workspace/xfstests-build/build/tar/xfstests-1.1.1.tar.gz > === rpm === > /bin/sed -e's|@pkg_name@|xfstests|g' \ > -e's|@pkg_version@|1.1.1|g' \ > -e's|@pkg_release@|1|g' \ > -e's|@pkg_distribution@|Linux|g' \ > -e's|@build_root@|/tmp/34943|g' \ > -e'/^BuildRoot: *$/d' \ > -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in > xfstests.spec > /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec > error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No such file or directory > gmake[1]: *** [dist] Error 1 I've never tried to build xfstests packages, so I'd make the assumption that the package build infrastructure is broken and needs fixing. That's looking for the tarball in the wrong place. My naive reading of that is rpmbuild is expecting to run as root, not as a jenkins user.... Eric, you're the local RPM expert - any ideas? FWIW, I'll take whatever patches you guys come up with that make it build rpms properly. ;) Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Sun Oct 19 22:35: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 E1CE77F4E for ; Sun, 19 Oct 2014 22:35:51 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8D5ECAC001 for ; Sun, 19 Oct 2014 20:35:51 -0700 (PDT) X-ASG-Debug-ID: 1413776148-04bdf038d1b7b00001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id N4YHD4IKdGYzqTmU for ; Sun, 19 Oct 2014 20:35:49 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 1FF7363C5FD5; Sun, 19 Oct 2014 22:35:47 -0500 (CDT) Message-ID: <54448313.7040602@sandeen.net> Date: Sun, 19 Oct 2014 22:35:47 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dave Chinner , "Kaul, Yaniv" CC: "xfs@oss.sgi.com" , fstests@vger.kernel.org, esandeen@redhat.com Subject: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests In-Reply-To: <20141020014750.GL7169@dastard> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413776149 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.10752 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/19/14 8:47 PM, Dave Chinner wrote: > [ cc fstests@vger.kernel.org ] ... >> === rpm === >> /bin/sed -e's|@pkg_name@|xfstests|g' \ >> -e's|@pkg_version@|1.1.1|g' \ >> -e's|@pkg_release@|1|g' \ >> -e's|@pkg_distribution@|Linux|g' \ >> -e's|@build_root@|/tmp/34943|g' \ >> -e'/^BuildRoot: *$/d' \ >> -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in > xfstests.spec >> /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec >> error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No such file or directory >> gmake[1]: *** [dist] Error 1 > > I've never tried to build xfstests packages, so I'd make the > assumption that the package build infrastructure is broken and needs > fixing. That's looking for the tarball in the wrong place. My naive > reading of that is rpmbuild is expecting to run as root, not as a > jenkins user.... > > Eric, you're the local RPM expert - any ideas? > > FWIW, I'll take whatever patches you guys come up with that make it > build rpms properly. ;) xfstests rpms have just never been a priority for me. I run it just fine out of a checked-out git repo, and it doesn't require installation; on the other hand, making it palatable for a proper FHS-compliant distro package would require a fair bit of restructuring beyond just the packaging scripts. And... I honestly have no idea how the Makepkgs stuff is supposed to work. I've never been a fan of upstream containing packaging bits anyway; different distros have different requirements, and the Makepkgs script has always seemed weird. RPM/specfiles are supposed to drive the build - the build isn't supposed to drive rpm. I think it'd be best to make a distro-specific specfile which knows how to handle an xfstests tarball. Trying to reverse engineer Makepkgs doesn't sound fun to me; rpmbuild knows how to do this stuff. Dropping a generic RPM specfile into the top level dir would probably be enough to get it off the ground even if it doesn't conform to any particular distro's packaging rules. I think it's up to those who want rpms to dig into this, for now. Dumping all files into /opt/xfstests is probably simplest, since FHS-compliance is probably a long ways off. -Eric From bernd.schubert@fastmail.fm Mon Oct 20 03:00: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=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 19DC37F4E for ; Mon, 20 Oct 2014 03:00:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id A68C9AC001 for ; Mon, 20 Oct 2014 01:00:41 -0700 (PDT) X-ASG-Debug-ID: 1413792036-04bdf038d0bd2e0001-ps1ADW Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by cuda.sgi.com with ESMTP id 9UR18FAmQuseAy6i (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 01:00:36 -0700 (PDT) X-Barracuda-Envelope-From: bernd.schubert@fastmail.fm X-Barracuda-Apparent-Source-IP: 66.111.4.27 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by gateway2.nyi.internal (Postfix) with ESMTP id 220D1205D2 for ; Mon, 20 Oct 2014 04:00:36 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Mon, 20 Oct 2014 04:00:36 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= x-sasl-enc:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=mesmtp; bh=hWnU18p2mj91DHgJPkr4msMKRZU=; b=ZCOz0CQhl0n1wHUfvk hRU91Be3s9Z2cTc+TzAyHZmz1DOBC/2GLDONGOvDqOiqr1qOj/fmo2uLgERBHqX9 UYrUGezDm9USRjjVWngMdN8o1/Kk0dWmJFaOtIiHrDC8wQ2z7UeJQqMMx4M913OK KSgDEJM+enu4jvUgOldhQMyK0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=hWnU18p2mj91DHgJPkr4ms MKRZU=; b=hp21pldvjjR0N1wYwncu6ALSbOpP6Iv00lgJUPHmbWvUL2YRAPe0D2 7W8w36fOZ1mhIuqYCkB+P5w+X1BVkrPa1MXkt9s0xCbW6r/f1PuZhNaefKAzq5Gl MkQ0ovzL6EoZuIXxuJZHCjmOOfJofXhNyJr6980GDmjx0HTDVGR1k= X-Sasl-enc: CmSlk1JZxt8XvOLZHi3VE6oORY1dR5uYS1iEhv8Rt2X9 1413792035 Received: from [192.168.1.22] (unknown [86.195.66.223]) by mail.messagingengine.com (Postfix) with ESMTPA id 8C035C00013; Mon, 20 Oct 2014 04:00:35 -0400 (EDT) Message-ID: <5444C122.4080104@fastmail.fm> Date: Mon, 20 Oct 2014 10:00:34 +0200 From: Bernd Schubert User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 Newsgroups: gmane.comp.file-systems.xfs.general To: Peter Grandi , Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <21571.36364.518119.806191@tree.ty.sabi.co.uk> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: out3-smtp.messagingengine.com[66.111.4.27] X-Barracuda-Start-Time: 1413792036 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 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10756 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 10/19/2014 12:10 PM, Peter Grandi wrote: >>> I am using xfs on a raid 5 (~100TB) and put log on external >>> ssd device, the mount information is: /dev/sdc on >>> /data/fhgfs/fhgfs_storage type xfs >>> (rw,relatime,attr2,delaylog,logdev=/dev/sdb1,sunit=512,swidth=15872,noquota). >>> when doing only reading / only writing , the speed is very >>> fast(~1.5G), but when do both the speed is very slow (100M), >>> and high r_await(160) and w_await(200000). > >> What are your kernel version, mount options and xfs_info output ? > > Those are usually important details, but in this case the > information that matters is already present. > > There is a ratio of 31 (thirty one) between 'swidth' and 'sunit' > and assuming that this reflects the geometry of the RAID5 set > and given commonly available disk sizes it can be guessed that > with amazing "bravery" someone has configured a RAID5 out of 32 > (thirty two) high capacity/low IOPS 3TB drives, or something > similar. > > It is even "braver" than that: if the device name > "/data/fhgfs/fhgfs_storage" is dedscriptive, this "brave" > RAID5 set is supposed to hold the object storage layer of a > BeeFS highly parallel filesystem, and therefore will likely > have mostly-random accesses. > Where do you get the assumption from that FhGFS/BeeGFS is going to do random reads/writes or the application of top of it is going to do that? Bernd From greg.freemyer@gmail.com Mon Oct 20 06:55: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=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 72F277F4E for ; Mon, 20 Oct 2014 06:55:16 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5E1FD304039 for ; Mon, 20 Oct 2014 04:55:16 -0700 (PDT) X-ASG-Debug-ID: 1413806114-04cbb070c5b2690001-NocioJ Received: from mail-qa0-f52.google.com (mail-qa0-f52.google.com [209.85.216.52]) by cuda.sgi.com with ESMTP id biscktEOpYCitoxS (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 20 Oct 2014 04:55:14 -0700 (PDT) X-Barracuda-Envelope-From: greg.freemyer@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.52 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.52] Received: by mail-qa0-f52.google.com with SMTP id dc16so3131433qab.39 for ; Mon, 20 Oct 2014 04:55:14 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.52] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.52] 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=P2YcfDMXeGsr0T0VCsJxD3vc6vmXspNIgJzGWQDxfbs=; b=jFioecmA0F2f585cQj1lAfNuLMTUI1NT/SnD/xPHpMKHHodKfHw2m0aoIE6J8JEHOL 8jW7/Hd+n0tVKkq8vbOlPOaD54Dnm9JFZpnNFQyryjYsrb80bxxnT8qnANcEy+ykzW6e PqEFSUOCRbfZ+Kq0+Jt/gJtmJAqi5jvaNBoL23X+InfHT6uBlqIjGuHEBSzuvwyEbDYJ jLeXTIBRF+MYUrjvU6s/cCwoddZiS2DDJQro8PCCDlsXjEBqqfMgF+D+TNu79koSWEop PLO82Gzr8J3tt0epXhY203c6QSITlE1wZbw/mvYwAoCkext5wkk6BNsKmYqADpFg8iDu /tNw== X-Received: by 10.140.104.114 with SMTP id z105mr32770470qge.75.1413806114202; Mon, 20 Oct 2014 04:55:14 -0700 (PDT) Received: from [192.168.3.73] (c-98-251-114-210.hsd1.ga.comcast.net. [98.251.114.210]) by mx.google.com with ESMTPSA id a10sm7710431qam.7.2014.10.20.04.55.12 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 20 Oct 2014 04:55:13 -0700 (PDT) User-Agent: K-9 Mail for Android In-Reply-To: <54448313.7040602@sandeen.net> References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: Can't build RPM of xfstests From: Greg Freemyer X-ASG-Orig-Subj: Re: Can't build RPM of xfstests Date: Mon, 20 Oct 2014 07:55:08 -0400 To: Eric Sandeen ,Dave Chinner ,"Kaul, Yaniv" CC: esandeen@redhat.com,fstests@vger.kernel.org,"xfs@oss.sgi.com" Message-ID: <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> X-Barracuda-Connect: mail-qa0-f52.google.com[209.85.216.52] X-Barracuda-Start-Time: 1413806114 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.10760 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 October 19, 2014 11:35:47 PM EDT, Eric Sandeen wrote: >On 10/19/14 8:47 PM, Dave Chinner wrote: >> [ cc fstests@vger.kernel.org ] > >... > >>> === rpm === >>> /bin/sed -e's|@pkg_name@|xfstests|g' \ >>> -e's|@pkg_version@|1.1.1|g' \ >>> -e's|@pkg_release@|1|g' \ >>> -e's|@pkg_distribution@|Linux|g' \ >>> -e's|@build_root@|/tmp/34943|g' \ >>> -e'/^BuildRoot: *$/d' \ >>> -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in > >xfstests.spec >>> /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec >>> error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No >such file or directory >>> gmake[1]: *** [dist] Error 1 >> >> I've never tried to build xfstests packages, so I'd make the >> assumption that the package build infrastructure is broken and needs >> fixing. That's looking for the tarball in the wrong place. My naive >> reading of that is rpmbuild is expecting to run as root, not as a >> jenkins user.... >> >> Eric, you're the local RPM expert - any ideas? >> >> FWIW, I'll take whatever patches you guys come up with that make it >> build rpms properly. ;) > >xfstests rpms have just never been a priority for me. I run it just >fine out >of a checked-out git repo, and it doesn't require installation; on the >other >hand, making it palatable for a proper FHS-compliant distro package >would >require a fair bit of restructuring beyond just the packaging scripts. > >And... I honestly have no idea how the Makepkgs stuff is supposed to >work. > >I've never been a fan of upstream containing packaging bits anyway; >different >distros have different requirements, and the Makepkgs script has always >seemed >weird. RPM/specfiles are supposed to drive the build - the build isn't >supposed >to drive rpm. I think it'd be best to make a distro-specific specfile >which knows how >to handle an xfstests tarball. Trying to reverse engineer Makepkgs >doesn't sound >fun to me; rpmbuild knows how to do this stuff. Dropping a generic RPM >specfile >into the top level dir would probably be enough to get it off the >ground even if >it doesn't conform to any particular distro's packaging rules. > >I think it's up to those who want rpms to dig into this, for now. >Dumping all >files into /opt/xfstests is probably simplest, since FHS-compliance is >probably a >long ways off. > >-Eric Opensuse is building rpms of 1.1.1 so the build infrastructure isn't too badly broken. I don't know if they are following FHS, but I doubt they use /opt. The opensuse package/specfile can be found at: https://build.opensuse.org/package/show/filesystems/xfstests The rpms including the source rpm can be downloaded from: http://software.opensuse.org/download.html?project=filesystems&package=xfstests Note the specfile applies a patch to change the install aspect of the tarball immediately after untar'ing it. I don't maintain that so I don't know why the patch is needed. Greg -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. From bfoster@redhat.com Mon Oct 20 07:43: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 549017F4E for ; Mon, 20 Oct 2014 07:43:03 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 431C3304048 for ; Mon, 20 Oct 2014 05:43:00 -0700 (PDT) X-ASG-Debug-ID: 1413808978-04cbb070c7b3d50001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 4GlmQ5zgYkI7ygvx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 05:42: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-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 s9KCgoUp028202 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 20 Oct 2014 08:42:50 -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 s9KCgnw8006937; Mon, 20 Oct 2014 08:42:50 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 12E2C120064; Mon, 20 Oct 2014 08:42:49 -0400 (EDT) Date: Mon, 20 Oct 2014 08:42:49 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141020124248.GA30254@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v4] xfs: rework zero range to prevent invalid i_size updates References: <1413220285-24886-1-git-send-email-bfoster@redhat.com> <20141017202019.GA3393@laptop.bfoster> <20141020012516.GK7169@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141020012516.GK7169@dastard> 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: 1413808978 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, Oct 20, 2014 at 12:25:16PM +1100, Dave Chinner wrote: > On Fri, Oct 17, 2014 at 04:20:20PM -0400, Brian Foster wrote: > > It appears that the tp->t_blk_res overrun assert is also related to > > delalloc punching. I'm basically seeing a writepage attempted for a page > > over a delalloc extent (imap in writepage reflects this), but at some > > point before we get into the allocation (I suspect between where we > > release and reacquire ilock in xfs_map_blocks() to > > iomap_write_allocate()) the delalloc blocks that relate this particular > > page to the extent disappear. An in-core extent dump after doing the > > allocation but before inserting into the extent tree shows the range to > > be allocated as a hole. Indeed, the allocator saw a hole (wasdel == 0) > > and ended up doing the full allocation while the transaction had a > > reservation for a delalloc conversion, which we end up overrunning. > > > > It's not quite clear to me how this is happening. I would expect > > truncate_pagecache_range() to serialize against writeback via page lock. > > It does. But the problem won't be truncate_pagecache_range(), it will be > that punching delalloc blocks doesn't serialise against the page > lock. > Ok... > i.e. we run truncate_pagecache_range/truncate_setsize without > holding inode locks, and they serialise against writeback via page > locks. However, we run xfs_bmap_punch_delalloc_range() holding inode > locks, but no page locks. Hence both can serialise against > writeback, but not against each other. therefore: > > writeback zero range > > page_lock > page is delalloc > XFS_ILOCK_SHARED XFS_ILOCK_EXCL > map delalloc > xfs_iunlock This pretty much maps the observed behavior and what I suspect is happening on a basic level (e.g., this ilock cycle opens a race window). What still isn't clear is how this gets past the pagecache truncate in such a state. The zero range path truncates pagecache before the delalloc punch, which does serialize on the page lock. If it gets the lock it completely tosses the page, which it looks like the mapping checks in writepage should handle. If it doesn't get the lock or the page is writeback, it looks like it waits on writeback. This is an fsx workload so it is single threaded I/O. I'm not quite seeing how we get through the writeback/pagecache truncate in a state with a delalloc page. > punch delalloc range > xfs_iunlock > XFS_ILOCK_EXCL pagecache_truncate_range > allocate HOLE!!!! page_lock > xfs_iunlock Ah, so this makes sense according to the code as it is today because we punch delalloc blocks and then truncate pagecache. Note that this zero range rework does the pagecache truncate first, then punches out the delalloc blocks. Hence my expectation of either seeing the page tossed or the extent converted before getting to the delalloc punch. > starts page writeback > unlocks page > waits on writeback > removes page from cache > > Basically, we back to the fundamental problem that we can't > manipulate extent state directly if there are *unlocked* pages in > the page cache over that range because we hold meaningful writeback > state on the page. > > > Regardless, the scenario of writing back pages into unallocated space > > that writeback thinks is covered by delayed allocation suggests > > something racing with delalloc punching. The problem seems to disappear > > if I comment it out from zero range, so we might want to kill the above > > hunk entirely for the time being. > > Yes, but I think I see the way forward now. xfs_vm_writepage() needs > to unconditionally map the page it is being passed rather than > relying on the state of bufferheads attached to the buffer. We can't > serialise the page cache state against direct extent manipulations, > therefore we have to make all decisions based on one set of state we > can serialise access to sanely. > Sounds interesting. I'm all for condensing our page state management towards killing buffer_head. Tracking down some of these issues has helped clarify the general problem for me and also shows that instances are quite difficult to root cause. This one in particular is a zero range operation that presumably works (no fsx failures), only to cause an implicit error in an asynchronous path (writeback) sometime later. That makes it difficult to detect and equally difficult to try and narrow down. > The issue is that we can't currently serialise extent manipulations > against writeback easily, but I think I see a neat and easy way to > do this, and it mirrors a technique we already use(*): add a cursor > to track the active map we are operating on so that we know if we > are about to modify and extent we are currently writing to. > Ok, so I take it this would allow us to mark an extent as "under modification" or "in-use" in the sense of its state is significant for a code sequence larger than an ilock critical section (i.e., an imap, extent-conversion, writeback sequence). Therefore, one side can invalidate another if a modification is made, or conversely the other side could simply block on the operation if that is more appropriate. I _think_ I get where you're going there, but I await more details. ;) I'll post a new version of this patch regardless because as mentioned previously, I'd like to get some kind of checkpoint into the tree that works correctly (no asserts), even if the implementation is not ideal. I've not been able to reproduce any asserts so far without the delalloc punch, but I'd also like to see if any of your subsequent testing uncovers anything else. Brian > Actually, a cursor solves a couple of other problems in this > mapping code - see the big comment in xfs_iomap_write_allocate() > about using a single map to avoid lookup/unlock/lock/allocate race > conditions with truncate/hole-punch. > > So I think I have a solution that moves us towards the goal of "die, > bufferheads, die" and solves these writeback vs page cache vs extent > manipulation issues - let me do a bit more thinking about it and > I'll write something up. > > Cheers, > > Dave. > > (*) we use a cursor for a similar purpose during AIL traversal: to > detect item deletion while the AIL lock was dropped that would cause > us to follow an invalid list pointer. > -- > Dave Chinner > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Oct 20 08:21: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 067497F4E for ; Mon, 20 Oct 2014 08:21:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E8E27304032 for ; Mon, 20 Oct 2014 06:21:53 -0700 (PDT) X-ASG-Debug-ID: 1413811312-04cbb070c6b7260001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EPyi9hkNnYIRIXmu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 06:21: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-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 s9KDLngU002102 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 20 Oct 2014 09:21:49 -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 s9KDLnsM013365; Mon, 20 Oct 2014 09:21:49 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 5CD58120064; Mon, 20 Oct 2014 09:21:48 -0400 (EDT) Date: Mon, 20 Oct 2014 09:21:48 -0400 From: Brian Foster To: Dave Chinner Cc: Dan Carpenter , xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() Message-ID: <20141020132148.GB30254@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix error handling in xfs_qm_log_quotaoff() References: <1413466773-56087-1-git-send-email-bfoster@redhat.com> <20141020003120.GJ7169@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141020003120.GJ7169@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: 1413811313 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, Oct 20, 2014 at 11:31:20AM +1100, Dave Chinner wrote: > On Thu, Oct 16, 2014 at 09:39:33AM -0400, Brian Foster wrote: > > The error handling in xfs_qm_log_quotaoff() has a couple problems. If > > xfs_trans_commit() fails, we fall through to the error block and call > > xfs_trans_cancel(). This is incorrect on commit failure. If > > xfs_trans_reserve() fails, we jump to the error block, cancel the tp and > > restore the superblock qflags to oldsbqflag. However, oldsbqflag has > > been initialized to zero and not yet updated from the original flags so > > we set the flags to zero. > > > > Fix up the error handling in xfs_qm_log_quotaoff() to not restore flags > > if they haven't been modified and not cancel the tp on commit failure. > > > > Reported-by: Dan Carpenter > > Signed-off-by: Brian Foster > > --- > > fs/xfs/xfs_qm_syscalls.c | 35 ++++++++++++++++++++--------------- > > 1 file changed, 20 insertions(+), 15 deletions(-) > > > > diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c > > index 80f2d77..f2d454e 100644 > > --- a/fs/xfs/xfs_qm_syscalls.c > > +++ b/fs/xfs/xfs_qm_syscalls.c > > @@ -784,13 +784,17 @@ xfs_qm_log_quotaoff( > > { > > xfs_trans_t *tp; > > int error; > > - xfs_qoff_logitem_t *qoffi=NULL; > > - uint oldsbqflag=0; > > + xfs_qoff_logitem_t *qoffi; > > + uint oldsbqflag; > > + > > + *qoffstartp = NULL; > > > > tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QUOTAOFF); > > error = xfs_trans_reserve(tp, &M_RES(mp)->tr_qm_quotaoff, 0, 0); > > - if (error) > > - goto error0; > > + if (error) { > > + xfs_trans_cancel(tp, 0); > > + return error; > > + } > > > > qoffi = xfs_trans_get_qoff_item(tp, NULL, flags & XFS_ALL_QUOTA_ACCT); > > xfs_trans_log_quotaoff_item(tp, qoffi); > > @@ -809,19 +813,20 @@ xfs_qm_log_quotaoff( > > */ > > xfs_trans_set_sync(tp); > > error = xfs_trans_commit(tp, 0); > > + if (error) > > + goto error_flags; > > > If the commit fails, the filesystem will be shut down and the state > of the quota flags is completely irrelevant at this point so there's > no reason to restore them. Indeed, is restoring them even the right > thing to do? The commit *may* have made it to disk, but a > subsequent error during completion handling resulted in the commit > failing.... > Good point. We don't seem to try and undo this kind of state change anywhere else that I can see either. At most, we release references or free memory or other such things that aren't tied to the transaction in any way. Brian > 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 Mon Oct 20 08:54: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 4DC137F4E for ; Mon, 20 Oct 2014 08:54:51 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id C387CAC002 for ; Mon, 20 Oct 2014 06:54:50 -0700 (PDT) X-ASG-Debug-ID: 1413813288-04bdf038d1cbbc0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id nonGgGBbfyHAewPa for ; Mon, 20 Oct 2014 06:54:48 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7D2BA63C5FD5; Mon, 20 Oct 2014 08:54:47 -0500 (CDT) Message-ID: <54451427.9060306@sandeen.net> Date: Mon, 20 Oct 2014 08:54:47 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Greg Freemyer , Dave Chinner , "Kaul, Yaniv" CC: esandeen@redhat.com, fstests@vger.kernel.org, "xfs@oss.sgi.com" Subject: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests In-Reply-To: <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413813288 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.10762 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/20/14 6:55 AM, Greg Freemyer wrote: > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't > too badly broken. I don't know if they are following FHS, but I > doubt they use /opt. The build works fine, it's the "Makepkgs" that I think is a bit odd, at least for RPM packaging. Also, if we really want to encourage packaging, we should probably start sticking official version numbers on it. "1.1.1" was tagged in Dec 2012, and there have been no "releases" since. > The opensuse package/specfile can be found at: > https://build.opensuse.org/package/show/filesystems/xfstests > > The rpms including the source rpm can be downloaded from: > http://software.opensuse.org/download.html?project=filesystems&package=xfstests > > Note the specfile applies a patch to change the install aspect of > the tarball immediately after untar'ing it. > > I don't maintain that so I don't know why the patch is needed. Ok, cool, I'll take a look at the specfile & patch. I had also packaged it up for our internal QA use long ago, and had to make a few changes as well. -Eric From bfoster@redhat.com Mon Oct 20 08:57: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 DD9277F4E for ; Mon, 20 Oct 2014 08:57:35 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id C9DE5304048 for ; Mon, 20 Oct 2014 06:57:35 -0700 (PDT) X-ASG-Debug-ID: 1413813454-04cbb070c5bacd0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id qhTcvOsuhTQDRUb2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 06:57:34 -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 s9KDvXtn030026 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 20 Oct 2014 09:57:33 -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 s9KDvX3k006326 for ; Mon, 20 Oct 2014 09:57:33 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 4C2A6120064; Mon, 20 Oct 2014 09:57:32 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2] xfs: fix error handling in xfs_qm_log_quotaoff() Date: Mon, 20 Oct 2014 09:57:32 -0400 X-ASG-Orig-Subj: [PATCH v2] xfs: fix error handling in xfs_qm_log_quotaoff() Message-Id: <1413813452-43059-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: 1413813454 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 The error handling in xfs_qm_log_quotaoff() has a couple problems. If xfs_trans_commit() fails, we fall through to the error block and call xfs_trans_cancel(). This is incorrect on commit failure. If xfs_trans_reserve() fails, we jump to the error block, cancel the tp and restore the superblock qflags to oldsbqflag. However, oldsbqflag has been initialized to zero and not yet updated from the original flags so we set the flags to zero. Fix up the error handling in xfs_qm_log_quotaoff() to not restore flags if they haven't been modified and not cancel the tp on commit failure. Remove the flag restore code altogether because commit error is the only failure condition and we don't know whether the transaction made it to disk. Reported-by: Dan Carpenter Signed-off-by: Brian Foster --- v2: - Don't restore sb_qflags on tp commit failure. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00314.html fs/xfs/xfs_qm_syscalls.c | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/fs/xfs/xfs_qm_syscalls.c b/fs/xfs/xfs_qm_syscalls.c index 80f2d77..d1e0ab7 100644 --- a/fs/xfs/xfs_qm_syscalls.c +++ b/fs/xfs/xfs_qm_syscalls.c @@ -784,19 +784,21 @@ xfs_qm_log_quotaoff( { xfs_trans_t *tp; int error; - xfs_qoff_logitem_t *qoffi=NULL; - uint oldsbqflag=0; + xfs_qoff_logitem_t *qoffi; + + *qoffstartp = NULL; tp = xfs_trans_alloc(mp, XFS_TRANS_QM_QUOTAOFF); error = xfs_trans_reserve(tp, &M_RES(mp)->tr_qm_quotaoff, 0, 0); - if (error) - goto error0; + if (error) { + xfs_trans_cancel(tp, 0); + goto out; + } qoffi = xfs_trans_get_qoff_item(tp, NULL, flags & XFS_ALL_QUOTA_ACCT); xfs_trans_log_quotaoff_item(tp, qoffi); spin_lock(&mp->m_sb_lock); - oldsbqflag = mp->m_sb.sb_qflags; mp->m_sb.sb_qflags = (mp->m_qflags & ~(flags)) & XFS_MOUNT_QUOTA_ALL; spin_unlock(&mp->m_sb_lock); @@ -809,19 +811,11 @@ xfs_qm_log_quotaoff( */ xfs_trans_set_sync(tp); error = xfs_trans_commit(tp, 0); + if (error) + goto out; -error0: - if (error) { - xfs_trans_cancel(tp, 0); - /* - * No one else is modifying sb_qflags, so this is OK. - * We still hold the quotaofflock. - */ - spin_lock(&mp->m_sb_lock); - mp->m_sb.sb_qflags = oldsbqflag; - spin_unlock(&mp->m_sb_lock); - } *qoffstartp = qoffi; +out: return error; } -- 1.8.3.1 From bfoster@redhat.com Mon Oct 20 12:06: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 88C2F7F4E for ; Mon, 20 Oct 2014 12:06:29 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7775630404E for ; Mon, 20 Oct 2014 10:06:26 -0700 (PDT) X-ASG-Debug-ID: 1413824784-04cb6c2ef9ccbd0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ml8GcOUuw4mqS7Oq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 10:06: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-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 s9KH6N1w012882 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 20 Oct 2014 13:06:24 -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 s9KH6NIR003174 for ; Mon, 20 Oct 2014 13:06:23 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 5C76C120064; Mon, 20 Oct 2014 13:06:22 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates Date: Mon, 20 Oct 2014 13:06:21 -0400 X-ASG-Orig-Subj: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates Message-Id: <1413824781-10733-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: 1413824784 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 The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Use the existing hole punch and prealloc mechanisms as primitives for zero range. This implementation is not efficient nor ideal as we writeback dirty data over the range and remove existing extents rather than convert to unwrittern. The former writeback, however, is currently the only mechanism available to ensure consistency between pagecache and extent state. Even a pagecache truncate/delalloc punch prior to hole punch has lead to inconsistencies due to racing with writeback. This provides a consistent, correct implementation of zero range that survives fsstress/fsx testing without assert failures. The implementation can be optimized from this point forward once the fundamental issue of pagecache and delalloc extent state consistency is addressed. Signed-off-by: Brian Foster --- v5: - Further simplify to eliminate delalloc block punch. v4: http://oss.sgi.com/archives/xfs/2014-10/msg00276.html - Simplify the implementation to use hole punch. v3: http://oss.sgi.com/archives/xfs/2014-10/msg00149.html - Pass length to xfs_alloc_file_space() rather than end offset. - Split up start/end page writeback branches. - Fix up a bunch of comments. v2: http://oss.sgi.com/archives/xfs/2014-10/msg00138.html - Refactor the logic to punch out pagecache/delalloc first and do allocation last to prevent stray delalloc on ENOSPC. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00052.html fs/xfs/xfs_bmap_util.c | 72 ++++++++++++++------------------------------------ 1 file changed, 20 insertions(+), 52 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 92e8f99..2810026 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1338,7 +1338,10 @@ xfs_free_file_space( goto out; } - +/* + * Preallocate and zero a range of a file. This mechanism has the allocation + * semantics of fallocate and in addition converts data in the range to zeroes. + */ int xfs_zero_file_space( struct xfs_inode *ip, @@ -1346,65 +1349,30 @@ xfs_zero_file_space( xfs_off_t len) { struct xfs_mount *mp = ip->i_mount; - uint granularity; - xfs_off_t start_boundary; - xfs_off_t end_boundary; + uint blksize; int error; trace_xfs_zero_file_space(ip); - granularity = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE); + blksize = 1 << mp->m_sb.sb_blocklog; /* - * Round the range of extents we are going to convert inwards. If the - * offset is aligned, then it doesn't get changed so we zero from the - * start of the block offset points to. + * Punch a hole and prealloc the range. We use hole punch rather than + * unwritten extent conversion for two reasons: + * + * 1.) Hole punch handles partial block zeroing for us. + * + * 2.) If prealloc returns ENOSPC, the file range is still zero-valued + * by virtue of the hole punch. */ - start_boundary = round_up(offset, granularity); - end_boundary = round_down(offset + len, granularity); - - ASSERT(start_boundary >= offset); - ASSERT(end_boundary <= offset + len); - - if (start_boundary < end_boundary - 1) { - /* - * Writeback the range to ensure any inode size updates due to - * appending writes make it to disk (otherwise we could just - * punch out the delalloc blocks). - */ - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, - start_boundary, end_boundary - 1); - if (error) - goto out; - truncate_pagecache_range(VFS_I(ip), start_boundary, - end_boundary - 1); - - /* convert the blocks */ - error = xfs_alloc_file_space(ip, start_boundary, - end_boundary - start_boundary - 1, - XFS_BMAPI_PREALLOC | XFS_BMAPI_CONVERT); - if (error) - goto out; - - /* We've handled the interior of the range, now for the edges */ - if (start_boundary != offset) { - error = xfs_iozero(ip, offset, start_boundary - offset); - if (error) - goto out; - } - - if (end_boundary != offset + len) - error = xfs_iozero(ip, end_boundary, - offset + len - end_boundary); - - } else { - /* - * It's either a sub-granularity range or the range spanned lies - * partially across two adjacent blocks. - */ - error = xfs_iozero(ip, offset, len); - } + error = xfs_free_file_space(ip, offset, len); + if (error) + goto out; + error = xfs_alloc_file_space(ip, round_down(offset, blksize), + round_up(offset + len, blksize) - + round_down(offset, blksize), + XFS_BMAPI_PREALLOC); out: return error; -- 1.8.3.1 From david@fromorbit.com Mon Oct 20 18:12: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 867DF7F4E for ; Mon, 20 Oct 2014 18:12:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 737BF304039 for ; Mon, 20 Oct 2014 16:12:06 -0700 (PDT) X-ASG-Debug-ID: 1413846723-04cb6c2efcdcd50001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id DPD6pZu2uzHJ3O1Y for ; Mon, 20 Oct 2014 16:12:04 -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: AkdLANaVRVR5LODnPGdsb2JhbABcgw6BK4I2hQexZwEBAQEBAQaUYIVqAgIBAQKBFBcBBgEBAQE4O4QCAQEBAwE6HCMFCwgDGAklDwUlAwcaE4g3B8VNAQEIAgEfGIYLiUFtB4RLAQSdWZouKS+CSwEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl6.internode.on.net with ESMTP; 21 Oct 2014 09:38:41 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XgM48-0002tv-Hx; Tue, 21 Oct 2014 10:08:40 +1100 Date: Tue, 21 Oct 2014 10:08:40 +1100 From: Dave Chinner To: Eric Sandeen Cc: Greg Freemyer , "Kaul, Yaniv" , esandeen@redhat.com, fstests@vger.kernel.org, "xfs@oss.sgi.com" Subject: Re: Can't build RPM of xfstests Message-ID: <20141020230840.GP17506@dastard> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> <54451427.9060306@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54451427.9060306@sandeen.net> 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: 1413846723 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.10780 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 20, 2014 at 08:54:47AM -0500, Eric Sandeen wrote: > On 10/20/14 6:55 AM, Greg Freemyer wrote: > > > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't > > too badly broken. I don't know if they are following FHS, but I > > doubt they use /opt. > > The build works fine, it's the "Makepkgs" that I think is a bit odd, > at least for RPM packaging. It's just odd, regardless of what it is packaging. > Also, if we really want to encourage packaging, we should probably start > sticking official version numbers on it. "1.1.1" was tagged in Dec 2012, > and there have been no "releases" since. There are more recent tags than that. There were some linux-v3.[6-8] tags added when kernels v3.[6-8] we released. Those tags are basically meaningless from a release perspective, though. As it is, for the purpose of the discussion I'll argue that we don't need official release versions or tarballs and that anyone who needs packages for xfstests is Doing it Wrong(tm). Realistically, the current head commit ID works just fine as a release version and so I don't think we don't need tarballs or released versions of xfstests. xfstests is developer rather than end user focussed and so it is assumed that you understand git if you have a need for running xfstests... i.e. this works as a test machine deployment method and is easily scriptable and deployable on test machines: # # cd /opt # git clone # cd xfstests # make # # ./check -g auto And with that, there is no need for packaging.... That said, xfstests needs to be flexible so it can operate in all sorts of different environments, so how I do things really doesn't matter that much. If people really need xfstests to build RPMs so they can deploy RPMs, then like I said I'll take patches to make that work... Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Mon Oct 20 18: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 0B9227F4E for ; Mon, 20 Oct 2014 18:23:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8395CAC002 for ; Mon, 20 Oct 2014 16:23:54 -0700 (PDT) X-ASG-Debug-ID: 1413847432-04bdf038d0ed720001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id UD181HRUSW2BTV6P for ; Mon, 20 Oct 2014 16:23:52 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id E870E602D5E4; Mon, 20 Oct 2014 18:23:51 -0500 (CDT) Message-ID: <54459988.2030803@sandeen.net> Date: Mon, 20 Oct 2014 18:23:52 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Greg Freemyer , Dave Chinner , "Kaul, Yaniv" CC: esandeen@redhat.com, fstests@vger.kernel.org, "xfs@oss.sgi.com" Subject: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests In-Reply-To: <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1413847432 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.10781 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/20/14 6:55 AM, Greg Freemyer wrote: > > > On October 19, 2014 11:35:47 PM EDT, Eric Sandeen wrote: >> On 10/19/14 8:47 PM, Dave Chinner wrote: >>> [ cc fstests@vger.kernel.org ] >> >> ... >> >>>> === rpm === >>>> /bin/sed -e's|@pkg_name@|xfstests|g' \ >>>> -e's|@pkg_version@|1.1.1|g' \ >>>> -e's|@pkg_release@|1|g' \ >>>> -e's|@pkg_distribution@|Linux|g' \ >>>> -e's|@build_root@|/tmp/34943|g' \ >>>> -e'/^BuildRoot: *$/d' \ >>>> -e's|@make@|/usr/bin/gmake|g' < xfstests.spec.in > >> xfstests.spec >>>> /usr/bin/rpmbuild -ba --rcfile ./rpm-4.rc xfstests.spec >>>> error: File /root/rpmbuild/SOURCES/xfstests-1.1.1.src.tar.gz: No >> such file or directory >>>> gmake[1]: *** [dist] Error 1 >>> >>> I've never tried to build xfstests packages, so I'd make the >>> assumption that the package build infrastructure is broken and needs >>> fixing. That's looking for the tarball in the wrong place. My naive >>> reading of that is rpmbuild is expecting to run as root, not as a >>> jenkins user.... >>> >>> Eric, you're the local RPM expert - any ideas? >>> >>> FWIW, I'll take whatever patches you guys come up with that make it >>> build rpms properly. ;) >> >> xfstests rpms have just never been a priority for me. I run it just >> fine out >> of a checked-out git repo, and it doesn't require installation; on the >> other >> hand, making it palatable for a proper FHS-compliant distro package >> would >> require a fair bit of restructuring beyond just the packaging scripts. >> >> And... I honestly have no idea how the Makepkgs stuff is supposed to >> work. >> >> I've never been a fan of upstream containing packaging bits anyway; >> different >> distros have different requirements, and the Makepkgs script has always >> seemed >> weird. RPM/specfiles are supposed to drive the build - the build isn't >> supposed >> to drive rpm. I think it'd be best to make a distro-specific specfile >> which knows how >> to handle an xfstests tarball. Trying to reverse engineer Makepkgs >> doesn't sound >> fun to me; rpmbuild knows how to do this stuff. Dropping a generic RPM >> specfile >> into the top level dir would probably be enough to get it off the >> ground even if >> it doesn't conform to any particular distro's packaging rules. >> >> I think it's up to those who want rpms to dig into this, for now. >> Dumping all >> files into /opt/xfstests is probably simplest, since FHS-compliance is >> probably a >> long ways off. >> >> -Eric > > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't > too badly broken. I don't know if they are following FHS, but I doubt > they use /opt. Ok, they put it all into /var/lib - maybe that does satisfy LFS, I dunno. > The opensuse package/specfile can be found at: https://build.opensuse.org/package/show/filesystems/xfstests > > The rpms including the source rpm can be downloaded from: > http://software.opensuse.org/download.html?project=filesystems&package=xfstests > > Note the specfile applies a patch to change the install aspect of the tarball immediately after untar'ing it. Yep, doesn't do much - s/LTINSTALL/INSTALL/ pretty much. Looks like a fine place to start. Rather than using Makepkgs, it may make more sense to just drop a sane generic .spec file into the top dir, then rpmbuild -ta would work. But then ... we don't distribute xfstests tarballs ... ;) -Eric > I don't maintain that so I don't know why the patch is needed. > > Greg > From greg.freemyer@gmail.com Mon Oct 20 18:32: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id AE2907F4E for ; Mon, 20 Oct 2014 18:32:32 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9B36530404E for ; Mon, 20 Oct 2014 16:32:32 -0700 (PDT) X-ASG-Debug-ID: 1413847950-04cb6c2efbdd710001-NocioJ Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by cuda.sgi.com with ESMTP id Sbqqqes3HSWsatWr (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 20 Oct 2014 16:32:31 -0700 (PDT) X-Barracuda-Envelope-From: greg.freemyer@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.47 Received: by mail-wg0-f47.google.com with SMTP id x13so62852wgg.30 for ; Mon, 20 Oct 2014 16:32:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=7Bt6ZlOu0Gvsy9EfARh1RF4noGMEf6eBEXlSszkQ5Ko=; b=d5N67EYjh1b+A6PI+vDE1rbAvg5uFjVsURNaGXj+HBh2iQxToIWNQ1bbsf4+PEt5iy zC9Gvx9F0j86u6W9mePiDSbBr6mOnMxSkpJ+m2j7SbENUp+A9bPMFgL3T9FuAmuzcQWD oNnY89yT+uzYoRltskvArQCnCnjP08HoopzDJIPOqjFsGODJBMzjz9zHQR3ZNTL/Z4B2 NhoL8kEdjoXGu0etpjkA7i35pxEOK+ZKqhlFc+auxQDG+KuKSBQDhizkB7ql7p8apE0Y acBsgmZdEwgsoBjrd/oehQVYG2brWpySk8XpNFYuYWVId1WDk0ztDJ/iX6W/2iLArVfL SV9g== X-Received: by 10.194.57.210 with SMTP id k18mr8757578wjq.110.1413847950231; Mon, 20 Oct 2014 16:32:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.180.194.194 with HTTP; Mon, 20 Oct 2014 16:31:50 -0700 (PDT) In-Reply-To: <20141020230840.GP17506@dastard> References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> <54451427.9060306@sandeen.net> <20141020230840.GP17506@dastard> From: Greg Freemyer Date: Mon, 20 Oct 2014 19:31:50 -0400 Message-ID: Subject: Re: Can't build RPM of xfstests To: Dave Chinner X-ASG-Orig-Subj: Re: Can't build RPM of xfstests Cc: Eric Sandeen , "Kaul, Yaniv" , Eric Sandeen , fstests@vger.kernel.org, "xfs@oss.sgi.com" Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-wg0-f47.google.com[74.125.82.47] X-Barracuda-Start-Time: 1413847950 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.10781 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 -- Greg Freemyer On Mon, Oct 20, 2014 at 7:08 PM, Dave Chinner wrote: > On Mon, Oct 20, 2014 at 08:54:47AM -0500, Eric Sandeen wrote: >> On 10/20/14 6:55 AM, Greg Freemyer wrote: >> >> > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't >> > too badly broken. I don't know if they are following FHS, but I >> > doubt they use /opt. >> >> The build works fine, it's the "Makepkgs" that I think is a bit odd, >> at least for RPM packaging. > > It's just odd, regardless of what it is packaging. > >> Also, if we really want to encourage packaging, we should probably start >> sticking official version numbers on it. "1.1.1" was tagged in Dec 2012, >> and there have been no "releases" since. > > There are more recent tags than that. There were some linux-v3.[6-8] > tags added when kernels v3.[6-8] we released. Those tags are > basically meaningless from a release perspective, though. > > As it is, for the purpose of the discussion I'll argue that we don't > need official release versions or tarballs and that anyone who needs > packages for xfstests is Doing it Wrong(tm). A potential use case with openSUSE and why I "think" they packaged it is to include a subset of xfstest in there automated testing. As of the last 9 months openSUSE's "factory" release has adopted a rolling release mechanism similar to rawhide, but possibly a little more reliable. Many submissions to factory (the rawhide equivalent) are pushed through a ring of automated QA tests. Separately on a daily basis the entire current factory release is pushed through a series of automated QA tests. If all QA tests pass, then a full factory snapshot is automatically released for end-user incorporation. My hope is that xfstests is packaged by openSUSE so it can easily be incorporated into that series of automated tests. If they are not yet doing that, then having xfstests packaged simplifies the future incorporation of xfstests into the auto-QA cycle. Overview: https://openqa.opensuse.org/tests/ Table of automated test results: https://openqa.opensuse.org/tests/ Notice for example that ext4 is a testsuite selection in the testsuite pull down. I assume that testsuite uses xfstests to exercise ext4 prior to an automated release of factory. The 2014-10-17 build of a couple days ago is an example of a build that failed the ext4 testsuite: https://openqa.opensuse.org/tests/27955 The 2014-10-18 build on the otherhand worked: https://openqa.opensuse.org/tests/28263 It is interesting to look through the various screen shots captured by the automated test system. I don't see automated tests for xfs or btrfs which is a surprise since both of them are default filesystem choices for factory. (btrfs is the default choice for / and xfs is the default for /home). Note: openSUSE still will do formal releases and the next one is openSUSE 13.2 due out next month. 13.2 should be getting lots of manual testing in addition to the automated QA testing. Greg From david@fromorbit.com Mon Oct 20 18:57: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 952347F4E for ; Mon, 20 Oct 2014 18:57:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 812EE304051 for ; Mon, 20 Oct 2014 16:57:24 -0700 (PDT) X-ASG-Debug-ID: 1413849441-04cb6c2efade350001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id v7ZAhx3S9G8C1NtH for ; Mon, 20 Oct 2014 16:57: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: AhxLAGegRVR5LODnPGdsb2JhbABcgw5TWII2tm8BAQEBAQEGkn+BYYVqAgIBAQKBDxcBBgEBAQE4O4QCAQEBAwE6HCMFCwgDGAklDwUlAwcaE4g3Bw7FOwEBAQEGAgEbBBiGC4lBbQeESwWWR4RBglGBQphsKS+CSwEBAQ Received: from ppp121-44-224-231.lns20.syd7.internode.on.net (HELO dastard) ([121.44.224.231]) by ipmail06.adl6.internode.on.net with ESMTP; 21 Oct 2014 10:27:20 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XgMpD-00030N-Rd; Tue, 21 Oct 2014 10:57:19 +1100 Date: Tue, 21 Oct 2014 10:57:19 +1100 From: Dave Chinner To: Greg Freemyer Cc: Eric Sandeen , "Kaul, Yaniv" , Eric Sandeen , fstests@vger.kernel.org, "xfs@oss.sgi.com" Subject: Re: Can't build RPM of xfstests Message-ID: <20141020235719.GQ17506@dastard> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> <54451427.9060306@sandeen.net> <20141020230840.GP17506@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: 1413849441 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.10782 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 20, 2014 at 07:31:50PM -0400, Greg Freemyer wrote: > -- > Greg Freemyer > > > On Mon, Oct 20, 2014 at 7:08 PM, Dave Chinner wrote: > > On Mon, Oct 20, 2014 at 08:54:47AM -0500, Eric Sandeen wrote: > >> On 10/20/14 6:55 AM, Greg Freemyer wrote: > >> > >> > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't > >> > too badly broken. I don't know if they are following FHS, but I > >> > doubt they use /opt. > >> > >> The build works fine, it's the "Makepkgs" that I think is a bit odd, > >> at least for RPM packaging. > > > > It's just odd, regardless of what it is packaging. > > > >> Also, if we really want to encourage packaging, we should probably start > >> sticking official version numbers on it. "1.1.1" was tagged in Dec 2012, > >> and there have been no "releases" since. > > > > There are more recent tags than that. There were some linux-v3.[6-8] > > tags added when kernels v3.[6-8] we released. Those tags are > > basically meaningless from a release perspective, though. > > > > As it is, for the purpose of the discussion I'll argue that we don't > > need official release versions or tarballs and that anyone who needs > > packages for xfstests is Doing it Wrong(tm). > > A potential use case with openSUSE and why I "think" they packaged it > is to include a subset of xfstest in there automated testing. Sure - i'm just pointing out that you don't need RPM to do that - git it just as good for deploying automated testing infrastructure ;) .... > Notice for example that ext4 is a testsuite selection in the testsuite > pull down. I assume that testsuite uses xfstests to exercise ext4 > prior to an automated release of factory. > > The 2014-10-17 build of a couple days ago is an example of a build > that failed the ext4 testsuite: > https://openqa.opensuse.org/tests/27955 That doesn't appear to anything to do with xfstests. It appears to be a "can we install opensuse" installer test that happens to be run on ext4. i.e. it's really product level testing (i.e. whether the opensuse build worked) not whether the filesystem works as it's supposed to. > I don't see automated tests for xfs or btrfs which is a surprise since > both of them are default filesystem choices for factory. (btrfs is > the default choice for / and xfs is the default for /home). Seeing as it's not actually doing filesystem level testing, it probably doesn't matter at all. Cheers, Dave. -- Dave Chinner david@fromorbit.com From eguan@redhat.com Mon Oct 20 22:16: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 5755E7F4E for ; Mon, 20 Oct 2014 22:16:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E7AA4AC002 for ; Mon, 20 Oct 2014 20:16:12 -0700 (PDT) X-ASG-Debug-ID: 1413861371-04bdf038cff4590001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id kZCL2ds3U8NUXWQ9 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 20:16:12 -0700 (PDT) X-Barracuda-Envelope-From: eguan@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 s9L3FllL004625 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 20 Oct 2014 23:15:47 -0400 Received: from localhost (vpn1-114-126.nay.redhat.com [10.66.114.126]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9L3FhpR009699; Mon, 20 Oct 2014 23:15:45 -0400 Date: Tue, 21 Oct 2014 11:15:43 +0800 From: Eryu Guan To: fstests@vger.kernel.org Cc: Greg Freemyer , Dave Chinner , "Kaul, Yaniv" , esandeen@redhat.com, fstests@vger.kernel.org, "xfs@oss.sgi.com" Subject: Re: Can't build RPM of xfstests Message-ID: <20141021031543.GB13850@dhcp-13-216.nay.redhat.com> X-ASG-Orig-Subj: Re: Can't build RPM of xfstests References: <648473255763364B961A02AC3BE1060D03C7940C13@MX19A.corp.emc.com> <20141020014750.GL7169@dastard> <54448313.7040602@sandeen.net> <30CA1845-C213-49EA-8809-F1E7A98AE7F9@gmail.com> <54451427.9060306@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54451427.9060306@sandeen.net> 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: 1413861372 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 Mon, Oct 20, 2014 at 08:54:47AM -0500, Eric Sandeen wrote: > On 10/20/14 6:55 AM, Greg Freemyer wrote: > > > Opensuse is building rpms of 1.1.1 so the build infrastructure isn't > > too badly broken. I don't know if they are following FHS, but I > > doubt they use /opt. > > The build works fine, it's the "Makepkgs" that I think is a bit odd, > at least for RPM packaging. > > Also, if we really want to encourage packaging, we should probably start > sticking official version numbers on it. "1.1.1" was tagged in Dec 2012, > and there have been no "releases" since. > > > The opensuse package/specfile can be found at: > > https://build.opensuse.org/package/show/filesystems/xfstests > > > > The rpms including the source rpm can be downloaded from: > > http://software.opensuse.org/download.html?project=filesystems&package=xfstests > > > > Note the specfile applies a patch to change the install aspect of > > the tarball immediately after untar'ing it. > > > > I don't maintain that so I don't know why the patch is needed. > > Ok, cool, I'll take a look at the specfile & patch. I had also packaged > it up for our internal QA use long ago, and had to make a few changes > as well. This is the spec file used internally by Red Hat, just for your reference Thanks, Eryu Name: xfstests Version: 20141014 Release: 1.git Summary: xfs qa tests Group: misc License: GPL URL: http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfstests.git Source0: $RPM_BUILD_ROOT/SOURCES/xfstests-dev.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf, libtool, e2fsprogs-devel, xfsprogs-devel BuildRequires: libacl-devel, libattr-devel, libaio-devel Requires: bash, perl, acl, attr, bind-utils Requires: bc, indent, quota, xfsprogs %description The xfsqa test available at http://git.kernel.org/?p=fs/xfs/xfstests-dev.git or http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfstests.git %prep %setup -q -n xfstests-dev %build autoheader autoconf %configure make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT # Dirty workaround, xfstets won't build if these two directories do not exist... mkdir -p /var/lib/xfstests/{ltp,src} make DIST_ROOT=$RPM_BUILD_ROOT install %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README /var/lib/xfstests %changelog ...... > > -Eric > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From anton.yushkov.89@thegrandcanyon.com Tue Oct 21 00:42: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=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 A061F7F3F for ; Tue, 21 Oct 2014 00:42:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3A3BBAC003 for ; Mon, 20 Oct 2014 22:42:47 -0700 (PDT) X-ASG-Debug-ID: 1413870163-04bdf038d0f81d0001-NocioJ Received: from mail.globalnet.zp.ua (ns.globalnet.zp.ua [192.162.140.5]) by cuda.sgi.com with ESMTP id KSeDApombVSLUlRE for ; Mon, 20 Oct 2014 22:42:43 -0700 (PDT) X-Barracuda-Envelope-From: anton.yushkov.89@thegrandcanyon.com X-Barracuda-Apparent-Source-IP: 192.162.140.5 Received: from [183.136.152.66] (account alex HELO Unknown) by mail.globalnet.zp.ua (CommuniGate Pro SMTP 5.3.2) with ESMTPA id 3545895; Tue, 21 Oct 2014 04:17:45 +0300 Message-ID: <7075C3909B4F6B08D4D1981296C247F9@tcvhv> From: =?windows-1251?B?0uX17ej35fHq6Okg5Ojw5ery7vA=?= To: , , <3dalbert.renelier@gottlieb-duttenhoefer.de>, Subject: =?windows-1251?B?q84g7+7w/+Tq5SDu8OPg7ejn4Pbo6CDoIO/w?= =?windows-1251?B?7uLl5OXt6P8g4+7x8+Tg8PHy4uXt7e7pIP3q?= =?windows-1251?B?8e/l8PLo5/sg7/Du5ery7e7pIOTu6vPs5e3y?= =?windows-1251?B?4Pbo6IW7IA==?= Date: Tue, 21 Oct 2014 03:18:01 +0200 X-ASG-Orig-Subj: =?windows-1251?B?q84g7+7w/+Tq5SDu8OPg7ejn4Pbo6CDoIO/w?= =?windows-1251?B?7uLl5OXt6P8g4+7x8+Tg8PHy4uXt7e7pIP3q?= =?windows-1251?B?8e/l8PLo5/sg7/Du5ery7e7pIOTu6vPs5e3y?= =?windows-1251?B?4Pbo6IW7IA==?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_2401_01CFECDD.9ED28CC0" X-Priority: 3 X-Barracuda-Connect: ns.globalnet.zp.ua[192.162.140.5] X-Barracuda-Start-Time: 1413870163 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_MV0113c, BSF_SC0_TG035a, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10788 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c 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_2401_01CFECDD.9ED28CC0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_2402_01CFECDD.9ED28CC0" ------=_NextPart_001_2402_01CFECDD.9ED28CC0 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: quoted-printable =D3=E2=E0=E6=E0=E5=EC=FB=E5 =EA=EE=EB=EB=E5=E3=E8! 2014 =E3=EE=E4 =ED=E0=F7=E0=EB=F1=FF =F1 =F1=E5=F0=FC=E5=E7=ED=FB=F5 =E8=E7= =EC=E5=ED=E5=ED=E8=E9 =E2 =F1=F4=E5=F0=E5 =F0=E5=E3=F3=EB=E8=F0=EE=E2=E0=ED= =E8=FF =E3=F0=E0=E4=EE=F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=EE=E9 =E4=E5=FF=F2=E5= =EB=FC=ED=EE=F1=F2=E8. =D4=EE=F0=EC=E0=EB=FC=ED=EE =ED=EE=E2=E0=FF =F1=F2= =F0=F3=EA=F2=F3=F0=E0 =E2 =F1=F2=E0=F2=F3=F1=E5 =EC=E8=ED=E8=F1=F2=E5=F0=F1= =F2=E2=E0 =EF=F0=E8=E7=E2=E0=ED=E0 =F3=EF=EE=F0=FF=E4=EE=F7=E8=F2=FC =ED=EE= =F0=EC=E0=F2=E8=E2=ED=EE-=EF=F0=E0=E2=EE=E2=EE=E5 =F0=E5=E3=F3=EB=E8=F0=EE= =E2=E0=ED=E8=E5, =E0 =F2=E0=EA=E6=E5 =F1=EF=EE=F1=EE=E1=F1=F2=E2=EE=E2=E0= =F2=FC =F0=E5=E0=EB=E8=E7=E0=F6=E8=E8 =E3=EE=F1=F3=E4=E0=F0=F1=F2=E2=E5=ED= =ED=FB=F5 =EF=F0=EE=E3=F0=E0=EC=EC. =C4=EB=FF =EE=E7=ED=E0=EA=EE=EC=EB=E5=ED=E8=FF =F1 =EF=EE=F1=EB=E5=E4=ED=E8= =EC=E8 =E8=E7=EC=E5=ED=E5=ED=E8=FF=EC=E8 =E7=E0=EA=EE=ED=EE=E4=E0=F2=E5=EB= =FC=F1=F2=E2=E0, =EF=F0=E8=E3=EB=E0=F8=E0=E5=EC =E2=E0=F1 =EF=EE=F1=E5=F2= =E8=F2=FC =F1=E5=EC=E8=ED=E0=F0 27-28 =EE=EA=F2=FF=E1=F0=FF =E2 =D1=E0=ED= =EA=F2-=CF=E5=F2=E5=F0=E1=F3=F0=E3=E5: =C8=E7=EC=E5=ED=E5=ED=E8=FF =E2 =E3= =F0=E0=E4=EE=F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=EE=EC =EA=EE=E4=E5=EA=F1=E5, =ED= =EE=E2=EE=E5 =E2 =E7=E0=EA=EE=ED=EE=E4=E0=F2=E5=EB=FC=F1=F2=E2=E5 =D0=D4 = =E2 =F1=F4=E5=F0=E5 =F1=F2=F0=EE=E8=F2=E5=EB=FC=F1=F2=E2=E0, =E8=F2=EE=E3= =E8 2014 =E3. =C3=EE=F1=F3=E4=E0=F0=F1=F2=E2=E5=ED=ED=FB=E9 =F1=F2=F0=EE=E8= =F2=E5=EB=FC=ED=FB=E9 =ED=E0=E4=E7=EE=F0. =C4=EB=FF =F0=E5=E3=E8=F1=F2=F0=E0=F6=E8=E8 =ED=E0 =F1=E5=EC=E8=ED=E0=F0 = =ED=E5=EE=E1=F5=EE=E4=E8=EC=EE =EE=F2=EF=F0=E0=E2=E8=F2=FC =E7=E0=FF=E2=EA= =F3: +7 [ =EA=EE=E4_=CF=E8=F2=E5=F0=E0 ] 98^6 -- 94 .. = 1l =CF=EE=E4=F0=EE=E1=ED=EE =F1 =E8=E7=EC=E5=ED=E5=ED=E8=FF=EC=E8 =E7=E0=EA=EE= =ED=EE=E4=E0=F2=E5=EB=FC=F1=F2=E2=E0, =F0=E5=E3=F3=EB=E8=F0=F3=FE=F9=E8=EC= =E8 =F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=F3=FE =E4=E5=FF=F2=E5=EB=FC=ED=EE=F1=F2= =FC, =C2=FB =EC=EE=E6=E5=F2=E5 =EF=EE=F1=EC=EE=F2=F0=E5=F2=FC =E2=EE =C2=CB= =CE=C6=C5=CD=C8=C8, =F2=E0=EC =E6=E5 =C2=FB =ED=E0=E9=E4=B8=F2=E5 =EF=EE=E4= =F0=EE=E1=ED=F3=FE =EF=F0=EE=E3=F0=E0=EC=EC=F3 =E8 =EA=EE=ED=F2=E0=EA=F2=FB= =E4=EB=FF =F0=E5=E3=E8=F1=F2=F0=E0=F6=E8=E8. =C4=EB=FF =E3=EE=F1=F2=E5=E9 =D1=E0=ED=EA=F2-=CF=E5=F2=E5=F0=E1=F3=F0=E3=E0= =E2=EE=E7=EC=EE=E6=ED=E0 =EE=F0=E3=E0=ED=E8=E7=E0=F6=E8=FF =EB=FC=E3=EE=F2= =ED=EE=E3=EE =EF=F0=EE=E6=E8=E2=E0=ED=E8=FF! =C4=EB=FF =EA=EE=F0=EF=EE=F0= =E0=F2=E8=E2=ED=EE=E3=EE =E7=E0=EF=F0=EE=F1=E0 =EF=F0=E5=E4=EE=F1=F2=E0=E2= =EB=FF=FE=F2=F1=FF =F1=EA=E8=E4=EA=E8! ------=_NextPart_001_2402_01CFECDD.9ED28CC0 Content-Type: text/html; charset="windows-1251" Content-Transfer-Encoding: quoted-printable

=D3=E2=E0=E6=E0=E5=EC=FB=E5 =EA=EE=EB=EB=E5=E3=E8!

2014 =E3=EE=E4 =ED=E0=F7=E0=EB=F1=FF =F1 =F1=E5=F0=FC=E5=E7=ED=FB= =F5 =E8=E7=EC=E5=ED=E5=ED=E8=E9 =E2 =F1=F4=E5=F0=E5 =F0=E5=E3=F3=EB=E8=F0= =EE=E2=E0=ED=E8=FF=20 =E3=F0=E0=E4=EE=F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=EE=E9 =E4=E5=FF=F2=E5=EB=FC= =ED=EE=F1=F2=E8. =D4=EE=F0=EC=E0=EB=FC=ED=EE =ED=EE=E2=E0=FF =F1=F2=F0=F3= =EA=F2=F3=F0=E0 =E2 =F1=F2=E0=F2=F3=F1=E5 =EC=E8=ED=E8=F1=F2=E5=F0=F1=F2=E2= =E0=20 =EF=F0=E8=E7=E2=E0=ED=E0 =F3=EF=EE=F0=FF=E4=EE=F7=E8=F2=FC =ED=EE=F0=EC=E0= =F2=E8=E2=ED=EE-=EF=F0=E0=E2=EE=E2=EE=E5 =F0=E5=E3=F3=EB=E8=F0=EE=E2=E0=ED= =E8=E5, =E0 =F2=E0=EA=E6=E5 =F1=EF=EE=F1=EE=E1=F1=F2=E2=EE=E2=E0=F2=FC=20 =F0=E5=E0=EB=E8=E7=E0=F6=E8=E8 =E3=EE=F1=F3=E4=E0=F0=F1=F2=E2=E5=ED=ED=FB= =F5 =EF=F0=EE=E3=F0=E0=EC=EC.

=C4=EB=FF =EE=E7=ED=E0=EA=EE=EC=EB=E5=ED=E8=FF =F1 =EF=EE=F1=EB=E5= =E4=ED=E8=EC=E8 =E8=E7=EC=E5=ED=E5=ED=E8=FF=EC=E8 =E7=E0=EA=EE=ED=EE=E4=E0= =F2=E5=EB=FC=F1=F2=E2=E0, =EF=F0=E8=E3=EB=E0=F8=E0=E5=EC=20 =E2=E0=F1 =EF=EE=F1=E5=F2=E8=F2=FC =F1=E5=EC=E8=ED=E0=F0 27-28 =EE=EA=F2= =FF=E1=F0=FF =E2 =D1=E0=ED=EA=F2-=CF=E5=F2=E5=F0=E1=F3=F0=E3=E5: =C8=E7=EC= =E5=ED=E5=ED=E8=FF =E2=20 =E3=F0=E0=E4=EE=F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=EE=EC =EA=EE=E4=E5=EA=F1=E5= , =ED=EE=E2=EE=E5 =E2 =E7=E0=EA=EE=ED=EE=E4=E0=F2=E5=EB=FC=F1=F2=E2=E5 =D0= =D4 =E2 =F1=F4=E5=F0=E5 =F1=F2=F0=EE=E8=F2=E5=EB=FC=F1=F2=E2=E0,=20 =E8=F2=EE=E3=E8 2014 =E3. =C3=EE=F1=F3=E4=E0=F0=F1=F2=E2=E5=ED=ED=FB=E9 =F1= =F2=F0=EE=E8=F2=E5=EB=FC=ED=FB=E9=20 =ED=E0=E4=E7=EE=F0.

=C4=EB=FF =F0=E5=E3=E8=F1=F2=F0=E0=F6=E8=E8 =ED=E0 =F1=E5=EC=E8=ED= =E0=F0 =ED=E5=EE=E1=F5=EE=E4=E8=EC=EE =EE=F2=EF=F0=E0=E2=E8=F2=FC =E7=E0= =FF=E2=EA=F3:=20 +7 [ =EA=EE=E4_=CF=E8=F2=E5=F0=E0 ] 98^6 -- 94 .. = 1l

=CF=EE=E4=F0=EE=E1=ED=EE =F1 =E8=E7=EC=E5=ED=E5=ED=E8=FF=EC=E8 =E7= =E0=EA=EE=ED=EE=E4=E0=F2=E5=EB=FC=F1=F2=E2=E0, =F0=E5=E3=F3=EB=E8=F0=F3=FE= =F9=E8=EC=E8 =F1=F2=F0=EE=E8=F2=E5=EB=FC=ED=F3=FE=20 =E4=E5=FF=F2=E5=EB=FC=ED=EE=F1=F2=FC, =C2=FB =EC=EE=E6=E5=F2=E5 =EF=EE=F1= =EC=EE=F2=F0=E5=F2=FC =E2=EE =C2=CB=CE=C6=C5=CD=C8=C8, =F2=E0=EC =E6= =E5 =C2=FB =ED=E0=E9=E4=B8=F2=E5=20 =EF=EE=E4=F0=EE=E1=ED=F3=FE =EF=F0=EE=E3=F0=E0=EC=EC=F3 =E8 =EA=EE=ED=F2=E0= =EA=F2=FB =E4=EB=FF =F0=E5=E3=E8=F1=F2=F0=E0=F6=E8=E8.<= /SPAN>

=C4=EB=FF=20 =E3=EE=F1=F2=E5=E9 =D1=E0=ED=EA=F2-=CF=E5=F2=E5=F0=E1=F3=F0=E3=E0 =E2=EE=E7= =EC=EE=E6=ED=E0 =EE=F0=E3=E0=ED=E8=E7=E0=F6=E8=FF =EB=FC=E3=EE=F2=ED=EE=E3= =EE=20 =EF=F0=EE=E6=E8=E2=E0=ED=E8=FF! =C4=EB=FF=20 =EA=EE=F0=EF=EE=F0=E0=F2=E8=E2=ED=EE=E3=EE =E7=E0=EF=F0=EE=F1=E0 =EF=F0=E5= =E4=EE=F1=F2=E0=E2=EB=FF=FE=F2=F1=FF=20 =F1=EA=E8=E4=EA=E8!

------=_NextPart_001_2402_01CFECDD.9ED28CC0-- ------=_NextPart_000_2401_01CFECDD.9ED28CC0 Content-Type: application/octet-stream; name="=?windows-1251?B?6Ofs5e3l7ej/IOIg4/Dg5Oru5OXq8eUuZG9j?= =?windows-1251?B?eA==?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?windows-1251?B?6Ofs5e3l7ej/IOIg4/Dg5Oru5OXq8eUuZG9j?= =?windows-1251?B?eA==?=" UEsDBBQABgAIAAAAIQATrM+BiAEAAAsGAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0 VMlOwzAQvSPxD5GvKHHLASHUtAeWI1SifIBrT1KDN9nu9vdM0jYqkKYSbS+R4vFb5nnswWilVbIA H6Q1OelnPZKA4VZIU+bkY/KS3pMkRGYEU9ZATtYQyGh4fTWYrB2EBNEm5GQWo3ugNPAZaBYy68Bg pbBes4i/vqSO8S9WAr3t9e4otyaCiWmsOMhw8AQFm6uYPK9weePEmZIkj5t9lVROpK7w1TptRXw6 aIfUhXaMBxV+yTDnlOQsYh50YcSvXtJtHxki6z1hJl24wWYPuKoqP/vYF9ji3vAAvBSQjJmPr0xj t3RpvaDC8rnGpLJumhaftigkhwZfsTlvOYSAJ6tV1lQ0k2bn/6APM9dT8Ig8v5GG+qiJENcKwvkd bHi75DGssbcuUDy7k/WhGnIBIsXzcOCjhGZ+DuYfIEZM/xLNb5m72q9HMeLVBlp/+ydnUNMclSzw +k/YVMHJen/Gv6E+amIJ0/eLpb9H3mWkmT9u/T/C2L1ZFbpl6mj9lA+/AQAA//8DAFBLAwQUAAYA CAAAACEAHpEat/MAAABOAgAACwAIAl9yZWxzLy5yZWxzIKIEAiigAAIAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyS20oDQQyG7wXfYch9N9sK ItLZ3kihdyLrA4SZ7AF3Dsyk2r69oyC6UNte5vTny0/Wm4Ob1DunPAavYVnVoNibYEffa3htt4sH UFnIW5qCZw1HzrBpbm/WLzyRlKE8jDGrouKzhkEkPiJmM7CjXIXIvlS6kBxJCVOPkcwb9Yyrur7H 9FcDmpmm2lkNaWfvQLXHWDZf1g5dNxp+Cmbv2MuJFcgHYW/ZLmIqbEnGco1qKfUsGmwwzyWdkWKs CjbgaaLV9UT/X4uOhSwJoQmJz/N8dZwDWl4PdNmiecevOx8hWSwWfXv7Q4OzL2g+AQAA//8DAFBL AwQUAAYACAAAACEAGb7gyT8BAADKBQAAHAAIAXdvcmQvX3JlbHMvZG9jdW1lbnQueG1sLnJlbHMg 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 Xl/X/EiPsmgQdtYP6DEUQmvDgHAoBHO7OmrJ0GuYkPKGLqlJJ4fkQCxcDFp0/rLZ0BwLQ5sFwjFb hBtuHzVi4CkA6NOD8X7x2VCGsjYdfoGkc5xWfyqyvATqw0I4S08hg4K2FbRM2yCBgsYNyaXIGrSB 4rMx4YP8Cps5kMMkHFFVTo1WBvP8Ni7eUaqmqEUarTizEOEGCVyUBV8S1hU/0E6nRqjvXOdJXtBk pcl826JTyeMkc54EjnVZbGvtE7EZLjIBCN/OIR1wyuAm5VaTPTiJQnZgUUmc5ds41Mopl5NLWV1w 8CZOv4sCZWX+fxj+cI5hqmiTAAAAAElFTkSuQmCCUEsDBAoAAAAAAAAAIQCdee83IggAACIIAAAW AAAAd29yZC9tZWRpYS9pbWFnZTIuanBlZ//Y/+AAEEpGSUYAAQEBAGAAYAAA/9sAQwACAQECAQEC AgICAgICAgMFAwMDAwMGBAQDBQcGBwcHBgcHCAkLCQgICggHBwoNCgoLDAwMDAcJDg8NDA4LDAwM /9sAQwECAgIDAwMGAwMGDAgHCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwM/8AAEQgAPgA+AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgME BQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEV UtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3 eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh 4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALUR AAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDTh JfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJ ipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz 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 0Y7mSNIkUIpPJCgAnmiigDqqKKKACiiigAooooAKKKKACiiigD//2VBLAwQKAAAAAAAAACEAUDxS zvI6AADyOgAAFgAAAHdvcmQvbWVkaWEvaW1hZ2U0LmpwZWf/2P/gABBKRklGAAEBAQEsASwAAP/h B+xFeGlmAABNTQAqAAAACAAHARIAAwAAAAEAAQAAARoABQAAAAEAAABiARsABQAAAAEAAABqASgA AwAAAAEAAgAAATEAAgAAABwAAAByATIAAgAAABQAAACOh2kABAAAAAEAAACiAAAAzgAtxsAAACcQ AC3GwAAAJxBBZG9iZSBQaG90b3Nob3AgQ1MzIFdpbmRvd3MAMjAwODoxMDoyMyAxNjozODo1NAAA A6ABAAMAAAABAAEAAKACAAQAAAABAAAAZKADAAQAAAABAAAAOwAAAAAAAAAGAQMAAwAAAAEABgAA ARoABQAAAAEAAAEcARsABQAAAAEAAAEkASgAAwAAAAEAAgAAAgEABAAAAAEAAAEsAgIABAAAAAEA AAa4AAAAAAAAAEgAAAABAAAASAAAAAH/2P/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsMGRITDxQd Gh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIADsA ZAMBIQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQD BQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJma oqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/ xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQID EQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RF RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy s7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/ APf6KACigAooAKKACigCK4njtbd55mCRoNzMewrGmimvIvOvTIkkxxa2gkK7PQtjqw6nsMcepAN6 igAooAKKACigAqgL2SXVTawIrRQg/aJSfusfuoPU45PoMetAF+igDn7m8Go6z9kt0+0R2bAyKD8h l6jc3QBeuOpJHHy1rQW22TzpmEk5GN2MAD0UdhQBaooAKKACigAooAy9X1QWECxQDzL6c7LeEDJZ v72P7q9SfSqWlSXkGoJpyQxLCkZluWZi8m5jwWYcbmOSQM8DryKAN8soIBIyenNcrcXutahPJawy Q28NxIyWskJ3SGMdZCeir+pJAGPvUAdDYWFvptlFaWyERRrgFjkse5J7knknuat0AFFABRQAVnvq kTSGK1jku5QOfJxtU+hc/KPpnPtQA4JqM2DJLDbr3SNS7f8AfRwP0qjeSzeXNHZ3srSRAmS4kdFS P1/hwSMHjGB39wDmJNQvdMuEuoIo7nU76PEJuQR9nhz/AK2RuM7jjCAKThQMYbF3Q9QsrXXJUjvL yVDbNPcz3AYCeVmTkIfukDAAAH3gB0oA0tS0m2u7yHXdSluIVtoXjFsrDBViODxnceBgHngc99LT LWRPMu7pAt1PjKZz5SD7sY+nf3JoA0qKACigAqlcagkMogjR57kj/VRjJX3Y9FH1/DNAEf2CW7O7 UJdyH/l3jJEY+vd/x49qvIixoEjUKijAUDAFAGHq+pz/ANoLpVnBcSTNEJZDEpUbSSAu/ouSDk9Q BwCSKxba2D30lhalJ5ZSJLpiSIn28BFHaFTwQOXbIOfnNAGndXWl6BIZbi5W61Sc/u1kkyxbB+6v Plr6kD8z1zdDtbKDVL3UBbX1/eNKpeQRMsYcqCxVX2gcscH0P1oA1oLm91m+FwNPCWVs5EXnTAeZ IMgt8u7heg98nsK0guryMd0ljCvoEaQ/zWgBy2l4QfN1KQnP/LKJF/mDUq2ajO6adyfWQj+WKAJl RVGFHFFAGc1xcajcS29qxhgiYpLcAAksOqpn06FvwHPItRxWun27Y2RR5yzO3U+pJ6n3NAFdtasy uYGkuj/07RtID+IGP1oa91GQL9n0srnqbmZUx/3zuNAGZc2mt6y72sl6LC0RgJpLaIiSY8EqjPnC 44LY57etQr4LVbi4b+07gwzlcoVG4BUChf7uBjj5eMmgDShsNO8O2rmws41nmYKAOHmftlv84GaS RZGA0m3mbznBe7uF4KK3XHozdAOw57DIBrRRRwRJFEgSNAFVQMAAVJQAUUAFFAGfLo9nLNJLtmja Tl/JneMMfUhSBn3p0ekafFgi1jZgc7pBvYfi2TQBdAAGBS0AFFAHPSX8lzfF7RVluCGjtEJ+VFzh 5n9s8DuccdTWtY2SWMBRSXkYl5ZW+9Ix6k/54GAKALdFABRQAUUAFFABRQAU08o30NAGT4b0qy0n R4Y7KHyw6qzkszs5xjJZiSeABya2KACigAooAKKAP//Z/+0NClBob3Rvc2hvcCAzLjAAOEJJTQQE AAAAAAAHHAIAAAIAAAA4QklNBCUAAAAAABDo8VzzL8EYoaJ7Z63FZNW6OEJJTQQvAAAAAABK2AEB AFgCAABYAgAAAAAAAAAAAACeGgAAQBIAAJz///9y////AxsAANISAAAAAXsFAADgAwAAAQAPJwEA AAAAAAAA7e3t7e3tGOk4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAA AAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAA AAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgA L2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAA AAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/ ////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP// //////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0E HgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAA7AAAAZAAAAAgAdgBvAHIAbwBu AGkAbgBhAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABkAAAAOwAAAAAAAAAAAAAA AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2Jq YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0 b21sb25nAAAAOwAAAABSZ2h0bG9uZwAAAGQAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAA BXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdp bmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNs aWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxv bmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAADsAAAAAUmdodGxvbmcAAABkAAAA A3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0 VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEA AAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRB bGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVt AAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVm dE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9u ZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAThCSU0EDAAAAAAG 7AAAAAEAAABkAAAAOwAAASwAAEUkAAAG0AAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9i 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 AAcABAABAAEBAP/hD89odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+DQo8eDp4bXBtZXRhIHhtbG5z Ong9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjEtYzAzNiA0Ni4y NzY3MjAsIE1vbiBGZWIgMTkgMjAwNyAyMjo0MDowOCAgICAgICAgIj4NCgk8cmRmOlJERiB4bWxu czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPg0KCQk8 cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5j b20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIg eG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxu czp4YXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0 dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnRpZmY9 Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRv YmUuY29tL2V4aWYvMS4wLyIgeGFwOkNyZWF0ZURhdGU9IjIwMDgtMTAtMjNUMTY6Mzg6NTQrMDQ6 MDAiIHhhcDpNb2RpZnlEYXRlPSIyMDA4LTEwLTIzVDE2OjM4OjU0KzA0OjAwIiB4YXA6TWV0YWRh dGFEYXRlPSIyMDA4LTEwLTIzVDE2OjM4OjU0KzA0OjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2Jl IFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6 Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBo b3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6MTIyNjlCNUNGRkEwREQx MTlCMjdCQTBEQ0FCODBFMjIiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6MTEyNjlCNUNGRkEwREQx MTlCMjdCQTBEQ0FCODBFMjIiIHRpZmY6T3JpZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249 IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVz b2x1dGlvblVuaXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3 NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcw LDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtCRTgyNzU2OTgwMDcyREMzNTI4MDE4RDA0MzQyMEU1QyIg ZXhpZjpQaXhlbFhEaW1lbnNpb249IjEwMCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjU5IiBleGlm OkNvbG9yU3BhY2U9IjEiIGV4aWY6TmF0aXZlRGlnZXN0PSIzNjg2NCw0MDk2MCw0MDk2MSwzNzEy MSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywz NDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4 MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0 MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4 Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0 MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMs MjQsMjUsMjYsMjcsMjgsMzA7QzlGRDc4RThFMDc2Q0VGMjI1M0FEQkYwNUUyOURBOTIiPg0KCQkJ PHhhcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6RTA2NEIyRjhGMkEwREQx MUE4RTNFRjgyQjAyQjA2QTkiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6QkFBMUVBN0JFREEwREQx MUE4RTNFRjgyQjAyQjA2QTkiLz4NCgkJPC9yZGY6RGVzY3JpcHRpb24+DQoJPC9yZGY6UkRGPg0K PC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICA8P3hwYWNr ZXQgZW5kPSd3Jz8+/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAg AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAA AAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAA AiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmll dwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgM Z1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0 dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAA AAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVog AAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9k ZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3 dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVz YwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24g aW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8u ABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAA AAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAe ACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkA rgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFM AVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYC LwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNP A1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYE xATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7 BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3Arz CwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakN ww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDX EPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkU ahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhA GGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHsc oxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFI IXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcm hya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwF LDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIy KjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiM OMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/ oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdP AE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dE V5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVg V2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2ma afFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11z uHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4B fmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6J M4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSK lPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg 2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1E rbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6 tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9 yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE 5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1 UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///9sAQwACAQECAQECAgICAgIC AgMFAwMDAwMGBAQDBQcGBwcHBgcHCAkLCQgICggHBwoNCgoLDAwMDAcJDg8NDA4LDAwM/9sAQwEC AgIDAwMGAwMGDAgHCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwM/8AAEQgAOwBkAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkK C//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNi coIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SF hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn 6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQE AwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWW l5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5 +v/aAAwDAQACEQMRAD8A/fyiiigAooooAKKKKACiiuDi+J974g+NEvh3RbS3udJ0KFjr+oyO2Le5 dVaCziA+/LsbzZP+eaGP/nr8oB3lFFFAGX4u8WWHgPwvfazq1ylnpunQtPcTP0jQd+K8b8Q6Bqnx H0cat4tfUrLUNdZY/DHhaK+e1+wN95Jp/KIMlyo/evktHD5e1ehd4PG3xKX4z/H0+GNCtD4k07wD cxS6hbRSbbN9W+WSJbqbaUSO1XbL5fzSNM8e1P3DV6v4W8ENZam2ratOmo67MnlNcbCkUCHny4UL HYnr/E2OaAOnT7oopaKACiiigAoorgNQ+PGnXupy6d4asdS8Y6lEreYNKCm0t2X+GW6dlgRs/wAG 7f8A7NAHf0VxMGm+OvEOyW91LRfDkH3ntdPga+nH+z58u1P/ACDXCfEXX9WXTNas/C3i3Vri/wBG iaTUdcvrqzgsdKAZt+5jB5Typtb5duxMfP8A3WAOh/aL+PUfwk8PW2naQo1Pxx4kc2Ph7SIo/Onu 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 EAQAAET1AAAAAA== ------=_NextPart_000_2401_01CFECDD.9ED28CC0-- From stefan@ocius.nl Tue Oct 21 01:41: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 ADCAB7F3F for ; Tue, 21 Oct 2014 01:41:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3CFDAAC001 for ; Mon, 20 Oct 2014 23:41:40 -0700 (PDT) X-ASG-Debug-ID: 1413873694-04cb6c2ef9e9af0001-NocioJ Received: from Axlion.ocius.nl (Axlion.ocius.nl [178.18.143.21]) by cuda.sgi.com with ESMTP id f1ziHDyaom57C34x (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 20 Oct 2014 23:41:35 -0700 (PDT) X-Barracuda-Envelope-From: stefan@ocius.nl X-Barracuda-Apparent-Source-IP: 178.18.143.21 Received: from [94.103.146.186] (helo=MacBook-Pro-Retina-van-Stefan.local) by Axlion.ocius.nl with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.83) (envelope-from ) id 1XgSwW-000Aub-Vt for xfs@oss.sgi.com; Tue, 21 Oct 2014 08:29:17 +0200 Message-ID: <5446001A.5000909@ocius.nl> Disposition-Notification-To: "Stefan Bottelier | Ocius.nl" Date: Tue, 21 Oct 2014 08:41:30 +0200 From: "Stefan Bottelier | Ocius.nl" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: High I/O waits Content-Type: text/plain; charset=windows-1252; format=flowed X-ASG-Orig-Subj: High I/O waits Content-Transfer-Encoding: 7bit X-Barracuda-Connect: Axlion.ocius.nl[178.18.143.21] X-Barracuda-Start-Time: 1413873694 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: ocius.nl X-Barracuda-Spam-Score: 0.00 X-Barracuda-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.10789 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, We have change ore servers from Linux kernel 3.2.63 to 3.12.30, and now we have very more I/O waits on the block device. Are the some big changes in this version ? And we mount now with /sdb /srv but are the some mount options for better performance ? I hope somebody can help me with this. -- Met vriendelijke groet, Stefan Bottelier Ocius Internet Services E: Stefan.Bottelier@ocius.nl T: +31 (0)20 716 39 09 W: http://www.ocius.nl From Martin@lichtvoll.de Tue Oct 21 02:45: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 BFD357F47 for ; Tue, 21 Oct 2014 02:45:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5DFB3AC002 for ; Tue, 21 Oct 2014 00:45:30 -0700 (PDT) X-ASG-Debug-ID: 1413877525-04cb6c2efaee0c0001-NocioJ Received: from mail.lichtvoll.de (mondschein.lichtvoll.de [194.150.191.11]) by cuda.sgi.com with ESMTP id dyopBXzunEnghtp1 for ; Tue, 21 Oct 2014 00:45:26 -0700 (PDT) X-Barracuda-Envelope-From: Martin@lichtvoll.de X-Barracuda-Apparent-Source-IP: 194.150.191.11 Received: from merkaba.localnet (blackhole.teamix.net [194.150.191.251]) by mail.lichtvoll.de (Postfix) with ESMTPSA id 713D443E for ; Tue, 21 Oct 2014 09:45:25 +0200 (CEST) From: Martin Steigerwald To: xfs@oss.sgi.com Subject: Re: High I/O waits Date: Tue, 21 Oct 2014 09:45:24 +0200 X-ASG-Orig-Subj: Re: High I/O waits Message-ID: <1594296.7DZVsZW4j9@merkaba> User-Agent: KMail/4.14.1 (Linux/3.17.0-tp520; KDE/4.14.2; x86_64; ; ) In-Reply-To: <5446001A.5000909@ocius.nl> References: <5446001A.5000909@ocius.nl> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Barracuda-Connect: mondschein.lichtvoll.de[194.150.191.11] X-Barracuda-Start-Time: 1413877525 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.10790 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 Am Dienstag, 21. Oktober 2014, 08:41:30 schrieb Stefan Bottelier | Ocius.nl: > Hello, Hi Stefan, > We have change ore servers from Linux kernel 3.2.63 to 3.12.30, and now > we have very more I/O waits on the block device. > Are the some big changes in this version ? And we mount now with /sdb > /srv but are the some mount options for better performance ? > > I hope somebody can help me with this. Not yet, as your report lacks any details necessary to even make a guess what the cause of your problem might be. Please read http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F and add the necessary information. Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 From cmaiolino@redhat.com Tue Oct 21 07:57: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 E31577F3F for ; Tue, 21 Oct 2014 07:57:25 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B11728F8039 for ; Tue, 21 Oct 2014 05:57:25 -0700 (PDT) X-ASG-Debug-ID: 1413896241-04bdf038d1118a60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id lbC1AfmlTIgiAyZB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 05:57:21 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s9LCuw83013147 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 21 Oct 2014 08:56:59 -0400 Received: from hades.localdomain (ovpn-113-52.phx2.redhat.com [10.3.113.52]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9LCut7C030461 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 21 Oct 2014 08:56:57 -0400 Date: Tue, 21 Oct 2014 10:56:54 -0200 From: Carlos Maiolino To: Christoph Hellwig Cc: Brian Foster , xfs@oss.sgi.com Subject: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Message-ID: <20141021125654.GA26932@hades.localdomain> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs_vn_rename by xfs_vn_rename2 Mail-Followup-To: Christoph Hellwig , Brian Foster , xfs@oss.sgi.com References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-2-git-send-email-cmaiolino@redhat.com> <20141016210457.GA33732@bfoster.bfoster> <20141017093556.GA9146@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141017093556.GA9146@infradead.org> 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: 1413896241 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 Hi Brian, Chris. Sorry my delay to reply, I was in a software conference this week, and barely accessed my e-mails. I can certainly re-do this patch to avoid the name change. I used a new name to follow the VFS convention, although I also agree we 'should' get rig of several versions and keep just newer updates to the same syscalls. So, I'll re-do this patch and send a V2. Cheers On Fri, Oct 17, 2014 at 02:35:56AM -0700, Christoph Hellwig wrote: > On Thu, Oct 16, 2014 at 05:04:57PM -0400, Brian Foster wrote: > > The function rename seems unnecessary..? Meh, not a big deal to me > > either way. Otherwise, this one seems Ok. > > Yeah, we might as well keep the old name. As far as I'm concerned > I'd love to get rid of the two different IOPS in the VFS, too. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos From cmaiolino@redhat.com Tue Oct 21 08:02: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 499E67F47 for ; Tue, 21 Oct 2014 08:02:24 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id DB240AC002 for ; Tue, 21 Oct 2014 06:02:20 -0700 (PDT) X-ASG-Debug-ID: 1413896539-04bdf038d2119100001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id O54ceylUUbQ64RGe (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 06:02:19 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@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 s9LD2JZo026549 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 21 Oct 2014 09:02:19 -0400 Received: from hades.localdomain (ovpn-113-52.phx2.redhat.com [10.3.113.52]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9LD2FNn019135 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for ; Tue, 21 Oct 2014 09:02:18 -0400 Date: Tue, 21 Oct 2014 11:02:15 -0200 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Message-ID: <20141021130214.GB26932@hades.localdomain> X-ASG-Orig-Subj: Re: [PATCH 2/2] Add support to RENAME_EXCHANGE flag Mail-Followup-To: xfs@oss.sgi.com References: <1413397042-32229-1-git-send-email-cmaiolino@redhat.com> <1413397042-32229-3-git-send-email-cmaiolino@redhat.com> <20141016210536.GB33732@bfoster.bfoster> <20141020002528.GI7169@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141020002528.GI7169@dastard> 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: 1413896539 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 Thanks for the review guys, I'm going to apply the suggestions and send a V2 On Mon, Oct 20, 2014 at 11:25:28AM +1100, Dave Chinner wrote: > On Thu, Oct 16, 2014 at 05:05:37PM -0400, Brian Foster wrote: > > On Wed, Oct 15, 2014 at 03:17:22PM -0300, Carlos Maiolino wrote: > > > Adds a new function named xfs_cross_rename(), responsible to handle requests > > > from sys_renameat2() using RENAME_EXCHANGE flag. > > > > > > Signed-off-by: Carlos Maiolino > > > --- > > > > Hi Carlos, > > > > Some high-level comments from a first pass... > > > > > fs/xfs/xfs_inode.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > fs/xfs/xfs_inode.h | 4 ++ > > > fs/xfs/xfs_iops.c | 7 +- > > > 3 files changed, 197 insertions(+), 1 deletion(-) > > > > > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > > > index fea3c92..a5bc88d 100644 > > > --- a/fs/xfs/xfs_inode.c > > > +++ b/fs/xfs/xfs_inode.c > > > @@ -2920,6 +2920,193 @@ xfs_rename( > > > return error; > > > } > > > > > > +/* xfs_cross_rename() > > > + * > > > + * responsible to handle RENAME_EXCHANGE flag > > > + * in renameat2() sytemcall > > > + */ > > > +int > > > +xfs_cross_rename( > > > + xfs_inode_t *src_dp, > > > + struct xfs_name *src_name, > > > + xfs_inode_t *src_ip, > > > + xfs_inode_t *target_dp, > > > + struct xfs_name *target_name, > > > + xfs_inode_t *target_ip) > > > +{ > > > + xfs_trans_t *tp = NULL; > > > + xfs_mount_t *mp = src_dp->i_mount; > > > + int new_parent; /* Crossing from different parents */ > > > + int src_is_directory; > > > + int tgt_is_directory; > > > + int error; > > > + xfs_bmap_free_t free_list; > > > + xfs_fsblock_t first_block; > > > + int cancel_flags; > > > + int committed; > > > + xfs_inode_t *inodes[4]; > > > + int spaceres; > > > + int num_inodes; > > > + > > > + new_parent = (src_dp != target_dp); > > > + src_is_directory = S_ISDIR(src_ip->i_d.di_mode); > > > + tgt_is_directory = S_ISDIR(target_ip->i_d.di_mode); > > > + > > > + xfs_sort_for_rename(src_dp, target_dp, src_ip, target_ip, > > > + inodes, &num_inodes); > > > + > > > + xfs_bmap_init(&free_list, &first_block); > > > + tp = xfs_trans_alloc(mp, XFS_TRANS_RENAME); > > > + cancel_flags = XFS_TRANS_RELEASE_LOG_RES; > > > + spaceres = XFS_RENAME_SPACE_RES(mp, target_name->len); > > > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, spaceres, 0); > > > + > > > > It seems to me that the existing block and log reservations would > > "cover" the rename exchange case, but it might be worth defining new > > reservations for the purpose of clarity and to prevent future problems. > > > > XFS_RENAME_SPACE_RES() covers directory removal and insertion. Here we > > are doing neither, which makes me wonder whether we need a block > > reservation at all. It does appear that we have a sf dir case where the > > inode number could cause a format conversion. Perhaps we need something > > that calculates the blocks required for the insertion of the max of both > > names (it seems like the conversion would only happen once, but we don't > > know which way)? I haven't spent a ton of time in directory code, so I > > could easily be missing something. > > The shortform replace can result in shortform->block conversion, > therefore we need the reservation. > > > The tr_rename log reservation considers four inodes, two directory > > modifications, a target inode unlink (the overwrite case), and alloc > > btree mods for directory blocks being freed. IIUC, the exchange case > > should only ever log four inodes and the possible dir format conversion > > (e.g., no unlink, no dir block frees). We could define a new > > tr_rename_xchg reservation that encodes that and documents it > > appropriately in the comment. > > The rename log reservation is the worse case that a rename operation > requires - it is not specific to a particular rename instance. This > new reanme type fits within the existing definition, so we should > just use it unchanged. > > What it comes down to is that there is no point in trying to define > reservations for every single possible type of operation we can do - > it's just too much maintenance overhead to verify that they are > correct after some incidental change. If we define the worst case, > then everything else is covered and we don't have to care about > whether we have the reservation for a specific case right, or indeed > whether we are using the correct reservation for a specific rename > transaction.... > > > > > + if (error == -ENOSPC) { > > > + spaceres = 0; > > > + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, 0, 0); > > > + } > > > + if (error) { > > > + xfs_trans_cancel(tp, 0); > > > + goto std_return; > > > + } > > This is not necessary. The spaceres == 0 case in the rename is for > adding new directory entries at ENOSPC and that is checked by > xfs_dir_canenter(). We are not calling that function (because we > aren't adding a name) and therefore we can't run without a full > space reservation. > > Oh, and kill that "std_return" name. > > if (error) { > cancel_flags = 0; > goto out_trans_cancel; > } > > > > + > > > + /* > > > + * Attach the dquots to the inodes > > > + */ > > > + error = xfs_qm_vop_rename_dqattach(inodes); > > > + if (error) { > > > + xfs_trans_cancel(tp, cancel_flags); > > > + goto std_return; > > > + } > > if (error) > goto out_trans_cancel; > > > > + > > > + /* > > > + * Lock all participating inodes. In case of RENAME_EXCHANGE, target > > > + * must exist, so we'll be locking at least 3 inodes here. > > > + */ > > > + xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); > > > + > > > + /* > > > + * Join all the inodes to the transaction. From this point on, > > > + * we can rely on either trans_commit or trans_cancel to unlock > > > + * them. > > > + * target_ip will always exist, so, no need to check its existence. > > > + */ > > > + xfs_trans_ijoin(tp, src_dp, XFS_ILOCK_EXCL); > > > + if (new_parent) > > > + xfs_trans_ijoin(tp, target_dp, XFS_ILOCK_EXCL); > > > + > > > + xfs_trans_ijoin(tp, src_ip, XFS_ILOCK_EXCL); > > > + xfs_trans_ijoin(tp, target_ip, XFS_ILOCK_EXCL); > > > + > > > + /* > > > + * If we are using project inheritance, we only allow RENAME_EXCHANGE > > > + * into our tree when the project IDs are the same; else the tree quota > > > + * mechanism would be circumvented. > > > + */ > > > + if (unlikely(((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT) || > > > + (src_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) && > > > + (xfs_get_projid(src_dp) != xfs_get_projid(target_dp)) )) { > > > + error = -EXDEV; > > > + goto error_return; > > > + } > > > + > > > > I think that having a separate helper for the rename exchange case is > > generally the right thing. That said, I wonder if we're splitting things > > at the right level because it looks like xfs_rename() could handle > > everything we have in xfs_cross_rename() up to about this point. > > Right. I think that splitting out the internal part of xfs_rename > after all this common setup code is the best way to proceed. > > > I definitely don't think we should go too far and try to handle all of > > this in one function, even if there is some duplication in the directory > > name replacement and inode link management. The logic would probably end > > up unnecessarily hairy and difficult to reason about. > > > > > + error = xfs_dir_replace(tp, src_dp, src_name, > > > + target_ip->i_ino, > > > + &first_block, &free_list, spaceres); > > > + if (error) > > > + goto abort_return; > > > + > > > + /* > > > + * Update ".." entry to match the new parent > > > + */ > > > + if (new_parent && tgt_is_directory) { > > > + error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, > > > + src_dp->i_ino, &first_block, &free_list, spaceres); > > > + if (error) > > > + goto abort_return; > > > + } > > > + > > > + xfs_trans_ichgtime(tp, src_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > > > + > > > + error = xfs_dir_replace(tp, target_dp, target_name, > > > + src_ip->i_ino, > > > + &first_block, &free_list, spaceres); > > > + if (error) > > > + goto abort_return; > > > + > > > + /* > > > + * Update ".." entry to match the new parent > > > + */ > > > + if (new_parent && src_is_directory) { > > > + error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, > > > + target_dp->i_ino, &first_block, &free_list, spaceres); > > > + if (error) > > > + goto abort_return; > > > + } > > So you do a bunch of work based on new_parent and > tgt/src_is_directory, and then: > > > > + > > > + /* > > > + * In case we are crossing different file types between different > > > + * parents, we must update parent's link count to match the ".." > > > + * entry of the new child (or the removal of it). > > > + */ > > > + if (new_parent) { > > > + xfs_trans_ichgtime(tp, target_dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); > > > + > > > + if (src_is_directory && !tgt_is_directory) { > > > + error = xfs_droplink(tp, src_dp); > > > + if (error) > > > + goto abort_return; > > [whitespace is screwed up] > > > > + error = xfs_bumplink(tp, target_dp); > > > + if (error) > > > + goto abort_return; > > > + } > > > + > > > + if (tgt_is_directory && !src_is_directory) { > > > + error = xfs_droplink(tp, target_dp); > > > + if (error) > > > + goto abort_return; > > > + error = xfs_bumplink(tp, src_dp); > > > + if (error) > > > + goto abort_return; > > > + } > > > + > > > + /* > > > + * We don't need to log the source dir if > > > + * this is the same as the target. > > > + */ > > > + xfs_trans_log_inode(tp, src_dp, XFS_ILOG_CORE); > > > + } > > You do a bunch more work based on the same variables. THis should > reall ybe combined into a single set of logic to manipulate the > directory states. > > if (new_parent) { > if (tgt_is_directory) { > error = xfs_dir_replace(tp, target_ip, &xfs_name_dotdot, > src_dp->i_ino, &first_block, &free_list, spaceres); > if (error) > goto out_abort; > if (!src_is_directory) { > error = xfs_droplink(tp, target_dp); > if (error) > goto out_abort; > error = xfs_bumplink(tp, src_dp); > if (error) > goto out_abort; > } > } > > if (src_is_directory) { > error = xfs_dir_replace(tp, src_ip, &xfs_name_dotdot, > target_dp->i_ino, &first_block, &free_list, spaceres); > if (error) > goto out_abort; > ..... > > > > > > > + /* > > > + * If this is a synchronous mount, make sure the rename transaction goes > > > + * to disk before returning to the user. > > > + */ > > > + if (mp->m_flags & (XFS_MOUNT_WSYNC|XFS_MOUNT_DIRSYNC)) > > > + xfs_trans_set_sync(tp); > > > + > > > + error = xfs_bmap_finish(&tp, &free_list, &committed); > > > + if (error) { > > > + xfs_bmap_cancel(&free_list); > > > + xfs_trans_cancel(tp, (XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT)); > > > + goto std_return; > > > + } > > > + return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); > > error = xfs_bmap_finish(&tp, &free_list, &committed); > if (!error) > return xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES); > > > > +abort_return: > > > + cancel_flags |= XFS_TRANS_ABORT; > > > +error_return: > > > + xfs_bmap_cancel(&free_list); > > > + xfs_trans_cancel(tp, cancel_flags); > > > +std_return: > > > + return error; > > out_abort: > cancel_flags |= XFS_TRANS_ABORT; > out_bmap_cancel: > xfs_bmap_cancel(&free_list); > out_trans_cancel: > xfs_trans_cancel(tp, cancel_flags); > return error; > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos From jack@suse.cz Tue Oct 21 09:31: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 87F807F4E for ; Tue, 21 Oct 2014 09:31:49 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 67A68304051 for ; Tue, 21 Oct 2014 07:31:46 -0700 (PDT) X-ASG-Debug-ID: 1413901902-04cb6c2efb1112f0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 2glU5nAjrXJlGkc2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:31:43 -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 A3553AC0F; Tue, 21 Oct 2014 14:31:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 47F2D81C69; Tue, 21 Oct 2014 16:31:41 +0200 (CEST) From: Jan Kara To: xfs@oss.sgi.com Cc: Dave Chinner , Jan Kara Subject: [PATCH] xfs: Check error during inode btree iteration in xfs_bulkstat() Date: Tue, 21 Oct 2014 16:31:32 +0200 X-ASG-Orig-Subj: [PATCH] xfs: Check error during inode btree iteration in xfs_bulkstat() Message-Id: <1413901892-17117-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: 1413901902 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In case of specific fs corruption that could result in xfs_bulkstat() entering an infinite loop because we would be looping over the same chunk over and over again. Fix the problem by checking the return value and terminating the loop properly. Coverity-id: 1231338 Signed-off-by: Jan Kara --- fs/xfs/xfs_itable.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index f1deb961a296..66d5c619517d 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -474,6 +474,10 @@ xfs_bulkstat( */ agino = r.ir_startino + XFS_INODES_PER_CHUNK; error = xfs_btree_increment(cur, 0, &tmp); + if (error) { + end_of_ag = 1; + break; + } cond_resched(); } /* -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 92F817F4E for ; Tue, 21 Oct 2014 09:38:53 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7F43A304053 for ; Tue, 21 Oct 2014 07:38:53 -0700 (PDT) X-ASG-Debug-ID: 1413902331-04cb6c2efb112400001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id z7aq914UXmiFrgRR (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:52 -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 38937ACA1; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 79FDB81C78; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 0/12 v3] Moving i_dquot out of struct inode Date: Tue, 21 Oct 2014 16:38:24 +0200 X-ASG-Orig-Subj: [PATCH 0/12 v3] Moving i_dquot out of struct inode Message-Id: <1413902316-17997-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: 1413902332 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hello, this patch set moves i_dquot array from struct inode into filesystem private part of the inode. Thus filesystems which don't need it save 2 pointers in their inodes (would be 3 after we add project quota support into generic quota). The patch series also contains a change to quotactl so that each filesystem can set quota types it supports. This is in the end unrelated change (originally it was necessary for i_dquot moving but in the end I changed things so that it's not anymore). I can move that into a separate series but I was somewhat reluctant to do that since that would mean another 6 one-line patches to the same files we are changing here... If people like the patches, I will queue this series into my tree for the next merge window. For that I'd prefer to get acks from affected fs maintainers (the changes are pretty trivial and I don't feel it's a must but still I'd prefer fs maintainers to ack they are aware of the changes). Honza Changes since v1: * Inode field names are now named enum * Quota type masks now have names like QTYPE_MASK_{USR|GRP|PRJ} instead of opencoding shifts. Changes since v2: * Use ->get_dquots callback instead of inode fields framework * rebased on Linus' tree as of 3.18-rc1 + something. From jack@suse.cz Tue Oct 21 09:38: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 02D4F7F4E for ; Tue, 21 Oct 2014 09:38:55 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id AFB558F8052 for ; Tue, 21 Oct 2014 07:38:54 -0700 (PDT) X-ASG-Debug-ID: 1413902331-04bdf038d0124500001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id CY7t1T6CapvHAixE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:52 -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 3AB6BACC4; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8FB4281C69; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports Date: Tue, 21 Oct 2014 16:38:26 +0200 X-ASG-Orig-Subj: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports Message-Id: <1413902316-17997-3-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902332 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Currently all filesystems supporting VFS quota support user and group quotas. With introduction of project quotas this is going to change so make sure filesystem isn't called for quota type it doesn't support by introduction of a bitmask determining which quota types each filesystem supports. Signed-off-by: Jan Kara --- fs/quota/quota.c | 13 +++++++++++-- fs/super.c | 7 +++++++ include/linux/quota.h | 6 ++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/fs/quota/quota.c b/fs/quota/quota.c index 75621649dbd7..0f28eac6e638 100644 --- a/fs/quota/quota.c +++ b/fs/quota/quota.c @@ -47,8 +47,11 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd, static void quota_sync_one(struct super_block *sb, void *arg) { - if (sb->s_qcop && sb->s_qcop->quota_sync) - sb->s_qcop->quota_sync(sb, *(int *)arg); + int type = *(int *)arg; + + if (sb->s_qcop && sb->s_qcop->quota_sync && + (sb->s_dquot.allowed_types & (1 << type))) + sb->s_qcop->quota_sync(sb, type); } static int quota_sync_all(int type) @@ -297,8 +300,14 @@ static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, if (type >= (XQM_COMMAND(cmd) ? XQM_MAXQUOTAS : MAXQUOTAS)) return -EINVAL; + /* + * Quota not supported on this fs? Check this before allowed_types + * since they needn't be set if quota is not supported. + */ if (!sb->s_qcop) return -ENOSYS; + if (!(sb->s_dquot.allowed_types & (1 << type))) + return -EINVAL; ret = check_quotactl_permission(sb, type, cmd, id); if (ret < 0) diff --git a/fs/super.c b/fs/super.c index eae088f6aaae..5e70cc327dae 100644 --- a/fs/super.c +++ b/fs/super.c @@ -218,6 +218,13 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); + /* + * For now MAXQUOTAS check in do_quotactl() will limit quota type + * appropriately. When each fs sets allowed_types, we can remove the + * line below + */ + s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | + QTYPE_MASK_PRJ; mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; diff --git a/include/linux/quota.h b/include/linux/quota.h index 80d345a3524c..e0cfcce0d986 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -56,6 +56,11 @@ enum quota_type { PRJQUOTA = 2, /* element used for project quotas */ }; +/* Masks for quota types when used as a bitmask */ +#define QTYPE_MASK_USR (1 << USRQUOTA) +#define QTYPE_MASK_GRP (1 << GRPQUOTA) +#define QTYPE_MASK_PRJ (1 << PRJQUOTA) + typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */ typedef long long qsize_t; /* Type in which we store sizes */ @@ -388,6 +393,7 @@ static inline void quota_send_warning(struct kqid qid, dev_t dev, struct quota_info { unsigned int flags; /* Flags for diskquotas on this device */ + unsigned int allowed_types; /* Bitmask of quota types this fs supports */ struct mutex dqio_mutex; /* lock device while I/O in progress */ struct mutex dqonoff_mutex; /* Serialize quotaon & quotaoff */ struct inode *files[MAXQUOTAS]; /* inodes of quotafiles */ -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 9A1F77F4E for ; Tue, 21 Oct 2014 09:38:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7EF9E8F8052 for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cb6c2efa112420001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id bnMksko5Y9ACF9uG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38: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 8C0BBAD2B; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DEDB281FCC; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara , Dave Kleikamp Subject: [PATCH 11/12] jfs: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:35 +0200 X-ASG-Orig-Subj: [PATCH 11/12] jfs: Convert to private i_dquot field Message-Id: <1413902316-17997-12-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Dave Kleikamp CC: jfs-discussion@lists.sourceforge.net Signed-off-by: Jan Kara --- fs/jfs/jfs_incore.h | 3 +++ fs/jfs/super.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index cf47f09e8ac8..fa7e795bd8ae 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h @@ -94,6 +94,9 @@ struct jfs_inode_info { unchar _inline_ea[128]; /* 128: inline extended attr */ } link; } u; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif u32 dev; /* will die when we get wide dev_t */ struct inode vfs_inode; }; diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 93e897e588a8..2a34332e889f 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -117,6 +117,9 @@ static struct inode *jfs_alloc_inode(struct super_block *sb) jfs_inode = kmem_cache_alloc(jfs_inode_cachep, GFP_NOFS); if (!jfs_inode) return NULL; +#ifdef CONFIG_QUOTA + memset(&jfs_inode->i_dquot, 0, sizeof(jfs_inode->i_dquot)); +#endif return &jfs_inode->vfs_inode; } @@ -537,6 +540,7 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif /* @@ -836,6 +840,10 @@ out: return len - towrite; } +static struct dquot **jfs_get_dquots(struct inode *inode) +{ + return JFS_IP(inode)->i_dquot; +} #endif static const struct super_operations jfs_super_operations = { @@ -854,6 +862,7 @@ static const struct super_operations jfs_super_operations = { #ifdef CONFIG_QUOTA .quota_read = jfs_quota_read, .quota_write = jfs_quota_write, + .get_dquots = jfs_get_dquots, #endif }; -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 0E47F7F61 for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B8E6B30405F for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04bdf038cf124520001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id OBDdibMnZwTNgzwG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38: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 869BEACFC; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id AD2E681FC2; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 07/12] ext3: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:31 +0200 X-ASG-Orig-Subj: [PATCH 07/12] ext3: Convert to private i_dquot field Message-Id: <1413902316-17997-8-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext3/ext3.h | 4 ++++ fs/ext3/super.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/fs/ext3/ext3.h b/fs/ext3/ext3.h index fc3cdcf24aed..f483a80b3fe7 100644 --- a/fs/ext3/ext3.h +++ b/fs/ext3/ext3.h @@ -615,6 +615,10 @@ struct ext3_inode_info { atomic_t i_sync_tid; atomic_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 7015db0bafd1..cfb338cc0263 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -485,6 +485,10 @@ static struct inode *ext3_alloc_inode(struct super_block *sb) ei->vfs_inode.i_version = 1; atomic_set(&ei->i_datasync_tid, 0); atomic_set(&ei->i_sync_tid, 0); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -764,6 +768,10 @@ static ssize_t ext3_quota_read(struct super_block *sb, int type, char *data, size_t len, loff_t off); static ssize_t ext3_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); +static struct dquot **ext3_get_dquots(struct inode *inode) +{ + return EXT3_I(inode)->i_dquot; +} static const struct dquot_operations ext3_quota_operations = { .write_dquot = ext3_write_dquot, @@ -803,6 +811,7 @@ static const struct super_operations ext3_sops = { #ifdef CONFIG_QUOTA .quota_read = ext3_quota_read, .quota_write = ext3_quota_write, + .get_dquots = ext3_get_dquots, #endif .bdev_try_to_free_page = bdev_try_to_free_page, }; @@ -2008,6 +2017,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->s_qcop = &ext3_qctl_operations; sb->dq_op = &ext3_quota_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 EFBEF7F60 for ; Tue, 21 Oct 2014 09:38:55 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7D8E3AC003 for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cbb070c810f170001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id CjzqyTFJYObJaxMd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:54 -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 8C4D7AD35; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id CF5DF81FC4; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 09/12] ocfs2: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:33 +0200 X-ASG-Orig-Subj: [PATCH 09/12] ocfs2: Convert to private i_dquot field Message-Id: <1413902316-17997-10-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902333 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: Mark Fasheh CC: Joel Becker CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara --- fs/ocfs2/inode.h | 4 ++++ fs/ocfs2/super.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index a9b76de46047..1bb2e27eaad7 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h @@ -80,6 +80,10 @@ struct ocfs2_inode_info */ tid_t i_sync_tid; tid_t i_datasync_tid; + +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 93c85bc745e1..9a97986d54f5 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend); static int ocfs2_enable_quotas(struct ocfs2_super *osb); static void ocfs2_disable_quotas(struct ocfs2_super *osb); +static struct dquot **ocfs2_get_dquots(struct inode *inode) +{ + return OCFS2_I(inode)->i_dquot; +} + static const struct super_operations ocfs2_sops = { .statfs = ocfs2_statfs, .alloc_inode = ocfs2_alloc_inode, @@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = { .show_options = ocfs2_show_options, .quota_read = ocfs2_quota_read, .quota_write = ocfs2_quota_write, + .get_dquots = ocfs2_get_dquots, }; enum { @@ -563,6 +569,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) oi->i_sync_tid = 0; oi->i_datasync_tid = 0; +#ifdef CONFIG_QUOTA + memset(&oi->i_dquot, 0, sizeof(oi->i_dquot)); +#endif jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); return &oi->vfs_inode; @@ -2073,6 +2082,7 @@ static int ocfs2_initialize_super(struct super_block *sb, sb->s_export_op = &ocfs2_export_ops; sb->s_qcop = &ocfs2_quotactl_ops; sb->dq_op = &ocfs2_quota_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; sb->s_xattr = ocfs2_xattr_handlers; sb->s_time_gran = 1; sb->s_flags |= MS_NOATIME; -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 41A657F61 for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 039E88F804B for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04bdf038d0124520001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id gzeaG2yGszsNO7q3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:54 -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 8E1ECAD54; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id DAE8481FC7; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 12/12] vfs: Remove i_dquot field from inode Date: Tue, 21 Oct 2014 16:38:36 +0200 X-ASG-Orig-Subj: [PATCH 12/12] vfs: Remove i_dquot field from inode Message-Id: <1413902316-17997-13-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header All filesystems using VFS quotas are now converted to use their private i_dquot fields. Remove the i_dquot field from generic inode structure. Signed-off-by: Jan Kara --- fs/inode.c | 3 --- fs/quota/dquot.c | 3 --- fs/super.c | 7 ------- include/linux/fs.h | 3 --- 4 files changed, 16 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index 26753ba7b6d6..2ed95f7caa4f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -143,9 +143,6 @@ int inode_init_always(struct super_block *sb, struct inode *inode) inode->i_blocks = 0; inode->i_bytes = 0; inode->i_generation = 0; -#ifdef CONFIG_QUOTA - memset(&inode->i_dquot, 0, sizeof(inode->i_dquot)); -#endif inode->i_pipe = NULL; inode->i_bdev = NULL; inode->i_cdev = NULL; diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 8144ff2b561d..5bc5f254ac1f 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -895,9 +895,6 @@ EXPORT_SYMBOL(dqget); static inline struct dquot **i_dquot(struct inode *inode) { - /* Temporary workaround until all filesystems are converted. */ - if (!inode->i_sb->s_op->get_dquots) - return inode->i_dquot; return inode->i_sb->s_op->get_dquots(inode); } diff --git a/fs/super.c b/fs/super.c index 5e70cc327dae..eae088f6aaae 100644 --- a/fs/super.c +++ b/fs/super.c @@ -218,13 +218,6 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags) atomic_set(&s->s_active, 1); mutex_init(&s->s_vfs_rename_mutex); lockdep_set_class(&s->s_vfs_rename_mutex, &type->s_vfs_rename_key); - /* - * For now MAXQUOTAS check in do_quotactl() will limit quota type - * appropriately. When each fs sets allowed_types, we can remove the - * line below - */ - s->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | - QTYPE_MASK_PRJ; mutex_init(&s->s_dquot.dqio_mutex); mutex_init(&s->s_dquot.dqonoff_mutex); s->s_maxbytes = MAX_NON_LFS; diff --git a/include/linux/fs.h b/include/linux/fs.h index b714e8e0415d..ab3513abf30f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -593,9 +593,6 @@ struct inode { const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ struct file_lock *i_flock; struct address_space i_data; -#ifdef CONFIG_QUOTA - struct dquot *i_dquot[MAXQUOTAS]; -#endif struct list_head i_devices; union { struct pipe_inode_info *i_pipe; -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 E40977F4E for ; Tue, 21 Oct 2014 09:38:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7387BAC001 for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cb6c2efa112410001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id PNCpuhIev5vk4zcp (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38: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 86407ACED; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id D5EEB81FC9; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 08/12] ext4: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:32 +0200 X-ASG-Orig-Subj: [PATCH 08/12] ext4: Convert to private i_dquot field Message-Id: <1413902316-17997-9-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902333 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org CC: "Theodore Ts'o" Signed-off-by: Jan Kara --- fs/ext4/ext4.h | 4 ++++ fs/ext4/super.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index c55a1faaed58..db3f772e57ae 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -941,6 +941,10 @@ struct ext4_inode_info { tid_t i_sync_tid; tid_t i_datasync_tid; +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + /* Precomputed uuid+inum+igen checksum for seeding inode checksums */ __u32 i_csum_seed; }; diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 1eda6ab0ef9d..7207799e5939 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -892,6 +892,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb) spin_lock_init(&(ei->i_block_reservation_lock)); #ifdef CONFIG_QUOTA ei->i_reserved_quota = 0; + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); #endif ei->jinode = NULL; INIT_LIST_HEAD(&ei->i_rsv_conversion_list); @@ -1068,6 +1069,11 @@ static int ext4_quota_enable(struct super_block *sb, int type, int format_id, unsigned int flags); static int ext4_enable_quotas(struct super_block *sb); +static struct dquot **ext4_get_dquots(struct inode *inode) +{ + return EXT4_I(inode)->i_dquot; +} + static const struct dquot_operations ext4_quota_operations = { .get_reserved_space = ext4_get_reserved_space, .write_dquot = ext4_write_dquot, @@ -1117,6 +1123,7 @@ static const struct super_operations ext4_sops = { #ifdef CONFIG_QUOTA .quota_read = ext4_quota_read, .quota_write = ext4_quota_write, + .get_dquots = ext4_get_dquots, #endif .bdev_try_to_free_page = bdev_try_to_free_page, }; @@ -3928,6 +3935,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) sb->s_qcop = &ext4_qctl_sysfile_operations; else sb->s_qcop = &ext4_qctl_operations; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 40BD17F59 for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B3FD6AC007 for ; Tue, 21 Oct 2014 07:38:55 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cbb070c610f170001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 3V86GqFA9UOXvboh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:54 -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 8FBE9AD5B; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E401F81FCB; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 10/12] reiserfs: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:34 +0200 X-ASG-Orig-Subj: [PATCH 10/12] reiserfs: Convert to private i_dquot field Message-Id: <1413902316-17997-11-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: reiserfs-devel@vger.kernel.org CC: Jeff Mahoney Signed-off-by: Jan Kara --- fs/reiserfs/reiserfs.h | 4 ++++ fs/reiserfs/super.c | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h index 1894d96ccb7c..bb79cddf0a1f 100644 --- a/fs/reiserfs/reiserfs.h +++ b/fs/reiserfs/reiserfs.h @@ -97,6 +97,10 @@ struct reiserfs_inode_info { #ifdef CONFIG_REISERFS_FS_XATTR struct rw_semaphore i_xattr_sem; #endif +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif + struct inode vfs_inode; }; diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index f1376c92cf74..f9bbac270cb5 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -594,6 +594,10 @@ static struct inode *reiserfs_alloc_inode(struct super_block *sb) return NULL; atomic_set(&ei->openers, 0); mutex_init(&ei->tailpack); +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -750,6 +754,11 @@ static ssize_t reiserfs_quota_write(struct super_block *, int, const char *, size_t, loff_t); static ssize_t reiserfs_quota_read(struct super_block *, int, char *, size_t, loff_t); + +static struct dquot **reiserfs_get_dquots(struct inode *inode) +{ + return REISERFS_I(inode)->i_dquot; +} #endif static const struct super_operations reiserfs_sops = { @@ -768,6 +777,7 @@ static const struct super_operations reiserfs_sops = { #ifdef CONFIG_QUOTA .quota_read = reiserfs_quota_read, .quota_write = reiserfs_quota_write, + .get_dquots = reiserfs_get_dquots, #endif }; @@ -1633,6 +1643,7 @@ static int read_super_block(struct super_block *s, int offset) #ifdef CONFIG_QUOTA s->s_qcop = &reiserfs_qctl_operations; s->dq_op = &reiserfs_quota_operations; + sb_dqopt(s)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif /* -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 909EC7F60 for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1F3A8AC009 for ; Tue, 21 Oct 2014 07:38:56 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cbb070c810f180001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id nUD87niCbZWWBXFL (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:54 -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 90493AD6F; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id B8C3A81FC6; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 06/12] ext2: Convert to private i_dquot field Date: Tue, 21 Oct 2014 16:38:30 +0200 X-ASG-Orig-Subj: [PATCH 06/12] ext2: Convert to private i_dquot field Message-Id: <1413902316-17997-7-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara --- fs/ext2/ext2.h | 3 +++ fs/ext2/super.c | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index d9a17d0b124d..e4279ead4a05 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h @@ -689,6 +689,9 @@ struct ext2_inode_info { struct mutex truncate_mutex; struct inode vfs_inode; struct list_head i_orphan; /* unlinked but open inodes */ +#ifdef CONFIG_QUOTA + struct dquot *i_dquot[MAXQUOTAS]; +#endif }; /* diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 170dc41e8bf4..ef2a6cce75d8 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -166,6 +166,10 @@ static struct inode *ext2_alloc_inode(struct super_block *sb) return NULL; ei->i_block_alloc_info = NULL; ei->vfs_inode.i_version = 1; +#ifdef CONFIG_QUOTA + memset(&ei->i_dquot, 0, sizeof(ei->i_dquot)); +#endif + return &ei->vfs_inode; } @@ -303,6 +307,10 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root) #ifdef CONFIG_QUOTA static ssize_t ext2_quota_read(struct super_block *sb, int type, char *data, size_t len, loff_t off); static ssize_t ext2_quota_write(struct super_block *sb, int type, const char *data, size_t len, loff_t off); +static struct dquot **ext2_get_dquots(struct inode *inode) +{ + return EXT2_I(inode)->i_dquot; +} #endif static const struct super_operations ext2_sops = { @@ -320,6 +328,7 @@ static const struct super_operations ext2_sops = { #ifdef CONFIG_QUOTA .quota_read = ext2_quota_read, .quota_write = ext2_quota_write, + .get_dquots = ext2_get_dquots, #endif }; @@ -1090,6 +1099,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_QUOTA sb->dq_op = &dquot_operations; sb->s_qcop = &dquot_quotactl_ops; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; #endif root = ext2_iget(sb, EXT2_ROOT_INO); -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 CD5947F61 for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id AD6AD8F8052 for ; Tue, 21 Oct 2014 07:38:53 -0700 (PDT) X-ASG-Debug-ID: 1413902331-04cb6c2ef91123f0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id u70mZtPhYL2vurum (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:52 -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 389DDACA7; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id A664181FC0; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 04/12] xfs: Set allowed quota types Date: Tue, 21 Oct 2014 16:38:28 +0200 X-ASG-Orig-Subj: [PATCH 04/12] xfs: Set allowed quota types Message-Id: <1413902316-17997-5-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902332 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user, group, and project quotas. Tell VFS about it. CC: xfs@oss.sgi.com CC: Dave Chinner Signed-off-by: Jan Kara --- fs/xfs/xfs_super.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 9f622feda6a4..b38e90997dd1 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1425,6 +1425,8 @@ xfs_fs_fill_super( sb->s_export_op = &xfs_export_operations; #ifdef CONFIG_XFS_QUOTA sb->s_qcop = &xfs_quotactl_operations; + sb->s_dquot.allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | + QTYPE_MASK_PRJ; #endif sb->s_op = &xfs_super_operations; -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 E9ED37F4E for ; Tue, 21 Oct 2014 09:38:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 69A35AC001 for ; Tue, 21 Oct 2014 07:38:56 -0700 (PDT) X-ASG-Debug-ID: 1413902333-04cbb070c510f170001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 8kvatbZ3LIiQsYer (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38: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 92694AD79; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C525A81FC5; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 05/12] quota: Use function to provide i_dquot pointers Date: Tue, 21 Oct 2014 16:38:29 +0200 X-ASG-Orig-Subj: [PATCH 05/12] quota: Use function to provide i_dquot pointers Message-Id: <1413902316-17997-6-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902334 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header i_dquot array is used by relatively few filesystems (ext?, ocfs2, jfs, reiserfs) so it is beneficial to move this array to fs-private part of the inode. We cannot just pass quota pointers from filesystems to quota functions because during quotaon and quotaoff we have to traverse list of all inodes and manipulate i_dquot pointers for each inode. So we provide a function which generic quota code can use to get pointer to the i_dquot array from the filesystem. Signed-off-by: Jan Kara --- fs/quota/dquot.c | 54 +++++++++++++++++++++++++++++++----------------------- include/linux/fs.h | 1 + 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 8a6b95e9bf3d..8144ff2b561d 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -893,6 +893,14 @@ out: } EXPORT_SYMBOL(dqget); +static inline struct dquot **i_dquot(struct inode *inode) +{ + /* Temporary workaround until all filesystems are converted. */ + if (!inode->i_sb->s_op->get_dquots) + return inode->i_dquot; + return inode->i_sb->s_op->get_dquots(inode); +} + static int dqinit_needed(struct inode *inode, int type) { int cnt; @@ -900,9 +908,9 @@ static int dqinit_needed(struct inode *inode, int type) if (IS_NOQUOTA(inode)) return 0; if (type != -1) - return !inode->i_dquot[type]; + return !i_dquot(inode)[type]; for (cnt = 0; cnt < MAXQUOTAS; cnt++) - if (!inode->i_dquot[cnt]) + if (!i_dquot(inode)[cnt]) return 1; return 0; } @@ -965,9 +973,9 @@ static void add_dquot_ref(struct super_block *sb, int type) static void remove_inode_dquot_ref(struct inode *inode, int type, struct list_head *tofree_head) { - struct dquot *dquot = inode->i_dquot[type]; + struct dquot *dquot = i_dquot(inode)[type]; - inode->i_dquot[type] = NULL; + i_dquot(inode)[type] = NULL; if (!dquot) return; @@ -1402,7 +1410,7 @@ static void __dquot_initialize(struct inode *inode, int type) * we check it without locking here to avoid unnecessary * dqget()/dqput() calls. */ - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) continue; init_needed = 1; @@ -1433,8 +1441,8 @@ static void __dquot_initialize(struct inode *inode, int type) /* We could race with quotaon or dqget() could have failed */ if (!got[cnt]) continue; - if (!inode->i_dquot[cnt]) { - inode->i_dquot[cnt] = got[cnt]; + if (!i_dquot(inode)[cnt]) { + i_dquot(inode)[cnt] = got[cnt]; got[cnt] = NULL; /* * Make quota reservation system happy if someone @@ -1442,7 +1450,7 @@ static void __dquot_initialize(struct inode *inode, int type) */ rsv = inode_get_rsv_space(inode); if (unlikely(rsv)) - dquot_resv_space(inode->i_dquot[cnt], rsv); + dquot_resv_space(i_dquot(inode)[cnt], rsv); } } out_err: @@ -1472,8 +1480,8 @@ static void __dquot_drop(struct inode *inode) spin_lock(&dq_data_lock); for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - put[cnt] = inode->i_dquot[cnt]; - inode->i_dquot[cnt] = NULL; + put[cnt] = i_dquot(inode)[cnt]; + i_dquot(inode)[cnt] = NULL; } spin_unlock(&dq_data_lock); dqput_all(put); @@ -1494,7 +1502,7 @@ void dquot_drop(struct inode *inode) * add quota pointers back anyway. */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) + if (i_dquot(inode)[cnt]) break; } @@ -1595,7 +1603,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE; if (!dquot_active(inode)) { @@ -1647,7 +1655,7 @@ int dquot_alloc_inode(struct inode *inode) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); if (!dquot_active(inode)) return 0; @@ -1696,14 +1704,14 @@ int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_claim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_claim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_claim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return 0; } @@ -1725,14 +1733,14 @@ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number) spin_lock(&dq_data_lock); /* Claim reserved quotas to allocated quotas */ for (cnt = 0; cnt < MAXQUOTAS; cnt++) { - if (inode->i_dquot[cnt]) - dquot_reclaim_reserved_space(inode->i_dquot[cnt], + if (i_dquot(inode)[cnt]) + dquot_reclaim_reserved_space(i_dquot(inode)[cnt], number); } /* Update inode bytes */ inode_reclaim_rsv_space(inode, number); spin_unlock(&dq_data_lock); - mark_all_dquot_dirty(inode->i_dquot); + mark_all_dquot_dirty(i_dquot(inode)); srcu_read_unlock(&dquot_srcu, index); return; } @@ -1745,7 +1753,7 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots = inode->i_dquot; + struct dquot **dquots = i_dquot(inode); int reserve = flags & DQUOT_SPACE_RESERVE, index; if (!dquot_active(inode)) { @@ -1788,7 +1796,7 @@ void dquot_free_inode(struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots = inode->i_dquot; + struct dquot * const *dquots = i_dquot(inode); int index; if (!dquot_active(inode)) @@ -1865,7 +1873,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) if (!sb_has_quota_active(inode->i_sb, cnt)) continue; is_valid[cnt] = 1; - transfer_from[cnt] = inode->i_dquot[cnt]; + transfer_from[cnt] = i_dquot(inode)[cnt]; ret = check_idq(transfer_to[cnt], 1, &warn_to[cnt]); if (ret) goto over_quota; @@ -1901,7 +1909,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) dquot_incr_space(transfer_to[cnt], cur_space); dquot_resv_space(transfer_to[cnt], rsv_space); - inode->i_dquot[cnt] = transfer_to[cnt]; + i_dquot(inode)[cnt] = transfer_to[cnt]; } spin_unlock(&dq_data_lock); diff --git a/include/linux/fs.h b/include/linux/fs.h index a957d4366c24..b714e8e0415d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1565,6 +1565,7 @@ struct super_operations { #ifdef CONFIG_QUOTA ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); + struct dquot **(*get_dquots)(struct inode *); #endif int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); long (*nr_cached_objects)(struct super_block *, int); -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 E5D8B7F6F for ; Tue, 21 Oct 2014 09:38:57 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 65E9EAC006 for ; Tue, 21 Oct 2014 07:38:54 -0700 (PDT) X-ASG-Debug-ID: 1413902332-04cb6c2ef9112400001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 0lDRtUE6e4MqefF6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:52 -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 3C79EACE5; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 8353581C68; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 01/12] quota: Remove const from function declarations Date: Tue, 21 Oct 2014 16:38:25 +0200 X-ASG-Orig-Subj: [PATCH 01/12] quota: Remove const from function declarations Message-Id: <1413902316-17997-2-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902332 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We don't use const through VFS too much so just remove it from quota function declarations. Signed-off-by: Jan Kara --- fs/quota/dquot.c | 4 ++-- include/linux/quotaops.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 8b663b2d9562..8a6b95e9bf3d 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -1643,7 +1643,7 @@ EXPORT_SYMBOL(__dquot_alloc_space); /* * This operation can block, but only after everything is updated */ -int dquot_alloc_inode(const struct inode *inode) +int dquot_alloc_inode(struct inode *inode) { int cnt, ret = 0, index; struct dquot_warn warn[MAXQUOTAS]; @@ -1784,7 +1784,7 @@ EXPORT_SYMBOL(__dquot_free_space); /* * This operation can block, but only after everything is updated */ -void dquot_free_inode(const struct inode *inode) +void dquot_free_inode(struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 1d3eee594cd6..f23538a6e411 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h @@ -64,10 +64,10 @@ void dquot_destroy(struct dquot *dquot); int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags); void __dquot_free_space(struct inode *inode, qsize_t number, int flags); -int dquot_alloc_inode(const struct inode *inode); +int dquot_alloc_inode(struct inode *inode); int dquot_claim_space_nodirty(struct inode *inode, qsize_t number); -void dquot_free_inode(const struct inode *inode); +void dquot_free_inode(struct inode *inode); void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number); int dquot_disable(struct super_block *sb, int type, unsigned int flags); @@ -213,12 +213,12 @@ static inline void dquot_drop(struct inode *inode) { } -static inline int dquot_alloc_inode(const struct inode *inode) +static inline int dquot_alloc_inode(struct inode *inode) { return 0; } -static inline void dquot_free_inode(const struct inode *inode) +static inline void dquot_free_inode(struct inode *inode) { } -- 1.8.1.4 From jack@suse.cz Tue Oct 21 09:38: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 B80FE7F6B for ; Tue, 21 Oct 2014 09:38:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 40ECFAC001 for ; Tue, 21 Oct 2014 07:38:54 -0700 (PDT) X-ASG-Debug-ID: 1413902331-04cbb070c810f160001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id Vjt3Ecs1iaLqmif6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 21 Oct 2014 07:38:52 -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 3882FAC13; Tue, 21 Oct 2014 14:38:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 9B9C581FBC; Tue, 21 Oct 2014 16:38:50 +0200 (CEST) From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de, Jan Kara Subject: [PATCH 03/12] gfs2: Set allowed quota types Date: Tue, 21 Oct 2014 16:38:27 +0200 X-ASG-Orig-Subj: [PATCH 03/12] gfs2: Set allowed quota types Message-Id: <1413902316-17997-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1413902316-17997-1-git-send-email-jack@suse.cz> References: <1413902316-17997-1-git-send-email-jack@suse.cz> X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413902332 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.10797 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header We support user and group quotas. Tell vfs about it. Acked-by: Steven Whitehouse CC: cluster-devel@redhat.com Signed-off-by: Jan Kara --- fs/gfs2/ops_fstype.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index d3eae244076e..23854d24eb50 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -1083,6 +1083,7 @@ static int fill_super(struct super_block *sb, struct gfs2_args *args, int silent sb->s_xattr = gfs2_xattr_handlers; sb->s_qcop = &gfs2_quotactl_ops; sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE; + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; sb->s_time_gran = 1; sb->s_maxbytes = MAX_LFS_FILESIZE; -- 1.8.1.4 From tft102@netsite.com.br Tue Oct 21 11:52: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id ABF1C7F6A for ; Tue, 21 Oct 2014 11:52:26 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 362B6AC00F for ; Tue, 21 Oct 2014 09:52:26 -0700 (PDT) X-ASG-Debug-ID: 1413910340-04cbb070c611ec70001-NocioJ Received: from smtp1.netsite.com.br (smtpseguro5.netsite.com.br [200.233.202.24]) by cuda.sgi.com with ESMTP id uOE1qPyeg9g4SZWx; Tue, 21 Oct 2014 09:52:21 -0700 (PDT) X-Barracuda-Envelope-From: tft102@netsite.com.br X-Barracuda-Apparent-Source-IP: 200.233.202.24 Received: from webmail.netsite.com.br (200-233-202-004.static.netsite.com.br [200.233.202.4]) by smtp1.netsite.com.br (Postfix) with SMTP id 74EC020423; Tue, 21 Oct 2014 14:52:13 -0200 (BRST) MIME-Version: 1.0 X-Mailer: WebMail Net Site 2.0 ( http://webmail.netsite.com.br/ ) Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message-ID: To: undisclosed-recipients:; Date: Tue, 21 Oct 2014 14:52:13 -0200 From: "Kakha Sikharulidze" Subject: Investment Portfolio! Reply-To: kakhasikha2014@outlook.com X-ASG-Orig-Subj: Investment Portfolio! X-Barracuda-Connect: smtpseguro5.netsite.com.br[200.233.202.24] X-Barracuda-Start-Time: 1413910340 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.55 X-Barracuda-Spam-Status: No, SCORE=1.55 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=ADVANCE_FEE_1, BSF_SC0_SA620a, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10802 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 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag 0.00 ADVANCE_FEE_1 Appears to be advance fee fraud (Nigerian 419) 0.50 BSF_SC0_SA620a Custom Rule SA620a Let me use the liberty of this medium to inform you that my princi= pal is interested in investing his bond as a silent business partner in your company. He would like to invest in private sector projects with an established company in any project(s) which are already in the market and have market value or new company requiring the injection of huge funds, provided there are lots of opportunities available, taking into proper consideration the Return on Investment (ROI) based on a ten (10) year strategic plan.

Kindly indicate your interest in my client's proposition by furnishing me w= ith your Bio data, business/personal contact details and any other information/detail that may help in the actualization of the impending investment portfolio.

Kakha Sikharulidze From pg_mh@mh.to.sabi.co.uk Tue Oct 21 14:42: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 5DED07F50 for ; Tue, 21 Oct 2014 14:42:45 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4C52D304051 for ; Tue, 21 Oct 2014 12:42:41 -0700 (PDT) X-ASG-Debug-ID: 1413920556-04cb6c2efb133a70001-ps1ADW Received: from woodbine.london.02.net (woodbine.london.02.net [87.194.255.145]) by cuda.sgi.com with ESMTP id JqiHO9JBrdKg3HLB for ; Tue, 21 Oct 2014 12:42:36 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.145 Received: from ty.sabi.co.UK (94.192.123.208) by woodbine.london.02.net (8.5.140) id 53BD9B4503B2AE6B for xfs@OSS.SGI.com; Tue, 21 Oct 2014 21:13:17 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1Xge9Y-0004bk-Si for ; Tue, 21 Oct 2014 19:27:28 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <21574.42382.795064.152229@tree.ty.sabi.co.uk> Date: Tue, 21 Oct 2014 19:27:26 +0100 Precedence: air-mail To: Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time Newsgroups: gmane.comp.file-systems.xfs.general X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <5444C122.4080104@fastmail.fm> References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: woodbine.london.02.net[87.194.255.145] X-Barracuda-Start-Time: 1413920556 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.10807 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- >> [ ... ] supposed to hold the object storage layer of a BeeFS >> highly parallel filesystem, and therefore will likely have >> mostly-random accesses. > Where do you get the assumption from that FhGFS/BeeGFS is > going to do random reads/writes or the application of top of > it is going to do that? In this specific case it is not an assumption, thanks to the prominent fact that the original poster was testing (locally I guess) and complaining about concurrent read/writes, which result in random like arm movement even if each of the read and write streams are entirely sequential. I even pointed this out, probably not explicitly enough: >> when doing only reading / only writing , the speed is very >> fast(~1.5G), but when do both the speed is very slow >> (100M), and high r_await(160) and w_await(200000). BTW the 100MB/s aggregate over 31 drives means around 3MB/s per drive, which seems pretty good for a RW workload with mostly-random accesses with high RMW correlation. Also if this testing was appropriate then it was because the intended workload was indeed concurrent reads and writes to the object store. It is not a mere assumption in the general case either; it is both commonly observed and a simple deduction, because of the nature of distributed filesystems and in particular parallel HPC ones like Lustre or BeeGFS, but also AFS and even NFS ones. * Clients have caches. Therefore most of the locality in the (read) access patterns will hopefully be filtered out by the client cache. This applies (ideally) to any distributed filesystem. * HPC/parallel servers tend to whave many clients (e.g. for an it could be 10,000 clients and 500 object storage servers) and hopefully each client works on a different subset of the data tree, and distribution of data objects onto servers hopefully random. Therefore it is likely that many clients will access with concurrent read and write many different files on the same server resulting in many random "hotspots" in each server's load. Note that each client could be doing entirely sequential IO to each file they access, but the concurrent accesses do possibly widely scattered files will turn that into random IO at the server level. Just about the only case where sequential client workloads don't become random workloads at the server is when the client workload is such that only one file is "hot" per server. There is an additional issue favouring random access patterns: * Typically large fileservers are setup with a lot of storage because of anticipated lifetime usage, so they start mostly empty. * Most filesystems then allocate new data in regular patterns, often starting from the beginning of available storage, in an attempt to minimize arm travel time usually (XFS uses various heuristics, which are somewhat different whether the option 'inode64' is specified or not). * Unfortunately as the filetree becomes larger new allocations have to be made farther away, resulting in longer travel times and more apparent randomness at the storage server level. * Eventually if the object server reaches a steady state where roughly as much data is deleted and created the free storage areas will become widely scattered, leading to essentially random allocation, the more random the more capacity used. Leaving a significant percentage of capacity free, like at least 10% and more like 20%, greatly increases the chance of finding free space near to put new data near to existing "related" data. This increases locality, but only at the single-stream level; therefore is usually does not help that much widely shared distributed servers; and in particular does not apply that much to object stores, because usually they obscure which data object is related to which data object. The above issues are pretty much "network and distributed filesystems for beginners" notes, but in significant part also apply to widely shared non network and non distributed servers on which XFS is often used, so they may be usefully mentioned in this list. From tom_mason@me.com Tue Oct 21 15:45: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=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 B60397F50 for ; Tue, 21 Oct 2014 15:45:23 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9615B8F8033 for ; Tue, 21 Oct 2014 13:45:20 -0700 (PDT) X-ASG-Debug-ID: 1413924318-04cb6c2ef91360c0001-NocioJ Received: from st11p01mm-asmtp002.mac.com (st11p01mm-asmtp002.mac.com [17.172.204.237]) by cuda.sgi.com with ESMTP id 5YYbDEqAmIf2u1nV (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Tue, 21 Oct 2014 13:45:19 -0700 (PDT) X-Barracuda-Envelope-From: tom_mason@me.com X-Barracuda-Apparent-Source-IP: 17.172.204.237 X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] Received: from [192.168.1.75] (host86-147-72-48.range86-147.btcentralplus.com [86.147.72.48]) by st11p01mm-asmtp002.mac.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NDT00I1IAYONS20@st11p01mm-asmtp002.mac.com> for xfs@oss.sgi.com; Tue, 21 Oct 2014 20:44:51 +0000 (GMT) X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Barracuda-IPDD: Level2 [me.com/17.172.204.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.12.52,1.0.28,0.0.0000 definitions=2014-10-21_08:2014-10-21,2014-10-21,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1410210199 References: <4ddef393-ad9e-49a1-80d7-9c29bcd74c8f@me.com> <20141013220940.GE17506@dastard> <20141014125506.4bbeaefd@harpe.intellique.com> <7630F174-D8AF-412D-8BBA-C3B1F7E05B9F@me.com> <20141014183804.2baa8dd5@harpe.intellique.com> MIME-version: 1.0 (1.0) In-reply-to: <20141014183804.2baa8dd5@harpe.intellique.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: quoted-printable Message-id: <2D4D8948-5EAE-4C51-983E-5598A148F0B1@me.com> Cc: Dave Chinner , Brian Foster , "xfs@oss.sgi.com" X-Mailer: iPhone Mail (12B411) From: Tom Mason Subject: Re: Mount: Structure needs cleaning Date: Tue, 21 Oct 2014 21:44:48 +0100 X-ASG-Orig-Subj: Re: Mount: Structure needs cleaning To: Emmanuel Florac X-Barracuda-Connect: st11p01mm-asmtp002.mac.com[17.172.204.237] X-Barracuda-Start-Time: 1413924319 X-Barracuda-Encrypted: RC4-MD5 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 14 Oct 2014, at 17:38, Emmanuel Florac wrote: >=20 > Le Tue, 14 Oct 2014 16:46:39 +0100 > Tom Mason =C3=A9crivait: >=20 >>> To copy the disk on another one, you can use ddrescue or dd with >>> "noerror" option. >>> ----------------------------------------- =20 >> Thanks again! >> Can I create an image on a new NAS drive such as a seagate 3tb >> 'Central network attached storage NAS' STCG3000200 without >> interfering with its capabilities as a NAS drive? >=20 > Yes of course, simply make a file image on the shared volume : >=20 >=20 > dd if=3D/dev/sdb2 noerror of=3D/mountpoint/mynas/disk1TB.img >=20 > Then you can run xfs_repair on the image file: >=20 > xfs_repair -f /mountpoint/mynas/disk1TB.img >=20 > Or run photorec on it=20 >=20 > photorec /mountpoint/mynas/disk1TB.img Hello again! I have a new NAS Drive connected to my network, 3tb. How would I find this t= hrough my ubuntu livecd so that I can put an image of the broken disk on it?= It shows up in nautilus with several server icons (three grey boxes stacked= on top of one another) -Seagate-41DA35 -SEAGATE-41DA35 -Seagate Central shared storage (Seagate-41DA35) -SFTP file transfer on Seagate-41DA35 Cheers! Tom= From space@spaceuncharted.com Tue Oct 21 16:48: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=2.2 required=5.0 tests=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 0BD3B7F4E for ; Tue, 21 Oct 2014 16:48:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E01DB304051 for ; Tue, 21 Oct 2014 14:48:38 -0700 (PDT) X-ASG-Debug-ID: 1413928113-04cb6c2efc138700001-NocioJ Received: from spacegame.dynamic.spaceuncharted.com (spacegame.dynamic.spaceuncharted.com [97.107.140.141]) by cuda.sgi.com with ESMTP id NGt9sq273Dxh1Jtr (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Tue, 21 Oct 2014 14:48:33 -0700 (PDT) X-Barracuda-Envelope-From: space@spaceuncharted.com X-Barracuda-Apparent-Source-IP: 97.107.140.141 Received: from brian by spacegame.dynamic.spaceuncharted.com with local (Exim 4.80) (envelope-from ) id 1XghI8-0007xA-TD for xfs@oss.sgi.com; Tue, 21 Oct 2014 21:48:32 +0000 To: xfs@oss.sgi.com Subject: Space: Uncharted News From: Space Uncharted Game X-ASG-Orig-Subj: Space: Uncharted News MIME-Version: 1.0 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: Date: Tue, 21 Oct 2014 21:48:32 +0000 X-Barracuda-Connect: spacegame.dynamic.spaceuncharted.com[97.107.140.141] X-Barracuda-Start-Time: 1413928113 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-BRTS-Evidence: spaceuncharted.com 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, HTML_MESSAGE, MIME_HTML_ONLY, RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10811 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 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Space: Uncharted Email
Space: Uncharted

Space: Uncharted is back and FREE to play!

We're reaching out to say Hi! to all our previously registered players.

It's been a long month for us; at the end of August our server hosting the game crashed and we've been busy setting up a new one. Now, we are happy to announce that two new games, and a practice game, are running right now!

Everyone that registered before October 2014 will need to re-register. This is a symptom of the server crash we had in August. If you'd like to be notified of new games, please re-register in the app or on the web! If you take no action, we'll assume you do not want us to contact you again.

Also, in case you missed the annoucement last year, Space: Uncharted is now free to play, no subscription needed!

Resources Available For New and Returning Players

Need help learning the game? Watch the tutorial video, visit the guide, or join the conversation on the forum!

Space: Uncharted is available for Android, Apple iOS, and on the web.



This email was sent to xfs@oss.sgi.com

You have received this email because you previously registered for Space: Uncharted. We will only use your email to contact you about Space: Uncharted.  For more information about Space: Uncharted, visit http://spaceuncharted.com.  If you registered before October 2014, you will not hear from us again unless you re-create your account.  To have your account deleted and be removed from our email list, please delete your account through an app or the web client by using the account button after logging in. 

Unplumbed Software Co. 200 E Evergreen Ave Ste 121 Mount Prospect, IL 60056

From stan@hardwarefreak.com Tue Oct 21 18:55: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 DC6EE7F50 for ; Tue, 21 Oct 2014 18:55:52 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id BBFC58F8033 for ; Tue, 21 Oct 2014 16:55:49 -0700 (PDT) X-ASG-Debug-ID: 1413935747-04cbb070c7136310001-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 BLWoxafUlDTwHQAY for ; Tue, 21 Oct 2014 16:55:48 -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 [134.64.128.47] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id BDD6F6C0E7; Tue, 21 Oct 2014 18:55:46 -0500 (CDT) Message-ID: <5446F29F.7090406@hardwarefreak.com> Date: Tue, 21 Oct 2014 18:56:15 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> <544202AE.3000003@hardwarefreak.com> <5442AE9A.7030703@hardwarefreak.com> <20141019222434.GL17506@dastard> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <20141019222434.GL17506@dastard> 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: 1413935748 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 10/19/2014 05:24 PM, Dave Chinner wrote: > [ please word wrap your emails at 68-72 columns ] > > On Sat, Oct 18, 2014 at 01:16:58PM -0500, Stan Hoeppner wrote: >> On 10/18/2014 01:03 AM, Stan Hoeppner wrote: >>> On 10/09/2014 04:13 PM, Dave Chinner wrote: >>> ... >>>>> I'm told we have 800 threads writing to nearly as many files >>>>> concurrently on a single XFS on a 12+2 spindle RAID6 LUN. >>>>> Achieved data rate is currently ~300 MiB/s. Some of these are >>>>> files are supposedly being written at a rate of only 32KiB every >>>>> 2-3 seconds, while some (two) are ~50 MiB/s. I need to determine >>>>> how many bytes we're writing to each of the low rate files, and >>>>> how many files, to figure out RMW mitigation strategies. Out of >>>>> the apparent 800 streams 700 are these low data rate suckers, one >>>>> stream writing per file. >>>>> >>>>> Nary a stock RAID controller is going to be able to assemble full >>>>> stripes out of these small slow writes. With a 768 KiB stripe >>>>> that's what, 24 seconds to fill it at 2 seconds per 32 KiB IO? >>>> >>>> Raid controllers don't typically have the resources to track >>>> hundreds of separate write streams at a time. Most don't have the >>>> memory available to track that many active write streams, and those >>>> that do probably can't proritise writeback sanely given how slowly >>>> most cachelines would be touched. The fast writers would simply tune >>>> over the slower writer caches way too quickly. >>>> >>>> Perhaps you need to change the application to make the slow writers >>>> buffer stripe sized writes in memory and flush them 768k at a >>>> time... >>> >>> All buffers are now 768K multiples--6144, 768, 768, and I'm told >>> the app should be writing out full buffers. However I'm not >>> seeing the throughput increase I should given the amount that >>> the RMWs should have decreased, which, if my math is correct, > > Maybe that's not your problem. What's the storage array tell you > about RMW cycles? What's it tell you about lun utilisation - is it > even or do you have hot luns? Maybe not. If what I'm told about the controller statistics screen is correct, RMWs, or "small destages", are far less than 0.5% of total destages. However that rate didn't change noticeably when I switched to stripe aligned buffer sizes of 768K vs 160K. Watching the stats in real time shows zero small destages for long periods of time, then a burst of them, then nothing again. I'm told the firmware ignores all low rate IOs so cache lines can be dedicated to the fast writers, and it only waits 3 seconds to assemble full stripes for writeback. So what I'm seeing maybe doesn't match what I'm being told. I've been given no docs for the controllers because they haven't apparently been written yet. I must trust what I'm told. Again, these controllers are in a beta stage of development. Hot LUNs isn't an issue as we have one filesystem per LUN, and one LUN per controller. At least in this test rig. >>> should be about half (80) the raw actuator seek rate of these >>> drives (7.2k SAS). > > Not all drives seek at the same rate. Typically for a RAID 6 array, > every disk you add to the width of the lun slows the seek rate for > full stripe writes by 2-3%. So a 12+2 lun is going to have an > average seek rate of 25-30% lower than a 2+1 lun on full stripe > writes.... Right. And partial stripe writes will hit a subset of disks, thus the associated RMW read will cause extra seeks on one or more of these, and possibly two others to read parity (RAID6). The rig I'm testing at the moment has two 12+1 RAID5 arrays so, only one parity seek on RMW. >>> Something isn't right. I'm guessing it's >>> the controller firmware, maybe the test app, or both. The test >>> app backs off then ramps up when response times at the >>> controller go up and back down. And it's not super accurate or >>> timely about it. The lowest interval setting possible is 10 >>> seconds. Which is way too high when a controller goes into >>> congestion. > > The controller should not have any problems with this. If the > controller IO response times are varying significantly, then you're > doing something wrong - most probably caching in BBWC rather than > writing through to disk immediately... When a controller goes into congestion I see await and avgqu-sz in iostat jump from 15-50ms steady state up into the hundreds, then into the thousands of ms if we don't back down the IOs being submitted. This is with O_DIRECT, and with and without using AIO. Once we do back it down the controller eventually recovers after tens of seconds to a minute or so, and wait and queue size drop back down to 'normal'. Due to the number of streams write-through mode would simply make every IO an RMW and throughput would be abysmal. I've been testing a two LUN config with 402 streams per LUN, per XFS filesystem, but the design is up to 14 LUNs. So we're talking in excess of 5600 IO streams with the test harness, possible over 10k in customer hands, or 2600 to 5000 IO streams per controller. So writeback and sorting high rate sectors into stripes is mandatory. With the to LUN setup I'm working with I see the controllers go into congestion and iostats await jumps from 10-50ms steady state up into the hundreds and low thousands of ms. And avgqu-sz just soars. Whether this is due to poor writeback performance or seeking the drives to death remains to be seen. Could be a combination of both. >>> Does XFS give alignment hints with O_DIRECT writes into >>> preallocated files? > > What do you mean? if the file is preallocated and aligned, then > the IO alignment is wholly up to the application. i.e. if the > application is not doing aligned IO, then there's nothing the > filesystem can do to align it... I mean during writeout to the block layer. O_DIRECT writes from the app must be multiples of 4K. Does XFS do anything different on writeout if the app writes 160k vs 768k, when the FS was created with alignment, writing to files created with posix_fallocate()? Does XFS group them into clusters of 1536 sectors? Or does it just sling pages (8 sectors) to the block layer? Forgive my ignorance. Our mentoring sessions never got this deep into the stack. Though we did touch the surface on CDBs and DMA from memory to the HBA in one discussion. >>> The filesystems were aligned at make time >>> w/768K stripe width, so each prealloc file should be aligned on >>> a stripe boundary. > > "should be aligned"? You haven't verified they are aligned by using > with 'xfs_bmap -vp'? If I divide the start of the block range by 192 (768k/4k) those files checked so far return a fractional value. So I assume this means these files are not stripe aligned. What might cause that given I formatted with alignment? >>> I've played with the various queue settings, >>> even tried deadline instead of noop hoping more LBAs could be >>> sorted before hitting the controller. Can't seem to get a >>> repeatable increase. I've nr_requests at 524288, rq_affinity 2, >>> read_ahead_kb 0 since reads are <20% of the IO, add_random 0, >>> etc. Nothing seems to help really. > > nr_requests = 524288? Why do you want to queue half a million IOs > once the CTQ depth has overflowed? That's a major latency problem > right there. As I said I was hoping this would give the elevator a larger window in which to sort IOs into sequential writes. The documentation of nr_requests is pretty sparse. Says the kernel will use only as many as needed, IIRC. The default is 128 and I saw additional throughput with 8192. I bumped it up to 131072, then 524288 as a test. Neither of the last two seems to help or hurt, but 8192 helped, with noop. > You've got latency problems, so your should be removing any source Latency is only a problem once the controller becomes saturated and congested. This occurs somewhere between 250-400 MB/s, but is variable. It seems to depend on which sets of files are being written at a given moment. Due to the scattered file layout across all 44 AGs it seems logical to me that seeking up/down the platters is the primary problem. We're riting 403 files in parallel, albeit at different rates. If at one moment we're mostly hitting AGs 0-10 we're not seeking all that much. The next moment we may be writing two high rates files, one in AG0 and one in AG44, and 50 medium rate files in AGs 12-35. The application data rate hasn't changed, but our seek distance, pattern, and times, are dramatically increased. I've not yet performed a full file location analysis as we generate over 27k files, and I've not figured out a way to automate this. But I have already recommended we optimize the file layout, if possible, to avoid this situation, as I know we already have this seek latency problem to some degree. > of potential or variable latency in the IO stack. e.g. turning off > all IO scheduler queuing, reducing CTQ depth and using write through > caching so you can observe the behaviour of the raw luns. Strip it > right back, then observe... As I said we can't do write-through. And I'm pretty sure the latency is seek latency, not IO path latency. The disks are slow, 7.2k, in parity RAID, and we're writing 400 files concurrently--2 fast, 50 medium, and 350 slow, along with 20% random reads thrown in, so reading 80 files concurrently with the writes. All against 12 effective 7.2k spindles in RAID5, or RAID6. Common sense, or should I say experience, tells me the performance cliff is insufficient actuator bandwidth for the workload as we currently lay out the files across the AGs. So this is where I'm focusing my efforts at the moment. >> Some additional background: >> >> Num. Streams = 350 >> WRITING: >> Num. Write Threads = 100 >> Avg. Write Rate = 72 KiB/s >> Avg. Write Intvl = 10666.666 ms >> Num. Write Buffers = 426 >> Write Buffer Size = 768 KiB >> Write Buffer Mem. = 327168 KiB >> Group Write Rate = 25200 KiB/s >> Avg. Buffer Rate = 32.812 bufs/s >> Avg. Buffer Intvl. = 30.476 ms >> Avg. Thread Intvl. = 3047.600 ms >> >> The 350 streams are written to 350 preallocated files in parallel. > > And they layout of those files are? If you don't know the physical > layout of the files and what disks in the storage array they map to, > then you can't determine what the seek times should be. If you can't > work out what the seek times should be, then you don't know what the > stream capacity of the storage should be. Precisely. Currently working this issue as mentioned. Interestingly, I tried to explain this on day one during my site visit, but nobody wanted to listen: "We don't have to worry about file layout with EXT4. We shouldn't have to with XFS. We should just be able to create our directories and files how we want on a single mount point. etc, etc". 6 weeks later, they're finally ready to listen, somewhat, after all other tweaking has led to very few gains. Nobody wants to rewrite their app, whether the test harness group, or the production app group, to get performance. This is their first time through this. AAIU, their previous product didn't use a filesystem, but wrote raw to the storage, similar to how some DB vendors used to do it. So simply getting them to listen to knew ways of doing things is difficult. I guess on the plus side they may keep extending my contract as they find more value in the advice and information I'm providing. Moving so slow and chewing through concrete walls is frustrating, however. > Keep in mind that single extent files are optimised for read > performance, not write performance. i.e. by default XFS trades off > some write performance to improve file read performance. Optimising > for highest write speeds means linearising all writes (i.e. reducing > seeks), while XFS's default behaviour is to separate them into > different regions of the disk (increasing seeks). Ok, so their idea in using preallocated files was to guarantee space and prevent file and free space fragmentation. They loop through the files once they fill, overwriting them at some point for reuse, IIUC. The large stream files are 2.5-4.8 GB, and those are the largest, the mediums are 1.5-2.7 GB, the smalls are 197-314 MB. We should be able to split them up across the AGs in a manner in which the heads are sweeping only one or two adjacent AGs at a time for each 402 IOs, walking from the outer platter edge to inner as we progress through the files. I've checked a few of the large and they are two extents each, one very large one in AG13 and a very small one in AG15. This is a result of spillage when AG13 filled, I assume. A binary creates the directories and files and I've not seen the source yet. I'm guessing it's done in parallel instead of serially, so the directories are likely scattered across the AGs in a random order. Speaking of this, when I straighten this out, how does one create a large number of directories serially as to ensure placement on sequential AGs? Do waits need to be added between each mkdir, for example? > IOWs, write rates are likely to go up if you allow files to be > fragmented and interleaved to make writes more sequential. With this many write streams and slow disks I think the primary goal should be minimizing large distance seeks during writes (i.e. AG0 to AG43 and back, platter edge to platter edge). Proper file placement matching the application's write pattern should achieve this. Does it matter then if we use preallocated or allocated files? Sticking with prealloc files prevents fragmentation, and thus free space btree lookup slowdowns. Or am I missing you here? > The down side is that reads will then seek, but if reads aren't the > primary workload, nor a performance sensitive operation, then > perhaps you're optimising for the wrong operation.... Perhaps. I think it's more likely we just haven't been on exactly the same page, probably because I'd not explained things thoroughly enough to this point. My next test is to be 44 O_DIRECT write threads in parallel, writing one allocated file in each AG, then 22 files each in AG0 and AG1. This to demonstrate the throughput differences due to full stroke platter seeking vs localized short stroke seeking. Sure, I'll lose some allocation parallelism but it should still demonstrate the point. I need something to convince the guys that modifying their app has promise. Thanks Dave, Stan From allegraathompson628@gmail.com Tue Oct 21 19: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.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 170DE7F51 for ; Tue, 21 Oct 2014 19:01:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EA4358F8033 for ; Tue, 21 Oct 2014 17:01:27 -0700 (PDT) X-ASG-Debug-ID: 1413936086-04cbb070c71365e0001-NocioJ Received: from mail-pa0-f68.google.com (mail-pa0-f68.google.com [209.85.220.68]) by cuda.sgi.com with ESMTP id 4b2DTdFcuErgmkVa (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 21 Oct 2014 17:01:26 -0700 (PDT) X-Barracuda-Envelope-From: allegraathompson628@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.220.68 X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.68] Received: by mail-pa0-f68.google.com with SMTP id kq14so1211090pab.7 for ; Tue, 21 Oct 2014 17:01:26 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.68] X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.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=AKuQ7wU5hphnuVFMMYcT5ag/a0zFkSxyqjq/ZOf5Wt4=; b=gewsnjgPm5gCzIbnNY+PZfJf+rcTGZcuLMdRA8b88hMGYOX6MULnmTWGQDG2UWaVP0 7xCtYBMx4kvF/Isw9TFEWB7mSHYaUMYAx1fqHVGb9ZuO6hlKik1IY9pWGxDSIHeRIOJc 0QV9U4qxEt12uwFMHGeMHGpA6FwLkBUqHke+BnmigmczbGDhCHzsRekDsc8nXmGBamlM nE7iox3DXum9mGIFGX8QridoV18rSh6H8h0jh/oeE4xcMj7gb/8fSYJkWrwsB4WVcd94 SKb2Yzz0h/7I1d5OCr66j8oTOGI5cRb7M201HmPhMP8dNAftscT1miEzChSS4QG/+Xgz pHcw== MIME-Version: 1.0 X-Received: by 10.68.212.5 with SMTP id ng5mr7609732pbc.15.1413936085993; Tue, 21 Oct 2014 17:01:25 -0700 (PDT) Received: by 10.70.126.194 with HTTP; Tue, 21 Oct 2014 17:01:25 -0700 (PDT) Date: Wed, 22 Oct 2014 08:01:25 +0800 Message-ID: Subject: color box, display box, corrugated box, color card, blister card, color sleeve, hang tag, label From: Jinghao Printing - CHINA X-ASG-Orig-Subj: color box, display box, corrugated box, color card, blister card, color sleeve, hang tag, label To: undisclosed-recipients:; Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-pa0-f68.google.com[209.85.220.68] X-Barracuda-Start-Time: 1413936086 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.10813 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, this is David Wu from Shanghai, China. We are a printing company, we can print color box, corrugated box, label, hang tag etc. Please let me know if you need these. I will send you the website then. Best regards, David Wu From jeff.u.liu@gmail.com Wed Oct 22 05:29: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=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 025D87F50 for ; Wed, 22 Oct 2014 05:29:55 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B8A1230405F for ; Wed, 22 Oct 2014 03:29:51 -0700 (PDT) X-ASG-Debug-ID: 1413973788-04bdf038d015edc0001-NocioJ Received: from mail-la0-f48.google.com (mail-la0-f48.google.com [209.85.215.48]) by cuda.sgi.com with ESMTP id qSk8UQTczCHbCwZz (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 22 Oct 2014 03:29:49 -0700 (PDT) X-Barracuda-Envelope-From: jeff.u.liu@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.215.48 X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.48] Received: by mail-la0-f48.google.com with SMTP id gi9so2589012lab.21 for ; Wed, 22 Oct 2014 03:29:48 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.48] X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.48] 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=gGIOJ0xHBACUGETPWfGuekJgTRn9nDyZa5VIMa/ebo4=; b=Nd+uLN9UIer418hRYUp8sEiMNgnKKVEazWgb8wJ3zmqw1FjWXBQKbynfZ7s/nj0mBO AbeerP3mzp/pbF6UbJTkZAgYula4bsGiztKiF9b9e/qQEt5Af1gH5s+MUtnKq9ayE/B+ 4kJrAgjKjyQTQqNMAUZq9OU1SD+Q1InvZhd7ygWrzVSUt5tjzZG3vqsYb2cNoaS/kd0t TRibao0mPMJNcTZWmO4qzOssKkaCAGRVeQh8tdY5Et2qx5coNUkxTbXloVPk3FsGn2u0 t+JHHb+c+gd0VwS6tncDDaALQ4fz0Uet07FVPa51sxkDhYmMphU/XRUKdtPIXKbHoyRW xgRA== MIME-Version: 1.0 X-Received: by 10.112.93.231 with SMTP id cx7mr9475066lbb.89.1413973788097; Wed, 22 Oct 2014 03:29:48 -0700 (PDT) Received: by 10.25.14.211 with HTTP; Wed, 22 Oct 2014 03:29:48 -0700 (PDT) In-Reply-To: <1413901892-17117-1-git-send-email-jack@suse.cz> References: <1413901892-17117-1-git-send-email-jack@suse.cz> Date: Wed, 22 Oct 2014 18:29:48 +0800 Message-ID: Subject: Re: [PATCH] xfs: Check error during inode btree iteration in xfs_bulkstat() From: jie liu X-ASG-Orig-Subj: Re: [PATCH] xfs: Check error during inode btree iteration in xfs_bulkstat() To: Jan Kara Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11348be85c81a00506006d32 X-Barracuda-Connect: mail-la0-f48.google.com[209.85.215.48] X-Barracuda-Start-Time: 1413973789 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.10823 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 --001a11348be85c81a00506006d32 Content-Type: text/plain; charset=UTF-8 Looks good to me. Reviewed-by: Jie Liu Cheers, -Jeff On Tue, Oct 21, 2014 at 10:31 PM, Jan Kara wrote: > xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In > case of specific fs corruption that could result in xfs_bulkstat() > entering an infinite loop because we would be looping over the same > chunk over and over again. Fix the problem by checking the return value > and terminating the loop properly. > > Coverity-id: 1231338 > Signed-off-by: Jan Kara > --- > fs/xfs/xfs_itable.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index f1deb961a296..66d5c619517d 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -474,6 +474,10 @@ xfs_bulkstat( > */ > agino = r.ir_startino + XFS_INODES_PER_CHUNK; > error = xfs_btree_increment(cur, 0, &tmp); > + if (error) { > + end_of_ag = 1; > + break; > + } > cond_resched(); > } > /* > -- > 1.8.1.4 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > --001a11348be85c81a00506006d32 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Looks good to me.=C2=A0 Reviewed-by: Jie Liu <jeff.u.liu@gmail.com>


Cheers,
-Jeff

On Tue, Oct 21, 2014 at 10:31 PM, Ja= n Kara <jack@suse.cz> wrote:
xf= s_bulkstat() doesn't check error return from xfs_btree_increment(). In<= br> case of specific fs corruption that could result in xfs_bulkstat()
entering an infinite loop because we would be looping over the same
chunk over and over again. Fix the problem by checking the return value
and terminating the loop properly.

Coverity-id: 1231338
Signed-off-by: Jan Kara <jack@suse.cz>
---
=C2=A0fs/xfs/xfs_itable.c | 4 ++++
=C2=A01 file changed, 4 insertions(+)

diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index f1deb961a296..66d5c619517d 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -474,6 +474,10 @@ xfs_bulkstat(
=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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 agino =3D r.ir_startino + XFS_INODES_PER_CHUNK;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 error =3D xfs_btree_increment(cur, 0, &tmp);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (error) {
+=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 =C2=A0end_of_ag =3D 1;
+=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 =C2=A0break;
+=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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 cond_resched();
=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 =C2=A0 /*
--
1.8.1.4

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

--001a11348be85c81a00506006d32-- From nv.nv@pagehome.com Wed Oct 22 08:50:22 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 0DE227F51 for ; Wed, 22 Oct 2014 08:50:22 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 32F2D304032 for ; Wed, 22 Oct 2014 06:50:20 -0700 (PDT) X-ASG-Debug-ID: 1413985814-04bdf038d11663d0001-NocioJ Received: from www.realnet.com.ua (realnet.com.ua [212.68.161.242]) by cuda.sgi.com with ESMTP id LIuzbOxXA5bGkd4I (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 22 Oct 2014 06:50:17 -0700 (PDT) X-Barracuda-Envelope-From: nv.nv@pagehome.com X-Barracuda-Apparent-Source-IP: 212.68.161.242 Received: from 94-182-162-57.shatel.ir (94-182-162-57.shatel.ir [94.182.162.57] (may be forged)) (authenticated bits=0) by www.realnet.com.ua (8.14.4/8.14.4) with ESMTP id s9MDnwsS049637; Wed, 22 Oct 2014 16:50:01 +0300 (EEST) (envelope-from nv.nv@pagehome.com) Message-ID: From: =?utf-8?B?0LHQuNC30L3QtdGBLdC60LXQudGB?= To: , , , Subject: =?utf-8?B?0KHQvdCw0LHQttC10L3QuNC1LCDQu9C+0LPQuNGB0YLQ?= =?utf-8?B?uNC60LAsINC30LDRgtGA0LDRgtGL?= Date: Wed, 22 Oct 2014 15:49:45 +0200 X-ASG-Orig-Subj: =?utf-8?B?0KHQvdCw0LHQttC10L3QuNC1LCDQu9C+0LPQuNGB0YLQ?= =?utf-8?B?uNC60LAsINC30LDRgtGA0LDRgtGL?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_1192_01CFEE0F.CD5C6BA0" X-Priority: 3 X-Barracuda-Connect: realnet.com.ua[212.68.161.242] X-Barracuda-Start-Time: 1413985816 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 This is a multi-part message in MIME format. ------=_NextPart_000_1192_01CFEE0F.CD5C6BA0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable =D0=B4=D0=BB=D1=8F =D0=BF=D1=80=D0=BE=D1=84=D0=B5=D1=81=D1=81=D0=B8=D0=BE= =D0=BD=D0=B0=D0=BB=D0=BE=D0=B2 =D1=81=D0=BD=D0=B0=D0=B1=D0=B6=D0=B5=D0=BD= =D0=B8=D1=8F(=C2=AB=D0=A2=D0=B5=D1=85=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA= =D0=B8=D0=B5 =D1=83=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D1=8F =D0=BD=D0=B0 =D1=81= =D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B =D0=BC=D0=B5=D0=BD=D0=B5=D0=B4=D0=B6= =D0=BC=D0=B5=D0=BD=D1=82=D0=B0 =D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81= =D0=BD=D0=BE=D1=81=D1=82=D0=B8 =D0=B2 =D1=86=D0=B5=D0=BF=D0=BE=D1=87=D0=BA= =D0=B5 =D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BE=D0=BA=C2=BB) =D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8F =D0=B2=D0=BE= =D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B8 ------=_NextPart_000_1192_01CFEE0F.CD5C6BA0 Content-Type: application/msword; name="=?utf-8?B?0JjQodCeIDI4MDAwMjAwNS5kb2M=?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?B?0JjQodCeIDI4MDAwMjAwNS5kb2M=?=" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAKAAAAuwQAAAAAAAAA EAAAvQQAAAEAAAD+////AAAAALEEAACyBAAAswQAALQEAAC1BAAAtgQAALcEAAC4BAAAuQQAALoE AAD///////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////s pcEAcWAZBAAA+BK/AAAAAAAAEAAAAAAABgAAwhoAAA4AYmpianFQcVAAAAAAAAAAAAAAAAAAAAAA AAAZBBYALh4AABM6AQATOgEAJgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAA AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAFIEAAAAAAAAUgQAAFIE AAAAAAAAUgQAAAAAAABSBAAAAAAAAFIEAAAAAAAAUgQAABQAAAAAAAAAAAAAAGYEAAAAAAAAygYA AAAAAADKBgAAAAAAAMoGAAAAAAAAygYAABwAAADmBgAADAAAAGYEAAAAAAAAoBAAANgBAAD+BgAA AAAAAP4GAAAAAAAA/gYAAAAAAAD+BgAAAAAAAP4GAAAAAAAA7QcAAAAAAADtBwAAAAAAAO0HAAAA AAAANxAAAAIAAAA5EAAAAAAAADkQAAAAAAAAORAAAAAAAAA5EAAAAAAAADkQAAAAAAAAORAAAAAA AAB4EgAAaAIAAOAUAAA4AAAAORAAACEAAAAAAAAAAAAAAAAAAAAAAAAAUgQAAAAAAADtBwAAAAAA AAAAAAAAAAAAAAAAAAAAAADtBwAAAAAAAO0HAAAAAAAA7QcAAAAAAADtBwAAAAAAADkQAAAAAAAA AAAAAAAAAABSBAAAAAAAAFIEAAAAAAAA/gYAAAAAAAAAAAAAAAAAAP4GAADvAAAAWhAAABYAAAAR CQAAAAAAABEJAAAAAAAAEQkAAAAAAADtBwAAsgAAAFIEAAAAAAAA/gYAAAAAAABSBAAAAAAAAP4G AAAAAAAANxAAAAAAAAAAAAAAAAAAABEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA7QcAAAAAAAA3EAAAAAAAAAAAAAAAAAAAEQkAAAAAAAARCQAA OgAAAM0OAAAsAAAAUgQAAAAAAABSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQ8AAAAAAAD+BgAAAAAAAPIGAAAMAAAA0POVrWHt zwEAAAAAAAAAAMoGAAAAAAAAnwgAAAoAAAD5DgAACgAAAAAAAAAAAAAANxAAAAAAAABwEAAAMAAA AKAQAAAAAAAAAw8AAFIAAAAYFQAAAAAAAKkIAABSAAAAGBUAABQAAABVDwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABV DwAArgAAABgVAAAAAAAAAAAAAAAAAABSBAAAAAAAAAMQAAA0AAAA7QcAAAAAAADtBwAAAAAAABEJ AAAAAAAA7QcAAAAAAADtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QcA AAAAAADtBwAAAAAAAO0HAAAAAAAAORAAAAAAAAA5EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA+wgAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0HAAAA AAAA7QcAAAAAAADtBwAAAAAAAKAQAAAAAAAA7QcAAAAAAADtBwAAAAAAAO0HAAAAAAAA7QcAAAAA AAAAAAAAAAAAAGYEAAAAAAAAZgQAAAAAAABmBAAAZAIAAMoGAAAAAAAAZgQAAAAAAABmBAAAAAAA AGYEAAAAAAAAygYAAAAAAABmBAAAAAAAAGYEAAAAAAAAZgQAAAAAAABSBAAAAAAAAFIEAAAAAAAA UgQAAAAAAABSBAAAAAAAAFIEAAAAAAAAUgQAAAAAAAD/////AAAAAAIADAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0ERARE BDUEOgRCBDgEMgQ9BD4ENQQgAEMEPwRABDAEMgQ7BDUEPQQ4BDUEIAA3BDAEOgRDBD8EOgQwBDwE OAQhACAAIQQ1BDwEOAQ9BDAEQAQgADIEIAAhBDAEPQQ6BEIELQAfBDUEQgQ1BEAEMQRDBEAEMwQ1 BA0AMgA5AC0AMwAwACAAPgQ6BEIETwQxBEAETwQNAAEADQAhBD8ENQRGBDgEMAQ7BEwEPQRLBDkE IAA6BEMEQARBBCAANAQ7BE8EIAA8BDUEPQQ1BDQENgQ1BEAEPgQyBCAAPwQ+BCAANwQwBDoEQwQ/ BDoEMAQ8BCwAIABBBD0EMAQxBDYENQQ9BDgETgQsACAAQQQ/BDUERgQ4BDAEOwQ4BEEEQgQ+BDIE IAA/BD4EIABDBD8EQAQwBDIEOwQ1BD0EOAROBCAAPwRABD4EOAQ3BDIEPgQ0BEEEQgQyBD4EPAQu AA0AEgQgADoEQwRABEEENQQgAEAEMARBBEEEPAQwBEIEQAQ4BDIEMAROBEIEQQRPBCAAMQQ4BDcE PQQ1BEEELQA6BDUEOQRBBEsEIAA4BDcEIAA8BDgEQAQ+BDIEPgQ5BCAAOAQgAEAEPgRBBEEEOAQ5 BEEEOgQ+BDkEIAA/BEAEMAQ6BEIEOAQ6BDgEIABDBD8EQAQwBDIEOwQ1BD0EOARPBCAANwQwBDoE QwQ/BDoEMAQ8BDgEIAA4BCAAQQQ9BDAEMQQ2BDUEPQQ4BDUEPAQuAA0AHQQVBBoEHgQiBB4EIAQr BBUEIAAiBBUEHAQrBDoADQAcBDUEQgQ+BDQESwQgAD8EPgRBBEIEQAQ+BDUEPQQ4BE8EIAA3BDAE OgRDBD8EPgRHBD0EPgQtAEEEPQQwBDEENgQ1BD0ERwQ1BEEEOgQ+BDkEIAA0BDUETwRCBDUEOwRM BD0EPgRBBEIEOAQgAD8EQAQ1BDQEPwRABDgETwRCBDgETwQgAA0AEAQ7BDMEPgRABDgEQgQ8BCAA QAQwBDEEPgRCBEsEIAA+BEIENAQ1BDsEMAQgADcEMAQ6BEMEPwQ+BDoELwBBBD0EMAQxBDYENQQ9 BDgETwQgAA0AEgQ9BEMEQgRABDUEPQQ9BDgENQQgADQEPgQ6BEMEPAQ1BD0EQgRLBCAAOgQ+BDwE PwQwBD0EOAQ4BCwAIABABDUEMwQ7BDAEPAQ1BD0EQgQ4BEAEQwROBEkEOAQ1BCAANwQwBDoEQwQ/ BD4ERwQ9BEMETgQgADQENQRPBEIENQQ7BEwEPQQ+BEEEQgRMBCAADQAaBDsETgRHBDUEMgRLBDUE IAA+BDEETwQ3BDAEPQQ9BD4EQQRCBDgEIAA8BDUEPQQ1BDQENgQ1BEAEMAQgAD8EPgQgADcEMAQ6 BEMEPwQ6BDAEPAQNACAEMAQ3BDMEQAQwBD0EOARHBDUEPQQ4BDUEIAA4BEEEQgQ+BEcEPQQ4BDoE PgQyBCAAPwQ+BEEEQgQwBDIEPgQ6BCAAPQQwBCAAPgRBBD0EPgQyBDUEIAA6BDsEMARBBEEEOARE BDgEOgQwBEYEOAQ4BCAANwQwBDoEQwQ/BD4EOgQuAA0AHwRABDgEPQRGBDgEPwQ4BDAEOwRMBD0E SwQ1BCAAQQQ4BEEEQgQ1BDwESwQgAEMEPwRABDAEMgQ7BDUEPQQ4BE8EIAA3BDAEPwQwBEEEPgQy BC4ADQAeBDEENQRBBD8ENQRHBDUEPQQ4BDUEIAAxBDUENwQ+BD8EMARBBD0EPgRBBEIEOAQgAD8E PgRBBEIEMAQyBD4EOgQgACgANwQwBDoEQwQ/BD4EOgQpACAAOgQwBDoEIABBBDgEQQRCBDUEPAQw BCAAQwQ/BEAEMAQyBDsENQQ9BDgETwQgAEAEOARBBDoEPgQ8BCwAIAA+BEAEAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAABECAAA eAgAAHoIAACUCAAAlggAAJgIAACaCAAAXgkAADAKAABQCgAA1AoAAO3ZwrChhHZkUjslAAAAAAAA AAAAAAAAAAAAKxVoyhOWABZoICEvADUIgUNKFABPSgMAUEoAAFFKAwBhShQAbkgZBHRIGQQsFWjK E5YAFmggIS8ANQiBQioGQ0oYAE9KAwBRSgMAXkoCAGFKGABwaP8AAAAAIxVoyhOWABZoICEvADUI gUNKFABPSgMAUUoDAF5KAgBhShQAIxVoyhOWABZoICEvADYIgUNKFABPSgMAUUoDAF5KAgBhShQA GhZoICEvAENKFABPSgMAUUoDAF5KAgBhShQAADgDagAAAAAVaJ4mqQAWaJ4mqQBDShQAT0oDAFFK AwBVCAFeSgIAYUoUAG1IAARuSAAEdEgZBHUIAQAdFmjKE5YANQiBQ0oYAE9KAwBRSgMAXkoCAGFK GAAjFWggIS8AFmggIS8ANQiBQ0oYAE9KAwBRSgMAXkoCAGFKGAAsFWggIS8AFmggIS8ANQiBQioG Q0okAE9KAwBRSgMAXkoCAGFKJABwaP8AAAAAJhZoyhOWADUIgUIqBkNKJABPSgMAUUoDAF5KAgBh SiQAcGj/AAAAACMVaCAhLwAWaCAhLwA1CIFDSiQAT0oDAFFKAwBeSgIAYUokAAALAAYAAHoIAACW CAAAmggAAF4JAAAwCgAAUAoAANgKAAAsCwAAvgsAABQMAACaDAAA8AwAAD4XAAAWGQAAWhkAANgZ AAAuGgAAMBoAAMIaAAD3AAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAD3AAAA AAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAA6gAAAAAAAAAA AAAAAOoAAAAAAAAAAAAAAADdAAAAAAAAAAAAAAAA3QAAAAAAAAAAAAAAAN0AAAAAAAAAAAAAAADd AAAAAAAAAAAAAAAA3QAAAAAAAAAAAAAAAN0AAAAAAAAAAAAAAADdAAAAAAAAAAAAAAAA3QAAAAAA AAAAAAAAANsAAAAAAAAAAAAAAADbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA0AAAomAAtGAgASZPAAAQAUpGQAZ2TK E5YADQAACiYAC0YCABJk8AABABSkZABnZCAhLwAABwAAAyQBYSQBZ2TKE5YAABMABgAAwhoAAP4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBAdQKAADWCgAA2AoA ACgLAAAqCwAALAsAALoLAAC8CwAAvgsAABIMAAAUDAAAmAwAAJoMAADuDAAA8AwAAIQNAACKDQAA ABYAADwXAAA+FwAA0hcAABQZAAAWGQAAWBkAAFoZAADWGQAA2BkAACwaAAAuGgAAMBoAAIYaAADp 1sCqlMCqlMCUhdaF1oV5d3nWhXnWhdaF1oXphWEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAKxVoICEvABZoICEvADUIgUIqBkNKIABPSgMAUUoDAFwIgWFKIABwaP8AAAAD VQgBFhZoICEvAENKFABPSgMAUUoDAGFKFAAAHBZoICEvADUIgUNKFABPSgMAUUoDAFwIgWFKFAAA KxVoyBfoABZoyhOWADUIgUNKGABPSgAAUEoAAFFKAABhShgAbkgZBHRIGQQrFWjIF+gAFmggIS8A NQiBQ0oYAE9KAABQSgAAUUoAAGFKGABuSBkEdEgZBCsVaMgX6AAWaCAhLwA1CIFDShQAT0oDAFBK AABRSgMAYUoUAG5IGQR0SBkEJRZoyhOWADUIgUNKGABPSgAAUEoAAFFKAABhShgAbkgZBHRIGQQr FWjKE5YAFmggIS8ANQiBQ0oYAE9KAABQSgAAUUoAAGFKGABuSBkEdEgZBAAeOAQ1BD0EQgQ4BEAE PgQyBDAEPQQ9BDAETwQgAD0EMAQgAEEEPQQ4BDYENQQ9BDgENQQgAD8EQAQ1BEIENQQ9BDcEOAQ5 BCAAPwQ+BEIEQAQ1BDEEOARCBDUEOwQ1BDkEIABBBDsEPgQ2BD0ESwRFBCAAQgQ+BDIEMARABD4E MgQgACgAGAQhBB4EIAAyADgAMAAwADAAOgAyADAAMAA1ACAAqwAiBDUERQQ9BDgERwQ1BEEEOgQ4 BDUEIABDBEEEOwQ+BDIEOARPBCAAPQQwBCAAQQQ4BEEEQgQ1BDwESwQgADwENQQ9BDUENAQ2BDwE NQQ9BEIEMAQgADEENQQ3BD4EPwQwBEEEPQQ+BEEEQgQ4BCAAMgQgAEYENQQ/BD4ERwQ6BDUEIAA/ BD4EQQRCBDAEMgQ+BDoEuwApAA0AHgQxBDUEQQQ/BDUERwQ1BD0EOAQ1BCAAMQQ1BDcEPgQ/BDAE QQQ9BD4EQQRCBDgEIAA/BD4EQQRCBDAEMgQ+BDoEIAAoADcEMAQ6BEMEPwQ+BDoEKQAgADoEMAQ6 BCAAQQQ4BEEEQgQ1BDwEMAQgAEMEPwRABDAEMgQ7BDUEPQQ4BE8EIABABDgEQQQ6BD4EPAQsACAA PgRABDgENQQ9BEIEOARABD4EMgQwBD0EPQQwBE8EIAA9BDAEIABBBD0EOAQ2BDUEPQQ4BDUEIAA/ BEAENQRCBDUEPQQ3BDgEOQQgAD8EPgRCBEAENQQxBDgEQgQ1BDsENQQ5BCAAQQQ7BD4ENgQ9BEsE RQQgAEIEPgQyBDAEQAQ+BDIEIAAoABgEIQQeBCAAMgA4ADAAMAAwADoAMgAwADAANQAgAKsAIgQ1 BEUEPQQ4BEcENQRBBDoEOAQ1BCAAQwRBBDsEPgQyBDgETwQgAD0EMAQgAEEEOARBBEIENQQ8BEsE IAA8BDUEPQQ1BDQENgQ8BDUEPQRCBDAEIAAxBDUENwQ+BD8EMARBBD0EPgRBBEIEOAQgADIEIABG BDUEPwQ+BEcEOgQ1BCAAPwQ+BEEEQgQwBDIEPgQ6BLsAKQANAB4EQAQzBDAEPQQ4BDcEMARGBDgE TwQgAEAEMAQxBD4EQgRLBCAAQQQgAD8EPgRBBEIEMAQyBEkEOAQ6BDAEPAQ4BA0AHgRABDMEMAQ9 BDgENwQwBEYEOARPBCAAOgQ+BDwEPAQ1BEAERwQ1BEEEOgQ4BEUEIAA/BDUEQAQ1BDMEPgQyBD4E QAQ+BDIEIAAyBCAANwQwBDoEQwQ/BD4ERwQ9BD4EOQQgADQENQRPBEIENQQ7BEwEPQQ+BEEEQgQ4 BA0ALgRABDgENAQ4BEcENQRBBDoEOAQ1BCAAMARBBD8ENQQ6BEIESwQgAEAEMAQxBD4EQgRLBCAA QQQgAD8EPgRBBEIEMAQyBEkEOAQ6BDAEPAQ4BC4ADQANABQEOwRPBCAAQAQ1BDMEOARBBEIEQAQw BEYEOAQ4BCAAPwRABD4EQQRMBDEEMAQgAD4EQgQ/BEAEMAQyBDgEQgRMBCAANwQwBE8EMgQ6BEME IAAyBCAAYwBhAGwAbAAtAEYENQQ9BEIEQAQ6ACAAOAAgACgAOAAxADIAKQAgADYANAAyACAANQA2 ACAANwA5AA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhhoAAI4aAACcGgAAnhoA AK4aAAC2GgAAuhoAALwaAADAGgAAwhoAAOXPvKmTgJOAawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkVaCAhLwAWaCAhLwBCKgZDSiAAT0oDAFFKAwBe SgIAYUogAHBo/wAAACUWaLRaWAA1CIFCKgZDSjQAT0oDAFFKAwBcCIFhSjQAcGj/AAAAKxVoyhOW ABZoyhOWADUIgUIqBkNKNABPSgMAUUoDAFwIgWFKNABwaP8AAAAlFmjKE5YANQiBQioGQ0ogAE9K AwBRSgMAXAiBYUogAHBo/wAAACUWaCAhLwA1CIFCKgZDSiAAT0oDAFFKAwBcCIFhSiAAcGj/AAAA KxVoICEvABZoICEvADUIgUIqBkNKIABPSgMAUUoDAFwIgWFKIABwaP8AAAAzFWggIS8AFmggIS8A NQiBQioGQ0ogAE9KAwBRSgMAXAiBYUogAG1ICQRwaP8AAABzSAkEAAksADGQaAEfsIIuILDGQSGw pQYisFIDI5BuBCSQbgQlsAAAF7DEAhiwxAIMkMQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0KCQBEAGQAAAAAAAAACAAA AAAAAAAAAAAAAAAoI+ALCgILAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8BoB AACyBArwCAAAAAEEAAAACgAAkwAL8OgAAAB/AIAA4QAEQQEAAAAFwRQAAAA/AQAABgC/AQAAEAD/ AQAACACAwxQAAACBw4oAAAC/AwAAAgA3BDAEOgRDBD8EOgQ4BC0AMwAAACAEOARBBEMEPQQ+BDoE IAAxAAAAHgQ/BDgEQQQwBD0EOAQ1BDoAIABDADoAXABVAHMAZQByAHMAXABjAHYAcgAuAFAAUgBP AFMAVgBFAFQAXABEAGUAcwBrAHQAbwBwAFwAQAQ1BDoEOwQwBDwEMARfAD8EQAQ+BEEEMgQ1BEIE XAA3BDAEOgRDBD8EOgQ4BC0AMwAuAGoAcABnAAAAEwAi8QYAAACqAwAAAA8AABDwBAAAAAAAAIBS AAfwDwkJAAUFFK/0CzIXbTVi+qb09WHIP/8A6wgJAAEAAABEAAAAAABcAKBGHfDjCAkAFK/0CzIX bTVi+qb09WHIP///2P/hD4tFeGlmAABNTQAqAAAACAAMAQAAAwAAAAEBwgAAAQEAAwAAAAEBwgAA AQIAAwAAAAQAAACeAQYAAwAAAAEAAQAAARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARoABQAAAAEA AACmARsABQAAAAEAAACuASgAAwAAAAEAAgAAATEAAgAAACIAAAC2ATIAAgAAABQAAADYh2kABAAA AAEAAADsAAABJAAIAAgACAAIAAr8gAAAJxAACvyAAAAnEEFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0 IChXaW5kb3dzKQAyMDE0OjEwOjE5IDE5OjM1OjU3AAAEkAAABwAAAAQwMjIxoAEAAwAAAAH//wAA oAIABAAAAAEAAAHCoAMABAAAAAEAAACYAAAAAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAAXIB GwAFAAAAAQAAAXoBKAADAAAAAQACAAACAQAEAAAAAQAAAYICAgAEAAAAAQAADgEAAAAAAAAASAAA AAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkM EQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0L Cw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAz/wAARCAA2AKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQF BgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhED BCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfS VeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIB AgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYW orKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3 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 Xl/5wfP/ANR/nf8ABfpzo/7J+xj9ken9m3GfS/e03ep+f6n0f5z3ofXP2F9nb+2fS9Of0fqfSnTd 6Oz9L/X9JfM6SB+T9Hb/AAFw/n/8p83T/dH/AKO/S3Qv2B6Nn7F9PbI9XZO+ddnq+p+m/e9PetRf KqSMPlG3+D8qzP8Azkvn/wCq/wA7/hv1UkvlVJOY36qWR1D/AJu/tfH+3bP2l+j+z7t276b/AENu 32fz3qL5sSTZ7dN/0mTD8x+f5T/NfN9f6n7z9VJL5VSTmN+qkLK9D7Ld9pj7Psd608bIPqT/AGF8 tJJHZI3H7N36X6F+xPs1n7F2+h6n6TZu+ntZz6nu/m9i018qpIR2G3+D8q/N/OS+bf8Ayn85/hv1 UkvlVJFjfpLrP/Nv7Xj/ALW9P7RH6DfumNw/c9v85++thfKqSaN5bfT5v8Jkn8mP59j8/wDN7/5L /un/2f/tFyhQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAADxwBWgADGyVHHAIAAAIAAAA4QklNBCUA AAAAABDNz/p9qMe+CQVwdq6vBcNOOEJJTQQ6AAAAAAD3AAAAEAAAAAEAAAAAAAtwcmludE91dHB1 dAAAAAUAAAAAUHN0U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAASW1nIAAAAA9wcmludFNp eHRlZW5CaXRib29sAAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVw T2JqYwAAABUEHwQwBEAEMAQ8BDUEQgRABEsAIARGBDIENQRCBD4EPwRABD4EMQRLAAAAAAAKcHJv b2ZTZXR1cAAAAAEAAAAAQmx0bmVudW0AAAAMYnVpbHRpblByb29mAAAACXByb29mQ01ZSwA4QklN BDsAAAAAAi0AAAAQAAAAAQAAAAAAEnByaW50T3V0cHV0T3B0aW9ucwAAABcAAAAAQ3B0bmJvb2wA AAAAAENsYnJib29sAAAAAABSZ3NNYm9vbAAAAAAAQ3JuQ2Jvb2wAAAAAAENudENib29sAAAAAABM YmxzYm9vbAAAAAAATmd0dmJvb2wAAAAAAEVtbERib29sAAAAAABJbnRyYm9vbAAAAAAAQmNrZ09i amMAAAABAAAAAAAAUkdCQwAAAAMAAAAAUmQgIGRvdWJAb+AAAAAAAAAAAABHcm4gZG91YkBv4AAA AAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVu dEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQFIAAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wB AAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABU b3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblBy aW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25n AAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklN A+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0A AAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAA AAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAA AAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD///// ////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////// //////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAAA AAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANHAAAABgAAAAAA AAAAAAAAmAAAAcIAAAAJBDcEMAQ6BEMEPwQ6BDgALQAyAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB AAAAAAAAAAAAAAHCAAAAmAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAB AAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9u ZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAmAAAAABSZ2h0bG9uZwAAAcIAAAAG c2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAA AAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9H ZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA AAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9t bG9uZwAAAJgAAAAAUmdodGxvbmcAAAHCAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAAB AAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRN TGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhv cnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAA B2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUA AAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNl dGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAA OEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAAOHQAAAAEAAACgAAAANgAAAeAAAGVAAAAOAQAYAAH/ 2P/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8V GBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4O DhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgA 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 2Kq2sOxm0EWPNVjn+pQz1WH1GUezdur22M9L3KF2FXdjZGO5uU0ZFL6twoBLS6PftNvu2/uIRkQR qaBDLnxY5Y8noicshPhlw+q5fzfreZP+NX68x/T2jz9Cn/0ktD6w/wCMr65YPXuo4ePmtZRj5Ntd TfRqMMY9zGN3Prc/6I/Ocqn/ADBx/wDuVmf+wY/961a6t9UMfqXVMvqBvzKvtd1l3p/ZA7b6ji/Z v+0s37d30tin92Hf8HK+58x+5/zof986HTOudT690/Cz+qWi7JGTbSHhrWexpxbGN21BrPa66z81 evLyHpfTGdMxMfBY+x4qudeX31ilzvVfj1enTVvu3+n6O/8AnP8ASf6NevIYyDKZHgyc1GUcPLxk KlETsf4T/9L1VY/Xv+bW6v8AbPpepH6OZ9Tb/wBZ/Telu/62vm1JNn8vT/C+Vl5f+cHz/wDUf53/ AAX6c6P+yfsY/ZHp/Ztxn0v3tN3qfn+p9H+c96H1z9hfZ2/tn0vTn9H6n0p03ejs/S/1/SXzOkgf k/R2/wABcP5//KfN0/3R/wCjv0t0L9gejZ+xfT2yPV2TvnXZ6vqfpv3vT3rUXyqkjD5Rt/g/Ksz/ AM5L5/8Aqv8AO/4b9VJL5VSTmN+qlkdQ/wCbv7Xx/t2z9pfo/s+7du+m/wBDbt9n896i+bEk2e3T f9Jkw/Mfn+U/zXzfX+p+8/VSS+VUk5jfqpCyvQ+y3faY+z7HetPGyD6k/wBhfLSSR2SNx+zd+l+h fsT7NZ+xdvoep+k2bvp7Wc+p7v5vYtNfKqSEdht/g/Kvzfzkvm3/AMp/Of4b9VJL5VSRY36S6z/z b+14/wC1vT+0R+g37pjcP3Pb/OfvrYXyqkmjeW30+b/CZJ/Jj+fY/P8Aze/+S/7p/9kAOEJJTQQh AAAAAABdAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAFwBBAGQAbwBi AGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAQwAgADIAMAAxADQAAAABADhCSU0EBgAAAAAABwAE AAAAAQEA/+EN3Wh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLv u78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJh ZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU1Nzcy LCAyMDE0LzAxLzEzLTE5OjQ0OjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6 Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9u IHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21t LyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJj ZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxu czpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnht cD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6 ZG9jaWQ6cGhvdG9zaG9wOjk4MWY3MWYyLTU3YTUtMTFlNC05MDhjLWI1ZjVmOTg1OGI1OCIgeG1w TU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MmQ3MzRlNi1kMWYyLTIxNGYtODdiNy00YzY1OWQyMzlk OGUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iQkUzQTIxNzkyMzE1NjlCNTZGNUE0OTkyNDM0 MEQ4NDMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iNCIgcGhv dG9zaG9wOklDQ1Byb2ZpbGU9IkphcGFuIENvbG9yIDIwMDIgTmV3c3BhcGVyIiB4bXA6Q3JlYXRl RGF0ZT0iMjAxNC0xMC0xOVQxOTowNjo1MiswNDowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTQtMTAt MTlUMTk6MzU6NTcrMDQ6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTQtMTAtMTlUMTk6MzU6NTcr MDQ6MDAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJz YXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTAwNjYxYS1iMTA1LTdmNDAtYTE0MS1h MTg5YzEwZWNmZjUiIHN0RXZ0OndoZW49IjIwMTQtMTAtMTlUMTk6MzQ6NDUrMDQ6MDAiIHN0RXZ0 OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKSIgc3RFdnQ6 Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNl SUQ9InhtcC5paWQ6NjJkNzM0ZTYtZDFmMi0yMTRmLTg3YjctNGM2NTlkMjM5ZDhlIiBzdEV2dDp3 aGVuPSIyMDE0LTEwLTE5VDE5OjM1OjU3KzA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9i ZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6 U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4 bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 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 ICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4v/iSUNDX1BST0ZJTEUAAQkACIB0QURCRQIQAABwcnRy Q01ZS0xhYiAH1AAGAAQAFgAbADVhY3NwQVBQTAAAAABBREJFAAAAAAAAAAAAAAAAAAAAAAAA9tYA AQAAAADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AApkZXNjAAAA/AAAAHVjcHJ0AAABdAAAACt3dHB0AAABoAAAABRBMkIwAAABtAAAogZBMkIyAAAB tAAAogZBMkIxAACjvAAAogZCMkEwAAFFxAACOLRCMkExAAN+eAACOLRCMkEyAAW3LAACOLRnYW10 AAfv4AAAkJFkZXNjAAAAAAAAABtKYXBhbiBDb2xvciAyMDAyIE5ld3NwYXBlcgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCAyMDA0IEFkb2JlIFN5c3RlbXMsIEluYy4A AFhZWiAAAAAAAACM0QAAkkkAAG7NbWZ0MgAAAAAEAwkAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAAAAAAAAAQAAAQAAAgAAAsAFPQdlCVwLOg0FDr8QYhH/E5UVJRa0GEIZzhtYHN0eWh/WIU8i xyQ+JbUnSCjZKmMr6C1oLucwZTHiM1402TZTN845Rzq6PCo9mj8JQHlB6ENYRMdGN0eoSRZKfUvk TUxOs1AaUYJS6lRSVbpXIliJWepbS1ysXg1fb2DQYjFjk2T0ZlVntmkRamprwm0abnJvyXEgcndz zXUjdnh3zHkcemh7s3z+fkd/kIDXgh2DYoSmheiHKYhoiaOK2YwOjUGOco+hkM6R+ZMjlEqVb5aT l7SY05nwmwicHZ0vnj+fTaBZoWOia6NxpHWldqZ1p3Oobqlnql6rU6xGrTSuH68Jr/Cw1rG6spyz fLRatTe2Erbrt8O4mrluukK7FLvkvLO9gb5Ovxm/48CrwXLCOML9w8DEg8VFxgbGxseFyEPJAcm+ ynrLNcvvzKnNYs4aztLPidA/0PTRqdJd0xHTw9Rz1SPV0dZ/1yzX2diF2TDZ2tqD2yzb1Nx63SDd xt5q3w3fr+BR4PHhkeIv4s3jaeQF5J/lOeXR5mnm/+eV6CnovOlO6d3qbOr564bsEeyc7Sbtr+44 7r/vRu/M8FHw1fFZ8dzyXvLg82Hz4fRh9OD1X/Xi9mT25fdl9+T4Yvjg+V352vpW+tL7TfvH/EH8 uv0z/ar+Iv6Z/xH/iP//AAACVgSGBoYIZwo1C/INow83EMISSRPMFU0W0BhSGdIbUhzHHjofqyEd Io0j/yWHJw8olCoUK5EtDC6HMAExfDL2NHA16jdmONk6SDu4PSg+mUAKQXxC7kRhRdVHREitShZL f0zpTlNPvVEnUpJT/FVnVstYLFmNWu5cT12wXxFgcmHSYzJkkWXsZ0BolGnoazpsjG3dby1wfXHM cxl0ZnWwdvJ4NHl0erR78n0wfmx/p4DhghmDUYSHhbyG6ogViT+KaIuPjLWN2o7+kCCRQZJhk3+U nJW4ltOX6pj8mg6bHpwunTyeSZ9UoF+haKJwo3ekfaWBpoSnhqiGqYWqfqt1rGutX65Sr0OwM7Eh sg2y+LPhtMi1rraRt3O4U7kxug666LvBvJi9bL49vw2/28CnwXHCOcL/w8TEh8VIxgfGxceByDvI 9MmrymHLFcvIzHnNKc3YzobPMs/e0IjRMdHZ0n7TItPF1GjVCtWr1kvW69eL2CrYyNlm2gPaoNs9 29ncdd0R3azeR97i33zgFuCw4Urh4+J84xXjruRG5N7lduYN5qTnO+fS6Gbo+umN6iDqs+tF69fs aez77Y3uHu6v7z/v0PBg8PDxgPIP8p7zLvO99E/04fVy9gP2lPck97P4QvjR+WD57/p9+wv7mPwk /LH9Pv3K/lf+5P9x//8AAAHjA6sFUAbbCFYJxQssDI0N4Q8xEH8RzBMaFGcVsxb+GEgZjxrTHBcd Wx6eH/MhSCKaI+klOCaEJ88pGiplK68s+i5FL5Aw2zImM3A0tjX9N0Q4iznSOxo8Yj2pPvFAOEF9 QsBEA0VGRolHzEkPSlJLlUzXThpPXFCaUdhTFVRSVY9Wy1gGWUJafFu2XPBeKF9cYI9hwmL0ZCZl VmaGZ7Vo5GoRaz5sam2Vbrxv4nEHcixzT3RydZN2tHfTePJ6D3ssfEd9Yn56f5CApoG6gs6D4ITy hgKHEoggiS6KO4tHjFKNXY5mj26QdJF5kn2TgJSDlYSWhJeDmIKZf5p7m3accJ1pnmGfV6BNoUGi NaMopBmlCqX5puen1KjAqauqlat+rGatTa4zrxiv/LDfscKyo7OEtGW1RLYjtwG337i8uZm6drtS vC69Cr3mvsK/ncB5wVXCMcMNw+nExsWjxoDHXcg6yRjJ9srVy7TMk81zzlPPNNAU0PTR1dK205bU dtVX1jfXFtf22NTZs9qQ223cSd0k3f7e19+u4IXhWeIs4v7jzuSh5XPmQ+cR597oqOlx6jfq++u9 7HztOe3z7qrvX/AR8MDxa/IU8rrzXPP89Jv1TfX89qb3TPft+Iv5JPm6+kz62/to+/D8cvzt/WL9 0v47/p7++/9U/6r//wAAAhsEFwXpB50JPArJDEgNvQ8rEJIR9BNTFLIWEBdqGMIaGBtsHL4eDh9c IKoiFCN+JOMmRCejKQAqWyu0LQwuYi+3MQwyYDO1NQg2XDewOQM6VTunPPk+Sz+dQO9CQEORROJG MkeBSM9KHkttTLtOCk9ZUKhR+FNHVJZV5FcyWIBZzlscXGpduF8GYFRhomLvZDtlhmbSaB1paGqz a/5tSW6Tb95xKHJxc7l1AXZId4541Hoae198o33mfymAbIGtgu6ELYVqhqeH4okdileLj4zHjf2P MpBnkZqSzJP9lSyWW5eHmLKZ25sDnCqdT55yn5SgtaHUovGkDaUmpj6nVahpqXuqjKuarKatsK64 r76wwrHEssOzwbS8tbW2q7eguJK5grpvu1q8Q70pvg2+77/OwKvBhsJewzTEB8TXxabGcsc8yATI ycmNyk7LDsvLzIfNQc35zq/PZNAX0MjReNIn0tTTgNQq1NPVfNYj1snXb9gT2LfZWtn92p/bQNvh 3IHdIt3B3mHfAN+f4D3g3OF74hnit+NW4/Tkk+Ux5c/mbecL56joRujk6YPqIerA61/r/uyd7Tzt 2+567xjvtvBT8O/xivIj8rvzUPPk9HX1B/Wo9kn26PeH+CP4v/lY+e/6hfsa+678QPzM/VL90P5E /qz/Bf9Q/5D/yv///wCAAIAA6fKAGH/71GaAMX//viiASYAapuOAZIBgjgCAhoDtckGAvYHzUEaB OIRnEpeE0IyS/X5+2Im16HF+/YjY0v5/IogGvPB/R4dWpet/bIbdjU1/lIa8ceB/xocmUF+AFok/ FOaBoo4i+/V915Ob5uR+AZHu0VR+MJA1u1l+X461pH5+i419jCV+toyycRZ+4YyKUCl/CI5rFvJ+ 1o+E+mV8/p2/5Tx9K5s/z6F9WpjAuXV9jZZVosV9v5Rmiqp96pL1b/l+C5JET7B+DJQkGLl8b5C4 +NJ8S6gz45Z8dqTtze18pKGot8h81J6EoPJ9BputiSB9L5mnbsR9Rph+Txd9IZq1GkR6YJHC9017 t7MR4g17368RzFp8CKsMtjx8NKctn4Z8YaOuh6x8hqDPbaR8kZ9XToB8SaKqG5Z4oZKn9ed7Ob5+ 4K97XrnQyv57g7UQtOJ7qrBynkN70axHhph776jrbJ577acATfV7hayOHLR3KZNo9KZ6zcq733x6 78VkydN7D7/ts7l7MbqLnSV7UrW0haF7arH9a+t7XbCVTXp61rRjHaV17pQL85Z6bNg43n56j9JN yN56rcwrssJ6ycYQnC1648CZhLR69LzIayB6271oTPd6OrQKHmt07ZSR8sOHJX5u3vCGlH6PyqSG Dn69tZ6Fm38Fn4OFQX95h72FBoAybSyFAIFpTJqFlYQbEcCNPYwB8SeGA4eY3U6FfIbyyRWFAYZb tD6EmIXinmWER4WfhueED4WybKmD/4ZVTIuEYoi5E6yKJI1N76WFBZD428OEh4+Rx2mEFI4kspOD tYztnNSDaIv4hZGDMotwa6uDG4uPTCGDWI3RFXGHSo5/7huEPZqb2h2DxJhsxbCDUJZDsKmC7ZQz mwuCopKWhACCapF1anKCSZEcS4aCX5N3Fv+Ey4+M7JiDmqSd2H+DHaGtw/iCqJ7Gru+CQpwFmTCB 7JmSgmiBs5fpaSyBhpcpStaBeJoDGFmCn5B26yuDEK8W1wCCjqtrwmWCEqfFrVuBp6RPl7WBUaE/ gO6BCZ7QaAKA053VSi+Ao6IPGYOAwpFA6eWCk7oh1bGCDLW/wQuBirFbq/6BGq0plmuAwKl2f86A eKabZviALqVPSZp/4quCGoB/LpHr6MeCJMXw1I2BmMDZv+OBELu3qtKAmrbFlUqAPLJzftB/869Q Zjl/pq6sSRh/NbFsG1Z92ZJ75+SBttLd06mBKM0TvvqAnsc1qeOAJMGKlFh/w7yqfep/drmJZXN/ IrrzSJJ+o7ERHAZ8wJLz5n+OhH0P09GNRn1OwK6MH32crNKLH34Gl9iKTX6dgS+JtH98Z9KJboDe SLaKEoPOEPOUkIt25NKNfIWj0iKMSIUtvw6LKoTLq1CKMYSHlomJZYR6gCCIy4TFZxOIeYWlSG+I 7oheEn+RqoyB41yMfY6M0JyLUo1dvWeKMIwxqauJQYs4lQaIeYp/ftuH34ozZiOHg4qWSAWHy404 E++O94164d6Lv5e0zvmKl5XKu6WJfJPqp7eIg5ItkyeHvZDcfS2HIpAHZMaGvZAERz+G45LfFT+M f45e4GSLLKE8zV2KAZ6ZueqI5ZwGpfSH6JmfkUmHDpeLe42GcZY7Y3SGApXkRnuGBZlqFmeKUY8l 3wSKqqtCy+OJeafouFiIVaSbpF6HVKGIj8SGfZ7gehKFyZzfYkSFVJxhRcaFOaGdF2aIbY/S3dKK K7XdyqCI9LHKtwWHyq3BowWGxKn4jn6F7Ka4eO6FP6RaYTuEsaOsRSeEfapaGECG0JBl3MmJtcE2 yYqIebxoteaHSredoeKGPrMYjWOFZa9Ed/KEu6ywYHWEL6zURJ+D1a5lGPiFcJDi3AWJNM2nyL+H 9sgOtRGGxMJ4oQWFuL02jIWE4Ljddx6EN7ZfX76DrLhuRB6DTq4OGZCETZFJ2i2WJnvwyJGUOnxE toiSbnyqo8mQ230vj+uPjn3kemKOkn7lYj2OB4BwRKKOsoOfEDCa/ory2IyVK4QFxu2TR4O0tOWR iYN0ojmP/YNZjoKOs4N3eTGNtoPwYVeNHoUHRDCNmogSEWGYWIvA1wWUV4xMxViSeItXszSQtIpf oIGPLomojOKN5Ikvd8eM5IklYDyMQYnVQ5eMk4zqEn2V4YyA1aKTkpUGw8aRupNbsX+P9pG3npaO VpBBixqNEY81djeMDY6oXwKLX475QuuLiZJWE4KTmY0x1DGTCZ4TwiiRKpu0r7iPY5lrnM2NzJdY iTuMb5WgdI6LbZSoXZ2KtpS7QgaKxJkCFHGRhI3S0tiSj6eXwLOQrKSKriyO36GTmz2NRZ7eh7OL 65yccxaKypsHXGqKEZsLQUSKBKE/FUOPq45g0a2SEbGyv3WQKK3urOCOVKpAme6MtKbdhnOLXKQP cfKKSKIvW2WJcqImQJ2JUakiFfeOFI7a0KuRmLyBvmiPqbgCq8uNz7OUmNaMK69+hWWK06wncPyJ x6okWpuI+asfQA6IsatQFo+Mt49Bz+6RCshtvaaPF8MVqwaNOr3SmA6Ll7j8hJ6KRLUocECJPbNN WfiIdrXoP5iINKr/Fw6LlY+XzcOeGHslvSObgHuDrCGZDXv2mnOW4XyMh66VE31Zc0aTr353XGGS 2IApQFaTfYOXD3mgrYp2zC2dMoKzu42anoJ7qoeYOoJWmOWWFoJahj+USYKccgmS4YM+W2mR+4SK P8qScIfrEFWeUIsLyracaYp9ugCZ3omqqNmXcYjhlyyVWIhUhJmTi4gQcJOSIIg+WjqRL4kzPxGR fYy8ESGcGouVyUWb1ZKOuF6ZTJEZpxmW34++lT2Upo6EgsmS2o3EbvWRaY2DWOuQbI4zPkSQlZI7 Ed2aDowUx/CbRZsgttaYuZkEpWGWSpcDk32UE5U4gPmSF5PMbWSQp5MsV6SPoZOtPXiPqpjREomY LYyIxpya0aQctWGYOqFVo9GVvZ6skemTg5xQf3ORoppya++QE5lRVmiPD5nfPJ2PBaDdEyKWfozw xWyaWq2etCaXvqosopCVO6bYkKiS/aPdfj2RHqGCas2PnaAlVWmOeqDTO++OYqfqE6mVAo1LxGKZ 5rfFsxaXQ7OdoX+Uua+Uj5qSdavyfTmQl6kfadyPIKe2VJuOCqmpO1uNzagiFB6Tt42aw5GZWsMC skuWr74DoLyUH7kljt6R27TKfIOQAbGGaTWOlbBcVAyNi7NuOvSNWqfcFICSn43cwUmmaXqvsZOj JnsLoYmgC3uBkOKdQXwgfzGa6Xz+a+2ZFX41VlCX6oAKO+OYdIO6DtClrYoEv72lm4GwsA2iWYGG oAGfTIF0j2Kci4GPfcqaM4HwarCYWIK5VU6XGoQ4Oz6Xc4f1D1yjmopjvk+k54jvroehrog3nlie lYeOja+b34cofCaZhYcQaTiXpYd0VBiWW4iuOnOWjYy4D9+hqYq7vO2kXZB9rPChKo8vnJ6eFI39 i8+bP40AeluY6Ix6Z5qXAoyCUr6VrY2OOYuVwJJTEFef2YsMu5Oj9phiq2Kgu5Z9muido5S/ig+a 0JNLeJeYRpIvZgeWYZHtUW6VApLoOKiU+pk+EMWeL4tXulGjhqDFqfugRJ5HmWGdH5vxiHuaQ5nv dxCXxphxZJyVpJezUECUSpjcN8+UMqBpESecr4uZuRWjGqmdqLafyKZ7mBWcj6OAhzOZpqDsddmX M58HY3yVPZ43T0eTx5+7NxKTqqU8EX2bXYvTt/iitrL+p6CfW682lwmcGauYhjCZK6hydN+WuaYr Yo+UzqVsTnCTZ6iHNoGTKKTaEciaNIwGtwSiOr1Wpr6e0rjFljybhrRjhXaYk7CWdDSWJq30YfuU SK2STfiS77EANjKSwKSlEgeZOYwwtM+vK3qBpferQHrTltmneHtDhzGkCHvldpOhG3zOZHWey34a UCadO4ARN2Odj4QGDjWqCombs0eud4DxpH+qioDLlWam0YDChcejaYDvdTqgfIFqYzyeIYJXTxqc fIQKNp6coIguDnqoQYnKsd2t3IefowCp94b3k8WmMYZlhBui1IYgc5uf4oYyYcOdgIbLTdmbzYhP Nbmby4zwDrmmkon1sIWtZo6aoW+ph41rkg6lw4xcgj6iQouPcdGfVYtFYCCc7YuTTHabL40CNL2b EZKvDvSk/oocrzStDJXsn+upJpQ0kGOlYpKrgIOh5ZFzcBOexpCtXo2cYpDDSx2anZJFM8WaaZmc DyqjiYpAreaswp2Pnn6ozptRjt+k+JlEfvyhdpeebpGeaZaTXS2bxZZMSfOaC5gqMuiZy5/rD1mi OIphrK6sZ6WonT6oZaLejZmkfqBKfbeg7Z4qbWGd2pzBXAubT5x9SQOZYJ7oMg6ZLqHYD4OhDYp9 q32sF64wnBmn/arMjH6j+aeffKugUqT7bGWdQaNJWx+a1aNFSCKZEKdgMYGYwaF5D6igB4qWqmWr tLd5myCnh7Nli6ejc6+Pe/SfxKxga8actqptWqSaWqrtR8qYpK6PMV6YYaFhD8afKIqqqGi4c3p8 mmWz3XrAjCyvYnslfX+rP3vFbfGnrny2XPyk0n4XSf+iyYAxMu2iv4RyDaut0Ik+ptu324BYmPez QIAvis2u04ArfCyquYBlbKqnJ4D5W8ekPoILSOWiHoP2Mf+h6YiRDa+sTIlBpXK3XIZwl3yyyYXR iTOuToVQeoiqPYUoaw2mpYVkWkmjs4Y0R5ShhIgJMPihLo1kDbOq24lDpCK2/4zSlfCycIu6h36t 94rKeKmpv4oqaT6mK4oaWJ2jMoq1RiKg+YySL+SgjJNlDbapgIlFota2vJOAlG+yI5HvhdStqJCX duqpdI+eZ3qlqI8oVwOit4+hRL+ge5G2Lt2f/pmnDbmoPolHoYa2hppzkwex3ZhxhFitT5asdWup GJVbZfqlYJSwVaGiMpTyQ4ygApeYLfGffp8QDbynGYlJoDa2UqGxkbuxkp87gxOs7p0HdDGoqJtY ZNak9Zp4VIuh5ZrhQqOffJ59LSKfCZ6EDb6mE4lLnv22HKlQkJqxRKZfggWsiKO5czOoMqGrY+ak faCiU5qhgaF1Qa+fPaY8LHaemZ4QDcClLYlMncW117Fxj4Ww2K3mgROr7Kqncm6ncqgfY1GjtKbo U0agyqhhQZWepqwHLImeM54cDcKkaYlNm/vCW3rEjsa9G3rygWq35ntFc7OzAXvbZTiuuXzOVXKr O34+Q9ConYB5LoCoCYUMDS+xG4jqml3B4YAKjVi8mn/RgBy3c3/HcniymYAFZACuUYCrVDmqxoHg QpioE4QFLU2nYYkwDPmv14jFmPPBfIWIi+i8PoThfpO3C4RhcOKyOoRPYmit7YSvUrCqWIW5QSun mYfoLA+m0I41DMeuoYijl6XBPYtHil+8AIo0fOG2z4lUbwGx1ojYYI+tjokDUPKp84nvP5+nLIxO KtamVJQZDJite4iEllXBHJFDiN27zo/MezK2l46bbTexpI3aXr2tHo20T0qpj46aPiymx5FkKb+l 4pl8DG6sZ4hnlPrBCZd3h3K7npWoebi2TpQka7mxV5MlXTas65LjTeipGpOzPPmmYpdYKN+ld5ui DEira4hOk57A8Z3ehiq7ZJu6eIG19ZnkapWw75ijXC2sjJhHTOao4JllPB2l9p5AKEOlEJs5DCeq iYg3klfA2KSBhQi7J6IDd3+1m5/baa2wg55dW1ysIZ34TCiojp+pO3SlxKSpJ8+ksZrqDAqpwYgk kSDAp6trhAm60qiDdrW1J6X8aRSv/KQ6WvGrmaPbS+moDqZ6O2GlUqgmJ8SkVprjC/KpFogT9TB8 IXqi4RB8knswzF19BHvDtuB9cnxgoFB92X0ViCN+PX36bSR+q39CS/p/PoG3DnmBFInJ82R6xoQt 31B7ToPqyrp71YOrtW58VIOBnx18yIN6hzh9MoO1bJF9mIRkS+t9+YaEEJ191os78b15mo363aR6 LYzjyQN6xYvCs857T4rJnap7zIoGhgl8OImaa7x8lYm7S6d8x4ulEpp604yU8DR4nJgS3AV5NZYf x1l5zZQvsgl6YpJOnA964pDVhKp7T4/GarZ7oY9iSzh7ppFKFG94C43R7rt3xqKB2nV4YZ+3xbt4 +JzzsHR5iJpSmmZ6Dpf4g0R6d5ZVaaF6vZV9SrN6mJe1FhB1lo7r7U53Ea1W2Pt3qqm8xDZ4P6Yn rvZ4zKLCmQx5S5+9gep5tJ1NaJp57ZwoSi95n59jF3NzgY/b6/R2dbiu1593C7RLwtR3nq/mrZd4 J6u4l8Z4oagGgN15A6UbZ6Z5MaONSbh4v6jkGJ5xw5Cl6rh17MTM1mZ2gb+ewZt3ELporF93lbVr lp94C7ELf+J4Z63CZvJ4iayeSVB3+LGSGZlwTZFP6Zp1dtIE1U52CcwUwIV2lcYRq0l3F8BHlZJ3 iLtBfu133rfOZi139LhcSNZ3RLE/GmdvHJHa6S2DD3kr1jiC53nYwrOCxHqPrlyCq3tTmOaCnXww gc6Cpn07Z/iC2X6sSDeDkoFRDaqJm4k952SBvYI81HKBpIIqwQiBlIIgrOKBioIkl7GBi4JIgOmB mIKtZ3OBwYOKSDqCQoXgD3GGdopx5deAk4uC0tOAhYqrv1KAg4nNqzaAhokRliuAjoiEf6GAn4hO ZoCAwYinR8+BFYrXERmDiouP5F1/o5UQ0Tl/nZNovZ1/m5HEqVp/oJAxlHN/qY78fiR/uI4wZVt/ z44UR0R/+JBTEp+A2IyX4vN+258Cz7B+1pyLu/d+05obp69+05fPkrJ+15XJfKJ+4pR2ZCp+7ZP2 RqZ+7ZahFAR+Yo2I4ZJ+Lallzjp+JaYhum5+HqLlpip+Gp/akUZ+G50zezl+HZshYxJ+HZplRgx9 9549FT98NY5d4ER9jrRMzOJ9g7A9uQ19d6wypMp9cKhhj/x9b6UUeiF9cKKVYhd9YKGGRYN9GqdX Fkp6XI8S3xN8/r/ty65877sRt9V837Yxo5F81bGSjs98062ceRh806rOYUd8vapARQt8VK6vFyt4 zY+q3gt8csyPyqd8YMbftsh8TsEnont8RLu6jbx8Q7cneB18QrQ8YHt8JrVmRIB7qK5QF+R3hZAn 3VOKNHf6y3GJbXi+uQKItXmOpb+IFHptkVmHkntle1SHPnyOYqqHNX4fRFyICoDsDOSRiYi324+I /oB4ya6IQYCLt1KHlYCrpDeHAIDbkA2GiYEvekyGOIHDYfOGJoLSRBeGx4VlDlOOiYmv2haH1YlH yCCHIoigta+Geof6opqF8od2jpaFg4cgeRSFNYchYRGFGoe1Q7iFiootD6iLvoqW2KmG8JJZxouG Q5Dws/aFoI+OoL6FFI5HjNWEp41Yd4SEWIzRX86EMoz/Qv6EfI+iEOOJKYtr10CGNZvLxQCFiJmf sk+E5ZeBnxKEVZWLixmD2pPddgKDiZLbXpWDWJK0QkqDeZXoEgOGzYwt1eaFi6W0w4+E3KLFsMqE NJ/knY2DoZ06iaiDKJr2dJ2CxplIXXeCjZj3QaCCi52YEwOEsIzb1KqE57AlwkWENKxur3WDiajE nDaC9KVdiGOCfaJ+c4CCIKByXHmB05/rQQmBs6YiE+SC1o1z04+ETbtFwSODl7bArk2C6bJGmwyC U64bh0OB3qqhcn6BhKhVW6yBN6hzQIaA8auhFKiBOo330qiDq8dUwDiC9MHwrVqCR7yYmhGBtbek hkmBRLObcZaA8LFJWumAo7MkP/yAUqtDFUl/445l0WGRmHb8wICQMnfQrx2O33iwnO2Ns3mjiZuM unqzdKuMCHv2XSuLwX2lQEaMrICYDCiYZog4z7GQcH79vtSPD38trXiNy39om2WMqX+7iEGLu4A0 c4uLC4DuXFWKu4IpP9yLdYTzDUSVnoj4zjOPb4cvvUGOE4a3q9GMzoY9mb6LtYXyhreKy4XUcjiK HIYNW0+JwobgP1CKTomrDkyTBYmqzN+Og4/Ru76NL46fqiyL7I1zl/OKw4xshRCJ3Iu9cMiJLIt0 WjKIxovqPriJJ47vDz+QnYpPy32N0pjFujWMepbZqICLNJUAlkSKEpNWg1WJG5H8bz6Ia5FHWOaH /JF6PeGIOpU9EB2OaIrlyiqNLqIpuMqL1Z+FpwOKjJz2lMeJaJqlgeKIdJi9bd2HrZdxV8SHOpeL PSiHWJz8EOSMbYtryPmMiawSt4yLLKiupbuJ36Vfk32IuqJcgKeHy5/lbL+HD55IVsaGhJ5NPIaG iaTAEZKKr4vhx+uL67ahtneKirJzpKKJO65bkmKIFqqdf5WHK6eZa8WGdqXOVfiF8aabO/mF0KiN EimJK4xHxxeLOsIctaGJ2b0Jo8aIjLgQkYGHbbOMfrSGirAEavOF365EVUWFYLCrO3eFPag1EqiH 4oydxVGZUXZMtWOXSHckpQCVV3gMk9yTmXkLgZySJHorbcSRDnuCV3iQhH1KPAqReoBgC3eeY4fB w7KYPH3Js82WNH4Mo26UUn5ckl2Sn37HgEKRMn9dbJyQH4A4VpCPiYGZO4WQT4SaDEWb3YhMwkiX RoWBskqVRYUlodKTYITQkL2RuoSofriQUYS3a0CPPoUfVXiOoIYnOtmPO4lBDQSZf4jNwOuWho18 sL6UiYx5oCiSoouMjvSQ5oq5fQ2PgIpLacWOaYpEVESNv4sFOhuOM46DDbSXSolEv6aVz5Xzr0uT 0ZRDno6R6pKqjVKQL5FBe2aOpJAtaFSNjo/GUxiM2pBUOV2NKZS6DlSVRImwvluVMZ7NreeTK5xr nRWROpoli9aPfpglefWOCpaZZvWM3ZW0UeuMKpZBOIyMYJxjDuSTcIoRvS2UkqgfrLGSiaUJm9qQ laIRipyO2p9ueMSNa51hZdmMSpw5UPCLfpzWN+CLoaNdD2KR1IpnvCGT+bIEq6OR664umsuP9ap4 iY6OOacqd76MzqShZOeLuKNeUCGK9KTxN0yK9KVjD8+QbIqwu0qTSbzSqtCRObgZmfuPQ7OJiL+N ja9/dvOMLKx/ZCuLIqtZT4GKaq49NtiKbqUVECuPOorvuSehbHXlqiSev3a5mricK3efipqZ03ih eWqX2nnLZquWW3syUZaVhX0ON6qWdYBFCtSjnIdSt5qgbXzaqKSdvn0lmTubOX2CiSuY7n3/eBaW /H6sZYCVfH+kUKKUmYEpNwqVWYRgC1mhWoestj+fi4QKpy6c44PDl62aV4OIh5SYGoOAdpGWK4O0 ZCSUq4RGT4KTvYWENkmUVYjyC9SfOYf/tPae1IuDpbKcMoqilg6ZqYnXhd6XVYk5dO2Va4j8YqeT 6IkyTkOS8Yo7NW+TZo46DEadPIhMs66eQpNPpD+bmZHQlHiZDpBzhD6WvY9Xc1CUq46JYTWTKo5y TQuSKY9iNJiSgJSYDK6bZoiSsnqdqZuQouya/JlvkwyYZ5d0gseWEJXIceOUCpSTX+KSV5QHS+yR WZUVM8aRm5u6DQqZvIjRsUedFqQ+obOaXaFxkc6Xup7KgYuVXJyIcLOTYZroXseR05o9SvSQv5uK MwuQ9qH2DVyYRIkIsDCcja1ooKOZzqnpkMWXKKaYgIiUyKO9b7eS0qG1XdiRT6EHSh6QRqOJMnaQ XKIeDaKW+Yk4r0Ob8Ldln8KZK7MSj/KWgq71f8CUJKtwbvmSN6kEXTCQwqiKSZSPxKvYMhyP46Hh Dd6V4IlgrPmp9HW7nt2monaBkGKjZndegUOgbHhdcR2d5XmMX3eb83r+S5yaxXzsMzqbl4BCCj+o I4buq3apEXwinWulunxujvaijHzQf+KfoH1Yb9GdIH4YXkqbKn8qSpmZ7YDRMniakIRECoKmJIcb qimoRoLDnAKk94KJjXShwYJgflae4oJzblKcY4LJXOyaa4OFSW6ZIoT4MZyZoIjHCr+kQIdEqPKn oomrmpWkWIjki+GhJYg4fKieK4fEbLGbtIe7W22ZuIgqSCWYZomAMK2Yx44XCviieYdrp7qnG5Dl mTCjy4+OilegmY5gew+dpY16axqbBIz5WfmZDo0sRuOXto6GL8CX/5ScCyyg04eOpnumpphul9mj S5aHiO6gC5TPeaGdE5N2aa2ahJKmWKyYWJKBRcSXCZQcLueXQprzC1ufVIetpVGmJaBmlqeiwZ3n h7afdZueeGmcdJnFaIeZ4ZiWV5GXyphlRNWWTpptLgmWj58gC4Sd/4fJpCilsajJlYqiPKWihqOe 3KK1d2GbzKBRZ4uZO57QVqOXQJ7FQ/OV5aJLLXaWC569C6ec04fhoxulMrHclJahs632hceeSqpV dpybN6dcZtiYrqWNVhKWwaXSQ4iVcqlsLUeVmp6dC8Wb0of1oNiy/3Wvk6OvAHZihherEncxd/Gn bHgqaNGkSnlbWEKh2HrXRaKgQXzXLs+g04BQCbqsB4aTn1eyPXuDkjauN3vKhLaqVnwtdp2mvny+ Z42joX2PVxKhKH67RI2fgICHLeKf6oQ8CcGqSIaYnhaxjYGQkNmtj4Ffgz+ppoFEdRmmGYFvZhCi /YHmVa+ggILNQ1GezIR6LOSfFoi6CcionoadnPOw/Ifgj3utBIcvgbWpH4afc3CldIZTZG6iYIZ8 VCmf34cpQfueJIjTK92eV44jCc6nC4ahm8qwh456jiKsiI1HgDGopIxGcdek/4uZYtOhvItfUq6f RovlQK+diI2xKt+dqpRdCdSlk4almo2wJpVcjM+sGpOqfs6oKJIzcGykg5EnYWahU5CuUV2eqJD9 P4Wc9JMxKfWdDZn0CdmkPIaomUivzZyMi46rsZpXfZGnr5hkbzmj/5bxYEWg1JY5UEmeQ5aaPpic XZmEKR6cg5vNCd2jCYarmBivdKQbinGrSqFafISnN57lbjmjfJ0IX1GgUJwaT1Sdz5y+PaKcB6EF KGOcAZtPCeGh+YauluivGqwyiWKq1ajCe5Omn6WhbWyix6M8XqqfkqIRTuedH6MkPW6bcKbmKGib i5tSCeShEYawlLi8l3XciG6353Zze86zQXcrbpiu5ngXYHarH3lFUPuoHnrIP5emCnzYKl2mNoB2 CUKvaYZCkyC8BnsZhu63TXtRemSysnurbUSuYXw9XzCqnH0bT72nkX5ePmKlbIBPKS6lfIRSCRSt 5oYjkem7dICJhZy2w4BVePyyH4A+a8mt24B8XbWqFYEPTk+nBoIiPQyk14QOJ/2k1IjbCOmscoYG kN+6+IY0hFO2TYWPd32xr4UUaiatS4TqXA2pkIVFTL2mfoYzO6CkS4g7JtSkO45qCMKrD4Xsj8a6 m4wfgwe15osLdf+xSoozaIis7om8Wmuo/onJSzel+oqpOkWjxoz6JcWjq5PlCJ6pw4XTjom6VJJN gbe1j5DOdJ6w4Y+VZx2sho7WWPeorI66SeSlbo+AORmjSZJtJOOjJ5i/CH6okYW+jTa6F5i8gHO1 PJbSc2ewepU1ZfasE5QmV+aoQpPiSN2lIZTVODOizJjQJDeirJh9CGGnfoWri++54p9xf0q0750V clmwGZsQZP+rpJmwVwan05lPSA+kxZqiN36iip9HI7CiP5ghCEmmioWaiq+5paZ/fj20mqOgcXuv rqEkZEqrK59pVnmnV57xR66kTaDhN0yiGqRsI5ah1pgPCDSlt4WM6zF4OHUx1+t5BHZWw/55zHd4 rzR6iniTmVN7N3mvgeJ71XrmZ618cHxqR2R9CH7dCoF9coca6UN2pH6i1hJ3j375wkl4c39JrbR5 R3+bmBR6BH/7gOl6qYCJZwp7O4F4R0B7mYOXDHp6IIhv54t1RohX1Fh2QIfYwJJ3PIdGrBh4HYbI lqh45IZtf8F5jYZWZjl6FIa4Rvt6O4ikDk93CYms5gZ0HJJd0r91H5D3vu52HI+PqmZ3DY4qlSB3 2I0ZfnV4gYxiZUN4/IxERpZ47o4sEAB0MIrR5JxzIZy30T50J5puvV51I5gmqN92DpX6k4p245QL fSB3iJLEZD539ZI1Rh93tZRoEYpxl4vc4z1ySKdxz89zTqRGu+F0SqEfp2d1MZ4nkjh1/ZuMe9F2 ppl+Y0F3BJilRad2lZvCEutvRYzL4epxi7KiznNykK6YunpziaqTpgF0babJkO11NaN+esN11KD3 YlF2Kp+2RT11k6TQFCBtPI2c4LBw5b6MzTRx57mfuTVy3rS1pLxzv7AQj7p0g6wUecB1HKkrYZt1 Y6g9RN90ra1cFSprfI5P34VwU8t8zAVxU8WuuAFyR7/do4VzJbpcjpBz5bWveLR0ebKIYMh0srLp RFRz0a4zFgRqDY7j359+1HPyzXJ/FXUpuqJ/VXZipvB/kXeYkh1/znjTe7KAFnopYpSAfnvLQ5WB Tn5aCbmFXoaT3b99UXzhy599p31duOt9/33YpWd+UH5UkNF+nX7eerB+7H+UYe1/TICrQ3t/4ILx C16CJ4ev3Cx7/IYTyfh8X4XGtzt8yYVvo8d9KIUrj1t9gIUIeXZ904UmYQV+KIW8QxF+h4fdDOR/ Koi32rd63o+RyGd7S45ttZV7to1MohJ8H4w1jct8eYtqeB98y4r1X/59E4sYQpF9PY1HDk18aImr 2VZ56Zlvxux6W5dztAZ6x5V/oId7K5OrjDd7h5IWdsR71ZEbXu58D5DcQgR8B5NtD5Z55YqK1/t5 EaO1xX95gqDgsot57p4XnxB6UJuBiuB6qJlJdXd685ebXet7IJceQXp66Zq/ELx3pYtQ1qt4Sq5x xCR4uqrCsSh5JacgnbB5h6PBiZh536DjdGV6Jp7IXPp6Rp3/QP9556OBEb11rYv+1XR3lbnbwuh4 BLVKr+d4bbDHnHB4z6yWiGl5KKkSc195bqakXDd5hKZGQJJ5AqtpEp1z+IyW1FF26cYhwcN3V8Cl rrx3wLs6m0J4JLY1h0Z4f7ITclp4xq99W2V41rCUQAV4NKtJE1pyho0V1BiFz3LbwvmFfnQmsTeF MHV0noyE6XbAiruEs3gSdVeEoHl/XVmE0Xs5P8GFzX3fCPqM9IYS0kCEZns+wSOEIHvXr3mD43x3 nPmDrH0XiWaDhH3HdEeDeH6jXJyDoX/fP3mEZIJMCk6J1ob30MqDDoP8v5aC0YPareSCoYO6m2yC eoOkiACCXYOqcyKCVoPzW9KCdYS2PzuDAIcLC4qG8ofNz3CCAIz4vhSBzowMrDiBoIskmamBeopP hlyBX4m9ca+BVomCWqWBaYniPoeBxIxVDK2ERoiSzhmBGpZSvJ2A7ZSZqqaAwJLsmBSAlZFghMCA c5AWcEmAZo9iWYSAa49uPeOAlpJeDbeB14lGzMOAR6AauzSAGp2SqS5/7JsYlqN/wZjUg2V/n5bx bvl/hpWXWHl/f5V3PUV/fpmfDqR/qonmy3t/eapZueJ/S6b8p9Z/HaOwlUx+9KCpgiR+1p4pbeZ+ wZxwV4d+qJwaPLZ+gaHrD3R9wopzykx+uLU6uK9+iLD/pqF+WqzVlBl+NKkBgP1+G6XibN5+CqPj VrJ976QMPDZ9oKi2ECl8GortyUB97sDkt6J9v7u3pYt9lLafkvx9d7H5f+R9aK5Ea999X6wsVeJ9 RK3TO6V84qhUEMJ6tItUyJeM/3INuG+MF3Ngp7CLN3S5lguKaHYSg0GJvHdybumJTnjwWBCJRnq8 O92KaH1yCEWUIYWXxtWLpXn7triKxHqrpgSJ9HtdlIKJNXwWgeqImHzgbcyIMX3XVziIIn8vO2eJ DoG4CUyRHYZJxWiKc4IatSuJloIdpGeIzYIakuiIGYIzgHGHhYJpbIeHIoLgVjuHCYPTOtmHwoZX CkGOT4bvxCiJYIqks7qIjonmotGHxokrkTqHDIiNfuWGe4g0ay+GF4gvVS+F84jHOkWGeot/CyOL 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 Rne+Yet6BHl+QoZ6iHvsBrZ5+oQ03wBybnkJzK9zuXn7uap09XrZpcN2GHunkMx3GHxuelh38n1P YT54pX57Qk144oCYCIZ2k4XD3UNw14KjyvRyNoK9uANzkYK/pDx0w4K7j3Z1z4LKeUF2roMJYHh3 U4OsQgd3TIWZCjRza4bm28Fve4yMyWZw5ou8tm5yRIrkoqhzjIoAjgt0m4lZeBB1eoj8X5d2EYkj Qa51yYsPC8JwgIfz2mFuUpbIx/Rvw5UOtPBxI5NOoTZyZJGijJJzgpAjdtR0Wo84Xqd04I7zQUZ0 W5EpDS1t2Ijp2QxtUKFcxo9uw561s35wI5wQn8lxYZmRi01ydZdodZNzVpW/XbdzyJUzQNlzCZhF DnFreInE175sa6xaxTJt3qjHshZvPqU5nmFwe6HligJxip8MdIlyX5zuXMpyypwBQHVx2qD5D41p Y4qE1oVroLgCw+5tE7N8sMhuca79nRJvrKrKiMZwuKdAc4FxhqTAXBVx3qQaQBtwzKlGEIRnlIsr 1U1q6sSQwqpsXL8Yr3dtt7mmm75u8LSQh4Rv+rBUcmNwwq2PWzdxCq3+P4hvvKr1EVRmDou31dp6 oW6oxHh7RHBssl173XIln098aHPMix986HVjdWJ9Z3cAXP59+XjSPsF+xntGBfWBUoMC0/V46HeF wqh5p3iQsKx6XXmLncd7AXp5icx7kntgdFJ8GnxgXER8on2pPpV9K3/aB3h+CYUN0mF3W4CdwQB4 KoDbrwV4+YEHnDd5rYE0iGh6TIFxcyh62YHcW2R7VIKpPiZ7moS1COB6/IYA0PZ2DIoCv3x26Ylk rW93uojDmp94foghhvR5IIe3cep5q4eTWnJ6FofwPbF6GooJCix4K4bgz6F06ZPBvhB1zJJFq/N2 opDLmSp3YY9qhX14C448cKp4kY2VWXl46o2SPTR4rpAHC1p1moetzk1z453dvKp0ypt/qoJ1opkr l752YpcFhDZ3B5U2b213jZPjWIV31ZOkPLd3XpcPDGlzT4hkzPpy8qhgu0xz2qUeqRx0tKHqllx1 dZ75gu52G5yFbmB2nJrHV5l22JpBPER2L595DVZxTIkEy7tyFbOAugVy/69Rp9Bz2as0lRN0nadv gbl1RKRWbVp1w6JDVtx18qIVO9x1H6crDiRvjYmPyoFxRL9ZuMRyLbo1podzCbUpk8pz0LCNgIF0 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 MIo4c3GdfYlRZgWa8YjFV8GYuIipSEmW+IkTNtKWJ4qTIQqXco9ZAoWZdYG0i4uiR5JVfxufi5Cd ckqc0I8mZOWaQY4kVqyYDo29Rz6WXo4ZNd6VXZADICKWqJRQAo2XyoG6il6htJmpfgSe8ZdGcUOc MZUzY+mZmpO3VbmXZ5MHRkqVwpN2NO+U05ZvH0qV8pUoApSWWIG+iTShMqFwfP+eZ54+cFyblptn YxqY7ZlSVQGWrphRRcCVDZjlNJqUJpxLH0yVQZUpApqVIIHDhp2wrGxRe9utIW28cH6pk28vZDam OHCqVsKjYXIwR9WhUnPCNtOgVnVrIW+iPXc3Aduoe3x/hQyvvXFhekqsPnJ2bvaoxHONYsale3Sx VWqiq3XoRoygl3c6NZefi3i7IC+hV3qtAbymOIAehCeuwHa1eSOrV3dYbbqn53gEYW+ksHjPVBGh 53m7RT2f03rYNFaev3xEHv2gd36XAaCkBIEZg4St1nxKeDKqe3xubH2nGXynYBqj1X0PUqmhHX2+ Q9+fC36vMw+d8oAcHdqfnIMpAYWh4YEHgrmtFYIidzGpuYG/a0KmXoGIXrejJYGUUUigSYH5Qoae RoLPMdGdLYRaHMuex4iMAW2f2ID3gaCsfIg9dgapF4dSagiltYahXWuig4ZUT/Cft4aAQUmdhYc3 MKycdokQG9yeA42PAVid/YDpgFSsAI6adMqokY0haNilJIvxXEih7YtATtufKYsxQD2dCYvsL7ab zY5VGxWdUZHoAUWcXYDcfwSrmZU7c5qoHZMoZ8Kkp5FxW0ahZ5BYTeueo5AQP1+cj5DqLvSbYJRV Gm2ctZHeATWa9IDRfbGrQJwscn2nu5lyZs6kOpckWnGg8pWXTTWeKZUVPtOcEpYhLpqa3pmEGkec GZHFASeZw4DH1m9wLmoXxN5xpGxtsnBzDm6qnvV0XHC6imR1hHKhdGd2hXR5W8t3WnZzPUV3o3jZ Axp6wn841IFuHHNcwxBvwXTnsM1xUHZQnY5yu3eYiTlz+HjFc3d1AHn4Wx51xXthPP51sn17BMN3 9IM40stsRXzYwV5uA32Lrz5vuX4fnCJxNn6WiABygX8Ncndzi3+iWmd0P4CGPLpz04JzBk11WYRD 0VBqrIadv99sfIZnrbxuOIYhmrFv0oXBhrZxIIWDcWRyKoWAWZ5yyYXsPG5yB4fbB7py8YU5z/Zp TJCtvntrJ4+OrFNs545gmVhue403hVxv3IwscEJw34udWMRxZ4uiPBNwVI3bCQZwv4YazqZoFZsM vR5p95j9qu5ru5bpl/ptTpTvhCpupZM7bxJvsZH5V+FwIJG6O69uv5TKCi9uyobjzVVnAKXHu8Bo 5aLIqYdqrJ/KlpdsP5z7guVtkJqcbhNuj5joVvpu9JhTO05tUZ02CzNtEoeSzBhmB7EbunZn7q0k qDNptqkylURrSaWGgalsl6J5bQ5tjaBmVk5t26ASOvVsCKVFDBVrlIgrytNlJL0xuR9nDbhFps5o 1LNfk95qZa7SgFlrsasXa+dsoKi/VWps2aleOmZqs6d8DNRqUoisy8l2VWlFuzZ3VGuUqdJ4Q23O l2d5GG/jg9d51nHWbsh6iHO6Vxt7OHW6OZl733gPAmB9eH3dyeh0W3INuXJ1f3OlqDB2kHUjlep3 gXaAgoZ4UnfDbbB5DHkMVlN5rnqGOV16AnyfA8N6H4KLyGBykXsMt9RzyXvWpp90+XyHlHB1/X0j gTl23n2/bJp3nH52VX94LH93OOx4J4FrBQ13doNqxwJxCIRStmFyUYQ9pRpzh4Qekvd0ooPzf+N1 hYPpa3Z2QYQVVKJ2vISrOIJ2X4arBj51c4Q4xblvro3otQVxBIz0o7JyQIv7kZdzWIsQfoZ0SIpL ak50/In1U711X4ovOBJ0rYyIB1NznoT0xGludJfPs6dv0pX3okxxFZQjkDpyLpJzfVFzGZEOaSFz 0JAXUtd0G5AXN6BzGZNVCExx+oWcwxBtUaILskNus59MoONv+5yYjtlxGZogfA5yBZgZaB5ytZa7 UfFy8JZ5NzJxqptyCSVwi4YvwcdsRazRsPJtq6kin45u96WFjYpwGaI6etdxB5+TZxlxtJ3hUTxx 3p3sNs5wXqLwCeJvS4avwHlrRrgrr5hsrbOHnitt+677jCpvIqreeY5wFqebZfhww6W2UFtw4Ka/ Nj9vHqSuCoJuPocbwUN8tmifsZ99PGrtoTB9sW0oj7h+Em9AfRZ+bHE2aPF+0nMdUj9/YHUaNeKA aHdWAa6D+XyRv29623Dar9V7eXJ2n3t8BHP+jit8fHVre7t86HbCZ899VngeUWJ91nmkNW5+inur As6Av4GevgV5F3lorlF5yHpEngR6dHsTjLl6/XvMemZ7dXyEZqp75n1XUIN8Vn5uNQl8uoBiA9p9 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 952oZl1pBJwGUEFpG5wHNXFl06E1B+xynYVbv/pezbVnr0dhM7Eynehja6z7i85lVqkNeQJm4KXd ZT1n5KP2T2hn3qTSNPhkHKPQCJpxdoXRwXlx1WPKsbFzK2agoQB0amlYjzV1h2vafEF2gW4nZ9p3 X3BSUOF4H3J+NAh4a3SuAACAAHm0v59vjGx5r/xxEG6cn3FyeXCYjcdztXJjevZ0w3QBZsJ1p3WS UBB2Unc9M8J2LHk3AEh/hn54viVtd3VcrmxvFnaunfdwp3fhjGZx93jrecVzFnnlZcNz/XroT050 jXwcM1Zz6H3zAXZ9h4D9vNZrqH59rQxtXn7znIdu+H9WiwxwaX+heIpxin/2ZLlybIBxToRy3IE+ Mvhxu4MhAo17r4G6u5VqDIfjq79r1od8mzNte4cJicNu6YaWd0lwHIY5Y6hw8oY1TbJxQYapMpRv pIjhA4x6AoJmukRolJGKqmdqa5BDmdpsG475iHdtjo3Gdiduu4zOYotvk4wyTNpvv4xuMiltrI+A BG94gYMAuOFnM5tzqP5pFJlKmHFqzpcmhx1sSJUxdPBtdZOdYZduRJKfS/tuWJKhMb5r25ddBTZ3 MIOGt4tl76XTp6Jn16K/lxZpl5+4hc9rGJz4c8BsSJrKYJxtEZl7S1RtDJnFMVtqMZ6pBeN2DIP7 tilkt7CjpjNmoqyhlaFoaKizhGNp76UpcnFrJqJnX3xr7KDlSnlr0aINMN1oj6EKBnV1FYRet3B3 9GNVqIx42mYjmMd5qGjUh+V6WGtRddR6822ZYkx7jm+9TDx8N3HYMGx9B3PWAACAAHi5tad1yWt6 ptB20G2WlyF3u2+Rhmd4hXFidIZ5NHMMYTF51HSmS196Z3ZNL+96xHgZAACAAH07tEpzu3PtpV10 3XVHlcd19HaOhQ120Xesc0F3jHi3YBR4LHnLSoF4pnsIL4d4kXzDAFZ/boA6sx1x/XyZpBNzNn0i lFd0VH2cg651TH4HcgB2Cn59Xv92pn8USaR3AH/yLwB2bIG9ATp97oDUselwb4WDosxxuoU6kwRy 5ITrgmJz3YSkcL90p4R3Xel1NoSaSMd1boUqLoV0XYdQAgl8kIFgsJ5u+o6uoXlwVI2RkbFxiYx5 gR1yiYt9b51zUoq/XNFz3YpYR+pz8oq4Lgpyao2/AsJ7VoHer0FtkpgYoBpu95YkkFVwOZQ8f9Bx Q5KJbm9yEZE5W9xyl5B5RwxykJCvLZFwmpU7A2V6RIJLrfFsQ6HsnsptsJ8Vjwpu+5xUfpJwEJni bUxw5ZgCWuhxapb8RmFxTpd/LSBu75wCA/J5VYKrrJ1q+KwfnXFsaqhZjbBtvaS0fUFu36GAbBVv wJ8ZWdhwR53oRY9wHJ9GLKZtZ54wBGl4jIL7rWB+VGMJn0l+wWXGkGJ/GGhogGx/WGrYb0Z/lW0U XKB/7W8rR3mAgnEwLKiB13LwAACBq3fKq6t8NmqznaZ8wmzMjsx9OG7DfvN9knCVbfJ94XJAW3d+ P3PYRoZ+wHVyLAd/qXcFAACAAHw8qmR6UXKVnDl673P0jWh7hnU9fZB773ZtbKh8SneLWlJ8pnis RZd9C3nnK3N9gntvAACAAIAAqVR4lHrUmwZ5THttjBR573v6fEd6dHyGa2d6y30XWTJ7Hn3ERKt7 ZH6tKud7ZYBYAACAAIAAqC53E4NAmc934YMWis94kILpevp5E4LIail5c4LGWBl5vYMKQ8R54YOu KlB5ZoW6AJt++4Bppu91p4vqmId2g4r4iYZ3PYoPeb53yolIaQh4Loi/VwV4bYiHQuJ4cIkFKcN3 gIv4ASx+BYDLpaJ0RJTSlz11K5MUiEJ18pFneIh2i4/0Z+x2947jVhV3NY5bQgZ3Fo6/KTl1t5MH Aax9LYEhpGJy9p4YlgNz5puChxF0uJkHd2V1XZbgZt910pVKVS52EpSEQVp14ZU6KLp0EplHAhp8 coFsoyhxpae9lM5ynKQ6heBze6Dgdj50MJ38Zc10tZvlVD10+pr5QJ10vZyBKE5ypptAAnh71IGr oxyE/2Lilc6E82WJh8iEz2gWeMKEmGpzaIuEcGyfVsyEg26jQpGFBXCKKLuG5nIDAACGAnbqoXSC 82oJlEaDBWwehkyC/24Qd1iC5G/cZzeC0HGDVZaC6XMUQYWDVnSZJ/aE0nXtAACD+3tNoEiBHnFz kvCBQ3LZhPeBXnQrdf2BVHVhZeyBS3aIVGiBY3esQISBtnjcJz2CxnooAACCGH9hn0x/iHkdkcZ/ wnnJg6V/4npvdLF/7nsMZKp/5Hu4U0N/83x1P4yAJ31fJpCAw37SAACAW4AAnlF+DIEQkK1+XIEB gnV+joD0c3N+mYD3Y3d+hoEbUip+h4GAPpx+mII4JeJ+w4QqAACAAIAAnR18rokzj3l9DYhogUR9 TYeqckd9XocTYlZ9VYa9URV9Roa4Pa99OodVJT188Yo4AACAAIAAm+J7WJGUjkV7wpAJgBh8DI6U cSl8LI1cYUx8LoyKUCt8IIw8PNR764zOJKJ7OJDIAA1/6oAJmrR6GZpHjSR6i5fvfwR64JW3cCJ7 DJPXYFd7F5KJT1J7C5IFPCd6xpLyJA95nZaBAF9/X4BAmZR41KNljBB5UKAkfft5sp0RbyZ575p4 X216CZirToV6BJgDO4V5tZm4I714TZgqAKV+6oBvmJmMG2LPjBiLjWVcfvKK5GfRcNmKL2oZYZCJ m2wwULaJZW4dPWmJ0G/fJIyMPHEFAACKBnYalwSKKWluiqyJtWt6fZKJKm1jb4OIkW8oYEOIEnDG T3uH4XJMPEyIOXO4I6eKSXTCAACHxnpvlfSIanBUiXCICnG/fFSHoHMWbjWHGXRRXvuGpXV9TkiG cnahOzyGsHfFItGIW3jQAACFr352lRaG4Xd5iFyGmHg1exCGN3jsbPWFwnmfXb6FUHpdTSGFFHso OjmFM3wRIgiGdn1LAACDwYAAlC2FgH7Wh1OFSX7jeeyE9n73a72EhH8hXJKEBX9nTAeDv3/nOUCD voCpIUCEl4JnAACB/oAAkyWEN4ZohkKEEIXEeNaDy4UzaqKDWoTQW3WC2ISwSuyCZITbOD+CSIWi IFGCwoiLAACAbIAAke+C+Y42hR6C3ozbd8OCo4uZaZmCOIqeWnSBu4oSSgCBV4oJN1yBDorcH5GB II6DAACAAIAAkMeB0pZKhAmBvZQxdr2BiZI6aKGBKpCkWYuAuI+jSSmAV49sNp9//pCjHud/mpOw AACAAIAAj7KApJ7UgweAm5vcdcuAc5kSZ7+AJJbGWLx/wZVISHl/ZZTuNhh/AJbmHsV+YJTOAACA AIAAjfKThmLOgluSdGVGdiORQWenaPWQAmnZWpCO+mvXSpSOdm2pOC6OyW9AIESRxXAJAACNr3Vd jGuRsmjjgPyQuGrndNGPpWzKZ6mOhG6EWUSNknAXSU+NEnGNNvmNUnLcHyuP/nOSAACLO3mmi4CQ DG8/f9uPKnCuc6WOOHIKZmSNKnNIV/6MQXR2SBWLvXWZNdWL5HasHiqOOXdvAACI832gisuOmXXZ fuONznaicnGM53dnZS6L6HguVr+LAnj+RuWKdnnXNMCKgXq9HT2Me3u5AACG2YAAifaNTXynfeeM knzLcVGLt3z7Y/OKvX1GVZGJzH21RcGJO35NM7WJKn8YHFSKy4CdAACE7oAAiOqMHoOifNSLa4Mh cDqKmIK6YteJpoKKVHGIvYKeRKuIAIL0MrKH4IPGG2mJLIZcAACDN4AAh8mK/Yrce7yKUomwbyuJ iIioYc+ImYfyU3KHrYepQ7GG9ofXMb2GmIjYGkSHqYvuAACBtoAAhpmJ9JJTeqmJUpBvbjCIjo65 YOKHnY1yUo2GrozFQteF/YzaMPOFn45RGZGGSZCTAACAaIAAhXeI9poqeaOIX5d9bT+HoZUJYAaG u5MgUcaF1pICQjeFKJH5MIGEu5QmGZuFGJFQAACAAIAAg0abYWK+eKCZumUdbVWX8mdjYQ6WK2l8 U4SUtWtiRFqT5m0VMsuUIW56G7uXpm7PAACQ9nS0gdyZs2hGd0mYKGo8bAGWgGwRX76U123BUjWT c29LQw+SpXCxMYiSz3HbGnmWGXIlAACOU3jxgQ6YKG4WdjuWuW+CauWVMnDeXoKTm3IiUPKSQHNV QdGRbnR2MFaRgHVyGVOUiHXRAACL4HzhgHeWyHQjdV6Vb3T3acST9nXLXVuSaXalT7eRFHeIQJ2Q O3hrLzOQNnlIGEaS+nnsAACJnoAAf7iVj3pkdHaUQ3qeaLCS1nrrXCSRUXtXToqP63voP3GPE3yX LhmO+H1mF0OReX6fAACHj4AAfrSUeIDTc2eTM4BzZ5qRy4A2WwGQUIA0TV6O8oB3PlCN8oDzLQSN zIHTFjqQEIQFAACFt4AAfYWTf4dxckWSP4Z0ZoKQ24WnWfOPYoUvTFeOCoUgPVKNEYV+LAiMrIaX FRmOzoj1AACEGoAAfFKSmY5FcS2RXIyiZYGP+4s7WQCOgYpJS22NJ4npPGSMMoo7KxuL0oviE++N p40/AACCs4AAexOR0JVkcCCQoJMAZJuPQJDiWDONuI9cSrKMS46hO9GLS47tKriK3JFKFCSMbY2e AACBhYAAeLKjtmK1bw2hZGT1ZKue/WcdWTOcrWkbTGeazGrmPfyZs2x1LTWZ222hFvGd9m11AACT 53Qcd0CiN2ehbZegEWmFYzedzWtMV82bl2zySw6ZwG5yPKiYom/EK9+YuHDDFXGcu3CNAACRG3hP doigymzWbJSexW5AYiWcom+eVpqafHDoSdKYrHIgO2qXinM7KqCXjnQbFBmbc3QBAACOgXw1dhSf f3JOa9Sdj3MvYRibenQRVYKZWXUBSJyXknX4OjOWbXbkKW2WYXeyEuuaFHfvAACMG3/PdW6eYHf9 awCceHhQYA2abXi6VE2YVHlJR26WdXn8OP2VWHrCKEGVP3uSEdiYrXx/AACJ64AAdGmdaX3dafCb gn2hXvOZeX2NUyCXan27RjKVlX4tN8+UT37RJxqUNH++ENmXUIGLAACH9oAAcx6clYPmaL2arYMZ XdGYo4KFUgmWl4JMRSKUy4J4NsWTjoMHJg+TP4Q+D/WWCIX/AACGQIAAccab3IoaZ4uZ8oi2XLyX 54eZUQeV2Ib1RC6UDobeNd+S2odoJT6SjokvDy2U1onYAACEw4AAcFebRpB2ZlyZWY51W7uXS4zL UCSVOIuzQ2WTaYtTNT6SKovbJNORyo4xDyOTuIo8AACDgYAAwLNnWl6ksMtpZmISn81rW2VXjY5t JWhQejJutWr8ZZJv+m12Tm9wwW/hMWZvpnIkAACAAHiGvsFklmeorwZm4WpRnj9pCGzEjElq+G75 eTFsn3DwZMpt5nLKTeRuiHSuMTFssXawAACAAH1dvSJiEHDfrWdkhHKznNlm5nRdiwxo8HXDeCpq p3cJY/lr63hLTVNsZHmyMQdp0HuRAACAAIAAu75f03pMrApia3tBm3xk3XwXidVnFHy4dxlozn1N YxlqCn3+TLRqV371MNhnBIDdAHB/Q4BMumld14PqqsBgjIQFmjtjD4P+iKllRYPfdfVnG4O9Yido RYPoTAFoYoSAMJRkToa3AYV9boEHuQNcDY24qWVe2Iz1mO9hbYwah3Zjp4s4dPFlcIp3YR9moooG S0BmiYpgMEFhs41oAn17zIGvt4xaaZfEp/RdRZYil4xf6JRwhi1iKZLNc9dj7pFtYE1lC5CTSnZk 0JCrL+tfQpVnA1Z6XYJBtiNY66JFpo1b05++ljBegJ0shOlgyZq+crtijJjBX3FjmpeQSfdjM5fl L5xdAJz/BBJ5HoLBtKtXh61FpQpadanklLFdJ6Z1g4NfdKM3cYFhOaCYXm5iPJ8jSUFhraA6L1Ba u5/9BLF4EYMstwBs+F44p/NuoGGOl+pwLGS+hrVxjmerdFdywWpRYJZzxWzBSkd0f28YLgB0DHEW AACAAHdYtShqSWbGpkhsK2lrlmlt6mvhhVhvb24Xcxpwt3AQX4ZxvXHrSXtyU3PELb9xN3WUAACA AHwes7dn1m+HpMRp23FblQZrzHMMhBFta3SCcgVuxHXZXqNvx3coSNFwM3iPLWRuVXo/AACAAIAA snJlrnh+o3Vn1Xl6k6tp1HpegtVrm3sdcOds9XvRXbJt73ybSBxuLH2dLRNriX9aAACAAIAAsTRj v4GtojdmAoHVkm1oFIHogaNp2oHtb79rSoH5XLZsMIJGR1psOoLyLLdo0IUAAA1/6oAJr9th9osM oOBkT4pdkSBmc4mkgGxoQIjxbrNpqIhmW6pqj4glRo5qYoibLFBmL4t4AN1+i4CVrmdgR5Sdn3Bi sZMWj7tk5JGMfx9mvJAhbZBoJI8CWspo+45jRbpopY6oK+djsJMdAZN9V4ERrPxeuJ6RnghhL5wp jl5jbpnHfdhlUJecbG1mvJXtWeFnh5UCRSdnCZWKK4RhWpo8AjJ8S4F8q4BdOKjXnIRftaWMjN5h /aJPfG1j6Z9kayplW50oWNJmH5wMRGFlfZ1ZKyhfHJ0uArd7aYHWrXVy0l30nzx0EmE8kBB1NmRf f7p2M2c/bjZ3EWnXW0d32mw1RdJ4i25sKnZ4z3AdAACAAHY2q7dwPmX+nZBxrWiSjoBy92r9flV0 FG0wbQB1BG8rWkJ1z3EDRQd2XHLKKgV183ROAACAAHrtqmNt0m5PnC5vZnAijURw6nHefRhyHHNe a9NzF3S8WTdz3HYQRDR0QHdwKaVzJnjnAACAAH9OqUBrwXbUmvhtdXfai+tvBHjJe9pwWnmfarNx VnppWD9yEHtDQ29yQ3xFKSxwYX3HAACAAIAAqBJp4n+LmcBrsX/Giq1tUX/xeqZuqYAYaYpvt4BI Vz1wXYCuQqBwW4FkKLdtroM4AACAAIAApsVoH4hymHRqBYfhiWhrt4dLeXJtGYbEaHpuIoZnVjBu wYZNQctuiYbTKDtrD4l0AACAAIAApV1mbZGHlxFoZJAmiBBqJ47KeDBrlo2UZ1tso4ytVUptNow9 QPBszoyfJ71oi5C2AACAAIAAo/9k1Zrxlbhm2pi3hsRoq5aMdvdqKJShZkJrPJMyVGJrx5KAQFNr OZMpJ0dmK5dZAGV/VYBFopdjRKSblE9lUaF8hV9nLp55daRoupvVZQ9p2JnmU1xqYZkLP45ps5px JuZkA5pNANN+nICOo+14613Wlm95u2EGiBN6cWQSeJ17B2bdZ/l7jmlgVeB8HmuoQUN8y225JsN9 zG8RAACAAHUlokN2ZGVmlOB3Y2fwhpd4QGpPd0F49Wx6ZsF5j25uVM96IHA5QGJ6q3HiJix7CHMP AACAAHnMoQh0Im0sk4Z1O276hVN2R3Ctdf53DnI2ZZV3snOeU8R4PHTzP4d4nHZBJaN4RXdhAACA AH4foARyFHVEkmhzUnZPhBh0bndIdNZ1XXg2ZG51+HkRUrd2cXn1Pqd2nXrwJR91inwsAACAAIAA nuVwSH2AkUJxpn3Nguhy1X4Sc55zvn5UY0V0Z36kUbB0z38fPcx0yH/WJIly6oFiAACAAIAAnaZu kYXnkAFwA4V1gaxxQ4UFcnNyOYSnYjdy44R0UKVzPYR7PO9zAIUKI/hwWIdfAACAAIAAnFFs5Y56 jrVuaY1GgGxvu4wacUZwv4sYYSZxcIpjT8JxwYodPBFxTYqSI2Zt2Y42AACAAIAAmwZrUZdZjXVs 5JVWfzpuRZNncCVvWJG7YB9wEZCHTuNwXZAFO3Jvx5DDIt5repRaAACAAIAAmb1pvKB3jDJrWp2T fgBsyprQbvtt8JhxXw5ut5bDTfZvA5YYOrxuUJeFIoVpc5dXAACAAIAAmjp/SV3ajW9/qGDrf+F/ 7mPZcUyAGmaIYYuASWjxUEiAoWsbPIKBTWz+ItKDFW3tAACAAHQjmJp82mTpi/p9Z2dlfn9902m1 cAB+HmvTYFR+YG24Tyx+uG9wO4t/Q3D1IhiAcHG9AACAAHi8l3d6rmw2ird7V24CfUl772+0bsV8 TXE6Xyl8mHKiTht86HPvOqF9SXUgIW19zXXcAACAAH0Clol4yHO8iaR5kHTQfBJ6MnXXbZt6r3bM XgN683e4TQ97M3ihObt7YHmLIMt7LHpjAACAAIAAlY53Bnt9iJV363veevR4pHw6bHF5HnyYXN95 aH0HS/x5j32UOMl5hH5HIBh4jH9/AACAAIAAlFx1XoNgh2t2XoMPedR3LYLCa1d3sYKNW9N394KC SvV4DIKrN+Z30IM+H292FIU/AACAAIAAkxlzw4tthjJ004pmeKZ1sYlsajx2RoieWtB2lYgbShR2 pIf8Nwh2LIiBHspzqYufAACAAIAAkeNyQJO5hQxzYJHxd490TZBAaTZ08I7VWd91R43dSUF1UY2I Nmd0t45ZHi5xVpFBAACAAIAAkLNwupxLg+lx6Zmtdnxy55cyaDNznJUaWPJ0AZOqSHZ0C5MtNcpz V5SbHetvdZQ7AACAAIAAkEaF9l3phEGF52Dcd4yFuWOsad2FdmY+Wv6FRmiKSo+FY2qRN5uGEWw/ Hq2IrWy3AACAAHM0jraDqWR0guSDxGbidkCDu2kkaJ2DlmsxWcaDeG0FSWaDlG6mNouEIHAAHciG L3BWAACAAHfAja+Bm2tBgbmB0m0LdR2B9W69Z2qB4nBBWJiBzHGjSEmB3nLlNYqCP3P1HPeDsHRD AACAAHv6jNd/ynJEgLSAH3Njc++AT3R1ZkWAVnV4V3KAPnZtRzaAQXdVNJWAcngoHDOBOHiUAACA AH/gi+9+Jnlyf7N+lHnpctZ+1XpfZR5+3nrcVlV+xXtiRih+tXv6M6N+snygG2t+w31oAACAAIAA iup8lYDLfqx9HYCacdF9c4B0ZBd9g4BqVU19Y4CJRRl9IoDTMqV87YFvGnd8Q4MaAACAAIAAia97 EohQfYV7sYdxcL18GoakYxF8MoYLVFN8DoXARDV70oXPMcV7XYZsGbB584j3AACAAIAAiIJ5qJAI fGt6Vo52b7R6zI0AYhl68YvVU29614sdQ2l6l4r8MRl5/4vnGQZ3u44TAACAAIAAh1p4QpgHe1h5 AZWtbrR5iJN6YS55vpGrUp15r5B+Qrp5bZA1MJd4uJGvGO52CJDbAACAAIAAhieNFV3teumMimC/ bwiL4WNuYjiLK2XiVDOKn2gPRJOKgmnwMmuLMWtiGi6Oq2tPAACDOnJbhK+K82PzeaCKjGZLbc2K BWh5YQKJa2p1Uv6I72w4Q2WIzm3AMU2JXm7qGSaMXm67AACAvnbbg8CJBmo4eIyIvGv6bL2IXW2m X9yH1G8oUdWHXXCGQkaHMnG7MECHmHKnGDaKDXJ0AACAAHsKgwGHTnCxd56HInHWa6OG0XLxXseG XXQBULaF5XUAQTGFqnXoL0CF4nahF1SHwXaPAACAAH7mgjCFu3dVdrSFqXffapyFaXhtXaqE+nkF T6WEe3mnQCOEL3pKLkCEN3rgFmOFeHstAACAAIAAgTaERH4cdbmESX4MaaSEHH4LXK6Ds34qTp+D MX5vPxmCsX7WLT2Ckn9oFVeDMoCPAACAAIAAgBqC5oUEdKeC/4RRaJ6C5IO5W6+CfINdTaKB54NQ PhiBV4OPLCuA2IRHE76A3IYaAACAAIAAft6BmYwdc5OBzIq/Z66BxYmAWs2BWIiYTMOAs4gqPT6A H4hKK11/kYlgEtt+1YqyAACAAIAAfaWAV5N6cnmAnpFoZq+ApI99WeqAQ436S/5/qI0YPKR/EI0O KvJ+YI6pExx9QYzsAACAAIAAe++Uhl3dcbGTf2CiZsmSUmNDWt+RF2WfTa2QGWesPs+PtmlkLWWQ ZWqWFbmU2GnuAACGOXGben+SjmNccGORqWWwZYWQnGfYWZ6PfGnHTGaOjGt2PYSOJWziLBeOuG3Y FFWS1m0WAACDlnYOebeQxWkab2aP/2rhZIaPHGyPWHyOCG4QSziNGm9oPFOMpXCQKumNEnFUEyOQ u3CVAACBInoyeTCPK28NbqGOg3A7Y4GNr3FgV3iMrHKAShiLuXOKOzSLNHRzKdGLdnUREhuOjXR9 AACAAH4FeICNtHUnbc2NJXW/YoWMYXZgVlmLYXcWSQKKX3fUOheJ0XiHKL2J63kOERuMXHjpAACA AIAAd4CMWXthbMeL3XtkYXuLJ3uBVUSKM3vLR+SJNXw/OPiIdXzBJ6CIc31KEA2KKn4KAACAAIAA dkmLGYG5a6CKroEqYGOKBYC/VDiJGICXRt6IHIC5N/qHXoEXJpWHBIHHDs2H9IMIAACAAIAAdQiJ 6og3an+JjocQX1yI84YXU0KIB4V5RfGHBoVJNwaGRYWRJZqF4YanDYSF8IdfAACAAIAAc6qI4o7X aVuIoY0PXmmIEYt4Um+HGopURTSGAYnFNm2FKYn3JS6EoouhDeGEboliAACAAIAAcbicc13LaH2a 0mB2Xn6ZF2L6U2CXZ2U4RuGWEmciOK2VfGiqJ+aWPWmLEN6bbWhHAACI6XD0cFOaq2K0ZxSZN2T1 XRaXnmcNUgGWA2jtRYeUtGqMN1CUFmvXJnuUwWyKD2WZcWtLAACGJHVWb5uZB2fdZiCXtGmcXCGW P2tKUOmUq2zNRGCTW24jNh+SsG84JT6TPm/FDjSXRm6vAACDkHlxby6Xi21DZXaWUW54WzOU52+n T/uTWnDXQ0ySCHHrNQKRUHLOJByRvHNBDTaVA3J/AACBMH08bpSWLnLYZLeVCHOAWkKTrHQ3TuCS InUGQjyQuXXdM+CP/3aVIvqQTXb7DEiSvHbQAACAAIAAbZeU7XiPY7KT1nisWTaSh3jpTcKRDHlY QQ+Pp3nsMraOvnqBIciO+3rvC1WQe3u6AACAAIAAbESTzX5XYnySw33vWBaRfX20TK+QCX2/P/+O rn4LMamNyX6CIKSNv38fCmSOVoBIAACAAIAAat6Sy4Q2YUGRyoNJVvyQjIKSS6qPGYI4PwaNwII/ MLaM4IKlH7iM0oOrCYSMe4Q1AACAAIAAaUaR/IoRX/qQ/4inVfKPv4d8SsaOSYa5PjyM6IZ3MBWL +IbMH0qLx4hXCZ2LC4aAAACAAIAAtcBiNljNpplkiVy7lkNmwGB4hJZowWPecchqeWboXcdrymmu R0psTmxNKsVpWm5nAACAAHaDs7Be7GGfpMJhimTMlK9j/Ge8g1pmKmpkcN1n/Gy+XRtpSm7rRuFp lXEJKrdlbHLsAACAAHuIshNb6GqtoyJeum0Hk1NhdG81gipjwnEOb+llpXK7XGFm6XRURmpm8nX5 KqphhXfDAACAAIAAsLhZNXProdNcOXVukgRfDHbKgQphkHfpbu1jc3jmW5Zkp3nwRd1kZ3sqKoxd n30BAACAAIAAr11Wx31LoJJZ933/kNZc5X6Jf/Jfa37sbeBhbn8/WrlihH/FRTph9ICkKlFZtILJ AACAAIAAreBUjIbJnzBX4Iauj5Ra7IZzftddfYYfbPdfcIXXWchgh4XPRI1fnoZyKghWEYljAACA AIAArENSd5BznapV6I+LjjBZDY6KfaFbro2Da/1doIyoWRhemYw5Q99db4yjKb9S35E5AACAAIAA qrBQipqDnCpUEpjHjM9XTZb4fGxZ/5U2awBb9JPIWGFc15MIQ4NbaZOuKX9QGpifAJJ/CYBjqQdO uqT0moVSTKJ2i0VVlJ/dexVYVp1YaetaVptPV5BbMJpKQwVZiZubKXhNupwKASN+FIDFrIFniFiT niBpf1xjjq9rVWAEfgds+mNXbDhuYWZSWRJvfmkFQ2JwB2uBJ4VuBW06AACAAHUyqqRkUmD7nHZm k2QajTloqWcEfLpqd2miawxr82v0WBRtCm4WQqdtWHAaJ1dqOHGvAACAAHomqTVhZGmVmvpj1Wvm i+tmK24Qe45oFm/vahZpo3GhV1Fqr3M7QhxquXTRJxpmTHZKAACAAH7Bp/ZeyXJhmbxhaXPgiqVj 1XVAenBl9HZyaRVnfneCVnpodniYQXtoNHnLJtliYHtTAACAAIAAprRcbHtWmIlfN3wMiX1hvnyk eVdj3n0haAZlgX2TVZJmWX4tQMhlwn8NJoFeeoDgAACAAIAApUxaNoRrlzRdJIRXiD5fyIQweDVh 84P9ZxFjioPeVJZkWYP1QAZjZYSfJhta6Yc2AACAAIAAo8BYG42ilblbJYzCht5d4ovYdvpgHor5 ZgZhtIpPU85iaIoNPz5hIoqMJbFXu46rAACAAIAAojlWIZcslEJZQ5V3hX9cFpPDdb5eY5IyZPlf /ZEBUv5gm5B4PsRfDpE6JU9U9JWhAACAAIAAoJtUOaDskqdXaJ5jg/haS5vhdF5cqJmbY81eS5fm Ug9e3JctPiNdEJigJSVSppkdAACAAIAAo3NtGliCldFusFw9hy5wKF/Md1dxcmMJZldyjWXtU/lz eWiEPxR0DmrQJAJzEmweAACAAHPuob5p/WBtlDRr1WNyhbVtgWZHdhFu8GjYZURwHWsiUxhxA202 PmtxXG8XI7BvPHBAAACAAHjUoG1nFmibkuNpImrfhJprGG0LdPVsoW7pZDdt13CYUihurHIrPa5u vnOpI2ZrZHTIAACAAH1hn09kl3D2kcBm0nJ0g1to2XPWc9xqkHUTYzlrwnYuUVFsg3dIPQRsRnhq Iv5nf3mQAACAAIAAniJiT3l3kJZksXo0gjRm0XracsJojHtsYilp03v2UGFqcXydPEFp3H1zIohj uH7hAACAAIAAnM1gJIIZj09iqoIVgP5k5YIFcaNmrIHxYS5n6oH0T15odoIhO25ngYLGIgRgSITu AACAAIAAm1deC4rYjehgrYoQf61jAYlFcG9k2YiNYCFmF4gMTolmi4foOpRlN4htIXtdNIv6AACA AIAAmehcD5PbjIheyJJFfmJhM5C3bz9jHI9VXxVkX45WTbFkvY31OghjIo69IPpagZJ6AACAAIAA mGpaGp0EixFc4pqVfPpfYJg5bfNhXJYqXfBiqJSyTL1i+ZQpOVlhGpWZILxYWJYiAACAAIAAmndy 61iVjXl0G1wwf5N1Ll+fcI92G2K/YGR26WWGTtB3qGf6OrF4TWoRIFN4YmrlAACAAHK8mNdv3mAJ jABxUGL8fjdyl2W7b1tzqGg8X1Z0iGp1Teh1QGxwOfV1qm4kH9p0pm7SAACAAHeUl6FtIWevirtu vGnlfRlwQmv+bkFxam3dXlRyUm+MTQNy+HEUOTpzGnJuH2xw2nMPAACAAHwTlqNqqm+fibFseHEY e/xuF3J5bUBvdHPGXUxwSnToTA9w0XYAOGtwnHcIHvRs/Xe+AACAAIAAlYZoe3emiJtqd3hseuRs MXkhbCFthHnGXDxua3pkSxtu03sSN5xuR3vVHlppcHzMAACAAIAAlERmYX/Lh2FofX/debZqT3/m awhrsH/xWz9slIARShVs4YBRNr1r9oDpHbpmMoKOAACAAIAAkudkUYgMhhVmiodleH1odoa+aeZp 6YYuWjpqzoXSST1rBYXINdlpsYZGHRVjSokrAACAAIAAkZFiXZCFhNBkro8cd01msI29aMxoNIyN WTxpH4u6SGhpQot3NURnqIw4HHlgwI8wAACAAIAAkDhgaJkjg4Riy5bndhBk45TAZ6VmfJLnWDNn cZGgR4VniJE0NJtlq5KKHDpexpMWAACAAIAAkVl4+1jBhPt5xlw2d9J6dF9/aaJ7A2J8Wk57hGUg SYJ8F2dtNiV81GlGHGV+DWmOAACAAHGej752C1+4g5t3FmKVdpJ3+GU/aH94qWepWUF5O2nKSI15 xWuoNU96Rm0mG8F6dm1JAACAAHZmjp9zbGbmgm10oWkSdYB1vWsiZ252hGz2WEB3HG6bR6N3lHAP NIV3zXE8Gy12zXFPAACAAHrajblxIG5GgW9ygm/AdGhzr3EmZml0n3JyVzt1KXOcRrF1gnSsM7N1 ZnWRGpZzHHW1AACAAH71jMFvA3XVgG9wkHakc2Fx3HdnZVZyx3ggVitzWHjURatzhHmHMsRzBnox Gdhvq3qdAACAAIAAi4ps+313f0xusX2fck5wHH3EZE1xEn3uVS5xln4sRKdxpX59Md5wzn8CGRxs uYARAACAAIAAikFq/oUzfhJsz4SxcSZuUIQyYztvWoPMVDRv44OWQ9Bv34OiMPdumYQVGGBqEoY5 AACAAIAAiQBpHI0bfOZrBYvmcA5snoq9YjZtuInCU0duRokdQwJuL4j1MFxsoomoF6tnv4vAAACA AIAAh8BnN5Ure7hpN5MybvNq5pFOYTNsFo+yUl1sro6aQjtsi45HL8dqv496F3xl84/hAACAAIAA h/l/TFjvfE5/t1w+b+6AA19jYpaAM2I7VBiAaGS6RBCA0WbZMWuBqmhtGCuEIWgSAACAAHChhml8 il9mewJ9L2ItbsF9qWTAYX19+WcSUwd+O2kaQwx+mGrUMHp/NmwWF1mAuGuWAACAAHVPhWF6FGYW eep64Wg5bcF7k2o/YHJ79GwJUgN8OW2gQhR8gW78L5h81m/1Fpp9Om9lAACAAHm3hI535mz0ePh4 3W5xbLF5oW/aX3B6JHEqUP56XnJUQR56iXNYLrh6i3QRFd15z3OPAACAAH3Ig6x16XPzeAl3B3TQ a7B343WkXmV4ZXZxT/h4nXczQB54oXflLct4SXhsFQp2tXgpAACAAIAAgpxz/nsQdv91Q3tPaq92 PHuRXWV2xnvdTvh27nw7Pwx2u3ydLMN2AX0MFABz731sAACAAIAAgVdyF4JDddZzg4HjaaB0m4GM XGd1M4FTTgV1U4FHPjF1EIFtK9pz5YHUEyFxkoMfAACAAIAAgB5wTImWdLJx0YiUaJBy/oehW2tz pobgTR9zzYZtPWRzeIZjKzFyBocIEl9veYgqAACAAIAAfuJuhpEMc49wJo9bZ4Vxa42/WntyJoxn TEpyVIuHPLNx8otSKq5wPYxmElNtyoxEAACAAIAAflyF7VkLc4GF91w8Z/uF4F9AW3+FsWH1Tc+F l2RNPoGF12Y7LIaG0Wd/E6OKpmZnAACAAG/EfOGDY18CckODn2G1ZtSDr2QyWmKDmWZtTLKDiGha PWeDumnvK3OEemrsEpyHZ2m1AACAAHRRe/WBHGUxcT+BfWdLZeOBwGlHWV2Bt2sIS6qBpGySPGKB vG3UKniCNW6REbqEA21UAACAAHivez5/EWuLcGV/nG0KZOR/8G53WGmAAm/MSqZ/4nD2O2V/3XHr KYiABnJyEOuAyXFPAACAAHy2emt9LHIEb4F93HLuY+d+RXPSV1x+WXSxSaR+NXWDOmR+EHYwKJJ9 5XaOEBN94HW4AACAAIAAeWN7XHiRbnt8LnjpYud8snlIVlp8z3m0SKN8pHorOVh8RXqXJ4x7x3rg Dyt7QHq4AACAAIAAeDt5mH84bWZ6kH77YeV7MX7OVWZ7V37ER7B7G37kOGZ6nn8hJnZ5kX92Dct4 2IA0AACAAIAAdvd354X1bEh5CIUhYOp5yoRhVHx584PaRs55o4OfN4l5DIO3Jah3woRNDPB21oTc AACAAIAAdaJ2SYzFaxt3i4tZX954Y4oFU5F4moj4RgB4TYhVNuR3o4hFJTB2EolCDSN1N4iTAACA AIAAdKmM91j7aquMlFwVYAaMEV8AVGeLfGGXR4CLEmPIOOKLKGWCJ4SMS2ZyD0KQ5WTSAACAAG8G c0KKq152aW+KcGEVXtiKCmOBUzuJiGWnRk+JIWd7N66JKGjqJkyKFmmcDieNnmf8AACAAHNucm+I lmQkaH2IfWY0XfSIRGgpUjqHx2niRUOHWWtfNpyHQ2yGJTeH720DDTmKOGt4AACAAHfCcdaGsGn7 Z7+Gvmt7XQmGlGzrUViGLG5IREOFrW9yNZmFeXBYJDOF2nCnDGaHFW9PAACAAHvBcRqE5W/vZvCF GnDjXByFBnHXUFGEnnLLQ0WEE3OtNI+Dw3RVIyiD1nSCC46ERHOQAACAAH9lcBqDLXXzZe+DhXZg WxyDi3baT0eDL3dnQjSCnnf7M3eCFHhwIgWB33iNCpiBvnhfAACAAIAAbuSBi3wBZMuCCHvqWgmC KHvqTkKB1XwPQTOBPnxTMnmAoHydION/4HzJCUx/d310AACAAIAAbaB/84IlY6eAkoGFWQKAzoEE TUyAgYC9QEF/3IC1MXB/J4DlH8J+MYFbB6x9bIHsAACAAIAAbBh+h4g4YnF/Y4cYWBR/xIYVTIh/ ZoVZP41+i4T3MM99mYUMHz18SIXsCCB72YU+AACAAIAAatOUbVjiYeyTj1v0WEKSmV7RTXSRnmFN QTmQ5WNTMy+Q1GTMIkOSL2VRCyaWe2N9AACAAG5gaWySVV3OYIeRnWBiVuGQv2LFTBePzGTaP9iP DmaSMcKO7mfRILyQJmgkCcqTGWZ9AACAAHKhaKSQdWLqX52P2mT3VguPHmbuSx6OI2ikPsyNVGoU MKGNFmsbH4KOFmtCCMWPqWnYAACAAHbtaDaOu2g+XwqOQ2nDVUCNj2s6SmGMm2ylPd+LtG3SL6WL Vm6kHnSME26oB/iMmW2UAACAAHrkZ6iNDm28XmKMvm60VGyMH2+2SWWLJnDCPPGKJ3G4LpmJsnJY HVuKK3JDByuJ4HG1AACAAH6BZrKLZnNJXWaLPXO9U22KvHRJSFSJ1XT2O9KI0XWrLWyIHHYmHBSI YnYBBj2Hd3ZeAACAAIAAZVSJ13jKXCmJ0XjJUkqJaXjqR0GIkXk5Or+HlHmiLFiG2Xn3GseGpXnm BTOFW3sDAACAAIAAY9aIY35NWtyIfX3dUSaIK32TRjaHW32GOb6GXH2qK1CFnH3kGauFQ34ZBC+D hn8DAACAAIAAYf+HM4OQWXOHYILQUBGHFoI0RVWGRIHQOPiFN4GsKrOEWIHKGT6DuIJcBHCCB4Iw AACAAIAAqspcU1LfnDRe3lc3jGZhR1tdezhjcl8maO9lP2KKVYNmdmWbP5xmTWhlI1pfZmo0AACA AHSwqGtYSVtimipbLF8Dirtd32JnegNgQWV+aCViLmg9VQxjXmq/P3di220VI6Zalm7CAACAAHne prJUk2Q0mHVXuWcGiVtaxGmyeN5dT2wCZ0hfTm4aVHJgaXANPypfd3HzI9NWE3OTAACAAH6upUxR Om04lylUp28/iBVX1XEfd81aoXK/Zl5cmnQqU7tdknWTPrBcG3cQI81R1njCAACAAIAAo+BOKnZV leZR2XedhvJVM3i4dsZYAnmiZWNaGnpwUu5a3HtXPhpYy3x8I5ZN7X55AACAAIAAoj9LSH+ClHVP MYANhbRSuoB1db1Vn4C3ZJBXooDwUhVYVYFVPYFVnIJAI1VKboUCAACAAIAAoGtIhIjHks9MnYic hEtQVYhVdJ9TXIf4Y8JVZoeqUZBV6YesPP9SrYhnIyNHaoy5AACAAIAAnppF5JJikSdKJ5F9guFO C5CBc39ROo99YvJTVo6qUQ5TvI5ePNJP/I9SIwNE0pP5AACAAIAAnJVDUpw0j0lHq5q0gUpLuJkN ckxPG5dcYiZRYpX3UJxR0JVnPL5NzpbrI3NEFJf4AACAAIAAogNhV1LalBVjiFcQhRZlmVsWdORn c17FY5ppAWIRUQ1qFmUEO/JqFWecIEhkx2jtAACAAHM+oAZdYlsJklZf8F6Ng51iT2Hgc6ZkXmTi Yo1mAmeMUDdnCGn3O2ZmoGwiIFVgFG1gAACAAHhdnn1ZxWNskNdclmYogmBfSWjEcpphfGsMYcFj L20cT6JkG28DOwxjPnDGIE1bpHHyAACAAH0fnS5WhWwBj6FZnG35gTJcc2/RcZ1e5HF2YOBgjXLm TuhhUnRLOoNf6HWtICJXiXbmAACAAIAAm95TinS4jnVW43X2gB9Z43cTcJ9cWHgJX+leF3jlThJe oHnOOdlcknrdH8dTwHxaAACAAIAAml9Qtn2EjR1UR34Ifu9XdH50b5ZZ+X7GXwpbo38WTSNcCX+E OR1ZQIBdH1VQVYKPAACAAIAAmLFN+IZii5VRuoYrfZZVEYXlbnJXsoWaXiFZWYVpTHlZiYWBOGZW B4Y2HuVNUYnZAACAAIAAlwRLW4+FigtPSI6KfDpSyI2KbUxVh4ydXTZXM4vwS85XOIvIOAxTGoy8 HoRMa5CsAACAAIAAlSlIxJjDiE9M0JcGerJQd5VKbAxTXZO2XEFVHpKOSyJVEZI4N7NQeJPKHrVM GJTDAACAAIAAmXdmoFL/jClodVcafd1qL1sEbmxru16XXehtCGHDTBxt/WSNN79uImbmHL5qfmem AACAAHHdl7Zixlq+io9k8l4efHxm8mFRbU9oq2Q6XQtqC2bSS3dq7WkhN1dqqmsZHLRl12vEAACA AHbtlk5fLWK5iUNhpGVde35kBWftbF5l4GopXC9nRmwrSrpoBW39NsxnRG+XHJ9hjHBBAACAAHui lSNcEGrgiC9e0GzLemNhTm6Za3RjYXA+W19kunGtSgplUHMINkFj/nRFHEpdonTxAACAAH/6k+tZ MHMohxNcLnRheVhe0nV/anxg63Z+WmpiU3djSSxiqXhJNYNgq3k4G8haCnoeAACAAIAAkoxWcHuH hdRZpnwNeDhcdHyBaXZemXzjWYRf7H1FSC1gD322NKpdSX5yGylWzX/7AACAAIAAkQVTwIP1hG5X JoPEdvVaG4OLaFlcV4NUWI9doIM5R2pdioNdM8xZ4oP5GoFT7YbOAACAAIAAj4FRL4yYgwpUv4um dbVX2Yq3Zz1aLInjV5tbc4lURqlbKYk+M1JW0oocGeZUOY0pAACAAIAAjeJOoZVKgYVSU5OLdFVV kZHbZg5YApBjVp9ZT49iReFY4Y8nMs9T5pCbGelUNZGEAACAAIAAkQxsKlNHhERtoFc3dp1u/1r4 Z+twOV5kWDFxR2FqRyRyHWQHM39ycWYaGQNwimY4AACAAHCdj2RoZFqVgtlqNF3YdWZr2GDrZu9t PmO6V2ZuW2Y2RoJvHGhhMwhvBmoaGM5sEmogAACAAHWQjhpk+GIOgaNnCmSZdHNpA2cNZhBqhmk+ VqVrp2s0Rd1sQ2zvMohrrG5TGJhn725RAACAAHo4jQ5h52nLgKpkRWulc4BmZm1mZUNoLm8TVc1p L3B8RRNpk3HIMd1oXHLZGD9kInLkAACAAH6Fi+pfKXGbf6VhzXLRcoZkF3PyZEllz3T6VNhm3HXn RC9nAXbFMQ9lH3eNF4xg2XfDAACAAIAAiqNcgXmAfndfWHoPcW5hxXqQY0VjinsEU+1kiHt3QyZk b3vpMCFhv3yAFsRd4H1FAACAAIAAiT1Z5IFzfS9c6oFWcENffIEzYjZhVYEVUvdiRoEQQlhh9IE7 LypeSYG0Fe1bP4OcAACAAIAAh9xXY4mNe+xakoi7bx1dRoftYSlfMoc6UgdgHYbFQYxflIa6Lpxb MYdyFSNcRol7AACAAIAAhnBU5JGyeppYNZAbbelbC46TYBddEI1BURdd+4xeQMRdR4wrLgtYK41l FQ1ca448AACAAIAAiI5x6VOhfE1zB1dgb0x0EVryYV50/l4yUm51z2EMQht2i2N3LyB3F2U8FP13 DmSfAACAAG+AhuFuSFp1evlvvl2ZbjVxDGCNYHhyIGM8Ualy/GWXQW9zn2eZLpFzvmkKFJty0mhS AACAAHRIha1rBmF5edxsvWPxbVFuWmZRX6Zvh2huUO1wYmpQQMdw3WvsLgNwe20PFDxu8WxJAACA AHjlhL1oKGisePJqJGp+bGZr3Ww5XtdtP23aUBlt/G9AQAFuP3B5LVNtP3FRE71rZnCSAACAAH0n g7xlh3AEeAFnxHE4a31pqHJdXelrAHNvTyRrwXRoPwtrsXU+LGhp8HXWEvRoN3VFAACAAIAAgn9i 9ndmdudlc3gAanxng3iSXPFo43kcTjJpg3mhPf1pMXoVK2tmqnqAEg9linpyAACAAIAAgStgbX7R da5jFX7PaVplRn7LW+hmun7MTT9nU37gPSdmzH8RKmljQX9hESxjGoBaAACAAIAAf99eAIZYdH9g 0oWzaEZjJIURWuhkqYSITFVlOoQ0PFlkfIQyKcpgM4S7EFdkYoXMAACAAIAAfoxbkY3kc0heiIyR Zyxg+4tHWe1imYooS3djKYlnO51iP4k6KT5dO4otEENkg4pFAACAAIAAf9B31VPvdDJ4qVeDZ+15 aVrqWsx6EF3/TKR6qWCrPQB7UGLeKp58H2RLENR9xGL3AACAAG6Efh10dFpJcuh1lF1QZuJ2jWAl Wep3UmK0S9Z38GTuPEJ4eGbBKfF42GfjEFF5r2Z9AACAAHMYfPtxaWDUcdxyxmM7Zg10B2WHWRt0 3GeTSxN1cmleO4l1zWrWKUd1qGuwD9R19mpGAACAAHeqfBputmeIcPpwU2lTZSVxrmsJWEpyq2yi Sj1zJW4BOrtzSG8gKIZyiW+3D0BynG5dAACAAHviezVsPW5TcBtuFm+LZD9vkXC3V2FwiHHRSU1w +HLQOcdwz3OXJ5hvWnP1Dn1vknLVAACAAH+6ehpp0XUybxZr5XXZY0ttinZ9Vm1uhncgSFVu0ne7 OKZuSngxJnRr+HhoDXds2XfZAACAAIAAeMZnV3wPbedpqnwoYjxrfnxEVW9siXxpR19swHycN8Zs AnzUJWloq3z1DJVqvH1jAACAAIAAd3pk+YL7bLhneIKGYSVpbIIWVG9qioG+RnRqvYGPNvJpy4GX JLRlsYHsC8tsEYJuAACAAIAAdiFinInea4BlSYjZYA9nYofYU3tol4b5RZ9oyYZjNkNnrIY/JDRi 5YbsC8psE4aPAACAAIAAdtJ9+lQea/t+i1eUYIh/CFrYVDx/b13FRtZ/1mBEN9SAbGI6JfSBiWND DOeEAmF+AACAAG2odSF66Vn/aq57s1zuX3V8WF+pU0h80GIbRex9MWQyNvJ9pGXTJRp+VGaaDEGA CGTWAACAAHIEdA14IWAQaax5H2JnXqV6AGSkUnR6e2afRRt6y2hTNiN7C2mjJE57NWoqC6p8bWhz AACAAHaLc0B1nmZHaNt212gMXcd3zmm+Uap4Z2tSRD94lmymNUl4nG2nI3Z4LW3zCwp5MmxfAACA AHq6cmRzP2ySaAB0s23NXN51xm7+ULl2W3AhQ1F2fXEgNFF2QHHVInx1JHHuCkh2TnCnAACAAH6K cVhw7HLgZwBymnOXW+dz1HRPT750b3UEQlR0eHWqMzlz2nYdIVtx+HYQCWVztXVnAACAAIAAcBlu k3kyZd1wf3lnWt5x5nmkTsRyjnntQVpyeno9MjxxmHp4IBdugXpcCC5yLHq1AACAAIAAbr1sPH+D ZLBucX86WdlwDn77TdRwwX7WQG5wkX7OMVBvbH7eHzdrmH7yB2BziH9fAACAAIAAbT5p94WpY2Js ZYTzWLpuKoRDTN9u9IOsP51uwYNIMK1tcIMtHsJpHoOPB3xzWYMtAACAAIAAbbCEb1QfY7uEuFeB WS+E7lqtTb2FEl15QRGFRV/LMqSFz2F/IS6HSmIaCU2JrWA1AACAAGzqbAiBuFmIYmSCJFxlWAKC bV8MTKOCkmFmP/uCtmNbMZCDGmTGIBaEL2UlCIKFxWNgAACAAHEUav9/Ol8gYWd/zWFsVzOAQ2Oe S8WAXmWKPxaAZ2coMKSAlGhNHyKBKGhzB9WCQWbWAACAAHWLakd86GTdYKl9smafVl5+N2hPSwR+ ZmniPjd+SmsrL75+OmwLHi9+OGv8By1/H2qbAACAAHmxaX56pGqsX917q2vrVX58T20lShN8eG5R PUt8SG9TLrx7+G/vHR57UW+yBm98VW63AACAAH16aHR4X3B3Xtp5pHE8VIB6cXIHSQp6pXLSPDp6 XnOFLZx5uHPoG+N4WHOHBZB52nNAAACAAIAAZyp2HXYsXah3pHaDU2V4nnbmSAB44ndTOzR4i3e3 LJZ3q3fpGpV1K3d6BHx4a3gzAACAAIAAZclz2HvnXHB1o3vSUlF2zXvLRwN3IXvaOj12uHv1K4h1 mHwCGXNykXu9A0Z6eHyfAACAAIAAZA1xs4FFWxZz4IDmUU51SoCNRjd1oYBEOYV1BYAUKudzi3/9 GORwEn/+A3V6KIAkAACAAIAAZGKLTlQEW3OLQVdfUdmLLVp6RzWLFl0nOyyLIV9GLTmLrGCtHAWN qGC+BdeO4l8RAACAAGxEYriI71jmWfGI7Vu1UG+I1V5PRdSIq2CSOcuInGJhK9OJA2OLGomKsGNm BNqLAWINAACAAHBFYZ+GvV33WOSG0WA7T5aGzWJoROeGiGRKONGGUmXOKsmGgWa9GWOHuWZlBBqH iGVcAACAAHSkYOyEnWM8WDOE4GT+TsmE42auRDeEnmhCN/iEP2l9KeGEL2oyGF6E22mrA3iEdmj+ AACAAHjEYDWCcGicV3uC9GnfTfaDFmsgQ0yCzGxTNxuCTW1VKOKCAm3NFz+CFG0cAsaBvmzyAACA AHyFXy6AL23wVnyA+m7BTP6BTG+dQkSBE3B5NgOAhHEyJ79/4nF7Fel/T3CiAfx/WXFJAACAAH/h XcB98XMSVTl/BXOLS99/iHQTQTx/ZXSgNPx+z3UTJq59/3UuFIR8jHRDASB+GXXtAACAAIAAXDV7 xngaU+d9InhGSr191niBQDp9x3jFNAd9KXj6JbJ8K3jyE4N6fHgoAE5/fHoHAACAAIAAWi95x3ym Ul17Z3y4SZd8RnzJP1Z8Q3zUM0Z7kXzSJRJ6V3yzEwx4cHwxAGJ/W31wAACAAIAAAAD//wAA//8A AP//AABtZnQyAAAAAAQDCQAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAABAAAC AAACwAU9B2UJXAs6DQUOvxBiEf8TlRUlFrQYQhnOG1gc3R5aH9YhTyLHJD4ltSdIKNkqYyvoLWgu 5zBlMeIzXjTZNlM3zjlHOro8Kj2aPwlAeUHoQ1hEx0Y3R6hJFkp9S+RNTE6zUBpRglLqVFJVulci WIlZ6ltLXKxeDV9vYNBiMWOTZPRmVWe2aRFqamvCbRpucm/JcSByd3PNdSN2eHfMeRx6aHuzfP5+ R3+QgNeCHYNihKaF6IcpiGiJo4rZjA6NQY5yj6GQzpH5kyOUSpVvlpOXtJjTmfCbCJwdnS+eP59N oFmhY6Jro3GkdaV2pnWnc6huqWeqXqtTrEatNK4frwmv8LDWsbqynLN8tFq1N7YStuu3w7iauW66 QrsUu+S8s72Bvk6/Gb/jwKvBcsI4wv3DwMSDxUXGBsbGx4XIQ8kByb7Kess1y+/Mqc1izhrO0s+J 0D/Q9NGp0l3TEdPD1HPVI9XR1n/XLNfZ2IXZMNna2oPbLNvU3HrdIN3G3mrfDd+v4FHg8eGR4i/i zeNp5AXkn+U55dHmaeb/55XoKei86U7p3eps6vnrhuwR7JztJu2v7jjuv+9G78zwUfDV8Vnx3PJe 8uDzYfPh9GH04PVf9eL2ZPbl92X35Phi+OD5Xfna+lb60vtN+8f8Qfy6/TP9qv4i/pn/Ef+I//8A AAJWBIYGhghnCjUL8g2jDzcQwhJJE8wVTRbQGFIZ0htSHMceOh+rIR0ijSP/JYcnDyiUKhQrkS0M LocwATF8MvY0cDXqN2Y42TpIO7g9KD6ZQApBfELuRGFF1UdESK1KFkt/TOlOU0+9USdSklP8VWdW y1gsWY1a7lxPXbBfEWByYdJjMmSRZexnQGiUaehrOmyMbd1vLXB9ccxzGXRmdbB28ng0eXR6tHvy fTB+bH+ngOGCGYNRhIeFvIbqiBWJP4poi4+MtY3ajv6QIJFBkmGTf5SclbiW05fqmPyaDpsenC6d PJ5Jn1SgX6FoonCjd6R9pYGmhKeGqIaphap+q3Wsa61frlKvQ7AzsSGyDbL4s+G0yLWutpG3c7hT uTG6Drrou8G8mL1svj2/Db/bwKfBccI5wv/DxMSHxUjGB8bFx4HIO8j0yavKYcsVy8jMec0pzdjO hs8yz97QiNEx0dnSftMi08XUaNUK1avWS9br14vYKtjI2WbaA9qg2z3b2dx13RHdrN5H3uLffOAW 4LDhSuHj4nzjFeOu5Ebk3uV25g3mpOc759LoZuj66Y3qIOqz60Xr1+xp7Pvtje4e7q/vP+/Q8GDw 8PGA8g/ynvMu8730T/Th9XL2A/aU9yT3s/hC+NH5YPnv+n37C/uY/CT8sf0+/cr+V/7k/3H//wAA AeMDqwVQBtsIVgnFCywMjQ3hDzEQfxHMExoUZxWzFv4YSBmPGtMcFx1bHp4f8yFIIpoj6SU4JoQn zykaKmUrryz6LkUvkDDbMiYzcDS2Nf03RDiLOdI7GjxiPak+8UA4QX1CwEQDRUZGiUfMSQ9KUkuV TNdOGk9cUJpR2FMVVFJVj1bLWAZZQlp8W7Zc8F4oX1xgj2HCYvRkJmVWZoZntWjkahFrPmxqbZVu vG/icQdyLHNPdHJ1k3a0d9N48noPeyx8R31ifnp/kICmgbqCzoPghPKGAocSiCCJLoo7i0eMUo1d jmaPbpB0kXmSfZOAlIOVhJaEl4OYgpl/mnubdpxwnWmeYZ9XoE2hQaI1oyikGaUKpfmm56fUqMCp q6qVq36sZq1NrjOvGK/8sN+xwrKjs4S0ZbVEtiO3AbffuLy5mbp2u1K8Lr0Kvea+wr+dwHnBVcIx ww3D6cTGxaPGgMddyDrJGMn2ytXLtMyTzXPOU8800BTQ9NHV0rbTltR21VfWN9cW1/bY1Nmz2pDb bdxJ3STd/t7X367gheFZ4izi/uPO5KHlc+ZD5xHn3uio6XHqN+r7673sfO057fPuqu9f8BHwwPFr 8hTyuvNc8/z0m/VN9fz2pvdM9+34i/kk+br6TPrb+2j78Pxy/O39Yv3S/jv+nv77/1T/qv//AAAC GwQXBekHnQk8CskMSA29DysQkhH0E1MUshYQF2oYwhoYG2wcvh4OH1wgqiIUI34k4yZEJ6MpACpb K7QtDC5iL7cxDDJgM7U1CDZcN7A5AzpVO6c8+T5LP51A70JAQ5FE4kYyR4FIz0oeS21Mu04KT1lQ qFH4U0dUllXkVzJYgFnOWxxcal24XwZgVGGiYu9kO2WGZtJoHWloarNr/m1JbpNv3nEocnFzuXUB dkh3jnjUehp7X3yjfeZ/KYBsga2C7oQthWqGp4fiiR2KV4uPjMeN/Y8ykGeRmpLMk/2VLJZbl4eY spnbmwOcKp1PnnKflKC1odSi8aQNpSamPqdVqGmpe6qMq5qspq2wrrivvrDCscSyw7PBtLy1tbar t6C4krmCum+7WrxDvSm+Db7vv87Aq8GGwl7DNMQHxNfFpsZyxzzIBMjJyY3KTssOy8vMh81BzfnO r89k0BfQyNF40ifS1NOA1CrU09V81iPWyddv2BPYt9la2f3an9tA2+Hcgd0i3cHeYd8A35/gPeDc 4XviGeK341bj9OST5THlz+Zt5wvnqOhG6OTpg+oh6sDrX+v+7J3tPO3b7nrvGO+28FPw7/GK8iPy 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 qoP0iExtJ4KyhYfYHI8xplLJIY0woeO6Y4s9nW2sDolzmRGeQYfZlOiRAoZhkO+EVoT1jQ14a4Oi iWBtQoJwhevXRY7FrVHISIzBp/G5jIrNooerQYkDnTudiYdwmDGQbIYGk2qD74Srjsp4NoNbilZt WoI3hkPWp45JtEPHq4xFrdy49IpTp26qr4iPoSqdAocFmzuP+4WplaSDnIRfkEl4CoMkizVtboIG ho7U2plJe/PHQZZ7fF25z5PDfNiscJEzfXCfF47OfiuR0oyCfw2E14o2gBV4UIfigUpsTYWfgsHT iph4gjnF+5Wwgfy4kpMHgcyrTJCDgbaeHY4ngcKREIvlgfKEWImkgkB4HIdggq9sbYU2g1TSVJfA iIrEvZUCh523RpJVhrKqCo/dheyc/42HhUeQLYtPhMWDvokbhFp32IbnhAZsi4TUg97RJJc2juLD b5R6jTq175HNi52oo489igybyIzwiLePNIq+h3+DFYiWhlp3jYZzhUlsp4R6hF7QC5axlWHCN5Pz kvK0n5FEkIunYI65jjqak4xNjA+ORoopiiGCc4gPiEF3Q4YBhnZswIQohNTO9JZEm97BD5N8mJ6z cJDDlWamP445kk+ZkYvlj2aNa4m1jKWB2Ierig529oWsh45s14PfhT7N/JXVolLAFZMLnjyyfJBQ miulW43GlkCYxot5ko2MwolZjw+BXIdKi692uIVdiIZs64OehZzNIpVrqKy/P5Kco7Sxr4/ensGk m41UmfqYHIsOlXuMN4j+kUOA+YcCjTh2hYUXiWJs/INmhe3Md5Tvrvq+n5IcqQqxHI9eoyWkFoza nXuXp4qfmC6L14ifkz2AtYa3jo12YYTjiihtCoM3hjLKnJ/Ke6e+Dpw7fBOxtpjAfJWlhJV0fTeZ ZpJcfgCNao9mfvGBzIx0gAV2tImBgUBsNIamgqzJXJ8JgV283Zt9gTCwkJgRgRWkc5TPgRmYe5G+ gUGMsY7PgY6BT4vmgfh2e4j/goBsSIZAgzXIM55fhx27rJrbhk6vU5dmhYejQZQvhOmXapEihG+L 2Y47hBmAuotdg9t2NYiGg7RsXIXig7XHFp3ZjOq6b5pYi22uCpbkif6h8ZOViKmWQ5CQh42K7I2u hpGAF4rbhat15ogWhNlsboWLhCvGAJ1ykr25O5nnkIqsxpZwjmmgupMjjG2VI4/8io6KCo0miO9/ eopfh2B1moeshehsfoU7hJnE/p0EmJ64JZlzlaurp5XwksqfpJKekBCULI+FjYaJP4ySiyN+74nh iPN1UodFht5sjIT0hPvEAZyanmq3K5j8mq6qtJVslwGew5IUk4WTaY8JkEuIoYw6jUd+fomFimZ1 FYb8h7tsmYS2hVLDHpw4pBC2VpiUn4ep8ZUAmxCeE5GoltCSzo6kkt+IH4vijzZ+HYlAi7505oa7 iH5spISAhZ3CW5vFqZ+1qZgapDapW5SCnuidlZEumeCSZI40lTqHzouFkPB954j4jOl0zYaLiS5s rYRShd3AnKZfe5y1EaIKfASpzp3FfISewpmxfSmT3pXcffiJKpIzfvB+446WgAh1L4sDgT9sHYeU gpq/ZqWtgL2z9KFZgJqowJ0igIydy5kZgKGTBpVIgN+IfZGigUN+aY4KgcN08IqBglxsJ4cygxi+ SKUSheiy0aDFhS+nlJyChIOcqpiAhAiSBpSxg7OHsJEQg4R92Y2Bg250pooHg25sMIbXg4+9O6SY ix6xo6BKicWmWZwGiICba5fnh16Q7pQfhniGz5CDhbV9PYz/hQl0V4mXhHJsOYaDg/28M6Q2kFiw f5/djlilKZuVjHOaRJd3ireP4JONiSiF+Y/+h9B8p4yHho50C4kyhWVsQYY2hGK7LqPglYKvbp95 ktikF5shkEiZQ5cAjeyO+ZMli8eFQY92icR8J4wVh/RzyIjVhkBsSIXxhL66PKN+mp2ugZ8Ml0Kj MpqmlAKYb5Z9kPqORJKljjKEq48Ni597wouhiTRzh4h7hv9sToW1hQ65UKMmn4etp56gm3Kia5oo l3uXwJX0k8aNsJIlkGOEMo6qjUZ7ZItdilxzXYhAh6xsVIWAhVS4d6LApEms754vn3Sh1ZmvmsWX SpV9lmWNU5G5kmiD845UjsN7P4sdi2FzU4gXiEhsWIVUhZC2760Je7msZafmfBeiMqLMfJCYSp3k fTOOmplFfgWFKJThfv98LJCWgBVzyYxmgUNsCIhogom1wKxmgEOrWadBgCKhPqI1gB6Xbp1XgEGN 2Zi8gJKEiJRXgQl7tZANgZlzgovigj9sCYgKgv+0rKvahNWqRaa6hCygI6Gfg5iWX5zHgzyM55gp gwuDxZPHgwF7KY+Fgw9zNYtogzFsCYeyg22zrattiXCpJKZJiDae96EphxiVLpwuhieL3JeWhXeC 7pM4hOp6ko8AhHZy5or3hBdsCodgg9OysqsVjgioD6XhjDqd1KC5io+UFJu9iRWK2pb/h8+CI5Kw hsF6BI6GhcpynIqThO1sCocWhDKxtKrIkomnC6WCkCec1KBIjeiTJZtJi+OKApaYihiBd5IriHd5 i44YhwNyWoo6ha5sC4bThIawuKp7luSmHqUik+ub+Z/XkReSYprPjoKJYJYojDGA8ZHUihN5MI2x iBxyIonrhlhsC4aZhNGvzqovmxSlUKTEl4GbRZ9qlBeRxppbkPGI25W5jhmAfpF2i4F40o1riRtx 9Imlhu1sC4ZmhROu5anXnwqkjKRQmtOapJ7YlsmRTZm7kxSIiZUjj76AVpEBjLt4yY0fifdx+YmD h3dsDIY7hUqtkbPHfBSkBa3OfGKa3qfUfM6SFaILfWeJlpyXfjGBYJdwfyR5pZJ1gC9ygo2rgU1r 9okmgnqsYLMugAejBK01f9+aAadKf9qRVKGMgAOI6ZwagF6AypbugOJ5LJHugX1yLY0lgilr7ojL guirVrKug/6iAqy4g1mY/qa/gtKQXKEFgo2ICpuOgnmAEJZigpB4oJFngr5x2Yyqgv1r5oh2g06q YrJPh/eg8axQhtKX46ZOhdKPPKBthQuHCpr6hIx/QZXRhDN4DJDhg/Jxh4w5g8Vr34gng66pbrII i+Wf56vwikKWzKXfiMuOLJ/7h5CGE5pdho9+f5VFhcd3hJBkhRdxQIvUhIBr2YffhAaocrHJj7ee 76uVjZqV26Vsi6iNTJ+DifiFRpn0iIZ94JS+h0B3Fo/3hiZxCIuAhSpr1IefhFWneLGGk1yeD6s2 kMeVFaT4jl2MoZ8IjDWEvJmHilJ9bpRriKN2yY+Yhxlw4Ys6hcJrz4dmhJumjrFFls6dSqrbk8CU cqSMkN+MG56VjkOEUpkdi/F9GpQYid12jY9eh/dwxYsBhkdryoc1hNilr7Dymf+cnqpzlniT86QW kyOLxJ4fkBiEG5i0jWB8/5PGivB2h48miLlwworfhr9rx4cLhQv2bHyie1DlFn0Ve+LTsn2JfHrC P335fRqwy35kfcyfaH7LfpqOIX83f499Bn+sgLxsJ4ApgkP03Ht3g57jmXwEg1HSWHyRgwTBGX0Z gsKv5X2bgpOex34XgoCNyn6YgoV9AH8ggqxseH+ugw/zbXp2i/3iLXsSisrQ7Xu1iYe/0HxPiFqu 0Xzjh0Sd+H1yhkyNTX4FhWJ8436ehIVsw389g83yGXmdlGzgzXpEkkXPj3rukBW+a3uajeKtoHw8 i+WdC3zbigKMtX19iCV8sn4nhkhtCH7UhH7w0njnnOLfe3mUmcfOPHpFlp+9Lnr1k3ysZnunkG6c GnxSjaGMFX0Cisx8eX26h/FtRn52hSHvlnhOpVjePXj/oUXM/nmznR+8A3pomQGraHsflP+bM3vZ kReLfnyUjVB8QX1YiXxtfn4hhbPubHfLrcTdF3h+qLbL3nk1o4m68XnunmKqenqqmWCagHtrlIKK 83wzj6J8Dn0CiuBtr33XhjPtXHdZtircEHgOsBPK33jHqdW5/3mEo5ipo3pFnYmZ2nsMl7CKjnvd keJ743y3jCFt2X2YhqTsZXb3vnfbJXett0/J/Xhor/O5J3koqJWo4HnuoW+ZOXq7mpCKH3uTk9R7 r3x1jUJt/X1ihwPsCIKiehjb6oJweszLw4JBe4q7i4IVfFOrTIHrfS6bIIHFfiSLIoGhfz17bYGB gIpsCIFrgiLqf4F+gerabIFggc/KZ4FIgbi6ZYEzgaiqa4EggaiaiIEPgcKK1oD/gfZ7boDygk9s TID0guHpK4B+icHZEYBwiM7JBYBqh8+5GYBohuGpT4BnhgeZr4BphUqKTYBshJ57QYBzhAVsioCF g5Pn53+wkaTXu3+uj8rHpH+ujei3qX+2jAWoEX/CilKYtX/RiLmJqX/lhyp7CH/9haZsxIAghDnm sn8GmZvWdH8IltPGUH8OlAK2YX8ZkTimz38rjoaXun9HjBGJAH9oiZ56yH+Qhy9s+H/DhNLlhX5y oZfVPX52nd7FFX5/mhW1OX6Ollmlyn6nkr6W0X7Kj0GIZn75i+56iX8viJxtJ39xhVvkaH3sqYvU IH3xpNjD+337oA+0LH4Pm1Ok4H4wlsWWHn5ekmSH3n6Wjg96Un7ZieVtT38phdTjZX1zsXDTIX14 q7nDAn2DpeSzP32coB2kC33FmpGVdX3+lUiHbX5CkBl6In6Oiwxtc37qhj3ihXz8uTHSR30DsmjC LH0Sq32ybX0xpKSjSn1jnhSU1X2nl96HAH32kdl56n5PjBBtkH62hpbh6YiveSbS7ofTefTD8ob+ es6054Yye7Wl2IVwfK2W44S3fcGILoP/fvd53YNHgF1r64KdggPgaoeigGbReobUgHLCmYYQgIiz vYVXgKak7ISqgNaWOYQFgR+HyoNigYB5wYK+ggJsIYIqgrXfLIaih8LQMoXihwLBTYUohj2yhISD hYqj44PphOmVcoNXhGSHUILHg/F5nII4g5NsVIG+g1zd94XdjyXO5oUmjYy/8IR2i++xHoPUilmi qINGiO2UdYLBh5mGo4JChlJ5U4HGhRdsgoFcg/fcx4U8lpbNo4SJlB2+ooPdkaCv3YM/jy+hc4Kw jNWTg4I5irOF/oHHiJV5DoFbhoJsrYEChIbbpYSqnhPMdoP4mrG9cYNOl0iuu4K1k/Ggc4IwkLyS pYG6jaWFaIFXirZ4zYD7h9Bs0oCyhQbam4QepYjLaYNtoTW8ZoLFnNWtvYIxmIyflIG2lHGR9YFQ kISE5IDyjKh4lICliP1s84BshXjZr4ObrOrKfYLrp5m7foJGojms4IG4nPOezoFHl+yRV4DukyiE eoCgjoR4YoBbigptEIAvhdrY7oMStCTJv4JlrcW6wYHGp1qsKIFBoRKeJIDdmx2QyoCSlYGEF4BT kBt4L4AfivZtKH/8hi7X3I7JeGnJ+o0+eUq8IYu8ejiuRYpLezagaojsfEiSroecfXSFQIZNfsF4 SoT8gDlrz4O9geXWdI3GfyjIn4xFf1W62YrVf4mtIol2f82ffIgrgCOR/IbtgJKE0YWygRl4I4R2 gb1r+YNOgovVN4zmhenHWotthVu5kYoChMWr64iyhEyeb4d1g+SRLIZIg5WES4Ufg1l374P3gzBs IILmgyjUHYwajNXGI4qsi3a4S4lGihOqm4fwiMGdUIbCh5eQTYWjhoWDuoSMhYN3t4N5hI9sRIKG g7nS+It+k8LE54oQkY23Aoitj1qpYodijTmcJYYvizWPYIUeiWODE4QVh5l3aYMThd5sZYIvhD7R 4IrwmrTDxYmDl6S13ogilJSoTobbkZubLoWyjsiOjoSfjBWCgoOmiYl3J4K1hw9sgoHhhLbQ5Yph oZ/CyIj1nai05IeVma6nYIZUldKaXIU3kimN5YQ2jrCCBYNAi0527oJhiCBsnIGdhSDQB4nZqHLB 7Ihto4i0DocRnpymloXWmdWZp4TElVKNU4PTkROBoYLwjPt2vIIXiRNssoFihX3PWYlDryLBQYfb qTSzZ4aFo0ql9YVWnZKZFIRUmDSM2IN0kzCBSoKijml2joHdielsxYEwhcvN5ZT3d/jBEJK3eOK0 VZCBedunpI5heuia/4xefAuOf4pwfUiCXYiGfqN2woadgCJrtITLgcjMkpQBfjC/0JHHfnSzJI+j fsGmko2VfyCaGYukf5SN0InHgCGB64fvgMV2lIYZgYRr04RfgmTLa5MohHG+npD4hAOx7o7Vg5al aYzYg0OZForzgwiNBYkmguaBY4dfgtV2WIWdgtdr74P7gvbKUJJ+iri9Z5BSiYywro4xiGmkJown h0+YAIpOhmaMKYiNhZKAz4bVhM12F4UnhBlsCoOeg37JSZHckSG8RY+xjyyveo2TjT+jAIuPi2WW 7omkia2LVofziCeAQYZNhq5114S0hUZsIYNKg/vIPZFPl4S7L48glL6uYoz9kf+h9or/j2CWAYkr jO2Kj4d2ipx/tIXhiHF1kYRahltsN4L+hGvHSpDCndi6Po6TmjqteYxzlqOhHIp7kzSVP4izj/uJ 8IcQjPR/QIV9igl1WIQIh1JsSYK8hM7GcpA8pAu5bY4Nn4ussYvvmxWgYYn8ls6UmohAktCJaYat jxZ+4YUui4d1KIPAiCxsWYKDhSXFxo+mqiK4yo15pKysGIthn0uf04l6mimUGofNlWSJAYZNkPl+ mITijM51AoOKiO1sZ4JThW7EEJs2d8+4RZg8eLmsopVKebWhGpJzeseVqY/De/OKZY0xfTl/jIqn fpp1RogmgBZrnIXDga7C05pPfXu3HZdZfcyri5R3fiqgHZGyfpyU0Y8RfyiJvoyOf81/HIoUgId1 E4ejgVdrsIVbgkDBv5mEgy+1/5aVgtuqaJOygo2fBpD8gl2T3Y5mgkiI/Yvwgkx+mImGgmJ01Yco goprwoT6gsjAupjeiO203ZX0h+ipO5MThu+d25BQhg2S143GhVeILItbhLl+CIkAhCt0j4a2g65r 04Shg0e/t5hWjq6zw5VmjPKoFZKFi0acwo/HibqR2I0oiEmHZIrMhwx9foiAhdt0TIZKhL5r44RP g7y+xJfKlHmywpTXkfunD5Hxj5Cbxo8zjUqQ+IykizCGroo1iTh9AYgAh2x0C4XihbVr8IQGhCW9 05dDmi2x1pRJluWmLJFdk6+a846fkKqQQIwgjeOGGInTi058lYegiNlz0oWVhpNr/IPGhIK8+JbG n7exCZPLm6Glb5Dfl6OaSI4nk9+PqIuykGaFm4l1jTF8OodUiilzpoVRh1dsB4OPhNO8P5Y8pSCw YZNAoC2k2ZBXm1yZxI2oltSPN4tBkquFQ4kYjtt7/4cMi0tzi4UfiANsEINghRe6dqGCd+GvtZ3I eMSlKZoRebqaw5Z6esyQgJMUe/qGdY/XfUJ83oysfqFz4YmTgBRrhoakgZe5SqCtfP2uopzzfVOk J5lNfbuZ25XGfjuPuJJuftiF1o88f498bowcgFlzpokRgTRrkIZAgh+4SZ/xgh6tl5w9gd2jGJiS gaiY1pUZgZaO05HJgaKFII6igch774uQggBzZYiXgkdrmYXigp+3Wp9Vh0isiZukhmWh/pf6hZOX vpRvhOCN3ZEqhFyEWo4Og/F7ZYsKg5dzIIglg01roYWMgxW2ap7SjHSrg5saiuig7JdwiXWWtpPp iCeM75CPhwCDnY2BhgR64YqOhRly3Ie9hEFrqYU9g4O1dp5dkZCqiJqbj1if85bnjTqVzJNhi02M HJAXiZGC9oz1h/N6bIoZhn5ynodehR9rsIT2g+W0k53flp2pqZoYk7GfHZZdkOKVBpLVjkyLc4+R i/KCaoyGicZ6DImkh75yYYcDheNrtoS5hDyzsp1tm3qo25mbl9OeYZXVlE2UX5JJkQuK5I8QjhmB 9Iwfi2Z5s4laiONyOYbEhpJrvISDhIiy5pz0oC2oKpkem8WdzJVYl4iT45HSk5yKf46mkBGBrovK jNp5iYkZieFyLIaYhytrwIRVhMixMafbeBWne6NVeOueAp7RediUuppweuSLnpZLfBGCwZJefVh6 Xo6PfrFymIrigBZrcodsgYGwEacZfJ2mdqKSfPWdE54cfWOT5JnKfe6K5ZWwfpmCK5HKf1958I4C gDVyVopggRdrc4cMggGvIaZsgSmlfaHqgPicF51tgNiS8pkmgOOKD5USgQ2BfpE0gVR5dI14gapy EYnmgg1rdIaxgnmuSaXbhbukhaFZhPibD5zbhEyR65h9g8WJJpR0g3KAwpCfgzl48IzygxFxy4l1 gvZrdYZegumtbaVhikujkqDUiPCaDpxTh7WQ8Zf4hqaIRJPUhcOAD5AShQx4cox0hGVxiYkOg9Br doYSg1Csg6TzjsiipKBbjNWZJZvPiwSQFZd1iWqHfpNgiAR/co+JhsB4A4wDhZ9xTYiyhJZrdoXN g6yrlaSMkyWhxJ/okJWYVptRji2PXZb0jAKG45LqihZ+848qiFh3rIuahrpxF4hhhUVrd4WRg/6q tqQol1ag/p95lCiXp5rbkSeOxJZ7jmuGYZJ3i/t+g47HicR3U4tPh7lw6YgZhd9reIVdhEWp2KPB m1WgQp8Dl32XC5pRk9mOS5XokIyGCZHtjZx+Uo5aivt3QIsEiJNw6ofyhmhreIUxhIKoQ64yeH+f m6jceUCXMaODehyO/Z5QexyG/ZlnfEB/RZTFfX94CZBRfstxaIwUgB5rYIgggW6nHq2KfHCelagw fMKWSaLjfS6OM529fb2GT5jafnB+s5Q6fz93mI/JgBxxG4uRgQFrWYfCgeemP6zsgGKdr6eWgDmV Y6JAgCeNVZ0jgEiFiJhDgI1+DpOogPB3HY9AgWFw0IsXgdprU4drglelgqxnhFSc0KcNg6yUcaG0 gyCMYZx7gsOErJelgp19XJMSgpN2nY64gphwiYqmgqlrTYcagsGkuqv4iEKb8aaPhxaTgaEvhhGL dJv4hT+D1pcChJ58spKChCd2JY46g8FwSopAg2prR4bRgyGj2quWjBybEaYcim6SpqCtiOuKppt2 h6KDG5aOhpB8IZH5haJ1wI3JhNNwFonohBprQ4aOg3mi7Ks5j9WaOqWtjaSR5qAyi6GKAJr4id6C k5YdiFp7spGfhwN1dI1nhclv74mfhLdrPoZUg8WiB6rik16ZdqVIkKqRQZ/CjimJdpqFi+6CJZWz ifp7XJFJiD11OI0ohqlv0YlihUFrO4YihAmhKaqGlq2YxqTgk3eQuZ9TkHmJEpoXjciB4JVRi2t7 NJD5iVB1KIzvh2lvy4k7hbhrOIX3hELtxHlQdp3dV3ojd8rM0Xr1ePe8M3vAeiCrnHyCe0ybLX0+ fIuK933/fe57FX7Lf4drkH+egW7sGnf6ftPbynjwfyPLbHnjf2u7B3rMf7Gqs3upf/2aiHx+gFuK m31XgNJ7B345gWxr238fgj7qoXbThxzaV3fehoPKCHjuhda5yHnthS+pqnrghJaZxHvLhBKKJny6 g5966n2xgz5sIX6qgwHpU3Xbj3bZAXb0jePItHgOjES4eHklipqojnopiRqY6nsnh7GJnHwphlF6 wX0zhPlsYX4+g7foHXUKl9jXwHYslUfHcXdOkqe3S3hskAynanmFjYGYDHqSizSJC3uliOZ6kXzB hppsm33chF3m8XRYoDPWjnWAnJ7GPnapmPq2KnfNlWCmd3jtkeaXM3oPjoqIgHsvi1R6YXxaiBxs z32FhPPl0HO9qHzVbHTqo+DFH3YYny61GXdDmoyljHhslhiWhXmWkdCH/XrJjY96NnwAiXls/H04 hXjkxHM2sLfUY3RmqwfEG3WZpT60InbKn4eksXf7mg6V33kulNiHm3prj7d6EHuyirJtI3z2hevj xnLAuM7TaXPzsgPDJXUqqxqzNnZhpEWj33eZnb+VNnjWl5CHKXobkZB52Xtsi8ZtRHy+hk3j3H8B daXUl389dunFP393eDC1z3+reXimZH/cesaXH4AOfCaIIoBFfad5joCDf1hrcoDNgUbiRX26fVjT FH4QfdDD4H5nfka0pH64frmleH8EfzGWeX9Qf7uHx3+egFx5hH/0gR5rsYBSggvg7nybhR3Rt30E hLrCh31zhEmzaH3ag9+kbn49g4CVsX6egzWHSn8Dgvl5W39ugs9r63/ggsLfs3usjO/QbXwki6HB OHycikqyHn0WiPCjVX2Ih7mU1338hpWGvX50hXt5KX7yhGtsIH93g23eiXrhlNHPNntikpC//Hvk kEew9HxkjgaiOnzli9eT/X1oidyGLH3xh+J4836Bhe9sUX8YhAvdZXotnLPOC3q1mXi+0Xs+ljWv 3HvGkwKhS3xRj++TLXzjjPeFpH17iiN4v34bh1RsfH7DhJjcSnmKpIHM8HoXoEa9u3qlnACu1Xs3 l9GgaHvOk9GSgnxsj/yFJ30TjDR4kH3CiJdson55hRXbRXj3rDvL7nmHpvO8v3ocoaCt6Hq2nGuf l3tYl3aR4XwDksOEwny3jit4Z310ibdsw344hYLaUXhrs7vK/3j/rV671XmapvitCXo/oLie0Hrt ms2RQXumlTqEVnxoj9h4Mn0yirNs334Chd7aIYTgdNrL/IR8djS9xoQWd5SveYOuePahMYNHel6T GYLme9eFWIKKfW94GYI0fzFrVYHtgSDYloOufALKfoNbfJu8aYMLfTiuToK8fdSgRYJvfnWScIIo fyeE9oHlf+93/oGngNRriIF2gdnXX4KMg07JO4JJgxq7LYINguGtKIHVgqqfT4GggnuRu4FxgmCE joFFglh354EegmVrt4EIgobWP4Gqip3IBIF1iYq54IFDiHGr3IEWh1yeMYDvhmWQ2YDRhYKD9IC4 hKt3poCmg+Jr44CigyfVIoDqkfnG1oC+j/+4qoCUjgKqs4BtjA+dGoBNijKQAIA+iIaDYoA2huF3 aoA2hUdsCoBGg7vUBoA7mVnFs4AVlnG3iH/xk4Wppn/SkK2cMH+/jfiPN3+3i2GC3H/AiPN3MX/S hpFsLX/zhEHS9n+RoKfEpX9vnMi2f39SmOSorn8+lRybWn85kYiOk39DjiWCZH9Xitd2/n95h7ps TH+rhLbR/H7yp9rDsH7Uovm1k36+nhSn0H62mVSalX6/lNuN937akKqB/H7/jJ520X8tiMJsZ39s hR3RIH5MrtHC2X41qOO0v34povWnBH4wnTuZ3H5Ml96NYn55kuOBl36vjiF2nn7uiaVsfX83hXTQ lYrBdFjDfYm3db+2Yoiqdy2pOIefeKCcGIadehqPLYWoe6WCqIS4fUt2soPQfxVrOoL8gPzPI4mb ewfCH4ide7q1G4enfG6oHIazfSabM4XLfeWOhITvfrWCPYQYf5h2iYNGgJZrYYKJgarN+IiYgbfA 5Iekgauz4Ya6gZem9YXbgZGaOIUHgZSNxIRAgaqBwYN/gc92WILEggVrhoIfgk3M8oewiI2/wIbL h62yroXphsilwoUPhe+ZNIRLhTSM+4OWhIyBQILrg/F2JYJHg2RrqIG9guXL34b2j2a+moYXjaux f4U8i/KkpIRsikmYKYOtiLuMKYMIh1eArYJshft14YHbhK5rx4Fjg3DKz4ZJljy9hYVvk6GwbYSa kQqjpYPUjouXSIMijDKLbIKBifaALYH4h+B1p4F5hdtr4oETg+7J0IWdnQC8ioTHmXyveoP5lfyi wYM+kp6WgoKcj3WKz4IPjHt/u4GPiZp1c4Eihupr+oDNhF3I6oT5o6a7qoQpny6upINimr6h+oKz lnmV0YIgkn2KQoGmjsZ/W4E4izd1RoDWh9psD4CQhL3IKIRKqhi68IOApJ+t8ILGnzShTYInmgeV NYGplTqJwoFDkMl/A4DpjJZ1GoCaiKlsIIBdhQ/HD5CsdBa6/I72dX+u9409dvKi9IuKeGyXA4np efKLSIhce4d/+obXfTV1Q4Vbfv5rIIP6gNrFu4+Tej65vo3mewKtzYxCe8ih7IqnfJaWKIkefW6K ooeoflZ/joY6f1F1FoTUgF9rPYOLgX7Epo6ZgHC4moz2gH+sqYtdgIug2InWgKiVOohggNOJ6Yb+ gQ9/EoWlgVl034RVgbFrWIMkghfDpY3Ohqi3fYw0hfSrgYqehUeftYkWhKCUQYevhCCJJYZdg69+ kIUXg0p0pYPdgvJrcYLFgqbCsI0PjP22cot7i3yqaYnsigOeq4htiJ2TT4b/h1WIaoW/hjh+EoSM hSR0bYNphB9rh4JvgynBroxkk0a1bIrRkPKpZ4lEjqeduIfPjH2Sd4Z4in2Ht4U7iJ19lIQbht50 L4MLhTJrm4Ihg6DAvYu7mXm0gootlkuoh4inkyqc6Ic9kDORwIX2jXOHI4TMiuJ9KYO0iG1z/IK2 hidrrYHehAi/44scn4azs4mRm3WnxIgSl3ecM4ayk66RIYV7kC6GooRkjPJ80INgieBzz4JshwBr vIGjhGO/LopvpWizCYjroGanJId3m4GbnoYoluOQm4UDkqWGN4QCjsF8hoMSixtzq4I0h7tryYFx hLG9p5andBSynJQ9dXmnrZHPduqczo9seGWSCI0kee6HfIr4e4h9Y4jbfTRz54bOfvNrCYTjgLq8 bpWbebOxfJM5en+mn5Dfe1Gb3I6TfC6RPIxifRmG3YpLfhN8+IhCfx1ztYZJgDVrHIR5gVW7cpSu f1qwb5JWf3+lkpADf6aa3I3Kf+CQXYuqgCyGLommgIl8gIexgPNzfIXNgWhrLYQWgeW6iJPohQuv aJGXhHukf49Kg/SZ0Y0Pg3+Pc4r/gyyFdIkKgut8AYcngrZzPoVYgoxrPYO6gmy5m5NAir2uaJDv iXGjdo6miDWY04xzhxaOk4pYhhCEw4h1hTR7h4ajhGFzA4Tqg51rTINmgui4tpKYkHKte5BJjmOi h44BjGaX8IvTipCNyYnJiOSEIIfch1d7FoYjhe5yyISBhJdrWYMcg1e3zJH4lg6smo+nkzKhso1f kGyXLIs4jdqNHIlAi4WDlIdyiV56soW/h1RylIQxhXRrZILag7q29pFjm3yr1I8Vl9Gg/IzTlEWW hoq1kPeMiojLjfWDHYcPizR6XYVviJ1yaoPrhjhrboKhhBC2PpDGoMGrLY58nDugZoxBl96V/4ox k9GMFYhZkCWCw4ayjM96IYUmibZyUIO2huBrd4JxhFm0epyodEiqe5mFdaKgopZadwmW4ZM+eH+N PpBHegaD2I16e5x67IrDfUFyn4gnfvBq84W3gJ6zWJuveVepcZiReiefqZV5ev6WAZJ0e+WMf4+S fNyDQYzVfeR6goovfvdyZ4ekgBNq/YVRgS+ydJrQfm+oe5e7fqWespSpfuCVFJG1fzWLr47if52C nIw1gBd6D4mggJxyK4cpgSlrBoTxgbixpJoUg4+njZcFgx6dtJP3gruUHZD9gnGK1Y45gkuB7Yub gjh5lYkYgjBx7Ya2gjFrDoSYgjewzplxiLCmo5Zgh5Kcv5NWhoyTL5BkhaaKAo2WhOSBRYsJhEN5 H4iYg69xsYZLgyhrFoRIgqyv65jfjcClvJXJi/Kb3ZK7ikCSW4/PiLyJQ40Th2eArop5hix4togh hRFxeYXqhAhrHYP/gxWvEphKkr2k65U0kDebFZImjdSRo488i6mIpoyIibuALIoGh/d4W4eshlFx P4WQhNBrI4PAg3KuOJfEl4ukJpSplEeaZJGXkS2RBo6tjlqIHowGi9Z/vImdiY94CIdeh3FxGYVN hYBrKIOJg8Otc5c8nCuje5QjmCaZ0ZEVlFSQiI41kNqHtoucjcF/c4lIivh33IcciGlxDIUehhdr LINahAiro6KvdJiitZ7GdeKZ75rVdzyRQ5b5eKqIuZNOeiuAb4/ae7t4ooyJfVVxcYlifvJq4IZ0 gISqkqHKeRWhuZ3leeWZBJoGesCQc5Y+e62IB5KmfK5/4I8/fcB4OYv6ftpxM4jgf/hq4YYRgQ6p xaD7fZug2J0ffd+YIplDfi6Pl5WKfpqHRZH9fx1/Q46kf7J3yYtugFBw9IhmgPJq44W1gY+pE6BJ giagA5xxgdSXOZiYgZWOspTVgXSGeJFXgXt+no4KgZR3VIrmgbdwtof0geBq5IVfggeoVJ+vhrGf LpvShcOWVZf6hPKN05Q/hEiFsZCxg8R9/415g2J25Ipngwtwe4eMgr1q5YURgnanfZ8miyueVZtC iZ6VgZdmiDWNCpOwhwGE/JAyhft9cIzthRN2fonzhEVwRIcug4dq5oTLgtqmmp6oj4WdgZq+jVeU vpbdi1OMXZMoiY+Eao+3iAZ8+IyIhqZ2K4mIhWBwEYbbhDtq54SOgzKlw54wk7Scw5pDkOKUFpZf jkOLypKri+6D7I9CieN8jowjiA512Yk6hl5v5IaShNlq6IRYg3+k7p2/l7CcEJnLlDGTgpXckO6L U5IjjgeDko7Bi398WIu7iUF1wYjwhzZv5IZnhWBq6YQrg8CjMaildRWbV6PxdkeTnZ83d42L+ZqX eOyEd5Y2emJ9O5Iae+d2fY4wfXJwWYqCfvlqzocdgG2iF6fheP6aUaMvecWSr56Dep2LLJnze4yD y5WefJJ8r5GJfap2E42mfsdwE4oBf+NqyYa+gPChXqckfOmZgqJ6fTiR4J3OfZWKYZlKfhWDF5T+ fq98G5Dzf1x1pY0dgA9vz4mIgMNqw4ZkgWqgzqZ+gNmYyqHUgKSRDp0pgIaJkJiXgIyCV5RZgL17 fpBagQB1NIyVgUpvkIkXgZdqvoYRgd2gK6XuhMiYDqE9hAqQPZyQg2+IvpgDgwCBnJOwgrp66I/H gpR0yowVgnVvWIivgl5quoXGgkafYKVwiKqXQaC1h2KPdZwAhkOIAJd4hV2A8JMzhKd6Y487hA50 bYuig4pvKIhVgxNqtoWCgqWee6T+jG6Wc6A5ipqOvZt+iPaHYJb2h5SAbJK/hm15+Y7chWx0I4s+ hIJvAogJg7RqsoVGgvidmaSXkAOVsp/KjaSOGZsKi3yG15aCiaB//ZJUiAl5o46FhqVz6Yr7hWFu 5IfJhEJqr4USg0KcuqQzk1+VAZ9ikHeNjpqgjc+GbZYai3p/sZH2iXh5dI42h7Zz04rAhiFu3Yee hLlqrITng4DlAXYHcevVf3c6c7bF1XhqdXq2C3mPdyymVXqoeNSW4nu4eoSHxnzOfFZ5JX3wfl1q /n8XgKPjVXSHegvT9nXlevvEeHc7e9m06niEfKildHm8fXCWQXrqfkKHaHwcfyx5D31YgDprRH6U gXfh23M5gjrSh3SxgkHDJnYsgi2zwHePgg+kgnjigfSVj3oqgeiG/nt2gex49HzKggVrhH4bgj/g lHIdinrRP3OpiYTB5HUyiHyyj3a0h2GjgngahmCUzXl5hXOGhnrbhJB40nxGg7lrwH2rgvjfanEt ksDQDnLGkMbAtnRbjruxeHXljK2ieXdoiqqUBnjYiN6GB3pPhxR4q3vOhVNr9n1Gg6LeS3BdmvjO 6XIAl/W/kXOglOKwZnU1kdehl3bAjumTPnhMjBeFiXnTiW54gXtjhs1sJnzrhDzdMW+ooxfNzHFS nwW+dXL7muOvWnSbltGgsXYyku+SmXfIjzuFDnlmi5Z4XHsGiCJsUHychMPcKm8IqyDMw3C5pfW9 b3JpoLmuYHQTm5af13W2lriR9ndYkiCEsHkBjaZ4Onq1iVJsdHxYhTrbJG56svfLu3AxrK28aHHo plKtZHOboBme+3VJmjiRR3b3lLWEPnitj2l4BHpqiltsk3wehZ7bmnuAcTTNNHwlcwq+rXzBdNyw C31TdqShd33ceGWTH35lejCFKX70fBl3un+Ofi9q4YAzgHXaBHoUeNfLunraeeO9WXuaeuOu53xN e9agjHz2fMKSd32cfbmEyH5HfsZ3qn77f/JrG3+0gT7YsnjOgIPKYXmsgLG8D3qLgM2tvXtZgOOf l3wdgPyRv3zegSKEVX2kgVZ3gn5wgZ5rUX8/gfvXg3e+iD7JJ3ivh3260nmchrKskXqDhdyemXtb hR+Q/XwxhHGD2n0Ng813WH3vgzRrg37TgqrWZ3bTkATIAHfSjk25q3jMjI2rfnm9itGdmXqriSKQ O3uTh6GDXHyDhiV3K315hLJrsH5xg0zVTXYBl8LG4XcLlQ24jngRklKqdXkPj6WcvHoJjRePfHsG iqSC4nwHiFV2/30QhhFr2H4Zg97UNHVBn2LFx3ZUm6q3endkl+upc3hwlEab4Hl5kNKO3HqGjYuC bXuailR21nyzh01r/H3MhF7TLHSTpubEwXWtoh+2e3bInVWohXfhmLCbEnj5lFCOQHoVkDSCEHs4 jDl2snxjiGdsGn2JhM7SKHPvriHDwHUQqEa1f3Y1om6nl3dcnMeaQ3iEl3yNnXmxkoyBpXrkjdN2 f3wdiVlsNH1RhS7SbYEGcKnFFYEZco23pIEidG6qGYEfdkecnoEXeBuPZIEUefiCl4EYe/B2YoEl fg1qxYFBgEjQ6X+0d8PDon/eeOS2T4AAegCo9IAbexObs4AyfCOOuYBMfTyCLoBsfmh2P4CUf61q 9IDHgQfPtH5ufvTCYn6vf0i1Hn7uf5Gn2n8jf9Sax39VgBmOCX+LgGuBxX/HgMt2I4AKgT5rIIBW gbrOoX1shjPBPX28haOz634JhQ2mtn5ThHWZzn6Yg/ONSH7jg3+BRH80gxV17X+NgrdrSX/tgmDN kHyHjXbAIHzmi/6yzX1AioKlq32ViQ+Y2n3rh66MjH5HhnSAyX6shUB1vH8ZhBhrbX+OgvnMfXu1 lLS/CnwgkkuxvHyGj+Kkr3zpjYyYBn1Oi1iL2n26iT6AVH4xh0Z1jX6xhV1rjn85g4PLbHrtm9W9 /XthmHSwuXvUlRWjwHxGkdaXOny9jsmLQX09i+l/5n3EiR11YX5WhoBrq37ug/3Kb3o0otS9Bnqx nnKvzHsvmhai5XuxleaWfXw6kf2KsHzMjlh/i31mitd1O34Gh4RrxH6uhGfJf3l6qYm8HnoApByu 63qNnr+iEXshmZ+Vw3u/lN+KHXxlkHl/Kn0SjEx1DX3EiGFr2X53hMLJWYa7cFG9BoYtcjuwp4WV dCWkNoTzdgmX2IRSd+qLv4O8edOAG4Mve9R1F4KsffJqq4JAgB7H6oVyduy7rYT3eCOvZoR4eVOj H4Pzen6W9YNwe6eLFYL4fNl/roKHfhx064Iff3Nq0IHKgNPGzYRJfYu6fYPefgCuPYNzfmqiCoMG ftiWC4Kcf0iKY4I9f8R/PIHngE10v4GZgONq8oFcgXzF24NDhFK5cYLpg/CtJIKMg4ig+4IugyeV JIHUgtqJs4GLgpx+zoFNgmp0mYEZgkRrEYD3ghrE24JrixS4Y4IfidSsEYHPiJSf9YF7h2OUN4Et hkqI+YD1hVV+ToDJhGh0XoCog4lrLoCcgqvD04Ggkcq3W4Fej6irEIEZjYqfCoDUi4WTbICXiaaI T4Boh+J93YBQhkN0LYBChLNrSIBJgy7C0IDXmGW2YYCelVmqIoBlklSeMIAwj3SSsYAIjMuHwX/w ilF9dn/jh/Fz/n/phb9rXoABg6HB4YAYntq1fX/omtypTX+7luqdbH+XkymSBn+Dj7SHOn+AjIV9 G3+IiX9z1H+bhq1rcX/DhAbBC39NpRG0s38noBOoi38LmyyctX7+louRY38Ekk6GuH8ZjnB8xX83 itBzrH9ch3Rrgn+OhFzAUYxncEa1AIs2ci6ps4n4dBmeYIiwdf6TJIdxd+OILYZHedF9sIUre9Bz 2IQefeRqkoMuf/e++Isodl6zxYoGd6KokIjieOCdYYe4ehqST4aYe1OHioWKfJZ9Q4SIfeZzpoOV f0VqrYK8gKK9+YoMfIGysIj4fQ2nf4fnfZKcXobVfhuRcYXNfqmG3ITYf0N8z4Puf+hzcIMTgJZq xoJTgUK9Fokggqqxrogbgm+mbIcRgjabV4YKgf+QkIUTgeaGLYQxgdd8WoNdgdJzOoKZgdZq3YHx gde8NIhHiOiwuIdNh9ylboZRhteaZYVTheGPuIRfhQmFhoORhFR76oLSg6ZzB4IkgwRq8oGZgmG7 PId/jxSvwoaNjTSkf4WZi16Zh4SqiaiO9YPOiBqE5IMHhqp7eoJdhVdy0oHChBRrBYFJgt26S4a8 lSKu3YXSkmijqITqj7+YwoQMjT+OS4NEiviEXoKTiN57GYHyht1ypIFrhQhrFYEEg0q5boYFmwWu D4Ujl2ui6YRFk+eYFIN3kJyNs4LBjZuD5YImitx6xoGaiEVyeoEfheBrJIDHg6q4roVDoLatXYRr nC6iRIOcl8iXfILjk66NLIJFj/aDe4HBjJh6f4FLiXVyWoDkhpVrMICUg/u3YJIZcHGtEJA9ck6i 045RdDCYnoxhdhCOg4qDd/OEq4jDed57TocVe9VylYV9fdhqe4QJf9K2KpDpdf+r948bd0ahzY1I eImXtYt1ec2NvYm0exSEEIgNfGN65IZ3fbtyYYT2fxxqjYOcgHS1RI/be5mq+44afDag1IxZfNCW x4qcfXKM74jxfhyDbYdhftF6dIXhf45yK4R3gFFqnYM2gQy0do71gT2qD41CgSGf2YuJgQqV14nW gP+MHYg9gQ6Cx4a/gSp6A4VUgU1x84QBgXZqrYLYgZqzoY4uht6pKIyBhgOe6orShTWU8okqhIKL VoeQg+SCKYYlg2h5l4TPgvNxvoORgodqu4KDgh2yyY1tjHuoTYvGitueEYoeiU6UJYiAh+aKoIb6 hqeBl4WMhYN5MIRNhHxxiIMog4Nqx4I2gpKx5Iy0kfqndosTj42dSolxjTmTb4ffixmKAYZsiTWB F4Udh3x41YPnhdxxWoLVhF9q0oHzgvqxEIwLl0imtYpwlA6cmojXkPaS0YdSjh6Jd4Xxi5KAqIS2 iUR4iIOThx1xNIKNhSNq3IG4g1WwVYtdnGimDYnKmFWcA4g9lHCSSobKkN6JA4V9ja6AUIRXitF4 T4NJiC1xHoJVhcdq5IGHg6KuqZfNcMilZZU/cpacOZKfdGqTGo/+dkGKFo17eB2BU4sgef95Dojg e+lxaobBfdZqZoTQf7GtjpavdcikY5Qudw+bSZGmeFSSQo8ieZ2JXYy4euyAwIpzfEN4pohIfZ9x MoY9fv1qb4RngEusxJWwetWjgJM9e4CaZpDEfCuRaI5UfOKInYv/faWAJ4nOfnF4Ooe3f0Nw+YXB gBZqeIQFgNusE5TVf+qirpJsf+uZgI/8f/aQi42SgBKH2YtPgEl/i4kwgIx3zocsgNVwwYVMgSBq gIOqgWKrVZQVhP6h3ZGwhFCYpY9Ig7SPtYzqgzaHH4qlgtZ+9YiagpB3ZYarglFwi4ThghlqiINY gd6qgpNoigChCpEEiJ2X2I6fh1aO9YxLhjuGcooahUt+bYgIhHJ3BYYyg7FwWYR+gvxqj4MOgk6p s5K+jumgRZBfjM2XH43/itWOTIuyiReF4YmMh5J99YeShjR2sYW+hO9wI4Qkg8dqlILNgrGo3pIl k6OfiI/HkMmWeI1qjhqNuYsii7aFYokJiaB9jocnh8N2ZYVthgpwAIPfhHdqmYKUgweoHJGOmCye 4Y84lJGV54zikS6NPYqojiWE+4igi319RYbSiSJ2O4Uphvtv9YOshQtqnoJkg1GmSZ2AcTeeFZo1 cvOV+JbXdLeN5pOAdoGF7JBSeFJ+M41beil29oqLfANwVofqfddqU4WCf5OlRJx2daedIpk5duuV FZXyeDCNG5K1eXyFP4+fetF9p4y5fC12kIn5fYpwGodnfuNqVYUcgCaklJuHeiOcVphXetuUR5Ue e5eMUpH0fGKEjY7vfTt9F4wafh12KYlsfwJv34btf+NqV4S+gLCkA5q3fqibnpePfseTd5RefvKL iJE1fzOD1o5Cf5N8hIt+f/x1wIjjgGlvp4Z7gNRqWYRmgTCjX5oAgyya5JbagqqSrZOvgkKKv5CR gfuDJo2YgdV79orpgcd1XYhigbxvcoYRgbZqWoQWgaeimZleh6CaHpY3hnuR7JMNhXiKCI/5hKeC gY0QhAJ7dIpcg3N1AIftgvZvQIWygoNqXIPOghGhwpjMi/KZV5WkiiiRN5J6iIqJaI9shyqB+YyS hgN7BonzhQB0soeChBFvEYVegzpqXYOQgm+g8ZhDkBeYoZUcjaeQl5H1i2yI3Y7riX6Bg4wbh9h6 oomNhmN0Z4cyhQ1u5oUUg9xqXoNZgsKgI5fHlAmX95ShkOuQDJF3jg2Ia45ri46BKouiiWx6a4kp h5B0TYbnheJu5oTmhGFqX4MrgwieXaMZccyXOp8Lc26QIZrudRmJB5bgdtKCA5MJeJZ7RI92el51 AYwXfCRvVYj4fd5qQoYhf3idTaIxdaiWOJ4wduOPNZoneCOIPZYveW6BXJJpesR6vY7gfCJ0nIuM fX5vFIh4ftBqPYW/gAWcsqFVeY2VfJ1iek+OeZlkexeHg5V7e/SAt5HCfOB6No5IfdZ0OIsCfspu 1of/f7dqOYVjgIicRaCSfXqU45ykfbaNvpirfgGGzJTAfmeADZEYfux5q42tf3pz1Ip6gAhunoeO gJFqNYUOgQObvZ/ogWqUQZv3gReNBpgBgOKGEJQegNN/aJBsgOZ5JY0YgQ1zdYn6gTZua4cmgV1q MYTBgXSbAp9UhU6ThptdhGuMUJdlg6+FYpOKgyh+yo/ngs14rIyLgodzH4mGgkxuP4bKghdqLoR8 gdqaJZ7OiRSSwZrUh6CLopbbhlyEy5MEhVl+TY9whI54R4wog+Jy2Ykhg0ZuG4Z8grtqK4Q/gjWZ SJ5YjKySBZpbiqeLA5ZhiN2ERpKOh2B94Y8EhiZ39YvPhRhyoojchCRt/oY6g0xqKYQKgoOYa53s kAqRV5nwjXmKeZX4iyyD2pIqiTZ9kY6ph5F3wYuBhiVyiYifhOJt94YMg8NqJ4PdgsbcGHLMbTrN h3Rcb6O+vHXocf2vyHdndDqg9XjXdmCShHo9eIaEinuqesp3MX0gfT5qcn6Uf+LaeXEhdUfMD3Lj dtW9c3SceEiuvHZDeaKgJ3fYeuiR8HlhfDGEMnrtfZJ3GHyBfxRqs34NgLrZCm+ofVrKrXGMfgC8 O3NxfoetrnU3fvOfT3bsf1mRU3iTf8aD1Ho9gER3AHvsgNhq7n2QgYXXzm5khXnJdnBihSO7DnJa hLesnnRIhC2ebnYTg6+QrHfVgz+Db3mZgtt25XtjgoZrJX0dgkLWrm1PjZfIV29hjEC59nFqitGr oHNkiVedg3VTh9+P/HcqhpSDAnkFhU92xXrlhBhrV3y0gvDVlmxelaPHPm5/k0K44XCZkM2qoHKh jlmctHSci/qPRnaUibWCkXiCh5h2onp2hYlrg3xWg43Uf2uJnYzGJG23mh23zG/flpupnnH3kyab 2nQBj9qOrnYGjLuCH3gQia12gHoVhtZrqnwFhBfTeWrMpVjFHG0FoNG2x286nDqoqHFgl7qbB3N5 k3uOE3WNj4GBy3eli6l2YnnBh/5rzHu+hJDSbGoirOXECWxmp0O1tW6moZSnpnDZnAeaKHMCltCN ZnUlkfiBXXdMjVl2MHlziP5r6HuChPfTOHgLbMLFtnkVbyu4BnoTcYmqNXsBc9KcfXvldgqPGXzG eEKCL32vepZ1636ifRJqVn+df63RqnZ2dFLES3epdfO2xHjRd3+pIHnmePSbmnrueleOc3vxe76B zXz6fTp1134LftFqjH8bgHvQZ3UIe+fDAXZZfKm1kXeofVSoD3jdfeyavXoFfn6Nz3sofxeBZ3xP f751sX17gHdqvn6jgTzPSHPRg4bB2nU8g1i0aXaegxunAHf1gsyZ23k0goqNJHpwglSA/Huwgih1 jXz1gghq7H4zgfHOOnLDiyjAxnRCigSzWHW2iNOmBXcch6CY9nh4hnWMeHnJhXCAj3sghHJ1aXx7 g4BrFn3OgpbNKHHQkrq/sXNgkJmySXTmjm+lDHZcjE6YLHfIikmLy3k0iFyAInqehpN1Q3wNhNhr O31zgyzMDnDxmiS+mXKPlwCxOXQlk9ekE3WukMWXWnctjeCLN3iqiyd/t3otiIJ1H3uuhg1rXH0k g7DLA3AnoWm9kHHRnTuwOnN2mQujJ3UQlQCWknaikTmKpHgyjbV/Y3nFilR0/3tbhyFreHzfhCPJ 829nqFm8gXEdox2vMXLQneeiMXR9mOWVwHYjlD6KAXfHj/J++3lti9500XsRiAxrkHylhIXKl31W bHy+GH3VbuixdH5EcU2ksH6jc56YBX76deCLsH9UeCJ/23+1enx0tIAhfPNqO4Caf3vJHHvac4G8 sXx4dSywLH0IdsqjmH2KeFWXJX4DedSLC35/e1Z/dH8BfOh0j3+LfpBqZ4AdgD/H+HpzeqK7gnst e3yvFHvkfEqilXyFfQaWSn0dfb2KZX23fnt/DX5Xf0V0b37+gB9qkH+ogPfG9nlHgcS6cXoagb2t 9XrkgaqhjXuigZCVa3xRgYGJu30EgX5+n329gYN0Qn58gZNqtX89gaPF9nhDiOi5Z3kph/es7HoF hwCgmHrThg2UkXubhSeJFXxihGJ+NH0xg6N0GX4FgvBq137bgkDE7HdRj/y4XXhJjhur6nk3jDqf rXoXimiTz3rxiLSIc3vPhxh9zHyyhZxz8n2ahC9q9n6Egs/D23Zslue3UndzlBKq7HhykUCexnln joyTDXpXjAaH53tJiax9aHxBh2ZzzH08hU5rEH43g0zC2XWZnam2WHatmdep/3e9lg+d7njGknKS V3nLjxuHX3rSjAR9F3vdiRJzqnzqhk1rJ331g7rB23TJpBO1YHXqn0CpEXcLmoCdE3gqlf+RnHlI kduGz3pmjg18u3uGinlzgnylhyRrO328hBfCGIKpbGO2joKWbs6q74JxcTKfPYI7c4WTpIIBdcyI XoHQeBN9nIGqemxziYGPfNtqIYGIf0zAs4E4cuy1QYFBdKSpu4E8dk2eMYEod+mSyYEReXqHuIEB ew19MID6fKxzW4D+fltqRIEQgAa/pX/zeX60H4APenCopoAqe1WdMIAvfDOR8IA1fQ6HEoBCfe58 xIBXftdzL4B1f8lqZICggLW+w37EgCyzJ377gEenoX8qgFucP39KgG+RIH9jgJCGc3+JgLt8Xn+5 gO5zCH/zgSlqgYA4gVm90n3LhtGyLn4WhhCmqX5VhU6bUn6FhJWQT36zg++F0n7ug2Z78n8yguNy 2X+AgmpqnH/age+81XzdjWKxM305i8CluH2JiiOaeH3OiJyPmH4RhzWFO35cheZ7kH61hLRysH8X g5JqtH+Fgne71Xv4k82wPnxjkUWk0nzFjseZqX0fjGuO6n15ikKEuX3biEJ7Mn5FhllyiX67hJpq yH87gu665HsimgyvWnualpaj/3wOkzGY6nx8j/+OSHztjROEPn1mimZ65n3mh95yZX5rhYVq2n77 g1e6AHpJoACug3rPm5OjNHtWl0WYMXvdkz2NqXxpj5ODxHz6jD96l32QiSVyRH4phklq6n7Fg7C5 nIgibICvBYdxbuOkbYarcUGZzoXVc5CPTIUCddSFGIRBeBp7aIOPemxyZYLufMxqCYJofx+4TIa8 coWt14YldEWjV4V/dfeY2ITLd5yOfIQaeTmEdoN5etd6+4LlfH9yM4Jhfi9qI4Hzf9G3W4V/eJis 0IT8eZ6iWoRzepqX6YPae4+Nr4NFfIOD1oK/fX16kIJGfn1yAYHbf4FqOoGHgHi2kYRufrOr6YQA fvChYYOGfyyXAoMCf2aM6IKAf7SDPIIQgAl6KYGvgGNx04FegMJqUIEkgRO1xoN5hNerDIMfhESg f4K2g7WWKYI9gzKMKIHEgsiCp4Fpgnt5x4EggjNxpoDngfJqZIDJgaO014KWit+qJ4JLiXqfpYHz iB6VX4GOht6LeIEshcOCFoDdhMN5ZICog9txeYCCgwBqdYB3giSz6IG5kMOpR4F7joie1oEzjFyU poDjilmK3ICbiIqBnoBjhuZ5DIA6hVpxT4Apg/NqhYAwgpazCIDqlnioeoC3k2GeHIB/kGGT/4BE jZaKTYASixWBLn/yiNN4wn/fhrZxKH/ahMlqkn/ygvqyPYARm/anwH/sl/adcn/IlBqTZn+mkIeJ yX+QjVaAyX+Jin14gH+Nh9xxD3+chXpqnX+9g06xMI2MbNunmIw7bzGeDIrQcYSUgIlUc8mLEIfj dgWB64aQeEB5SYVVeoJxToQ1fMpp84M1fvav+Yw1climiIr7dBqdFImvddCToohVd3mKUIcGeRqB UYXSer143YSyfGVxF4OrfhBqBILFf5+vKYsGd+OlnonfePqcLoivegeSxYdwew+Jj4Y7fBeAuIUg fSR4c4QYfjVw4oMpf0ZqFIJdgD6ueYoCfXaky4jvfdGbRofNfiyR7IahfoyI0YWBfvyAIoR6f3R4 DIOJf+9wr4KwgGtqIoH9gNOtvIkegwKj/IgZgpyab4cGgkCRHYXpgfmIH4TQgcR/lYPfgal3rIMD gZBwf4JAgX1qL4GmgVys74hEiIGjMIdMh1eZqYZHhj6QY4U5hUeHe4Q0hHV/EINFg7p3T4KCgxVw TYHYgnlqO4FXgdesDod0jd2iYoaIi+qY7oWQig+Pu4SSiGWG6oOjhvJ+noLShaZ2/YIahHBwI4GC g1VqRoESgkSrO4a2kwWhpIXTkEmYRITpja+PJYP9i1GGaoMkiTx+OYJoh2F2uIHDhahwAIE3hBhq T4DWgqOqe4X1l/yg+oUglGyXrYRFkQuOoYNujfiF+4Ksi0R954IHiOB2hYF2hrBv8ID9hLlqVoCk gvSo/ZLvbVmgZ5D1b5uX4o7fcduPYYy9dBGG+4qxdkB+24jNeG13OocHepxwPIVmfMZp3oPwftCn 6JGsckqfcI/JdAaW/Y3RdbiOlIvRd2GGSYnjeQZ+S4gZeqx204ZrfFFwBITfffFp6IOEf3KnMpCP d0meno6/eGmWLozheYKNyor4epuFl4kie7d9vIdufNZ2b4XWffRvzoRhfw5p8YMggAqmm4+XfFGd 5I3YfMSVXowHfTyNBooufb6E54htflJ9MIbNfut2DYVKf4RvnIPrgBpp+YLDgJil9I68gVOdK40I gRaUmYtEgOmMRYl6gNOEQYe/gNV8q4Y1gOl1sITIgP5vbIN/gRRqAIJugRulMI31hj+caoxJhU6T 4IqPhHeLl4jUg8eDpoctgzx8MIWigsR1WoROglxvPoMbgflqBoIjgZGkZ402iw6brouUiWaTM4nk h+GK+4g2hpGDIoaehXZ7w4UqhH11DIPbg5dvCoLBgsZqDIHggfmjloyKj6ya+YrwjUmSlolJixGK c4ejiSCCrYYah3h7ZYS/hgN0yYOIhK1u64J6g3dqEYGmglWi1IvklBWaU4pVkPeSB4i7jg+J+ocl i36CSoWviUd7IYRoh1h0ooNChZhu5YJEhAlqFYF1gqKhHphLbeiZk5WecBaSFZLVckGKl5AHdGaD LY1bdoZ8A4rkeKN1VoiXertvRIZ7fMhpzISWfq+gI5cdckuYrJSJdAORPZHddbCJ1Y8ud1mChoyd eP97e4o7eqR084gBfEVvCIX3fdppz4Quf0qfipYRdr2X8ZOPd+eQgpD8eQ6JHI5jejeB4Yvne2R6 9omZfJN0kodyfb5u0oV8ft5p0YPOf9yfE5UmeziXUpKye8ePx5ArfFyIao2efP+BPYs2fbZ6coj7 fm90NYbpfyZun4UJf9Rp04N0gGSehJRWf7CWrpHqf52PE49uf56HtYzvf7uAooqJf/F584hlgDZz 3IZogHlucISfgLhp1YMigOGdzZOchBWV+ZE1g16OZY7AgseHD4xPgluADYn8ghR5fofYgd9ziIXz gbJuQ4Q/gYhp14LZgVOdAJL0iFiVP5CThvyNvY4lhcqGe4u+hNJ/j4l8hA15GYdsg2VzQIWHgsxu FoPrgkJp2IKZgbacNZJajGuUkI/+imqNJo2XiJ6F+os5hxp/IokDhdh4vocFhMNy/IU3g8Zt64Oh gudp2oJhgg6bapHQkEqT7I9+jZ+MoY0bizKFjoq+iSB+zIiOh2Z4h4ajhety4YTrhJdt7oNvg2pp 24IxgliZt52KbpmTNZoicKmMsJalcrqGHZMtdMp/mo/jdth5V4zceONzj4oKeuNuW4d5fM9pvIUr fpGYt5x6cmmSQpkudBWL0ZXNdbqFXZJwd19++o86eQR414xBeqf/4v/iSUNDX1BST0ZJTEUAAglz L4l8fEFuHYb4fclpuITHfyaYM5uBdkaRl5hJd3iLJ5T+eKiEs5GzeeB+Y46Pex14W4ulfFty1Ijy fZBt5YZ/frZptYRpf7KX3Zqlei+RFJd3etiKgJQ2e4qEE5DyfE99zI3gfSd34IsJfgBye4hqftJt soYOf5ZpsoQTgDWXaJnlfhqQh5a6fjOJ3ZN+fmSDa5BGfrR9O40zfx53aIp0f5NyJofqgAFthIWl gGZpr4PEgK6Wupk7gfmP25YPgX+JOJLXgSmCzY+rgQJ8rIypgQB2+onngQtx2Id2gRhtXIVJgSNp rIN9gRqV5piihbiPIZV4hKyIlZJEg86CQI8ggyx8Nowvgrt2nImCgmNxlYcRghNtOoT6gctpqoM+ gXqVD5gaiUiObZTyh6uH/pHDhkiBwY6mhSx70IvChE52T4kng5ZxYobKgvFtHYS3gl5pqIMIgc+U NJeijJyNwZSAinWHdpFWiJCBVo5Ahv17f4tmhbV2G4jYhKFxSYaLg61tGYSGgtZppoLaghbTGW+U aI3FfHF/a5C3k3Nmbn+peHVBcUibjHcNc/COIXjOdpCBTnqSeUp1P3xbfC1p7n4WfyzRh225cILE FG/fcqy2XXH6dLSognQDdpqa03X5eGKNnnfheieBAHnKfAJ1KHu1ffpqKn2MgAjQKWwQeHjCw25g ebu1P3Cwetunj3Lfe9SaFXT6fL6NFncEfaqAsHkPfqV1FHsaf7dqYH0LgNfO/GqegHHBoG0RgLy0 KG98gOymnnHagPaZUXQRgP2Mh3Y7gRCAXHhkgS51AHqKgV1qk3yUgZfN5WlfiGDAkmvuh7CzJm5x huKluHDhhf+YgXNDhRaL7nWFhFB//3fIg5R053oIgudqwXwogkjMzWhHkDS/gWrtjoGyI22IjLSk znAMityXyHJ9iRGLS3Tmh1x/nHc/hc50yXmVhFFq6nvHgujLsWdPl96+aWoJlSOxFmy4klGj229Q j4GXAXHVjNCKxXROikd/NnbIh9J0rHkwhZZrDntzg3XKo2Zxn2S9XWk9m5iwFGv+l7qi726qk+mW PXFCkE6KOnPNjPR+73ZWib10kHjZhrdrLXsqg/HJjGWppp+8QmiEocWu/2tWnNmh8G4UmAeVZ3C/ k3+JmHNdj1F+jXX3i150aniGh7BrR3rshFnKw3SWaFW+JnYDa0+xUHdjbjikU3iycQSXe3n0c7aL EXsydmB/OHx3eSF0IH3DfAJp038OfvLJQ3LQb8+80HRxcgOwJHYDdBujUnd/dhOWpnjrd/GKcnpQ ecx+2Xu6e7l0Cn0mfb5qBX6Jf8TIEnE2d0q7l3L8eJ+vCnS+edmiW3ZgevSV43fxfAKJ43l6fRJ+ gXsFfi9z6XyQf1xqM34NgIrHBG/Vfsi6hXG8fy6t+XOYf4KhanVlf76VG3cRf/qJT3i4gD9+Jnpf gI1zzXwGgOdqXX2agULGAm6fhkG5g3Cjhbas/nKYhRmghnR4hHOUUHZKg86IuHgIg0h9yHnJgspz r3uHgllqhH0ygevE822IjZ+4eG+kjByr/3Gxio2foXOniP+TmnWMh4WIHXdshiF9aHlChN1zj3sX g6tqpnzVgoTD2GyHlMy3Y264kk2q93Dcj8aetXLqjU+S2XTliv6HmHbZiNR9B3jMhr9zb3q0hNpq xHyDgwvCx2udm8y2WG3hmEqp+nAZlMad0XI+kWCSHHRQjjaHEnZZi0p8v3hfiIJzUnpehehq3nw8 g4HBrWrBomy1P20Vneio7G9hmWic23GdlReRT3PIkRiGeHXnjW98YXgCif5zLXoRhs1q9HwBg+bC snmhaEy3C3qLa0OrNntjbiyfPXwncPmTZ3zhc6yH+32cdlh9I35eeRVzDX8pe+lpuX/7frvBR3f1 bz+1t3kIcXSqAnoJc5SeOHr3dZuSl3vZd4yHYXy6eXp8w32he3Vy6X6NfX9p4X96f4TAMnZidke0 nHebd6upB3jOeQCdTXnfejeRznrke2KGyXvofJB8ZHzxfchyy338fwtqB38CgEC/RHUQfU2zonZq fdCn/Xe0fkScYXjsfquRCnoNfxOGNnstf4N8BnxRf/pypX12gHpqKX6UgPG+UnPmhEqyqnVbg+en CXa+g3qbg3gLgwuQR3lMgqOFo3qEglZ7qXvAgg9yg3z8gdJqSX4wgZO9TnLTiy2xq3RgieCmF3Xc iI+aqndBh0ePmXiXhhaFEXnqhPt7TXs8g/xyYXyOgw1qZX3WgiW8PXHOkd+wo3Nxj6OlIHUEjWmZ znaDi0aO5XfyiUyEk3ldh3l68XrIhbpyQHwthCdqfn2Hgqa7N3DemF+vp3KTlS+kNXQ9kgeY/nXU jwaOOHddjEOEFnjfibx6q3pgh1lyIXvZhSJqk31Dgxe6L2/znn6upnG6mlejQXN6lkOYInUskmiN gXbRjuODjHhti7B6V3oEiLNyAXuQhfVqpX0Jg3e6xn6zaHawBn8Sa2OlKX9cbkKaNX+RcQiPZX/A c7iE+H/2dl97HoA1eRNyAYB/e9NpoIDZfoa5c30Tbuyuzn2ZcSWkCX4Lc0iZPX5pdVaOmn7Ad1KE X38beUl6u39+e0hx1n/pfU9pwIBef0a4d3uidWatv3xEdtijD3zheDmYVX1eeYuN133WetKDyn5R fBp6Wn7TfWhxr39cfrpp3X/rf/u3pXpSe/us3HsXfJeiIXvNfSmXf3xxfbiNHH0AfkeDOX2Wft15 /H40f3hxi37YgBdp+H+AgKS2w3k0gnqr+HoWgkChP3rkggCWqXuagcSMY3xFgZSCrXzzgXl5oX2p gWRxZX5igVVqEX8ggT+1z3goiN6rB3khh8igXHoHhrSV33rWha+LvXuZhMOCJHxeg+t5SH0pgyxx QX34gnpqJ37Jgcu00HcnjxOqFng1jR6ffXkyizCVGnobiV6LG3r5h7eBr3vWhjV49Hy3hMdxHn2Z g39qO359gkaz3XY3lRWpMndYkjqerHhsj2+UYnlujNCKg3pmim+BQHtciEd4snxThkJw/31HhGdq TH47grOy8HVImsGoU3Z7lvyd3Xenk1OTqXjGj+mJ6XnbjNSAzHrrig94a3v6h35w5H0ChShqWn4E gw6y5oPLaNCpDIOaa66fKYNQbn+VPoLwcTiLdoKPc92CCII9dnp5KYH6eR5w/4HHe8ZpiIGqflWx poI6bsOn8YIvcP2eJoIMcyKUWYHUdTKKtYGZdzGBcYFreSt4w4FJeylwz4E1fShpoIEzfw2wxYDX dMOm+4DodkKdP4Dtd7OTgIDVeROJ+4C6em2A4YCqe8Z4YoClfSBwooCtfnhptoDEf7qwCX+nesam Jn/Ue36cW3/sfDGSsX/1fN2JR3/wfZKAVX/6fkh4BYAOfwBweYAuf7dpyoBegFuvTX6MgMqlXn7W gLabkH8JgKOR7X8kgJeInn8xgJp/0X9RgLF3rX9+gMpwUH+3gOZp3YABgPCuaH2Lhqykg33shcua xX43hPCRNn5nhCuIAH6Pg4J/UH7Bgu53V38EgmxwKn9RgfNp7X+ugXatfnyTjGOjqn0HirGZ/n1o iQ2Qh32zh4uHcH32hjZ+5X5BhQN3CX6Ug+NwB371guNp/H9kgeysoHutkeSi33w0j16ZSHyqjO6P 6X0Miq+G7H1oiK5+g33LhuR2zH41hTpv5n6kg7hqCH8lglSrzHrHlyGiH3tgk76Ym3vtkH+PUXxr jYOGcHziitx+Jn1fiIF2k33ghllv1H5khGhqE37vgqyrFYj2aVCiJIgrbBqZPIdDbtqQV4ZGcYOH lYVPdBl/JYRzdqd3PoOreTVwAoL8e8BpcoJqfiip7Yd3bryhJ4bPcPOYVoYOcxWPioU4dSOG4oRm dyJ+lYOqeRx22YMBexVvz4JufQhpgoH4ftipJ4YmdDagTYWadcGXiIT+dz6OwoRHeK2GNIOSehZ+ C4Lye3x2eoJjfOFvoYHpfkBpkYGNf36oh4UBebWfj4SReoaWt4QJe1OOBYNufCCFjYLRfPJ9iIJI fcZ2IYHRfplvdoFvf2Zpn4ErgBin34P7fyie2YOjfzyV+4Myf1aNToKpf32E8YIaf7F9DIGnf/V1 zYFHgDhvS4D9gHpprIDRgKenIYMKhIOeH4LHg9eVS4JsgzqMqYH1greEXoF4glN8koEJgf91eIDD gbtvGoCSgXppt4CBgSemQ4IhibSdWYHyiEiUnYGshu6MEIFIhb6D24DihL18LYCSg991LYBYgxBu 9IA6glVpwYA6gZmlcIFMjrCcn4EsjIKT+ID3inCLgoCqiJODZYBdhvZ70oAlhYx08H//hEFu0n/s gxhpyX/9gfykrIB0k3mb8YBokICTYIBIja6LAoAUiyKC/n/giOt7iH+/hv50xX+vhUFuy3+wg7Zp 0X/JglGjcI4HafWbfoyhbK2TmIsZb1qLsol6cfCD6YfqdHJ8bIaCdut1coU6eV5vGIQXe8ZpXoMZ ff6iXoyebtqalYtZcQuSxYn2cymK9Yh9dTKDQocQdyx74oXFeSJ1DYSXexFu4IOMfPRpaIKrfqeh uothc8qZ1Yo3dV6SDIj5duWKPYebeF+Cn4ZIedN7XoUVe0Z0r4P/fLJurYMLfhNpcIJEf0ehPIpO eL6ZMok9eaaRT4gReoyJkIbNe3WCAoWPfGZ64YRyfVZ0WINyfkFugIKUfyFpeIHlf9ugqYlZfamY johcfeGQoIdCfiWI4oYQfnqBb4Tgft96a4Paf050BoLvf7huVYIngBxpf4GPgGSf8Ih3gniX24eK ggGP94aCgZ+IRoVjgV2A5YRKgTp5/INHgSNzuIJ2gRNuKoHEgQJphoFBgOCfKoehhyaXJYbEhf6P VIXOhPKHt4TAhBaAa4O4g2d5mYLNgtRzb4IEgkxt94FqgdFpi4D9gU2eWobei5+WdYYRicWOv4Ur iA+HN4QqhpaAAIMyhV15RIJghFFzNIGvg1xt2IEggoJpkIDCgaydlYYkj+OVzYVpjVWOMYSSivaG wYOmiOJ/o4LDhx95B4IGhZxzE4FmhEJt2oDogxFplICQgf6cG5MHaqaVKJD7bUaOPo7Mb9qHT4yP clqAdIpsdMh53Ih7dytzv4azeYJuOYUbe8ZpTYO0fdmbKZG3bwKUUI/NcSmNdo3Bcz2Gm4undUF/ 1omidzh5WofJeShzX4YXewxuAISUfN1pUINKfnyaoZCQc2mTp46/dQGM0IzWdpCF9IrTeBV/QYjl eZd44IchexRzBoWEfIZtzYQWfeZpUoLofxaaPY+Nd9WTHY3ReNKMKYv4edCFWYoLetZ+sIgxe+R4 a4aCfO5ytIT6fe5toIOift9pVYKMf6WZv46kfDqSjYz5fJiLi4sxfQSEuIlUfYd+KIeEfhp3+4Xs frJyZYR6f0JtdoM4f8ZpV4I4gCmZFI3RgIqR5owzgEeK7Ip5gB6EI4iugBt9o4bzgDR3kYVfgFdy GoQFgHptTYLZgJhpWYHugKCYTo0RhLORNIuAg9GKT4nTgxKDmogYgoZ9L4ZvgiR3NoTxgdhx14Oa gZNtIYKFgVRpW4GsgQmXhoxgiKuQiorbhyqJvok7hdeDIIeNhMJ8yYXzg+d24YSJgzBxmYNJgots 9YI6gftpXYFzgWWWuYvEjGqP6IpRikmJPoi9iF2CuYcThr98eYWAhW52roQmhFNxf4L7g1ls/YIE gn1pXoFCgbOVNJfqa3SPQ5UvbfWJSJJZcGuDOY9+ctJ9NozKdSt3c4pTd3ZyJ4gPebBtaYYIe85p PYRAfbiUS5a0b0COZZQhcVmIe5Ftc2GCh46xdV58oIwUd1B2+omueThxzId7exBtLoWEfM5pOoPZ flWT15WicxeNzJModLOH5ZCUdkeB8I3sd9h8GYtieWZ2iokOeuxxeYbtfGJs+4UKfcFpOIN6fumT jpSydveNW5JHeAqHVI/AeSGBaI0oekN7l4qxe212H4hxfJFxK4ZlfaZsz4SZfqVpNYMhf3STJ5Pc etiM4JF7e1yGxY7/e/OA1Ix0fKJ7GooEfWJ1tofcfiRw4YXmftdspoQxf3ppM4LRf/OShZMYfquM QpDAfp2GL45Ofq+ARYvUful6mIl2fz91U4dRf5twmoV0f/BsgYPVgDppMYKIgGaRuZJoglmLkpAY gb6Fl42wgUx/wotEgQ16K4j6gPZ0/IbpgPBwW4UPgOtsX4OFgOVpMIJIgMyQ55HKhdaK5I+ChK+F B40lg7t/SorEgwZ5yoiJgoV0s4aMgiFwK4TGgclsQYNBgXppLoIRgSWQCJFCiRGKOY8Eh2iEgoyv hfl+4opZhNF5fIgpg+h0gIY6gypwEoSEgoRsQIMOgfNpLYHigXHKI2xOY+i9cm6UZ3+waXDZawGj KXMWbleWKHVEcYWJyHdmdKN+HHmHd9hzVXuieyxpdH2gfoXIkGo6a7y8D2zFbn2vP29GcRiiRnG4 c4yVhXQXdd2JWXZmeCR93niyen1zRnr0fO9pqn0Sf2PHQGhZc5G6y2sZdWyuNW3adyWhaXB6eK2U 3nMEeiCI5XV7e5F9nnfsfRBzOnpSfqJp3HyNgDXGI2aze2K5vWmhfEqtM2yGfRagkm9efbaUMnIK fkmIanSkfuN9WHc4f4pzLHm9gD9qC3wTgPnFEWVDgx24vWhYgxSsR2tfguifxG5QgqCTe3EugkuH 5nPkghJ9CnaVgeJzGHk2gcJqNXukga3D82P/irO3smc1ibKrU2pciJKe8W1nh12S2XBahiuHWHM+ hQx8tnYGhA9zAHi+gyVqW3tAgk/CyGLdkha2lmYwkBqqUGlzjgGeEWyai9+SK2+kic+G53Kch+F8 X3WJhghy6HhWhGNqfHrqgt/BqWHamU+1hGVGllCpU2ijkzidNWvjkCKRfG8GjTKGcnISinp8KXUR h+Ry0Xf8hX5qmHqeg1zAfmDwoDS0XWRxnDioPmflmCKcRGs+lBaQvW55kEWF6XGbjMN73HStiXly vHelhnRqsHpeg8fCWHEQY/C2lnLgZ3eqlHSlauyebXZbbj2SengEcWuHDnmndIt8S3tMd7xyXnzx ewRpWX6IfkXA4m8Qa061T3EhbhGpfXMicLWdgHUNczORt3bmdY+GfXi2d+R79XqEekVyTXxNfLhp h33/fxu/vm1Ccqu0KG+CdI+ofHG+dlicpHPWd/mRDXXaeYmGBXfSexV7rXnGfKxyNHuxfk5psX1/ f+S+vmuvegWzKm4cev+ngXB6e+Sbz3LGfK2QYHTrfWyFhncFfjB7YXkZfvxyHnsif9Np2H0KgKC9 xGpMgVCyOWzggWCmnW9ggVubBHHFgUaPrnQXgSyFBHZMgSl7EXh9gS1yBXqggT5p/HyegU28tWkM iHWxOGvAh5ilsG5hhqmaNXDjhbSPDXNMhMqEeXWog/F6vnfxgzZx6norgotqG3w/gem7k2flj2Gw JGq3jZKksm11i7eZWnAVieKOYHKaiCiEB3UNhpB6aHd2hQxxznnFg7VqN3vrgnO6eWbZlhqvF2nE k1SjvGyekIeYhG9bjc6NtXH7i0aDkXSGiPN6LXcEhsJxtHlshL5qT3uiguy5UmXdnGut92jfmK+i rmvTlPSXmG6tkVyM+HFpjgqDCXQOiwR533aiiDNxnHkchZ9qY3tlg1K613XbZCev/XcvZ6ak73hz axOZwHmkbl6Ow3rKcYaER3vudJ56cn0Vd8Bxbn4+eu9pP39kfgm5fHP0awOuvnWAbb6j1Hb3cGGY 1nhacuSOC3mtdUyDwnr9d6p6IHxNehBxUX2cfH5pZX7hfta4dnIuce6tt3Prc9mi9nWgdbSYB3cu d2mNW3iqeQ2DO3ogeq55zXuVfFZxOX0GfgRph35mf5i3lnCweNOs0nKXeeGiBXRset2XOXYpe8iM s3fFfKqCwHlcfZF5f3rwfn1xG3x8f21pp331gEy2rm9cf6ar7XFof9WhKHNdf/aWc3U2gA+MB3b6 gCmCQHirgFV5L3pagIdw/nv/gMFpxX2OgPK1r24ihlaq+XBQhaOgR3JmhOiVrnRbhC+LbHY5g4WB vHgLgux43XnSgmtw33uOgfhp330ygYi0nGz7jMyp9m9GizSfW3F6iZqU4nOPiA6KyXWKhqKBTXd2 hVd4inlahB9wwXsrgw5p9Xzhggyzkmvqkwqo/G5PkIied3ChjguUHHLUi6uKKnTsiX+A3nbyh4l4 T3jthbJwpHrThAVqCXybgoCygmrjmOCn921flXOdhW/NkhWTSHIhjueJf3RZjAOAYXZ7iWp4BniO hwNwjXqIhNRqGnxgguKzhXqqZI6pgXt7Z/yfXXw4a1mVJ3zgbpWLIn2AcbGBlX4jdLx4qX7Nd8tw hX99et1pJ4A0fdCyQnjRau+oYHnXbaeeWXrIcEaUS3ugcsmKcnxtdTOBEn07d5F4VX4NefJwYn7h fFJpRH+2fpWxVXcucVGnZ3hcc0GdfXmCdSCTgXqCduiJynt1eKCAknxnelJ4A31bfAdwQn5Pfblp YH9Af0+wknW1d8emmXcQeOScqHhYefaSyXmJewKJJnqWfASAE3umfQd3sXy4fg1wI33IfxJpeX7T f/yvu3Rxfh+lyHX0fm2b3HdcfrOSCHiifveIgnnUf0B/mHr+f5d3Ynwpf/FwAn1RgE5pkH5wgJuu znNChFOk5HTkg86bCnZqg0eRUHfPgseH73kcglp/HXpjgft3E3umgbBv4XzkgW9ppX4XgSut0XIg ilGj+XPfiPWaNXWEh56QmXcIhlqHW3hzhTh+tXnVhDV2xHsxg0NvwXyDgnJpt33Kgaus3XETkBWj GHLsjd+Za3Sti7WP63ZQia2Gz3fZh9l+UHlVhjd2jXrJhLRvo3wug1dpx32Gghqr6nAJlX2iNnH6 kmmYnnPZj2yPOHWdjKOGPXdHiiV95njgh+52TnpthedvkHvnhBZp1H1NgnmsRn95ZSSjFH/DaHuZ 2X/0a8GQnYAQbumHkoAncfJ+8oBKdOt27IB2d+FvoYCuetFpEID3fZurFX21awWiD34ybbaY8X6V cE2P1H7fcsuG638idTB+cX9sd4l2lX++eeBveYAYfC9pJoB9fliqQXwlcO2hL3zKcuKYJn1fdMiP GH3QdpeGTH43eFp9936iehV2RX8Ve81vVX+MfXxpO4AMfwqplHrNdtOgcHuYeASXXXxJeS6OZ3zj elCFsX1je299gH3rfIx19n55faZvM38KfrppTn+kf7Go3XmSfLOftXqCfSCWpXtVfYqNt3wFffiF GXykfm59B31Cfux1pX3pf2pvD36Tf+ZpX39FgEqoAHhugmie6nmBghGV7Hp0gb6NE3s/gXeEjnv3 gUR8lXytgR91Wn1sgQZu7X4rgPJpb37vgNWnGXdZh+ueFHiGhs2VLXmVhbmMbnqAhL6ECntVg+R8 NXwngyZ1Enz6gnZuzH3OgeBpfH6lgU+mO3ZYjTOdTXeei0yUfHjIiXeL13nQh8eDkHrBhkl73Hut hPp03nyYg8durn17grRpiH5jgbqlYnVZki2ciXa4j3mTz3f+jOCLQ3klin2DGXo1iGN7h3s9hop0 rHw/hN5uoX04g2Npkn4tghWlFIRCZdqcxIQCaRmUeoOkbEeMN4Mvb1eEIYK6ckl8aoJadSl1QoIK eAJux4HOes1o+4GrfWmj+oKXazqb2oKIbeGTqoJZcG+LgIIQcuODg4HEdUB77IGId5F06YFaedlu moE8fBNpCoE2fiCjQYEhcKCbEoE3cpqS9IE4dIaK0YESdlyC7IDneCV7dIDIeeZ0mIC4e59uc4C1 fUppGIDJfsuiqn/adgSaZYAVd0mSOoAxeIeKLIAwecGCWoAfevZ7A4AbfCh0S4AjfVJuT4A6fnBp JYBlf2yiB362e1eZu38Re+eRjX9JfHiJh39ffQ+Bzn9nfax6lH96fk90AX+bfu1uK3/If4NpMYAJ f/+hUn2jgI2ZDn4egGWQ7n51gEaI9n6jgDqBTn7AgEJ6KH7egFRztH8YgGxt/39egIJpPH+3gIWg eHyehZSYTn02hLOQR32qg+GIZn3wgy6A1n4kgqB5zX5hgilzcX6rgbtt3X8EgV1pRX9vgPqfqHuu imCXl3xeiMiPp3zph0aH331Khe+Aan2ZhMp5fX3vg85zP35PguptwH61gh9pTX8wgWKe3nrEjuqW 5XuNjJaPDnwyimOHYHyviGiAB30ZhrF5OX2HhThzGX38g+ZtvH52gr5pVH77gbmeDYkLZqCWnog2 acWPQIdCbNiH8IY7b82Ax4U7cqd58oRXdW5zo4OLeCht84Laesxo54JOfTydDoeAa3yVzIbXbhWO hYYOcJaHSIUucwGANIRTdVZ5e4OPd51zToLheddtxoJNe/to8IHefeycbYYkcF6VHIWecliN5IUB dEeGq4RAdiR/qoOBd/V5DILZebtzAIJFe3ZtnoHLfRto+YF1fpKb7YTxdTyUhoSNdpKNP4QJd+SG GINpeTV/JYLCeoJ4o4Iye8hyt4G2fQNteYFTfixpAIEUfyybYoPbegyT8oOVeruMpoMse3GFgoKi fDF+qIIRfPh4PYGWfb5ycIExfnttU4DkfytpCIC8f7uau4LZfr2TVYKxfsWMFoJift2E/4Hvfwp+ MoFzf0p324EAf5FyKYC1f9ZtKoB/gBVpDoBtgDyZ/4Hsgz+Sq4Hegp+LgIGpghWEfIFJga99wYDZ gW53fYB9gTxx4IA6gRBs7oAggOdpE4AngK2ZL4ENh46SAYEchkSK+IEChReECICwhBx9X4BPg1R3 L4ALgq9xqn/jghtszH/UgZlpGH/rgRGYYoA5i6CRVIBhibKKZ4Bch+eDlYAihlZ9CH/ahQh2+H+r g/Bxjn+Wgvps1n+ZgiZpHH+4gWaXR42rZ3OQ2oxGaoWKdoq7bYSEEYkacGB9xoeJcx13wIYidcZy NITheFxtOYPKetdo1oLffRSWWow8a82QEIr/bl+JwYmccNiDb4ggczd9NoavdX93SIVkd7px24Q9 eeJtBIM+e/Fo2YJzfb6V2or8cCqPeInfciuJM4imdB6C3odDdf98s4Xpd9V23IS1eaFxjIOle1ts 14K+fPxo3IIOfl6VhInidIWPAojkdeyIo4fAd1GCXYZ5eLl8N4Uzeh52d4QUe3lxRIMafMRssIJK ffdo34GxfvSVFIjgeNWOhYf9eaCIGobweneB0IW7e2B7woSFfFF2FYN+fTxw/4KafhlsioHgfuFo 4oFcf36Uc4fwfQiN6oclfTqHiYYvfYKBSoURfeh7SoPxfmR1tYLwfuBwuoIlf1FsY4GBf7Zo5IEP f/qTr4cSgRGNPYZegK2G84V+gGaAyYR1gEh634NqgEt1YYKCgFpweoG7gGhsM4EsgHNo54DMgGiS 54ZDhOeMlYWkg+6GZ4TagxqAVIPjgnl6foLqggZ1EYIXga1wQIFogV5sAoDhgRto6ICSgMmSD4WO iHiL7YULhvCF54RUhZB/8oNmhG56MoJ1g4d04IGygsxwJ4EXgihsEICogZxo6oBhgRuQ35ItaGCL bZApa1OF8Y4HbjGAY4vZcPB64InEc5J1nIfhdh1wy4YreI9sgYSpet5oxoNifPCQBpDbbDGKoY8B brCFNY0EcRl/vor1c2x6U4j5dat1KYctd9hwdIWNee5sSoQhe+JoxYL5fZWPmI+2cAOKF435cgGE t4wgc/Z/PIokdd553og8d7p0x4aDeYlwK4T5e0FsHYOkfNlow4KYfjCPVo60c9qJuY0OdVCEPItF dsZ+z4lfeER5cYeIecB0bYXkey9v6YRvfIdr94MyfcJowoI+fsGO+43Fd6+JTow1eJiDwop9eZF+ T4imep55CYbce7V0E4VQfMJvqYPxfbtr04LLfppowIHrf0eOZIzie3CIvotne82DO4nDfEV9z4gC fOB4loZMfY9zuYTFfjtvaIOAftZrr4Jwf15ov4Ghf8CNnYwRfwWIFYqqft2Cq4kZfth9Vodtfv54 MIXNf0JzaYRdf41vK4Mbf9Fri4IggAtovoFggCuMzItUgmSHaon/gbyCIIiBgT185IbkgPF31IVY gM5zIoP9gL1u+4LRgLBraoHbgKJovYEogIiL4Iq1hXKGu4lwhFqBnogAg218gYZwgrZ3ioTxgi1y 9IOmgcNu5oKLgWlrboGkgRxovID4gNjBWmjgX1O1jWuIY3mpYW4zZ4qc/XDba26Q6HN2byWFkXYC csZ7C3iFdndxgnr1ejxpA30zfey/uGaGZv60Jml/alKoPGxzbYCcKG9ZcIWQWXIuc2GFOHTudi96 4HeieQpxf3o/e/VpNXyhfs6+c2RkbrCy62egcSCnQmrfc3GbXm39dYqPx3EEd4uE2HPyeYV6r3bR e4txfHmVfZ1pY3wZf6K9Y2KCdlix7mX6d92mU2lpeUOanmzJenuPMG/4e56Eb3MPfMV6dnYUffVx dHj6fzJpjnucgGi8U2DafeCw/WSHfn2le2gjfvWZ5Wukf0mOkG8Pf42D/nJFf+J6NXVrgEFxZXhv gK5ptXspgR+7Kl9hhTav9GM8hOmkl2cDhHmZKmqog+qOBm4sg1aDhHGWgs558HTWgmRxUnfzggtp 13rDgcS56V4OjFGu0WIRixijnGX/ib+YYGnIiE6Nc21phuSDLHDrhZJ5q3RVhFRxQHeHg0Rp9npq glW4sVzdkzyttGEEkRKipGUWjsiXl2kBjHGM4GzAijGC0HBZiBt5h3PWhiZxMHcphFpqEHocgtW3 alvJmcusfWANlrehkWQ+k4GWumhKkEOMP2wpjSyCaW/cilZ5VnNuh7NxLnbQhU9qJnnbg0G6GW1j X5yvKG+cY66j9XHPZ6uYonP2a4KNlXYQbzCDKXghcsh5enosdmpws3wrehdo6X4Lfai4qGseZtqt 7G2naiii7nAibVeXynKJcFyM5nTcczuCqncfdgt5MnlZeORwqHuAe8NpE31/foK3jWkSbhes1GvZ cIiiBW6cct+XCHE3dQiMWHO8dxyCSnYteSh4/HiRezpwmnrefVFpOnz8f062mGdGdUur6mpHdtmh Im04eE+WUHASeaeLxHK9euuB4HVVfDF4v3fdfX5winpKfs9pXnyEgA21omWvfGerCWjkfRWgVWwA famVnW78fiaLKnHdfpqBcHSTfxt4e3c7f6RwdnnEgDRpf3wWgL20kGQ+g1WqEGehgyCfemrogtWU 5W4HgnqKn3EEgiKA9nPpgdZ4M3aqgaJwXnlNgXxpnHu0gVyzY2LqigCo/WZ1iOaeiWnlh7uUHm0p houKCXBGhWuAl3NEhGV36XYrg3BwRXjjgqJptntegeiyO2G1kHSn7mVkjm+dm2j4jGCTWWxhiliJ c2+eiHKANXK2hrh3vHWzhRxwLniHg6dpzHsTgmOxA2CVlnmmx2Rjk42ck2gZkJ2SfmunjcOIzW8F ix5/xHI6iLl3gXVOhoRwJXg1hIZp33rUgsuzKXHwYBWpDnO0ZBmewHVsaAmUWXcUa9GKNniwb3GA rHpGcvd32XvYdn9v431hegdo0H7ZfWix3m/DZten5HHQahWdv3PKbTqTjHWtcDuJnXd+cxuAQXlF dex3m3sGeL5v0Xy4e45o835Sfjmw4W3CbaWm8XAOcBOdAHJTcnOS3HRrdKiJB3ZrdsZ/0HhdeN13 V3pGevdvwXwdfQ5pE33Vfv6wC2wPdGemIm6Udf6cKXEDd4OSLnNUePOIfHV5elJ/bHeQe7F3Gnma fRJvqnuPfnJpMH1hf7avKmqLexClTW1Ce9GbZG/afIGRgXJNfSSH6HSjfcF+/nbXfmh21Xj/fxRv kXsPf8FpS3z4gF+uLWkmgY2kZmwJgXealm7MgVSQ0nFigSuHYHPVgQp+iHYygPJ2i3h0gO9vdXqc gPVpY3yagPitGGfWh8ijaWrhhtiZt23LheGQF3CIhO+Gz3MchBJ+KHWVg052QHf4gppvWHo2ggdp eHxHgX+sCmahjcaicmnQi/iY3mzfiiqPYW/BiG6GQXJ3htp9x3ULhXF2EHeGhCRvPXnbgvtpi3v/ gfaq8mV5k1ihbWjIkKuX9Gv7jgiOm28Di4iFp3HdiUZ9XHSQh0J11XckhWxvMHmPg8hpmnvCglus c3aAYLyjG3fIZKeZpnj/aICQKnolbDOG83tAb71+SHxacy12Sn10dphvG36JeflouH+bfSurQXRk ZweiE3X0ajqYwndsbVKPcXjLcEyGZHoacyV94Htkdex2CnyqeK9vAn3oe2ho1H8affSqX3KHbU+h MXRNb7qYCHYJchWOyXeXdFOF23kTdn19e3qFeJx1y3vxerhu7H1RfMlo7X6ifrKppnDec6OgeXLf dUGXT3THdtKOMXaTeFyFUXgredJ9D3m9e0V1hntJfLZu1XzHfh9pBX4zf2Oo129vedSfunGkequW m3O2e3iNiHWafD2ExHdffQB8pnkPfcl1Qnq3fpJut3xNf1dpGn3OgAen724Yf9qe43B3f+iV2nKw f++M5HS4f/eEQnaegAl8NnhwgCJ0+noxgEpumHvfgHdpLX1zgJqm9WzRhaKeAG9XhOSVE3G3hCWM PHPlg3GDvnXsgtN723fbgk50sXm4gdVueXt8gXdpPn0jgR2mAGuiiyudJW5LiZ+UUnDPiBiLmnMi hqiDPnVKhWB7gXdWhEJ0gnlNgz5uXHskgllpTXzegY+lC2p6kFOcRW1EjfWTjG/si6aK8nJliYCC uXSxh5Z7I3bdhep0TXjuhGluUHrcgxZpWXykgfCl2HsKYYudQXvUZVqUpnyJaRWMFX0pbKyDyH3C cBt7+H5fc3B0yX8BdrluWH+mefBoooBRfPGktHkJZ1ucVXoXan+T3XsKbYmLbnvicHWDQHyrc0J7 kX12dft0hX5BeKtuOn8Le0lot3/VfbSj6ndGbSubiniJb5OTMnm8ce6K03rAdCyCwHuzdll7L3yi eHh0Rn2Reo5uIH57fJNoyn9ifmujSHXAcvSa4Xc4dJ6ShHiPdj+KQHnHd9aCP3rXeWF6zHvleuR0 BXzxfGBuBX32fc5o3H73fxaimnRgeK6aN3YKeZyR4neLeoWJpnjee2yBunoTfFR6Yns5fTxzvXxf fh9t5H19fvlo7H6Wf7ShwXMYfjmZd3TvfmyROnaafp+JFHgNftiBP3ldfxt5+nqhf2RzeXvgf7Rt xH0UgANo+34/gEKg3XHfg4qYqnPagwKQhnWpgn2IfXdBggiAyHi0gap5pXoWgWBzNXtsgR9tpXy1 gPBpB33zgMCf/3C9iJyX5nLbh1aP3XTMhhuH73aHhPmAV3gZg/55VXmXgyhzCHsHgmlth3xggcJp En2wgS6fJG+gjVmXI3Hfi1SPM3PziWCHYnXSh5V/6XeHhgR5CHkihKty3Xqrg3ltf3wcgnBpHH14 gYyfS3+FYnSXhH/RZiWPyYACacKII4AcbTmAuoAycIl5voBTc79zV4B+duNtnICzee1ojYD5fLye OX2oZ8iWrn4zatyPFX6dbdSHin7pcK+AOX8sc215WX91dhZzEX/GeK9teoAeezBonICCfXidh3wG bRqV+nzCb4COfX1ncdiG+33bdBZ/v35DdkJ4+X6ueF9y0H8fem1tXH+TfGVoqYAUfimc+HqZcmOV YHuGdBmN3XxOdceGcnzwd21/Rn10eQh4m337ephykX6HfBttP38VfYpotn+tfs+cYHlSd5WUyXps eJ2NRntYeaSF5HwVeqx+zny3e7V4O31XfLhyUH38fbJtH36ifp5owX9Qf2ebqXgffKSUIXljfP+M sXp1fV+FX3tQfcp+WnwKfj931ny9frZyCH16fyxs9344f5toy378f/Ga0Xb1gX2TaHhjgSuMFHmc gOKE23qWgK197XtqgJB3hnw7gIJxy30LgHhs133dgHZo1H6ygGqaAXXjhhaSsndyhRmLeHjLhCuE WXnlg1p9h3rZgq13PHvEgh9xnnysgaJsun2MgTdo3H5ygNWZMnTbimKR/naLiLqK4XgFhyeD33k/ hbt9KXpRhIV2/XtXg39xfXxVgppsuH1LgdZo4n49gS+Y2oPpY2uR9oO1ZwCLI4Nian6EY4L2bdR9 1YKJcQR3o4IudBdx+IHkdxNs6oGuefBoeoGSfIyX44I2aEGRM4I5a0WKfIIXbiyD0oHYcPZ9V4GS c6J3PYFbdjlxsIEzeLpsw4Ecex5og4EffUKXSoC4bRSQlYDob3eJ9YD8ccyDToDddAl85IC3djR2 4YCeeE5xb4CTelRsooCXfD5oi4C1fe6W1H9ncd2QEX/Ec56JZ3/3dVmC1IABdw98dH/zeLh2iH/0 elRxMoABe99sg4AefU9ok4BSfo6WTX4zdpGPiH65d7KI3H8NeNaCT38xef18Bn8/eyV2MH9YfERw 9X99fVNsZH+wfk5omn/4fyGVpX0SeyCO7H2/e6OIT341fC+B0X52fMp7mn6dfW511X7FfhFwtX8D fqpsQX9MfzdooH+of6aU6Hv+f4GOR3zTf2WHw31tf1mBWn3If2Z7NX4Ef4l1hH5Ef7Zwc36Of99s DX7vgAhopn9hgByUHHr9g6SNn3v5gu2HO3y3gkqA6n0pgcl62H13gW11PH3PgShwQ340gOxr7H6h gLpoqn8jgISTR3oOh3mM73sshi+GrHwGhPyAenyTg/J6hHz7gxh1Bn1qgmVwKH3igctr9H5jgUpo rn7vgNuSrIg2ZF2Mrod7Z9mGwYagazqA4IWubnF7IYTAcYB1rYPsdHBws4Mxd0VsRYKTefVoaYIa fGGRz4ataLqL+IYha62GIYVvboOAUYSicTt6pIPVc9d1SIMhdlxwaYKFeMdsG4IEew9obYGsfRKR ToVUbRCLboTvb2+FqYRsccF/2YO5c/16OIMGdid074JreD5wKYHpej5r94GCfBxocYFFfbiQ8IQf cVyLAYPicyeFLoN6dO1/b4LpdrN50oJLeGx0nYHHehVv7oFce6dr2IENfRpodIDmflSQf4L+dZWK jILpds2EtIKfeAx+9oIleVV5b4Gdep10SYEwe9ZvtIDcfPxruICifgdod4CPfuOP5IHseayJ/IH8 elSEMIHTewx+foF0e9d5BYEEfKxz84CkfXlvdYBnfjVrk4BDft9oeYBCf2SPKoDsfZKJWYEifa+D pYEZfeF+CIDTfi54o4B5fo5zp4AwfvFvOH/5f0xrYX/rf59ofH/9f9eOan/4gUGIuIBRgNSDIYBn gIF9m4A5gFN4SH/zgENzWH/BgEJu/n+kgERrI3+dgEpofn/CgDuNg38khJmID3+qg7CCqn/iguJ9 RH+9gjx4Bn93gb1zKX9QgV1u439JgQxrNH9ggMtof3+QgJCMxoxZZWqHx4sXaM6CwYm4bBJ9rYhE byh4pobYchNz3YWMdNtvgoRid4RrqINgegJoWoKUfDuL9orvaUWHBonWbCaCE4iabux9E4dDcZJ4 IYXydBxzcITDdo1vMIO3eOBrdILUewpoWYIqfOaLhIm6bRSGiYjBb2+Bqoescb58p4Zlc/p3v4Un diRzHIQOeDpu8YMbejNrTYJTfARoWIHHfYiLRYincOOGO4fQcraBSIbNdId8VoWgdl13aIRweCly 1INreeBuvIKQe3trLoHhfO9oWIFrfh+K9IeddK2F44brdfWA4oYCd0x764TleLR3E4PGeh9yiYLY e3ZuhoISfLFrEIF6fctoV4EXfquKaYaUeFyFX4YHeR6AaYU/efl7eYQ+evJ2roM1e/dyNoJPfPBu SYGifc5q7IEffpJoV4DMfymJpYWae9KEuoUxfBt/4ISHfIF7B4OifQp2T4Kyfadx7IHlfkBuDoE8 fspqxIDOf0FoVoCKf5iI0oS1fw6EEIRsfuZ/WIPfftx6moMQfvl194I3fzBxpoGCf29t3IDwf6pq nICIf9poVoBQf/mH0YP5geODWYPIgWN+2YNPgP16QIKSgLd1tYHJgIxxfoElgHJtyoCmgGFqpoBO gFVoVYAfgEy4xWVFWs2tvGhSX3eiWmtrZBGW0W6JaIOLr3GgbMiBaHShcPJ4C3eNdSVvvnpUeV1o nHzPfWG28mKVYjysOmYBZhqhMmlwadqWC2zabXOLO3A1cOSBL3N1dEB3/Xaad6Nvz3mUewloynw5 fka1oGAkab2q+mPkbL2gPmetb6aVUGtbclmKvm7ydPKA5XJnd3534XW9ehFv2XjifKZo9Xuufxy0 j135cTWqCGIIc1SfXmYQdVeUo2oMdzKKOm3TeO6AjnF2eqt3tHT2fGxv2HhBfjJpHHstf+Wze1wN eIipHWBkecyel2SneuuT/WjPe+eJrmzafM6ALXChfbp3fnRGfq5vzHexf6hpQHq4gJ6yQFpUf6Go E17qgAmdv2NngE+TWGe9gHGJOWvogIR/x2/qgJ13R3OrgMlvvXcxgQFpYHpQgUWw31jEhnKm412R hgOcy2JEhXGSpmbJhMCIx2sZhAR/iW82g1Z3GHMmgrVvsnbCgjZpe3n0gdivhFdZjQ+ltVxYi8Kb 2GE9ilSR9WXxiMuIVWpmh0R/TW6dhdV3CHKhhIBvq3Zgg0pplHmkglquBFYNkzukYls0kSSayGBG juKROWUojIWH5mnFijN/GW4ciAt3AXI3hgtvxHYFhEFpqHlhgseyEmmQW1unzWwxX+6dVG7XZHGS 0XF7aM6IsXQWbP9/TXagcRR2uXkZdSpvGXtzeTxog32YfRqwlGbzYm6mjWn2ZjucVmz1afKSDW/n bYKIHnLGcOl+63WLdDx2iXg5d5BvG3rAet1oqn0JffavbmSaaX+lfGfvbHSbgmtGb1mRaG54chCH r3GPdLB+p3SId0J2aXdledRvGnoXfGJoznyDfsWudWKJcIekoGYscqOauGm+dK2Qzm06dpqHNnB/ eGt+U3Okejt2OnapfAtvEXl+fdho73wIf4etfGCzd3KjzGSbeLuaAmhneeyQNGwNewSGsm+QfA19 83LYfRh2AXYAfihu/nj0fzhpDXuYgDmsYV8Hfimi22Mufp2ZO2cyfvuPlWsFf0KGO26pf4R9iXIm f8l1wXVqgB9u6Hh5gHxpKHszgNurJl1+hJehyWHchDWYWWYVg8CO5moXgz2FwG3ggrx9PnF6gkt1 hHTngeZu0ngMgZ5pQHrbgWmp7VwXisqgt2CoiYuXd2USiECOOGlBhvGFRm0whbN89HDlhJN1Z3Rq g4tuv3etgqBpVHqPgeaolVrJkISfhV+HjnGWemQfjFWNfGh8ikGEx2yTiE98qXBnhot1SXQDhO9u yHdZg4BpZXpOglGrt23kXBqiMHAVYJmYh3JGZQiO43RyaVGFo3aUbWp9FXimcWJ1TXqqdVJuaHyT eTJoan5ZfNWqb2thYrqhE23wZnCXoXB1ahOOOnLobZWFMHVHcPN8zneTdDp1K3nKd3tuZ3vjeq5o in3PfaqpaWkTaWCgLWv2bEmW/W7XbyuNrHGKceSEvnQhdIR8fHaedxd0/nkCeaRuY3tAfCVoqH1P fnKokGcgb/mfcGpQchWWSG1ndCKNI3Bfdh2EU3Mfd/58MXXFedt00nhOe7VuU3qvfYRoxHzZfy2n r2VidnaerWjUd8iVnWwieQmMk29DejuD1nI8e2F703UDfId0lneufa5uO3osfs9o3Xxtf9qms2PI fMKd1Gd2fUmU5mr6fcKL/G5Hfi6DYnFifpp7aHRYfwd0Uncef4JuH3m2f/9o83wNgHalnGJKgsic 4mYugoGUG2nlgjGLWW1fgdyC53CggZF7GHOzgVd0DXafgSduAXlNgQ5pBnu5gQCkimDriI6b82UB h3STU2jnhliKuGyNhUSCbm/zhEl6yXMkg25z6HYpgqlt5njwgf5pF3tvgXijZV+ejeCa72Phi/WS eWf2ihCKDWvJiEOB8m9WhqJ6eHKnhTNzwXXFg+pt53iigsxpJnsxgd+lonI5XQOcxnP0YWST5HWs ZbWLG3dcad+CuXkBbdp6+3qccbJz9nwrdXptwH2meShoU38OfJSkdW/NYzOb0nHlZtWTInPuamOK jHXjbdSCVHfEcSJ6uXmVdFZz0ntWd31tt3z+eo5obX6LfWKjjG2laVibBHAKbDWSi3JnbwmKD3SW ccKB9XapdGN6dniodvNzq3qTeXdtrnxie+hohX4QfiSi0GvBb4aaXm5zcZ6R9XEJc62JnHOBdbmB jHW2d6d6JXfZeY5zeHnme2xtn3vSfThom32fftmiBGoedY6Zsm0VduuRXG/ieD6JEXJ3eYmBFnTg est5y3cjfAhzPHlPfUFtgntXfm9orn03f4ChIWiYe2iY62vHfAaQsW7FfJ6IgnGFfTGApnQTfcV5 Y3Z+flhy93jGfvNtYnrnf4towHzbgBagKmcogP6YFmqLgN2P/W26gLiH7nCmgJWAMXNZgH95E3Xj gHhysXhKgHdtQXqBgIlo0HyKgJyfN2XThlOXRWlnhW6PTGzChIuHXW/Zg7Z/wXKxgvx4xXVZgmFy iXfbgdptInoogWho3XxDgRGeP2SNiz+Wa2hMiZaOlWvUh/eGym8WhnN/UnIVhR94enTeg/xyYXd7 gv5tH3nfgiRo6XwIgXSfsXaBXg+Xg3fJYkuPaHkIZniHeno6an5/8XtiblZ4/HyFcglyrn2gdaZt HX6veSJoPX+5fFiei3Q4Y8iWqHXYZ1SOwndkasyG/njWbid/lXo2cV94unuLdHxyhnzVd4dtDn4O enNoUX86fR+dunI1aXqV8XQdbEyOO3X3bxaGjnefccZ/PnktdGF4e3qsdudyX3wdeV1tAH16e7ho Y37FfdqdF3B3byGVXHKncT2NsHSyc1KGIHaYdWJ+3XhGd1x4MXnmeUlyL3t3eyls7nzxfPBodH5Y foqcam7rdLWUxHFcdh6NKHOcd4SFo3WheOh+bnd8ekd31nk2e5lx8HrifOJs0Hx1fhhog331fyub lm15ehaUEnAletCMk3KZe4mFInTEfER+AXa8fQF3c3iZfblxrXpgfnJsrnwMfyJokX2cf72atGwY fzaTT272f0GL7HGWf02EmXPsf2B9lXYKf4B3J3gHf6pxa3npf9dsjXurgA1onX1OgD6Z2GrShBSS km3eg2+LTnCpgs6EFnMogjx9LnVqgcV23neFgWhxQnmBgRtsbXtUgN1op30LgK+Y+mmWiJOR02zN hz6Krm/EhfKDl3JshMB8znTTg7l2nHcOgt9xH3kkgiVsa3sPgYposHzRgQ+Zz3qwXyqSY3uHY0WL G3xQZ0yECH0Hayx9UX20bt13GX5ecmlxeH8HddhsgH+reSFoKYBWfCCYsXiYZG6RmHm+Z+OKhHrK a0SDlXu6boZ893yYcaZ21X1xdKpxTH5Fd5ZsbX8Qel5oN3/dfOGX9HbAaaiQ9HgobHCKDXl8bzCD LXqZcdd8onugdGl2lXyeduVxIn2VeUpsWn6Ce49oRH9sfZaXYnUmbtSQa3bPcPOJi3hPcw2CxXmi dSJ8R3rHdyN2TnvkeRVw8nz5evNsRH4BfLRoUH8EfkCWznO3c+SP5XWcdV+JDHdKdtqCUni7eFR7 4XoFecp1+ns7ezBwuHxqfIdsJ32LfcZoW36kft2WGXJdeM2PSHR7eaWIhnZYeoGB2nfse2V7eXlQ fEx1mnqefSpwcnvnff5sAX0gfsNoZH5Pf2qVQHEKfXWOlHNhfa6H8nVvfe2BX3cpfjh7E3irfpB1 UHoYfuxwNHt1f0Rr33zEf51obX4Ef+eUb2/RgdqN4XJVgXeHW3SNgRyA5HZugNJ6s3gTgKB1C3me gIFwC3sVgGtrwXxxgF1odH3DgFWTl26lheKNKnFWhOmGxnO3g/iAb3W+gx56XXeFgmh00nktgddv 7nq8gV5rwXwvgP1oe32MgLKUBX68YEqNcn8mZEeHB398aCyAzH+7a+V623/vb251VIAkctBwVYBc dhBr64CYeSRoF4Dke+2S93zeZRqMsH2HaHqGdH4Ua8OAV36Cbu16fH7hcfR1C38/dN5wIn+gd6tr 0oABek5oH4BwfKiSTHs3ad6MG3wabJyGBnzjb1F/9H12ce96KH33dHd0yH52dudv9H73eT1rvH93 e2xoKIAEfVmRznnAbpGLo3recLKFkXvPctB/lnyPdOp50X0pdvJ0g33EeOdvxX5gesRrpH77fH1o L3+fff6RR3hncymLJnm9dLKFGHrXdj9/Jnu1d895dHxweVt0Nn0ketNvjn3ZfDdrh36LfX5oNn9E fpaQpHcgd5OKlXiteImEmXn0eYl+s3ryepF5EnvHe5xz4HyOfJ1vUX1dfYxrZX4lfmdoPH7yfx+P 5HXie8eJ8nelfC2EEXkafJ9+Q3o7fSJ4snsqfa9zlHwLfjtvD3znfr1rN33IfzZoQX6qf5mPE3Sy f7WJSnavf5KDjXhTf3x913mTf3p4WXqaf4xzT3uWf6pu4nyNf8prGH16f+hoRn5rgAOOMHOagz6I knXFgqKC/HeQghB9a3jzgZB4DHoYgSxzH3sugOFuy3w5gKZrHH06gHtoSn42gF6Oc4KmYWWIw4Kf ZUiDN4KBaQx9zYJLbJ94l4IJcABzs4HMczdvSIGYdklrYoFxeSpoBoFke7+NeoEDZcSIB4EraRGC oYE2bEN9UIEjb1V4LoEFckRzYoDtdRNvD4Dfd8FrQ4DdekFoCoD0fHaM33+NahOHfn/kbMiCO4Ah b3N88IApcgl32oAmdIdzHYArduxu3oA7eTJrKYBXe01oDoCLfSGMdX45blKHGH7FcHaB038icpd8 nH9QdLd3iH9idsZy23+AeL5urn+peplrEH/efE1oEoArfcKMAHz1cneGrH24dA+BZn48da58NX6E d1N3M36xePRykn7nen5uen8ne+5q839yfTxoFX/TflaLaHu5dm+GInyzd4KA7H1jeKN7xX3LedB2 034Sev9yQ35ZfB5uQH6yfSdq0n8SfhZoGH+DftyKrXqLeiiFgXu7er+AZXyXe2Z7Vn0hfB52d32C fNxx/H3ifZRuBX5Efj5qqH66ftZoGn8+f1KJ53lmfaiE33rMfch/43vTffh67nx+fjx2I3z5fo5x tX1zfuVt033ufzZqeX5sf35oHX8Cf7qI8HhkgLKELXoFgHR/a3s4gEF6mnv3gBx15Hx+gAdxi30G f/9tu32VgABqgH4tgAVoHn7OgBKJH4ZpYo+EXYXvZlh/q4Viaft7AoS9bWd2dYQMcJ5yKINgc6du RoLDdodq3II5eTRn94HWe5aINYT6ZnWDmYSeaa1/BIQqbMp6c4Odb8R1/IMIcppxyYKAdU5uA4IJ d9xqtoGnejhn94FqfEiHnYO0akuDEoN5bPZ+ooMob5d6E4KrciV1qIIsdJtxg4G+dvVt0IFleSxq mYEiezNn94EFfPCHPIKCbhuCuYJ1cD9+RYI8cmF5zoHbdId1YIFtdp1xSIEWeJltpIDVenNqgYCt fCFn94CofY2G2oFPcdiCXoF4c3l95oFkdSZ5coEadt51GIDBeJNxCICBei5tdoBWe6tqZoBEfQFn 94BTfh2GToAZdWqB4YB7dpJ9eICTd855C4BqeRx0voAqemxwwX/5e6ltQH/lfMpqR3/nfctn94AG fp+Fjn7ueLKBRX+HeXV8+3/Mekp4p3/GezB0a3+hfBxwgH+JfP1tC39+fcpqJn+Ufn1n93/DfxOE wX3Ye7iAo36mfB18fX8UfJN4Rn8ufRh0H38kfaVwRX8jfi1s5X8wfqtqBn9Lfxln93+Jf3iDuHzo fkR/6X3hfm18AX5yfpp38X6lfstz5H6wfv9wIX7DfzVs1H7if2pqCX8Rf5xn939Xf84AAP//AAD/ /wAA//8AAG1mdDEAAAAAAwQhAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAB AgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6 Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJz dHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqus ra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl 5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQECAgMDBAQFBgYHBwgICQkKCwsMDA0NDg8PEBAR ERITExQUFRYWFxcYGRkaGhscHB0eHh8gICEiIiMkJCUmJicoKSkqKywtLS4vMDEyMjM0NTY3ODk6 Ozw9Pj9AQkNERUZISUpMTU9QUlNVV1haXF5gYmRmaGptb3F0dnl8foGDhomLjpCSlZeZm52foaOl p6iqrK2vsLKztba3ubq7vL2/wMHCw8TFxsfIycrLzM3Nzs/Q0dLS09TV1tbX2NnZ2tvb3N3d3t/f 4OHh4uPj5OXl5ubn6Ojp6err6+zs7e7u7+/w8PHy8vPz9PT19vb39/j4+fn6+/v8/P39/v7/AAEB AgIDAwQEBQYGBwcICAkJCgsLDAwNDQ4PDxAQERESExMUFBUWFhcXGBkZGhobHBwdHh4fICAhIiIj JCQlJiYnKCkpKissLS0uLzAxMjIzNDU2Nzg5Ojs8PT4/QEJDREVGSElKTE1PUFJTVVdYWlxeYGJk ZmhqbW9xdHZ5fH6Bg4aJi46QkpWXmZudn6Gjpaeoqqytr7Cys7W2t7m6u7y9v8DBwsPExcbHyMnK y8zNzc7P0NHS0tPU1dbW19jZ2drb29zd3d7f3+Dh4eLj4+Tl5ebm5+jo6enq6+vs7O3u7u/v8PDx 8vLz8/T09fb29/f4+Pn5+vv7/Pz9/f7+//9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0Ww qYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQ KGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKK cF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFM wJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGre kix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7m h25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98 U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix8 0JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/ JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g 64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yX d1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0 jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/ hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64Vt Ye6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jW kXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKM PZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ +IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6D a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1h0WwqYFMwJ98U8yXd1jWkXRb 3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v9/JTr/hSVJ+IomWeuQKGrekix80JE0jcKMPZ+1 h0WwqYFMwJ98U8yXd1jWkXRb3Y1yXeKKcF7mh25g64VtYe6Da2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8v+AJTn/hiRJ+Iwl WeuSJ2relSt70JUzjMORO561i0Sup4RNvp1/U8qVelnTkHdc2Yx0XuCJcl/lhnBg6oRuYe6DbWLw g21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCD bWLwg21i8P+AJDn/hyRJ+I0kWeyUJmnfmSp60Zkyi8KWO5yyj0WspYhNu5uCVcaTfFjSjnhb24p2 XeGHc17mhXFg6YNvYeyDbmLug25i7oNuYu6DbmLug25i7oNuYu6DbmLug25i7oNuYu6DbmLug25i 7oNuYu6DbmLug25i7oNuYu6DbmLug25i7v+BJDn/iCNJ+I8kWOyXJWnfnSl60Z8wir+ZO5qwk0Wq o4xOuJmEU8iRf1fTjHta24l4XOGGdV7lhHNg6INxYuqCcGPrgnBj64JwY+uCcGPrgnBj64JwY+uC cGPrgnBj64JwY+uCcGPrgnBj64JwY+uCcGPrgnBj64JwY+uCcGPrgnBj6/+CIzn/iSNI+ZEjWOya JGjgoid5z6MwibydPJitl0anoY5MupeHUsmPgVbUin1a24d6XeCFd1/jg3Vh5YJzYueCcWPognFj 6IJxY+iCcWPognFj6IJxY+iCcWPognFj6IJxY+iCcWPognFj6IJxY+iCcWPognFj6IJxY+iCcWPo gnFj6P+DIjn/iyJI+ZMiV+2dI2fhqCV4y6cxh7miPZWqmkSpnpJLvJSKUMqNhVbUiIBa2oZ9Xd6E el/gg3dh44J1Y+SBdGTlgXRk5YF0ZOWBdGTlgXRk5YF0ZOWBdGTlgXRk5YF0ZOWBdGTlgXRk5YF0 ZOWBdGTlgXRk5YF0ZOWBdGTlgXRk5f+EIjj/jCFI+pYhV+6iIWferSV2yKwyhbamO5ann0KqmpZJ vJGOUMqKhlbShoJb2IR/XtuDfWDegnpi34F4Y+GBd2TigXdk4oF3ZOKBd2TigXdk4oF3ZOKBd2Ti gXdk4oF3ZOKBd2TigXdk4oF3ZOKBd2TigXdk4oF3ZOKBd2TigXdk4v+GITj/jyBH+pkfVu+nIGXa syV0xLEygrKrOZijpECslplJvYyPUMmHiFfQhIRb1YKCXtiBgGDagH5i3IB8ZN2AemXegHpl3oB6 Zd6AemXegHpl3oB6Zd6AemXegHpl3oB6Zd6AemXegHpl3oB6Zd6AemXegHpl3oB6Zd6AemXegHpl 3v+HIDj/kR5G+54eVe+uHmTVuiVywLYvhK6xNpmdpz+skZpJvImQUceFi1fNgodb0oGFXtSAg2DW f4Ji2H6BZNl+f2Xafn9l2n5/Zdp+f2Xafn9l2n5/Zdp+f2Xafn9l2n5/Zdp+f2Xafn9l2n5/Zdp+ f2Xafn9l2n5/Zdp+f2Xafn9l2v+KHjf/lR1G/KMcVOq2HGLQwSVvu74rhae3NJqWp0Csi5tKuoWT UsSCjljJgItczX+JXs9+iGDRfYZi0n2FZNN8hWbUfIVm1HyFZtR8hWbUfIVm1HyFZtR8hWbUfIVm 1HyFZtR8hWbUfIVm1HyFZtR8hWbUfIVm1HyFZtR8hWbUfIVm1P+NHDb/mhpE+qwZUuXDGV7LySBx tMcnh522NZqPqEGrhp5Lt4GXUr9/k1jEfZBcx3yOXsl7jWDKe4xizHqLZM16i2bNeotmzXqLZs16 i2bNeotmzXqLZs16i2bNeotmzXqLZs16i2bNeotmzXqLZs16i2bNeotmzXqLZs16i2bNeotmzf+S GjX/ohdC9LcWTt7SFF3E1Rlzp8YpiJO3N5qIq0OogaNMsX6dU7h7mVi8epdcv3mWXsF4lGDCeJRi w3eTY8R3kmXFd5JlxXeSZcV3kmXFd5JlxXeSZcV3kmXFd5JlxXeSZcV3kmXFd5JlxXeSZcV3kmXF d5JlxXeSZcV3kmXFd5Jlxf+ZFjP/rRQ/7MkSSdPfDl+z1xp1mcYriIq5OZeBsEWifKlOqnmlVK93 olizdqBctXafXrZ1nmC3dJ1iuHScY7l0nGW6dJxlunScZbp0nGW6dJxlunScZbp0nGW6dJxlunSc Zbp0nGW6dJxlunScZbp0nGW6dJxlunScZbp0nGW6dJxluv+kEjDyvg862dkKS77oD2Gh1h11jcgu hoK+PJJ7tkebd7FPoXWuVKVzq1mncqpcqXGpXqpxqGCrcahhrHCnY6xwp2StcKdkrXCnZK1wp2St cKdkrXCnZK1wp2StcKdkrXCnZK1wp2StcKdkrXCnZK1wp2StcKdkrXCnZK1wp2StcKdkrey1DSzW zgo3w9oKTqnnEWOS2CB0g8wxgnrDPot1vkiScrpPlnC3VZlvtlmbbrVbnW20XZ1ts1+ebLNhn2yy Yp9ssmOgbLJjoGyyY6BssmOgbLJjoGyyY6BssmOgbLJjoGyyY6BssmOgbLJjoGyyY6BssmOgbLJj oGyyY6BssmOgbLJjoNbFCiXD0Ag6r98LUJjoFWKG2yVxetE0e3TLQINvxkmIbcNQi2vBVY5qwFiP ab9bkGm/XZFovl6RaL5gkmi9YZJnvWKTZ71ik2e9YpNnvWKTZ71ik2e9YpNnvWKTZ71ik2e9YpNn vWKTZ71ik2e9YpNnvWKTZ71ik2e9YpNnvWKTZ71ik8LHByix1Ak9ne4OUIrqGl984Clrc9g3dG7T Qnpqz0p+aM1QgGfLVYJmyliDZcpahGTJXIVkyV6FZMhfhWPIYIZjyGGGY8hhhmPIYYZjyGGGY8hh hmPIYYZjyGGGY8hhhmPIYYZjyGGGY8hhhmPIYYZjyGGGY8hhhmPIYYZjyGGGY8hhhv98JzH/gSdA /4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiO aWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pq bduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBe yZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3b impt24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/D gUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pq bduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4Uo T/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWra jGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduK am3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxu Yc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt 24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUae uXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduK am3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJ K1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr 3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3b impt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+X bGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pq bduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxN q7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3b impt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/n jC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3Ipq bduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt 2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTT lGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduK am3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v24o2f8+GPo/DgUaeuXxNq7B4 VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduKam3bimpt24pqbduKam3bimpt 24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt2/98JzH/gSdA/4UoT/OJK1/njC5v 24o2f8+GPo/DgUaeuXxNq7B4VLeodFnBoXBeyZxuYc+XbGTTlGtm1pFqaNiOaWrajGpr3IpqbduK am3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt24pqbduKam3bimpt2/98 JjH/giZA/4coT/OLKl/njy1v2440f8+KPY7EhkWduoFMqq98U7emd1nBn3NdyZpxYc+Wb2PTkm1l 149rZ9qMamndimpr3ohrbN6Ia2zeiGts3ohrbN6Ia2zeiGts3ohrbN6Ia2zeiGts3ohrbN6Ia2ze iGts3ohrbN6Ia2zeiGts3v99JjH/gyZA/4gnT/SNKV/okixu3JIzftCPO43Fi0OcuIVMqa1/U7Wk e1m/nXddyJd0YM6TcWPTkG9k141tZtyKa2jfiGxr4IZsbOCGbGzghmxs4IZsbOCGbGzghmxs4IZs bOCGbGzghmxs4IZsbOCGbGzghmxs4IZsbOCGbGzghmxs4P9+JTH/gyU//4kmT/SPKF7olCtu3JUy fdCUOozCjkOatohMp6qDU7Oiflm9m3pdxZV3YcyRdGPRjnJl1otwZtuIbWjhhWxq4oRta+KEbWvi hG1r4oRta+KEbWvihG1r4oRta+KEbWvihG1r4oRta+KEbWvihG1r4oRta+KEbWvihG1r4v9+JTD/ hCU//4omTvSRKF7olypt3Zkxfc+XOovAkkOZs4xMpqiGVLGfglq6mX5fwpR7YseQeGXMjXZm04lz ZduFcGfigW5r5IFubOOBbmzjgW5s44FubOOBbmzjgW5s44FubOOBbmzjgW5s44FubOOBbmzjgW5s 44FubOOBbmzjgW5s4/9/JDD/hSQ//4wlTvWSJ13pmipt3Z0wfMyaOoq9lUSXsY9No6aKVa2ehVy2 l4Jhu5N/ZMGPfGbIi3hl0od1ZduCdGbifnJr435xbOJ+cWzifnFs4n5xbOJ+cWzifnFs4n5xbOJ+ cWzifnFs4n5xbOJ+cWzifnFs4n5xbOJ+cWzifnFs4v9/JDD/hiQ//40lTvWUJl3pnSls3KEve8qe Oom7mUSVrpNOoKSOV6mciV2zlYRgvZCAYsWMfWTMiXtl0oV4ZdmBd2bff3Vp4X50a+F+dGvhfnRr 4X50a+F+dGvhfnRr4X50a+F+dGvhfnRr4X50a+F+dGvhfnRr4X50a+F+dGvhfnRr4f+AIzD/hyM/ /48kTfWXJV3qoChs2qUvesehO4e4nEaTq5dQnKKRVqmZi1q1k4ZewI6CYMiKf2LOh31k04N7ZdiB eWbcgHdp3X92at5/dmref3Zq3n92at5/dmref3Zq3n92at5/dmref3Zq3n92at5/dmref3Zq3n92 at5/dmref3Zq3v+BIzD/iCM+/5AjTfaZJFzrpCdr1qkvecSlO4W1oEeQqZpOnZ+UVKyXjli4kIlc wouGX8mHg2HOhIBj04J+ZdeAfGfaf3pp2395atp/eWraf3lq2n95atp/eWraf3lq2n95atp/eWra f3lq2n95atp/eWraf3lq2n95atp/eWraf3lq2v+CIjD/iiI+/5IiTfadI1vpqSZq060vd8GpPYOy pEaQpp5Mn5yXUq2Tkle5jY1awoiKXsmFhmHOgoRj0YCCZdR+f2fXfn1p2H58ath+fGrYfnxq2H58 ath+fGrYfnxq2H58ath+fGrYfnxq2H58ath+fGrYfnxq2H58ath+fGrYfnxq2P+DIjD/iyE+/5Uh TPehIlrmryRo0LIwdb2uPYCvqESRo6JKoZicUK+Ql1W6ipJZwoWOXciCi2DMgIhjz36FZdJ9g2fU fIFp1Xx/atV8f2rVfH9q1Xx/atV8f2rVfH9q1Xx/atV8f2rVfH9q1Xx/atV8f2rVfH9q1Xx/atV8 f2rVfH9q1f+EIS//jSA9/5ggS/imIVnityNmy7cxcrqzOoKrrkGTnqhHo5SiTq+LnFS6hpZZwYKR XcZ/jmDJfoxizHyKZc57iGfQe4Vp0XuEatF7hGrRe4Rq0XuEatF7hGrRe4Rq0XuEatF7hGrRe4Rq 0XuEatF7hGrRe4Rq0XuEatF7hGrRe4Rq0f+GHy//kB49/50eSvatH1feviNkx74wcrW6NoSltj2V mK9Fo42lTa+GnVS4gphZvn+UXcJ9kWDFfJBiyHqOZcl6jWfLeYtpzHmKasx5imrMeYpqzHmKasx5 imrMeYpqzHmKasx5imrMeYpqzHmKasx5imrMeYpqzHmKasx5imrMeYpqzP+JHi7/lBw7/6McSPG3 HVXXyCRfwsYqdK7EMoadujyWkK9Fo4emTq2BoFS1fptZunyYXb56lmDAeZViwniTZMN3kmbFd5Fo xnaRasZ2kWrGdpFqxnaRasZ2kWrGdpFqxnaRasZ2kWrGdpFqxnaRasZ2kWrGdpFqxnaRasZ2kWrG dpFqxv+NHC3/mxo6/qwZRurFGlHR0h1iutIkdqPHMYeTuz2WiLFHoYGpT6p9pFWweqBatHieXbd3 nGC5dptiunaaZLx1mWa9dJhovnSYar50mGq+dJhqvnSYar50mGq+dJhqvnSYar50mGq+dJhqvnSY ar50mGq+dJhqvnSYar50mGq+dJhqvv+SGSz/oxc49roVQuLXE0/I4Bdkq9Ukd5bHMoeJvD6UgbRI nXyuUKR4qlapdqdarHWlXa90pGCwc6NisXOiZLJyoWazcaBntHGgabRxoGm0caBptHGgabRxoGm0 caBptHGgabRxoGm0caBptHGgabRxoGm0caBptHGgabRxoGm0caBptP+aFSr/sBI06s4RPNDlD1K0 5BdmnNQmeIvINIWBwECQerlKl3a0UZ10sVagcq9ao3GuXaVwrWCmcKxhp2+rY6hvq2WobqpnqW6q aKluqmipbqpoqW6qaKluqmipbqpoqW6qaKluqmipbqpoqW6qaKluqmipbqpoqW6qaKluqmipbqpo qf+nECbqww0u09oKP7rxEFSi4xlnjtYpdoHMN4J5xUKKdMBLkHG8UpRvulaWbrhamG23XZpstl+b bLZhm2u1Y5xrtWScarRmnWq0Z51qtGedarRnnWq0Z51qtGedarRnnWq0Z51qtGedarRnnWq0Z51q tGedarRnnWq0Z51qtGedarRnnd+5CyHRzgktvtsKQqbyEVWR5B1mgtksc3jROnxyy0SCb8dMh2zF Uoprw1eMacJajWnBXY5owF+PaMBgkGe/YpBnv2OQZr9kkWa+ZpFmvmaRZr5mkWa+ZpFmvmaRZr5m kWa+ZpFmvmaRZr5mkWa+ZpFmvmaRZr5mkWa+ZpFmvmaRZr5mkc/FCRu90Agwq+ELRJXzFVWE5yJj ed4wbXHYPHRs00Z5adBNfWfOUn9mzFeBZctagmTLXINkyl6DZMpfhGPKYYRjyWKEYsljhWLJZIVi yWSFYslkhWLJZIViyWSFYslkhWLJZIViyWSFYslkhWLJZIViyWSFYslkhWLJZIViyWSFYslkhbzG Bh+s1QgymfEORIf1GlJ66yZeceQzZmvfPmxn3EdwZdlOc2PXU3Vi1lZ2YdVZd2DUW3dg1F14YNRe eF/UYHhf02F5X9NieV7TY3le02N5XtNjeV7TY3le02N5XtNjeV7TY3le02N5XtNjeV7TY3le02N5 XtNjeV7TY3le02N5XtNjef95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3 b1yusWxitatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5Jn eMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3 c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fH kmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/ fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5m b8SbZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4 x5JneMeSZ3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yu sWxitatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeS Z3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mB P4HPfUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4 x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fSk4 /4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5mb8Sb ZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5Jn eMeSZ3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxi tatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jH kmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HP fUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4x5Jn eMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fSk4/4Eq RvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxitatqZ7ulaGq/oWdtwp5mb8SbZnHG mGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x5JneMeS Z3jHkmd4x/95KCn/fSk4/4EqRvuELVXvhjFl5IU3c9mBP4HPfUeOxnhPmr5zVqW3b1yusWxitatq Z7ulaGq/oWdtwp5mb8SbZnHGmGZzx5VmdciTZ3fHkmd4x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4 x5JneMeSZ3jHkmd4x5JneMeSZ3jHkmd4x/95KCn/fig3/4MqRvuGLFXwiDBk5Ig2c9qFPoHPgEaO xntOmr53VaW3cluur29htqlsZbykamnAn2hsxJxnb8aZZ3HIlmdzyZNndcqQaHfJkGh3yZBod8mQ aHfJkGh3yZBod8mQaHfJkGh3yZBod8mQaHfJkGh3yZBod8mQaHfJkGh3yf96Jyn/fyc3/4QpRvuI K1Xwiy9k5Yw0ctqJPIDQhUSNx4BMmb57U6S0d1qtrHJgtqZvZLyhbGjCnWprxplpbcmWaHDLk2hy zJBodMyNaXbMjWl3zY1pd82NaXfNjWl3zY1pd82NaXfNjWl3zY1pd82NaXfNjWl3zY1pd82NaXfN jWl3zf97Jin/gCc3/4UoRfyKKlTwji5j5ZAzcduOO3/Ri0OMxoVLmLuAU6Oye1mtqnZftaNzY7ye cGfCmm1qx5drbMuTaW/NkGlyz41qdM6KanbPimp2z4pqds+KanbPimp2z4pqds+KanbPimp2z4pq ds+KanbPimp2z4pqds+KanbPimp2z/97Jij/gSY3/4cnRfyMKlTxkC1i5pQycdyTOX7Pj0KLw4lL l7iEU6Gvf1mrp3pftKF3Y7ucc2bCmHBpx5Rta8yRa27QjWpy0oprdNGHa3bSh2t20odrdtKHa3bS h2t20odrdtKHa3bSh2t20odrdtKHa3bSh2t20odrdtKHa3bSh2t20v98JSj/giY3/4gnRfyOKVPx kyxi5pgwcNuXOX3MkkKKwI1LlbWIU6Csg1qppH5fsZ57Y7mZd2bAlXRpxpFwa82ObW7Simty1Ids dNSFbXbThG1204RtdtOEbXbThG1204RtdtOEbXbThG1204RtdtOEbXbThG1204RtdtOEbXbThG12 0/98JSj/gyU2/4kmRfyPKFPylSth55wvb9mbOH3KlkKJvZFMlLKMVJ2ph1umooJgrpx/ZbWXe2i8 kndoxo5zas6KcG3ThW1z1oNuddaCb3bUgW921IFvdtSBb3bUgW921IFvdtSBb3bUgW921IFvdtSB b3bUgW921IFvdtSBb3bUgW921P99JSj/gyU2/4omRP2RJ1PymCph558ub9aeOHzHmUOHupRMkrCP VZunilyjoIZiqpqDZ6+Ufme8kHpnxot3ac6GdW3UfnJ0135xdtd+cXfVfnF31H5xd9R+cXfUfnF3 1H5xd9R+cXfUfnF31H5xd9R+cXfUfnF31H5xd9R+cXfUfnF31P9+JCj/hCQ2/4slRP2TJ1Lymipg 5qMubtShOHvFnEOGuJdNkK2TVpiljl6enoplo5iGZ66SgWe7jX5nxoh8aM6BemvUenhz13l1dtd7 dHfVe3R41Ht0eNR7dHjUe3R41Ht0eNR7dHjUe3R41Ht0eNR7dHjUe3R41Ht0eNR7dHjUe3R41P9+ JCj/hSQ2/4wkRP2UJlLznSlg5KYubdGkOXnCoESEtZtOjauWWJSjkmCZnI1kopaJZq2QhWa6i4Jm xYWAZ81+f2rSd35w1nd6ddZ4d3fUeXd31Hl3d9R5d3fUeXd31Hl3d9R5d3fUeXd31Hl3d9R5d3fU eXd31Hl3d9R5d3fUeXd31P9/Iyj/hiM2/44kRP6WJVHzoChf4akubM6nOXi/o0WCsp5QiqiZWZGg lF6cmZBippOMZa+OiGa5iIZmw4OEZ8t9g2rQeIFu1Hd+ctR3e3bTd3p203d6dtN3enbTd3p203d6 dtN3enbTd3p203d6dtN3enbTd3p203d6dtN3enbTd3p20/9/Iyj/hyM1/48jQ/6ZJFHzpCde360t a8urOna8p0d/sKJRiKadVpSdmFuflpNfqZCPYrKKjGS6hYpmwYGIZ8h8h2nNeYRt0HmBcNB4fnTQ d3510Hd+ddB3fnXQd3510Hd+ddB3fnXQd3510Hd+ddB3fnXQd3510Hd+ddB3fnXQd3510P+AIij/ iSI1/5IiQ/+cI1DxqSZd27IuaciwO3O4q0h8raZOiqKhU5aZnFiikphdq4yVYLSGkmK7go9lwX6N Z8V7i2nJeYhsy3mFcMt4gnLMeIJzzXiCc814gnPNeIJzzXiCc814gnPNeIJzzXiCc814gnPNeIJz zXiCc814gnPNeIJzzf+CISf/iiE1/5UhQv+hIk/tryVc1rguZ8O1PW+1sER/qKxKjJ6oUJmVo1Wj jZ9arYebXrSCmGG6fpVkv3uTZsJ5kGnFeI1sx3eKb8d4iHLGd4dzx3eHc8d3h3PHd4dzx3eHc8d3 h3PHd4dzx3eHc8d3h3PHd4dzx3eHc8d3h3PHd4dzx/+DICf/jR80/5gfQf+nIE7ouCNZ0b8vY7+7 OnGwt0CBo7RHjpiwTZqPq1Okh6dYrIKhXLN+nWC4e5pjvHmYZr53lmnBdpRrwnWRbsN1jnHCdY1y wnWNcsJ1jXLCdY1ywnWNcsJ1jXLCdY1ywnWNcsJ1jXLCdY1ywnWNcsJ1jXLCdY1ywv+GHyb/kB4z /54dQPuuH0vjxCFWzMYuYrrENXSqwTyDnL5DkJC2SpuHrlKkgahXq32kXLB6oGC0eJ5jt3acZbl1 m2i7dJlrvHOYbr1zlXC9c5RxvXOUcb1zlHG9c5RxvXOUcb1zlHG9c5RxvXOUcb1zlHG9c5RxvXOU cb1zlHG9c5Rxvf+JHSb/lRsy/6UbPvW5HEjc0CFSxtAnZbLQL3agyTiEkr9CkIi3S5qBsFKifKtX p3moXKx3pWCvdaNjsXSiZbNzoGe0cp9qtXGfbbZwnnC3cJ1wt3CdcLdwnXC3cJ1wt3CdcLdwnXC3 cJ1wt3CdcLdwnXC3cJ1wt3CdcLdwnXC3cJ1wt/+NGiX/nBkw/68YO+3JGUTU3RlUvd8hZ6bVLHeU yTmFiMBDj4C5S5d7tFKed7BYonWtXKVzq1+ocqliqnGoZatwp2escKdprW+ma65upW6ubqVvrm6l b65upW+ubqVvrm6lb65upW+ubqVvrm6lb65upW+ubqVvrm6lb65upW+ubqVvrv+TFyP/pRUt974U Nt/dEEPE7BdXrOIgaZfULniJyjqDgMNEjHq9TJN2uVOYc7ZYm3GzXJ5wsl+gb7FioW6wZKJtr2aj ba9opGyuaqRrrm2la61tpWutbaVrrW2la61tpWutbaVrrW2la61tpWutbaVrrW2la61tpWutbaVr rW2la61tpf+cEyD8tBEp5tQOMcrqD0aw7xdZm+EiaYvVMHZ/zTyAeMdGh3TCTo1wv1SQbr1Yk227 XJVsul+Wa7lhl2q4Y5hquGWZabdnmWm3aZpot2uaaLZrmmi2a5potmuaaLZrmmi2a5potmuaaLZr mmi2a5potmuaaLZrmmi2a5potmuaaLZrmvarDhzdygsizNkKNLX0EEie7hlajeIlaH/ZM3N30T57 csxHgW7JT4Vsx1SIasVYimnEXItow16MZ8JgjWfCYo1mwWSOZsFljmXAZ49lwGmPZcBqj2XAao9l wGqPZcBqj2XAao9lwGqPZcBqj2XAao9lwGqPZcBqj2XAao9lwGqPZcBqj9m7ChfKzQgjuNwKN6H8 EUqP7x1ZgOUoZXbdNm5w2EB0bNNJeWnRT3xnz1R+Zs5YgGXNW4FkzF6BY8tggmPLYYJjy2ODYspk g2LKZoNhymeEYcpohGHKaIRhymiEYcpohGHKaIRhymiEYcpohGHKaIRhymiEYcpohGHKaIRhymiE YcpohMjDBxS30AgmpuILOZH9FUmC8iFWd+ktYG/jOWdq30NsZ9xKb2TaUHJj2FV0YddYdWHWW3Zg 1V12X9Vfd1/VYHdf1GF4XtRjeF7UZHhe1GZ4XtRmeV7UZnle1GZ5XtRmeV7UZnle1GZ5XtRmeV7U Znle1GZ5XtRmeV7UZnle1GZ5XtRmebXFBhem1QgolfINOYT/GUZ49iVRb+8xWWnqO19l50RjYuRL ZmDjUWhf4VVpXuBYal3gW2td31xrXN9ebFzfX2xb32BsW95hbVveY21b3mRtWt5kbVreZG1a3mRt Wt5kbVreZG1a3mRtWt5kbVreZG1a3mRtWt5kbVreZG1a3mRtWt5kbf92KSH/eiov/34sPv+BL0z3 gjNa7IE4aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+srmNyr6pjdbGmYnizo2J6tKBj fLWdY361m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWC tf92KSH/eiov/34sPv+BL0z3gjNa7IE4aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+s rmNyr6pjdbGmYnizo2J6tKBjfLWdY361m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZ ZYK1mWWCtZllgrWZZYK1mWWCtf92KSH/eiov/34sPv+BL0z3gjNa7IE4aOJ9QHXZeUiB0XRQjMpw WJXEbF6dv2llo7lmaqizZG+srmNyr6pjdbGmYnizo2J6tKBjfLWdY361m2SAtZllgrWZZYK1mWWC tZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtf92KSH/eiov/34sPv+BL0z3gjNa 7IE4aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+srmNyr6pjdbGmYnizo2J6tKBjfLWd Y361m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtf92 KSH/eiov/34sPv+BL0z3gjNa7IE4aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+srmNy r6pjdbGmYnizo2J6tKBjfLWdY361m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1 mWWCtZllgrWZZYK1mWWCtf92KSH/eiov/34sPv+BL0z3gjNa7IE4aOJ9QHXZeUiB0XRQjMpwWJXE bF6dv2llo7lmaqizZG+srmNyr6pjdbGmYnizo2J6tKBjfLWdY361m2SAtZllgrWZZYK1mWWCtZll grWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtf92KSH/eiov/34sPv+BL0z3gjNa7IE4 aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+srmNyr6pjdbGmYnizo2J6tKBjfLWdY361 m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtf92KSH/ eiov/34sPv+BL0z3gjNa7IE4aOJ9QHXZeUiB0XRQjMpwWJXEbF6dv2llo7lmaqizZG+srmNyr6pj dbGmYnizo2J6tKBjfLWdY361m2SAtZllgrWZZYK1mWWCtZllgrWZZYK1mWWCtZllgrWZZYK1mWWC tZllgrWZZYK1mWWCtf92KCH/eykv/38rPf+CLkz3hDJa7YQ3aOOBP3XafEeB0XhPjMpzVpXEb12d vmtjpLdoaamxZm6urGVxsahkdbSkY3e1oWN6t55kfLibZH64mGWAt5dmgbaXZoG2l2aBtpdmgbaX ZoG2l2aBtpdmgbaXZoG2l2aBtpdmgbaXZoG2l2aBtv93KCH/fCgv/4EqPf+ELUv4hzBZ7Yg1Z+OG PXTagkWA0n1Ni8p4VJXDc1udu29ipbRsZ6uuaWywqWdwtKVmc7ahZXa5nWV5upple7uXZn27lWeA upNngbuTZ4G7k2eBu5NngbuTZ4G7k2eBu5NngbuTZ4G7k2eBu5NngbuTZ4G7k2eBu/94JyH/fSgv /4IpPf+HLEv4ii9Z7ow0ZuSKO3Pbh0N/0oNLisl9U5TAeFqduHRgpbFwZqurbGuxpmpvtaJocrme Zna8mmZ4vZdme76UaH29kWiAvo9ogb6PaIG+j2iBvo9ogb6PaIG+j2iBvo9ogb6PaIG+j2iBvo9o gb6PaIG+j2iBvv95JyH/ficv/4QoPP+IK0r5jC5Y7o8zZuWPOXLcjUF+0IhKicaCUpO9fVmctXhg pK50ZauocGqxo21ut59qcbubaHW+l2d4wJNoe8CQaX3AjWmAwYtpgcGLaYHBi2mBwYtpgcGLaYHB i2mBwYtpgcGLaYHBi2mBwYtpgcGLaYHBi2mBwf95JiH/fyYu/4UoPP+KKkr5jy1Y75MyZeWUOHLZ kUF9zYxKiMKHUpG5glmasX1fo6t4ZaqldGmxoHBtt5xtcL2YanTBlGh4w5Boe8SMaX7DimqAxIhr gcOIa4HDiGuBw4hrgcOIa4HDiGuBw4hrgcOIa4HDiGuBw4hrgcOIa4HDiGuBw/96JiH/gCYu/4Yn PP+MKUr5kSxX75YxZOWZN3HWlUF8ypBKhr+LUpC2hlmZroFgoah9ZaiieWmwnXVst5lwb76Va3TD kGl5xoxpfMeJa3/GhmyBxYVsgsWFbILFhWyCxYVsgsWFbILFhWyCxYVsgsWFbILFhWyCxYVsgsWF bILFhWyCxf96JSH/gSUu/4cmPP+NKEn6lCxX8JowZOKcN3DTmUF7x5RKhbyPU46zilqWq4VgnqWB ZaWffWmtmnhrt5Zzbr+RbnTFi2t6yIdrfsmEbIDIg22Bx4JugsaCboLGgm6CxoJugsaCboLGgm6C xoJugsaCboLGgm6CxoJugsaCboLGgm6Cxv97JSH/giUu/4gmO/+PKEn6litW8J0vY+CfN2/RnEF6 xJdLg7mSVIywjluUqIpim6KGZ6GcgWmtl3xqt5J3bcCMc3PGhW95yYFugMqAb4HJf2+CyH9wg8d/ cIPHf3CDx39wg8d/cIPHf3CDx39wg8d/cIPHf3CDx39wg8d/cIPHf3CDx/98JCD/giQu/4klO/+R J0j7mCpW76AuYt6jN27On0F4wZtLgraWVYqtkl2Qpo5klp+JZ6CahGislIBpt458bMCGeHHGf3N2 ynpyf8t6coLKe3KDyHtyhMd7coTHe3KEx3tyhMd7coTHe3KEx3tyhMd7coTHe3KEx3tyhMd7coTH e3KEx/98JCD/gyQu/4slO/+SJkj7mylV7aQuYdumN23Lo0J3vp5Nf7OaVoeqll+Mo5JmkZ2MZ5+X iGeskIVot4mCa8CAf2/GeXp0ynV4fct1d4LKd3aDyHh1hMd4dYTHeHWEx3h1hMd4dYTHeHWEx3h1 hMd4dYTHeHWEx3h1hMd4dYTHeHWEx/99IyD/hCMt/4wkOv+UJkf8nilU6qgtYNiqN2vIpkN1u6JO fbCeWYKommKGoZVmkJqQZp6UjGerjYpotoWJar97iG7FdYNzyXCBfMpyfYDJdHqDyHR5hMd0eYTH dHmEx3R5hMd0eYTHdHmEx3R5hMd0eYTHdHmEx3R5hMd0eYTHdHmEx/99IyD/hSMt/40jOv+XJUf8 oShT6K0sX9SuN2rFq0RyuKZQea2iWoClnV+JnphkkpeVZp2QkmaqiZBntIGPab15j23Dco1yxm+I echwg33HcYCBxnJ+g8VyfoPFcn6DxXJ+g8VyfoPFcn6DxXJ+g8VyfoPFcn6DxXJ+g8VyfoPFcn6D xf9+IiD/hiIt/48iOf+aJEb5pSdS5LMrXtGzOGfBr0ZvtKpRd6qmV4KioVyMmp1glpOaZJ+Ml2ao hZZnsn6Vabp3lGy/c5Jww3CNdcRxiXrEcIV+xHCDgcNwg4HDcIOBw3CDgcNwg4HDcIOBw3CDgcNw g4HDcIOBw3CDgcNwg4HDcIOBw/9/ISD/iCEs/5IhOf+eI0X2qyZR4LksXMy4OmS9tEdtsbBNeqas U4WdqFiPlaRdmY2hYKGHn2OpgZxmsHyaabV3mGy6dJZvvXKSc79yjne+cop7v3GJfcBxiX3AcYl9 wHGJfcBxiX3AcYl9wHGJfcBxiX3AcYl9wHGJfcBxiX3AcYl9wP+BIB//iiAs/5UgOP+iIUTysiRP 3MAsWci+O2G5ukNvrLdJfKGzT4iXsFSRjq1ZmoeqXaKBp2GofKRlrnihaLJ1nmu1c5tvuHKYcrhz lHa4cpF6uHGPe7pxj3u6cY97unGPe7pxj3u6cY97unGPe7pxj3u6cY97unGPe7pxj3u6cY97uv+D Hx//jR4r/5oeN/+pH0LtvCNM1cgtVMPGN2Ozwz5ypsBEfpq9S4mQulGTh7ZWm4GxW6F8rGCmeKhk q3WmZ65zo2qxcaJusnCfcbNwnHS0cZh4snGWe7JxlnuycZZ7snGWe7JxlnuycZZ7snGWe7Jxlnuy cZZ7snGWe7JxlnuycZZ7sv+FHR7/kRwq/58cNfyyHUDnySBI0NEpVb3QMWaszjh0nstAgJHESIqH vU+TgLdVmXuzW593r1+jdaxjpnKqZqlxqGmrcKdsrG6mb61upHOubqF2rm6fea1un3mtbp95rW6f ea1un3mtbp95rW6fea1un3mtbp95rW6fea1un3mtbp95rf+JGx7/lhoo/6gZM/a+Gjzg2xtGyN0j WLTeK2ih1jR2ksw/gYfFSIqAvk+RerpVl3a2Wptzs1+ecbFioXCvZaNurmikba1rpW2sbqZsrHGn a6t1p2uod6drqHena6h3p2uod6drqHena6h3p2uod6drqHena6h3p2uod6drqHena6h3p/+OGBz/ nhcm/7MWL+nQFzbR5RdIuu0fWqXhKWmU1jV2iM0/gH/GSIh5wU+Odb1VknK7WpZwuF6Ybrdimm22 ZJtstWeca7RpnWqzbJ5ps2+fabJyn2iydJ9osnSfaLJ0n2iydJ9osnSfaLJ0n2iydJ9osnSfaLJ0 n2iydJ9osnSfaLJ0n/+VFRr/qRMj9MURKtniDzi/9BZLqe0fXJbhKmqI1zZ1fs9BfnfKSYRzxlCJ cMNWjG3AWo9sv16Ra75hkmq9ZJNpvGaUaLtolWi7apVnum2WZrpvlma6cZdmunGXZrpxl2a6cZdm unGXZrpxl2a6cZdmunGXZrpxl2a6cZdmunGXZrpxl/+fERjwug4e2tgLJ8TvDjus+RdNmOwhXYni LGl+2jhydtNCeXHPSn5ty1GCa8lWhWnHWodoxl6IZ8VgiWbFY4pmxGWLZcRni2XDaIxkw2uMY8Jt jWPCb41jwm+NY8JvjWPCb41jwm+NY8JvjWPCb41jwm+NY8JvjWPCb41jwm+NY8JvjeawCxPWywoY xdkKK7D1Dz2a+RlOiu0kW37kL2Z13jttb9lEc2vVTHdo0lJ6ZtFWfGXPWn5kzl1/Y85gf2PNYoBi zWOBYsxlgWHMZ4FhzGmCYMtrgmDLbIJgy2yCYMtsgmDLbIJgy2yCYMtsgmDLbIJgy2yCYMtsgmDL bIJgy2yCYMtsgtK8CQ3CzAgbstwKLZ3+ET6L+hxNfvAoWHTpMmFu4z1nad9Ga2bdTW9k21JxYtlW cmHYWnRg2F11YNZfdV/WYXZf1mJ2XtVkdl7VZXdd1Wd3XdRpd13Uanhd1Gp4XdRqeF3Uanhd1Gp4 XdRqeF3Uanhd1Gp4XdRqeF3Uanhd1Gp4XdRqeMDABg2wzwceoeIKL47/FD1//CBKdfQsU23uNlpo 6j9fZOdHY2LlTmVg41NnX+JXaF7hWmld4VxqXOBea1zgYGtb4GFrW99ibFvfZGxa32VsWt9nbFre aG1a3mhtWt5obVreaG1a3mhtWt5obVreaG1a3mhtWt5obVreaG1a3mhtWt5oba7EBRCh1QcfkfMN LoH/GDt2/yRFbfovTGf1OVJi8kFWYO9JWV7tTltc7FNdW+tWXlrqWV9a6ltfWeldYFnpX2BY6WBg WOlhYVjpYmFX6GRhV+hlYVfoZmFX6GZhV+hmYVfoZmFX6GZhV+hmYVfoZmFX6GZhV+hmYVfoZmFX 6GZhV+hmYf9yKhr/dysn/3stNf99MUP/fTVQ9Xw6Xet5QWrjdUp13HBSftVsWYbQaGGNzGVnk8di bpfAYXOau2B3nbZfe5+yX36gr1+Boqxfg6KpX4WjpmCHo6NhiqOhYouioWKLoqFii6KhYouioWKL oqFii6KhYouioWKLoqFii6KhYouioWKLov9yKhr/dysn/3stNf99MUP/fTVQ9Xw6Xet5QWrjdUp1 3HBSftVsWYbQaGGNzGVnk8dibpfAYXOau2B3nbZfe5+yX36gr1+Boqxfg6KpX4WjpmCHo6NhiqOh YouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKLov9yKhr/dysn/3stNf99 MUP/fTVQ9Xw6Xet5QWrjdUp13HBSftVsWYbQaGGNzGVnk8dibpfAYXOau2B3nbZfe5+yX36gr1+B oqxfg6KpX4WjpmCHo6NhiqOhYouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKLoqFii6KhYoui oWKLov9yKhr/dysn/3stNf99MUP/fTVQ9Xw6Xet5QWrjdUp13HBSftVsWYbQaGGNzGVnk8dibpfA YXOau2B3nbZfe5+yX36gr1+Boqxfg6KpX4WjpmCHo6NhiqOhYouioWKLoqFii6KhYouioWKLoqFi i6KhYouioWKLoqFii6KhYouioWKLov9yKhr/dysn/3stNf99MUP/fTVQ9Xw6Xet5QWrjdUp13HBS ftVsWYbQaGGNzGVnk8dibpfAYXOau2B3nbZfe5+yX36gr1+Boqxfg6KpX4WjpmCHo6NhiqOhYoui oWKLoqFii6KhYouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKLov9yKhr/dysn/3stNf99MUP/ fTVQ9Xw6Xet5QWrjdUp13HBSftVsWYbQaGGNzGVnk8dibpfAYXOau2B3nbZfe5+yX36gr1+Boqxf g6KpX4WjpmCHo6NhiqOhYouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKLoqFii6KhYouioWKL ov9zKhr/dysn/3stNf99MEP/fjRQ9X06Xet6QWnjdkl13HFRftVtWYfQaWCNy2Znk8ZjbZjAYXOb umB3nrZfe6CyX36hrl+Boqtfg6OoYIWkpWCHpKJhiqOgYoyjoGKMo6BijKOgYoyjoGKMo6BijKOg YoyjoGKMo6BijKOgYoyjoGKMo/90KRr/eSon/30sNP+AL0L/gTNQ9YE4Xex/Pmnje0d03HZPftVy V4fPbV6OymlllMRma5m9ZHGduGJ2oLNheqOuYX2lqmGApqdhg6ekYYWnoWKHp55jiqabZIumm2SL pptki6abZIumm2SLpptki6abZIumm2SLpptki6abZIumm2SLpv91KBr/eikn/34rNP+CLkL/hDFP 9oU2XO2EPGjkgEVz3HtNfdV3VYbPclyOyG1jlcFqapq6Z2+ftWV0o7BjeaWrYn2op2KAqaNig6qg Y4WqnWSHqZpliqmXZYyql2WMqpdljKqXZYyql2WMqpdljKqXZYyql2WMqpdljKqXZYyql2WMqv91 Jxr/eygn/4AqNP+ELEH/hzBO9ok1W+2JO2flhUNy3YFLfdV8U4bMd1uOxXJilb5uaJu4am6gsmdz pK1leKioZHyqo2OArJ9kg62cZYWsmWaIq5Zmiq2TZoytk2aMrZNmjK2TZoytk2aMrZNmjK2TZoyt k2aMrZNmjK2TZoytk2aMrf92Jxr/fCcm/4EpM/+GK0H/ii9O94w0Wu6OOWbli0Fy3IZKfNKBUoXJ fFqNwXdhlLpyZ5u0bm2hr2pypqpnd6qlZXutoGWAr5xlg6+YZ4WulWeIr5JnirCPZ4ywj2eMsI9n jLCPZ4ywj2eMsI9njLCPZ4ywj2eMsI9njLCPZ4ywj2eMsP93Jhr/fScm/4MoM/+IK0D/jC5N948z Wu6SOGblkEBx2YtJe86GUoTGgFmMvntglLd3ZpqxcmyhrG5xpqdqdquhZ3uvnGaAsZhmg7KUZ4ay kWiJso5oi7KMaY2yjGmNsoxpjbKMaY2yjGmNsoxpjbKMaY2yjGmNsoxpjbKMaY2yjGmNsv94Jhr/ fiYm/4QnM/+JKkD/ji1N+JMyWe+WN2XhlEBv1ZBJecuLUoLChVmLuoBgkrN7Zpmtd2ugqHJwp6Nt dayeaXuxmWeAtJRnhLWQaIe1jWmKtYpqjLWIao20iGqNtIhqjbSIao20iGqNtIhqjbSIao20iGqN tIhqjbSIao20iGqNtP94JRn/fyYm/4UnM/+LKT//kSxM+ZYxWOybNmTemUBu0pRJeMePUoG+ilqJ toVgkK+BZpeqfGufpXdvp6BxdK6aa3u0lGiBt45ohriLaYm4iGqLt4ZrjbaFbI62hWyOtoVsjraF bI62hWyOtoVsjraFbI62hWyOtoVsjraFbI62hWyOtv95JRn/gCUm/4YmMv+NKD//kyxL+ZowWOqg NmPbnUBtzplJdsOUUn+6j1qGsophjauGZ5SmgWudoXtup5x1c6+Vb3q1jWuCuYhqibqFa4u6g22M uYJujbiBbo63gW6Ot4FujreBbo63gW6Ot4FujreBbo63gW6Ot4FujreBbo63gW6Ot/95JBn/gCQl /4clMv+PJz7/litL+J0vV+ejNWLYoUBsy51KdMCYVHy2lFyDro9jiqiLaJKihWqdnYBtqJd7crCN dHe2hW99uoBuh7x+bo28fm+Nun1wjrl9cY+3fXGPt31xj7d9cY+3fXGPt31xj7d9cY+3fXGPt31x j7d9cY+3fXGPt/96JBn/gSQl/4klMv+QJz7/mCpK9qEvVuSnNWDUpUBqx6FLcrydVXqzmF6Aq5Rm haWPZ5KfimmdmIZrqJGCcLCGenS3fnR5u3lyg712c4+9eHOPu3lzkLl5c5C4eXOQuHlzkLh5c5C4 eXOQuHlzkLh5c5C4eXOQuHlzkLh5c5C4eXOQuP97Ixn/giMl/4okMf+SJj3/mylJ86UuVeGrNV/R qUFoxKVMcLmhV3avnWF7qJhlhKGTZpGbkGidk4xqp4qKbrCAgXK2eHt3u3N5gL1weo29cniPu3R3 kLl1d5G4dXeRuHV3kbh1d5G4dXeRuHV3kbh1d5G4dXeRuHV3kbh1d5G4dXeRuP97Ixn/gyMl/4wj Mf+VJT3/nyhJ8KktVN6wNl3NrkJmwKpObLWlWnGtoWR1pZxlg56YZpCWlWecjpRppoSTba96i3G1 c4V2um6Cf7xrgou8bn+Ou3B9j7lxe5G3cXuRt3F7kbdxe5G3cXuRt3F7kbdxe5G3cXuRt3F7kbdx e5G3cXuRt/98Ihn/hCIk/40iMP+XJDz/oydI7a8sUtq1NlvJskRjvK5RaLKqWm+ppWB4oqFkgpqe ZY+SnGabiZtopX+ba611mnGzbpN3uGqQgLppi4e6bIaKuW2DjrhugZC2boGQtm6BkLZugZC2boGQ tm6BkLZugZC2boGQtm6BkLZugZC2boGQtv99IRn/hiEk/5AhMP+bIzv/pyZG6bYrUNW7N1nFt0Zf ubNQZ66vV3Klq1x8nadhhZWkZI6No2WZhKNnonuiaqpzoW+wbZ51tGqZfLZpk4G3bI6GtWuKirVs h420bIeNtGyHjbRsh420bIeNtGyHjbRsh420bIeNtGyHjbRsh420bIeNtP9/IBj/iCAk/5MgL/+f Ijr7rSVE5b8qTtHBOVXBvUVetblMaqm1U3Wgslh/l69dh4+tYZCHq2SXgKpnn3ioaqZyp26rbqNz r2yfeLFrmn2xbZWBsGyRhrFrjoqxa46KsWuOirFrjoqxa46KsWuOirFrjoqxa46KsWuOirFrjoqx a46Ksf+AHxj/ih4j/5YfLv+kIDj2tSNC4MgqSszIOVO8xEFgr8FIbaO+TniZu1OBkLlZiYi3XZGA tWGXerJlnXWwaqJxrW6lbqlyqG2ld6ltoXupbZx/qWyYg6pslYasbJWGrGyVhqxslYasbJWGrGyV hqxslYasbJWGrGyVhqxslYasbJWGrP+CHhf/jh0i/5sdLP+rHjbxwCI/2tIrRcbQNFW2zjtjqMxC b5vJSXqRx0+Dh8RVioC/WpF6ul+WdbZkmnKzaJ5vsWyhbbBwomutdKRrqXika6V8o22hgaFrnoOk a56DpGueg6RrnoOka56DpGueg6RrnoOka56DpGueg6RrnoOka56DpP+FHBf/khoh/6EbK/61HDPq zx86090lSL/cLVit2zVln9k9cZLSRXuHy02Df8VUiXnAWY91vV6Tcbpjlm+4Z5lttmqba7VunWm0 cp5osnaeaK96nmmrfp5qp4GcaqeBnGqngZxqp4GcaqeBnGqngZxqp4GcaqeBnGqngZxqp4GcaqeB nP+JGRb/mBgf/6sYKPXDGC/d4Bg5x+ohS7PrKFqh4zJnkto8cofSRXt+zEyCeMdTh3TDWYtwwF2P br5ikWy8ZZNqu2mVabpslmi5b5dnuXOYZrh3mGa1e5hmsn6YZrJ+mGayfphmsn6YZrJ+mGayfphm sn6YZrJ+mGayfphmsn6YZrJ+mP+PFhT/oBUd/7gUJOTXEyrL6xc8tvkfTaPtKFyU4zJoh9o8cX3T RXl3zk1/cspTg2/HWIdsxV2JasNhi2nCZI1nwWeOZsBqj2bAbZBlv3CQZL9zkWO/d5FivnuRYr57 kWK+e5FivnuRYr57kWK+e5FivnuRYr57kWK+e5FivnuRYr57kf+WExL/rRAZ7swOHtHmDi25+RY/ pfgfT5XsKFyH4zNnfdw9b3XWRnVw0k16bc9TfmrNWIFoy12CZ8pghGbJY4VlyGaGZMdph2PHa4di xm2IYsZwiGHGdIlgxXeJYMV3iWDFd4lgxXeJYMV3iWDFd4lgxXeJYMV3iWDFd4lgxXeJYMV3ifuj Dg/ewAsU0dYKHr7uDjCn/xZBlfchUIftKlt85TVkdOA/a2/bR3Br2E50aNVUd2bTWHlk0lx7Y9Ff fGLQYn1hz2V9Yc9nfmDOaX5gzmt/X85tf17NcIBezXOAXs1zgF7Nc4BezXOAXs1zgF7Nc4BezXOA Xs1zgF7Nc4BezXOAXs1zgNuyCQvOyQkQvtgJIar1DjKX/xhCh/gjTnzwLlhz6ThgbeVBZWnhSWlm 3k9tZN1Ub2LbWHBh2lxyYNlfcl/ZYXNe2GN0XthldF3XZ3Vd12l1XNZrdVvWbXZb1nB2W9ZwdlvW cHZb1nB2W9ZwdlvWcHZb1nB2W9ZwdlvWcHZb1nB2W9Zwdsu7BwW6ygcTq9sJI5n/EDOI/xtBfPsn S3P0MVNs7zpaZ+tDXmToSmFh5lBkYORVZl7jWGdd4ltoXOJeaVzhYGlb4WJqW+FkalrgZWpa4Gdr WeBpa1nfa2tZ321sWd9tbFnfbWxZ321sWd9tbFnfbWxZ321sWd9tbFnfbWxZ321sWd9tbLi9BAeq zwcWnOEJJIr/EzJ9/x89c/8qRmv5NE1m9T1SYvJFVl/wS1hd7lFaXO1VXFvsWF1a61teWetdXlnq X19Y6mFfWOpiX1fpZGBX6WVgV+lnYFbpaWFW6GphVuhqYVboamFW6GphVuhqYVboamFW6GphVuhq YVboamFW6GphVuhqYajDBAmb1QYXjPIMI37/Fy9z/yM4bP8uQGb/N0Vh/D9KXfpGTVv4TE9Z91FQ WPZVUlf1WFJX9FpTVvRcVFb0XlRV82BUVfNhVVXzYlVU82RVVPJlVVTyZlZT8mhWU/JoVlPyaFZT 8mhWU/JoVlPyaFZT8mhWU/JoVlPyaFZT8mhWU/JoVv9vKxP/dCwf/3cvLP95Mjn/eTdG/Xg8U/R1 Q17scUxo5mxUceBoXHnbZGN/2GFqg9NecYfNXXeKx1x8jMJcgI6+W4OPuluGkLZciZGzXIySsF2O kq1dkJKqXpKRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+Ukf9vKxP/dCwf /3cvLP95Mjn/eTdG/Xg8U/R1Q17scUxo5mxUceBoXHnbZGN/2GFqg9NecYfNXXeKx1x8jMJcgI6+ W4OPuluGkLZciZGzXIySsF2Okq1dkJKqXpKRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+Ukahf lJGoX5SRqF+Ukf9vKxP/dCwf/3cvLP95Mjn/eTdG/Xg8U/R1Q17scUxo5mxUceBoXHnbZGN/2GFq g9NecYfNXXeKx1x8jMJcgI6+W4OPuluGkLZciZGzXIySsF2Okq1dkJKqXpKRqF+UkahflJGoX5SR qF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+Ukf9vKxP/dCwf/3cvLP95Mjn/eTdG/Xg8U/R1Q17s cUxo5mxUceBoXHnbZGN/2GFqg9NecYfNXXeKx1x8jMJcgI6+W4OPuluGkLZciZGzXIySsF2Okq1d kJKqXpKRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+Ukf9vKxP/dCwf/3cv LP95Mjn/eTdG/Xg8U/R1Q17scUxo5mxUceBoXHnbZGN/2GFqg9NecYfNXXeKx1x8jMJcgI6+W4OP uluGkLZciZGzXIySsF2Okq1dkJKqXpKRqF+UkahflJGoX5SRqF+UkahflJGoX5SRqF+UkahflJGo X5SRqF+Ukf9wKhP/dCwf/3guLP96Mjn/ezZG/Xo7UvR3Ql7tc0po5m5TceBqW3nbZmJ/12JphNJg cIjMXnaLxl17jsFcf4+8XIORuFyGkrVciZOxXYyTrl2Ok6tekJOoX5OTpmCVkqZglZKmYJWSpmCV kqZglZKmYJWSpmCVkqZglZKmYJWSpmCVkv9xKRP/disf/3otLP99MDj/fjRF/n06UvV8QF3td0ho 5nNQceBuWHnbamCA1mZohdBjborJYHWNw196kL5ef5K5XYOUtV2GlbFeiZatXoyWql+OlqdgkZak YZOVoWKVlaFilZWhYpWVoWKVlaFilZWhYpWVoWKVlaFilZWhYpWVoWKVlf9yKBP/dyof/3ssK/9/ Lzj/gTNF/oE4UfWAPlztfEZn5ndOceBzVnnabl6A1Wpmhs5mbYvHY3OPwWF5krtgfpS2X4KWsV+G mK1fipipX42ZpmCPmKNikZigYpSYnWOWmJ1jlpidY5aYnWOWmJ1jlpidY5aYnWOWmJ1jlpidY5aY nWOWmP9yKBP/eCke/30rK/+BLjf/gzJE/4Q3UPaEPFzugURm53xMcOB3VXjac12A0m5khstpa4zE ZnKQvmN4lLhhfZazYIKZrmCGmqlgipulYY2bomKQmp9jkpqcY5WbmWSWm5lklpuZZJabmWSWm5lk lpuZZJabmWSWm5lklpuZZJabmWSWm/9zJxP/eSge/34qK/+DLTf/hjFD/4c1UPeIO1vvhkJl54JL b+B9U3jXd1t/z3JjhshtaozCaXCRvGZ3lbZkfJiwYoKbq2GGnKZiip2iY46dnmWQnJtkk52YZJWe lWWXnpVll56VZZeelWWXnpVll56VZZeelWWXnpVll56VZZeelWWXnv90JhP/eice/4ApKv+FLDb/ iC9D/4s0T/eMOlrvjEFk5odKbtyCUnfTfVp/y3dihsRyaYy+bW+RuGl2lrNmfJqtZIKdp2OHn6Jj i5+dZY6fmmWRn5dllKCTZpagkWaYoJFmmKCRZpigkWaYoJFmmKCRZpigkWaYoJFmmKCRZpigkWaY oP91JhP/eyYe/4EoKv+GKzb/iy5C/44zTviROVntkkBj4o1JbdiIUnXPglp9x31hhcB3aIu6cm6R tW50l69pe5upZoKfo2SHop1kjKOZZZCjlWaSopJmlaOPZ5ejjWiZo41omaONaJmjjWiZo41omaON aJmjjWiZo41omaONaJmjjWiZo/91JRP/fCYe/4MnKf+IKjX/ji1B/5IyTfeWOFjqlz9i3pJJa9OO UXTKiFp8w4Nhg7x9aIq2eG6RsHN0l6ttep2laIKinmWJpZhljqaTZpKmkGiUpY1olqWKaZiliWqa pIlqmqSJapqkiWqapIlqmqSJapqkiWqapIlqmqSJapqkiWqapP92JBL/fSUd/4QmKf+KKTX/kCxB /5YxTPSbN1fmnD9h2phJas+TUnLGjlp6volhgbeEaIixf22PrHhymKdxeZ6ga4KkmGeKp5FmkamN Z5SpimmWqIhqmKeGa5qnhGybpoRsm6aEbJumhGybpoRsm6aEbJumhGybpoRsm6aEbJumhGybpv93 JBL/fiQd/4UmKf+MKDT/kytA/5owS/GgNlbioT9f1Z5JaMqZU3DBlFt3uY9jfrKKaYWthGyPp31x mKF3eKCXcH2lj2uGqYlpkquFaperhGyYqoJtmamBbpuogG6bp4Bum6eAbpungG6bp4Bum6eAbpun gG6bp4Bum6eAbpungG6bp/94IxL/fyQd/4clKP+OJzT/lis//50vSu6lNVTfpj9d0aNKZsaeVG28 mV10tJVleq6PaIWoimuPooRvmJl9daCOdXqmhnCBqoBujKx9bputfG+brHxwm6p8cZypfHGdqHxx nah8cZ2ofHGdqHxxnah8cZ2ofHGdqHxxnah8cZ2ofHGdqP94IxL/gCMd/4gkKP+QJjP/mSo+/KEv SeqrNVPbq0BczadLY8KjVmq4n19vsJpleKqVZ4SjkGmPnIxtmJKEcqCHe3emfnZ9q3lziK11c5au dXSdrXZ0nat3dJ2pd3SeqHd0nqh3dJ6od3SeqHd0nqh3dJ6od3SeqHd0nqh3dJ6od3SeqP95IhL/ gSIc/4ojKP+TJTP/nCk++aYuSOexNFHXsEBZyaxNYL2oWGa0o2NprZ9kd6aaZoSel2iPlpRsmIqM cKCAg3SmeH17q3J6hK1vepKubnqdrXB5natyeJ6pc3ifqHN4n6hzeJ+oc3ifqHN4n6hzeJ+oc3if qHN4n6hzeJ+oc3ifqP96IhL/giIc/4siJ/+VJDL/oCg99qstRuO2NU/StUJXxbFPXLqsXGCxqGNo qaRkdqGgZYOZnmeOj51ql4OYbp95jXOlcod5qmyDg6xpg5CtaYKbrGyAnKttfp2pb32eqG99nqhv fZ6ob32eqG99nqhvfZ6ob32eqG99nqhvfZ6ob32eqP97IRL/hCEc/40iJ/+YIzH/pCc78rEsRd+8 NU3OukRTwbZSV7axXF+trWJopaljdZynZIKTpmaMiaZpln2mbZ10m3KjbJR5qGeRg6pkkJCrZYyW q2iImalqhJuoa4Kdp2uCnadrgp2na4Kdp2uCnadrgp2na4Kdp2uCnadrgp2na4Kdp/98IBH/hSAb /5AgJv+cIjD/qSY67rkrQtvCNknJv0dOvbtRWLK3WGKos15roLBidJeuY4CNrmWLg69ok3iwbJtu rnOgaKd6pWOjhKdjm4uoZJWQp2aQlKZnjJimaImbpWiJm6VoiZulaImbpWiJm6VoiZulaImbpWiJ m6VoiZulaImbpf99HxH/iB8b/5MfJf+gIS//sCQ46cIqP9XKOEXFxkVPuMJMWq2+U2Wiu1lumble d5C3Yn+HtmWIfrdnkHW3bJdttXGcZ7F4oGWrf6JkpIWjZp6Ko2eZjqJmlZOiZpGXomaRl6JmkZei ZpGXomaRl6JmkZeiZpGXomaRl6JmkZeiZpGXov9/HhH/ih0a/5cdJP+mHy36uSM15M8pO9DRNkTA zj9RsstHXabITmibxlNxkcRZeYjCXoGAwWKHeL9njXK9a5JtunCWabZ2mWaxe5tmrIGcZ6eFnGii iptnnY6dZpqRnmaakZ5mmpGeZpqRnmaakZ5mmpGeZpqRnmaakZ5mmpGeZpqRnv+CHBD/jhsZ/5wb Iv+uHSr0xCEx3dwnOMncMUe52jlUqtdBYJ3VSGqS005ziNFUen/MWoF4yF+Gc8Rki27BaY9rvm6R aLxzk2a5eZVmtH6VZ7CClGirh5Nnp4qVZqONl2ajjZdmo42XZqONl2ajjZdmo42XZqONl2ajjZdm o42XZqONl/+FGg//kxkY/6QZIP+5Gifn1R4s0uYjO8DpK0qv6DNXn+U8YpLfRGyH2Et0ftJSenfN WIByyl6Ebsdjh2vEZ4powmyMZsFwjmTAdY9jvnqQZLp/kGS2g49lsYeOZq6Kjmauio5mroqOZq6K jmauio5mroqOZq6Kjmauio5mroqOZq6Kjv+JFw7/mRYW/64VHfHJFiLX5Bgtw/IhPbD4KUyh8DFZ kuc6Y4bfQ2x92UpzdtRReHHQV31tzV2Aasthg2jJZoVmx2qHZMZuiGPFcolixXaKYcV7imHBf4ph vIOKYrmHiWK5h4liuYeJYrmHiWK5h4liuYeJYrmHiWK5h4liuYeJYrmHif+PFA3/oxIT/L0RGd7e Dx/G7xYwsv8fQKH5KE6S7zBZhuc6Y3zgQ2p120twcNdRdWzUV3hp0Vx7Z9BgfWXOZH9jzWiAYsxs gWHLb4Jgy3ODX8p2g17Ke4NeyX+DXsaDg17Gg4NexoODXsaDg17Gg4NexoODXsaDg17Gg4NexoOD XsaDg/+YEAvysQ4Q3tMLEsvrDiK1/hUzov8fQpL4KE+G7zFZe+g7YXTjRGdu30tsatxScGfZV3Nl 11x1Y9VgdmLUY3hh02Z5X9Npel/SbXpe0nB7XdFze1zRdnxb0Xp8W9F+fFvRfnxb0X58W9F+fFvR fnxb0X58W9F+fFvRfnxb0X58W9F+fOumCwjYwAoKytQJFbjtDSWj/xY1k/8gQ4X5Kk568TNWcuw8 XW3nRWJo5ExmZeFSaWPfV2xh3lttYN1fbl/cYm9e22VwXdtncVzaanJb2m1yW9lvclrZcnNZ2XVz Wdl4c1nZeHNZ2XhzWdl4c1nZeHNZ2XhzWdl4c1nZeHNZ2XhzWdl4c9OwCATGxgcJt9YJGKb0DieT /xc1hf8iQXr7LUtx9TZSa/A+WGftR1xj6k1fYehTYl/mV2Ne5VtlXeReZlzkYWZb42NnWuNmaFri aGhZ4mppWeJsaVjhb2lX4XFqV+F0alfhdGpX4XRqV+F0alfhdGpX4XRqV+F0alfhdGpX4XRqV+F0 asK3BgKzyAYLptsIGpX+ECiF/xo0ev8mPnH/MEZq+jlMZfZAUWHzSFRf8U5XXe9TWVvuV1pa7Vtb We1dXFnsYF1Y7GJdV+tkXlfrZl5X62heVupqX1bqbF9V6m5fVelwYFXpcGBV6XBgVelwYFXpcGBV 6XBgVelwYFXpcGBV6XBgVelwYLC6AwOkzgUNl+EIGob/EiZ6/x4xcf8pOWr/M0Bk/ztFYP1CSV37 SUxb+U9OWfhTT1j3V1BX9lpRVvVdUlb1X1JV9GFTVfRjU1T0ZFRU9GZUU/NoVFPzaVRT82tVUvNt VVLzbVVS821VUvNtVVLzbVVS821VUvNtVVLzbVVS821VUvNtVaLBAwSW1QUOiPAKGXv/FSNx/yEs av8sM2T/NTlf/z09W/9EQFn/SkJX/09EVv9TRVX/V0ZU/1lHVP5cR1P+XkhT/l9IUv1hSFL9YklS /WRJUf1lSVH8Z0pR/GlKUPxqSlD8akpQ/GpKUPxqSlD8akpQ/GpKUPxqSlD8akpQ/GpKUPxqSv9r LA3/cC0X/3MwI/91NDD/dTk8/3Q/SP1xRVL2bU5c72hWZOpkXmvmYWZx411tdeBbdHjZWnp701mA fc5YhH7JWIh/xViLgMFZjoG+WZGBulqTgrdaloK0W5iCsVyaga9dnIGvXZyBr12cga9dnIGvXZyB r12cga9dnIGvXZyBr12cgf9rLA3/cC0X/3MwI/91NDD/dTk8/3Q/SP1xRVL2bU5c72hWZOpkXmvm YWZx411tdeBbdHjZWnp701mAfc5YhH7JWIh/xViLgMFZjoG+WZGBulqTgrdaloK0W5iCsVyaga9d nIGvXZyBr12cga9dnIGvXZyBr12cga9dnIGvXZyBr12cgf9rLA3/cC0X/3MwI/91NDD/dTk8/3Q/ SP1xRVL2bU5c72hWZOpkXmvmYWZx411tdeBbdHjZWnp701mAfc5YhH7JWIh/xViLgMFZjoG+WZGB ulqTgrdaloK0W5iCsVyaga9dnIGvXZyBr12cga9dnIGvXZyBr12cga9dnIGvXZyBr12cgf9rLA3/ cC0X/3MwI/91NDD/dTk8/3Q/SP1xRVL2bU5c72hWZOpkXmvmYWZx411tdeBbdHjZWnp701mAfc5Y hH7JWIh/xViLgMFZjoG+WZGBulqTgrdaloK0W5iCsVyaga9dnIGvXZyBr12cga9dnIGvXZyBr12c ga9dnIGvXZyBr12cgf9sKw3/cSwX/3UvI/93My//dzg8/3Y+R/1zRFL2b0xc72pVZOpmXWvmYmVx 4l9sdt9cc3nYW3p80Vp/fsxZg4DHWYeBw1mLgr9ZjoO7WpGDuFuUg7VbloOyXJiDr12bgq1enIKt XpyCrV6cgq1enIKtXpyCrV6cgq1enIKtXpyCrV6cgv9tKg3/cisX/3YuI/95Mi//ejY7/3k8R/53 QlL2c0pc725SZOpqW2zlZWNy4WJqd91fcnvVXXh+z1t+gMpbg4LEWoeDwFqLhLtbj4W3W5KGtFyU hrFdl4auXpmFq1+chKlfnYWpX52FqV+dhalfnYWpX52FqV+dhalfnYWpX52FqV+dhf9uKQ3/dCoX /3gtIv97MC7/fDU6/3w6Rv56QFH2d0hb8HJQZOptWWzlaWFy4WVpeNthcHzTX3d/zV19gsdcgoTC W4eGvVuLh7hcj4i0XJKIsF2ViK1emIeqYJqHpmCdh6RgnoikYJ6IpGCeiKRgnoikYJ6IpGCeiKRg noikYJ6IpGCeiP9vKA3/dSkX/3ksIv99Ly7/fzQ6/385Rv5+P1D3e0Zb8HdPZOpyV2zlbV9y4Ghn eNlkb33RYXaBy198hMRegoa/XYeIuV2MibVdkIqwXpOKrF+WiqlgmYmmYZuJomGeiqBhn4qgYZ+K oGGfiqBhn4qgYZ+KoGGfiqBhn4qgYZ+KoGGfiv9wKA3/digX/3srIv9/Li3/gTI5/4I3Rf+CPVD3 gERa8HxNY+p2VWvlcV5y3WxmeNVobX3PZHSCyGF7hcJfgYi8XoeKtl6Mi7FekIysX5SMqGGXi6Vi mouhYpyMnmKfjZxioI2cYqCNnGKgjZxioI2cYqCNnGKgjZxioI2cYqCNnGKgjf9xJwz/dycW/30q If+BLS3/hDE5/4Y2RP+GPE/4hkJZ8YJLYup8VGrhd1xy2nFkeNJsbH7MaHOCxWR6hr9igYq4YIeM sl+NjqxgkY6nYZWOpGOYjaBjm46dY52PmWOgj5dkoZCXZKGQl2ShkJdkoZCXZKGQl2ShkJdkoZCX ZKGQl2ShkP9yJgz/eCcW/34pIf+DLCz/hzA4/4o1Q/+LOk75jEFY74hJYeaCUmndfVtx1XdjeM5y a37IbXKDwWh5h7tlgIu0YoeOrmGNkKhhk5GjYpeRnmSakJtknZGYZJ+SlGWikpNlo5KTZaOSk2Wj kpNlo5KTZaOSk2WjkpNlo5KTZaOSk2Wjkv9yJQz/eSYW/4AoIf+FKiz/ii43/44zQv+QOUz2kkBW 645JX+GJUmjYhFpv0H5idsl4an3Dc3GDvW14iLdogI2wZIiQqWKPk6JilZSdY5mVmWWclJVln5SS ZqGUj2ajlI5npJSOZ6SUjmeklI5npJSOZ6SUjmeklI5npJSOZ6SUjmeklP9zJAz/eyUW/4EnIP+H KSv/jS02/5IyQf+WOEvxmT9V5pVJXtyQUmbSi1ptyoVidcR/aXu+eXCCuHN3ibJsf46rZ4iTo2SR lpxjmJeWZJyYkmafl49noZeMaKOWimmllolpppWJaaaViWmmlYlpppWJaaaViWmmlYlpppWJaaaV iWmmlf90JAz/fCQV/4MmIP+KKCv/kCw1/5YxQPubN0rtnz5T4ZtJXNaXUmTMkltrxYxjcr6Hanm4 gG+Cs3l1iqxxfZCia4WVmmePmJRlm5qOZqCai2iimolpo5mHaqWYhWuml4Rsp5eEbKeXhGynl4Rs p5eEbKeXhGynl4Rsp5eEbKeXhGynl/91Iwz/fSMV/4QlH/+MJyr/kys0/5owP/egN0jppT9R3KJJ WdCeU2HHmFxov5Rkb7mNaXizh22CroBziqJ3eZGYcICWkGuJmolplZyFaaScg2ulnIJsppqBbaea gG6omH9uqZh/bqmYf26pmH9uqZh/bqmYf26pmH9uqZh/bqmYf26pmP92Igz/fiMV/4YkH/+OJin/ lio0/54wPvSmNkflqj9P2KhKV8ujVV7Cn15kupplbLSUaHiujmuCp4hyipp9dpGPdXyXhnCEm4Bu kJ18bZ+ee2+onXtwqJx7cKmbenGqmXpxqph6caqYenGqmHpxqph6caqYenGqmHpxqph6caqYenGq mP92Igz/fyIV/4cjH/+QJSn/mSkz/6IvPPCsNUXhsD9N0q1LVMepV1q9pGFftZ9ka6+aZneolmqC n5BvipKEc5GHfHmXfnaAm3h0i550c5qfcnSrnnR0qpx1dKqbdXSrmnV0q5l1dKuZdXSrmXV0q5l1 dKuZdXSrmXV0q5l1dKuZdXSrmf93IQv/gCEU/4kiHv+TJCj/nSgy/6cuO+2zNUPdtUBKzrJOUMKu WlW5qWJdsaVja6mhZXehnmiBl5ltioqMcZF/hHaXd35+m3F7iJ5tepefa3upnm16qp1veaubcHms mnF4rJlxeKyZcXismXF4rJlxeKyZcXismXF4rJlxeKyZcXismf94IQv/gSAU/4shHv+VIyf/oScw +6wtOem6NEHYvEJHyrhQTL6zXk+1rmFcrKtjaqSoZHabp2eAkKZriYOYb5B5jnSWcYh8mmuEhp1n g5SeZYSmnmiCqZxqgKqbbH6rmWx9rJlsfayZbH2smWx9rJlsfayZbH2smWx9rJlsfayZbH2smf95 IAv/gx8U/40gHf+ZIyb/pSYv97MsN+TCND7TwkRDxb1URrq4XU6xtGFbp7JiaZ6wY3WUsGZ/iLFq iHymbo9ynHOUa5V7mWaRhZtij5OdYI+jnGSLpZtlh6iaZ4SqmWiDq5hog6uYaIOrmGiDq5hog6uY aIOrmGiDq5hog6uYaIOrmP96Hwv/hR4T/5AfHP+cISX/qyUt87srNN/KNTrOx0c9wcNRSLa+WVKs u19borlhaJi5YnONuWV9gbtohna4boxtrnOSZqd7lmGihphdoZSaXpucmWGVoJhikKOYZIynl2WK qJZliqiWZYqolmWKqJZliqiWZYqolmWKqJZliqiWZYqolv98HQr/hx0T/5MeG/+hICP/siQr7sYq MdrSNzXJzkQ/vMpMS7DHVFWlxFpem8FfZ5HBYnGGwmR7e8Rog3HEbYlowXSOYr19kl61hpRdrY6V XqWUlWGfmZRhmp2UYZailGKTpJRik6SUYpOklGKTpJRik6SUYpOklGKTpJRik6SUYpOklP9+HAr/ ihsS/5gcGv+oHiH9vCIo59QoLNPcNDbD2D5CtdRHTqjSTlid0FRhks5aaonNX3F/zGN4d8tofm7J bYRoxnKJY8N5jGC9gY5ftoiPYK+Oj2Kpk45ipJePYZ+bkGGdn5BhnZ+QYZ2fkGGdn5BhnZ+QYZ2f kGGdn5BhnZ+QYZ2fkP+BGgn/jhkR/54aGP+xGx7yyR8j3eIlKsznLji75DhFrOJAUZ7gSFuT3k5k iN1Va3/aWnJ31GB3cNBlfGvNa4BnynGDY8l3hWLEfodhvoSHYbiJh2OzjodjrpKHYaqWiWGnmYph p5mKYaeZimGnmYphp5mKYaeZimGnmYphp5mKYaeZiv+EFwn/kxcP/6YXFvy9GBvi2xwezuoiLb31 Kzuu9DNIoPE6U5PsQ1yH5UtkfuBSa3bbWHFw1l51a9NjeWjRaHxkz25+Ys1zgGDMeoFfyYCCX8OF gmC+iYJiuY6AYrSSgWGxlIJhsZSCYbGUgmGxlIJhsZSCYbGUgmGxlIJhsZSCYbGUgv+JFAj/mhQN /7ETE+zPExbS5xchv/cgMK7/KT6f/DFKkvM5VIbsQV195klkdeFQam/dV25r2lxyZ9dhdWTVZndi 02t5YNJwel7RdXtd0Ht8XM+BfVzKhX1dxYl8XsCOe1+9kXtfvZF7X72Re1+9kXtfvZF7X72Re1+9 kXtfvZF7X72Re/+QEQb/pRAL8MIODtjiDhXB9BYkr/8fM5//KECR+zBLhfM4VHvtQVx06ElibuRQ Z2rgVmpm3lttZNxgb2HaZXFf2WlzXthtdFzXcnVb1nZ1WtZ7dlnVgHZZ0oR2Ws2JdlvKjHZbyox2 W8qMdlvKjHZbyox2W8qMdlvKjHZbyox2W8qMdv2ZDgTftQoH1dEKCsXoDRiw/xUmn/8eNJD/KEGE +zFLevU5U3LvQVls60leaOdQYmXlVmVi41tnYOFfaV/gY2pd32dsXN5rbFvebm1a3XJuWd12bljc em9X3H5vVtyEb1bZh29W2YdvVtmHb1bZh29W2YdvVtmHb1bZh29W2YdvVtmHb92mCQLQvggDwtEI DLPqDBqg/xUokP8fNYP/KUB5/TNJcfc7T2vzQ1Vm70pZY+1RXGDrVl5e6VtgXehfYVznYmJb5mVj WuZpZFnlbGVY5W9lV+RyZlbkdWZW5HhnVeN9Z1TjgGdU44BnVOOAZ1TjgGdU44BnVOOAZ1TjgGdU 44BnVOOAZ8usBgC9wQUEsNQIDqHyDRyQ/xYpg/8hNHj/LD1w/zVFavw9SmT4RE9h9UtSXvNRVFzy VlZb8FpYWu9eWVnvYVpY7mRaV+1mW1btaVxW7WxcVexuXVTscV1U7HRdU+t3XlPrel5T63peU+t6 XlPrel5T63peU+t6XlPrel5T63peU+t6XrmxBACtxQUFoNoHEJH9DhyC/xkoeP8kMW//Ljlp/zc/ ZP8/RF/+Rkdc/ExKWvpRTFn5Vk1X+FpPVvddT1b3YFBV9mJRVPZlUVT1Z1JT9WlSU/VrU1L0blNS 9HBTUfRzVFH0dVRR9HVUUfR1VFH0dVRR9HVUUfR1VFH0dVRR9HVUUfR1VKm2AgCezAQGkuEHEYP/ EBt3/xwlb/8nLWj/MTNj/zk4Xv9BPFv/Rz9Y/01BV/9SQ1b/VkRV/1lFVP9cRVP/XkZT/2FHUv9j R1L+ZUdR/mdIUf5pSFD9a0hQ/W1JT/1vSU/9cUlP/XFJT/1xSU/9cUlP/XFJT/1xSU/9cUlP/XFJ T/1xSZy+AQGR0wMHhOwIEHf/Exhu/x8gaP8qJ2L/Myxe/zswWv9CM1f/SDVV/003VP9ROVP/VTpS /1g6Uv9bO1H/XTtR/188UP9hPFD/Yj1P/2Q9T/9mPU7/aD5O/2k+Tf9rPk3/bT5N/20+Tf9tPk3/ bT5N/20+Tf9tPk3/bT5N/20+Tf9tPv9nLAj/bC4Q/3AxG/9xNib/cTsy/3BBPf9sR0f/aFBQ+WRZ WPRgYV7xXWlj7lpxZ+tYeGrkV31s3laDbtlWh2/UVotw0FaPccxWknLIV5VyxFeYcsFYm3K+WJ1y u1mfcrhaonG3W6Nxt1ujcbdbo3G3W6Nxt1ujcbdbo3G3W6Nxt1ujcf9nLAj/bC4Q/3AxG/9xNib/ cTsy/3BBPf9sR0f/aFBQ+WRZWPRgYV7xXWlj7lpxZ+tYeGrkV31s3laDbtlWh2/UVotw0FaPccxW knLIV5VyxFeYcsFYm3K+WJ1yu1mfcrhaonG3W6Nxt1ujcbdbo3G3W6Nxt1ujcbdbo3G3W6Nxt1uj cf9nLAj/bC4Q/3AxG/9xNib/cTsy/3BBPf9sR0f/aFBQ+WRZWPRgYV7xXWlj7lpxZ+tYeGrkV31s 3laDbtlWh2/UVotw0FaPccxWknLIV5VyxFeYcsFYm3K+WJ1yu1mfcrhaonG3W6Nxt1ujcbdbo3G3 W6Nxt1ujcbdbo3G3W6Nxt1ujcf9oLAj/bS0Q/3EwG/9zNSb/czoy/3FAPf9uRkf/ak5Q+WZXWPRi YF7wXmhj7VxvaOpZd2vjWH1t3VeCb9hWh3DSVotyzlePcspXknPGV5V0wliYdL5Ym3S7WZ50uFqg c7Vbo3K0XKNytFyjcrRco3K0XKNytFyjcrRco3K0XKNytFyjcv9pKwf/biwQ/3IvGv91Myb/dTgx /3Q+PP9yRUb/bkxQ+WlVWPRlXl/vYWZk7F5uaehbdWzhWXxv21iCcdVYh3LQV4t0y1ePdcZYk3XC WJZ2vlmZdrtanHa3W592tVyhdbFdpHSwXaV1sF2ldbBdpXWwXaV1sF2ldbBdpXWwXaV1sF2ldf9q Kgf/bysQ/3QuGv93MiX/eDcx/3c9PP91Q0b/cUpP+W1TWPRoXF/vZGRl62BsaudddG3gW3tw2VmB c9NZhnTNWIt2yFiPd8NZk3e/WZd4u1qaeLdbnXi0XKB3sV2idq1epXesXqZ3rF6md6xepnesXqZ3 rF6md6xepnesXqZ3rF6md/9rKQf/cSoQ/3UtGv95MSX/ejUw/3o7O/94QUX/dUhP+XBRWPRsWl/v Z2Jl62NqauVfcm7eXXpy1luAdNBahnbKWot4xVqQecBalHq7Wph6t1uberNdnnmwXqF4rV6jeale pnqoXqd6qF6neqhep3qoXqd6qF6neqhep3qoXqd6qF6nev9sKAf/cikP/3crGv97LyT/fTQv/306 Ov98QEX/ekZO+nVPV/RwWF/va2Bl6mZpa+NicW/cX3hz1F1/ds1chnjHW4t6wluQe7xblXy3XJl8 s12cfK9fn3urX6J7qF+lfKVfp32kX6h9pF+ofaRfqH2kX6h9pF+ofaRfqH2kX6h9pF+off9tJwf/ cygP/3kqGf99LiT/gDIv/4E4Of+APkT/f0VN+ntNVvR2Vl7vcF9l52tna+Bmb3DZYnd00WB/d8pe hXrEXYt8vlyRfbhdln6yXpp+rl+efapgoX2mYKR+o2Cmf6BgqX+fYap/n2Gqf59hqn+fYap/n2Gq f59hqn+fYap/n2Gqf/9uJgf/dScP/3opGf9/LCP/gzEu/4U2OP+FPEP/hENM+4JLVfR8VF3rdl1k 5HFla9xrbnDVZ3Z1zmN9ecdghXzAXox+uV6SgLNel4CtYJyAqWGff6Rho4ChYaaBnmGogppiq4KZ YqyCmWKsgplirIKZYqyCmWKsgplirIKZYqyCmWKsgv9vJQf/diYP/3woGP+CKyL/hjAt/4k1N/+K O0H/i0FL+YlJVO+DU1zmfVxj33dkathybHDRbHR1ymd8esNjhX27YYyAtF+Tgq5fmYOoYJ6Eo2Ki g55ipYSbYqiEmGOqhJVkrYSUZK2ElGSthJRkrYSUZK2ElGSthJRkrYSUZK2ElGSthP9wJAf/dyUO /34nGP+EKiL/iS4s/40zNv+QOkD+kUBJ85BJUumKUlrhhVti2X9jadJ5a2/Lc3N1xW17er5nhH+3 Y42Dr2CVhadgnIehYaGHnGKlh5hkqIeVZKuHkmWth49mr4aOZq+Gjmavho5mr4aOZq+Gjmavho5m r4aOZq+Gjmavhv9xJAf/eCQO/4AmGP+GKSH/jC0r/5EyNf+VOT75mEBH7ZdIUOOSUljajVtf0odj Z8uBa23GenJ0wHJ6e7lrg4GvZoyFqGKXiKBhoImZYqWKlGSpipFlq4mOZq2JjGeviYposYiJabGI iWmxiIlpsYiJabGIiWmxiIlpsYiJabGIiWmxiP9yIwf/eiMO/4ElF/+JKCD/jywq/5YxNP+bOD30 oD9F6J5JTt2aU1XTlVxdy5BkZMWJa2zAgXB1unl4fK1wfoKjaoeGm2aRipVknYyQZKqMjGatjIlo r4uHabCLhmqxioRrs4mEa7OJhGuziYRrs4mEa7OJhGuziYRrs4mEa7OJhGuzif9yIgb/eyIO/4Mk F/+LJiD/kyop/5owMv6gNzvvqD5D46VJS9eiVFLNnV1ZxZdlYL+QaWy6iW51sH90faJ2eoOYb4KI kGuLi4ppmI2GaKeOg2mxjoJrso2AbLOMf220i35ttYp+brWKfm61in5utYp+brWKfm61in5utYp+ brWKfm61iv9zIQb/fCEN/4UjFv+NJR//liko/54vMfqmNjnrrz5B3axKSNGpVk/HpGBVwJ5kYLqY Z2uzkmx1poZyfZp8d4OPdX6Ih3CHjIFuk458baKQem60j3lvtY55cLaNeXC2jHlwt4t5cLeKeXC3 inlwt4p5cLeKeXC3inlwt4p5cLeKeXC3iv90IQb/fSEN/4YiFv+QJB7/mSkn/6MvL/atNjfmtT8+ 2bNMRcyvWErCqmFSu6RjX7SgZmusm2p1no5vfZGDdIOHfHqIfneDjHh0jo90cp2QcXOvkHJ0t49y dLeOc3S4jHR0uIt0dLmLdHS5i3R0uYt0dLmLdHS5i3R0uYt0dLmLdHS5i/91IAb/fiAN/4ghFf+T Ix3/nSgm/6guLvK0NTXiu0A707lOQce0XEW+r2BRtqtiX62oZWqkpWl0lphtfImMcoN/hHiId36A jHF7i49teZmQanqskGt6uI9sebiObnm4jW94uYtveLmLb3i5i294uYtveLmLb3i5i294uYtveLmL b3i5i/92Hwb/gB8M/4ogFf+VIh3/oSck/64tLO68NTLdwkE4zr9RPMO6XkC5tWBQsLJhXqewY2mc sGdzjqRre4KXcIJ4jnaIcIh+jGqEiI9mgpeQZIKpkGWCto9ngLeNaH+4jGp9uYtqfbmLan25i2p9 uYtqfbmLan25i2p9uYtqfbmLan25i/93Hgb/gh0M/40eFP+ZIRv/piUj/LUsKunGNC/YykMzysVV Nb+/XT+0vF9PqrpgXaC5YmiUumVyh7JqenulboFym3SGapR8imWQh41hjpWPXo6nj1+Mso5iiLSM ZIa2i2WDuIpmg7iKZoO4imaDuIpmg7iKZoO4imaDuIpmg7iKZoO4iv95HQX/hBwM/5AdE/+dIBr/ rCQh974rJ+TRNCvS0UYtxctROLrGWkGvw15OpMJgW5nCYWeMxGRwf8JpeHS2bn9srHSEZaV8iGCh h4tcnpWMWZ6njFyXrItek7CKYI+zimGLtYliiraJYoq2iWKKtoliiraJYoq2iWKKtoliiraJYoq2 if96HAX/hhoL/5McEv+jHhn/tCIe8skpI93cNSXN2UIwv9NMO7PPVUWozFxOncpfWZHMYWWFzmRu edBodW7LbnxmwnWAYLt9hFu2iYdYs5eIWaqfiFujpIhdnqmHXZmth16VsYdek7KGXpOyhl6TsoZe k7KGXpOyhl6TsoZek7KGXpOyhv99GgX/ihkK/5gaEf+qHBb7vyAb5tknHtblMSfG4j0zuN5HPqvb T0if2VVSlNdbWorWYGJ+2GRqc9locmvVbndj0XV8Xc5+f1rHh4FZvo+DWrWXg1yunIJeqKGCXaSl g1yfqoNcnqyDXJ6sg1yerINcnqyDXJ6sg1yerINcnqyDXJ6sg/9/GAT/jhYJ/58XD/+zGRPuzR0X 2eUkHcnuLiq88Dc2re1AQaDqSEuU6E9UiedVXH/lW2N24mFpb91nbmjabXJj1nR1X9R7eFzOg3pb x4p7XMCQfF25lntfs5t7Xq+ffF2qo35dqKV+Xailfl2opX5dqKV+Xailfl2opX5dqKV+Xailfv+D FQT/kxQI/6cUDPnBFRDd4BcTyu4iILr6Ky2t/zQ5oPw7RJT5Qk2I8kpVfexSXHXnWGJv415naeBk a2Xdam5h23BxXtl3c1vYf3Rb0YV1W8qMdV3EkXRfvpZzXrqadF21nnZdtJ93XbSfd120n3ddtJ93 XbSfd120n3ddtJ93XbSfd/+IEgP/mxEG+7QQCefVEAvN6xYWu/sgI6v/KDCe/zE7kf85RYb5QE58 8khVdO1QW27pVmBp5lxkZeNiZ2HhaGlf321rXN5zbVrdeW5Y3IBvWNiHcFnRjHBazJFvW8eVbl3B mW1cwJtuXMCbblzAm25cwJtuXMCbblzAm25cwJtuXMCbbv+PDgLxpw0E3MYLBdLhDAu9+BQYq/8e JZ3/JzKQ/zA9hP84Rnv5QE1z9EhUbPBPWGjsVlxk6ltfYehhYl/mZmRc5WplW+NvZ1njdGhX4npp VuGAaVbfhmlW2otpVtWQaVfPlGlYzZZoWM2WaFjNlmhYzZZoWM2WaFjNlmhYzZZoWM2WaOuaCgHY sgkCzMsIBMDgCw6s/xMbnP8dJ47/JzOD/zA8ef85RXH7QEtr90hQZvNPVGPxVVdg71taXe1fXFzs ZF1a6mheWepsYFfpcWBW6HVhVeh6YlTnf2JT54RiU+SJY1PfjmJU3ZBiVN2QYlTdkGJU3ZBiVN2Q YlTdkGJU3ZBiVN2QYtShBwDHuAcAus0HBa7kChCc/xMcjf8eKIH/KDJ4/zI7cP86QWn/QUdk+0hL YfhPTl72VVFc9VpTWvNeVFnyYlZX8WZXVvFqV1XwbVhU73FZU+91WVLueVpS7n1aUe6CWlDuh1tQ 7YlbUO2JW1DtiVtQ7YlbUO2JW1DtiVtQ7YlbUO2JW8KlBAC1uwQBqtEHB53tCxKN/xQdgP8gJ3b/ KjBv/zM3aP88PWP/Q0Fe/0lFXP5QR1r9VUlY+1lLV/pdTFb6YU1V+WROVPhnTlP4ak9S921QUvdx UFH2dFFQ9ndRT/Z7UU/2f1JO9YFSTvWBUk71gVJO9YFSTvWBUk71gVJO9YFSTvWBUrGqAgCmwQQB m9gFCI35DBJ//xccdf8iJW7/LCxn/zYyYv89Nl7/RDpa/0o9WP9QP1f/VUFV/1lCVP9cQ1P/X0RT /2JEUv9lRVH/aEVR/2pGUP9tRk//cEdP/3NHTv51R03+eUhN/npITf56SE3+ekhN/npITf56SE3+ ekhN/npITf56SKKwAACYyQICjd8FCH//DhF0/xkZbf8lIGb/LyZh/zcrXf8+L1n/RTJX/0s0Vf9Q NlT/VDdT/1g4Uv9bOVH/XjpR/2A6UP9iO0//ZTtP/2c8Tv9qPE3/bDxN/249TP9xPUz/dD1L/3U9 S/91PUv/dT1L/3U9S/91PUv/dT1L/3U9S/91PZa5AACL0QECgOYFB3T/EA5s/xwVZf8mG2D/MCBc /zgkWP8/J1X/RSlU/0srUv9PLFH/Uy1Q/1YuUP9ZL0//XC9O/14wTv9gME3/YjFN/2QxTP9mMUv/ aDJL/2oySv9sMkr/bzJK/3AzSv9wM0r/cDNK/3AzSv9wM0r/cDNK/3AzSv9wM/9jLQT/aC8K/2sy E/9tNx3/bTwo/2tDMv9oSjz/ZFJE/2BbS/5dZFH7WmxV+Fd0WfVWe1zuVYFe6FSGX+NUimDfVI5h 21SSYtZUlmPSVJljzlWcY8pVn2PHVqJjxFekY8FYp2O+WalivlmpYr5ZqWK+WalivlmpYr5ZqWK+ WalivlmpYv9jLQT/aC8K/2syE/9tNx3/bTwo/2tDMv9oSjz/ZFJE/2BbS/5dZFH7WmxV+Fd0WfVW e1zuVYFe6FSGX+NUimDfVI5h21SSYtZUlmPSVJljzlWcY8pVn2PHVqJjxFekY8FYp2O+Walivlmp Yr5ZqWK+WalivlmpYr5ZqWK+WalivlmpYv9jLQT/aC4K/2wxE/9uNh3/bjso/21CMv9qSTz/ZlFE /2JaS/5eY1H6W2tW+FhzWvRWelztVYBf51WFYOJUimLeVI5i2VSSY9RUlmTQVZpkzFWdZchWoGXF V6NkwlelZL9Yp2S8WapjvFmqY7xZqmO8WapjvFmqY7xZqmO8WapjvFmqY/9kLAP/ai0K/24wE/9w NR3/cTon/29AMv9sRzv/aE9E/2RYTP1gYVL6XWlX91pxW/NYeV7sV39g5laFYuBVimPbVY5k1lWT ZdFVl2bNVppmyVaeZsVXoWbBWKRmvlmmZrtaqWW4W6tluFurZbhbq2W4W6tluFurZbhbq2W4W6tl uFurZf9lKwP/aywK/28vEv9yMx3/czkn/3I/Mf9vRTv/a01E/2dWTP1jX1L5X2hX9lxwXPJZeF/r WH5i5FeEZN5WimXZVo9m01aTZ89Wl2jKVptoxleeaMJYomi+WaVou1qnZ7hbqma0W6xntFusZ7Rb rGe0W6xntFusZ7RbrGe0W6xntFusZ/9mKgP/bCsJ/3EuEv90Mhz/dTcm/3Q9Mf9yRDv/b0tE/2pU TP1mXVL5YmZY9V5uXfBbdmDpWX1j4liEZdxXimfWV49o0VeUactXmGrHV5xqwlifar5Zo2q6WqZp t1ypaLRcq2mwXK5qsFyuarBcrmqwXK5qsFyuarBcrmqwXK5qsFyuav9nKQP/bSoJ/3IsEv92MBz/ eDUm/3g8MP92Qjr/c0lD/25SS/1qW1L4ZWRY9WFsXe9edWHnW3xk4FqDZ9pYiWnTWI9qzViUa8hY mWzDWZ1svlqhbLlbpGy1XKdrsl2qa69drWyrXa9tq12wbatdsG2rXbBtq12wbatdsG2rXbBtq12w bf9pJwP/bygJ/3QrEv94Lxv/ezQl/3s6L/96QDn/eEdC/3RPS/1uWVL4aWJZ9GVrXuxhc2LlXntm 3lyCaNZaiWvQWY9syVmVbcRZmm6+Wp5uuVuibrRdpm2wXqltrV2sb6pdr2+mXrFwpl6ycKZesnCm XrJwpl6ycKZesnCmXrJwpl6ycP9qJgP/cCcJ/3YqEf97LRr/fjIk/384Lv9/Pjj/fUVB/3pNSv50 VlH5b2BY8WppXuplcWPiYXln216BatNciW3MW5BuxVuWcL9bm3C5XKBws16kcK9fqG+rXqxxp16u cqRfsXKgX7RzoF+0c6BftHOgX7RzoF+0c6BftHOgX7RzoF+0c/9rJQP/ciYJ/3goEf99LBr/gTAj /4M2Lf+EPTf/g0NA/4FKSP58VFD1dl5X7XBnXuZqb2PeZnho1mKBa89fiW7HXZBxwFyXcrldnXOz XqJzrV+nc6lgq3OkX650oWCxdZ5gs3WaYbZ1mmG2dZphtnWaYbZ1mmG2dZphtnWaYbZ1mmG2df9s JAP/cyUI/3onEP+AKhn/hC8i/4g0LP+JOzX/ikI+/4lJR/iDU0/wfVxW6HdlXeFxbmPaa3do0maA bMpiiXDDX5Fzu12ZdbNdoHasXqZ3p1+qd6JgrnaeYbF3mmG0d5ditneUY7h3lGO4d5RjuHeUY7h3 lGO4d5RjuHeUY7h3lGO4d/9tIwP/dSQI/3wlEP+CKRj/iC0h/4wzKv+POTP/kUE8+5JIRfKMUk3p hlxU4n9kW9t5bWLUc3ZozWx+bcZliHK9YZJ1tV+ceKxepHqlXqp6n2CueppisXqWY7V6k2O3epFk uXmOZbp5jmW6eY5lunmOZbp5jmW6eY5lunmOZbp5jmW6ef9uIgP/diII/34kD/+FJxj/iywg/5Ey Kf+VOTL/mEA69ZpIQuuUUkrij1xS2olkWdOCbWDOenRoxnF8b7pqhHSwZY14qGKYeqJgpXycYK99 lmGzfZJktnyPZbh8jGa6fIpnvHuIZ716iGe9eohnvXqIZ716iGe9eohnvXqIZ716iGe9ev9vIQP/ dyEH/4AjD/+IJhf/jyof/5UwKP+bODD7oD8476JIQOSdU0fbmF1P0pNlVs2Ka2DIgnJouXd4b61v f3Wjaoh5nGaSfJZknn6RY61/jWS5f4pmun6HaLx+hWi9fYRpv3yCasB8gmrAfIJqwHyCasB8gmrA fIJqwHyCasB8gmrAfP9wIQP/eSEH/4EiDv+KJRb/kike/5owJv+hNy72qD826alJPd2mVETToV9K zJpkVcaTaWC+iW9prn50cKJ1e3WZb4N6kWuNfYpomYCGZ6iBgmi7gYFqvoB/a79/fmvAfn1swX19 bcJ8fW3CfH1twnx9bcJ8fW3CfH1twnx9bcJ8fW3CfP9xIAL/eiAH/4MhDv+NJBb/ligd/54vJf+n NizxsT4z47FKOdeuVkDNqWBHxqJjVMCcZ1+0kWxopYRxcJl7d3aPdX97h3CIfoFtlIF8bKOCeWy1 gnhuwoF4b8KAd2/Df3dvw353cMR9d3DEfXdwxH13cMR9d3DEfXdwxH13cMR9d3DEff9yHwL/ex8H /4UgDf+PIxX/mScc/6MuI/yuNSrsuj4w3rhMNtG1WTvIr19HwKpiVLilZV+smmponYxvcJGCdXaH e3x7fneEf3hzkIF0cp+DcXKxg29zxIJxc8SBcXPEgHJzxX9yc8V9cnPFfXJzxX1yc8V9cnPFfXJz xX1yc8V9cnPFff9zHgL/fR4G/4cfDf+SIhT/nSYb/6ktIfi1NSfnwT8t2cBOMcy7WzbDtV5GurFg U7GuZF6kpGhnlZZtb4mLcnV/g3l7d36BfnF6jYFseZuDaXitg2h6xYJqecWBa3jFgGx4xn9td8Z9 bXfGfW13xn1td8Z9bXfGfW13xn1td8Z9bXfGff90HQL/fh0G/4kdDP+VIRP/oiUZ/68sH/O+NCTi yUAp08dRK8jBWzW+vF1FtLpfUqm4Yl2csGdnjaFrboGWcHV4jXd6cId/fmqDioFmgZiCY4Gqg2KC w4JkgMSBZn7FgGd9xX9pfMZ9aXzGfWl8xn1pfMZ9aXzGfWl8xn1pfMZ9aXzGff91HAL/gBsG/4wc DP+ZHxL/pyQX/7cqHe7IMyHd0UIjzs5UJcPIWjS4xFxDrcJfUaHCYVyUvmVlhq9pbXqjb3NxmnV5 apN9fWSPiH9gjJaBXYuoglyNv4FficGAYYbDf2OExH5kgcV9ZIHGfWSBxn1kgcZ9ZIHGfWSBxn1k gcZ9ZIHGff92GwL/ghoF/48bC/+dHhD/riIV+8ApGejWMhzW20QfydRQKL3PWjKyzFxCpsteT5nM YVqMzWRkfr9pa3OzbnFrqnR2ZKN9el+eiH1bm5Z/WJqngFiZuX9blLx+XY+/fV6MwX1gicN8YInE fGCJxHxgicR8YInEfGCJxHxgicR8YInEfP94GQL/hRgF/5MZCv+jHA7/tiAT8M0nFuDlMRfQ5D8h wt5LK7bZVTWr1VxAntVeTZHXYFiE2mRhd9JoaW3Hbm5lvnVzX7d9d1qyiXpWr5d7VK6ofFWmsHxZ oLR6WZu5eluWvHpcksB6XJLAelySwHpcksB6XJLAelySwHpcksB6XJLAev97FwH/iBUE/5gXCP+r GQz5wh0P490kEdPqLxrI7jkkuulFL63lTzmh4lZCluBdS4niYFV95GReceVpZWfeb2pg1nZvWtCA clbLi3VTxZh2VLugd1azp3dZrKx2WaexdliitXdZnbp3WZ26d1mdundZnbp3WZ26d1mdundZnbp3 WZ26d/99FQH/jRMD/58UB/+2Fgrq0RkL1OgiEcbzLRy6+zYnr/g/MqL1SDyV81BFivFXTX/vXVR1 7WNabelpYGblb2Vf4nZpWt9+bFbYiG5Vz5FwVsaZcFi/n3BauKRvWrOpcFmurXFYqbJyWKmyclip snJYqbJyWKmyclipsnJYqbJyWKmycv+BEgH/kxED/6kRBfbFEQbZ4xQJxvIgFLf/Kh+r/zMqn/87 NZT/Qz6I/0pGfflSTnX0WVRt719ZZ+xmXWLpbGBe5nNjWuV7ZVjhhGdX2YxoWNGTaFnKmWhbw55n Wr+jaFm6p2pYtatrWLWra1i1q2tYtatrWLWra1i1q2tYtatrWLWra/+HDgD7mw0B6LcMA9zZCwPJ 7xMLt/8eF6n/JyKc/zEtkf85N4b/QD97/0dHc/pPTWz1VlJn8l1WY+9jWV/taVxc629eWel2YFfo fWFV5oViVd6MY1XYk2NX0ZliWMudYVrHoWBYwqVjWMKlY1jCpWNYwqVjWMKlY1jCpWNYwqVjWMKl Y/qOCwDepgkB078JAcrZCgS4/RIOqP8cGZr/JiSO/y8ug/84N3r/Pz9x/0ZFa/xOSmb4VU5i9VtS XvNhVFzxZ1dZ8GxYV+9yWlXueFtU7X5cUuyGXFLmjF1T4JJdU9qXXFTVnFxW0KBbVs+gW1bPoFtW z6BbVs+gW1bPoFtWz6BbVs+gW92WBgDOqgcAw8MGALjbCQao/xEQmf8bG4z/JiWB/y8ueP84NnD/ Pz1p/0ZCZP9ORmD8VEpd+lpMW/hgTln3ZVBX9mlRVfVuU1T0c1RS83lUUfJ/VVDyhVZQ74tWUOmQ VlHllFZR35lWUd+ZVlHfmVZR35lWUd+ZVlHfmVZR35lWUd+ZVsuaBAC9rgQAssYGAajeCQeY/xER iv8cHH//JiV2/zAtb/85NGj/QDli/0c9Xv9NQVv/VERZ/1lGV/5eR1b9Y0lV/GdKU/trS1L7b0xR +nRMUPp4TU/5fU1O+YNOTfmITk31jU5N8JFOTfCSTk3wkk5N8JJOTfCSTk3wkk5N8JJOTfCSTrmf AgCtswIAo8wFApjkBwmJ/xISff8dG3T/KCNt/zEqZ/86L2L/QTRd/0c3Wv9OOlj/VDxW/1k+Vf9d P1T/YUBT/2RBUf9oQlD/a0NP/29DT/9zRE7/d0RN/3xFTP+ARUv/hEVK/4pGSv+KRkr/ikZK/4pG Sv+KRkr/ikZK/4pGSv+KRqmkAACfuwEAldQEAonyCQl8/xQRc/8fGWv/Kh9l/zMlYP87KVz/Qi1Y /0gwVv9OMlX/UzRT/1c1Uv9bNlH/XzdQ/2I4T/9lOE//aDlO/2s6Tf9uOkz/cjtL/3U7Sv95O0r/ fTxJ/4E8Sf+BPEn/gTxJ/4E8Sf+BPEn/gTxJ/4E8Sf+BPJyrAACSxAAAiNwDAnz/Cwhx/xYPav8h FWT/Kxpf/zQfW/88Ilf/QiVV/0goU/9OKVL/UitR/1YsUP9ZLU//XS1O/18uTf9iLk3/ZS9M/2cv S/9qMEr/bTBK/3AxSf9zMUj/djFH/3oyR/96Mkf/ejJH/3oyR/96Mkf/ejJH/3oyR/96MpC0AACG zAAAe+MCAnH/DAZo/xcLYv8jEF3/LRRZ/zUYVv88G1P/Qh1R/0gfUP9NIE//USFO/1QiTf9XI03/ WiNM/10kS/9fJEr/YSVK/2QlSf9mJUj/aSZI/2smR/9uJkb/cCdG/3MnRv9zJ0b/cydG/3MnRv9z J0b/cydG/3MnRv9zJ/9eLgH/YzAF/2czDP9oOBX/aT4e/2dEKP9kTDH/YFQ4/1xeP/9ZZ0T/V29I /1R3S/5Tfk74U4RQ8lKJUe1SjVLpUpFT5FKVVOBSmFTcUpxU2FOgVdRTo1XQVKdVzVWpVcpVrFTH Vq5UxVewU8VXsFPFV7BTxVewU8VXsFPFV7BTxVewU/9fLQH/ZC8F/2cyDP9pNxX/aT0e/2hEKP9l SzH/YVM4/11dP/9aZkT/V29J/1V3TP5Ufk73U4NQ8VOIUuxSjVPoUpFU41KVVN9SmVXbU51V1lOh VtJUpFbPVKdWy1WqVchWrFXFV69Uw1ewVMNXsFTDV7BUw1ewVMNXsFTDV7BUw1ewVP9gLAH/ZS4F /2kxDP9rNhX/azwe/2pCKP9nSTD/Y1I4/19bP/9cZEX/WW1J/1Z1Tf1VfVD2VINS8FOIU+tTjVTm U5FV4VOVVt1TmVfYU55X1FShV89UpVfMVahXyFarV8VXrVbCWLBWwFmyVcBZslXAWbJVwFmyVcBZ slXAWbJVwFmyVf9gKwH/Zi0F/2owC/9tNRX/bToe/2xBJ/9qSDD/ZlA4/2JZQP9eY0X/W2xK/1h0 TvxWfFH1VYJT71SHVelUjVbkU5FX31OWWNpTmljVVJ5Z0VSiWcxVplnIVqlZxVesWMJYr1i/WbFX vFmzWLxZs1i8WbNYvFmzWLxZs1i8WbNYvFmzWP9hKgH/ZywF/2svC/9uMxT/bzkd/28/J/9sRjD/ aU04/2RXQP9gYUb/XWpL/1lyT/tXelL0VoFU7VWHVudVjFjiVJFZ3VSWWthUm1rSVZ9bzVWjW8lW p1vFV6pawVitWr5asFm7WrNauFq0WrhatFq4WrRauFq0WrhatFq4WrRauFq0Wv9jKQH/aCoE/20t C/9wMhT/cjcd/3I9Jv9wRDD/bEw4/2hVQP9jX0b/X2hM/1xxUPpZeVPyV4BW61aGWOVWjFrfVZJb 2VWXXNNVnFzOVqBdyVakXcVYqFzAWaxcvFqvW7lasly2WrRds1q2XbNatl2zWrZds1q2XbNatl2z WrZds1q2Xf9kKAH/aikE/28sC/9zMBP/dTUc/3U7Jv90Qi//cUk3/2xSP/9oXEb/Y2VM/l9vUfhc d1TwWn9X6ViGWuJXjFvcVpJd1VaYXs9WnV/KV6JfxVimX8BZql67W65dt1uxXrRbtF+wW7dgrlu4 YK5buGCuW7hgrlu4YK5buGCuW7hgrlu4YP9lJwH/aygE/3EqCv91LhP/eDMb/3k5Jf94QC7/dkc2 /3JPP/9tWUb/aGNM/mNsUfZfdVXuXH1Z5lqFW99ZjF3YWJNf0VeZYMtYn2HFWaRhv1qoYbpcrGC1 XLBgsVy0Yq1ct2KqXLljqFy7Y6hcu2OoXLtjqFy7Y6hcu2OoXLtjqFy7Y/9mJQH/bSYE/3MoCv94 LBL/ezEb/303I/99Piz/e0U1/3lNPf9zV0X/bmFM+2hqUfNkc1brYHxa412EXdtbjF/TWZRhzFmb YsVZoGO/WqZjuVyrYrRdr2KvXbNkql23ZaddumakXrxmoV6+ZqFevmahXr5moV6+ZqFevmahXr5m oV6+Zv9nJAH/byUE/3UnCv97KhH/fy8a/4E1Iv+CPCv/gkM0/4BLPP97VET/dV5L9m9oUe9pcVbn ZHpb32CDXtddjWHPXJVjx1ucZb9bo2a5W6lmsl2uZq1esmaoXrdno166aKBfvWidX79om2DAaJtg wGibYMBom2DAaJtgwGibYMBom2DAaP9oIwH/cCME/3clCf9+KRD/gy0Y/4YzIf+IOin/iUEy/4hJ Ov+EU0L5fV1J8XdmUOpwcFbianlb22WDX9JhjWPKXZZmwVufaLlbpmqxW61qql2yaqVftmqgX7tr nGC+a5lhwGuWYcJrlGLDa5Riw2uUYsNrlGLDa5Riw2uUYsNrlGLDa/9qIgH/ciID/3kkCf+AJxD/ hiwX/4syH/+OOSf/kEAw/5FIOPqNUkDyhlxH6oBlTuN5b1Xdcndb1GqBYclkimW/YJRpuF2fa7Fb q22pXLJuol24bpxgu22YYb9tlGLBbZFjw22PY8ZtjWTHbI1kx2yNZMdsjWTHbI1kx2yNZMdsjWTH bP9rIQH/cyED/3siCP+DJg//iioW/5AwHv+UOCb/mD8t/ZtHNfKXUj3qkVxE4oplTNyCbVTTeHVc xXB8YrlphGewZI1rqGGYbaJfpG+dXrNwmF++cZNiwXCPY8NwjGTGb4plx2+IZsluh2bKbodmym6H Zspuh2bKbodmym6HZspuh2bKbv9sIAH/dCAD/30hCP+GJA7/jikV/5UvHP+aNyT/oD8r9qVHMuug Uznhm11B25RkStWLa1TGf3FcuHV4Y6xuf2ijaYhsnGaSb5ZjnnGQYq1zjGLBc4lkxnKGZshyhGfK cYNoy3CBaMxvgWnNb4FpzW+Bac1vgWnNb4FpzW+Bac1vgWnNb/9tHwH/dh8D/38gB/+IIw3/kScU /5kuG/+hNiH9qD4o765IL+SqVDXapV49051jSs2UaFS7hm5crXx0Y6J0e2mZb4NtkWqNcIpomXOF Zqd0gma6dX9oy3R+acxzfWrNcnxrznF7a89we2vPcHtrz3B7a89we2vPcHtrz3B7a89we2vPcP9u HgD/dx4D/4EfB/+LIg3/lSYT/54tGf+nNR/3sT4l6bZJK92zVjHUrV08zaZhScOdZlOyjmtcpIJx Y5l6eGmPdH9th3CJcYFtlXR8a6N1eGu1dnZsz3V2bc90dm7Pc3Zu0HJ2btFxdm7RcHZu0XB2btFw dm7RcHZu0XB2btFwdm7RcP9vHQD/eBwC/4MeBv+OIAz/mSUS/6QsF/+uNB3yuz0i5L5LJ9e7WC3O tVw8xq9gSLqmZFOplmlcnIpvY5CBdWmHe3xtf3aFcXhzkXR0cZ92cHGxdm5yy3ZvctF1b3LRc3By 0XJwctJxcXLScXFy0nFxctJxcXLScXFy0nFxctJxcXLScf9wHAD/ehsC/4UcBv+RHwv/nSQQ/6kr Fv22Mxrtxj0f3sZNItLCVyzIvFs7v7heR7KwY1Khn2dblJNtYoiJc2h/gnptd32CcXF6jXRseJx2 aXetd2d4xnZoeNJ1aXfSdGp20nNrdtNybHbTcWx203FsdtNxbHbTcWx203FsdtNxbHbTcf9xGwD/ fBoC/4gbBf+UHgr/oSMP/7ApE/i/Mhfn0D0a2c9PHM3JVirCxFo5t8JdRqq7YVGaq2ZajJ5rYoGT cWh4jHdtcIaAcWqCi3RmgJl1Y3+qdmGAwnZif9F1ZH3Rc2V80nJme9NxZ3rTcWd603FnetNxZ3rT cWd603FnetNxZ3rTcf9yGgD/fRgC/4oZBf+YHQn/pyEN/7goEfPKMRTi2j8V09dQGcfRVSm7zVk4 r8tcRaLIYFCSuGVZhatpYHqgb2ZxmHZrapF+b2SNiXJgipd0XYmodVuKv3VciM50XoXQc2CD0XJi gdJxY4DTcGOA03BjgNNwY4DTcGOA03BjgNNwY4DTcP9zGAD/gBcC/40YBP+dGwj/rh8L+sImDujY MA/a4z8SzN9NGsDaVCe01lg2p9ZbQ5rWX06Kx2NXfbpoXnOvbmRrp3VpZKB9bV+biHBbmJZyV5en c1WXvnNYk8lyWo/McVuLznBdiNBwXofRb16H0W9eh9FvXofRb16H0W9eh9FvXofRb/91FgD/ghUB /5EWBP+jGQb/tx0J788jCt3mLgzS7DsUxelIHbjjVCas4Vg0nuFbQZHjXkyC2GNVdsxoXG3CbmJl unVmX7N9alquiG1Wq5ZvU6mncFGovHBUocFvVpvFbliWyW5ZksxuWpDObVqQzm1akM5tWpDObVqQ zm1akM5tWpDObf94FAD/hhIB/5cUA/+rFQX3xBkG3+AgBtDtLA7E9TgXu/VCIK7wTimj7Fcylexb PojuXkl762NRcOFoWGfYb15g0HZiWsp/ZlXFimhRwplqTsCqa1C3smtTrrhqVai9alWjwWtWnsVr VpvIalabyGpWm8hqVpvIalabyGpWm8hqVpvIav97EQD/ixAB/54RAv+3EQPn1BQD0OoeCML3KhC2 /zUarP8+I6L/Ri2W/k82ivtXPn/5XkV0+GNNavRpU2LvcFhc6XhdVuSBYFLgjWJQ1plkUM2hZVLD qWVUvK9kVrWzZFWwuGVVq71mVajAZlWowGZVqMBmVajAZlWowGZVqMBmVajAZv9/DgD/kQ0A8KkM AePHDAHV5RADwvUcCbP/JxOo/zEcnf87JpP/Qi+I/0k3ff9SP3T/WUVs/GBLZfhnT2D0blNb8nZW V/B/WFTpiFpT4ZFcU9iaXVTPoV1VyKdcV8KsXFa9sV5VubVfVbW3YFW1t2BVtbdgVbW3YFW1t2BV tbdgVbW3YP+FCgDkmggA2LEJANDNCQDE8g8Es/8bDKX/JRWa/y8fj/84KIX/QDF7/0c4cv9OPmv/ VkRl/l1IYPtkTFz4a09Z9nJRVvR5U1PzglRS7YtVUuWTVlPdmlZU1aFVVs+mVFbKqlRVxq5WVMOx WFTDsVhUw7FYVMOxWFTDsVhUw7FYVMOxWOWMBQDUngYAyLQHAMDPCAG09g4FpP8ZDpf/JBeM/y0g gv82KXn/PjBw/0U3af9NPGT/VEFf/1tEXP9iR1n9aElW+25LVPp0TVL5e05Q+INPT/OLUE/sklBQ 5ZlQUd+fUFLZpE9T1KlOVNGrTVTRq01U0atNVNGrTVTRq01U0atNVNGrTdSQBADEogQAuLcEALDS BwGk+w4Hlf8YD4n/Ixh//y0hdv82KG//Pi9o/0U0Yv9MOV7/Uzxb/1o/WP9gQVb/ZUNU/2pEU/9w RlH/dkdP/nxITv2DSUz7i0lN9JFJTe6XSk7pm0lP5KBJT+GjSU/ho0lP4aNJT+GjSU/ho0lP4aNJ T+GjScKUAgC0pgIAqr0DAKHYBgKU/w4Ih/8ZEHz/JBh0/y4gbf82Jmf/Pixh/0UwXP9MM1r/UzZX /1g4Vv9eOlT/YzxS/2c9Uf9sPk//cT9O/3ZATf98QEv/gkFK/4lCSv+PQkr6lEJL9ZhCS/KbQkvy m0JL8ptCS/KbQkvym0JL8ptCS/KbQrGZAAClqwAAnMUCAJPfBQKF/w4Iev8aEHH/JRdq/y8dZf83 ImD/Pydb/0UqWP9MLVb/Ui9U/1cxU/9cMlH/YDNQ/2Q0T/9oNU7/bDZM/3E3S/91OEr/ejhJ/4A5 SP+GOUf/izlH/5A5R/+TOkf/kzpH/5M6R/+TOkf/kzpH/5M6R/+TOqKeAACYtAAAj80BAIXmBQN4 /xAIb/8bDmj/JhRj/zAZXv84HVr/PyFW/0UjVP9MJlP/USdR/1YpUP9aKk//XitO/2ErTf9lLEz/ aC1L/2wtSv9wLkn/dC9I/3gvR/99L0b/gTBF/4YwRP+KMET/ijBE/4owRP+KMET/ijBE/4owRP+K MJamAACMvQAAgtUAAHj0BgJt/xEGZ/8dC2H/KA9c/zEUWf85F1X/PxpS/0UcUf9LHVD/UB9O/1Qg Tf9YIU3/WyFM/14iS/9hI0r/ZCNJ/2ckSP9rJEf/biVG/3IlRf92JUT/eSZD/30mQ/+AJkP/gCZD /4AmQ/+AJkP/gCZD/4AmQ/+AJoqwAACAxgAAdt0AAG3/CAFl/xMEX/8eB1r/KApX/zENU/84EFD/ PxJP/0UUTf9KFUz/ThZL/1IXS/9VGEr/WBhJ/1sZSP9dGUf/YBlG/2MaRv9mGkX/aRtE/2wbQ/9v G0L/chxC/3UcQf93HEH/dxxB/3ccQf93HEH/dxxB/3ccQf93HP9WLAD/XjAC/2IzBv9kOA3/ZD4W /2NFHv9gTSb/XFYt/1lgM/9WaTj/VHI7/1J6Pv9RgUH/UIdC+1CMQ/ZQkETxUJRF7VCYRulRm0bl UZ9H4VGjR91Sp0fZUqtH1VOuR9FUsUbOVLRGy1W2RctVt0XLVbdFy1W3RctVt0XLVbdFy1W3Rf9Y KwD/Xy8C/2MyBv9lNw3/Zj0W/2REHv9iSyb/XVQt/1peM/9XaDj/VXE8/1N5P/9SgEL/UYZD+lGL RfVRkEbwUZRH61GYR+dRnEjjUaBI31KkSNpSqEjWU6xI0lSvSM5UskjLVbVHyFa3RshWuEbIVrhG yFa4RshWuEbIVrhGyFa4Rv9ZKwD/YC4C/2QxBv9nNg3/ZzwW/2ZCHv9kSib/X1It/1xcNP9ZZjn/ Vm89/1R4QP9SgEP/UoZF+VGLRvNRkEfuUZRI6lGYSeVRnEnhUqBK3FKlSthTqUrTU61Kz1SwSctV s0nIVrZIxVe5SMRXuUjEV7lIxFe5SMRXuUjEV7lIxFe5SP9bKgD/YS0C/2YwBv9oNA3/aToV/2hB Hv9mSCb/YlAt/15aNP9bZDn/WG4+/1V3Qf9Tf0T+U4VG91KKR/JSj0nsUpRK6FKZSuNSnUveUqFL 2VOmS9RTqkvQVK5Ly1WyS8hXtUrFWLdJwVe6SsBXu0vAV7tLwFe7S8BXu0vAV7tLwFe7S/9cKQD/ YysC/2cuBv9qMw3/bDgV/2s/Hf9pRib/ZU4t/2FYNP9dYjr/Wmw//1d1Qv9VfUX9VIRH9lOKSfBT j0rqU5RM5VOZTOBTnk3bU6NN1VSoTdBUrE3LVrBNx1ezTMNYtkvAWLlMvVi8TbxYvU68WL1OvFi9 TrxYvU68WL1OvFi9Tv9eKAD/ZCoB/2ksBf9tMQz/bzcU/249Hf9tRCX/aUwt/2VVNP9hYDr/XWk/ /1lzQ/9Xe0f7VoNJ9FWJS+1Uj0znVJVO4lSaTtxUn0/WVKVP0VWpT8tWrk/GV7JPwlm1Tr5ZuU+6 WbxQt1m+ULZZv1G2Wb9Rtlm/UbZZv1G2Wb9Rtlm/Uf9fJwD/ZigB/2srBf9vLwz/cjQU/3I7HP9x QiT/bkks/2pSNP9lXTr/YWdA/11xRP9aekj5WIFL8VaITepVj0/kVZVQ3lWbUdhVolHRVadSy1ar UsZYsFHBWrRQvFq4UbhZvFK0Wb5TsFrBVLBawlSwWsJUsFrCVLBawlSwWsJUsFrCVP9hJgD/aCYB /20pBf9yLQv/dTIT/3Y5G/91QCP/c0cr/3BPM/9rWjr/ZWRA/2FuRf9dd0n3WoBM71iIT+dXj1Hg VpZS2VadU9JWo1TLV6lUxViuVL9as1O6W7dTtVq7VbFav1atW8JWqlvEV6lbxVepW8VXqVvFV6lb xVepW8VXqVvFV/9iJAD/aSUB/3AnBf91Kwr/eTAS/3s2Gv97PSL/eUUq/3ZMMv9yVjn/bGE//2Zs RfxidUr0Xn5N61uHUONZj1PcWJhU01efVcxYplbFWatWvlqxVrhctlWzW7tXrVu/WKlcw1mmXMVZ o13IWqJdyFqiXchaol3IWqJdyFqiXchaol3IWv9jIwD/ayMB/3IlBP94KQr/fC4R/380GP+AOyD/ gEIo/35KMP96Uzf/dF8+/21pRPhoc0rwY31O51+GUt9ckFTWWplWzlmhWMZYqFq+Wa9at1q1WrBc ulqqXL9bpVzDXKFdxlyeXslcm17LXJtezFybXsxcm17MXJtezFybXsxcm17MXP9kIQD/bCEB/3Qj BP97Jwn/gCwQ/4QyF/+GOR7/h0Am/4dILv+EUjX/fV09+nZnQ/NvcUnraXtO42OFU9pfkFfRW5pa yFmkXL9YrV22WbRerlq7XqdcwF6iXcRenV7IX5lfyl+WX81flGDPXpNg0F6TYNBek2DQXpNg0F6T YNBek2DQXv9mIAD/biAB/3YiA/9+JQj/hCoO/4kwFf+NNxz/jz8k/5BHK/+OUTP7h1w684BmQet4 b0jeb3dP0WiAVcdjiVm+X5Nct1yeX7FbqmCrWrlhpFvCYp1dxmKYX8lhlGDMYZFhz2GPYdFhjGLT YIxi1GCMYtRgjGLUYIxi1GCMYtRgjGLUYP9nHwD/cB8B/3ggA/+AIwj/iCgN/44uFP+TNhr/lj4h /5pHKPuZUTDyklw364plP99/bEnPdXNQw257Vrhog1qvZI1eqGCXYaJeo2OdXbJkmF3GZZNfzGSP Yc9ki2LRY4lj1GOHZNVihWTXYoVk2GGFZNhhhWTYYYVk2GGFZNhhhWTYYf9oHgD/cR0B/3ofA/+D Igf/jCYM/5MtEv+ZNRj/nz0f/aVGJfKkUizpnVwz5JRiP9KHaUnDfHBQtnN3Vqttf1ujaIhfm2WS YpVjnmWQYaxmjGG+Z4hi0maFZNRmg2XWZYFm2GSAZtlkf2faY39n2mN/Z9pjf2faY39n2mN/Z9pj f2faY/9pHQD/chwA/3wdA/+GIAb/jyUL/5gsEP+gNBb/qD0c9q9GIuquUyjip1sz255gPsiOZ0i4 gm1Qq3lzV6Fze1yYboNgkWqNY4pnmWaFZqdogWW4aH5m1Wh8Z9lne2jaZnpp22V6adxkeWrcZHlq 3WN5at1jeWrdY3lq3WN5at1jeWrdY/9qHAD/dBsA/34cAv+JHwb/kyQK/50rD/+nMxT+sTwZ8LtH HuS3VCTcsVky0adePr6WZEiviWpQooBxV5h5d1yPc39gh2+JZIFslGd8aqJpeGqzaXVrzWl0bNxo dGzcZ3Rs3WZ0bd5ldG3eZHRt3mR0bd5kdG3eZHRt3mR0bd5kdG3eZP9rGgD/dRoA/4AaAv+MHQX/ lyMJ/6MpDf+uMhH4uzsW6sRIGd7AUiPVu1cxyLBdPbafYkemkWhPmoduVo9/dVyGeXxgf3WFZHhy kWdzcJ9pcG+vam1wyGptcN1pbnDeaG5w32dvcN9mb3DgZW9w4GRvcOBkb3DgZG9w4GRvcOBkb3Dg ZP9sGQD/dhgA/4IZAv+PHAT/myEI/6koC/+2MQ/zxjsS481KFdnKUSLOxFYwwLpbPK6oYUafmmZP ko9sVoiHclx/gXpgd3yCZHF5jmdsdptpaXWsamZ2w2pmdt1paHXeaGl132dqdOBmanThZWt04WRr dOFka3ThZGt04WRrdOFka3ThZP9tGAD/eBcA/4UXAf+SGwT/oCAG/7AmCf3ALwzt0joO3tZJEtLS TyHGzVUvt8RaO6azX0WXpWVOi5lqVYCQcFt4inhgcISAZGuBi2dmfplpYn2pamB9v2pgfd1pYnze aGN632dleeBmZnjhZWZ44WRmeOFkZnjhZGZ44WRmeOFkZnjhZP9uFwD/ehUA/4gVAf+WGQP/ph4F /7gkB/PLLgnl4joJ1uBIEcrcTh++2FQtr89ZOZ6/XkSQsWNNg6ZpVHmcb1pxlXZeao9+YmWLiWZg iJZoXIanaVqGvGlahtxoXYPdZ16B3mZgf+BlYX3hZGF94WRhfeFkYX3hZGF94WRhfeFkYX3hZP9w FQD/fBMA/4sUAf+bFwL/rhsE+sMiBefaKwXc6jkHz+lHD8LlTh614lMrp91YOJbNXUKIv2JLfLRo UnKrblhro3VdZJ19YF+YiGRblZVmV5OlZ1WTu2dVktZmWI3ZZVqJ3GVbh91kXYTfY12E32NdhN9j XYTfY12E32NdhN9jXYTfY/9yEwD/fxEA/48SAP+iFAH/txcC7dAeA9rmKQTO8DcJx/REELnwTRys 7lMpnepXNY7dXECAz2JIdcVnT2y8bVVltHRaX659XlqqiGFWppVjUqSlZFCku2RRoc5jVJrSY1WV 1mJXkdliWI3cYViM3WFYjN1hWIzdYViM3WFYjN1hWIzdYf90EQD/gw4A/5QPAP+qEAH2xBIB3OEY AczvKAXA+jULuP9AE7D9Sxui+lInlPhXM4XtXD1542FFbtlnTGbQblFfyXVWWsR+WVW/iVxRu5de TrmnX0u4vWBPsMRfUqjJXlKizl9TndJfVJnWX1WY119VmNdfVZjXX1WY119VmNdfVZjXX/93DgD/ iAsA8ZwLAOS2CwDh1gwAzewYAr76Jgay/zIOqf88FqD/RR6X/00niv9XL339XDly9WJBae5oR2Hn b0xb4ndQVt2AVFHYjFZN1JpYStKrWUzIs1pPvrpZUre/WFGxxVlRq8paUqbOW1Klz1tSpc9bUqXP W1Klz1tSpc9bUqXPW/98CgDqjgcA26IIANK7CQDO2goAvfkXA6//JAik/y8Qmv85GJH/QSH/4v/i SUNDX1BST0ZJTEUAAwmH/0kpfP9RMHP/WTdr/2E8ZP9pQV7+cEZY+nhJVPaBTFDyjU9O6JdQTd+h UU7VqlJQzLFRU8W2UFK/vFJSusBTUbXFVVG0xlVRtMZVUbTGVVG0xlVRtMZVUbTGVfCCBQDakgUA zKUGAMS9BgC+3AoArv8WBKH/IgqW/y0SjP82G4P/PiJ6/0YqcP9NMGn/VTVj/106Xv9lPlr/bEFW /3REU/99RlD9h0dP9JBJT+uZSVDioUlR2qlIU9KwR1LNtElRybhLUcS8TFHCvU1Rwr1NUcK9TVHC vU1Rwr1NUcK9Td6GAgDKlgMAvqkEALXBBQCu3wkBn/8VBZP/IQyJ/ysUf/80HHf/PCNv/0QpZ/9L LmH/UzNd/1s2Wv9iOVf/aDxU/28+Uf93QE//f0FM/4lCTPqRQ0zymURN6qBDTuOnQ1DdrUJR2LJB UdO2QlDRt0NQ0bdDUNG3Q1DRt0NQ0bdDUNG3Q8yKAQC7mgEAr60CAKfHBQCf5ggBkf8UBob/IA18 /yoVdP8zG23/PCFm/0MnYP9KK1z/Ui9Z/1kyV/9fNFT/ZTZS/2s4UP9xOU7/eDpM/4A7Sv+JPEn/ kT1K+pg9SvOePUvtoz1M6Kg8TeOtPE3irjtN4q47TeKuO03irjtN4q47TeKuO7qPAACsngAAorMB AJrPAwCQ8QkCg/8UB3n/IA1x/yoUav80GmT/PB9f/0MjWv9KJlj/USlV/1crU/9dLVL/Yi9Q/2cw Tv9sMUz/cjJK/3gzSf9/NEf/hzVG/481Rv+WNkf/mzZI+p82SPWjNkn0pDVJ9KQ1SfSkNUn0pDVJ 9KQ1SfSkNaqUAACepAAAlbwAAIzXAgCB/goCdv8VB27/IQxo/ysSYv80Fl7/PBpZ/0MeVv9KIFT/ UCNS/1UkUP9aJk//XydN/2MoTP9oKUv/bSpJ/3IrSP93K0b/fixF/4UtQ/+MLUP/ki1D/5cuRP+b LkT/nC5E/5wuRP+cLkT/nC5E/5wuRP+cLpyZAACSrQAAiMUAAH/fAgB0/wsCbP8XBWX/Igpg/ywO W/81Elj/PBVU/0IYUv9JGlD/TxtP/1QdTv9YHkz/XB9L/2AgSv9kIEn/aCFH/2wiRv9xIkX/diND /3sjQv+BJEH/hyRA/4wlP/+TJT//lCU//5QlP/+UJT//lCU//5QlP/+UJZCiAACGtwAAfM4AAHPm AQBq/w0BY/8YA13/IwZZ/ywKVv81DFL/PA9Q/0IRTv9IEk3/TRRM/1EVSv9VFkr/WRdI/1wXR/9g GEb/YxhF/2YZRP9qGUP/bxpC/3MaQf94G0D/fBs//4EbPv+GGz7/hxs+/4cbPv+HGz7/hxs+/4cb Pv+HG4WsAAB7wAAAcdYAAGnsAQBh/w0AW/8YAVf/IwNT/ywFUP80B03/OghL/0EKSv9GC0n/SwxI /08NR/9SDUb/VQ5F/1gORP9bD0T/Xg9D/2EQQv9kEEH/aBBA/2wRP/9wET7/dBI9/3cSPP97Ejz/ fBI8/3wSPP98Ejz/fBI8/3wSPP98Ev9QKgD/WC4A/10zAv9fOAf/YD4O/19FFf9cTRz/WFci/1Zh KP9Uayz/UXQv/098Mv9OhDT/Too1/06PN/9Okzj6Tpc49k6bOfFPnjntT6I66U+mOuVQqjrgUK46 3FGyOthStznUU7o50VO8OM9UvzjPVL84z1S/OM9UvzjPVL84z1S/OP9RKgD/WS4A/14yAv9hNwf/ YT0O/2BEFf9dTBz/WVUi/1dfKP9VaSz/UnIw/1B7M/9PgzX/T4k3/06OOP1Pkzn5T5c59E+bOvBP nzrrT6M751CnO+JQqzveUa872lK0O9VTuDrRU7s6zlS+OcxVwDnMVcA5zFXAOcxVwDnMVcA5zFXA Of9SKQD/Wy0A/18wAv9iNQf/YzwO/2JDFf9fShz/W1Mj/1heKP9WaC3/U3Ex/1F6NP9Qgjb/T4g4 /0+OOfxPkzr3T5c78k+bO+5QnzzpUKM85VCoPOBRrDzbUrE81lK2PNJTuTvOVLw7y1W/OshVwTvI VcE7yFXBO8hVwTvIVcE7yFXBO/9UKAD/XSwA/2EvAv9kNAf/ZToN/2RBFf9iSBz/XlAj/1pbKf9X Zi7/VW8y/1N5Nf9RgTf/UIg5/1CNO/pQkjz1UJc98FCcPetQoD7mUaQ+4VGpPtxSrj7XUrM+0lS3 Pc5Vuz3KVr48x1bBPcRWwz7EVsM+xFbDPsRWwz7EVsM+xFbDPv9VJwD/XioA/2MtAv9mMgb/aDgN /2c/Ff9lRhz/YU4j/11YKf9aYy7/V20z/1R3Nv9SgDn/UYc7/lGNPPhRkj7yUZc/7VGcP+hRoUDj UaZA3VKrQNhTsUDSVLVAzVW5P8lXvT7FVsA/wVbDQL5WxUG+VsVBvlbFQb5WxUG+VsVBvlbFQf9X JgD/YCgA/2UrAv9pMAb/azYN/2s8FP9pRBv/Zkwi/2FVKf9dYC//Wmsz/1d1N/9Ufjr/U4U9/FKM PvZSkkDvUphB6lKdQeRSo0LeUqhC2FOuQtJUs0LMVrhBx1e8QMJXwEK+V8NDu1fGRLhXyES4V8hE uFfIRLhXyES4V8hEuFfIRP9ZJQD/YScA/2cpAv9rLQb/bjMM/286E/9tQRr/a0ki/2ZRKP9iXS// XWg0/1pyOP9XfDz/VYQ++lSLQPNTkkLsU5hD5lOfRN9TpUTZVKtF0lWxRcxWtkTGWLtDwFi/RLtY w0a3WMdHtFjJR7FYzEixWMxIsVjMSLFYzEixWMxIsVjMSP9bIwD/YyUA/2knAv9uKwX/cTEL/3M3 Ev9yPxn/cEYh/21OKP9oWS7/Y2U0/15wOf9bej3/WIJA91aKQu9VkkToVZlF4VSgRtpUqEfSVa5H y1e0R8VZuUa+Wb5GuFnDSLNZx0mvWctKrFnNS6laz0upWs9LqVrPS6laz0upWs9LqVrPS/9dIgD/ ZSMA/2slAf9xKQX/dS4K/3c1Ef94PBj/dkQf/3RMJv9vVi3/aWEz/2RtOf9fdz39XIFB9FmKROtX kkbjVptH21ajSdNWq0nLV7FKxFi3Sr1ZvUq2WsNLsFnITKtazE2nWs9NpFvRTqFb1E6hW9ROoVvU TqFb1E6hW9ROoVvUTv9fIQD/ZiEA/24jAf90JwT/eSwJ/3wyD/99Ohb/fUEd/3tKJf94Uyz/cV4y /2tpOP5mdD33YX5C8F2JRedak0jfWJxK1VamTMxWrk3EVrZOu1e9T7RZw06tWshPp1vNUKJb0FCe XNRQm1zXUJlc2VCZXNlQmVzZUJlc2VCZXNlQmVzZUP9gHwD/aB8A/3AhAf93JAT/fSkI/4EwDv+D OBT/hEAb/4NIIv+BUSr/elwx+3RnN/JtcT3pZ3pC4GGER9ZdjkvOWphNx1ijUMFWr1G6VrxSsVfE U6lZyVOjW85SnlzSU5ld1lOWXdpTk17cU5Fe3lKRXt5SkV7eUpFe3lKRXt5SkV7eUv9hHgD/ah4A /3IfAf96IgP/gSgH/4YuDP+JNhL/iz4Z/41GIP+MUCf7hVsu8n1mNeZ0bj3abHZEzmZ/ScViiE28 XpJQtlycUq9aqFSqWbZVpVjKVp5b0VaZXdRVlF7ZVZBf3FWNX95Vi2DgVYpg4lSKYOJUimDiVIpg 4lSKYOJUimDiVP9jHQD/axwA/3QdAf99IAP/hCYG/4otC/+QNBD/lD0W/5dFHf6XTyP0kVsq54Vi Ndl7aj3LcnJEv2x6SrZngk6uY4xSp2CWVKFeolacXK9Yl1zBWZNd2VmOX9tYimDeWIhh4VeGYuJX hGLkVoNj5VaDY+VWg2PlVoNj5VaDY+VWg2PlVv9kGwD/bBoA/3YcAP+AHwL/iCQF/48rCf+WMw7/ nDsU/6NEGfmkUB/sm1kq3Y1gNMyCZz2+eG5Es3F2Sqlsfk+hZ4ZTmmSRVpRinFiPYKlai2C6W4dg 11uEYuFagmPjWYBk5Fl+ZeZYfmXnV31l6Fd9ZehXfWXoV31l6Fd9ZehXfWXoV/9lGgD/bhkA/3ga AP+CHQL/jCME/5UpCP+dMQz/pjoR/a9EFvKxTxzkpFYp0pZeNMKJZT20f2tEqXdyS59xelCXbIJU kGmMV4pml1mFZaVbgGS1XH1kzVx7ZeVcembmW3ln51p4aOhZeGjpWHdo6ld3aOpXd2jqV3do6ld3 aOpXd2jqV/9mGQD/bxcA/3oYAP+FGwH/kCEE/5ooBv+kMAr/rzkO9rtEEuy7TRvcrlQoyZ5cM7mQ YjyrhWlEoH1vSpZ3dlCOcn9Uh26IV4Frk1p7aaFcd2mxXXRpx15yauhdcmrpXHJr6ltya+pacmvr WXJr61hya+tYcmvrWHJr61hya+tYcmvrWP9nFwD/cBYA/3wWAP+IGgH/lB8D/6AmBf+sLgj+uTgL 8MhEDeXFSxrTt1MnwKdaMrCYYDyjjGdEmIRtSo59dE+GeHxUfnSFWHhxkFpzb51db26tXmxuw15r b+debG/pXGxv6lttbutabW7rWW1u7FhtbuxYbW7sWG1u7FhtbuxYbW7sWP9oFgD/chQA/34VAP+L GAH/mB0C/6YkBP+1LQb5xTcH6tRBDN7PSRnKwFEmuK9YMamhXzublWVDkItrSYaEck9+f3lUd3qC V3F3jVpsdZpdaHSqXmZ0v15kdOVeZnToXGdz6ltoc+paaHLrWWly7FhpcuxYaXLsWGly7FhpcuxY aXLsWP9pFQD/cxMA/4ATAP+OFgD/nRsB/64iA/6+KgTv0TYE498/C9XaRxjCyVAksblXMKGrXTqU nmNCiZVpSX+NcE53h3dTcIKAV2t/ilpmfJdcYnunXl97u15ee+FeYHrpXGF46ltjd+taZHbrWWR2 7FhkduxYZHbsWGR27FhkduxYZHbsWP9qEwD/dREA/4MRAP+SFAD/oxgB/7YfAfPKJwLk4TMC2+k9 CsvjRhe6008jqcRWLpq2XDiNqmJAgqBoR3iYbk1xkXVSaox+VmWIiFlghZVbXISlXVqDuV1YhN1d WoLpW1x/6lpefetZX3zsWWB77Fhge+xYYHvsWGB77Fhge+xYYHvsWP9sEQD/eA8A/4cOAP+XEQD/ qxQA+sEaAOXaIwDY6jIBzvE9CMHsRhWx304hodBVLZLDWzaGt2E/e65nRnKlbUtqn3RQZJl8VF+V h1dbkZNZV4+jW1SPt1tTj9pbVYzmWleI6VlZhepYWoPsWFuB7Vdbge1XW4HtV1uB7Vdbge1XW4Ht V/9uEAD/ewwA/4sMAPueDgD7tRAA7M8UANbmIADJ8TECwfk+B7f1RROn600fmN9UKorSWjR+x2A8 dL1mQ2y2bEllr3NNX6l8UVqlhlRWoZNWUp+jWE+et1lOn9pYUpjgV1OS5FdVjudWVovpVleJ6lVX iepVV4nqVVeJ6lVXiepVV4nqVf9wDQD/fwoA75AJAOCnCQDcwQoA2uENAMfwIAC7+y8Ds/88CKv/ RRGd90wcj+1TJ4LjWTF32V85bdBmP2bJbEVfwnRJWr18TVW5h1BRtZRSTrOkVEuxt1RKsNFUTqfW U1Cg3FNRmuFTUpbkU1OT5lNTk+ZTU5PmU1OT5lNTk+ZTU5PmU/90CgDvhAUA3ZUGANOpBwDOwwgA ye0OALj8HwGt/y0EpP85Cpz/QxGT/0wZhvtTJHr0WS1w7GA1aOVmO2DfbUBa2XVEVdR+R1HQiUpN zJZMSsqmTkfIuk5JwMZOTbfMTU6w0k5PqdhPT6TcT1Cg309QoN9PUKDfT1Cg309QoN9PUKDfT/Z5 BQDfiAMA0JgFAMasBgC/xQYAufEOAKr/HgKg/ysGlv82DY7/PxSE/0gbe/9QInL/WSlq/2AvY/pn NV31bjpX8XY9U+1/QE/qikNL55hFSOSoRkjas0dK0LxHTsfCRk/Ax0dOus1ITrTSSU6w1kpOsNZK TrDWSk6w1kpOsNZKTrDWSuR9AQDRiwIAwpsDALivAwCxyQYAqfcOAJz/HQOS/ykIif80DoD/PBZ4 /0Qcb/9LImf/VChh/10sXf9lMFj/bTRU/3U3Uf9/OU3/ijtL+5Y8S/GfPUvoqD5M37E9Tta5PU/P vz1OycQ/TsTIQU3AzEJNwMxCTcDMQk3AzEJNwMxCTcDMQtaCAADCjwAAtJ8BAKuzAgCkzwYAmv4O AY7/HASF/ygJfP8xEHT/OhZt/0IcZf9JIV//USVb/1kpWP9hLFT/aC9R/3AxTv94M0v/gjRJ/402 SP+XN0n4nzdK76c3TOavNk3ftjVO2rw1TdXAN03RwzhN0cM4TdHDOE3RwzhN0cM4TdHDOMSGAACz kwAAp6MAAJ67AQCX1gUAjP8PAYH/GwV4/yYKcf8wEGr/ORVk/0EaXv9IHlr/UCJX/1clVP9eJ1L/ ZClP/2srTP9yLEr/ei5H/4MvRf+OMEX/ljBG/54xR/ilMUjxqzBJ67AwS+a1L0ziuS5M4rkuTOK5 LkziuS5M4rkuTOK5LrOLAAClmAAAmqoAAJLDAACJ3wQAfv8PAXX/GwVt/yYJZ/8wDmL/OBNd/0AX WP9HGlX/Th1T/1UfUf9bIU//YSNN/2YkS/9sJUn/cyZH/3onRP+CKEL/jClC/5UpQv+cKkP/oipE /acqRfirKkb0rilG9K4pRvSuKUb0rilG9K4pRvSuKaSQAACYnQAAj7QAAIXMAAB85wMAcv8QAWr/ GwRk/yYIX/8wDFv/OA9W/z8TU/9GFVH/TRdP/1MZTv9YGkz/XRxK/2IdSf9nHkf/bB5F/3IfQ/95 IEL/gCFA/4khPv+TIj7/mSI//54iQP+iIkH/pSJB/6UiQf+lIkH/pSJB/6UiQf+lIpaVAACMqAAA gr0AAHnVAABw8wQAZ/8RAWH/HANc/ycFWP8wCFT/OAtR/z8NT/9FD03/SxFM/1ESSv9VE0n/WhRI /14VRv9iFkX/ZxZD/2sXQv9xGED/dxg//30ZPf+FGTz/jRo6/5QaOv+ZGjv/nBo7/5waO/+cGjv/ nBo7/5waO/+cGoueAACBsQAAd8cAAG7eAABm/wYAXv8RAFn/HQFV/ycDUv8vBU//NwZM/z4IS/9E CUn/SQpI/04LR/9SDEb/Vg1F/1kNQ/9dDkL/YQ5B/2UPQP9pDz7/bhA9/3QQO/96ETr/gBE5/4YR OP+LETf/kRI3/5ESN/+REjf/kRI3/5ESN/+REoGoAAB2uwAAbc8AAGTlAABc/wYAV/8RAFL/HABP /yYBTP8uAkr/NQJH/zwDRv9BBEX/RgRE/0oFQ/9OBUL/UgZB/1UGQP9YBz//Wwc+/18HPf9iCDv/ Zgg6/2sIOP9vCTf/dAk1/3kJNP99CTP/gQkz/4EJM/+BCTP/gQkz/4EJM/+BCf9KKgD/TywA/1Yx AP9aNwP/Wz4H/1pFDf9XTRP/VVgY/1NiHf9QbCH/TnUk/0x+Jv9Lhyj/S40p/0uSKv9Lliv/S5or /kyeLPpMoiz2TaUt8U2pLe1OrS3oTrIt40+2LN9QuyzbUL8s2FHDK9RSxivTUscr01LHK9NSxyvT Uscr01LHK/9LKQD/UCsA/1gwAP9bNgP/XDwH/1tEDf9YTBP/VlYZ/1RgHf9RaiH/T3Qk/019J/9L hin/S4wq/0uRK/9Mliz/TJot/UyeLfhNoi30TaYu706qLupOri7mT7Mu4VC4LtxQvS3YUcEt1FLE LNFTxyzQU8gs0FPILNBTyCzQU8gs0FPILP9NKAD/UioA/1ovAP9dNAP/XjsH/11CDf9bShP/V1QZ /1VeHv9TaCL/UHIl/058KP9MhSr/TIsr/0yRLP9Mli3/TZou+02eL/ZNoi/xTqcv7U6rL+hPsC/j ULUv3VC6L9lRvy7UUsMu0FPGLs1TyS/MU8ovzFPKL8xTyi/MU8ovzFPKL/9OJwD/VCgA/1wuAP9f MwL/YDkH/2BADf9dSBP/WVEZ/1dcHv9UZiP/UnAm/096Kf9Ogyv/TYot/02QLv9Nli/9TZow+E6f MPNOozHuTqgx6U+tMeRQsjHeUbcx2VG9MNNTwjDPVMYvy1TIMcdUyzHHVMwyx1TMMsdUzDLHVMwy x1TMMv9QJgD/VicA/10sAP9hMQL/YzcH/2M+Df9hRhP/XU4Z/1lYHv9XYyP/VG4n/1F4Kv9Pgi3/ Tokv/06QMP9OlTH7Tpsy9U+fMvBPpDPqT6kz5VCvM99RtDPZUrsz01PAMs1UxDHJVMgzxVTLNMFU zjXAVc81wFXPNcBVzzXAVc81wFXPNf9SJAD/WCYA/2AqAP9kLgL/ZjQG/2Y7DP9lQxL/YksZ/11U Hv9ZYCT/Vmso/1R2K/9RgC7/UIgw/1CPMv5PlTP4T5s08lCgNexQpjXmUKw24FGyNtlSuDXSVL41 zFXDNMZVyDXBVcw3vlXPOLpV0ji5VtI4uVbSOLlW0ji5VtI4uVbSOP9UIwD/WyQA/2InAP9mKwL/ aTEG/2o4C/9pQBL/Z0gY/2JRHv9eXCT/Wmgo/1dzLP9UfjD/UoYy/1GONPtRlTX0UZw27VGiN+dR qDjgUq842VO2ONJUvDfLVsI2xFbHOL5WzDm5VtA7tVbTO7JX1jyxV9c8sVfXPLFX1zyxV9c8sVfX PP9XIQD/XSIA/2QlAP9pKQL/bS8F/281Cv9uPRH/bEUX/2lOHf9kWCP/X2Qp/1twLf9XezH/VYUz /1SNNvhTlTfwUp056VKkOuFTqzraU7M60VW6OspXwDnDV8Y6vFfMPLZX0D2xV9Q+rFfZP6lX3D+o V90/qFfdP6hX3T+oV90/qFfdP/9ZIAD/YCAA/2YiAP9sJgH/cSwE/3MzCf90Ow//ckMW/3BLHP9r VSL/ZmEo/2FsLf9ddzH/WoE1+1eMN/RVljnrVJ4741SmPNtTrz3SVLc+yVW/PsFWxT65WMs+sljR QKxY1kGnWNtCo1jeQqBY4UKfWeJCn1niQp9Z4kKfWeJCn1niQv9aHgD/YR4A/2ggAP9vJAH/dSkE /3gwCP95OA3/eUAU/3dJGv9zUiH/bl4n/2hoLflkczHzX3017FuHOeVYkjzfVpw+2VSoQNNStEHJ U71Cv1TFQ7ZWzEOvWNJDqFnYRKJZ3USeWeFFmlrjRZha5kWXWudFl1rnRZda50WXWudFl1rnRf9c HQD/YxwA/2seAP9yIQH/eCcD/3wuB/9/Ngz/gD4S/39HGP99UB/+d1sl9XFmK+1qbzHkZHk321+C O9JcjD/LWZZBxFegQ75VrEW5VLpGtFTNR6tW1EekWdpHnVrfR5ha40eVW+ZHklvoR5Bc6kePXOtH j1zrR49c60ePXOtHj1zrR/9dGwD/ZRoA/20bAP91HwD/fCUC/4EsBf+FNAr/hzwP/4hFFf6HThz1 gVoi6nhjK99wazLTaXQ4ymR9PcFghkG5XY9Es1qaRq1ZpUioWLJJo1fESp5Y3UqYWuFKk1vlSo9c 6EqMXetKil7tSYhe70mHXu9Jh17vSYde70mHXu9Jh17vSf9eGgD/ZhgA/28ZAP94HAD/fyMC/4Yq BP+LMgj/jzoN/5JDEveSThjsiVch339gKtF2aDLFb3A5u2l4PrNlgEKrYYlFpV+USJ9dn0qaW6xM lVq8TZFb102NXOhNiV7rTIZf7UyEYO9LgmDxS4Fh8kqBYfJKgWHySoFh8kqBYfJKgWHySv9fGAD/ ZxcA/3EXAP96GwD/gyEB/4soA/+SMAb/mDkK+55CD/GeTRbjklUg04ZdKsV8ZTK5dWw5r290P6dq fEOfZoVHmWOOSpNhmkyOX6ZOil62T4ZezE+CX+5PgGHwTn5i8U18YvNNe2P0THtj9Ut6Y/VLemP1 S3pj9Ut6Y/VLemP1S/9gFwD/aRUA/3IVAP99GQD/hx8B/5AmAv+ZLgT/oTcI9qpBC+mmShXam1If yY5bKbuDYjKve2k5pXRwP51veEOVa4FHj2iKSolllU2EY6JPf2KxUHxixlF5Y+pQeGTzT3dl9E92 ZvVOdWb2TXVm90x1ZvdMdWb3THVm90x1ZvdMdWb3TP9hFgD/ahMA/3QTAP9/FwD/ih0A/5UjAv+g LAP7qzUF8LdACOKvSBPQo1EewZVZKbOKYDGngWc4nXpuPpR0dUOMcH1Ihm2HS4BqkU57aJ5Qd2et UXNnwVJxaOZScGjzUHBp9E9wafVOcGn2TXBp901wafdMcGn3THBp90xwafdMcGn3TP9iFAD/bBIA /3YRAP+CFQD/jhoA/5shAf+oKQL2tTMD6sE9B9q5RhLIq08duJ1XKKuRXjCfh2U4lYBrPox6ckOE dnpHfnKDS3hvjk5zbZtQb2yqUmxsvVNqbOJSaW3zUWpt9FBqbfVPa2z2Tmts9k1rbPdNa2z3TWts 901rbPdNa2z3Tf9kEwD/bRAA/3gQAP+FEgD/khcA/6EeAP2xJgHwwTEB48o6B9HBRBHAs00csaVV J6OZXDCXj2M3jYdpPYWBcEN9fHhHd3iBS3F1i05sc5hQaHKnUmVxulNjct1SY3LyUWRx9FBlcfVP ZnD1Tmdw9k1ncPdNZ3D3TWdw901ncPdNZ3D3Tf9lEQD/bw8A/3sOAP+IEAD/lxQA/6gaAPe6IgDq zi0A29Q3BsnJQxC4vEwbqa5UJZyiWy6QmGE2hpBoPX6JbkJ2hHZHcIB+Smt9iU1mepVQYnmkUl94 t1JdeNVSXXjzUV939FBgdvVPYXX2TmJ09k1idPdNYnT3TWJ0901idPdNYnT3Tf9mEAD/cQ0A/34L AP+MDQD/nRAA/7EVAPHGHQDg3icA0N02BcHSQQ+xxUsaorlSJJWtWS2Ko2A1gJpmO3eTbUFwjnRF aol8SWWFhkxgg5NPXIGiUVmAtFJXgNBRV4DzUFp+9E9bfPVOXHr2TV15901eefdMXnn3TF5590xe efdMXnn3TP9oDgD/cwoA/oIJAPKSCgDupgwA9L0PAOPXFADT5iUAxuU0BLfcQA2p0EkYm8RRIo65 WCuDr18zeadlOXGgaz9qmnNEZJV7R1+RhUtbjpFNV4ygT1SLslBSi81QUorzT1SG9U5Wg/ZNWIH3 TFl/+ExZf/hLWX/4S1l/+EtZf/hLWX/4S/9qDAD/dwgA64YFAN+XBwDarAkA2McKANPlEQDE7yUA ue00A63nPwug3UgWk9JQIIbHVyl7vl4wcrZkN2uvazxkqXJBX6R6RVqghEhWnJBKUpqfTE+Zsk1N mcxNTpbtTFCR8EtSjfNLU4r2S1SH90pUh/hKVIf4SlSH+EpUh/hKVIf4Sv9tCQDvewMA34kEANSZ BgDNrgcAyskIAMPwEQC19iUArPY1AqPxPgmW6kcTiuFPHX7YViZ0z10tbMdjM2XBajlfu3I9WrZ6 QVWyhERRr5FGTqygSEursklJqs1JS6XlSE2e6UhOme5IT5XxSFCR80hQkPRIUJD0SFCQ9EhQkPRI UJD0SPpxBQDjfgEA04wDAMicBADAsQUAu8wHALP9EgCn/iUAn/4zA5f9PweN90cQgfBOGnfpViJu 4l0pZtxjL1/VazRa0HI4Vcx7O1HIhT5NxJJBSsKhQkfAs0NFv9BDSbbbQ0yt4EJMp+ZDTKLqRE2e 7URNne5ETZ3uRE2d7kRNne5ETZ3uROh1AQDYggAAxo8BALufAgCytAMArdAHAKT/EwCa/yQBkf8x BIn/PAmB/0UPef9OFm/6Vh1o9V0kYfBkKVvsay5W6HMyUuR8NU7ghzdK3ZQ6R9ukO0TZtzxE0sg8 SMjPO0u/1TtLt9w9S7HhPkus5T5Lq+Y+S6vmPkur5j5Lq+Y+S6vmPt15AADJhQAAuZIAAK6jAQCm uQMAoNUHAJb/FACM/yMChP8vBXz/OQp1/0IQbf9KFmb/Uhth/1sfXP9jI1j/aydU/nMqUPt8LUz5 hy9J9pMxRvSiMkXurzNH47kzSdnEM0vQyzJLydA0SsPWNkq92zdKvN03SrzdN0q83TdKvN03Srzd N859AAC6iQAArJcAAKKoAACawAIAk9wHAIj/FACA/yICeP8uBnH/Nwtq/0AQZP9HFV7/Txla/1cd Vv9fIFP/ZyJP/28lTP94J0n/gihG/44pRP+cKkX+pStG864rSOq2KkvhvilK28YqStXMLErQ0C5J ztEuSc7RLknO0S5JztEuSc7RLr2CAACsjQAAn5sAAJavAACOyAIAheMGAHv/FAB0/yIDbf8sBmf/ NQph/z4PXP9FE1f/TRZU/1QZUf9cG07/Yx1L/2ofSP9yIEb/eyJD/4YjQP+SJED/nCVC/6QlQ/ys JUX0syVH7bkkSOe+I0nixCNJ4cUjSeHFI0nhxSNJ4cUjSeHFI62HAACekgAAlKIAAIu4AACB0QEA ePIHAHD/FAFp/yEDY/8rBl7/NAlZ/zwMVf9DD1L/SxJQ/1IUTf9YFkv/XxdJ/2UZR/9rGkT/cxtC /3scP/+FHT3/kR49/5sePv+iHkD/qR9B/64eQvqzHkP1tx5E9LgeRPS4HkT0uB5E9LgeRPS4Hp6M AACSmAAAiK0AAH/DAAB13AAAbf8IAGX/FABf/yACW/8qBFf/MwZT/zsJUP9CC07/SQ1M/08OSv9V EEj/WxFG/2ASRP9lE0L/axRA/3IVPv95Fjz/gxY6/44XOP+YFzn/oBg7/6UYPP+pGD3/rRg+/64Y Pv+uGD7/rhg+/64YPv+uGJGQAACHogAAfbcAAHPMAABq5AAAYv8JAFz/FQBY/yABVP8qAlD/MgRN /zoFS/9BB0n/RwhI/00JRv9SCkX/VgtD/1sLQv9fDED/ZA0+/2oNPf9wDjv/dw45/38PN/+JDzX/ kxA0/5wQNP+hEDX/pBA2/6UQNv+lEDb/pRA2/6UQNv+lEIeaAAB8rAAAcsAAAGnVAABh6wAAWf8K AFT/FQBQ/x8ATf8pAUr/MQFI/zgCRv8+A0X/RAND/0kEQv9OBEH/UgVA/1YFPv9ZBj3/XgY7/2IH Of9nBzf/bQc2/3MIM/96CDH/gggw/4oJLv+SCS3/mgks/5wJLP+cCSz/nAks/5wJLP+cCX2kAABy tgAAackAAGDeAABY8wAAUv8LAE3/FABK/x4ARv8mAET/LgBB/zQAQP85AD7/PgE9/0MBO/9GATr/ SgE5/00BN/9RAjb/VAI0/1gCM/9cAjH/YQIv/2YDLv9sAyz/cgMr/3kDKf9+Ayj/hQMo/4YDKP+G Ayj/hgMo/4YDKP+GA/9FKQD/SSsA/0wuAP9RNQD/VT0D/1RFBv9STgv/UFgP/05iE/9MbBb/SXYZ /0eAG/9Gihz/RpAd/0eVHv9Hmh//SJ4f/0ihIP9JpSD+Sakg+UqtIPVLsSDwS7Ug60y6IOVNvyDh TsQf3U/IH9pPzB7XT88f10/PH9dPzx/XT88f10/PH/9GKAD/SioA/04tAP9TNAD/VjwD/1ZDBv9T TAv/UlYQ/09hFP9Naxf/SnUa/0h/HP9HiR3/R48e/0eVH/9ImiD/SJ4g/0miIf9JpSH8Sqkh90ut IvJLsiLtTLYh6E27IeJOwSHeT8Yg2k/LINZQzyDTUNEh01DRIdNQ0SHTUNEh01DRIf9IJwD/TCgA /1ArAP9VMgD/WDoD/1hBB/9VSgv/U1QQ/1FeFP9OaRj/THMb/0p9Hf9Ihx7/SI4g/0iUIf9ImiH/ SZ4i/0miIv5KpiP5S6oj9EuuI+9MsyPpTbgj5E6+I95PxCLZUMoh1FDOItFQ0SPOUdMjzlHTI85R 0yPOUdMjzlHTI/9JJgD/TicA/1IqAP9YMQD/WzgD/1o/Bv9YRwv/VVEQ/1NcFf9QZhn/TnEc/0t7 Hv9JhiD/SY0h/0mUIv9JmSP/Sp4k/0qiJPxLpyX2S6sl8UywJetNtSXlTrsl30/BJNlQyCPTUc0j zlHRJctR1CbIUdYmyFHWJshR1ibIUdYmyFHWJv9LJAD/UCUA/1UoAP9bLwD/XTUC/148Bv9cRAv/ WE0Q/1VYFf9TYxn/UG4c/015H/9LhCH/Sowj/0qTJP9KmSX/S54m/kujJvhMqCfyTK0n7E2yJ+ZO uCffT78m2VDHJtJSzCXMUtEnx1LUKMNS2CnAUtspwFLbKcBS2ynAUtspwFLbKf9NIgD/UyMA/1gm AP9eLAD/YTIC/2E5Bv9gQQv/XUoQ/1lUFf9WXxr/U2sd/1B2IP9NgSP/TIol/0ySJv9MmSf/TJ8o +k2kKfRNqSntTq8p50+2KeBQvSnYUcUo0VPLJ8pT0CnEU9Urv1PZLLtT3S24U+AtuFPgLbhT4C24 U+AtuFPgLf9QIQD/VSIA/1skAP9hKQD/ZC8C/2U2Bf9kPgr/YkcP/15QFf9aWxr/V2ce/1RyIf9R fST/T4gm/06RKP9NmSn8Tp8q9U6lK+9OrCvnT7Mr4FC6K9hRwyvPVMkqyFPPLMFT1S66VNsvtVPf MLJT4jCvU+Uwr1PlMK9T5TCvU+Uwr1PlMP9SHwD/WCAA/14iAP9jJgD/aCwC/2ozBf9pOwn/aEQO /2RNFP9gVxn/XGMe/1hvIv9VeSX/U4Qo/1GOKv9PmSv4T6As8E+nLelQry7gUbcu2FLALc5TyC7G Vc4uvlTVMLdU2zKxVOEzrFTlM6lU6DSmVOo0plTqNKZU6jSmVOo0plTqNP9UHgD/Wh4A/2AfAP9m IwD/aykB/24xBP9vOQj/bkEN/2tKE/9nVBj/Yl8e/15qIv9bdSb7WH8p9lWKK/JTlC3tUp8v6VCp MOJPszHZUL4yzlHGM8VTzjO8VdUzs1XcNKxV4janVec2o1XrN6BV7TeeVe83nlXvN55V7zeeVe83 nlXvN/9WHAD/XBsA/2MdAP9pIAD/byYB/3IuA/90Ngb/dD4L/3JHEf9vURf/alwc+mVnIvRhcSbt XXsq5lmFLuBWjzDaVJkz1FKkNM5RrzbJUL03w1DON7hS1zivVd44qFbkOKJW6TmdVu05mVfwOZdX 8jmVV/Q5lVf0OZVX9DmVV/Q5lVf0Of9YGwD/XhkA/2UaAP9sHQD/ciQA/3crAv96MwX/ezwJ/3pF D/93ThX3clob7mxkIeVmbSfdYXYs1F1/MM1aiTPGV5I2wFWdOLtUqDm2U7Q7sVLFO6tT4DyjVeY8 nVfrPJhX7zyTWPM8kFn1PI5Z9zyNWfk7jVn5O41Z+TuNWfk7jVn5O/9ZGQD/YBcA/2cXAP9vGgD/ diEA/3spAf9/MQT/gjkH/4NCDPeBTBLtelcZ4nNgIdZsaSjMZnEtxGJ6MrxegzW2W4w4sFmWOqpX oTylVq0+oVa9P5xW1T+XV+4/klnxP45a9T+KWvg+iFv6PoZb/D6FXP09hVz9PYVc/T2FXP09hVz9 Pf9aFwD/YRUA/2kVAP9xGAD/eR4A/4AmAf+FLgL/iTcF+YxACe+KSw/igVQZ1XlcIclxZSi/a20u tmd1M69jfjaoYIc6ol2QPJ1bmz6YWqdAk1m2QY9Zy0KLWuxCiFv3QYRc+kGCXfxAgF7+QH9e/z9+ Xv8/fl7/P35e/z9+Xv8/fl7/P/9bFQD/YhMA/2sTAP90FQD/fBwA/4QjAP+LKwH8kjQD8pc+BuaS SA7YiVEYyn9aIL53YiizcWouq2xxM6NoeTedZII7l2GMPpFflkCMXqJCiF2xQ4RdxESAXeZEfl79 Q3xf/kJ6YP9CeWH/QXhh/0B4Yf9AeGH/QHhh/0B4Yf9AeGH/QP9cFAD/ZBEA/20RAP92EwD/fxkA /4kgAP+SKAH2mjIC66I8Bd6aRQ3OkE8XwIZXILR9XyeqdmcuoXFuM5ptdjiTaX47jWaHPodkkkGC Yp5DfmGsRXphv0V3YeFFdWL6RXRj/0RzZP9Dc2T/QnJk/0FyZP9AcmT/QHJk/0ByZP9AcmT/QP9d EgD/ZRAA/28OAP95EQD/gxYA/40cAP6ZJQDxpC8B5Ko5BNWjQw3Gl00WuIxVH6yDXSeifGQtmXZr M5FycziKbns7hGuEP39ojkJ6Z5tEdmWpRXJlu0ZvZdtGbmb3Rm1n/kRtZ/9DbWf/Qm1n/0JtZ/9B bWf/QW1n/0FtZ/9BbWf/Qf9eEQD/Zw4A/3ENAP97DwD/hhMA/5MZAPigIQDqrisA3bI2A82qQQy+ nksVsJNTHqSKWyaagmItkXxpMol3cDeDc3g7fXCBP3dujEJybJhEbmqmRmtqt0doatNHZ2v1Rmdr /kVoa/9EaGv/Q2hq/0Jpav9BaWr/QWlq/0Fpav9BaWr/Qf9fEAD/aA0A/3MLAP9+DQD/ihAA/5kU APKoHADjuSUA1Lo0A8WxQAu2pkoUqZtSHZ2RWSWTiWAsioNnMoJ+bjd8enY7dnZ+P3BziUJscZVE aHCjRmVvtEdib85HYXDyRmJw/UVjb/5EY2//Q2Ru/0Jkbv9BZG7/QWRu/0Fkbv9BZG7/Qf9hDgD/ agoA/3YJAPiCCgD0kAwA+qEQAOuzFQDbwiEAzMEyAr25PgmvrkgToqNQHJaZWCSMkV8rg4tlMXyF bDZ1gXQ6b318Pmp6hkFmeJJEYnahRl91skdcdcpHW3bwRlx1/kVddP9EXnP/Q19y/0Jgcv9BYHL/ QWBy/0Fgcv9BYHL/Qf9iDAD/bAgA9nkFAOWGBgDflgkA3qsKAOTBDgDRyh0Aw8kwArXBPAint0cR m61PGpCkViKGm10qfZRkMHWOazVviXI5aYV6PWSChEBggJBDXH6eRVl9r0ZXfcdGVn3tRVd8/kRY ev9DWnn/Qlt3/0Jbd/9BW3f/QVt3/0Fbd/9BW3f/Qf9kCgD8bwYA6HwDAN2IBQDVmAcA0q0JANTK CgDG0RoAudEtAazLOwegwkUQlLhNGYmvVSF/p1wodqBiLm+aaTNplXA3ZJB5O1+Ngj5bio5BV4ic Q1SGrURShsRFUYbrRFGF/0NTgv9CVYD/QVZ+/0FXff9AV33/QFd9/0BXff9AV33/QP9mCADscgIA 334CANKLBADKmwYAxrAHAMbOCAC72hYAr9srAaPVOAWXzkMOjMVMF4G8VB54tVslcK5hK2moaDBj o281Xp53OFqagTxWl40+UpWbQE+TrEJNk8NCTJLqQU2Q/UBPjP9AUIn/QFGG/z9Shf8/UoX/P1KF /z9Shf8/UoX/P/ppBADldQAA1IEBAMiOAwC/ngQAurMEALfPCACu4xQApOQoAJniNwSP3EELhNNK FHrMUhtxxVkiar5gKGO4Zy1es28xWa93NVWrgThRqIw6TqWbPEukrD5Io8M+SKLqPUqd9jxLmPo9 TJP9PU2Q/z1Ojv88To7/PE6O/zxOjv88To7/POttAADbeAAAyYQAALyRAQCzoQIArbcDAKnSCACf 7RYAl+4pAI/uNgOF6kEJe+RJEXLeURhq11keZNFgJF7MZyhZx28sVcN3MFC/gTNNvI01SbqcN0e4 rDhFt8Q5RLToOEis7TdJpfM4SaD3OEqc+jlKmvw5Spr8OUqa/DlKmvw5Spr8OeFwAADPfAAAvYcA ALGVAACopQAAobwDAJvXCQCS+BcAivkoAIP5NgJ8+EAGc/RJDWvvURRl6lgZX+ZgHlniZyNV3m8m UNp4KUzWgyxJ048uRtGeMEPPrzFBzcYxQ8bdMUe95DBHteoxR6/vM0er8jNIqPU0SKj1NEio9TRI qPU0SKj1NNR1AADAgAAAsIsAAKWZAACdqwAAlcIDAI7dCQCE/xgAff8oAXf/NANx/z4Gav9HC2T/ UA9f/VgUWvpgGFb3ZxxS9G8fTvF4IkvvgiRH7I4mReqcKELorSlA5sIpQ9vPKUbQ2ShHx98pRsDl K0a76SxGt+wtRrfsLUa37C1Gt+wtRrfsLcZ5AACyhAAApI8AAJqdAACSsgAAickDAIHmCQB4/xkA cv8nAWz/MgNn/zwHYf9EClz/TA5Y/1URVf9cFFH/ZBdO/2wZS/91G0j/fx1F/4oeQ/+ZH0H/qB9C +LUfRO2+H0bjyB5G29IgRtPbIkXN3yNFyeMkRcnjJEXJ4yRFyeMkRcnjJLZ+AACliAAAmJQAAI+l AACGuwAAfdIDAHX2CwBt/xkAaP8mAWP/MQNe/zoGWf9CCVX/SQxS/1EOT/9ZEE3/YBJK/2cUR/9v FkT/eBdB/4MYPv+QGTz/nxo9/6oaP/+yGkH2uhpD7sIZRefIGEXizRlE3dMaRN3TGkTd0xpE3dMa RN3TGqaDAACYjQAAjpsAAISvAAB6xQAAct0BAGn/DABj/xkAX/8lAVr/LwJW/zgEUv8/Bk//RwhM /04KSv9VDEj/Ww1F/2IOQv9pEED/cRE9/3oSOv+FEzj/kxM2/6EUOf+oFDv/rxQ8/7YUPvu7FD/2 wBNA8sMTQPLDE0DywxNA8sMTQPLDE5iIAACNkwAAg6UAAHm6AABv0AAAZ+cAAF//DABa/xgAVv8j AFL/LQFO/zUCS/88BEn/RAVH/0sGRf9RB0P/VghB/1wJP/9iCj3/aQs6/3ALOP95DDX/hA0y/5IN MP+fDjL/pg40/6wONv+xDjf/tA44/7gOOP+4Djj/uA44/7gOOP+4DoyNAACCnQAAeLAAAG7EAABl 2gAAXfAAAFb/DABS/xYATv8hAEv/KwBI/zMBRv86AUT/QQJC/0cDQf9MAz//UQQ+/1YEO/9bBTn/ YAU3/2YGNf9uBjL/dgcw/4AHLf+MByr/mQgp/6QIK/+oCC3/rAgu/64ILv+uCC7/rggu/64ILv+u CIKXAAB4qAAAbroAAGXOAABc4wAAVf8BAE//DABL/xYAR/8fAEP/JgBA/y4APv81AD3/OwA7/0AA Ov9FATj/SQE2/00BNP9RATP/VgEx/1sCL/9hAi3/ZwIr/28CKf95Ayf/gwMk/44DI/+ZAyH/ogMh /6cDIf+nAyH/pwMh/6cDIf+nA3mhAABvsgAAZcQAAF3XAABV6QAATv8DAEj/DQBE/xYAQP8cADz/ IgA4/ygANf8tADP/MgAy/zYAMP86AC7/PgAs/0EAK/9FACn/SQAo/04AJv9TACX/WAAj/18AIv9m ACD/bgAf/3YAHf9/ABz/hgAb/4wAG/+MABv/jAAb/4wAG/+MAP8/KAD/QykA/0UtAP9HMgD/SDkA /0xDAv9NTgX/S1gI/0liC/9GbA3/RHcP/0KCEf9AjBL/QJMT/0GZE/9BnhT/QqIU/0OlFf9EqRX/ RawV/0WwFfxGtBX3R7kV8Ui+FexJwxXmSskU4kvNFN5M0hPaS9gU2UvZFNlL2RTZS9kU2UvZFP9B JwD/RCgA/0crAP9IMAD/SzgA/05CAv9OTAX/TVYI/0pgC/9Iaw7/RXUQ/0OAEv9BixP/QZMU/0KZ Ff9CnhX/Q6IW/0SlFv9FqRb/Rq0W/0axF/pHtRf0SLoW7knAFuhKxhbjS8sV3UzRFdlM1xXUTNwW 1EvdFtRL3RbUS90W1EvdFv9CJgD/RicA/0kqAP9LLwD/TjYA/1FAAv9QSQX/TlMJ/0xeDP9JaA// R3MR/0R+E/9CiRT/QpIV/0KYFv9DnRf/RKIX/0WmF/9Gqhj/Rq4Y/EeyGPZItxjwSbwY6krCF+RL yRfeTc8X2E3WF9NM3BjPTN8ZzkzgGc5M4BnOTOAZzkzgGf9EJAD/SCUA/0soAP9OLAD/UjQA/1Q+ Av9SRgX/UFAJ/05bDP9LZg//SHES/0Z8FP9Ehxb/Q5AX/0OXGP9EnRj/RaIZ/0amGf9Hqhn+R68a +Ei0GvJJuRrrSr8Z5EzGGd5NzRjWTtYY0E3bGsxN3xvITeMbx03jHMdN4xzHTeMcx03jHP9GIwD/ SyMA/04mAP9RKgD/VTIA/1c6Av9WQwX/U0wJ/1FXDf9OYhD/S20T/0h4Ff9GhBf/RI8Y/0WWGf9F nRr/RqIb/0enG/9IrBv6SbEc80m2HOxLvRvlTMQb3k3MG9VP1BrOT9scyE7gHcRO5B7ATecfwE3o H8BN6B/ATegfwE3oH/9JIQD/TSEA/1EjAP9VJwD/Wi8A/1s3Av9aPwX/V0gJ/1RTDf9SXhH/T2kU /0x0Fv9Kfxj/SIoa/0aVG/9HnRz/R6Id/0ioHfxJrR31SrMe7Uu6HuVMwR3dTsod1U/THMxQ2h7F T+Agv07lIbtO6SK4Tuwit07tIrdO7SK3Tu0it07tIv9LHwD/UB8A/1QhAP9YJQD/XSwA/180Av9f PAT/XUUI/1hODf9WWhH/U2UU/1FwF/9Oexr/TIUb/0qQHf9Jmh7/SaMf/kqpH/ZKsCDuS7cg5k2/ IN1OyB/UUNEeylDZIMJQ4CK7T+Yktk/rJbJP7iWvT/Emrk/yJq5P8iauT/Imrk/yJv9NHQD/Ux0A /1geAP9cIgD/YSgA/2MxAf9kOQT/YkII/19LDP9bVhD/WGEV/1VsGP9Sdxv/UIEd/0+LH/xNliD4 TKAh9UyqIfBMsyLnTbwi3k3GI9NP0CPJUdkjv1HgJbdQ5yaxUO0orFDxKKhQ9CmlUPcppVD3KaVQ 9ymlUPcppVD3Kf9PGwD/VRsA/1ocAP9fHwD/ZCUA/2guAf9pNgP/aD8G/2VIC/9iUhD/Xl0U/1to GPpYcxv1VX0e8FOHIOxRkSLnT5sk406lJd9NsCbaTL4n00zPKMdO2Si9UOEotFHnKa1R7iqnUfMr olH3LJ9S+iycUvwsnFL9LJxS/SycUv0snFL9LP9SGQD/VxgA/1wZAP9iGwD/aCIA/2wqAP9uMwL/ bjwF/2xFCf9pTw76ZVoT82FlGOxdbhzmWXgg31aBI9lTiyXTUZUozlCfKclPqivETrYsv07GLLlO 4i2wUOktqFLvLaJS9S6cU/kvmFP9L5ZT/y+TVP8uk1T/LpNU/y6TVP8uk1T/Lv9TGAD/WRYA/18W AP9lGAD/ax8A/3AnAP9zMAH/dDkE/3RCB/dxTAzvbVcS5mdgGN1iah3UXXMizVp8JcZXhSjAVY4q u1SYLLZSoy6xUa4vrVG9MKhR0zGjUfAxnVP3MZdU/DGSVf8xj1X/MYxW/zGLVv8xilb/MYpW/zGK Vv8xilb/Mf9VFgD/WhMA/2ETAP9oFQD/bhwA/3QjAP94LAH/ezUC93w/Be55SQrjc1MR2G1cGM1n ZR7FYm4jvV93J7dcfyqxWYgtq1eSL6dWnDGiVagynlS2M5lUyTSVVOg0kVX9NIxW/zSJV/80hlj/ M4RY/zOCWf8ygln/MoJZ/zKCWf8ygln/Mv9WFAD/XBEA/2MQAP9qEwD/cRgA/3ggAP99KAD5gjIB 74Q8A+SARgnXeVARy3JZGMFtYh64aGojsGRyKKpgeiukXYMun1uMMZpalzOVWKM1kVewNoxXwjeJ V+I3hVj5N4JZ/zaAWv81flv/NXxb/zR7XP80e1z/NHtc/zR7XP80e1z/NP9XEgD/XQ8A/2UOAP9t EAD/dBUA/3scAP+CJADyiS4A54w4AtqHQwjMf00QwHhWGLZyXx6tbWcjpWhuKJ9ldiyZYn8vlGCI Mo9ekjSKXJ42hlurOIJbvDl+W9o5e1z1OXld/zh4Xv83dl7/NnVf/zV1X/81dV//NXVf/zV1X/81 dV//Nf9YEQD/Xw4A/2cMAP9vDgD/dxIA/4AYAPiIIADrkCkA3pM1AtCNQQjDhUsPt35UF613XB6k cmQjnG1rKJZqcyyQZ3swimSEM4VijjWAYJo3fF+nOXhfuDp1X9A6c2DyOnFh/zlwYf84cGL/N29i /zZvYv82b2L/NW9i/zVvYv81b2L/Nf9ZDwD/YAwA/2kJAP9yDAD/ew8A/4QTAPKOGgDjmSQA1Zoy AceUPwe6jEkPr4RSFqV9Wh2cd2EjlHNoKI1vcCyHa3gwgmmBM31mizZ4ZZY4dGOkOnFjtDtuY8s7 bGTvO2tl/zpqZf85amX/OGpl/zdqZf82amX/Nmpl/zZqZf82amX/Nv9aDgD/YgoA/2sIAPp1CQD1 fwwA+YoQAOuVFQDboCAAzaAwAcCaPQazkkcOqIpQFZ6DWByVfV8ijXhmJ4Z0bSyAcXUve25+M3Zr iDZxaZQ4bWihOmpnsTxnZ8g8ZWjsPGVp/zplaf85ZWn/OGVo/zdmaP82Zmj/NmZo/zZmaP82Zmj/ Nv9bDAD/ZAgA+m0FAOp4BgDigwgA45ALAOWfDwDSph0AxaYuAbihOwWsmUYNoZFOFJeJVhuOg10h hn5kJ396ayt5dnMvdHN7M29xhTZrb5E4Z22fOmRsrjxhbMQ8YG3pPF9t/ztfbf85YG3/OGFs/zdh bP83YWz/NmFs/zZhbP82YWz/Nv9dCgD/ZgYA7HACAOF6BQDahQcA15MJANmoCgDJrBoAva0sALCo OgWloUQMmphNE5CRVBqHi1sggIViJnmBaStzfXEvbnp5Mml3gzVldY44YXOcOl5yrDtccsE8WnLm PFpz/jpacv85W3H/OFxx/zddcP82XXD/Nl1w/zZdcP82XXD/Nv9eCAD2aAMA5nIBANl8BADQiAYA zJYHAM2sCADAshcAtLQqAKmwOASeqUIKk6JLEoqaUxmBlFofeY5hJXOJaClthW8taIJ3MWR/gDRf fIw3XHuaOVl5qTpWeb47VXnjO1V5/DpVef85Vnf/OFd2/zdYdf82WHT/Nlh0/zZYdP82WHT/Nv9g BgDsagAA3nQAANB/AgDHigQAwpkFAMGwBgC2uRQAq7snAKG5NQOWs0AJjKxJEIOlURd7nlgdc5hf I22TZihoj20sY4t1L16IfzNahoo1V4SXN1SCqDlRgrs5UILgOVCC+zhQgf83Un7/N1N8/zZUe/81 VHr/NVR6/zVUev81VHr/NfljAgDlbQAA1HcAAMeBAQC9jQMAt50DALW0AwCswhEAocQjAJjDMwKO vj4HhbhIDnyxUBV0q1cbbaVeIGegZSVinGwpXZh0LVmVfTBVkogzUo+WNU+OpjZMjbo3S43eN0uM +jZLi/81TIf/NU6F/zRPg/80T4L/NE+C/zRPgv80T4L/NOxlAADdcAAAynoAALyEAACzkQEArKEB AKi4AwChzA0Al84fAI/PMAGGyzwFfcZGDHXAThJtulYYZ7VdHWKwZCJdrGsmWKhzKVSkfCxRoYgv TZ+VMUqdpTJInLkzRpvcM0ea+TJHl/8ySJP/MkmQ/zJKjf8ySoz/MUqM/zFKjP8xSoz/MeRpAADS cwAAv30AALKIAACplAAAoaUAAJu8AwCW1QkAjNoaAITcLQB92joEddVECW3QTQ9ny1QVYcZcGVzC Yx5YvmshVLpzJFC3fCdMtIgqSbGVLEavpS1ErrkuQ63dLkOr+S1Epf8tRZ//Lkab/y5GmP8uRpj/ LkaY/y5GmP8uRpj/LtlsAADFdwAAtIAAAKiLAACemQAAl6sAAI/BBACI2goAf+cZAHnpKwBz6TgC beZDBmfjTAth31QQXNtbFVfWYxhT02scT9BzH0zMfSFIyogjRceWJUPFpidBxLonP8LeJ0G88SZD tPYnQ677KEOq/ylDpv8pQ6X/KUOl/ylDpf8pQ6X/KcxxAAC4ewAAqYUAAJ2QAACUngAAjLIAAITI BAB84QoAdPUbAG/2KwBq9zcBZfdBA2D0Swdb8lMLV+9bD1PsYhJP6WoVTOdzGEnkfRpG4ogcQ9+W HkDdpx8+27ofPNreH0DO5x9Cxu0fQr7zIUG59yJBtfojQbT7I0G0+yNBtPsjQbT7I792AACrfwAA nYkAAJOUAACKpgAAgboAAHjQBABw8QwAav8bAGX/KgBh/zUBXf8/A1j/RwVV/1AIUv9YCk//YA1M /mgPSf1wEEf7ehJE+YUUQfeTFT/1ohY99LMXPe7HFj/j0RZB2eEWQNHoGEDL7RlAxvEbQMXyG0DF 8htAxfIbQMXyG697AACfhAAAko0AAImcAAB/rwAAdsMAAG3aBABm/w4AYf8cAF3/KQBZ/zMBVf88 AlH/RQRP/00GTP9UB0r/WwlH/2MKRf9rDEL/cw1A/34OPf+LDzv/mRA5/6kQOf+5EDv4whA+7coP P+XTDz7g3xA+2eYSPtjnEj7Y5xI+2OcSPtjnEqGAAACSiAAAiJUAAH6mAAB0uQAAa84AAGPkAgBc /w4AWP8bAFT/JwBR/zEBTv86AUv/QgJJ/0kDR/9QBEX/VgVC/10GQP9kBz3/bAg7/3UJOP+ACjX/ jgoy/50LMf+uCzP/tgs2/70LOPrECzrzyQo77s4KO+3PCjvtzwo77c8KO+3PCpOFAACIjgAAfp8A AHSyAABqxQAAYtsAAFryAQBU/w4AUP8aAEz/JABJ/y4ARv82AET/PgFC/0UBQP9LAj7/UAI8/1YD Of9cAzf/YwQ0/2sEMv91BS//gAUs/48GKv+fBir/rAYt/7IGLv+4BjD/vQYy/8AGMv/BBjL/wQYy /8EGMv/BBoiJAAB+mQAAdKoAAGq9AABh0QAAWOYAAFH/AgBL/w0AR/8XAEP/IAA//ycAPP8uADr/ NQA4/zwAN/9CADX/RwAz/00BMP9SAS7/WAEs/2ABKv9oASj/cgIl/34CIv+MAiD/nQIg/6oDIv+u AyT/sgMm/7YDJ/+3Ayf/twMn/7cDJ/+3A36TAAB0pAAAarUAAGHHAABZ2wAAUO0AAEn/AwBE/w0A Qf8WADz/HAA4/yMANf8oADL/LgAw/zQALv85ACz/PQAq/0EAKP9GACb/SwAk/1EAI/9YACH/YAAf /2kAHf90ABr/gQAY/5AAFv+dABX/qAAX/60AGP+uABj/rgAY/64AGP+uAHWeAABrrgAAYr8AAFnQ AABR4wAASfMAAEP/BAA//w4AOv8UADX/GQAy/x8AL/8kACz/KQAq/y0AKf8yACf/NQAl/zkAI/89 ACH/QQAg/0UAHv9KABv/UAAZ/1cAF/9fABX/aAAT/3IAEv98ABD/hgAQ/5AAD/+RAA//kQAP/5EA D/+RAP86JwD/PSgA/z4rAP8/MAD/PzcA/z4/AP9ASwH/QFUD/z5gBP88awb/OncH/ziCCP83jQn/ NZgK/zaeCv83ogv/OKYL/zqpC/87rQv/PLEL/z21DP8+uQz/P74M+UDDC/JByAvrQs4L5kPUCuFE 3QrdQ+IL20PkC9tD5AvbQ+QL20PkC/88JgD/PicA/0AqAP9BLgD/QTUA/0E+AP9DSQH/Q1QD/0Fe Bf8+agb/PHUI/zqACf84jAr/NpcL/zedC/85ogz/OqYM/zuqDP88rQz/PbEN/z61Df8/ug38QL8N 9ULFDO5DywznRNEM4UXbC9xF4QzYROUN1UTnDdVE5w3VROcN1UTnDf89JQD/QCUA/0IoAP9DLAD/ RDMA/0Q7AP9GRgH/RlED/0RcBf9BZwf/PnMJ/zx+Cv86igv/OJUM/zmcDP86oQ3/O6YN/zyqDv8+ rg7/P7IO/0C2Dv5BvA73QsEO8EPIDuhFzg3hRtcN2kbhDdVG5Q7RRekPz0XrD89F6w/PResPz0Xr D/8/IwD/QiMA/0UmAP9GKgD/RzAA/0g5AP9JQwL/SU4D/0dZBv9EZAj/Qm8K/0B7C/8+hgz/PJEN /zubDv88oQ7/PaYP/z6qD/8/rw//QLMQ/0G4EPlDvhDyRMUP6kXMD+FH1A7ZR98P0kfmEM5H6hHK Ru4SyEbwEshG8BLIRvASyEbwEv9CIQD/RSEA/0gjAP9KJwD/Sy0A/0w2AP9NQAL/TUsE/0xWBv9J YAj/RmsL/0R2DP9CgQ7/QIwP/z+XEP8+oBD/P6YR/0CrEf9BsBH/QrUR+0O7EfNFwRHrRskR4kjR ENlJ3hDQSOYSykjrFMVI7xTCR/IVv0f0Fb9H9BW/R/QVv0f0Ff9EHwD/SB8A/0shAP9NJAD/TyoA /1EyAP9TPQH/UUcE/09SBv9NXQn/S2cL/0hyDf9GfQ//RYcQ/0OSEf9CmxL/QqQS/0KsE/9DshP8 RLgT9EW+E+tHxxPiSc8T2EvdEs5K5RTHSesWwEnwF7xJ9Ri4SfcYtkn5GbZJ+Rm2SfkZtkn5Gf9G HQD/ShwA/04eAP9RIQD/UycA/1YwAP9YOgH/VkMD/1NNBv9RWAn/T2MM/01uDv9KeBD/SYIS/0eN E/9GlhT/RqAU/0WpFfxFsxX1RrsV7EfEFeJJzRXWTNsUzEvkFsRL6xi8SvEatkr2G7JK+huvSv0c rUr/HK1K/xytSv8crUr/HP9JGwD/TRoA/1EbAP9VHgD/WCQA/1stAP9dNgH/XEAD/1lJBv9WVAn/ U18M/1FqD/9PdBH8TX4T+UuIFPVKkhbySpsW70mlF+tIrxjoR7sY40fLGdZI2xnLS+MZwUzrGrlL 8hyyS/gdrEv9HqhL/x+lTP8fo0z/H6NM/x+jTP8fo0z/H/9LGAD/UBgA/1QYAP9YGgD/XCEA/18p AP9hMwH/YTwC/19FBf9cUAj+WVsM+FZmD/NUcBLuUXkU6U+DF+RNjBjgTJYa20qgG9ZJqxzSSbYd zUnFHshJ4B6+S+wetU3zHq1N+SCnTf8hok3/Ip5N/yKbTv8imk7/IppO/yKaTv8imk7/Iv9NFgD/ UhUA/1YUAP9bFgD/Xx0A/2MlAP9mLwD/ZjgB/2VBBPljTAfxYFcL6lxhD+NYaxPdVXQX1lJ9GdBQ hhvLT5Adx06ZH8JNpCC+TK8huUu8IrRL0COvTOwjqU37I6JO/yScTv8kl0//JJRQ/ySSUP8kkFD/ JJBQ/ySQUP8kkFD/JP9PFQD/VBIA/1gRAP9eEwD/YxkA/2chAP9qKgD/bDQB9mw9A+5qSQXkZVML 22FdENJdZhXLWW8YxVd4G79UgB66U4kgtVGTIrFQnSOsT6glqE61JqROxyafT+Unm1D5J5ZQ/yeR Uf8njVL/J4pS/yeIU/8nh1P/JodT/yaHU/8mh1P/Jv9QEgD/VRAA/1oOAP9gEAD/ZhYA/2sdAP9v JQD3ci8A7HM5AeJwRQXXa08LzWZZEMRiYhW9XmoZtltzHbBZeyCrV4MiplWNJKJUlyaeUqIomlKv KZVRvyqRUtwqjVL0KopT/yqHVP8phFX/KYFV/ymAVv8of1b/KH9W/yh/Vv8of1b/KP9REQD/Vw0A /10MAP9jDgD/aRIA/24YAPtzIADudyoA4nk2AdZ2QQXLcUwKwWxVELhnXhWwY2YaqmBuHqRddiGf W38kmlmIJpZXkiiRVp0qjVWqK4lVuSyGVdAsglbwLH9X/yx9V/8re1j/K3lZ/yp4Wf8qeFn/KXhZ /yl4Wf8peFn/Kf9SDgD/WAwA/14JAP9mCwD/bA4A/3IUAPN4GwDlfSQA2H8yAct7PwTAdkkKtnFT EK5sWxWmaGMaoGVrHppicyGVX3skkF2DJ4tbjSmHWpkrg1mlLX9YtS57WMoueVnrLnZa/y51W/8t c1z/LHJc/ytyXP8rcVz/KnFc/ypxXP8qcVz/Kv9UDQD/WgkA/2EHAPxoCAD3cAsA+3YPAOx9FQDc giAAzoQwAMKBPAS3fEcJrXZQD6VyWBWdbWAal2poHpFmbyKMZHclh2GAKIJgiSp+XpUsel2iLnZc sS9zXMUwcF3nMG9e/i9tX/8ubV//LWxf/yxsX/8rbF//K2xf/ytsX/8rbF//K/9VDAD/WwcA/WME AOxrBQDkcwgA5XsLAOWDDwDShxwAxoktALqGOgOvgUUIpnxODp13VhSWcl4Zj25lHolrbCGEaHQl f2Z9KHpkhit2YpEtcmGeL29grTBsYMExamHkMWhh/DBnYv8vZ2P/Lmdj/y1nY/8sZ2P/LGdj/yxn Y/8sZ2P/LP9WCgD/XQUA8GUBAONtBADcdQYA2X4JANuJCwDJjBoAvY4rALOMOAOoh0MIn4FMDpZ8 VBOPd1sZiHRjHYJwaiF9bXEkeGt6KHRpgytvZ48tbGacL2hlqzFmZb4xY2XgMWJm+jBiZ/8vYmf/ LmJm/y1iZv8sYmb/LGJm/yxiZv8sYmb/LP9XCAD6XwIA6WcAAN1vAwDTeAUAz4EHANCNCQDBkRcA tZMpAKuRNgKijUEHmIdKDZCCUhOIfVoYgnlhHHx2aCF2c28kcnB3KG1ugSppbIwtZmuZL2NqqDFg absxXmrcMV1q+DFda/8vXWv/Ll1q/y1eav8sXmn/LF5p/yxeaf8sXmn/LP9ZBgDvYQAA42kAANRy AgDLegQAxoQFAMaRBgC5lhUArpgmAKSYNAKbkz8Gko5IDIqJUBKChFgXe4BfHHZ8ZiBxeW0kbHZ1 J2h0fypkcootYHCXL11vpjBab7gxWG/VMVhv9jBYcP8vWHD/Lllv/y1Zbv8sWm3/LFpt/yxabf8s Wm3/LP9aAwDqYwAA3GsAAM10AQDDfQIAvYcEALuVBACwnRIApp8jAJ2fMgGUmz4Fi5ZHCoORTxB8 jFYWdoddGnCEZB9rgGwiZn5zJmJ7fCleeYcsW3eULlh2oy9VdbUwU3XQMFN19C9Tdv8uU3X/LVR0 /y1Vc/8sVXL/K1Vy/ytVcv8rVXL/K/VcAADlZQAA024AAMR2AAC6fwEAs4oCALCaAgCopA8AnaYg AJWnMAGNpDsEhaBFCX2aTQ92lVUUcJFcGWqNYx1liWohYYZyJF2EeydZgYUqVn+SLFN+oS5QfbMv T33NL0598i5Off8tTn3/LE96/yxQef8rUXj/K1F4/ytReP8rUXj/K+xfAADdaAAAynEAALt5AACx ggAAqo4AAKafAACerAwAlK8cAI2wLQCFrzkDfatDB3amSw1voVMSap1aF2WZYRtglWgeXJJwIliP eSVUjIMnUYqQKk6JoCtMiLIsSofLLEqH8CxJhv8rSYX/KkqD/ypLgf8qTID/KUyA/ylMgP8pTID/ KeViAADUawAAwHQAALJ8AACohgAAoZIAAJukAACUtQgAirkYAIO7KQB9uzYCdrhBBm+0Sgppr1EP ZKtZFF+nYBhbpGcbV6BvHlOdeCFQmoIkTZiPJkqWnihHlbEpRZTJKUWT7yhFkv8nRZH/KEWO/yhG i/8nR4r/J0eK/ydHiv8nR4r/J91lAADIbgAAtncAAKmAAACfigAAl5cAAJCoAACJvwQAf8UTAHnH JAB0yDMBbsY+BGjDSAhjv1AMXrtXEFq4XxRWtWYXUrJuGk+vdx1LrIIfSKmOIUanniNDprAkQaXJ JEGk7iNBov8jQJ//I0Gb/yRCl/8kQpb/JEKW/yRClv8kQpb/JNFpAAC8cgAArHsAAJ+EAACWjgAA jZ0AAIWuAAB9wwUAddQOAG7VHgBq1y8AZdY7AmHURQVc0U4IWM5WDFTLXg9RyGUSTcVuFUrDdxdH wIEZRL6OG0K7nh0/urAdPrnIHj237h0+tP8dPq7/Hj6p/x8/pf8fP6P/Hz+j/x8/o/8fP6P/H8Vt AACwdgAAoX8AAJaIAACMlAAAg6QAAHu2AAByygUAauEMAGTlGwBh5isAXec4AVrmQwJW5UwFUuJU B0/gXApM3mQMSdttD0bZdhFD1oETQNSPFD7SnhY80LAWOs/JFzrM7RY8xfkWPL7/Fzy4/xg8tP8Z PLL/Gjyy/xo8sv8aPLL/GrdyAACkewAAl4MAAIyNAACDnAAAeawAAHG/AABo0gUAYfMOAFz1HQBZ 9ioAVvc2AFL3QAFQ90oCTfZSA0v1WgVI82IHRvFrCEPvdApA7n4MPuyLDTzqmg466KwOOObCDjfj 4w462O0NOs/0DzrJ+RE6xf0SOsL/EjrC/xI6wv8SOsL/Eqh3AACYfwAAjIgAAIOVAAB5pQAAcLYA AGfJAABf3QUAWP8QAFT/HQBR/ykAT/80AEz/PQBK/0YBSP9OAkb/VQND/10EQf9lBT7/bgU8/3gG Of+EBzj/kgg2/qMINP22CDX3yQg37doHN+TnCDfc7gk32PMKN9T1CzfU9Qs31PULN9T1C5t9AACN hAAAg48AAHmeAABvsAAAZsIAAF7VAABW6AMAUP8QAE3/HABK/ycARv8wAET/OQBC/0EAQf9IAT7/ TwE8/1YBOv9dAjj/ZQI1/24DM/95AzH/hwQv/5YELf+nBCz/uwQu/8QEMPnOBDLy2wQy7eMEMurn BDLq5wQy6ucEMurnBI6BAACDigAAeZkAAG+qAABmvAAAXc8AAFXiAABO/QQASP8QAEX/GgBB/yMA Pv8qADr/MQA4/zkAN/9AADX/RgAz/00AMf9TAC//WwEt/2MBK/9tASn/eQEm/4cBJf+ZAiP/qQIk /7gCJv++Aij/xQIp/8sCKf/PAin/zwIp/88CKf/PAoOGAAB5lQAAb6UAAGa2AABcyQAAVNwAAEzu AABF/wMAQf8OAD3/FgA4/x0ANf8kADL/KgAv/zEALf83ACv/PAAp/0EAJ/9HACX/TgAj/1UAIf9e AB//aAAc/3UAGv+FABj/lgAY/6gAGP+0ABv/uAAc/7wAHf+/AB3/vwAd/78AHf+/AHqQAABwnwAA ZrAAAF3BAABV0wAATeUAAEX1AAA+/wMAOv8NADX/EwAx/xkALf8fACr/JAAo/yoAJv8vACT/MwAh /zgAH/88AB3/QgAb/0cAGP9OABb/VwAU/2EAEv9tABD/fAAN/44ADP+eAAz/qgAO/68AD/+xAA// sQAP/7EAD/+xAHGbAABoqgAAX7oAAFbKAABO3AAARuwAAD//AAA5/wUANP8MAC//EQAr/xYAKP8b ACX/IAAj/yUAIf8pAB//LAAd/zAAG/80ABn/OAAX/z0AFf9CABP/SAAR/1AAD/9YAA3/YgAL/24A Cf96AAf/hgAG/5AABv+WAAb/lgAG/5YABv+WAP81JgD/NycA/zcqAP83LwD/NzYA/zU+AP8zRwD/ MlIA/zFeAf8wagL/LnUC/yyBA/8rjQP/KZgD/ymiBP8qpgT/LKoE/y2uBP8vsQT/MLUE/zK5BP8z vQT/NMIE/zbHBPg3zATxONYE6zngBOU65gThOeoE3TntBN057gTdOe4E3TnuBP83JQD/OCYA/zko AP85LQD/OTMA/zg8AP82RQD/NVAA/zRcAf8yaAL/MHMD/y9/A/8uiwT/LZUE/yyfBP8spgX/LqoF /y+uBf8xsQX/MrUF/zS6Bf81vgX/NsQF+zjJBfM50AXtOtwF5TvkBN876gXbO+4F2DvxBtg78QbY O/EG2DvxBv84IwD/OiQA/zwmAP88KgD/OzAA/zo5AP85QgD/OE4B/zdZAf82ZQL/NHAD/zN7BP8y hwT/MZEF/zCbBf8wowb/MKoG/zKuBv8zsgb/NLYG/za7Bv83wAb+OcYG9jvMBu481gbmPeIF3j3p Btk97gfUPfIH0T31CNA99QjQPfUI0D31CP87IQD/PSIA/z4kAP8/JwD/Py0A/z41AP89PwD/PUoB /zxWAv87YQP/OWwE/zh3Bf82ggX/NY0G/zSXBv80nwf/NKcH/zSuB/81swf/N7cH/zi9B/86wwf4 PMkH7z3RB+Y+3wfdP+gH1j/uCNA/8wnMP/cKyT76Csk++grJPvoKyT76Cv89HwD/Px8A/0EhAP9C JAD/QioA/0IyAP9BOwD/QkcB/0JSAv9AXQP/PmgE/z1zBf87fgb/OogH/zmSCP84mwj/OKMI/zir CP84tAn/ObkJ/zvACfk9xgnvPs4I50DbCNxB5gjTQe4KzEH0C8dA+QzDQPwMwED/DcBA/w3AQP8N wED/Df8/HQD/QhwA/0QeAP9GIQD/RiYA/0cuAP9HOAD/R0MB/0dPAv9FWQP/Q2QF/0JvBv9AeQf/ P4MI/z6NCf89lgn/PZ8K/zynCv88sAr/PLsK+z3ECvE/ywrmQdgK20PlCdFD7QvJQvUNwkL6Dr1C /w+5Qv8QtkL/ELZC/xC2Qv8QtkL/EP9CGgD/RRoA/0gbAP9JHQD/SiIA/0wrAP9MNQD/TD8B/0xK Av9KVQT/SGAF/0drB/9FdQj/RH4J/0KICv5CkQv7QZoL+UGjDPZBrQzzQbgM8EHGDOZC1AzaQ+QM z0XtDcZE9Q++RPwRt0T/ErJE/xKvRP8TrET/E6xE/xOsRP8TrET/E/9EGAD/SBcA/0sXAP9NGgD/ Tx8A/1EoAP9SMQD/UjsA/1FFAv9PUQT/TVwG/ktmB/lKcAn1SHoK8UeEC+5GjQzqRZYN50SfDuRE qQ/gQ7QQ20LCENZC2xHOQ+0Rw0b1EbpG/ROyRv8UrEb/FahG/xakRv8Wokb/FqJG/xaiRv8Wokb/ Fv9GFQD/ShQA/04UAP9QFQD/VBwA/1YkAP9XLQD/WDcA/1dBAftVTAP1U1gF71FiCOpObArlTHUM 4Ep+DttJhxDWSJER0keaEs5GpBPKRq4UxkW7FcFFzRW7RugWtUf6Fq5H/xenR/8YoUj/GJ1I/xma Sf8Zl0n/GZdJ/xmXSf8Zl0n/Gf9IEwD/TBEA/1AQAP9TEgD/VxgA/1ogAP9cKQD/XTMA91w9Ae9b SALnWFMF4FVdCdlSZwzSUHAOzU55EchNgRPDS4oUv0qTFrtKnRe3SagYs0i0Ga5IxBmqSOAapUn1 GqBK/xqbSv8blkv/G5JL/xuQTP8bjUz/G41M/xuNTP8bjUz/G/9KEQD/Tg4A/1INAP9WDgD/WhQA /10bAP9gIwD1YS0A62I4AOJhRALZXU8Fz1pZCchXYg3CVWsQvFNzE7dRexWzT4QXrk6NGKpNlxqn TKEbo0ytHJ9LvB2bS9IdlkzvHZJN/x2OTf8ei07/HohO/x2GT/8dhE//HYRP/x2ET/8dhE//Hf9M DwD/UAwA/1QKAP9ZDAD/XRAA/2EWAPhkHQDqZicA32c0ANRmQALKY0sFwmBVCbpdXg20WmYRrldu FKpVdhalVH4ZoVKHGp1RkRyZUJwdlU+oH5FPtiCNT8ogiU/qIIZQ/SCDUf8ggFH/IH5S/x98Uv8f e1P/HntT/x57U/8ee1P/Hv9NDQD/UQkA/1YGAP9cCQD+YQwA/2URAO5oFwDfayEA0mwwAMhrPQK+ aEgFtmVRCa9iWg6oX2IRo1xqFZ5acheaWHoalVaDHJFVjB6NVJcfiVOjIYZSsSKCUsQjf1PkI3xT +iJ5VP8id1X/IXZV/yF1Vv8gdFb/IHRW/yB0Vv8gdFb/IP9OCwD/UwYA/1gDAPFeBQDqZAgA7GkM AOZsEQDUbx0AyHEtAL5wOgG1bkUFrGpPCaVmVw2fY18RmWBnFZRebhiQXHYbi1p+HYdZiB+DV5Mh f1afInxWrSR4Vr8kdVbfJXNX9yRxWP8jcFn/I29Z/yJuWf8hbVn/IW1Z/yFtWf8hbVn/If9PCQD/ VQQA81oAAOZhAwDeZwYA22wJANtxDADKcxoAvnUqALV1OAGsckMEpG9MCZ1rVA2XaFwRkWVkFYxj axiHYHMbg157HX9dhCB7W48id1qbI3RaqSVwWbsmblrYJmxa9SVqW/8kaVz/I2ld/yNoXf8iaF3/ IWhd/yFoXf8haF3/If9QBwD9VgEA7F0AAN9jAgDVagQA0W8HANF1CQDBeBgAtnkoAK16NQGld0AE nXRKCJZwUgyPbVoRiWphFYRnaBiAZXAbe2N4HXdhgSBzYIwicF6YJG1epiZqXbgmZ17RJ2Ve8iZk X/8lZGD/JGNg/yNjYP8iY2D/ImNg/yJjYP8iY2D/Iv9RBQDyWAAA5l8AANhmAQDNbAMAyHIFAMh5 BwC5fBUArn4lAKZ+MwGefD4DlnlIB491UAyIclgQg29fFH1sZhd5aW0adWd1HXFmfyBtZIkiamOW JGZipCZkYrUnYWLNJ2Bi8CdfY/8mX2T/JF5k/yNfZP8jX2P/Il9j/yJfY/8iX2P/Iv9TAwDtWgAA 32EAANBoAADGbwIAv3UEAL59BQCygBIAp4IjAJ+DMQCXgTwDkH5GB4l6TguCd1YPfHRdE3dxZBdz b2sab21zHWtrfCBnaYciZGiTJGFnoiZeZrInXGbKJ1tn7idaZ/8mWmj/JVpo/yRaZ/8jW2f/Iltn /yJbZ/8iW2f/IvpUAADpXAAA2WMAAMlqAAC+cQEAt3gCALWAAgCqhRAAn4cgAJiILwCRhzoCiYRE BoKATAp8fVQPd3pbE3J3YhZtdWkaaXJxHWZweh9ib4QiX22RJFxsnyZZa7AnV2vHJ1Zs6ydVbP8l VWz/JFVt/yNWbP8jVmv/IlZr/yJWa/8iVmv/IvFWAADjXgAA0GYAAMFtAAC3dAAAr3sAAKuEAACi iw0AmIwdAJGOLACKjTgCg4tCBXyHSwl2hFINcYFZEmx+YBVoe2gZZHlvHGB3eB5ddYIhWnOOI1dy nSVUca4mUnHEJlFx6CZRcv8lUXL/JFBy/yNRcf8iUnD/IlJw/yJScP8iUnD/IuxYAADdYAAAyWgA ALlwAACvdwAAp34AAKKJAACakQsAkJMaAImVKQCDlTYBfJNABHaQSQhwjVAMa4lYEGeGXxRjhGYX X4FtGlt/dh1YfYAfVXuMIVJ6myNPeaskTXnBJUx55iRMeP4jTHj/I0x4/yJMd/8hTXb/IU12/yFN dv8hTXb/IeZbAADUYwAAwGsAALJyAACnegAAn4IAAJmOAACRmAcAh5sWAICeJQB7nzMBdZ0+A3Ca RwZql08KZpRWDmGRXRJdjmQVWotsGFaJdBtTh34dUIWKH02DmSFLgqoiSYK/IkiC5CJIgfwhR4D/ IUeA/yBHf/8gSH3/IEh9/yBIff8gSH3/IN5eAADKZgAAt24AAKl2AACffQAAloYAAI+TAACHogIA fqYSAHeoIQBzqjAAbqk7AmmnRAVkpE0IYKFUDFyeWw9Ym2ISVZhqFVKWcxdOk3waS5GJHEmQlx1G jqgfRI69H0ON4h9DjPseQ4v/HkKK/x5Cif8eQ4f/HkOG/x5Dhv8eQ4b/HtRhAAC/agAArnIAAKF5 AACXgQAAjosAAIaYAAB9qwAAdLINAG60HQBqtisAZrY4AWK1QgNes0oGWrBSCVatWgxTq2EOUKhp EU2mcRNKo3sWR6GHGESflhlCnqcaQJ28Gz+c4Bo/mvoZPpj/Gj6X/xo9lv8bPpT/Gz6U/xs+lP8b PpT/G8llAAC0bgAApHYAAJh9AACOhgAAhZAAAHyeAABzrwAAa78IAGTCFwBhxCYAXsU0AFrFPwFX w0gDVMFQBVG/WAhOvV8KS7toDEi4cA5FtnoQQ7SHEkCylRQ+sKYVPK+7FTuu3xU7rPkUOqn/FTmn /xY5pP8WOqH/Fzqh/xc6of8XOqH/F71qAACpcgAAmnoAAI+CAACFiwAAfJgAAHOmAABqtgEAYskG AFvTEABX0yAAVNQuAFLVOgBP1UQBTdRNA0rSVQRI0V4GRc9mB0PNbwlAy3kLPsmGDDzHlQ06xaYO OMS6DjfC3Q43v/gONrz/Dza4/xA2s/8RNq//ETav/xE2r/8RNq//Ea9vAACedwAAkX4AAIaGAAB8 kgAAc6AAAGqwAABiwAEAWdEGAFLmDgBO5RwAS+YpAEnnNQBI50AARudJAUTnUgFC5loCQORjAz7j bAQ84XcFOuCDBjfekgc13KQINNq4CDLZ2ggy1PQHMs//CDLI/wkzw/8KM7//CzO//wszv/8LM7// C6J0AACTfAAAh4MAAH2OAABzmwAAaqsAAGG6AABZywAAUd0GAEv4EABI9xwARfcnAEL4MQBA+ToA PvlEAD35TAA8+VQAOvhdATj3ZgE29nACNPV8AjPzigIx8psDMPCuAy7vxQMt7ekCLeH1Ay7b+wQu 1f8ELtH/BS7R/wUu0f8FLtH/BZV5AACIgAAAfooAAHSXAABqpwAAYbYAAFnHAABR2AAASeoFAEX/ EABB/xsAPv8kADv/LQA4/zUANv89ADX/RAAz/0sAMf9TADD/XAAu/2UALP9xACr/fgEp/44BJ/+f ASb/swEl/80BJvjjASfw7QEn6fQBJ+P5ASfj+QEn4/kBJ+P5AYl+AAB/hgAAdZQAAGujAABhswAA WMQAAFDVAABI5QAAQv8FAD3/EAA6/xgANv8gADP/JwAw/y4ALv81ACz/OwAq/0IAKP9IACb/UAAk /1gAIv9iACH/bgAf/30AHf+OABz/oQAa/7UAG//IABz/1QAd/+IAHvrqAB766gAe+uoAHvrqAH+E AAB1kQAAa6AAAGKwAABZwQAAUNMAAEjkAABA8gAAOv8EADb/DQAx/xMALf8aACr/IQAo/ycAJv8t ACP/MgAh/zcAH/89AB3/RAAb/0sAGP9TABb/XgAU/2oAEv96ABH/iwAQ/58AD/+xABD/vAAR/8QA Ev/MABL/zAAS/8wAEv/MAHeOAABtnAAAY6sAAFq7AABRywAASd0AAEHsAAA5/wAAM/8CAC3/CQAp /w8AJv8UACL/GgAf/x8AHf8kABr/KQAY/y0AFv8yABP/OAAR/z4AEP9FAA7/TQAM/1gACv9lAAf/ dAAF/4UABP+XAAP/qAAF/7EAB/+0AAf/tQAH/7UAB/+1AG6YAABkpgAAW7UAAFPFAABL1QAAQuUA ADvzAAA1/wAALv8DACn/CQAl/w4AIf8SAB7/FwAc/xsAGv8gABf/IwAV/ycAE/8rABH/LwAP/zQA Dv85AAz/QAAJ/0gABv9RAAP/XAAA/2kAAP93AAD/hQAA/5IAAP+dAAD/nQAA/50AAP+dAP8wJQD/ MSYA/zEpAP8wLQD/LjQA/yw8AP8oRQD/JU8A/yJbAP8gZwD/H3MA/x5/AP8digD/HZMA/x6bAf8d owH/HasB/x6xAf8gtQH/IrkB/yO8Af8lwAH/J8UB/ynLAf8q1AH4K+EB8SvoAeos7wDmLPMB4iz2 AeEt9wHhLfcB4S33Af8yIwD/MiQA/zMnAP8yKwD/MTEA/y85AP8rQwD/KE0A/yVYAP8kZAD/I3AA /yN7AP8ihgH/IpAB/yKYAf8ioAH/IqgB/yKvAf8itQH/JLkB/ya9Af8owgH/KscB/yzOAfst2wHy LuUB6i7sAeQv8gHfL/YB3C/5Atsw+gLbMPoC2zD6Av8zIQD/NSIA/zUkAP80KAD/My4A/zE2AP8v QAD/LEoA/ypWAP8pYQD/KW0A/yh4Af8nggH/J4wB/yeVAf8nnQH/JqQB/yasAf8mtAL/J7oC/ym/ Av8rwwL/LckC/S/SAfQw4QHrMekB4zHxAt0y9gLYMvoC1DL9A9Iy/gPSMv4D0jL+A/82HwD/Nx8A /zghAP83JQD/NisA/zQyAP8zPAD/MUcA/zBSAP8vXgD/LmkB/y5zAf8tfgH/LIgC/yyRAv8smQL/ LKEC/yuoAv8rsAL/K7oC/y3BAv8vxgL+Mc0C9TLcAusz5wLiNO8C2jX2A9M1+wPONf8EyzX/BMo1 /wTKNf8EyjX/BP84HQD/Oh0A/zoeAP86IQD/OScA/zguAP84OQD/N0MA/zZOAP81WgD/NGUB/zNv Af8zeQL/MoMC/zGMAv8xlAP/MZwD/zGkA/8xrQP/MbYD/zDCA/8yygP2NNUD7DXkA+E37gPYN/UE zzj8Bck4/wXFOP8GwTj/BsA4/wbAOP8GwDj/Bv86GgD/PBoA/z4bAP8+HQD/PSIA/z0rAP89NQD/ PT8A/zxKAP87VgH/OmAB/zlrAv84dQL/N34D/zeHA/83kAP/NpgE/zahBP42qQT8NrME+Ta/BPY2 zwTsN+EE4DnsA9U69QXMOvwGxDr/B747/wi6O/8Itzv/CbU7/wm1O/8JtTv/Cf89GAD/PxYA/0EX AP9CGQD/Qh4A/0MnAP9CMAD/QjsA/0FGAP9BUQH/QFwB/z9mAv8+cAP8PXoD+TyDBPY8jATzO5QF 8TudBe47pgXrO7AF5zu8BeM6zQbcOucG0zz0Bsk8/QjAPf8JuT3/CrM9/wuvPf8LrD7/C6o+/wuq Pv8Lqj7/C/8/FQD/QhMA/0QTAP9FFQD/RxsA/0gjAP9ILAD/RzYA/0ZBAP9GTQH6RVgC9URiA/BD bAPsQnUE6EF+BeVAhwbhP5AH3j+ZB9o+owjWPq0I0j25Cc09yAnIPuMJwT/1Crs//wu0P/8MrT// DadA/w6jQP8OoUH/DqBB/w6gQf8OoEH/Dv9BEgD/RBEA/0cQAP9JEQD/SxcA/0wfAP9MJwD/TDEA +Es8APFLSAHrS1MC5UldA99HZwXaRnAG1UV5B9FEggjNQ4oJyUKTCsVCnQvCQqcMvkGyDblBwA21 QdgNr0LwDqlD/w6kQv8PoEL/EJxD/xCYQ/8QlkT/EZVE/xGVRP8RlUT/Ef9EEAD/Rw4A/0kMAP9M DgD/ThMA/1AaAP9RIgD0USwA6lE3AOJRQwDbUE4C005ZBM1MYgbIS2sIw0lzCb9Iewu7R4QMt0eN DbNGlg6wRaAPrEWsEKhFuRGkRcwRn0XpEptG/BKWRv8Skkb/E49H/xONR/8Ti0f/E4pH/xOKR/8T ikf/E/9GDgD/SAsA/0sIAP9OCgD/Ug4A/1QUAPVVHADoVSUA3FYyANNWPwDLVUoCxFNUBL5SXQe4 UGYJs05uC69Ndg2rTH4OqEuHEKRKkBGgSZoSnUmmE5lIsxSVSMUVkUnjFY1J+BWJSv8Vhkr/FYRK /xWCS/8VgEv/FYBL/xWAS/8VgEv/Ff9HDAD/SgcA/00EAP1RBgD4VQoA+lcOAOpYFADbWSAAzlsu AMVcOwC9W0cCt1lQBLBXWQerVWIKp1NqDKJRcQ6eUHkQm0+BEpdOixOTTZUVkEyhFoxMrheJTL4X hUzbGIFN9Bh+Tf8YfE7/F3pO/xd5T/8Xd0//FndP/xZ3T/8Wd0//Fv9ICQD/TAQA+08AAOtUAgDj WAYA4VoJAOBcDgDOXhwAwmArALphOACyYEMCrF5NBKZbVgegWV4KnFdmDZdWbQ+TVHURkFN9E4xS hhWIUZAWhVCcGIFPqRl+T7kae0/RGnhQ8Bp1Uf8Zc1H/GXJS/xhxUv8YcFP/F3BT/xdwU/8XcFP/ F/9JBwD/TQEA71IAAOJXAQDZXAQA1F8HANNgCwDEYxkAuGQoALBlNQCpZEEComJKBJ1gUweXXlsK klxiDY5aag+KWHEShld5FIJVghZ/VIwYe1SYGXhTphp1U7UbclPLG29T7RttVP8bbFX/GmtW/xlq Vv8Zalb/GGlW/xhpVv8YaVb/GP9KBQD1TwAA6FUAANpaAADQXwMAymIFAMllCAC6ZxYAr2glAKhq MwChaT4BmmdIBJVlUAePYlgKimBfDYZeZxCCXG4Sflt2FHpZfxZ3WIkYc1eVGnBXohttVrIca1fH HWhX6R1nWP8cZln/G2VZ/xpkWv8ZZFr/GWRa/xlkWv8ZZFr/Gf9MAgDwUQAA4lcAANJdAADHYgEA wWUDAMBpBQCyaxMAqGwiAKBuMACabTwBk2tFA41pTgaIZ1UKg2RdDX9iZA97YWsSd19zFHNefBdw XIYZbVuSGmpbnxxnWq8dZFrEHWJb5x1hW/0dYVz/G2Bd/xtfXf8aX13/GV9d/xlfXf8ZX13/Gf1N AADrUwAA21kAAMtfAADAZAAAuWgCALdsAwCrbxEAoHAgAJlyLgCTcjkBjXBDA4duTAaBa1MJfWla DHhnYg90ZWkRcWRxFG1ieRdqYYMZZ2CPG2RfnRxhXq0dX17BHl1f5B5cX/sdXGD/HFtg/xtbYf8a W2H/GVtg/xlbYP8ZW2D/GfROAADnVQAA1FwAAMRiAAC5ZwAAsWsAAK5wAQCkcw4AmXQdAJJ2KwCM djcBhnVBA4FzSgV7cFEId25YC3NsXw5vamcRa2huFGhndxZlZYEZYmSNG19jmxxcY6odWmO+Hlhj 4R5XY/odV2T/HFdk/xtXZf8aV2T/Gldk/xlXZP8ZV2T/Ge9QAADhVwAAzV4AAL1kAACyaQAAqm4A AKZ0AACcdwwAknkaAIt6KACGezUAgHo/Ant4SAV2dk8IcXRXC21yXg5pcGURZm5tE2NsdRZga38Y XWmKGlpomBxXaKgdVWi7HlNo3R1TaPgdU2j/HFJp/xtSaf8aUmn/GVNo/xlTaP8ZU2j/GetSAADc WQAAxmAAALdnAACsbAAAo3EAAJ54AACVfAkAi34XAIR/JgB/gDIAeoA9AnV+RgRwfE4HbHpVCmh4 XA1kdmMQYXRrEl5ycxVbcXwXWG+IGVVulhtSbqYcUG25HU9t2B1ObfYcTm3/G05t/xpObv8aTm3/ GU5t/xlObf8ZTm3/GeVUAADTXAAAv2MAALBpAAClbwAAnHUAAJZ8AACNggYAhIQUAH2FIgB4hzAA c4c7AW+GRANqhEwGZoJTCWOAWgxffmEOXHxpEVl6cRNWeHoWU3eGGFB1lBpOdKQbTHS3G0p00xtK dPQbSnT/Gklz/xlJc/8ZSXP/GEpz/xhKc/8YSnP/GN9XAADKXwAAt2YAAKlsAACecgAAlXgAAI2A AACFiAIAfIsRAHWNHwBwjywAbY84AWmOQQJljUkFYYtRB12JWApah18MV4VnD1SDbxFRgXgUTn+E Fkx+kRdJfaIZR3y1GUZ8zxlFfPMYRXv/GEV7/xhFev8XRXr/F0V6/xdFev8XRXr/F9ZaAADBYgAA rmkAAKFwAACXdgAAjX0AAIWFAAB8kQAAc5UNAG2WGwBpmCgAZZo1AGKZPwFemEcDW5ZPBViUVghV kl0KUpBlDE+ObQ9MjHcRSouCE0eJkBRFiKAWQ4ezFkGHzRZBhvEWQYX/FUCE/xVAg/8VQIP/FUCC /xVAgv8VQIL/FcxeAAC3ZgAApm0AAJl0AACPegAAhYEAAHyKAABzmQAAa6AIAGSiFgBgpCQAXaYw AFumOwBYpUQCVaRMA1KiVAVPoFsHTZ9jCUqdawtIm3UNRZmAD0KXjhBAlp4SPpWxEj2UyxI9k+8S PJH/EjuP/xI7jv8SO47/EjuN/xI7jf8SO43/EsJiAACtagAAnXEAAJF4AACHfgAAfYYAAHSRAABr ngAAYq0CAFyxEABYsh4AVbMrAFO0NwBRtEEBTrRJAkyyUQNKsVkER69hBkWuaQdDrHMJQKp/Cj6o jAw8p50NOqawDTilyQ04o+4NOKD/DTee/w42nf8ONpz/DjWb/w81m/8PNZv/D7VnAACibgAAlHUA AIl8AAB/gwAAdY0AAGyZAABjpgAAW7UBAFPACgBOwhgATMMlAErDMQBIxDwAR8RFAEXETgFDw1YC QcJeAz/BZwQ9v3EFO719Bjm8iwc3upsHNbmuCDS3xwgztewHM7L/CDKv/wkxrf8JMKz/CjCs/wow rP8KMKz/CqhsAACYcwAAi3oAAICAAAB3igAAbZYAAGSjAABcsAAAU74CAEvNBwBF1RAAQtQdAEDV KgA+1TUAPdY/ADzWSAA71lEAOdVaADjUYwE2020BNdJ5AjPQiAMxz5kDL82sAy7MwwMtyekDLcb9 AyzC/wQrwP8FK77/BSu8/wUrvP8FK7z/BZxxAACNeAAAgn4AAHiIAABukwAAZaAAAFyuAABUvAAA TMoBAETZBgA+6w4AOukaADjpJAA16S4ANOk3ADPpQAAy6UkAMelSADDpWwAv6GYALedyACzmgAAq 5JAAKeOkACfhugAm3+AAJdr3ACTX/wEk0/8BJc7/ASXN/wIlzf8CJc3/ApB3AACDfQAAeYUAAHCR AABmngAAXawAAFS6AABMyQAARNgAADzlBQA4/xAANP0YADH9IQAv/SkALf0xACv9OQAq/EAAKPxI ACf8UQAl+1oAJPtlACL6cgAh+IIAH/aVAB71qQAc88IAG/HoABnr/gAa5P8AG+D/ABzf/wAc3/8A HN//AIV8AAB7gwAAcY8AAGecAABdqwAAVboAAEzJAABE2AAAPOUAADb7BQAx/w4ALv8VACr/HQAo /yQAJv8rACP/MQAh/zcAH/8+AB7/RQAc/04AGv9YABj/YwAW/3IAFf+CABP/lgAS/6wAEf/HABD/ 6QAR/PQAEfb6ABHz/QAR8/0AEfP9AHyBAAByjQAAaJsAAF6qAABVuQAATMkAAETZAAA85wAANPIA AC//AgAq/wsAJv8RACP/FwAg/x0AHv8jABv/KAAZ/y0AF/8zABX/OgAT/0EAEf9JAA//UwAN/2AA C/9vAAr/gQAJ/5UAB/+qAAb/wAAJ/8wACv/ZAAr/3wAK/98ACv/fAHOLAABpmAAAYKYAAFa2AABO xQAARdUAAD3lAAA08gAALf8AACb/AAAi/wUAHv8MABv/EQAY/xUAFv8bABP/HwAR/yQAEP8pAA7/ LgAM/zQACf87AAf/RAAE/04AAP9bAAD/awAA/3wAAP+QAAD/owAA/7MAAP+3AAD/uQAA/7kAAP+5 AGuVAABhowAAWbEAAFDAAABHzwAAP98AADfsAAAv+AAAKf8AACL/AAAe/wQAGv8KABf/DgAU/xIA Ev8WABD/GQAO/x0ADP8hAAr/JQAI/yoABf8wAAH/NwAA/z8AAP9JAAD/VQAA/2MAAP9zAAD/hAAA /5UAAP+hAAD/pgAA/6YAAP+mAP8rJAD/KyUA/yooAP8oLAD/JjIA/yI5AP8dQgD/GU0A/xZYAP8T YwD/EW8A/xB6AP8QhAD/EIwA/xCUAP8QnAD/EKMA/xCqAP8QsQD/ELkA/xK9AP8TwwD/FcoA/xbU AP8X4QD/GOoA+RjyAPIZ+ADsGvwA6Bv/AOYc/wDmHP8A5hz/AP8tIgD/LSMA/ywlAP8qKQD/KC8A /yQ3AP8gQAD/HEoA/xlVAP8XYQD/FWwA/xR3AP8UgAD/FIkA/xSRAP8UmQD/FKAA/xSnAP8UrwD/ FLcA/xXAAP8XxQD/GM0A/xrZAP8b5AD6HO4A8hz1AOse+wDlH/8A4SD/AN4h/wDeIf8A3iH/AP8u IAD/LyAA/y4iAP8tJgD/KiwA/yg0AP8jPAD/IEcA/x5SAP8dXQD/G2gA/xpzAP8afAD/GoUA/xqN AP8alQD/Gp0A/xqkAP8aqwD/GrQA/xq+AP8byAD/HdAA/x7eAPsf6QDyIPIA6SL5AOIj/gDcJf8A 2CX/ANUm/wDVJv8A1Sb/AP8wHQD/MR0A/zEfAP8vIgD/LSgA/ysvAP8oOQD/JkMA/yVOAP8jWQD/ ImQA/yFuAP8heAD/IYEA/yGJAP8hkQD/IZkA/yGgAP8hqAD/IbEA/yG7AP8gyAD/IdcA/CPlAPIk 7wDoJfcA3yf9ANgp/wHRKf8BzSr/Acsq/wHLKv8Byyr/Af8zGwD/NBoA/zQbAP8yHgD/MCMA/y8r AP8uNQD/LUAA/ytKAP8qVQD/KGAA/yhqAP8ndAD/J30A/yeFAP8njQD/J5UA/yedAP8npQD/J64A /ye4AP4nxQD7J9sA8ifsAOcp9QDdK/0B0yz/Acwt/wLGLv8Cwi7/AsAv/wLAL/8CwC//Av81GAD/ NhcA/zcXAP82GQD/NB4A/zQnAP80MQD/MzwA/zFGAP8wUQD/L1sA/y9mAP8ubwD/LngA/y6BAP4u iQD7LpEB+S6ZAfcuogH0LasB8S21Ae0twwHpLdkB4S7uANou/AHPL/8CxzH/AsAx/wO6Mv8DtzL/ BLQz/wS0M/8EtDP/BP84FQD/ORMA/zoTAP85FQD/ORoA/zkjAP84LAD/ODcA/zdCAP82TAD+NVcA +jVhAPc1awDzNHQB8DR9Ae00hQHqNI0B5zSWAeUznwHhM6kB3jO0AtkywgLUMtkCzTTuAsY0/APA NP8EujT/BLM1/wWuNv8Fqzb/Bak2/wapNv8GqTb/Bv86EgD/PBAA/z0PAP88EAD/PhYA/z4eAP89 JwD/PDEA+zw8APQ7RwDvO1MA6jtdAOY6ZwHiOnAB3jl4Ado5gQLWOIkC0ziSA884mwPMOKQDyDiv BMQ4vATAOM4EujnpBLQ6+wWuOf8GqTn/B6U5/weiOv8Hnzr/CJ06/widOv8InTr/CP88DwD/Pg0A /0ALAP9BDQD/QhIA/0IZAP9CIgD1QCsA7EA3AORBQwDeQU4A2EBYAdNAYgHOP2sCyj9zA8Y+ewPD PoMEvz2MBbw9lQW5PZ4GtT2pBrE8tgetPMYHqT3jB6M+9weePv8Imj7/CZc+/wmUPv8Kkj7/CpE+ /wqRPv8KkT7/Cv8+DQD/QQoA/0IHAP9ECQD/RQ0A/0YTAPRFGwDnRCQA3EUxANNGPgDMR0kAx0ZU AcFGXQK9RWUDuURtBLVDdQWyQ30GrkKGB6tBjwioQZkIpUGkCaFBsAqdQb8KmkHaCpVC8guQQv8L jUL/DIpC/wyIQ/8MhkP/DIVD/wuFQ/8LhUP/C/9BCwD/QgUA/0QCAPtHBAD0SAgA9UkNAOdIEwDY SR8AzEstAMRMOgC9TUUAuExPAbNLWAOuSmEEqklpBadIcAajR3gIoEaACZ1GiQqaRZMLlkWeDJNE qwyQRLoNjETPDYhF7g2ERv8OgUb/Dn9G/w59R/8NfEf/DXtH/w17R/8Ne0f/Df9CBwD/RAIA90YA AOlKAQDhTAUA3U0IANpMDQDKThsAv1ApALdRNgCxUkIAq1FMAaZQVAOiT10Enk1kBptMbAeXS3MJ lEp7CpFKhAuNSY4NikmZDodIpg+DSLUPgEjJEH1J6RB6Sf0Qd0r/EHVK/w90S/8Pc0v/D3JL/w5y S/8Ockv/Dv9DBAD8RQAA7UoAAN9OAADUUQMAz1IGAMxRCgC+UxcAs1UmAKxWMwCmVz4AoVZIAZxV UQOYU1kFlFJhBpBRaAiNUG8KiU93C4ZOgA2DTYoOgEyVD3xMohB5TLARdkzDEnNM5BJxTfoSb07/ EW1O/xFsT/8QbE//EGtP/w9rT/8Pa0//D/9EAgDzRwAA5k0AANZRAADLVAEAxFYEAMFWBwC0WBQA qlkjAKNaMACdWzsAmFpFAZNZTgOPWFYFi1ZdB4dVZQiEVGwKgFN0DH1SfA56UYYPd1CREXRQnhJx T60Tbk+/E2xQ4BNpUPgTaFH/EmdS/xJmUv8RZVL/EWVT/xBlU/8QZVP/EP9FAADuSgAA3k8AAM1U AADCWAAAu1oCALhaBACsXBIAol0gAJteLQCVXzkAkF9DAYxdSwOHXFMFg1tbB39ZYgl8WGkKeVdx DHZWeQ5yVYIQb1SOEW1TmxNqU6oUZ1O8FGVT2hVjVPUUYlX/E2FV/xJhVv8SYFb/EWBW/xFgVv8R YFb/EfVGAADpTAAA11IAAMZXAAC7WwAAs10AALBeAQCkYBAAmmEdAJNiKgCOYzYAiWNAAYViSQKA YFEEfF9YBnldXwh1XGYKcltuDG9adg5sWYAQaViLEmZXmBNkV6cUYVe5FV9X1BVeWPMVXVj/FFxZ /xNcWf8SXFn/EltZ/xFbWf8RW1n/EfFIAADkTgAA0FQAAMBZAAC0XQAArGAAAKhiAACdZA0AlGUa AI1mKACHZzQAg2c+AX5mRwJ6ZU4EdmNWBnJiXQhvYGQKbF9rDGledA5mXX0QZFyIEmFblhReW6UV XFu3FVpb0BZZW/IVWFz/FFhc/xNXXf8SV13/Eldd/xFXXf8RV13/Ee1KAADfUAAAyVcAALlcAACu YAAApWMAAKBmAACWaAsAjWkYAIZqJQCBazEAfWs8AHhqRAJ0aUwDcGhUBW1mWwhqZWIKZ2RpDGRj cg5hYXsQX2CGElxfkxNaX6MVV1+0FVVfzRZUX/AVVGD/FFRg/xNTYP8SU2H/ElNh/xFTYf8RU2H/ EelMAADZUwAAw1kAALNeAACoYwAAn2YAAJlpAACPbAgAhm0VAH9uIgB6by8Ad3A5AHJvQgFvbkoD a21SBWhsWQdlamAJYmlnC19ocA1dZnkPWmWEEVdkkRNVZKAUU2OyFVFkyhVQZO0VUGT/FE9k/xNP ZP8ST2T/Ek9l/xFPZf8RT2X/EeRPAADRVQAAvFwAAK1hAACiZgAAmWkAAJJtAACIcAQAf3ISAHlz IAB0dCwAcHU3AG11QAFpdEgDZnNQBGNyVwZgcF4IXW9lC1tubQ1YbHcPVWuBEFNqjhJQaZ4TTmmw FExpxxRLaesUS2n/E0tp/xJLaf8SS2n/EUtp/xFLaf8RS2n/Ed5RAADJWAAAtV4AAKdkAACcaQAA k20AAIpxAACBdQEAeHcPAHJ5HABteikAans0AGd7PgFke0YCYXpOBF54VQVbd1wHWHZjCVZ0awtT c3QNUHJ/D05xjBFMcJwSSm+tE0hvxBNHb+kTR2//Ekdv/xFGbv8RRm7/EUZu/xBGbv8QRm7/ENZU AADBWwAArmIAAKFnAACVbAAAjHAAAIN2AAB5ewAAcX4MAGt/GABmgSUAY4IxAGGDOwBeg0QBW4JL A1mAUwRWf1oGU35hCFF8aQpOe3ILTHp9DUl5ig9HeJoQRXerEUN3whFCd+cRQnb9EEJ1/xBCdf8Q QnX/D0J1/w9Cdf8PQnX/D85XAAC4XgAAp2UAAJprAACPcAAAhXUAAHt6AABxgwAAaYYIAGOIFABf iSEAXIstAFqMOABYjEEBVYtJAlOKUANRiVgETohfBkyGZwdJhXAJR4R7C0WDiAxCgZgNQIGpDj+A vw4+gOQOPn/8Dj1+/w49ff8OPX3/DT18/w09fP8NPXz/DcVbAACvYgAAn2kAAJJuAACHdAAAfnkA AHSAAABqigAAYpACAFyTEABYlB0AVZYpAFOXNABRlz0AT5dGAU2WTgFLlVUCSZRdBEeTZQVEkm4G QpB5CECPhgk+jpUKPI2nCzqMvQs5i+ILOYr6CjiI/ws4h/8LOIb/CzeG/ws3hv8LN4b/C7lfAACl ZgAAl20AAItyAACAeAAAd34AAG2GAABkjwAAWpwAAFSgCwBPohcATaMkAEukLwBJpDkASKVCAEal SgBEpFIBQ6NaAkGiYgM/oWsDPaB2BDuegwU5nZMGN5ylBzWbuwc0mt4HNJj5BjOV/wczlP8HMpP/ CDKS/wgykv8IMpL/CK1kAACcawAAjnEAAIN3AAB5fQAAb4UAAGaOAABdmAAAVKQAAEyvBABHshEA RLIdAEKzKQBAszMAP7Q8AD60RQA8tE0AO7RWADqzXgE4smgBNrFzAjWwgAIzr5ADMa2jAzCsuAMu q9kDL6j2Ay6l/wMto/8ELKL/BCyh/wUsof8FLKH/BaJpAACScAAAhXYAAHt7AABxhAAAaI0AAF+X AABXogAATq4AAEW6AgA+wwoAOsQWADjFIQA2xSwANcU1ADTFPgAzxUYAMsVPADHFWAAwxWIAL8Ru AC3DewAswYwBKsCfASm/tAEnvdEBJ7r0ACe3/wEmtf8BJrP/ASWy/wIlsv8CJbL/ApZuAACIdQAA fXoAAHOCAABqjAAAYZcAAFijAABPrgAAR7oAAD/GAgA20QcAMNoNAC3ZGAAs2SMAKtksACnZNQAo 2T4AJ9lHACbZUAAl2FoAJNdmACPWcwAi1IQAINOXAB/RrQAd0MgAHczuAB3J/wAdxv8AHcX/ABzE /wAcxP8AHMT/AIt0AAB/eQAAdYEAAGuLAABilwAAWaMAAFCwAABIvAAAQMgAADjUAAAw3wUAKvIN ACfwFQAl7x0AI+8mACHuLgAg7jUAHu49AB3tRgAc7U8AGuxaABnrZwAY6nYAFuiIABXmnwAT5LcA EuLfABHd+QAR2/8AEdn/ABHY/wAR2P8AEdj/AIF5AAB3gAAAbYoAAGOWAABaowAAUbEAAEi+AABA ygAAONgAADDiAAAp7gMAJf8LACL/EgAf/xkAHf8gABr/JgAY/y0AF/80ABX/OwAT/0MAEf9NABD/ WAAO/2YADv53AA38iwAL+qIACve9AAnz5gAH8PwAB+r/AAjn/wAI5/8ACOf/AHh/AABuiQAAZJYA AFujAABSsgAAScAAAEDOAAA43AAAMOcAACjwAAAj/wAAHv8HABv/DgAY/xMAFv8ZABP/HgAR/yMA EP8pAA7/MAAM/zcACv8/AAf/SQAF/1UAA/9kAAH/dgAA/4sAAP+iAAD/uwAA/9sAAPnoAAD07wAA 9O8AAPTvAHCIAABmlQAAXKIAAFOwAABKvwAAQc4AADndAAAw6gAAKPUAACH+AAAc/wAAGP8CABT/ CAAS/w0AEP8SAA7/FgAM/xoACf8fAAb/JAAE/ysAAP8yAAD/OgAA/0UAAP9RAAD/YQAA/3IAAP+H AAD/nQAA/7AAAP+8AAD/wgAA/8IAAP/CAGiSAABfnwAAVq0AAE27AABEyQAAO9gAADPmAAAr8QAA I/oAAB3/AAAX/wAAFP8AABH/BAAO/wkADP8NAAr/EAAH/xMAA/8XAAD/GwAA/yAAAP8mAAD/LQAA /zYAAP9AAAD/TQAA/1wAAP9sAAD/fgAA/5AAAP+dAAD/qAAA/6gAAP+oAP8mIwD/JSMA/yQmAP8h KgD/HDAA/xc3AP8SQAD/DkoA/wtVAP8IYAD/BWsA/wR1AP8EfgD/BIYA/wSOAP8DlQD/A5wA/wKj AP8CqgD/ArEA/wG6AP8DwAD/BccA/wbRAP8I4AD/COsA/AnzAPUJ+gDvCv8A6wz/AOgM/wDoDf8A 6A3/AP8oIQD/JyEA/yUjAP8jJwD/Hy0A/xo0AP8VPQD/EEcA/w1SAP8MXQD/C2gA/wpyAP8KegD/ CoMA/wmKAP8JkgD/CZkA/wifAP8IpgD/CK4A/we3AP8HwgD/CcsA/wraAP8L5gD/C/EA9gz5AO8N /wDpDv8A5RD/AOIR/wDiEf8A4hH/AP8pHgD/KR4A/ycgAP8lIwD/ISkA/x0wAP8XOQD/FEMA/xNO AP8RWQD/EGQA/w9uAP8PdgD/D38A/w6GAP8OjgD/DpUA/w6cAP8OowD/DqsA/w20AP8NvgD/Dc0A /w3iAP8O7gD4DvcA8BD/AOgS/wDiFP8A3RX/ANkW/wDYFv8A2Bb/AP8rGwD/KxsA/yocAP8nHwD/ JCUA/yAsAP8dNQD/G0AA/xlLAP8XVQD/Fl8A/xVpAP8VcgD/FXoA/xSCAP8UiQD/FJEA/xSYAP8U oAD/FKgA/xSwAP8TuwD/E8oA/hPiAPYS8gDwE/8A5hb/AN0Z/wDVG/8A0Bz/AMwd/wDMHf8AzB3/ AP8uGAD/LRcA/ywYAP8qGwD/Jx8A/yUoAP8kMgD/IjwA/yBGAP8eUQD/HVsA/xxlAP8cbgD/G3YA /xt+AP8bhQD/G40A/xuUAP4bnAD8G6UA+RuuAPYbuQDzGsgA7RrhAOUa8gDfHP8A2B7/AM8g/wDI Iv8AwyL/AMAj/wDAI/8AwCP/AP8wFQD/MBMA/y8TAP8tFQD/KxoA/yojAP8qLQD/KDgA/yZCAP8l TAD/JFYA/yNgAP0jaQD6I3EA+CJ5APUjgQDyIokA8CKRAO0imQDqIqIA5yKsAOQiuADfIscA2SLi ANEk9ADLJf8AxSb/AMAn/wG7J/8Btyj/AbQp/wGzKf8Bsyn/Af8zEgD/MxAA/zIPAP8wEAD/MBYA /y8fAP8uKAD/LTIA/yw9APorRwD0KlIA8CpbAOwqZQDoKW0A5Sl1AOIqfQDfKYUA3CmOANkplwDV KqAA0iqqAM4qtgDKKsUAxSvfAL4s8wC4Lf8Bsi3/Aa4u/wGrLv8CqC7/Aqcu/wKmLv8Cpi7/Av81 DgD/NQwA/zULAP80DAD/NRIA/zQZAP8yIgD4MSwA7zA3AOgwQgDiME0A3TBXANkwYADUMGkA0TFx AM4xeQDKMYEAxzGJAMQxkgHBMZsBvjGlAboxsQG2Mb8BsjLWAawz7wGnM/8CojP/Ap40/wObNP8D mTT/A5g0/wOXNP8DlzT/A/83DAD/OAkA/zgGAP84CAD/OQ0A/zgTAPU2GwDoNCUA3jUxANU2PQDP NkgAyjdSAMY3XADCN2QAvjdsALs3dAG4N3wBtTeEAbI3jAKvN5YCrDegAqk3rAOlN7oDoTfOA504 6wOYOP0ElDn/BJA5/wSNOf8EjDn/BYo5/wSKOf8Eijn/BP85CQD/OgQA/zoBAPs7AwD0PAgA9TsN AOY5EwDYOR8AzDssAMQ8OQC+PUQAuT5OALU+VwCxPl8Brj1nAas9bwKoPXYCpjx+A6M8hwOgPJAD nTybBJo8pwSWPLUFkzzHBY885gWKPfoFhz3/BoQ+/waBPv8GgD7/Bn8+/wZ/Pv8Gfz7/Bv87BgD/ PAAA9TwAAOhAAADgQQQA2z8IANY9DQDHPxsAvUEoALVCNACwQ0AAq0RKAKdDUwCkQ1sBoUNjAp5C agKbQnIDmEF5BJVBggSSQIsFj0CWBoxAogaJQLAHhkDBB4JA4Ad/QfYHe0L/CHlC/wh3Qv8HdkL/ B3VD/wd1Q/8HdUP/B/88AgD4PQAA7EEAAN1EAADSRgEAy0UFAMhDCgC6RRcAsEYkAKlHMQCkSDwA oElGAJxJTwGYSFcBlUdfApJHZgOPRm0EjUZ1BYpFfQaHRYcGhESRB4FEngh+RKwJe0S8CXhE2Al1 RfMJckb/CXBG/wlvRv8Jbkf/CG1H/whtR/8IbUf/CP89AADyQAAA40UAANJIAADHSgAAv0oCALtI BwCvSRMApkshAJ9MLQCaTTkAlk1DAJJNTAGPTVQBi0xbAohLYgOFSmoEg0pxBYBJeQZ9SYIHekiN CXdImgl0SKgKcUi4C29I0AtsSfALakn/C2lK/wpoSv8KZ0r/CWZL/wlmS/8JZkv/Cfg+AADsQwAA 20gAAMlMAAC9TgAAtU8AALJNAwCmThEAnU8eAJZRKgCRUTUAjVJAAIpSSQGGUVEBg1BYAoBPXwR9 T2YFek5uBndNdgd1TX8IckyKCW9MlgtsS6QLaku1DGdMywxlTO0MZE3/DGJN/wtiTv8KYU7/CmFO /wpgTv8KYE7/CvNBAADnRQAA00sAAMJPAAC2UgAArVIAAKlRAACeUg4AlVMbAI5UJwCJVTMAhlY9 AIJWRgF/VU4Be1RVAnhTXAR2U2MFc1JrBnBRcwduUHwJa1CGCmhPkwtmT6IMY0+yDWFPyA1fUOoN XlD/DF1R/wxcUf8LXFL/C1xS/wpcUv8KXFL/Cu9DAADiSAAAzE0AALtSAACvVAAAp1YAAKJVAACX VgwAjlcYAIdYJQCCWTAAf1o6AHtaQwB4WUsBdVhTAnJYWgNvV2EFbVZoBmpVcAdoVHkJZVSECmNT kAxgU58NXlOvDVxTxQ5aU+gOWVT9DVhU/wxYVf8LV1X/C1dV/wpXVf8KV1X/CutFAADcSgAAxVAA ALVUAACpVwAAoFkAAJpZAACQWgkAh1sVAIFcIgB8XS0AeF04AHVeQQByXUkBb1xQAmxcVwNpW14E Z1pmBmVZbgdiWHcJYFiBCl1XjgxbV50NWVetDldXwg5VV+UOVVf8DVRY/wxUWP8MU1j/C1NY/wtT WP8LU1j/C+dHAADVTAAAv1IAALBXAACkWgAAm1wAAJRcAACKXgYAgV8TAHpgHwB2YSsAcmE1AG9i PwBsYUcBamFOAmdgVQNkX1wEYl5kBmBebAddXXUJW1x/CllbjAxWW5sNVFurDlJbwA5RW+MOUFv7 DVBc/wxQXP8MT1z/C09c/wtPXP8LT1z/C+JJAADOTwAAuVUAAKpZAACeXQAAlV8AAI1gAACDYgMA e2MQAHRkHQBwZSgAbGYzAGpmPABnZkUBZWZMAmJlUwNgZFoEXWNiBVtjagdZYnMIVmF9ClRgiQtS X5gMUF+pDU5fvQ5NX+ANTF/5DUxg/wxLYP8LS2D/C0tg/wtLYP8KS2D/Ct1LAADHUQAAs1cAAKVc AACZYAAAj2IAAIdkAAB9ZgAAdGcOAG5oGgBqaSUAZ2owAGRrOgBia0IAYGtKAV1rUQJbalgDWWlg BVZoaAZUZ3AIUmZ7CVBlhwtNZZYMS2SnDUpkuw1IZN0NSGT4DEhk/wxHZP8LR2T/Ckdk/wpHZP8K R2T/CtZOAADAVAAArVoAAJ9fAACTYwAAiWYAAIBoAAB2awAAbm0LAGhuFgBkbyIAYXAtAF5xNwBc cUAAWnFIAVhxTwJWcFYDVG9eBFJuZQVPbW4HTWx4CEtshQlJa5QLR2qlC0VquQxEatkMQ2r2C0Nq /wtDaf8KQ2n/CkNp/wpDaf8JQ2n/Cc9QAAC4VwAApl0AAJliAACNZgAAg2kAAHptAABvcQAAaHMH AGF0EwBddR8AW3YqAFh3NABXeD0AVXhFAFN4TQFRd1QCT3dbA012YwRLdWwFSHR2B0ZzgghEcpEJ QnKiCkBxtgo/cdMKP3H0CT9w/wk+b/8JPm//CT5v/wk+b/8JPm//CcZUAACwWwAAn2EAAJJmAACH agAAfW4AAHNyAABoeAAAYXoCAFt8DwBXfRsAVH4mAFJ/MABQgDoAT4BCAE2ASgBLgFEBSX9ZAkd/ YQNFfmkEQ310BUF8gAY/e48HPXqgBzx6tAg6es8IOnnyBzp4/wc5d/8HOXb/Bzl2/wc5dv8HOXb/ B7xYAACnXwAAmGUAAItpAACBbgAAd3IAAG13AABjfgAAWoMAAFSFCwBPhxYATYgiAEuJLABJijYA R4o+AEaKRgBFik4AQ4pVAUKJXgFAiGcCPodxAzyGfQQ6howEOIWeBTeEsQU1hMwFNYPwBTWB/wU0 gP8FNH//BTR//wU0f/8FNH//BbFcAACeYwAAkGkAAIRuAAB6cgAAcXcAAGd9AABehAAAU44AAEyR BQBHkxEARZQdAEOVJwBBlTEAP5Y5AD6WQgA9lkkAPJZSADuWWgA5lWMBOJVuATaUegI0k4kCM5Kb AjGRrwMwkMgDL4/tAi+N/wMui/8DLor/Ay6J/wMuif8DLon/A6ZhAACVaAAAiG0AAH1yAAB0dwAA an4AAGGEAABYjAAAT5UAAEWfAAA/ogsAPKMWADqkIQA4pCsAN6U0ADWlPAA0pUQAM6VMADKlVQAx pV4AMKRpAC+jdgAtooUALKGXASqgqwEpn8MBKZ3pASib/gEomf8BJ5f/ASeW/wEnlv8BJ5b/AZtm AACMbAAAgHIAAHZ3AABtfgAAY4UAAFqNAABSlgAASZ8AAECpAAA3swQAMrUQADC1GgAutSQALbYt ACy2NQArtj0AKrZFACm1TgAotVcAJ7ViACa0bwAks34AI7KQACKxpQAgr70AH63jAB+q+wAfqP8A H6f/AB+m/wAfpf8AH6X/AJBsAACDcQAAeXcAAG99AABmhgAAXI8AAFSYAABLogAAQqwAADq2AAAx vwIAKckHACXKEQAkyhoAIskkACHJLAAgyTQAH8k9AB7JRQAdyE8AHMhaABvHZgAaxnUAGcSIABfD nQAWwbUAFL/ZABS79wAUuf8AFLf/ABS2/wAUtv8AFLb/AIZxAAB7dgAAcX0AAGiGAABekAAAVZoA AEylAABEsAAAO7oAADPEAAArzQAAJNUFAB3dCgAa4hEAGOEZABfhIgAV4CoAFOAyABPfOwAT3kQA Et5PABHcWwAQ22oADtl8AA7WkgAN06kADNHEAAvP6wALzP8AC8r/AAvJ/wALyf8AC8n/AH12AABz fQAAaYYAAGCQAABWnAAATagAAEW0AAA8vwAANMoAACzUAAAk3QAAHuMBABnwBwAW+w4AE/oVABL5 GwAQ+SIADvgpAA33MAAM9zkAC/VCAAnzTQAI8FsAButrAATofgAD5pUAAuSsAADiyAAA4OwAAN/7 AADe/wAA3v8AAN7/AHV8AABrhgAAYZEAAFidAABOqwAARbgAADzEAAA00AAALNwAACTkAAAd6wAA F/EAABP/AwAR/woAD/8PAA3/FAAL/xkACf8fAAb/JgAE/y0AAf81AAD/PwAA/0sAAP9ZAAD8agAA +n4AAPiVAAD2qwAA9cIAAPTfAADw6AAA7+oAAO/qAG2FAABjkQAAWZ4AAFCrAABHuQAAPccAADTV AAAs4wAAJOwAABzzAAAW+AAAEf8AAA7/AAAM/wQACv8JAAf/DQAE/xEAAf8WAAD/GwAA/yEAAP8o AAD/MQAA/zsAAP9IAAD/VwAA/2gAAP97AAD/kAAA/6QAAP+zAAD/vQAA/74AAP++AGWQAABcnAAA U6kAAEq2AABBxAAAONIAADDfAAAo6wAAIPMAABj6AAAS/wAADv8AAAv/AAAH/wAABP8CAAD/BgAA /woAAP8NAAD/EQAA/xYAAP8cAAD/JAAA/y0AAP83AAD/RAAA/1MAAP9kAAD/dQAA/4cAAP+VAAD/ oAAA/6MAAP+jAP8hIgD/HyIA/x0kAP8ZKAD/Ey0A/w41AP8JPQD/A0cA/wBSAP8AXQD/AGcA/wBx AP8AeQD/AIEA/wCIAP8AjwD/AJYA/wCdAP8AowD/AKoA/wCzAP8AvQD/AMQA/wDNAP8A2wD9AOYA 9wDvAPEA9gDtAPsA6QD/AOcA/wDlAP8A5QD/AP8iHwD/IR8A/x4hAP8bJQD/FSoA/xAxAP8LOgD/ BUQA/wFPAP8AWQD/AGQA/wBtAP8AdQD/AH0A/wCEAP8AiwD/AJIA/wCZAP8AoAD/AKcA/wCvAP8A uQD/AMUA/wDTAP8A4wD6AO0A9AD1AO4A/ADpAf8A5QP/AOEE/wDgBP8A4AT/AP8kHAD/IxwA/yAe AP8cIQD/GCcA/xItAP8MNgD/CkAA/whLAP8GVQD/BV8A/wRpAP8EcQD/BHkA/wSAAP8DhwD/A44A /wOVAP8CnAD/AqMA/wKrAP8CtQD/AcEA/wDTAPsA6QD2APUA8AL9AOgF/wDiCP8A3An/ANgK/wDW Cv8A1gr/AP8mGQD/JRgA/yIaAP8fHQD/GiEA/xUoAP8SMgD/EDwA/w5HAP8NUQD/DFsA/wtkAP8L bQD/C3QA/wt7AP8LggD/CokA/wqQAP8KmAD/CaAA/wmoAP4JsgD6Cb4A9QjPAPAI6ADqCPcA5Qr/ AN8L/wDXDv8A0Q7/AM0Q/wDLEP8AyxD/AP8oFQD/JxQA/yUVAP8hFwD/HBwA/xslAP8YLgD/FjgA /xRCAP8TTQD/ElYA/xFfAP8RaAD/EXAA/xF3AP4RfgD7EYUA+RCMAPYQlAD0EJwA8RClAO0QrwDq ELwA5RDOAN4Q6ADWEfgA0BL/AMsT/wDHFP8AxBX/AMIV/wDAFv8AwBb/AP8qEgD/KRAA/ycQAP8k EQD/IhcA/yEgAP8fKQD/HDMA/xs+AP8ZSAD8GVEA+BhbAPQYYwDxGGsA7hdzAOsXegDoF4EA5ReJ AOMXkQDgF5oA3BejANgXrgDUF7sAzxfNAMgZ6ADCGvoAvBz/ALcd/wCzHv8AsR7/AK8e/wCuHv8A rh7/AP8tDgD/LAwA/yoLAP8nDAD/JhIA/yUaAP8kJAD+Ii4A9iA4AO8fQwDpH0wA5B9WAOAfXgDc H2cA2R9uANUfdgDSH30Azx+FAMwgjQDJIJYAxiCfAMMgqgC/IbcAuiHIALUi5ACvI/gAqiX/AKYl /wCiJv8AoCb/AJ4m/wCeJv8Anib/AP8vCwD/LwgA/ywFAP8sCAD/Kw0A/ykUAPknHQDsJScA4yQy ANslPQDUJUcAzyZRAMsmWgDHJ2IAxCdpAMEncQC+KHgAuyiAALkoiAC2KJEAsymbALAppgCsKbMA qSrEAKQq4ACfK/UAmiz/AJct/wGTLf8BkS3/AZAt/wGPLf8Bjy3/Af8xCAD/MQMA/y8AAP8vAwD4 LggA+CwNAOgpFADaKSAAzissAMYsOADBLUIAvC5MALguVQC1Ll0Asi9lAK8vbACtL3MAqy97AKgw gwClMIwAozCXAKAwogCdMK8BmTG/AZYx2gGRMvIBjDL/AYkz/wGGM/8BhDP/AYMz/wGCM/8BgjP/ Af8zBAD/MwAA9zIAAOo1AADhNAMA2zEHANYtDgDHMBsAvTIoALUzMwCwND4ArDVIAKk1UACmNVkA ozZgAKE2aACeNm8AnDZ2AJo2fgGXNogBlDaSAZI2ngGPNqsCiza6Aog20QKEN+8CgDj/An04/wJ7 OP8CeTn/Ang5/wJ4Of8CeDn/Av81AAD4NQAA7DgAAN06AADROwAAyjkEAMU1CgC4NhcArzgkAKg5 LwCjOjoAnztEAJw7TACZO1UAlztcAJQ7YwCSO2sBjztyAY07egGKO4MCiDuNAoU7mQKCO6YDfzu2 A3w7ywN5POsDdTz+A3M9/wNxPf8DcD3/A289/wNvPf8Dbz3/A/82AADyOAAA4jwAANA/AADEQAAA vD8BALc7BgCsPBMAoz0gAJw/LACYPzYAlEBAAJFASQCOQVEAjEBYAIlAYAGHQGcBhEBuAYJAdgKA P38CfT+JA3o/lQN4P6MEdT+yBHJAxgVvQOcFbUH8BWtB/wRpQf8EaEL/BGdC/wRnQv8EZ0L/BPc4 AADrPAAA2EAAAMZEAAC5RQAAsUQAAKxAAwCiQRAAmUIcAJNDKACORDMAikU9AIdFRgCFRU4AgkVV AIBFXAF9RWMBe0RqAnlEcgJ2RHsDdEOFBHFDkQRvQ58FbEOuBWpEwgZnROMGZUX5BmRF/wViRf8F Ykb/BWFG/wRhRv8EYUb/BPI7AADmPgAAz0QAAL5HAACxSQAAqEgAAKNEAACZRQ0AkEYZAIpIJQCF SDAAgkk6AH9JQwB8SksAeklSAHhJWQF1SWABc0hnAnFIbwNvSHgDbEeCBGpHjgVnR5wGZUerBmNH vgdhSN8HX0j3Bl5J/wZdSf8FXEn/BVxJ/wVbSf8FW0n/Be09AADfQQAAx0cAALdKAACrTAAAoUwA AJxJAACRSQoAiUoWAINLIgB+TC0Aek03AHhNQAB1TUgAc01PAHFNVgFvTV0BbExkAmpMbANoTHUE Zkt/BWRLiwVhS5kGX0upB11LuwdbS9sHWkz2B1lM/wZYTf8GV03/BVdN/wVXTf8FV03/Bek/AADY RAAAwUkAALFNAAClTwAAm08AAJVNAACKTQgAgk4TAHxPHwB3UCoAdFE0AHFRPQBvUUUAbVFNAGtR VAFoUVsBZlBiAmRQagNiT3IEYE98BV5PiAZcT5cHWk6mB1hPuQhWT9UIVU/0B1RQ/wdTUP8GU1D/ BlNQ/wVTUP8FU1D/BeRBAADQRgAAu0wAAKtPAACfUgAAllMAAI5RAACEUQUAfFIRAHZTHABxVCcA blQxAGtVOgBpVUMAZ1VKAGVVUQFjVFgBYVRgAl9UZwNdU3AEW1N6BVlThgZXUpQHVVKkB1NStwhS U9IIUFPyCFBT/wdPU/8GT1P/Bk9T/wVPU/8FT1P/BeBDAADKSQAAtU4AAKZSAACaVAAAkVYAAIhV AAB+VQEAdlYOAHBXGgBsVyUAaFgvAGZZOABkWUAAYllIAGBZTwFeWVYBXFheAltYZQNZWG4EV1d4 BVVXhAZTVpIHUVaiB09WtQhNVs4ITFfxB0xX/wdLV/8GS1f/BktX/wVLV/8FS1f/BdtFAADDSwAA sFEAAKFVAACWVwAAi1kAAIJZAAB4WQAAcFoMAGpbFwBmWyIAY1wsAGFdNgBfXT4AXV5GAFteTQBa XlQBWF1cAlZdYwJUXGwDUlx2BFBbggVOW5AGTFqgB0taswdJW8wHSFvvB0hb/wdHW/8GR1v/Bkdb /wVHW/8FR1v/BdRHAAC9TgAAqlMAAJxXAACRWgAAhlwAAH1dAAByXQAAa14JAGVfFABhYCAAXmEq AFtiMwBaYjwAWGNEAFdjSwBVY1IBU2JZAVFiYQJQYWoDTmF0BExgfwVKYI0GSF+eBkZfsQdFX8kH RF/tB0Nf/wZDX/8GQ1//BUNf/wVDX/8FQ1//Bc5KAAC2UQAApVYAAJdaAACLXQAAgWAAAHdhAABt YgAAZWMGAF9kEQBbZRwAWGYnAFZnMABUaDkAU2hBAFFpSQBQaFAATmhXAU1oXwJLZ2cCSWdxA0dm fQRFZYsFQ2WcBkJlrgZAZcYGP2XrBj9k/wU/ZP8FP2T/BT9j/wU+Y/8FPmP/BcZNAACvVAAAn1kA AJFeAACGYQAAfGMAAHJmAABmaAAAX2kCAFlrDgBVaxkAUm0jAFBtLQBObjYATW8+AExvRgBKb00A SW9UAUhuXAFGbmUCRG1vAkJtegNAbIgEPmyZBD1rrAU7a8MFO2voBDpq/gQ6av8EOmn/BDpp/wQ6 af8EOmn/BL1RAACoVwAAmF0AAIthAACAZQAAdmgAAG1qAABgbgAAWXAAAFNyCgBPcxUATHQgAEp1 KQBIdTIAR3Y6AEV2QgBEdkoAQ3ZRAEJ2WQBAdmIBP3VsAT11eAI7dIYCOXOXAzhzqgM2c8ADNnLm AzVx/AM1cf8DNXD/AzVw/wM0b/8DNG//A7NVAACgWwAAkWEAAIVlAAB6aQAAcWwAAGdwAABcdAAA U3gAAEx6BQBHfBEARX0bAEN9JQBBfi4AP382AD5/PgA9f0YAPH9NADt/VQA6f14AOX5pADd+dAE1 fYIBNH2TAjJ8pwIxfL0CMHviAjB6+gIvef8CL3j/Ai93/wIvd/8CL3f/AqlZAACYYAAAimUAAH9p AAB1bQAAa3EAAGJ2AABYewAAToAAAEaEAABAhwwAPYgWADuIIAA5iSkAOIkyADaJOQA1ikEANIpJ ADOKUQAyiVoAMYlkADCJcAAviH4ALYiPACyHowAqhrkAKYbdACmE+AApgv8BKIH/ASiB/wEogP8B KID/AZ9eAACQZAAAg2kAAHhuAABvcgAAZXcAAFx9AABTggAASokAAECPAAA4lAUANJYQADKWGgAw liMAL5csAC6XNAAtlzsALJdDACuXSwAql1QAKZZeACeWagAmlXgAJZSKACSUngAik7QAIZLSACGP 9AAhjv8AIYz/ACGM/wAhi/8AIYv/AJVjAACHaQAAfG4AAHJzAABpeAAAX38AAFaFAABNjAAARJMA ADubAAAzoQAALKYJACinEwAnpxwAJaclACSnLQAjpzQAIqc8ACGnRAAgp00AH6ZXAB6mYwAdpXEA HKSCABqjlwAZoq0AF6DJABee7wAXnP8AF5r/ABeZ/wAXmf8AF5n/AItpAAB/bgAAdXMAAGt5AABi gAAAWYcAAFCPAABHlwAAPp8AADanAAAtrwAAJbYDAB+7CwAcvBMAG7scABm7JAAYuywAF7s0ABa6 PAAWukUAFblPABS4WwATt2kAErZ6ABG0jgAQs6YADrHAAA6v5wAOrPwADqr/AA6p/wAOqf8ADqn/ AIFvAAB3cwAAbnkAAGSBAABbiQAAUZIAAEicAABApQAAN64AAC+2AAAnvgAAIMUAABnLBQAT0QoA ENMQABDSGAAO0iEADtEpAA3QMQAMzzsADM1FAAvMUAAKyl0ACchtAAjGgAAGxJYABcKuAATAyQAD vuwAA7z8AAO7/wADu/8AA7v/AHl0AABwegAAZoIAAFyLAABTlQAASqAAAEGqAAA4tAAAML4AACjG AAAhzgAAGtQAABPbAAAP4AUADOoKAArnEAAI5BcAB+QfAAbjJwAE4i8AA+I5AAHhQwAA4FAAAN5e AADcbwAA2oMAANiaAADVsgAA084AANHsAADQ+AAA0P0AAND9AHJ6AABogwAAXo0AAFWYAABLpAAA QrAAADm7AAAwxQAAKM8AACHZAAAa3wAAE+UAAA7qAAAL7wAACf0FAAX6CwAD9xAAAPUVAAD0HAAA 9CQAAPUsAAD1NgAA9kEAAPVPAAD0XgAA8nAAAPCFAADunAAA7LEAAOvGAADq3gAA6ecAAOnnAGqD AABgjQAAVpoAAEynAABDtAAAOcEAADHNAAAo2QAAIOMAABnpAAAT7wAADvQAAAr4AAAF/wAAA/8A AAD/BAAA/wgAAP8NAAD/EgAA/xgAAP8fAAD/KAAA/zMAAP8/AAD/TQAA/10AAP9vAAD/gwAA/5cA AP+pAAD/tQAA/7sAAP+7AGKNAABZmAAAUKUAAEeyAAA+vwAANMwAACzZAAAk5AAAHO0AABT0AAAO +wAACP8AAAP/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAAD/CQAA/w4AAP8TAAD/GwAA/yQAAP8vAAD/ PAAA/0oAAP9aAAD/bAAA/30AAP+MAAD/mAAA/54AAP+eAP8cIAD/GSAA/xYiAP8QJgD/CysA/wMy AP8AOwD/AEUA/wBPAP8AWgD/AGMA/wBsAP8AdAD/AHsA/wCCAP8AiQD/AJAA/wCWAP8AnQD/AKQA /wCsAP8AtQD/AL4A/wDFAP8AzQD7AN0A9ADnAO4A8ADoAPYA5AD7AOEA/gDfAP8A3wD/AP8dHgD/ Gx0A/xcfAP8SIgD/DCcA/wUuAP8ANwD/AEEA/wBMAP8AVgD/AGAA/wBoAP8AcAD/AHcA/wB+AP8A hQD/AIsA/wCSAP8AmQD/AKAA/wCoAP8AsAD/ALsA/wDKAP4A1gD3AOUA8ADuAOkA9gDkAP0A3wD/ ANwA/wDaAP8A2gD/AP8fGgD/HBoA/xkbAP8UHgD/DiMA/wcqAP8AMwD/AD0A/wBIAP8AUgD/AFsA /wBkAP8AbAD/AHMA/wB6AP8AgAD/AIcA/wCOAP8AlQD/AJwA/wCkAP8ArAD8ALcA+gDFAPYA3ADy AO0A6wD3AOQA/gDeAP8A2gD/ANYA/wDTAP8A0wD/AP8hFwD/HhYA/xsWAP8WGQD/EB0A/wslAP8I LwD/BTkA/wNDAP8BTQD/AFcA/wBfAP8AZwD/AG4A/wB1AP8AfAD+AIIA+wCJAPgAkAD1AJgA8wCg APAAqQDtALMA6gDBAOYA1ADiAOsA3gD5ANoA/wDWAv8AzwT/AMsF/wDIBv8AyAb/AP8jEwD/IBEA /x0RAP8YEwD/ExgA/xEhAP8OKgD/DDUA/wo/AP8JSAD/CFIA/whbAP0IYgD6CGoA9ghxAPIHdwDv B34A6weFAOgHjADmB5QA4wedAOAHpgDcB7EA2Ae+ANIH0QDOCOoAyQr7AMQL/wC+C/8Auwz/ALkM /wC4Df8AuA3/AP8lDwD/Ig0A/x8MAP8aDQD/GBMA/xYcAP8TJQD/ES8A/hA6APgPQwDyDk0A7g5V AOoOXQDmDmUA4w5sAOAOcwDdDnoA2g6BANYOiQDTDpEA0A6aAM0OpADJD7AAxQ++AMEQ1AC6Ee4A sxL+AK4T/wCrFP8AqBT/AKYU/wClFf8ApRX/AP8nCwD/JQgA/yEGAP8eCAD/HA4A/xoWAP8YHwD0 FikA6hQ0AOMUPgDdFEcA2BRQANMUWADPFWAAzBVnAMkWbgDGFnUAwxZ8AMEWgwC+F4wAuxeVALcX oAC0GKwAsBi6AKwYzgCnGusAohv9AJ0c/wCaHf8Alx3/AJYd/wCVHf8AlR3/AP8pBwD/JwIA/yMA AP8iAwD+IAkA/x4PAO0bFwDfGSIA1BotAMwbOADGHEIAwR1LAL0dUwC6HlsAtx5iALUfaQCyH3AA sB93AK0ffgCrIIcAqCCRAKUgnACiIagAnyG2AJshyQCXIucAkiP7AI4k/wCLJf8AiSX/AIcl/wCG Jf8AhiX/AP8rAgD/KQAA+icAAO0oAADkJgMA3yIIANoeEADKIBwAwCIoALkjMwCzJD0AryVGAKwl TgCpJlYApiZdAKQmZACiJ2sAoCdyAJ0negCbJ4IAmSiMAJYolwCTKKQAkCmyAI0pxQCJKuQAhSv5 AIEr/wB+LP8AfCz/AHss/wB6LP8Aeiz/AP8tAAD6KwAA7S4AAN4vAADRLwAAyisEAMUmCwC5JxcA rykjAKkqLgCkKzkAoCxCAJ0sSgCaLVIAmC1ZAJYtYACULWcAki5uAJAudgCNLn4Aiy+IAIkvlACG L6AAgzCvAIAwwQB9MOAAeTH2AHYy/wB0Mv8AcjL/AHEy/wBwMv8AcDL/AP4uAADyMAAA4TMAAM82 AADCNQAAujMAALQuBgCqLhMAojAfAJwxKgCXMjQAkzI+AJAzRgCOM04AjDNVAIozXACINGMAhjRq AIQ0cgCCNHoAfzSEAH01kAB6NZ0BeDWrAXU1vQFyNtoBbzf0AW03/wFrN/8BaTf/AWg4/wFoOP8B aDj/AfYxAADrNAAA1TgAAMM7AAC3OwAArjkAAKc1AgCfMw8AlzUbAJE2JwCMNzEAiDg6AIY4QgCD OEoAgTlSAH85WAB9OV8AezlnAHo5bgB4OXcAdTmAAXM6jAFxOpkBbjqoAWw6uQJpO9MCZzvxAmU8 /wJjPP8BYjz/AWE8/wFhPP8BYTz/AfE0AADjNwAAyzwAALo/AACuPwAApD4AAJ06AACVOQwAjToX AIc7IwCDPC0Afzw3AHw9PwB6PUcAeD1OAHY+VQB1PlwAcz5jAHE+awBvPnMBbT59AWs+iAFpPpYC Zj6lAmQ+tgJiP84CYD/vAl5A/wJdQP8CXED/AltA/wJbQP8BW0D/Aes3AADbOwAAw0AAALNCAACm QwAAnUIAAJU/AACMPgkAhD4UAH8/IAB6QCoAd0E0AHVBPAByQUQAcEJLAG9CUgBtQlkAa0JgAGpC aAFoQnABZkJ6AWRChQJiQpMCYEKiAl5CswNcQ8oDWkPsA1lE/wJXRP8CV0T/AlZE/wJWRP8CVkT/ AuY5AADSPgAAvEMAAK1GAACgRwAAl0YAAI5CAACFQgYAfUISAHhDHQBzRCcAcEUxAG5FOQBsRUEA akZIAGhGTwBnRlYAZUZeAGNGZQFiRm4BYEZ3AV5GgwJcRpACWkagA1hGsQNWR8cDVUfqA1RH/wNT R/8CUkj/AlJI/wJRSP8CUUj/AuI7AADLQAAAt0UAAKdIAACbSgAAkUoAAIhGAAB+RgMAd0YPAHFH GgBtSCQAakguAGhJNwBmST4AZElGAGJKTQBhSlQAX0pbAF5KYwFcSmsBW0p1AVlKgAJXSo4DVUqd A1NKrwNSSsUDUEroA09L/QNOS/8DTkv/Ak5L/wJNS/8CTUv/At09AADFQwAAsUgAAKJLAACWTQAA jE0AAIJKAAB5SQAAcUoNAGxLFwBoSyIAZUwrAGJMNABgTTwAXk1DAF1NSgBcTVEAWk5ZAFlOYAFY TmkBVk1zAVRNfgJSTYwDUU2cA09NrQNNTsMETE7mA0tO/ANKTv8DSk7/AkpO/wJKTv8CSk7/Atg/ AAC/RQAArEoAAJ5OAACSUAAAh1AAAH1NAABzTQAAbE4KAGZOFQBiTx8AX1ApAF1QMgBbUToAWlFB AFhRSABXUk8AVlJXAFRSXgBTUmcBUlFxAVBRfAJOUYkDTFGZA0tRqwNJUcEDSFHkA0dS+wNHUv8D RlH/AkZR/wJGUf8CRlH/AtJBAAC6SAAAp00AAJlQAACNUgAAg1MAAHdRAABuUQAAZ1IIAGFSEgBd Ux0AW1QmAFhULwBWVTcAVVU/AFRWRgBSVk0AUVZVAFBWXABPVmUBTVZuAUtVegJKVYcCSFWXA0ZV qQNFVb4DRFXiA0NV+gNDVf8CQlX/AkJV/wJCVf8CQlX/AsxEAAC0SwAAolAAAJRTAACJVQAAflYA AHJVAABpVQAAYlYEAFxXEABYWBoAVlgkAFNZLQBRWjUAUFo8AE9aRABOW0sATVtSAEtbWgBKW2MB SVtsAUdadwFFWoUCQ1qVAkJapwNAWrwDP1rfAz9a+QI+Wf8CPln/Aj5Z/wI+Wf8CPln/AsRHAACu TQAAnVIAAJBWAACEWQAAeVoAAG5ZAABjWQAAXFsBAFdcDQBTXRcAUF4hAE5eKgBMXzIAS186AEpg QQBIYEgAR2BQAEZgWABFYGAARGBqAUJgdQFAX4ICP1+SAj1fpQI8X7oCO1/cAjpf9wI6Xv8COl7/ Ajld/wI5Xf8BOV3/AbxKAACnUQAAl1YAAIpZAAB/XAAAdF0AAGldAABdXwAAV2AAAFFiCQBNYxMA SmQdAEhkJwBGZS8ARWU3AERmPgBDZkUAQmZNAEFmVQBAZl0APmZnAD1mcgE7Zn8BOmWQAThlogE3 ZbcCNmXWATVk9QE1ZP8BNWP/ATVj/wE0Yv8BNGL/AbROAACgVAAAkVkAAIVdAAB6YAAAb2EAAGRi AABYZQAAUWcAAExpBQBHahAARGsZAEJrIwBAbCsAP2wzAD1tOwA8bUIAO21JADptUQA5bVoAOG1j ADdtbwA2bXwANGyMATNsnwExbLQBMGzQATBr8wEvav8BL2n/AS9p/wEvaf8BL2n/AatSAACZWAAA i10AAH9hAAB1ZAAAa2YAAGBnAABUawAATG4AAEVwAABAcgwAPXMVADt0HwA5dCcAOHUvADZ1NwA1 dT4ANHVFADN1TQAydVYAMXVfADB1awAvdXgALnSIACx0nAArdLAAKnPLACly8AApcf8AKXD/AClw /wApcP8AKXD/AKJXAACSXQAAhGEAAHllAABwaQAAZmsAAFxtAABScQAASHUAAEB4AAA5fAYANX0Q ADN9GQAxfiIAMH4qAC9/MgAufzkALX9BACx/SAArf1EAKn5aACh+ZgAnfnMAJn2DACV9lwAkfKwA InzFACJ76wAief8AIXj/ACF4/wAhd/8AIXf/AJlcAACKYQAAfmYAAHRqAABrbgAAYXIAAFd0AABO eAAARH0AADyCAAA0hgAALYkLACqKEwAoihwAJ4okACaLLAAlizMAJIs7ACOLQwAiiksAIYpVACCK YAAfiW0AHol9AByIkAAbh6YAGoe/ABmF5gAZhPwAGYL/ABmC/wAZgf8AGYH/AI9hAACCZgAAd2sA AG5vAABldAAAW3kAAFJ+AABJgwAAQIgAADeNAAAvkgAAJ5cDACGaDQAfmhUAHpodAByaJQAbmi0A Gpo0ABmaPAAYmkQAF5lOABaZWQAVmGYAFJd2ABOWiQASlZ8AEZS4ABCS3gAQkPkAEI//ABCO/wAQ jf8AEI3/AIZnAAB6bAAAcXAAAGh1AABeewAAVYEAAEyHAABDjgAAOpQAADGaAAApoAAAIqYAABuq BAAVrg0AE64UABKuHAASriQAEa0sABCtNAAQrDwADqxGAA6rUQANqV0ADKhtAAumfwAKpJQACaKr AAegxgAHn+kAB577AAid/wAInP8ACJz/AH1sAAB0cQAAanYAAGF9AABXhAAATosAAEWTAAA8mwAA M6IAACupAAAjsAAAHLUAABW6AAAQvwUADMQLAArDEgAJwhoACMIiAAfBKgAGwDMABb88AAS9RwAD vFMAArphAAC4cgAAtoUAALScAACzswAAsc8AAK/uAACu+wAArv8AAK7/AHZxAABtdwAAY34AAFmG AABQjwAARpgAAD2iAAA1qgAALLIAACS6AAAdwAAAFsUAABDLAAAM0AAACNQFAATUDAAC1BIAAdQZ AADUIQAA1CgAANQxAADTOwAA00cAANFUAADPZAAAzXYAAMuLAADJogAAx7gAAMfRAADG6QAAxfUA AMX1AG93AABlfwAAW4gAAFKTAABInQAAP6gAADWyAAAtvAAAJcQAAB3LAAAW0QAAENgAAAzdAAAH 4QAAAuUAAADmBAAA5wsAAOcQAADoFgAA6R4AAOomAADrLwAA7DkAAOxGAADrVQAA6WYAAOd5AADl jwAA46QAAOK2AADhxwAA4NsAAODbAGeAAABdigAAU5UAAEqhAABArQAANrkAAC3EAAAlzgAAHdgA ABXfAAAQ5QAAC+oAAAbuAAAB8QAAAPQAAAD2AAAA+AEAAPkHAAD6DQAA/BMAAP0aAAD/IgAA/ywA AP83AAD/RAAA/1QAAP9mAAD/egAA/o8AAP2gAAD8rQAA/LgAAPy4AF+LAABWlQAATaEAAEOtAAA6 ugAAMcYAACjSAAAf3gAAF+YAABDtAAAL9AAABPoAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AgAA/wkAAP8OAAD/FQAA/x4AAP8pAAD/NQAA/0MAAP9SAAD/ZQAA/3cAAP+IAAD/lQAA/54AAP+e AP8WHgD/Ex4A/w4gAP8IIwD/ACkA/wAwAP8AOQD/AEIA/wBMAP8AVgD/AF8A/wBoAP8AbwD/AHYA /wB9AP8AgwD/AIkA/wCPAP8AlgD/AJ0A/wClAP8ArQD/ALgA/wC+AP8AxgD5AM8A8QDfAOoA6gDj APIA3gD4ANsA+wDYAP4A1wD+AP8YGwD/FBsA/xAdAP8KIAD/ASUA/wAsAP8ANAD/AD4A/wBIAP8A UgD/AFsA/wBkAP8AawD/AHIA/wB4AP8AfgD/AIUA/wCLAP8AkQD/AJgA/wCgAP8AqQD/ALMA/wDA AP0AywD1ANsA7ADoAOUA8QDeAPkA2QD+ANQA/wDSAP8A0QD/AP8ZGAD/FhcA/xEZAP8MGwD/AyAA /wAmAP8AMAD/ADoA/wBEAP8ATgD/AFcA/wBfAP8AZwD/AG0A/wB0AP8AegD/AIAA/wCGAP8AjAD+ AJQA/ACcAPkApAD3AK4A9AC6APIAygDuAOUA5gDxAN4A+gDYAP8A0QD/AM4A/wDLAP8AywD/AP8b FAD/FxMA/xMUAP8OFgD/BRoA/wAiAP8ALAD/ADYA/wBAAP8ASQD/AFIA/wBaAP4AYgD7AGkA+QBv APcAdQD0AHsA8gCBAPAAiADtAI8A6wCXAOgAoADlAKoA4gC1AN4AxQDZAN8A1QDyANAA/gDMAP8A ygD/AMcA/wDFAP8AxAD/AP8dEAD/GQ4A/xQOAP8ODwD/CxQA/wYdAP8DJwD/ADEA/wA7APoARAD1 AE0A8QBVAO0AXQDqAGQA5wBqAOUAcADiAHYA4AB8AN0AgwDaAIoA1gCTANMAnADPAKYAywCyAMcA wQDDANkAvgHuALsC/AC4Av8AtAT/ALIE/wCxBP8AsAX/AP8eDAD/GwkA/xUIAP8RCQD/DhAA/wwY AP8JIQD7BysA8AU1AOcFPwDiBUgA3gZQANoGWADWBl8A0wdlANAHawDNB3EAygd4AMgHfwDFB4YA wgePAL8ImQC7CKMAuAiwALQIvwCwCdYArArvAKcM/wCjDP8AoA3/AJ4N/wCdDf8AnA3/AP8gBwD/ HQMA/xcAAP8VBAD/EgoA/xARAPUNGgDoCyQA3AsvANQMOQDODEIAyQ1LAMYNUgDCDloAvw5gAL0O ZwC6Dm0AuA90ALUPewCzEIMAsBCMAK0QlgCqEKIApxCvAKMRvwCfEdoAmhLyAJUT/wCSFP8AjxT/ AI0V/wCMFf8AjBX/AP8iAgD/HgAA/hoAAPIaAADpFwMA5RIKAOAOEQDREB0AxhIpAL8TMwC5FD0A tRRGALEVTQCuFVQArBZbAKkWYgCnFmgApRdvAKMXdgCgF34AnhiHAJsYkQCZGJ0AlRmrAJIZuwCP GtIAihvvAIYc/wCDHP8AgB3/AH8d/wB+Hf8Afh3/AP8kAAD8IQAA8CIAAOEjAADUIQAAzB0FAMgW DAC8GBgAsxokAKwbLgCnHDgAox1BAKAdSQCdHlAAmx5WAJkeXQCXH2MAlR9qAJMfcQCRH3kAjyCC AIwgjQCJIJkAhyGnAIQhtwCBIs0AfSPtAHkj/wB2JP8AdCT/AHMk/wByJP8AciT/AP0lAAD0JgAA 4ikAANArAADDKgAAuSYBALMgBwCrHxMAoyEfAJ0jKgCYIzMAlSQ8AJIkRACPJUsAjSVSAIslWQCJ Jl8AhyZmAIUmbQCDJnUAgSd+AH8niQB9J5YAeiikAHcotAB1KckAcSrqAG8q/QBsK/8Aaiv/AGkr /wBpK/8AaCv/APYqAADrKwAA1S8AAMIxAAC1MQAAqy0AAKMpAgCdJg8AligaAJApJQCMKi8AiCo4 AIUrQACDK0cAgStOAH8sVQB9LFsAfCxiAHosaQB4LXEAdi16AHQthQByLpIAcC6hAG0vsQBrL8YA aDDnAGYw/ABkMf8AYjH/AGIx/wBhMf8AYTH/APAtAADhMAAAyTQAALg2AACrNgAAoDMAAJgvAACS LAwAiy0WAIUuIgCBLysAfjA0AHswPAB5MUQAdzFLAHUxUQB0MVgAcjJfAHAyZgBvMm4AbTJ3AGsz ggBpM48AZzSeAGU0rgBjNcIAYTXkAF81+gBdNv8AXDb/AFs2/wBaNv8AWjb/AOowAADXNAAAwDgA ALA7AACjOwAAlzgAAI80AACIMggAgTITAHwzHgB4NCgAdTUxAHI1OQBwNkEAbjZHAG02TgBrNlUA ajZbAGg3YwBnN2sAZTd0AGQ4fwBiOIwAYDibAF45qwBcOb8AWjrhAFg6+ABXOv8AVjr/AFU6/wBV Ov8AVTr/AOQzAADONwAAuTwAAKk+AACdPwAAkDwAAIc5AACANwUAeTcQAHQ4GwBwOCUAbTkuAGs6 NgBpOj4AZzpFAGY6SwBkO1IAYztZAGI7YABgO2gAXzxxAF08fABcPIkAWj2YAVg9qQFWPb0BVD7e AVM+9wFSPv8AUT7/AFA+/wBQPv8AUD7/AN81AADHOgAAsz8AAKNBAACXQgAAikAAAIE8AAB5OwEA czsNAG48GABqPCIAZz0rAGU9MwBjPjsAYT5CAGA+SABeP08AXT9WAFw/XQBbP2YAWUBvAFhAegBW QIcAVECWAVNBpwFRQboBT0LaAU5C9QFNQv8BTEL/AExC/wBLQv8AS0L/ANo3AADBPQAArUIAAJ5E AACSRQAAhEMAAHs/AABzPgAAbT8LAGg/FQBkQB8AYUEoAF9BMABdQTgAW0I/AFpCRgBZQkwAWEJT AFZDWwBVQ2MAVENtAFNEeABRRIQBUESUAU5EpQFMRbgBS0XVAUpF9AFJRf8BSEX/AUhF/wBHRf8A R0X/ANQ5AAC7QAAAqEQAAJpHAACNSAAAgEYAAHZCAABuQgAAaEMIAGNDEgBfRBwAXEQmAFpFLgBY RTUAVkU9AFVGQwBTRkoAU0ZRAFJHWQBRR2EAUEdrAE5HdQBNSIIBS0iSAUpIowFISLcBR0jSAUZI 8wFFSP8BREj/AURI/wBESP8AREj/AM48AAC2QgAApEcAAJZKAACISgAAe0kAAHFGAABpRgAAY0YG AF5HEABaSBoAV0gjAFVJKwBTSTMAUkk6AFBKQQBPSkgATkpPAE1LVwBMS18AS0tpAEpLcwBJS4AA R0uQAUVLoQFETLUBQ0zPAUJM8QFBTP8BQEz/AUBL/wBAS/8AQEv/AMg+AACxRQAAn0kAAJJMAACE TQAAd0sAAG1KAABkSQAAXkoDAFlLDgBVTBcAU0whAFBNKQBPTTEATU44AExOPwBLTkYASk5NAElP VQBIT10AR09mAEVPcQBET34AQ0+OAUFPnwFAT7MBPlDNAT5Q8AE9T/8BPU//ADxP/wA8T/8APE// AMFBAACrRwAAm0wAAI1PAAB/TwAAck4AAGhNAABgTQAAWU4AAFRPCwBQUBQATlEeAEtRJgBKUi4A SFI2AEdTPQBGU0QARVNLAERTUgBDU1oAQlRkAEFUbwA/VHwAPlSLAD1UnQE7VLEBOlTKATlU7gE5 U/8AOFP/ADhT/wA4U/8AOFL/ALtEAACmSgAAlk8AAIlSAAB6UgAAblEAAGRRAABbUgAAVFMAAE9U CABLVREASFYbAEZWJABEVywAQ1czAEJYOgBBWEEAQFhIAD9YUAA+WFgAPVlhADxZbAA6WXkAOViI ADhYmwA2WK4ANVnHADRY7AA0WP8ANFf/ADNX/wAzV/8AM1f/ALNHAACgTgAAkVIAAIRWAAB2VQAA alUAAGBVAABVVwAAT1gAAEpaBABGWw4AQ1wXAEBcIAA/XSgAPV0wADxeNwA7Xj4AOl5FADleTQA4 XlUAN15eADZeaQA1XnYANF6FADJemAAxXqwAMF7EAC9e6QAvXf4ALlz/AC5c/wAuXP8ALlz/AKxL AACZUQAAi1YAAH9ZAABxWQAAZVkAAFxZAABRXAAASl4AAERgAABAYQsAPGIUADpjHQA4ZCUAN2Qt ADZkNAA1ZDsANGVCADNlSQAyZVEAMWVbADBlZQAvZXIALWSBACxklAArZKgAKmTAAClk5gAoY/wA KGL/AChh/wAoYf8AKGH/AKRPAACTVQAAhVoAAHpdAABsXQAAYV0AAFheAABNYgAARmQAAD9nAAA5 aQYANWoQADNrGAAxayEAMGwoAC9sMAAubDcALWw+ACxsRQArbE0AKmxWAClsYQAobG4AJmx9ACVr jwAka6QAI2u7ACJq4QAiafoAImj/ACJo/wAiaP8AIWf/AJtUAACMWgAAf14AAHRiAABnYQAAXWEA AFRjAABKZwAAQmsAADtuAAA0cQAALnMLACt0EwApdRwAKHUjACd1KwAmdTIAJXU5ACR1QAAjdUgA InVSACF1XAAgdWkAH3R4AB50igAcc58AG3O2ABpz2AAacfYAGnD/ABpw/wAab/8AGm//AJNZAACF XwAAeWMAAG9mAABjZgAAWWcAAFBqAABHbgAAPnIAADZ2AAAvegAAKH0FACN/DgAhgBYAIIAdAB6A JQAdgCwAHIAzABuAOwAagEMAGoBMABiAVgAXf2MAFn9yABV+hAAUfZkAE32wABJ8zgASe/IAEnn/ ABJ5/wASeP8AEnj/AIpfAAB9ZAAAc2gAAGtrAABfbAAAVG8AAEtyAABCdwAAOnwAADGAAAAqhAAA I4gAAByMBwAYjg8AFo4WABWOHgAUjiUAE44sABKONAASjjwAEY1FABCNUAAQjFwADoxrAA6KfAAN iZEADIinAAuHwAAKhuUAC4T5AAuE/wALg/8AC4P/AIFkAAB3aQAAbm0AAGVxAABadQAAUHkAAEZ9 AAA+ggAANYcAACyNAAAlkgAAHpYAABeaAAARngYADqEOAA2gFQAMoB0AC58kAAqfLAAKnjQACZ49 AAidSAAGnFMABZphAASZcQACl4UAAZabAACUsgAAk80AAJHuAACR+gAAkP8AAJD/AHlqAABwbgAA Z3MAAF55AABUfwAAS4UAAEKLAAA5kgAAMJgAACeeAAAgowAAGKcAABKrAAAOrwEACbIJAAWyEAAD shYAAbIdAACyJAAAsSwAALE0AACwPgAAr0kAAK5XAACsZgAAqngAAKiNAACnpAAApbsAAKTbAACj 7wAAovgAAKL7AHNvAABqdAAAYHsAAFaCAABNigAAQ5IAADqaAAAxoQAAKagAACGvAAAZtAAAE7gA AA68AAAJwAAABMQDAADECQAAxQ8AAMUVAADFGwAAxSMAAMYrAADGNAAAxz4AAMZLAADEWQAAwmoA AMB+AAC+lQAAvaoAALvAAAC62AAAuekAALntAGx1AABifQAAWIUAAE+OAABFlwAAO6EAADKqAAAp sgAAIboAABnBAAATxgAADcoAAAjPAAAD0wAAANcAAADZAQAA2gcAANsNAADcEgAA3RkAAN4gAADf KQAA4TMAAOI+AADhTAAA4FwAAN5uAADcggAA2pkAANitAADXvAAA1skAANbOAGR+AABahwAAUZEA AEecAAA9pwAAM7IAACq8AAAhxQAAGs0AABLTAAAN2QAAB98AAAHjAAAA5gAAAOkAAADsAAAA7QAA AO8DAADxCQAA8w4AAPQVAAD2HQAA+CYAAPoyAAD9PgAA/E0AAPteAAD5cAAA+IQAAPeXAAD2pQAA 9bAAAPWzAFyIAABTkgAASp0AAECpAAA3tQAALcAAACTMAAAb1wAAE+AAAA3nAAAG7QAAAPIAAAD1 AAAA+AAAAPoAAAD9AAAA/wAAAP8AAAD/AAAA/wQAAP8KAAD/EQAA/xkAAP8jAAD/MAAA/z4AAP9N AAD/XgAA/3AAAP+BAAD/jgAA/5gAAP+bAP8RHAD/DRwA/wceAP8AIQD/ACYA/wAtAP8ANgD/AD8A /wBJAP8AUgD/AFsA/wBjAP8AagD/AHEA/wB3AP8AfQD/AIMA/wCJAP8AjwD/AJYA/wCeAP8ApgD/ ALAA/wC5AP8AwAD3AMkA7gDWAOYA5QDfAO4A2QD1ANQA+gDRAPwA0AD+AP8SGQD/DhkA/wkaAP8A HQD/ACIA/wAoAP8AMQD/ADsA/wBFAP8ATgD/AFcA/wBfAP8AZgD/AGwA/wByAP8AeAD/AH4A/wCE AP8AigD/AJEA/wCZAP8AoQD/AKsA/wC3APwAxADyANAA6QDiAOAA7QDYAPYA0gD8AM0A/wDLAP8A ygD/AP8TFQD/EBQA/woVAP8BGAD/ABwA/wAjAP8ALAD/ADcA/wBBAP8ASgD/AFIA/wBaAP8AYQD/ AGcA/wBtAP8AcwD/AHkA/QB/APsAhQD5AIwA9wCTAPQAnADxAKYA7wCxAOsAwADoANgA4gDrANkA 9gDQAP8AygD/AMcA/wDEAP8AwwD/AP8UEQD/ERAA/wsQAP8CEgD/ABUA/wAeAP8AKAD/ADIA/wA8 AP8ARQD+AE4A+gBVAPcAXAD0AGMA8QBpAO8AbgDtAHQA6wB5AOgAfwDmAIYA4wCOAN8AlwDcAKEA 2ACsANMAugDPAM0AywDoAMcA+QDFAP8AwgD/AL8A/wC8AP8AuwD/AP8WDQD/EQsA/wwKAP8DCwD/ ABEA/wAZAP8AIwD4AC0A8wA3AO8AQADrAEgA5wBQAOMAVwDgAF0A3ABjANoAaQDWAG8A1AB0ANEA egDOAIEAywCJAMcAkgDEAJ0AwACoALwAtQC4AMcAtADjALEA9QCtAP8AqwD/AKoA/wCpAP8AqAD/ AP8XCAD/EwQA/w0CAP8IBQD/BQwA/wATAO4AHQDmACcA3wAxANoAOwDUAEMA0ABLAMwAUgDIAFgA xQBeAMIAZADAAGoAvQBwALsAdgC4AH0AtQCFALIAjgCvAJkArACkAKgBsgClAsMAogPgAJ4E8wCc Bf8AmQX/AJcG/wCWBv8AlQf/AP8ZAgD/FAAA/w4AAPoMAAD0CQUA7AQNAN0EFgDSBCEAygQrAMQF NQC/Bj4AuwZFALcHTQC0B1MAsQdZAK8HXwCtCGUAqwhrAKgIcgCmCXkApAmBAKEJiwCeCpYAmwqi AJgKsQCVC8IAkgzgAI4N9QCKDv8Ahw7/AIUO/wCEDv8AhA7/AP8aAAD/FQAA9RUAAOYVAADaEwAA 0g4GAM0IDwDACRoAuAslALINLwCtDTgAqQ5AAKYOSACjD04AoQ9VAJ8QWwCdEGEAmxBnAJkQbgCW EHUAlBF+AJIRiACPEZMAjBKhAIkSrwCGEsIAgxPhAH4U9wB7Ff8AeRX/AHcW/wB2Fv8Adhb/AP4d AAD2HAAA5R4AANMfAADFHQAAuRgBALUSCACuERQAphIfAKATKgCcFDMAmBU7AJUWQwCTFkoAkBZQ AI4XVgCNF1wAixdiAIkXaQCHGHEAhRh5AIMYgwCAGY8AfhmdAHsarAB4Gr4AdRvdAHIc9QBvHP8A bR3/AGwd/wBrHf8Aah3/APchAADsIgAA1iUAAMMnAAC0JQAAqCEAAKIcAwCeGBAAlxkaAJEbJQCN HC4Aihw3AIcdPgCFHUUAgx5MAIEeUgB/HlgAfR5eAHwfZQB6H2wAeB91AHYgfwB0IIsAcSGZAG8h qQBtIrsAaiLWAGcj8wBlI/8AYyT/AGIk/wBhJP8AYST/APAmAADhJwAAyCsAALctAACnKwAAnCcA AJQkAACQHwsAiiAWAIUhIACBIioAfiMzAHsjOgB5JEEAdyRIAHUkTgB0JVQAciVbAHElYQBvJWkA bSZxAGwmewBqJ4gAaCeWAGYopgBjKLgAYSnRAF8p8QBdKf8AWyr/AFoq/wBaKv8AWSr/AOkpAADU LAAAvjAAAK0yAACdMAAAki0AAIoqAACFJgcAfyYSAHonHAB2KCYAdCkvAHEpNwBvKT4AbipEAGwq SwBrKlEAaSpXAGgrXgBmK2YAZStuAGMseABhLIQAYC2TAF4towBcLrUAWi7OAFgv7wBWL/8AVS// AFQv/wBTL/8AUy//AOMsAADLMQAAtjUAAKY3AACVNQAAiTIAAIEvAAB8LAMAdysPAHIsGQBuLSMA ay0rAGkuMwBnLjoAZi9BAGQvRwBjL04AYi9UAGAwWwBfMGMAXjBrAFwxdQBaMYIAWTKQAFcyoQBV M7MAVDPLAFIz7QBQM/8ATzP/AE4z/wBOM/8ATjP/AN0vAADDNAAArzgAAJ86AACOOAAAgjYAAHsz AAB1MAAAbzAMAGsxFQBnMR8AZDIoAGIyMABgMzcAXzM+AF4zRQBcM0sAWzRRAFo0WABZNGAAVzVp AFY1cwBVNn8AUzaOAFE2ngBQN7EATjfIAE046wBLOP8ASjj/AEk3/wBJN/8ASTf/ANgxAAC9NwAA qjsAAJk9AACIOwAAfTkAAHU2AABvNAAAaTQJAGU1EwBhNRwAXjYlAFw2LQBaNzQAWTc7AFg3QgBW OEgAVThPAFQ4VgBTOF0AUjlmAFE5cQBPOn0ATjqMAEw6nABLO68ASTvGAEg86QBHPP4ARjv/AEU7 /wBFO/8ARDv/ANA0AAC3OgAApT4AAJQ/AACEPgAAeDwAAHA5AABqOAAAZDgGAF85EABcORoAWToi AFc6KwBVOjIAVDs5AFI7PwBRO0YAUDtMAE88UwBOPFsATT1kAEw9bgBKPXsAST6JAEg+mwBGPq0A RT/EAEM/6ABCP/0AQj//AEE+/wBBPv8AQD7/AMo2AACyPQAAoEEAAI9CAAB/QQAAcz8AAGw8AABl OwAAXzwEAFo8DgBXPRcAVD0gAFI+KABQPi8ATj42AE0/PQBMP0MASz9KAEpAUQBJQFkASEBiAEdB bQBGQXkARUGIAENCmQBCQqwAQULCAD9C5gA+QvwAPkL/AD1C/wA9Qf8APUH/AMQ5AACtPwAAnEMA AItEAAB7QwAAb0IAAGc/AABgPwAAW0ABAFZADABSQRQAT0EdAE1CJQBLQi0ASkI0AElDOwBHQ0EA RkNIAEZDTwBFRFcARERgAENEawBCRHcAQEWGAD9FlwA+RaoAPEbAADtG5AA6RfsAOkX/ADlF/wA5 Rf8AOUX/AL48AACoQgAAmEYAAIZHAAB3RQAAbEQAAGNCAABcQgAAVkMAAFFECQBORRIAS0UbAElG IwBHRisARUYyAERHOQBDRz8AQkdGAEFITQBASFUAP0heAD5IaAA9SHQAPEmDADtJlQA5SagAOEm+ ADdJ4gA2SfoANkn/ADVI/wA1SP8ANUj/ALg/AACjRQAAlEkAAIJJAABzSAAAaEcAAF9GAABXRgAA UkcAAE1IBgBJSRAARkkYAERKIQBCSygAQUsvAD9LNgA+TD0APUxEADxMSwA7TFMAOkxbADlMZgA4 TXIAN02BADZNkgA1TaYAM028ADJN4AAyTfkAMUz/ADFM/wAxTP8AMUz/ALFCAACeSAAAj0wAAH1L AABvSwAAZEoAAFtKAABSSwAATUwAAEhNAwBETg0AQU4VAD9PHgA9UCUAO1AtADpQMwA5UToAOFFB ADdRSAA2UVAANVFZADRRYwAzUW8AMlF+ADFRjwAwUaMALlG5AC1S3AAtUfcALVD/ACxQ/wAsUP8A LFD/AKtFAACZSwAAik8AAHhOAABqTgAAYE0AAFdOAABNTwAASFEAAENSAAA/UwoAO1QSADlVGgA3 VSIANlYqADRWMQAzVjcAMlY+ADFWRQAwV00AMFdWAC5XYAAtV2wALFd7ACtXjAAqVqAAKVa2AChX 1QAnVvUAJ1X/ACdV/wAnVf8AJ1T/AKRJAACTTgAAhVMAAHNRAABmUQAAXVEAAFRRAABKVAAARFYA AD5YAAA5WgYANVsOADNbFwAxXB8AL1wmAC5cLQAtXTQALF07ACtdQgAqXUoAKV1SAChdXQAnXWkA Jl13ACVciAAkXJ0AI1yzACFczwAhW/IAIVv/ACFa/wAhWv8AIVr/AJ1NAACNUwAAflYAAG5VAABi VAAAWVQAAFBWAABHWQAAQFsAADpdAAAzYAEALmILACtjEgAqYxoAKGQiACdkKQAmZDAAJWQ3ACRk PgAjZEUAImROACFkWQAgZGQAH2RzAB5jhAAdY5gAHGOuABpjygAaYu8AGmH/ABph/wAaYP8AGmD/ AJVSAACGVwAAeFoAAGlZAABeWAAAVVgAAE1bAABDXgAAPGEAADZkAAAvZwAAKGoFACRsDgAibBUA IWwdACBtJAAebSsAHW0yABxtOQAcbUEAG21JABptVAAZbGAAGGxuABZsfwAVa5MAFGuqABNqxAAT auoAE2n/ABNo/wATaP8AE2f/AI1XAAB/XAAAcl4AAGVdAABbXAAAUV4AAElhAABAZQAAOGgAADFs AAAqbwAAJHIAAB12CAAadxAAGHcXABd3HgAWdyUAFXcsABR3MwATdzsAE3dEABJ3TgARdloAEHZo ABB1eQAOdY0ADXSjAA1zuwAMct8ADXH3AA1w/wANcP8ADXD/AIVcAAB5YQAAbWIAAGFhAABXYgAA TWUAAERoAAA8bQAAM3EAACx1AAAleAAAH3wAABh/AAASgwkAEIQQAA+EFwAOhB4ADoQlAA2DLAAM gzQADIM9AAuCRwAKglIACYFgAAeAcAAGf4IABX6YAAN9rwADfMoAA3vqAAN6+QAEev8ABHr/AH1i AABzZwAAaGgAAF1oAABSagAASW4AAEByAAA3dwAAL3sAACeAAAAghAAAGogAABSMAAAPjwQAC5IL AAeSEQAFkhcABJIeAAOSJQACki0AAZE2AACRPwAAkEoAAI9XAACOZgAAjHgAAIuNAACKowAAiLsA AIfcAACG8QAAhvsAAIb/AHZoAABubAAAZG8AAFhxAABNdQAARHkAADt/AAAyhAAAKokAACKPAAAb lAAAFZgAABCcAAALoAAABqMGAAGjDAAAoxIAAKQYAACkHgAApCYAAKQuAACjNwAAo0EAAKJNAACh XAAAn2wAAJ2AAACclwAAm60AAJnEAACY4gAAl+8AAJf2AHBtAABncgAAXXgAAFN9AABJgwAAP4kA ADaQAAAtlgAAJZ0AAB2jAAAWqAAAEKwAAAuwAAAGswAAALUAAAC2BgAAtwwAALcRAAC4FgAAuB0A ALkkAAC6LQAAuzcAALpDAAC5UQAAt2AAALZzAAC0iAAAsp8AALGzAACwxgAAsNsAAK/mAGlzAABg egAAVoEAAEyJAABCkQAAOJoAAC+iAAAmqQAAHrAAABa2AAAQuwAAC78AAAXDAAAAxgAAAMkAAADK AAAAzAQAAM0JAADODgAAzxQAANEbAADTIwAA1CwAANc3AADXRAAA1VMAANNlAADReAAA0I4AAM6j AADNswAAzMAAAMzJAGJ7AABYhAAATo0AAESXAAA6oQAAMKsAACe0AAAevQAAFsQAABDJAAAKzgAA A9MAAADYAAAA2wAAAN4AAADhAAAA4gAAAOQAAADmBgAA6AsAAOoRAADsGAAA7yEAAPErAAD0NwAA 9UUAAPRVAADyaAAA8HwAAO+QAADuoAAA7aoAAO2xAFqFAABQjwAARpoAAD2lAAAzsAAAKbsAACDG AAAW0AAAD9kAAAreAAAC4wAAAOgAAADsAAAA7wAAAPEAAAD0AAAA9wAAAPkAAAD7AAAA/gAAAP8H AAD/DgAA/xUAAP8fAAD/KgAA/zcAAP9GAAD/VwAA/2gAAP96AAD/iQAA/5QAAP+bAP8MGgD/BRoA /wAbAP8AHgD/ACQA/wAqAP8AMwD/ADwA/wBFAP8ATgD/AFYA/wBeAP8AZQD/AGsA/wBxAP8AdwD/ AHwA/wCCAP8AiAD/AI8A/wCXAP8AoAD/AKoA/wC1AP8AuwD2AMQA7ADOAOIA4ADaAOsA0wDzAM4A +QDLAPwAyQD+AP8NFgD/BxYA/wAXAP8AGQD/AB4A/wAlAP8ALgD/ADgA/wBBAP8ASgD/AFIA/wBa AP8AYQD/AGcA/wBsAP8AcgD/AHcA/wB9AP8AgwD/AIoA/wCSAP8AmgD/AKQA/ACwAPkAvgDvAMkA 5QDbANsA6QDSAPQAzAD7AMcA/wDFAP8AwwD/AP8OEgD/CBEA/wASAP8AFAD/ABgA/wAfAP8AKgD/ ADMA/wA9AP8ARgD/AE4A/wBVAP8AXAD/AGIA/gBnAPwAbQD6AHIA+AB4APYAfQDzAIQA8QCMAO4A lQDrAJ8A5wCqAOQAtwDgAMoA3QDnANIA8wDKAP0AxAD/AMAA/wC9AP8AuwD/AP8ODgD/CQ0A/wAM AP8ADQD/ABIA/wAbAP8AJQD/AC8A/QA4APoAQQD3AEkA8wBQAPAAVwDsAF0A6gBiAOcAaADkAG0A 4gByAN8AeADcAH8A2QCGANUAjwDRAJkAzQCkAMkAsQDFAMIAwgDeAL8A8wC8AP8AuQD/ALcA/wC1 AP8AswD/AP8QCQD/CgcA/wEFAP8ABwD/AA0A/QAWAPUAIADuACoA6AAzAOQAPADhAEQA3ABLANgA UgDTAFgA0ABdAM0AYwDKAGgAyABtAMUAcwDCAHoAvwCBALwAigC5AJQAtQCfALIArACuALsAqwDR AKgA7QClAP0AowD/AKIA/wCgAP8AnwD/AP8RAwD/CwAA/wEAAP8AAQD7AAgA6wARAN8AGgDVACQA zwAtAMoANgDGAD4AwgBGAL4ATAC7AFIAuABYALYAXgC0AGMAsQBoAK8AbgCtAHUAqgB8AKcAhQCk AI8AoQCbAJ4AqACbALcAmADLAJUA6QCSAPoAkAD/AI8A/wCOAP8AjQD/AP8SAAD/DAAA/AkAAO4I AADlAwEA2AALAMkAFAC/AB4AuQAoALQAMQCxADkArQBAAKoARwCnAE0ApQBTAKMAWQChAF4AnwFk AJ0BagCbAXAAmQJ4AJYCgQCTAosAkQOXAI4DpQCLBLQAiAXIAIUG5gCDB/gAgAj/AH4I/wB9Cf8A fQn/AP8TAAD6EQAA6xIAANkSAADHDwAAvgoDALcEDgCvAhcAqQQhAKMFKwCfBzMAnAg7AJkIQgCX CUkAlQlOAJMJVACRCloAjwpfAI0KZgCMC2wAiQt0AIcLfQCFDIgAggyVAIAMpAB9DbQAeg3JAHcO 6gB0D/wAcg//AHAQ/wBvEP8AbhD/APkYAADvFwAA2hoAAMQaAACyFwAAqBMAAKQOBgCgCxEAmQwb AJQNJQCRDi4AjQ82AIsQPQCIEEQAhhBKAIQQUACDEVYAgRFbAH8RYgB9EWkAfBJxAHoSegB3EoUA dROTAHMTogBwFLIAbhTIAGsV6QBoFv0AZhb/AGUW/wBkFv8AYxb/APEdAADiHgAAySIAALMiAACj HwAAmRwAAJMXAACREgwAixMWAIYUIACCFSkAfxUxAH0WOQB7FkAAeRdGAHcXTAB2F1EAdBdXAHMY XgBxGGUAbxhtAG0ZdgBsGYEAaRqPAGcangBlG68AYxvEAGEc5gBeHfsAXR3/AFwd/wBbHf8AWh3/ AOohAADUJAAAvSgAAKcnAACXJQAAjSIAAIYfAACDGgcAfxkSAHoaGwB2GyUAdBwtAHIcNQBwHTwA bh1CAGwdSABrHk4Aah5UAGgeWgBnH2EAZR9pAGQfcwBiIH4AYCCLAF4hmwBcIawAWiLBAFgi5ABW I/oAVSP/AFQj/wBTI/8AUyP/AOIkAADJKQAAtC0AAJ4sAACOKgAAhCcAAHwlAAB4IgMAdR8OAHAg FwBtISEAaiIpAGgiMQBnIzgAZSM+AGQjRABiI0oAYSRQAGAkVwBeJF4AXSVmAFwlbwBaJXsAWCaI AFcmmABVJ6oAUye/AFEo4QBQKPgATij/AE0o/wBNKP8ATSj/ANwnAADALQAArDEAAJYwAACGLgAA fCwAAHUqAABwJwAAbCULAGklFABlJh0AYycmAGEnLQBfKDQAXig7AFwoQQBbKEcAWilNAFgpVABX KVsAVipjAFUqbQBTKngAUiuGAFArlgBPLKgATSy8AEst3gBKLfcASS3/AEgt/wBHLf8ARy3/ANIr AAC5MQAApDQAAI8zAACAMgAAdjAAAG8tAABqKwAAZioIAGIqEQBfKxoAXCsjAFosKgBYLDEAVyw4 AFYtPgBVLUQAUy1KAFItUQBRLlgAUC5hAE8vagBNL3YATC+DAEowlABJMKYARzG6AEYx2wBEMfYA QzH/AEMx/wBCMf8AQjH/AMsuAACzNAAAnjcAAIo2AAB7NQAAcTMAAGoxAABlLwAAYC4EAFwuDgBZ LxcAVi8gAFQwJwBTMC4AUTA1AFAxOwBPMUEATjFIAE0xTgBLMlYASjJeAEkzaABIM3MARzOBAEU0 kgBENKQAQjW4AEE12ABANfUAPzX/AD41/wA+Nf8APjX/AMUxAACuNwAAmTkAAIU5AAB3OAAAbTYA AGYzAABgMgAAWzIBAFcyDABUMxQAUTMdAE80JQBNNCwATDQyAEs0OQBJNT8ASDVFAEc1TABGNlQA RTZcAEQ2ZgBDN3EAQjd/AEE3kAA/OKIAPji3AD041AA8OPQAOzj/ADo4/wA6OP8AOjj/AL80AACp OgAAlDwAAIE7AABzOgAAaTkAAGI2AABcNQAAVzYAAFM2CgBPNxIATTcaAEo3IgBJOCkARzgwAEY4 NgBEODwAQzlDAEM5SgBCOVIAQTpaAEA6ZAA/OnAAPjt9ADw7jgA7O6EAOju1ADg80QA4PPMANzv/ ADY7/wA2O/8ANjv/ALo2AAClPAAAkD4AAH09AABvPAAAZTsAAF44AABYOAAAUzkAAE46BwBLOhAA SDsYAEY7IABEOycAQjwuAEE8NABAPDsAPz1BAD49SAA9PVAAPD1YADs+YgA6Pm4AOT57ADg+jAA3 P58ANj+0ADQ/zwAzP/EAMz//ADM//wAyPv8AMj7/ALQ5AACgPwAAi0AAAHk/AABrPwAAYj4AAFo8 AABUPAAATj0AAEo+BABGPg0AQz8VAEE/HQA/PyUAPkAsAD1AMgA7QDkAOkE/ADpBRgA5QU0AOEFW ADdCYAA2QmsANUJ5ADRCigAyQp0AMUKyADBDzAAvQ/AAL0L/AC9C/wAuQv8ALkL/AK88AACcQgAA hkIAAHVCAABoQQAAXkAAAFY/AABPQAAASkEAAEZCAQBCQgsAP0MTADxDGwA7RCIAOUQpADhFMAA3 RTYANkU9ADVFRAA0RksAM0ZUADJGXQAxRmkAMEZ3AC9GhwAuRpsALEawACtHygArRu4AKkb/ACpG /wAqRf8AKkX/AKk/AACXRQAAgUUAAHBEAABkRAAAW0MAAFNDAABLRAAARUUAAEFGAAA9RwgAOUgQ ADdIGAA1SR8ANEkmADNKLQAySjQAMUo6ADBKQQAvSkkALkpRAC1LWwAsS2YAK0t0ACpLhQAoS5gA J0utACZLxwAmS+wAJkr/ACVK/wAlSf8AJUn/AKNDAACSSAAAfEgAAGxHAABhRgAAWEYAAE9HAABH SAAAQUoAADxLAAA4TAUANE0NADFOFQAwThwALk8jAC1PKgAsTzEAK083ACpQPgApUEYAKFBOACdQ WAAmUGMAJVBxACRQgQAjT5UAIk+qACFQxAAgT+kAIE/+ACBO/wAgTv8AIE7/AJ1GAACMSwAAd0sA AGhKAABdSQAAVEkAAExKAABETAAAPk4AADhQAAAzUgAALlMKACtUEQApVRkAKFUgACdVJwAmVi0A JVY0ACRWOwAjVkIAIlZLACFWVAAgVmAAH1ZtAB5VfgAdVZEAHFWnABpVwAAaVeYAGlT8ABpU/wAa U/8AGlP/AJZLAACFTwAAcU4AAGRNAABZTQAAUU0AAElOAABBUQAAO1MAADVVAAAuVwAAKFoFACRc DQAiXBQAIVwcACBdIgAfXSkAHl0wAB1dNwAcXT4AG11HABpdUAAZXVwAGFxpABdceQAWXI0AFVyj ABRbuwATW+EAE1r5ABRa/wAUWf8AFFn/AI9PAAB+UgAAbFEAAF9QAABWUAAATlAAAEVTAAA9VgAA N1gAADBbAAAqXgAAJGEAAB5kCQAbZRAAGWUXABhlHgAXZSQAFmUrABVlMgAUZTkAFGVCABNlSwAS ZVcAEWRkABBkdAAQZIgADmOeAA5jtQANYtQADmHzAA5h/wAOYf8ADmD/AIdVAAB2VgAAZ1UAAFxU AABTVAAASlUAAEJYAAA5XAAAM18AACxiAAAmZQAAIGgAABlrAgAUbgsAEm8RABFvFwAQbx4AD28l AA5vLAAObzQADW88AAxuRgAMblEAC21eAAptbQAJbH8AB2uVAAZqqwAGasUABmnnAAZp+AAGaf8A Bmj/AIBaAABwWwAAYlkAAFhYAABPWQAARlwAAD5fAAA2YwAALmcAACdqAAAhbgAAG3EAABV0AAAQ dwUADHoMAAl6EgAIehgAB3ofAAZ6JgAFeS4ABHk2AAN5PwACeEoAAXhWAAB3ZQAAdnYAAHWLAAB0 oQAAc7kAAHLYAABy8QAAcvsAAHL/AHlgAABqXwAAX14AAFVeAABLYQAAQmQAADloAAAxbQAAKXEA ACJ1AAAceAAAFnwAABF/AAANggIACIUIAAOFDgAAhhMAAIYZAACGIAAAhicAAIcvAACGOAAAhkIA AIVOAACEXAAAg20AAIKAAACBlwAAf60AAH/GAAB+5gAAffMAAH37AHJmAABmZQAAW2UAAFBnAABG agAAPW8AADR0AAAseAAAJH0AAB2CAAAXhgAAEYoAAA2OAAAIkQAAApQEAACVCgAAlQ4AAJYTAACX GQAAlyAAAJgnAACYMAAAmDoAAJdFAACWUwAAlWMAAJN1AACSiwAAkaIAAI+3AACPzgAAjuYAAI3x AG1rAABibAAAVm4AAExyAABCdwAAOH0AAC+CAAAniAAAH44AABiUAAARmQAADZ0AAAihAAACpQAA AKgAAACpAwAAqggAAKsNAACrEgAArBgAAK0fAACuJwAArzAAALA7AACuSAAArVcAAKtpAACqfQAA qJQAAKepAACmvAAApcsAAKXfAGdxAABddwAAUnsAAEeBAAA9iAAAM48AACqXAAAingAAGqUAABOr AAANsAAAB7QAAAG3AAAAugAAAL0AAAC+AAAAvwAAAMEFAADCCwAAxBAAAMUWAADHHQAAySYAAMsw AADMPQAAy0sAAMlcAADHbwAAxoQAAMSaAADDqwAAwrgAAMHEAF95AABVgQAAS4kAAEGSAAA3mwAA LaQAACSsAAAbtAAAE7sAAA3AAAAHxAAAAMkAAADMAAAAzwAAANIAAADUAAAA1gAAANkAAADbAQAA 3QcAAOANAADiEwAA5RsAAOglAADrMAAA7D8AAOtOAADpYAAA6HMAAOeHAADmmQAA5aUAAOWuAFeD AABNjAAAQ5YAADmhAAAvrAAAJbYAABzAAAATyQAADc8AAAbVAAAA2gAAAN8AAADjAAAA5QAAAOgA AADrAAAA7QAAAPAAAADyAAAA9QAAAPcDAAD6CgAA/hAAAP8ZAAD/JAAA/zAAAP8/AAD/UAAA/2MA AP90AAD/hAAA/5AAAP+ZAP8EFwD/ABcA/wAYAP8AGwD/ACAA/wAnAP8AMAD/ADgA/wBBAP8ASgD/ AFIA/wBZAP8AYAD/AGYA/wBrAP8AcQD/AHYA/wB8AP8AggD/AIkA/wCQAP8AmQD/AKMA/wCvAP8A twD0AL8A6QDKAN8A3ADVAOkAzgDyAMkA+QDFAPwAwwD/AP8GFAD/ABMA/wATAP8AFgD/ABoA/wAi AP8AKgD/ADQA/wA9AP8ARgD/AE0A/wBVAP8AWwD/AGEA/wBnAP8AbAD/AHEA/wB3AP8AfAD/AIMA /wCLAPwAkwD6AJ0A9wCpAPQAtgDtAMUA4QDTANYA5gDNAPIAxgD7AMEA/wC+AP8AvAD/AP8HEAD/ AA4A/wAOAP8AEAD/ABQA/wAcAP8AJgD/ADAA/wA5AP8AQQD/AEkA/wBQAP0AVgD6AFwA+ABiAPUA ZwDzAGwA8QBxAO4AdwDsAH0A6QCEAOYAjQDjAJcA4ACiANwArwDXAMAA0wDeAM0A8QDEAPwAvgD/ ALkA/wC3AP8AtQD/AP8ICwD/AAkA/wAJAP8ACAD/AA8A/wAYAP4AIgD5ACsA9QAzAPEAPADuAEQA 6gBLAOYAUQDjAFcA4ABdAN0AYgDaAGcA1gBsANQAcgDRAHgAzgB/AMoAhwDHAJEAwwCcAL8AqQC8 ALgAuADOALUA7QCzAP4AsQD/ALAA/wCuAP8ArAD/AP8JBQD/AAEA/wAAAP8AAgD9AAsA8QATAOcA HADfACYA2QAuANUANwDRAD4AzQBGAMoATADGAFIAwwBXAMAAXAC+AGEAvABmALkAbAC3AHIAtAB5 ALEAggCvAIsAqwCXAKgAowClALIAogDFAJ8A5QCdAPgAmwD/AJkA/wCYAP8AmAD/AP8KAAD/AAAA /wAAAPwAAADqAAYA2QAOAMwAFwDEACAAvgApALkAMQC2ADkAtABAALEARwCuAE0ArABSAKkAVwCn AFwApgBhAKQAZwCiAG0AoAB0AJ0AfACbAIYAmACSAJUAngCSAK0AjwC/AIwA3ACKAPMAiAD/AIcA /wCFAP8AhAD/AP8KAAD+BgAA8gUAAOADAADQAAAAwQAKALYAEgCuABsAqQAkAKUALACiADQAoAA7 AJ0AQgCbAEgAmQBNAJcAUgCVAFcAkwBdAJIAYgCQAGgAjgBvAIwAeACKAIIAhwCNAIQAmwCBAKkA fwC6AHwA0wB6AO8AeAH9AHcB/wB2Af8AdQL/APsQAAD0DQAA3w8AAMQOAAC0CwAArAYCAKUBDQCf ABQAmgAdAJYAJgCSAC8AjwA2AI0BPQCLAkMAiQJIAIcDTgCGA1MAhANYAIIEXgCBBGQAfwRrAH0F dAB7BX4AeAaKAHYGmAB0B6cAcQe5AG8I0QBtCe4Aawr+AGoK/wBpC/8AaAv/APMUAADlFAAAyRYA ALEVAAChEwAAmBAAAJQMBQCSBw4AjAYXAIgHIQCECCkAgQkxAH8KOAB9Cj4AfAtEAHoLSgB4C08A dwxUAHUMWgB0DGEAcgxoAHENcQBvDXsAbQ2IAGsOlwBpDqgAZg67AGQP2ABiEPMAYBD/AF4R/wBe Ef8AXRH/AOsYAADVGwAAuB0AAKIcAACUGgAAihcAAIUUAACDDwgAgA0SAHwOGwB4DyQAdRAsAHMQ MwBxEToAcBFAAG4RRgBtEUsAbBJRAGoSVwBpEl0AZxJlAGYTbgBkE3gAYhSFAGAUlABeFKUAXBW4 AFoV0gBYFvIAVxf/AFUX/wBVF/8AVBf/AOMcAADIIQAArCIAAJciAACJIAAAfx4AAHkbAAB2FwMA dRMOAHEUFwBtFSAAaxUoAGkWLwBnFjYAZhc8AGQXQgBjF0cAYhhNAGAYUwBfGFoAXhlhAFwZagBb GXUAWRqCAFcakQBVG6IAVBu1AFIczgBQHPAATx3/AE4d/wBNHf8ATR3/ANkhAAC+JgAAoicAAI4m AACAJQAAdyMAAHAgAABtHQAAaxoKAGcaEwBkGxwAYhskAGAcKwBeHDIAXRw4AFwdPgBbHUQAWR1K AFgeUABXHlcAVh5eAFQfZwBTH3IAUSB/AFAgjgBOIaAATCGzAEshywBJIu4ASCL/AEci/wBHIv8A RiL/AM8lAAC2KgAAmisAAIcqAAB5KQAAcCcAAGolAABmIwAAYyAGAGAfEABdIBgAWyAgAFkhKABX IS8AViI1AFUiOwBTIkEAUiJHAFEjTQBQI1QATyNbAE0kZQBMJG8ASyV8AEkljABIJp0ARiaxAEUm yQBDJ+wAQif/AEEn/wBBJ/8AQSf/AMcoAACuLQAAlC4AAIEtAAB0LAAAayoAAGUoAABgJwAAXSUD AFokDQBXJBUAVCUdAFIlJQBRJisAUCYyAE4mOABNJz4ATCdEAEsnSgBKJ1EASShZAEgoYgBGKW0A RSl6AEQqiQBCKpsAQSqvAD8rxwA+K+sAPSv+ADwr/wA8K/8APCv/AMEsAACnMAAAjjAAAHwwAABv LwAAZy0AAGArAABcKgAAWCkAAFQpCgBRKRIATykaAE0pIgBLKikASiovAEkqNQBHKzsARitBAEUr SABELE8AQyxXAEIsYABBLWsAQC14AD4uhwA9LpoAPC6tADovxQA5L+kAOC/+ADgv/wA4L/8ANy7/ ALsvAACiMwAAiTMAAHgzAABrMgAAYzAAAF0uAABYLQAAUywAAFAtBwBNLRAASi0XAEgtHwBGLiYA RS4sAEMuMwBCLjkAQS8/AEAvRQA/L00APjBVAD0wXgA8MWkAOzF2ADoxhQA4MpgANzKsADYywwA1 MugANDL9ADQy/wAzMv8AMzL/ALUxAACcNQAAhTUAAHQ1AABoNAAAXzMAAFkwAABULwAATzAAAEsw BQBIMA0ARTEVAEMxHABBMSMAQDIqAD4yMAA9MjYAPDI9ADszQwA6M0oAOTRTADk0XAA4NGcANzR0 ADU1hAA0NZYAMzWqADI1wgAxNucAMDX8ADA1/wAwNf8ALzX/ALA0AACYNwAAgTcAAHA3AABkNgAA XDUAAFY0AABQMgAASzMAAEc0AgBDNAsAQTUTAD41GgA9NSEAOzUoADo2LgA4NjQANzY7ADc3QQA2 N0kANTdRADQ3WgAzOGUAMjhyADE4ggAwOJQALzmpAC05wAAtOeUALDn7ACw5/wAsOP8ALDj/AKw3 AACTOQAAfDkAAG05AABhOAAAWTgAAFI3AABMNgAARzcAAEM4AAA/OAkAPDkQADo5GAA4OR8ANzom ADU6LAA0OjIAMzo5ADI7PwAxO0YAMDtPADA7WAAvPGMALjxwACw8gAArPJIAKjynACk8vgAoPOMA KDz6ACg8/wAoPP8AKDz/AKY6AACOPAAAeDwAAGk7AABeOwAAVjoAAE86AABIOgAAQjsAAD47AAA7 PAYANz0OADU9FQAzPhwAMj4jADA+KQAvPzAALj82AC0/PQAsP0QALD9MACtAVgAqQGEAKUBuAChA fQAnQJAAJkClACVAvAAkQOEAJED5ACRA/wAkP/8AJD//AKE9AACIPgAAdD4AAGY+AABbPQAAUz0A AEs9AABDPgAAPj8AADpAAAA2QQMAM0IMADBCEgAuQxkALUMgACtDJwAqQy0AKUQ0AChEOgAnREIA JkRKACZEUwAlRF4AJERrACNEewAiRI0AIUSiACBEugAfRN4AH0T4AB9E/wAfQ/8AH0P/AJxAAACD QQAAb0EAAGJAAABYQAAAT0AAAEhAAABAQgAAO0MAADZEAAAxRgAALUcIACpIEAAoSBYAJ0gdACZJ JAAlSSoAJEkxACNJNwAiST8AIUlHACBJUAAfSVsAHkloAB1JdwAcSYoAG0mgABpJtwAZSdkAGUn2 ABlI/wAaSP8AGkj/AJZEAAB9RAAAa0MAAF5DAABUQwAATEMAAEVDAAA9RQAAOEYAADNIAAAtSgAA KEwFACRODQAiThMAIU8aACBPIAAeTycAHU8tABxPNAAcTzsAG09DABpPTQAZT1cAGE9kABdPdAAW T4YAFU6cABROswATTtIAE07zABRN/wAUTf8AFE3/AI5HAAB2RwAAZkYAAFpGAABRRgAASUYAAEJH AAA6SQAANUsAAC9NAAAqTwAAJFIAAB5UCAAbVQ8AGlYWABlWHAAYViMAF1YpABZWMAAVVjcAFFY/ ABNWSQASVlMAElZgABFVcAAQVYIAD1WYAA5UrwAOVMoADlTuAA5T/gAOU/8ADlP/AIVLAABwSgAA YUoAAFdJAABOSQAAR0kAAD9LAAA3TgAAMVAAACtTAAAlVQAAIFgAABpbAwAVXQsAE14RABJeFwAR Xh4AEF4kABBeKwAPXjIADl47AA1eRAANXU4ADF1bAAtdagAKXHsACVyQAAhbpgAHWr8ACFriAAha 9gAIWv8ACFn/AH1PAABqTgAAXU0AAFNNAABLTAAAQ04AADtQAAA0UwAALVYAACdZAAAhXAAAG18A ABZiAAARZQYADWf/4v/iSUNDX1BST0ZJTEUABAkMAAtnEgALZxkACmcfAAlnJgAIZy0AB2Y1AAZm PgAFZkkABGVVAAJlYwABZHQAAGSHAABjngAAYrUAAGLRAABh7wAAYfoAAGH/AHVTAABlUgAAWVEA AFBQAABIUQAAP1QAADdXAAAwWgAAKV4AACJhAAAcZAAAF2cAABFqAAANbQMACW8KAAVwDwACcBQA AHAaAABxIQAAcScAAHEvAABwOAAAcEIAAHBOAABvXAAAbmwAAG1/AABtlQAAbKwAAGvFAABq5QAA avQAAGr8AG5YAABgVwAAVlUAAE1WAABEWAAAO1sAADNfAAArYwAAJGcAAB1rAAAXbgAAEnEAAA50 AAAKdwAABHkGAAB6DAAAexAAAHsVAAB8GwAAfCEAAH0pAAB9MQAAfTsAAHxGAAB8VAAAe2QAAHp2 AAB5iwAAeKIAAHe4AAB20gAAdusAAHX1AGhdAABdWwAAU1sAAEldAAA/YQAANmUAAC5qAAAmbgAA H3MAABh3AAASegAADn4AAAmBAAAEhAAAAIcCAACIBwAAiQwAAIoQAACLFAAAjBoAAIwhAACNKQAA jjMAAI0+AACNSwAAi1oAAIprAACJgAAAiJcAAIeuAACGwgAAhdsAAIXpAGRiAABZYgAATmQAAERo AAA7bQAAMXIAACl3AAAhfAAAGYIAABOHAAAOiwAACY8AAAOTAAAAlgAAAJkAAACaAAAAnAUAAJ0K AACfDgAAoBMAAKEZAACjIQAApCoAAKU0AACkQQAAo08AAKFgAACgcwAAnooAAJ6fAACcswAAnMUA AJvSAGBqAABUbAAASnAAAEB1AAA2ewAALIIAACSJAAAckAAAFJYAAA6cAAAJoQAAA6YAAACqAAAA rQAAALAAAACyAAAAtAAAALUCAAC3BwAAuAwAALoRAAC7GAAAviAAAMAqAADCNgAAwUQAAL9UAAC9 ZgAAvHsAALqRAAC5pAAAubEAALi8AFt1AABQeQAARn8AADyHAAAxkAAAKJgAAB+hAAAXqQAAELAA AAu2AAADuwAAAL8AAADCAAAAxAAAAMcAAADJAAAAywAAAM0AAADQAAAA0gMAANQJAADXDwAA2hYA AN4fAADhKgAA5DgAAONHAADhWAAA4GsAAN5/AADdkgAA3KAAANupAFWAAABLiQAAQZIAADacAAAs pgAAIrAAABm4AAARwAAACscAAAPMAAAA0AAAANUAAADZAAAA2wAAAN4AAADhAAAA5AAAAOYAAADp AAAA7AAAAO8AAADyBQAA9gwAAPkUAAD9HwAA/ysAAP86AAD/SgAA/1wAAP9uAAD/fgAA/owAAP6V AP8AFQD/ABQA/wAVAP8AGAD/AB0A/wAkAP8ALAD/ADUA/wA9AP8ARQD/AE0A/wBUAP8AWgD/AGAA /wBmAP8AawD/AHAA/wB2AP8AfAD/AIIA/wCKAP8AkgD/AJ0A/wCpAP8AtADzALwA5wDGANsA1wDR AOgAyQDyAMQA+QDAAP0AvgD/AP8AEQD/ABAA/wAQAP8AEgD/ABgA/wAeAP8AJwD/ADAA/wA4AP8A QAD/AEgA/wBPAP8AVQD/AFsA/wBhAP8AZgD/AGsA/wBwAP4AdgD7AHwA+QCEAPcAjAD0AJYA8QCi AO4AsADrAMEA3gDPANIA5ADIAPEAwQD7ALwA/wC5AP8AtwD/AP8ADQD/AAsA/wAKAP8ADAD/ABEA /wAZAP8AIgD/ACsA/wA0AP8APAD9AEMA+QBKAPUAUADyAFYA7wBbAO0AYQDqAGYA6ABrAOYAcADj AHYA4AB+AN0AhgDaAJAA1QCbANIAqADOALgAyQDPAMcA7wC/APwAuAD/ALQA/wCxAP8ArwD/AP8A CAD/AAUA/wADAP8ABAD/AA0A+wAVAPMAHgDtACYA6AAvAOUANwDjAD4A3gBFANkASwDVAFEA0gBW AM8AWwDNAGAAygBlAMgAawDFAHEAwwB3AMAAgAC9AIkAuQCVALYAogCyALEArwDEAKwA5QCqAPoA qAD/AKcA/wCmAP8ApQD/AP8AAAD/AAAA/wAAAP8AAADvAAgA4QAQANYAGQDOACEAyAAqAMUAMgDC ADkAvwBAALsARgC4AEwAtgBRALMAVgCxAFsAsABgAK4AZQCrAGsAqQByAKcAeQCkAIMAogCOAJ8A mwCcAKoAmQC7AJYA1wCUAPMAkgD/AJEA/wCQAP8AkAD/AP8AAAD/AAAA/QAAAOwAAADVAAQAxAAM ALoAFACzABwArgAlAKsALQCoADQApgA7AKMAQQChAEcAnwBMAJ0AUQCcAFYAmgBbAJgAYACXAGYA lQBsAJMAdACQAH0AjgCJAIwAlgCJAKQAhgC1AIMAywCBAOsAgAD9AH4A/wB+AP8AfQD/AP8GAAD5 AAAA4gAAAMkAAAC7AAAArgAIAKUADwCfABcAmwAgAJcAKACVAC8AkwA2AJEAPACPAEIAjQBHAIsA TACKAFEAiABWAIcAWwCFAGEAgwBnAIEAbwB/AHgAfQCEAHsAkQB5AKAAdgCwAHQAxQByAOUAcAD4 AG8A/wBuAP8AbgD/APYMAADqCgAAyAoAALAKAACiBwAAmwMBAJUACwCPABIAjAAaAIgAIgCFACoA gwAxAIEANwB/AD0AfQBCAHwARwB7AEwAeQBRAHgAVwB2AF0AdQBjAHMAawBxAHQAcACAAG4AjQBr AJ0AaQGtAGcBwQBmAuEAZAP1AGME/wBiBP8AYgT/AO0QAADUEQAAtBEAAJ8RAACSDwAAiQ0AAIYJ BACCBA0AfwEUAHsBHQB4AiUAdgMsAHQEMwByBDkAcQU+AG8FQwBuBUgAbQZOAGwGUwBqBlkAaQdg AGcHaABmCHIAZAh9AGIJiwBhCZsAXwmsAF0KwQBbCuEAWgv2AFkM/wBYDP8AVwz/AOQUAADDFwAA phcAAJIXAACFFQAAfBMAAHcRAAB2DQcAdQkPAHEJFwBuCiAAawsnAGkLLgBoCzQAZww6AGUMPwBk DEUAYw1KAGINUABhDVYAXw1dAF4OZgBcDnAAWw58AFkPigBXEJsAVhCtAFQQwwBSEeYAURH6AE8R /wBPEf8AThH/ANgZAAC1HAAAmx0AAIgcAAB7GwAAchkAAG0XAABqFAAAahAKAGgPEgBlEBsAYhAj AGERKgBfETAAXhE2AFwRPABbEkEAWhJHAFkSTABYElMAVhNaAFUTYwBUFG0AUhR5AFAUhwBPFZgA TRWrAEsWwABKFuMASRf6AEgX/wBHF/8ARxf/AM0eAACqIAAAkiEAAIAhAABzIAAAax4AAGYcAABi GgAAYRYFAF8UDgBcFRcAWhUfAFgWJgBXFiwAVRYzAFQXOABTFz4AUhdDAFEYSQBQGFAATxhXAE0Z YABMGWoAShp2AEkahABHG5YARhuoAEQbvgBDHOEAQhz4AEEc/wBBHP8AQBz/AMQiAACiJAAAiiUA AHklAABtJAAAZSIAAGAhAABcHgAAWhwBAFgaDABVGhMAUxobAFEbIgBQGykAThwvAE0cNQBMHDsA SxxAAEodRgBJHU0ASB1UAEYeXQBFHmcARB9zAEIfggBBIJMAQCCmAD4gvAA9Id8APCH3ADsh/wA7 If8AOyH/ALwmAACcJwAAhCgAAHQoAABoJwAAYCYAAFskAABXIgAAVCAAAFIfCABPHxAATR8YAEsf HwBKICYASCAsAEcgMgBGITgARSE+AEQhRABDIkoAQiJSAEAiWwA/I2UAPiNxAD0kgAA7JJEAOiSl ADklugA3Jd0ANyX2ADYl/wA2Jf8ANSX/ALQpAACWKgAAfyoAAHAqAABkKgAAXCkAAFcnAABTJQAA UCQAAE0jBQBKIw4ASCMVAEYkHABEJCMAQyQpAEEkLwBAJTUAPyU7AD4lQQA9JkgAPCZQADsmWAA6 J2MAOSdvADgofgA2KI8ANSijADQpuQAyKdoAMin1ADEp/wAxKf8AMSn/AK4rAACRLAAAey0AAGwt AABhLAAAWSsAAFMqAABPKAAATCcAAEgnAgBFJwsAQycSAEEnGQA/KCAAPSgnADwoLAA7KTIAOik4 ADkpPwA4KUYANypOADYqVgA1K2EANCttADMrfAAyLI4AMCyiAC8stwAuLNcALiz1AC0s/wAtLP8A LSz/AKguAACMLgAAdy8AAGgvAABeLgAAVi4AAFAtAABMKgAARyoAAEQrAABBKwkAPisQADwrFwA6 Kx4AOCwkADcsKgA2LDAANS02ADQtPQAzLUQAMi5MADEuVQAwLl8ALy5rAC4vegAtL4wALC+gACsv tgAqMNQAKTD0ACkv/wApL/8AKS//AKMwAACHMQAAczEAAGUxAABbMQAAUzAAAE0vAABILQAAQy4A AEAuAAA8LwYAOS8OADcvFAA1LxsANDAiADIwKAAxMC4AMDA0AC8xOwAvMUIALjFKAC0yUwAsMl0A KzJqACoyeAApMooAKDOeACcztAAmM9IAJjPzACUz/wAlM/8AJTL/AJ0yAACDMwAAcDMAAGIzAABY MwAAUDIAAEoyAABFMQAAPzEAADsyAAA4MgQANTMMADMzEgAxMxkALzQgAC40JgAtNCwALDUyACs1 OQAqNUAAKTVIACg2UQAnNlsAJzZoACY2dgAlNogAJDadACM2swAiNs8AITbyACE2/wAhNv8AITb/ AJg0AAB+NQAAbDUAAF81AABVNQAATjUAAEc0AABBNAAAOzUAADc2AAA0NgEAMTcJAC43EAAsOBYA KjgdACk4IwAoOSoAJzkwACY5NgAlOT0AJDpFACQ6TgAjOlkAIjplACE6dAAgOoYAHzqbAB46sQAd Os0AHTrwAB06/wAdOv8AHTn/AJI3AAB5NwAAaDgAAFw4AABSNwAASzcAAEQ3AAA+NwAANzkAADM5 AAAvOwAALDsHACk8DgAnPRQAJT0aACQ9IQAjPicAIj4tACE+NAAgPjsAHz5DAB4+TAAePlYAHT5j ABw+cQAbPoMAGj6YABk+rgAYPsoAGD7uABg+/wAYPv8AGD3/AIs6AAB0OgAAZDoAAFg6AABPOgAA SDkAAEE6AAA7OgAANTwAADA9AAAsPwAAJ0ADACRBCwAhQhEAIEIXAB9DHgAeQyQAHEMqABtDMQAb QzgAGkNAABlDSQAYQ1MAF0NfABZDbgAVQ4AAFEOVABNDrAATQ8cAE0PsABNC/wATQv8AE0L/AIU9 AABvPQAAYD0AAFU9AABMPAAARTwAAD88AAA4PgAAMj8AAC1BAAAoQwAAJEUAAB5HBwAbSA4AGkgU ABhJGgAXSSEAFkknABVJLQAVSTQAFEk8ABNJRQASSVAAEUlcABFJawAQSHwAEEiRAA5IqAAOSMIA DkjnAA5H+wAOR/8ADkf/AH5AAABqQAAAXEAAAFI/AABJPwAAQj8AADw/AAA1QQAAL0MAACpFAAAl RwAAIEoAABtMAwAVTgoAE08QABJPFgARUBwAEVAjABBQKQAPUDAADlA4AA5QQQANT0wADE9XAAxP ZQALTnYACk6KAAlOoQAITbgACE3ZAAlN8gAJTf8ACk3/AHZEAABlQwAAWEMAAE5CAABGQgAAQEIA ADlDAAAyRgAALEgAACZLAAAhTQAAHE8AABZSAAASVQYADlcMAA1XEgAMVxgAC1ceAApXJQAJVywA CFc0AAdWPAAGVkYABVZSAARWXwADVXAAAlWDAAFUmQAAVLAAAFPLAAFT7AABU/gAAVP/AG9HAABg RwAAVEYAAEtFAABERQAAPUYAADVIAAAuSwAAKE4AACJRAAAdVAAAF1YAABJZAAAOWwQACl4KAAde DwAEXxQAAl8aAAFfIAAAXycAAF8vAABfNwAAXkEAAF5MAABeWQAAXWkAAF18AABckgAAW6kAAFvB AABa4wAAWvQAAFr8AGhLAABbSwAAUUoAAElJAABBSQAAOUwAADFPAAAqUgAAI1UAAB5YAAAYWwAA E14AAA5hAAALYwIABmYIAAJmDQAAZxEAAGcWAABoGwAAaCIAAGkpAABpMQAAaDsAAGhGAABoUwAA Z2IAAGZ0AABmigAAZaEAAGS3AABj0wAAY+0AAGP3AGJQAABXTwAATk0AAEZOAAA9UAAANVMAAC1X AAAmWgAAH14AABlhAAATZQAADmgAAAtrAAAGbQAAAW8EAABwCQAAcQ0AAHIRAABzFgAAcxwAAHQj AAB1KgAAdTQAAHQ+AAB0SwAAc1oAAHJsAABygQAAcZgAAHCuAABvxQAAb+IAAG7uAF1UAABUUwAA S1MAAEFVAAA4WAAAMFwAAChhAAAhZQAAGmkAABNtAAAOcAAACnQAAAV3AAAAeQAAAHsAAAB8BAAA fQkAAH8NAACAEQAAgRYAAIIcAACDIwAAhSwAAIU3AACEQwAAg1IAAIJjAACBdwAAgI0AAH+kAAB+ uQAAfcwAAH3iAFpZAABRWQAAR1sAAD1fAAA0YwAAK2gAACNtAAAbcgAAFHcAAA97AAAKfwAABIMA AACGAAAAiQAAAIwAAACNAAAAjwIAAJEGAACSCwAAlA8AAJYUAACYGwAAmSMAAJstAACbOgAAmUgA AJhYAACXawAAlYEAAJOZAACSrAAAkr0AAJHLAFdgAABMYgAAQmYAADhrAAAvcQAAJncAAB19AAAW gwAAEIkAAAqOAAAEkwAAAJcAAACbAAAAngAAAKEAAACkAAAApgAAAKgAAACqAwAArAgAAK4NAACx EwAAsxsAALUkAAC4LwAAtj0AALVNAAC0XgAAsnMAALGIAACvnQAArq0AAK64AFNqAABIbgAAPnQA ADR7AAAqggAAIYoAABiSAAARmgAADKAAAAWnAAAArQAAALEAAAC1AAAAuAAAALsAAAC+AAAAwAAA AMIAAADEAAAAxwAAAMkEAADMCwAAzxEAANIaAADXJAAA2zEAANlAAADYUQAA1WQAANR4AADSiwAA 0ZsAANGmAE93AABEfgAAOoYAADCQAAAmmgAAHaQAABSuAAAOtgAAB70AAADDAAAAxwAAAMsAAADP AAAA0QAAANMAAADXAAAA2gAAAN0AAADgAAAA4wAAAOYAAADpAAAA7AgAAPAQAAD1GQAA+SUAAPw0 AAD7RAAA+lUAAPloAAD4eQAA94gAAPaSAP8AEgD/ABEA/wASAP8AFgD/ABsA/wAhAP8AKAD/ADAA /wA4AP8AQAD/AEcA/wBOAP8AVAD/AFoA/wBfAP8AZAD/AGoA/wBvAP8AdAD/AHsA/wCCAP8AiwD/ AJYA/wCiAP4AsADyALkA5ADDANgA0gDMAOcAxQDyAL8A+gC7AP8AuAD/AP8ADgD/AA0A/wANAP8A EAD/ABUA/wAbAP8AIwD/ACsA/wAzAP8AOwD/AEMA/wBJAP8AUAD/AFUA/wBaAP0AXwD7AGQA+QBp APcAbwD1AHUA8wB8APAAhQDtAI8A6gCbAOYAqQDjALkA2wDLAM4A4gDEAPEAvAD7ALcA/wCzAP8A sQD/AP8ACgD/AAcA/wAHAP8ACgD/AA4A/wAVAP8AHgD9ACcA+gAvAPgANwD1AD4A8ABFAOwASwDo AFAA5QBVAOIAWgDgAF8A3QBkANsAaQDYAG8A1AB2ANEAfgDOAIgAywCUAMcAoQDEALEAwQDGAL0A 6AC6AP0AswD/AK4A/wCrAP8AqQD/AP8AAwD/AAAA/wAAAP8AAgD6AAoA7wARAOYAGgDgACIA2wAq ANYAMgDUADkAzwBAAMsARgDHAEsAxABQAMIAVQC/AFkAvQBeALsAYwC5AGkAtgBwALQAdwCxAIEA rwCNAKwAmgCpAKkApgC7AKMA2gChAPUAnwD/AJ4A/wCdAP8AmwD/AP8AAAD/AAAA/wAAAPEAAADe AAUAzgANAMQAFQC9AB0AuQAlALYALQCzADQAsQA7AK4AQACrAEYAqQBLAKcATwClAFQAowBZAKEA XgCgAGMAngBqAJwAcQCaAHsAlwCGAJUAkwCTAKIAkACzAI0AygCLAOwAigD/AIkA/wCIAP8AiAD/ AP8AAAD9AAAA7QAAANYAAADAAAEAsgAKAKkAEQCkABkAoAAhAJ0AKACbAC8AmQA1AJcAOwCVAEEA kwBGAJEASgCQAE8AjgBUAI0AWQCLAF4AigBlAIgAbACGAHUAhACAAIIAjQCAAJwAfQCsAHsAwQB5 AOMAeAD4AHcA/wB2AP8AdgD/APoBAADsAAAAzAAAALUAAACoAAAAnQAFAJUADQCQABQAjAAcAIoA IwCIACoAhgAxAIUANwCDADwAgQBBAIAARgB+AEoAfQBPAHwAVAB6AFkAeQBgAHcAZwB1AHAAdAB6 AHIAhwBwAJYAbgCnAGwAugBrANgAaQDyAGgA/wBoAP8AZwD/APAIAADTBQAAtAYAAJ8GAACSAwAA jAAAAIUACQCAABAAfQAWAHsAHgB5ACUAdwAsAHUAMgB0ADcAcgA8AHEAQQBwAEYAbwBLAG4AUABt AFUAawBcAGoAYwBoAGwAZwB2AGUAgwBkAJIAYgCjAGAAtgBfAM4AXQDuAF0A/QBcAP8AWwD/AOQL AAC+DQAAow0AAJANAACDDAAAewoAAHgGAgB1AgsAcgASAG8AGQBtACAAawAnAGoALQBoADMAZwA4 AGYAPQBlAEIAZABHAGMATABiAFIAYAFYAF8BYABeAmkAXAJzAFsDgABZA5AAWAOhAFYEswBVBMsA UwXrAFIG+gBSBv8AUQb/ANQQAACuEgAAlRMAAIMTAAB3EgAAbxAAAGsOAABqCwUAaQYNAGYEFABk BBsAYgUjAGAFKQBfBi8AXQY0AFwHOQBbBz4AWgdDAFkISQBYCE8AVwlVAFYJXQBVCWYAUwpxAFIK fgBQC44ATwuhAE0LtABMC8wASwztAEoN/ABJDf8ASA3/AMQVAACiFgAAixcAAHoYAABvFwAAZxUA AGITAABgEQAAXw4IAF8LDwBcCxYAWgseAFgMJQBXDCsAVgwwAFUNNgBUDTsAUw1AAFINRgBRDkwA Tw5TAE4OWwBND2UASw9wAEoQfgBIEI4ARxChAEURtQBEEdAAQhHxAEIS/wBBEv8AQRL/ALgZAACZ GwAAgxwAAHMcAABoHAAAYBoAAFwYAABZFgAAVxMCAFcQCwBVEBIAUxAaAFERIQBQEScAThEtAE0R MgBMEjgASxI9AEoSQwBJE0kASBNQAEYTWABFFGIARBRtAEIVewBBFYwAPxWfAD4WswA8Fs0AOxbv ADsW/wA6F/8AOhf/AK8dAACRHgAAfCAAAG0gAABiHwAAWx4AAFYcAABTGwAAURgAAFAWBwBOFA8A TBUWAEoVHQBJFSQARxYqAEYWLwBFFjUARBc6AEMXQABCF0YAQRhOAEAYVgA+GWAAPRlrADwZeQA6 GokAORqdADgbsQA2G8sANRvuADUb/wA1G/8ANBv/AKcgAACLIQAAdyIAAGgjAABeIgAAVyIAAFIg AABOHgAATBwAAEoaAwBIGQwARhkTAEQaGgBDGiAAQRomAEAbLAA/GzIAPhs4AD0bPQA8HEQAOxxL ADodUwA4HV0ANx5pADYedwA1HocAMx+bADIfsAAxH8kAMB/tADAf/wAvH/8ALx//AKEiAACGJAAA ciUAAGQlAABbJQAAUyQAAE4jAABKIQAARyAAAEUeAABDHgkAQR4QAD8eFwA9Hh0APB8jADofKQA5 Hy8AOB81ADcgOwA2IEEANSBJADQhUQAzIVsAMiJnADEidQAvIoYALiOZAC0jrgAsI8gAKyPsACsj /wArI/8AKyP/AJslAACBJgAAbicAAGEoAABXJwAAUCcAAEsmAABHJAAARCIAAEEiAAA+IgYAPCIO ADoiFAA4IhsANiIhADUjJwA0IywAMyMyADIjOQAxJD8AMCRHAC8lTwAuJVkALSVlACwmcwArJoQA KiaYACkmrQAnJsYAJybrACcm/gAnJv8AJyb/AJYnAAB9KQAAaykAAF4qAABVKQAATSkAAEgoAABD JwAAQCUAADwlAAA5JQQANyYMADUmEgAzJhgAMSYeADAmJAAuJioALicwAC0nNgAsKD0AKyhFACoo TgApKVgAKSljACgpcQAnKYIAJSmWACQqrAAjKsUAIyrqACMq/QAjKv8AIyn/AJEpAAB5KwAAaCsA AFssAABSKwAASysAAEUqAABAKgAAPCgAADgpAAA1KQEAMikJADAqEAAuKhYALSocACsqIgAqKigA KSsuACgrNAAnKzsAJyxDACYsTAAlLFYAJCxiACMtcAAiLYAAIS2UACAtqgAfLcMAHy3oAB8t/QAf Lf8AHy3/AIwsAAB1LQAAZC0AAFguAABPLQAASC0AAEItAAA9LAAAOCsAADQsAAAxLQAALi0HACwt DgAqLhMAKC4aACcuIAAmLyYAJS8sACQvMgAjLzkAIjBBACEwSQAhMFMAIDBfAB8wbQAeMH4AHTCS ABwxqAAbMcEAGzHnABsx/AAbMP8AGzD/AIcuAABxLwAAYTAAAFYwAABNLwAARi8AAEAvAAA7LwAA NS8AADAwAAAtMAAAKjEEACcyDAAlMhEAJDMXACIzHQAhMyQAIDMqAB8zMAAeNDcAHTQ+ABw0RwAc NFEAGzRdABo0awAZNHwAGDSQABc0pgAWNL8AFjTlABY0+wAXNP8AFzT/AIEwAABtMQAAXjIAAFMy AABKMgAAQzEAAD0xAAA4MQAAMjIAAC0zAAApNAAAJTUBACM2CQAgNw8AHjcVAB04GwAcOCEAGzgn ABo4LQAZODQAGDk8ABc5RQAWOU8AFjlaABU5aQAUOXkAEziOABM4pAASOL0AEjjiABI4+QASOP8A Ejj/AHwzAABoNAAAWjQAAFA0AABHNAAAQDMAADozAAA1NAAALzUAACs2AAAnOAAAIjkAAB47BgAb PAwAGT0SABg9GAAXPR4AFj0kABU9KgAUPjEAEz45ABI+QgASPkwAET5XABA9ZgAQPXYADz2KAA49 oQAOPbkADT3cAA499QAOPP8ADjz/AHY2AABkNwAAVzcAAE03AABENgAAPjYAADg2AAAzNgAALTgA ACg6AAAkPAAAHz0AABs/AgAWQgkAE0MPABJDFAARQxoAEEMhABBDJwAPQy4ADkM2AA5DPgANQ0gA DENTAAxDYQALQnEACkKEAAlCmgAJQrIACEHNAAlB7QAJQfwACkH/AHA5AABfOgAAUzoAAEk5AABC OQAAOzgAADY4AAAwOgAAKjwAACU+AAAgQAAAHEIAABdEAAASRwUADkkLAA1JEQAMSRcADEkdAAtJ IwAKSSoACUkyAAhJOgAHSUQABklPAAVIXAAESGsAA0h+AAJHlAABR6sAAUfEAAJG5wACR/YAA0b/ AGk9AABbPQAATzwAAEY8AAA/OwAAOTsAADM8AAAtPgAAJ0EAACFDAAAdRQAAGEgAABNKAAAPTAQA DE8KAAhQDgAGUBMABFAZAANQHwACUCYAAVAtAABQNQAAUD8AAE9KAABPVgAAT2UAAE53AABOjQAA TaQAAE29AABN3wAATPIAAEz8AGNAAABWQAAATEAAAEQ/AAA9PgAANj8AADBBAAApQwAAI0YAAB5J AAAYTAAAE04AABBRAAAMUwIACFUIAANWDQAAVxEAAFcVAABYGwAAWCEAAFgoAABYMAAAWDkAAFdE AABXUAAAV18AAFZxAABWhgAAVZ4AAFW1AABU0AAAVO0AAFP4AF5EAABSRAAASUMAAEJCAAA6QgAA M0QAACxHAAAlSgAAH00AABlQAAAUUwAAEFYAAAxYAAAIWwAAA10GAABdCgAAXg4AAF8SAABgFwAA YRwAAGEjAABiKgAAYjMAAGE+AABhSgAAYFgAAGBpAABffgAAXpYAAF6uAABdxgAAXeQAAFzyAFhI AABORwAARkYAAD9GAAA2SAAALksAACdOAAAgUgAAGlUAABRZAAAQXAAADF8AAAdhAAACZAAAAGYC AABnBwAAaAsAAGkOAABqEgAAaxcAAGwdAABtJAAAbi0AAG43AABtQwAAbVEAAGxhAABrdQAAao0A AGmmAABovAAAaNQAAGfpAFRMAABMSwAAREsAADtNAAAyUAAAKlQAACJYAAAbXAAAFWAAABBkAAAL ZwAABmoAAAFtAAAAbwAAAHEAAABzAgAAdAYAAHUKAAB2DQAAeBIAAHkXAAB7HgAAfCYAAH0vAAB9 OwAAfEkAAHtZAAB6bQAAeYQAAHicAAB3sQAAdsYAAHbcAFJRAABJUAAAP1MAADZWAAAtWgAAJV8A AB1kAAAWaQAAEG0AAAtxAAAFdQAAAHgAAAB7AAAAfgAAAIAAAACCAAAAhAAAAIUDAACHBwAAiQwA AIsQAACNFgAAkB4AAJInAACSMgAAkUAAAJBQAACOYwAAjHkAAIuPAACKpQAAibcAAIjGAE9WAABF WQAAO10AADFiAAAoZwAAH20AABdzAAAReAAADH4AAAWCAAAAhwAAAIsAAACOAAAAkQAAAJQAAACX AAAAmQAAAJsAAACeAAAAoAMAAKMJAACmDgAAqRUAAKweAACvKQAArjYAAKxGAACqVwAAqGsAAKeC AACllwAApKkAAKO2AEtgAABBZAAANmoAAC1wAAAjdwAAGn8AABOFAAANjAAABpMAAACZAAAAnwAA AKMAAACmAAAAqgAAAK0AAACwAAAAswAAALYAAAC4AAAAuwAAAL4AAADBBgAAxQ0AAMgVAADMHwAA 0CsAAM46AADNSwAAzF0AAMpxAADJhQAAx5YAAMejAEdtAAA9cwAAMnoAACiDAAAfjAAAFpYAAA+e AAAIpwAAAa4AAAC1AAAAuwAAAL8AAADDAAAAxQAAAMkAAADMAAAAzwAAANIAAADUAAAA2AAAANsA AADfAAAA4wQAAOcMAADsFAAA8SAAAPUuAAD0PgAA8lAAAPFiAADwdAAA74QAAO6QAP8AEAD/AA4A /wAQAP8AEwD/ABcA/wAeAP8AJAD/ACwA/wA0AP8AOwD/AEIA/wBJAP8ATwD/AFQA/wBZAP8AXgD/ AGMA/wBoAP8AbQD/AHQA/wB7AP8AgwD/AI4A/ACaAPkAqADuALQA4AC/ANQAzwDJAOUAwADyALoA +wC2AP8AswD/AP8ACwD/AAkA/wALAP8ADQD/ABIA/wAXAP8AHwD/ACcA/wAvAP8ANwD/AD4A/wBE AP8ASgD8AE8A+QBUAPYAWQD0AF4A8gBjAO8AaADtAG4A6gB1AOcAfQDkAIcA4QCSAN0AoQDaALEA 0wDGAMkA4AC/APEAtwD9ALIA/wCuAP8ArAD/AP8ABQD/AAMA/wAEAP8ABwD/AAsA/wASAPgAGgDz ACIA8AAqAO4AMgDsADkA5gA/AOEARQDdAEoA2QBPANUAVADSAFgA0ABdAM0AYgDKAGgAyABuAMUA dgDCAH8AvwCLALwAmQC5AKkAtgC8ALMA4ACxAPkArgD/AKkA/wClAP8AogD/AP8AAAD/AAAA/wAA APoAAADtAAYA4AAOANYAFgDPAB4AywAmAMcALQDFADQAwgA6AL0AQAC6AEUAtwBKALQATgCyAFMA sABXAK4AXACsAGIAqgBoAKgAbwCmAHkAowCDAKEAkQCfAKEAnACzAJoAzACYAPAAlwD/AJYA/wCU AP8AkQD/AP8AAAD/AAAA9AAAAN8AAADKAAIAvAAKALQAEgCuABkAqgAhAKcAKACmAC8ApQA1AKEA OwCfAEAAnABFAJoASQCYAE4AlwBSAJUAVwCTAFwAkgBiAJAAaQCOAHIAjAB9AIoAiQCIAJkAhgCr AIQAwACDAOUAgQD8AIAA/wCAAP8AfwD/AP4AAADtAAAA2QAAAL8AAACtAAAAogAHAJoADgCVABUA kgAcAI8AIwCOACoAjAAwAIsANgCJADsAhwBAAIUARACEAEkAgwBNAIEAUgCAAFcAfgBdAH0AZAB7 AG0AegB3AHgAgwB2AJMAdACkAHMAuABxANYAcAD0AG8A/wBvAP8AbgD/AO4AAADXAAAAtwAAAKQA AACYAAAAjQADAIYACgCCABEAfwAYAH0AHwB7ACUAegArAHkAMQB4ADYAdgA7AHUAQABzAEQAcgBI AHEATQBwAFIAbgBYAG0AXwBsAGgAagByAGkAfgBnAI0AZgCeAGUAsQBjAMkAYgDsAGIA/gBhAP8A YQD/AN8BAAC9AAAAogIAAJACAACDAAAAfQAAAHcABgBzAA0AcQATAG8AGgBtACEAbAAnAGsALQBq ADIAaAA3AGcAOwBmAEAAZQBEAGQASQBjAE4AYgBUAGEAWwBgAGQAXwBuAF0AegBcAIgAWwCaAFkA rABYAMMAVwDlAFYA+QBWAP8AVQD/AM4GAACqCAAAkgoAAIEKAAB1CQAAbgcAAGsEAQBoAAkAZgAP AGQAFQBiABwAYQAiAGAAKABfAC4AXgAzAF0ANwBcADwAWwBAAFoARQBZAEsAWABRAFcAWABWAGAA VABqAFMAdgBSAIUAUQCWAE8AqQBOAL4ATQDgAE0A9QBMAP8ASwD/ALwMAACdDgAAhg8AAHYQAABr DwAAZA4AAGAMAABfCQMAXgQLAFwBEQBaABcAWQAeAFcAJABWACoAVQEvAFQBMwBTATgAUgI9AFEC QgBQAkcATwNOAE4DVQBNBF4ATARoAEsFdABJBYMASAaUAEcGpwBGBr0ARQbeAEQH8wBDB/8AQwj/ AK8QAACSEgAAfBMAAG0UAABjEwAAXRIAAFkRAABWDgAAVQwGAFUIDQBUBhIAUgYZAFAHIABPByYA TggrAEwIMABMCDUASwg6AEoJPwBJCUUASApLAEcKUwBFClwARAtmAEMLcwBCDIIAQAyVAD8MqAA+ DL8APA3hADwN9QA7Df8AOw3/AKQUAACJFgAAdRcAAGcYAABdGAAAVxcAAFIVAABQEwAAThEBAE4O CABNDA4ASwwVAEkMHABIDSIARw0nAEYNLQBFDTIARA03AEMOPQBCDkMAQQ5KAEAOUgA+D1sAPRBm ADwQcwA6EIIAORGVADcRqQA2EcAANRHkADUR+QA0Ef8ANBH/AJwXAACCGQAAbxsAAGIbAABZGwAA UhoAAE0ZAABKFwAASBUAAEcTAwBGEQsARRARAEMRGABCER4AQBEkAD8RKgA+ES8APRI0ADwSOgA7 EkAAOhNHADkTTwA4E1gANhRjADUUcAA0FYAAMhWTADEVqAAwFb8ALxXjAC4W+QAuFv8ALhb/AJUa AAB8HAAAah4AAF4eAABVHgAATh0AAEkcAABGGwAAQxkAAEIXAABAFQcAPxQOAD0UFQA8FRsAOhUh ADkVJwA4FSwANxYyADYWNwA1Fj4ANBdFADMXTQAyGFYAMBhhAC8ZbgAuGX4ALRmRACsZpgAqGb0A KRrhACka+AApGv8AKRr/AI8dAAB3HwAAZiAAAFohAABRIQAASyAAAEYfAABCHgAAPxwAAD0aAAA7 GQQAORkMADgZEgA2GRgANRkeADMZJAAyGikAMRovADAaNQAvGzsALhtCAC0bSwAsHFQAKxxfACod bAApHXwAKB2PACYdpAAlHbsAJB3fACQe9wAkHf8AJB3/AIofAABzIQAAYyIAAFcjAABPIwAASCIA AEMhAAA+IAAAOx8AADkdAAA3HQEANB0JADMdEAAxHRUALx0bAC4dIQAtHScALB4sACseMwAqHjkA KR9AACgfSQAnIFIAJiBdACUgawAkIHsAIyGOACIhowAhIboAICHeACAh9wAgIf8AICH/AIUhAABv IwAAYCQAAFUlAABMJQAARSQAAEAkAAA7IwAAOCIAADUgAAAyIAAAMCAHAC4hDQAsIRMAKiEZACkh HgAoISQAJyEqACYiMAAlIjcAJCM+ACMjRwAjI1AAIiNcACEkaQAgJHkAHySMAB4kogAdJLkAHCTc ABwk9gAcJP8AHCT/AIEkAABsJQAAXSYAAFInAABJJgAAQyYAAD0mAAA5JQAANSQAADEjAAAuJAAA KyQEACkkCwAnJBEAJiUWACQlHAAjJSIAIiUoACEmLgAhJjUAICY8AB8nRQAeJ04AHSdaABwnZwAb J3cAGieKABknoAAZJ7cAGCjZABgo9QAYJ/8AGSf/AHwmAABoJwAAWigAAE8oAABHKAAAQCgAADsn AAA2JwAAMicAAC0nAAAqJwAAJycBACUoCQAjKA4AISkUACApGgAfKSAAHikmAB0qLAAcKjMAGyo6 ABoqQwAaK0wAGStYABgrZQAXK3UAFiuIABUrngAUK7YAFCvVABQr9AAUK/8AFSv/AHgoAABlKQAA VyoAAE0qAABEKgAAPioAADgpAAA0KQAALykAACoqAAAmKwAAIysAACEsBgAeLQ0AHS0SABsuGAAa Lh4AGS4kABguKgAXLjAAFi84ABYvQAAVL0oAFC9VABMvYwATL3MAEi+GABEvnAARL7QAEC/SABEv 8wARLv8AES7/AHMrAABhLAAAVCwAAEosAABCLAAAOywAADYrAAAxKwAALSsAACctAAAkLgAAIS8A AB0wAwAaMQoAGDIQABYyFQAVMxsAFDMhABMzJwATMy4AEjM1ABEzPgARM0cAEDNTABAzYAAOM3AA DjODAA4zmQANM7AADTPLAA0z7QANMv0ADjL/AG4tAABeLgAAUS8AAEcvAAA/LgAAOS4AADQtAAAv LQAAKy4AACUwAAAiMQAAHjIAABo0AAAWNgcAEzcNABE4EgAROBgAEDgeAA84JAAOOCsADjgyAA04 OwANOEQADDhPAAs4XAAKN2sACjd9AAk3kwAIN6oACDfEAAg35gAJN/gACTf/AGkwAABaMQAATjEA AEQxAAA9MAAANzAAADEwAAAtMAAAKDEAACMzAAAfNQAAGzYAABc4AAATOgQADzwKAA09EAAMPRUA Cz0bAAs9IQAKPSgACT0vAAg9NwAHPUAABj1LAAU9VwAEPGYAAzx4AAI8jQACPKQAATu9AAI74AAD O/MAAzv9AGQzAABVNAAASjQAAEEzAAA6MwAANDIAADAyAAArMwAAJTUAACA3AAAcOQAAFzsAABM9 AAAQPwMADUEJAAlDDQAGQxIABUMYAARDHgADQyQAAkMrAAFDMwAAQzwAAENGAABDUgAAQmEAAEJy AABBhwAAQZ8AAEG2AABA1QAAQPAAAED7AF42AABRNwAARzYAAD82AAA4NQAAMzQAAC01AAAnNwAA IjkAAB08AAAYPgAAFEAAABBCAAANRQIACUcIAAVIDAACSBAAAEkVAABJGgAASiAAAEonAABKLwAA SjcAAElCAABJTQAASVwAAEhtAABIgQAAR5kAAEewAABHywAARusAAEb4AFk6AABNOgAARDkAADw4 AAA2NwAAMDgAACo6AAAkPAAAHj8AABlCAAAURAAAEEYAAA1JAAAJSwEABU0GAABOCgAATw4AAE8S AABQFgAAURwAAFIiAABSKQAAUjIAAFE8AABRSAAAUVYAAFBmAABQegAAT5IAAE6qAABOwwAATuQA AE30AFQ+AABJPQAAQTwAADs7AAA0OwAALT0AACZAAAAgQgAAGkYAABVIAAAQSwAADU4AAAlQAAAE UgAAAFQEAABVCAAAVgsAAFcPAABYEwAAWRcAAFodAABbJAAAWy0AAFs3AABbQgAAWlAAAFpgAABZ cwAAWIoAAFejAABXuwAAV9gAAFbtAE9BAABGQAAAPz8AADg/AAAwQQAAKUQAACJHAAAbSgAAFU4A ABBRAAAMVAAACFYAAANZAAAAWwAAAF0AAABeBAAAYAcAAGELAABiDgAAYxIAAGUYAABmHgAAaCYA AGcwAABnOwAAZ0gAAGZYAABlawAAZIEAAGOaAABisgAAYsoAAGHkAExFAABERAAAPUMAADRFAAAs SQAAJEwAAB1QAAAWVAAAEVgAAAxbAAAHXwAAAWEAAABkAAAAZgAAAGgAAABqAAAAawIAAG0GAABu CgAAcA4AAHESAABzGAAAdSAAAHcpAAB3NAAAdkEAAHVQAAB0YwAAc3gAAHGQAABwqAAAcL0AAG/T AEpJAABCSAAAOEsAAC9OAAAnUgAAH1cAABdcAAARYAAADGQAAAZoAAAAbAAAAG8AAABxAAAAdAAA AHYAAAB4AAAAegAAAHwAAAB+AwAAgAgAAIIMAACEEQAAhxgAAIohAACMKwAAizgAAIlHAACIWQAA hm4AAIOHAACCngAAgrIAAIHBAEdOAAA9UQAANFUAACtZAAAiXwAAGWQAABJqAAANbwAABnQAAAB4 AAAAfAAAAIAAAACCAAAAhQAAAIgAAACLAAAAjQAAAJAAAACSAAAAlQAAAJgFAACbCwAAnxAAAKMY AACmIgAApy8AAKU+AACjTwAAoGMAAJ16AACckAAAm6MAAJqxAENXAAA5WwAAL2EAACZnAAAcbgAA FHQAAA57AAAIgQAAAIcAAACMAAAAkQAAAJYAAACZAAAAnQAAAKAAAACkAAAApgAAAKkAAACtAAAA sAAAALQAAAC3AQAAuwgAAMAQAADEGQAAyCUAAMY0AADDRQAAwlcAAMBrAAC+gAAAvZQAALyhAD9j AAA1aQAAK3AAACF4AAAYgAAAEIgAAAmRAAACmQAAAKAAAACnAAAArAAAALEAAAC0AAAAuAAAALwA AAC/AAAAwwAAAMYAAADJAAAAzQAAANEAAADVAAAA2QAAAN4HAADiEAAA6BoAAOwoAADrOQAA6koA AOhcAADnbwAA5oAAAOWNAP8ADAD/AAwA/wAOAP8AEAD/ABQA/wAaAP8AIQD/ACgA/wAvAP8ANgD/ AD0A/wBEAP8ASQD/AE8A/wBUAP8AWAD/AF0A/wBiAP8AZwD/AG0A/gB0APsAfAD5AIUA9gCSAPMA oQDoAK0A2AC4AMoAxwDBAOEAugDyALUA/QCxAP8ArgD/AP8ABwD/AAYA/wAIAP8ACwD/AA4A/wAU AP8AGwD/ACIA/wAqAP8AMgD/ADkA/AA/APgARQD0AEoA8QBPAO4AUwDrAFgA6QBcAOYAYQDjAGcA 4ABuAN0AdQDZAH4A1QCKANEAmQDOAKkAygC+AL8A0wC2AO4AsAD8AKwA/wCpAP8ApgD/AP8AAQD/ AAAA/wABAPkAAwD2AAgA9QAOAO0AFgDnAB4A5AAmAOEALQDgADQA2gA6ANMAQADOAEUAygBJAMcA TgDFAFIAwgBXAL8AWwC9AGEAugBnALgAbwC1AHcAsgCCALAAkACtAKEAqgC0AKgA0ACmAPUApQD/ AKIA/wCcAP8AmAD/AP8AAAD+AAAA8gAAAOoAAADdAAIAzgALAMUAEgC/ABkAuwAhALcAKAC2AC8A tAA1ALAAOwCtAEAAqgBEAKgASQCmAE0ApABRAKIAVgCgAFsAngBhAJwAaACaAHEAmAB7AJYAiACU AJgAkgCqAJAAwgCOAOkAjQD/AIwA/wCJAP8AhwD/AP8AAADwAAAA4gAAAMoAAAC3AAAAqwAHAKQA DgCfABUAnAAcAJoAIwCZACoAmAAwAJUANgCSADsAkAA/AI4AQwCMAEgAigBMAIkAUACIAFYAhgBb AIQAYgCDAGsAgQB1AH8AgQB9AJAAfACiAHoAtwB5ANoAeAD4AHgA/wB3AP8AdgD/AO0AAADaAAAA wgAAAKwAAACcAAAAkgADAIsACwCHABEAhAAYAIIAHwCBACUAgAArAH8AMQB9ADYAfAA6AHoAPwB5 AEMAdwBHAHYASwB1AFEAdABWAHIAXQBxAGUAbwBvAG4AegBtAIkAawCbAGoArwBpAMkAaADvAGcA /wBnAP8AZwD/ANoAAADBAAAApAAAAJMAAACIAAAAfgAAAHkABwB1AA4AcgAUAHEAGgBwACEAbwAm AG8ALABtADEAbAA2AGoAOgBpAD4AaABCAGcARwBmAEwAZQBSAGQAWABjAGAAYQBqAGAAdQBfAIMA XgCVAF0AqABcAL8AWwDkAFoA+gBaAP8AWgD/AMgAAACpAAAAkQAAAIEAAAB2AAAAcAAAAGsABABo AAoAZgAQAGQAFgBjABwAYgAiAGEAJwBhACwAXwAxAF4ANgBdADoAXAA+AFwAQwBbAEgAWgBNAFkA VABXAFwAVgBlAFUAcQBUAH8AUwCQAFIAowBRALgAUADZAFAA9ABPAP8ATwD/ALgBAACZBAAAgwYA AHQHAABpBgAAYwQAAGACAABeAAcAWwANAFoAEgBZABgAWAAeAFcAIwBXACgAVgAtAFQAMgBTADYA UgA6AFIAPwBRAEQAUABKAE8AUQBOAFgATQBiAEwAbQBKAHsASQCMAEgAnwBHALMARwDOAEYA7gBG AP0ARQD/AKgIAACMCgAAdwwAAGoNAABgDAAAWgsAAFYJAABVBgIAVAMJAFIADgBRABQAUAAZAE8A HwBOACQATQApAEwALgBLADIASgA3AEkAPABIAEEARwBHAEYATQBFAFUARABfAEMAagBCAHgAQQCJ AEAAnAA/ALAAPgDJAD0A6gA9AfoAPQH/AJwMAACCDgAAbxAAAGIRAABZEAAAUxAAAE8OAABNDAAA TAoEAEsGCwBKBBAASQIVAEgCGwBHAiEARgImAEUDKgBEAy8AQwM0AEIEOQBBBD4AQAREAD8FSwA+ BVMAPQZdADwGaQA6BncAOQeIADgHmwA3B7AANgfIADUH6QA1CPgANAj/AJMQAAB6EgAAaRMAAF0U AABUFAAAThMAAEkSAABHEAAARQ4AAEQMBgBFCQwAQwgRAEIIFwBACB0APwgiAD4JJwA9CSwAPAkx ADsJNgA6CjwAOQpCADgKSQA3C1IANgtcADUMaAAzDHcAMgyIADEMnAAwDLEALwzLAC4N6wAuDfsA LQ3/AIsTAAB0FQAAZBcAAFgXAABQFwAASRcAAEUVAABBFAAAPxIAAD4QAgA+DggAPg0OADwMEwA6 DRkAOQ0fADgNJAA3DSkANg0uADUONAA0DjoAMw5BADIOSAAxD1EALxBcAC4QaAAtEHcALBCJACoQ ngApELQAKBDPACgR8AAnEf4AJxH/AIQVAABvGAAAYBkAAFQaAABMGgAARRkAAEEYAAA9FwAAOxYA ADkUAAA4EgQANxEKADYQEAA1EBYAMxEbADIRIQAxESYAMBEsAC8RMQAuEjgALRI+ACwSRgArE08A KhNaACgTZgAnFHUAJhSHACUUnAAkFLIAIxTNACIU7wAiFP8AIhT/AH8YAABrGgAAXBwAAFEcAABJ HAAAQhwAAD0bAAA6GgAANxkAADUXAAAzFQAAMhQHADEUDQAvFBMALhQZAC0UHgArFCQAKhUpACkV LwAoFTUAJxY8ACYWRAAlF00AJBdYACMXZAAiGHMAIRiGACAYmwAfGLEAHhjMAB4Y7gAeGP8AHhj/ AHsaAABnHAAAWR4AAE4eAABGHgAAPx4AADodAAA2HAAAMxsAADEaAAAvGAAALRgEACsYCwAqGBEA KBgWACcYGwAmGCEAJRgnACQZLQAjGTMAIho6ACEaQgAgGksAHxtWAB4bYwAdG3IAHBuEABsbmQAa G7AAGRvLABkb7gAZG/8AGhv/AHYcAABkHgAAViAAAEwgAABEIAAAPSAAADgfAAA0HgAAMB4AAC0d AAArGwAAKRsBACcbCQAlGw4AJBsTACIcGQAhHB4AIBwkAB8dKgAeHTEAHh04AB0eQAAcHkkAGx5U ABofYQAZH3AAGB+CABcfmAAWH64AFR/JABUf7QAWH/4AFh//AHIfAABhIAAAVCEAAEkiAABBIgAA OyEAADUhAAAxIAAALiAAACofAAAnHwAAJR8AACMfBgAhHwwAHyARAB4gFwAcIBwAGyAiABshKAAa IS8AGSE2ABgiPgAXIkcAFiJSABYiXwAVIm4AFCKBABMilgASIq0AEiLIABIi7AASIv4AEiL/AG4h AABeIgAAUSMAAEckAAA/IwAAOCMAADMjAAAvIgAAKyIAACghAAAkIgAAISIAAB8jAwAcIwoAGiQP ABkkFAAYJBoAFyQgABYlJgAVJS0AFSU0ABQlPAATJkUAEiZQABImXQARJmwAECZ/ABAmlAAPJawA DiXGAA4l6QAPJfsADyX/AGsjAABaJAAATiUAAEQlAAA8JQAANiUAADEkAAAtJAAAKSQAACUkAAAh JQAAHiYAABsmAQAYJwgAFigNABUoEgAUKRgAEykeABIpJAARKSoAESkyABAqOgAQKkMADypOAA4q WwAOKmkADSl7AAwpkAAMKacACym/AAsp4gAMKfcADCn/AGclAABXJwAASycAAEInAAA6JwAANCYA AC8mAAArJgAAJyYAACMmAAAfJwAAHCgAABgpAAAVKwUAEiwLABAtEAAQLRUADy4bAA4uIQAOLigA DS4vAAwuNwAMLkAACy5KAAouVgAJLmUACS12AAgtiwAHLaIABi25AAct2wAHLfIACC3+AGIoAABU KQAASCkAAD8pAAA4KQAAMSgAAC0oAAApKAAAJSgAACEoAAAdKgAAGSsAABYtAAASLwMAEDEJAA0y DgAMMhMACzIYAAoyHgAJMiUACDIsAAcyMwAGMjwABjJGAAUyUgAEMmEAAzJxAAIxhgABMZ0AADG0 AAEx0QACMe8AAjH7AF4qAABQKwAARSwAADwrAAA1KwAALyoAACsqAAAnKQAAIyoAAB8sAAAaLgAA Fi8AABMxAAAQMwMADTUIAAo3DAAHNxEABTcWAAQ3GwADNyIAAjcoAAE3MAAAODgAADdDAAA3TgAA N1wAADdtAAA2gQAANpgAADawAAA1ygAANesAADX5AFktAABMLgAAQi4AADotAAAzLQAALiwAACos AAAlLAAAIC4AABwwAAAXMgAAFDQAABA2AAANOAIACjoHAAY7CwADPA8AADwTAAA9GAAAPR4AAD0l AAA9LAAAPTUAAD0/AAA9SgAAPVcAADxoAAA8ewAAO5MAADurAAA7xAAAOuYAADr2AFQxAABIMQAA PzAAADcwAAAxLwAALC4AACcvAAAiMAAAHTIAABg0AAAUNwAAETkAAA07AAALPQEABj8GAAJACgAA QQ0AAEIRAABDFQAAQxoAAEQhAABEKAAARDAAAEQ6AABERQAAQ1MAAENjAABCdgAAQo0AAEGmAABB vwAAQOAAAEDyAFA0AABFNAAAPDMAADUyAAAwMQAAKjEAACQzAAAfNQAAGjgAABU6AAARPQAADT8A AApBAAAGQwAAAkUEAABGCAAARwsAAEgOAABJEgAAShYAAEscAABMIwAATCsAAEw1AABMQAAAS00A AEtcAABKbwAASYYAAEmfAABIuAAASNYAAEftAEs4AABBNwAAOTYAADQ0AAAtNAAAJzYAACE5AAAb OwAAFT4AABFBAAANRAAACUYAAAVIAAABSgAAAEwCAABOBQAATwgAAFAMAABRDwAAUhMAAFQYAABV HgAAViYAAFYwAABVOwAAVUgAAFRWAABUaQAAU38AAFKYAABRsAAAUMkAAFDnAEc7AAA+OgAAODgA ADE4AAAqOgAAIz0AAB1AAAAWQwAAEUYAAA1JAAAJTAAABE8AAABRAAAAUwAAAFUAAABXAQAAWAQA AFkIAABbCwAAXA4AAF4TAABgGQAAYSAAAGIpAABiNAAAYUAAAGFPAABgYQAAX3YAAF2PAABcpwAA XL8AAFvZAEM+AAA9PQAANjwAAC0+AAAmQQAAHkUAABhJAAASTAAADVAAAAhUAAACVwAAAFkAAABb AAAAXgAAAGAAAABiAAAAYwAAAGUDAABmBgAAaAoAAGoOAABsEwAAbxoAAHEiAABxLQAAcTkAAHBH AABvWQAAbmwAAGyFAABrnQAAarMAAGnHAEJCAAA7QQAAMkMAAClHAAAhSwAAGU8AABJUAAANWAAA B1wAAAFgAAAAYwAAAGYAAABpAAAAawAAAG4AAABwAAAAcQAAAHMAAAB1AAAAeAQAAHoIAAB8DQAA fxMAAIIbAACGJAAAhTEAAIQ/AACCUAAAgGQAAH57AAB9kgAAfKgAAHq6AEBHAAA2SQAALU0AACRR AAAcVwAAFFwAAA5hAAAIZgAAAGsAAABvAAAAcwAAAHYAAAB5AAAAfAAAAH4AAACBAAAAgwAAAIYA AACIAAAAiwAAAI4AAACSBgAAlgwAAJoTAACfHAAAoigAAKA2AACdRwAAm1oAAJhwAACVhwAAkp0A AJGtADtPAAAyUwAAKFgAAB9fAAAWZQAAD2sAAAlxAAABdwAAAH0AAACCAAAAhgAAAIoAAACNAAAA kAAAAJQAAACYAAAAmwAAAJ4AAAChAAAApQAAAKkAAACtAAAAsgQAALcLAAC8EwAAwh4AAMItAAC/ PQAAu1AAALhkAAC0egAAs48AALKeADdaAAAtYAAAJGcAABpuAAASdgAAC30AAASFAAAAjQAAAJQA AACaAAAAnwAAAKQAAACoAAAAqwAAALAAAAC0AAAAtwAAALsAAAC/AAAAwwAAAMcAAADMAAAA0QAA ANYCAADcCwAA4hUAAOYiAADiMwAA4EUAAN9XAADeagAA3HwAANuMAP8ACgD/AAoA/wALAP8ADQD+ ABEA/wAWAP8AHAD/ACMA/wArAP8AMgD/ADgA/wA/AP8ARAD/AEkA/wBOAP8AUwD/AFcA/QBcAPsA YQD5AGcA9gBtAPMAdQDwAH4A7QCLAOoAmQDgAKcAzQCyAMAAwAC3ANkAsADuAKwA+wCpAP8ApwD/ AP8ABAD/AAMA/AAEAPYABwD0AAwA9QARAPgAFwD9AB4A+gAlAPkALQD4ADQA8wA6AO4AQADqAEUA 5gBJAOMATgDfAFIA3ABWANkAWwDVAGEA0QBnAM4AbgDKAHcAxwCDAMQAkQDBAKIAvgC3ALUAywCt AOkApwD7AKMA/wCgAP8AnQD/AP8AAAD7AAAA8AAAAOkAAADmAAUA5wALAN0AEgDWABkA0wAhANEA KADPAC8AygA1AMQAOgDAAD8AvABEALkASAC3AE0AtABRALIAVQCvAFsArQBhAKsAaACoAHAApgB7 AKQAiQChAJkAnwCsAJ0AxwCcAPAAmwD/AJYA/wCPAP8AjAD/AP0AAADtAAAA3wAAANYAAADJAAAA uwAHALMADgCvABUAqgAcAKkAIwCoACoApwAwAKMANQCgADoAnQA/AJsAQwCZAEcAmABMAJYAUACU AFUAkQBbAJAAYgCOAGoAjAB0AIoAgACIAJAAhwCjAIUAugCEAOIAgwD/AIMA/wB9AP8AewD/AO4A AADbAAAAywAAALUAAACmAAAAnAADAJUACwCQABEAjgAYAI0AHwCLACUAigArAIgAMACGADUAhAA6 AIIAPgCAAEIAfwBGAH4ASwB8AFAAewBVAHkAXAB4AGQAdgBtAHQAeQBzAIgAcgCaAHAAsABwAM0A bwD1AG8A/wBuAP8AbAD/ANgAAADDAAAArQAAAJoAAACMAAAAgwAAAH0ABwB6AA0AdwAUAHYAGgB1 ACAAdQAmAHQAKwBzADAAcQA1AHAAOQBvAD0AbQBBAGwARgBrAEoAagBQAGgAVgBnAF4AZgBoAGUA cwBkAIEAYgCTAGEApwBhAMAAYADpAGAA/wBfAP8AXwD/AMMAAACsAAAAlAAAAIMAAAB5AAAAcQAA AG0ABABpAAoAZwAQAGYAFgBmABwAZQAhAGQAJwBjACwAYgAwAGEANABgADgAXwA9AF4AQQBdAEYA XABLAFsAUgBaAFkAWQBiAFgAbQBXAHsAVgCMAFUAoABUALcAVADcAFMA+QBTAP8AUwD/ALMAAACY AAAAggAAAHMAAABqAAAAZAAAAGAAAQBdAAcAWwANAFoAEgBZABcAWQAdAFgAIgBYACcAVwAsAFYA MABVADQAVAA4AFMAPQBSAEIAUQBHAFAATgBPAFUATgBeAE0AaQBMAHYASwCGAEsAmgBKALAASQDM AEkA8ABJAP8ASAD/AKQAAACJAAAAdQMAAGgEAABfAwAAWQIAAFYAAABUAAQAUgAKAFEADgBQABQA TwAZAE8AHgBOACMATQAoAEwALABLADAASgA0AEoAOQBJAD4ASABDAEcASgBGAFEARQBaAEQAZQBD AHIAQgCCAEEAlQBBAKsAQADEAEAA6AA/APsAPwD/AJYDAAB9BwAAawkAAF8KAABXCgAAUQgAAE0H AABLBAAASgEGAEkADABIABAARwAVAEYAGgBGAB8ARQAkAEQAKABDAC0AQgAxAEIANQBBADsAQABA AD8ARwA+AE4APQBXADwAYgA7AG8AOgB/ADkAkgA4AKcAOAC+ADcA4QA3APYANwD/AIsJAAB0CwAA ZA0AAFgOAABQDgAASg0AAEYMAABECgAAQwgCAEIFCABBAg0AQAASAD8AFgA+ABsAPgAgAD0AJQA8 ACkAOwAuADoAMgA5ADcAOAA9ADcARAA2AEsANQBVADQBXwAzAWwAMgF8ADIBjwAxAaQAMAG7AC8A 3AAvAPMALwD+AIMMAABtDgAAXhAAAFMRAABLEQAARRAAAEAQAAA+DgAAPA0AADsLBAA7CAoAOgUO ADkEEwA4AxgANwMdADYEIgA1BCYANAQrADMEMAAzBTUAMgU7ADEFQgAwBkkALwZTAC4HXgAtB2sA LAd7ACsHjwAqB6QAKQe6ACgH2QAoBvEAJwf8AHsQAABoEQAAWRMAAE8TAABHEwAAQRMAADwSAAA5 EQAANxAAADUOAQA1DQYANQoLADQJEAAzCBQAMQgaADAJHgAvCSMALgkoAC0JLQAtCjMALAo5ACsK QAAqC0gAKQtSACgMXgAmDGwAJQx8ACQMkAAjDKUAIgy8ACEM3AAhDPIAIQz9AHYSAABjFAAAVhUA AEsWAABDFgAAPRUAADgVAAA1FAAAMhMAADARAAAwEAMALw4HAC8NDAAtDBEALAwWACsNHAAqDSEA KQ0mACgNKwAnDTEAJg44ACUOQAAkDkgAIw9TACIPXwAhEG0AHxB+AB4QkgAdEKgAHBDBABsQ5AAb EPYAGxD/AHEUAABfFgAAUxcAAEgYAABAGAAAOhgAADUXAAAxFgAALxUAACwUAAArEwAAKhEEACkQ CQAoEA4AJxATACYQGQAlEB4AJBAkACMRKQAiES8AIRE2ACASPgAfEkcAHhJRABwTXQAbE2sAGhN8 ABkTkQAYE6cAFxPAABcT5AAXE/kAFxP/AG0WAABcGAAAUBkAAEYaAAA+GgAANxkAADIZAAAuGAAA KxcAACkWAAAnFQAAJhQBACQTBgAjEwwAIhMRACETFgAfExsAHhQhAB0UJwAcFC0AHBU0ABsVPAAa FUUAGRZPABgWWwAXFmoAFhZ7ABUWkAAUFqYAExa+ABMW4wATFvgAExb/AGkYAABZGgAATRsAAEMb AAA7GwAANRsAADAbAAAsGgAAKRkAACYZAAAkGAAAIhcAACAXBAAeFwoAHRcOABsXEwAaFxkAGRcf ABkYJQAYGCsAFxgyABYZOgAVGUMAFBlNABQZWQATGmgAEhp5ABEajgAQGaUAEBm9ABAZ4gAQGfcA EBn/AGYaAABWHAAASx0AAEEdAAA5HQAAMx0AAC4cAAAqHAAAJhsAACMbAAAhGgAAHxoAABwaAQAa GgcAGBoNABcbEQAWGxcAFRscABQcIgATHCkAExwwABIdOAARHUEAER1LABAdWAAQHWYADh14AA4d jAANHaIADR25AA0d2gANHPIADRz/AGMcAABUHgAASB8AAD8fAAA3HwAAMR4AACweAAAoHQAAJB0A ACEcAAAfHAAAHBwAABgdAAAWHgUAFR4LABMfEAASHxQAESAaABEgIAAQICcADyAuAA4hNgAOIT8A DSFJAA0hVAAMIWIADCFzAAshhgAKIJ0ACSC0AAkg0AAJIO4ACiD7AF8eAABRIAAARSAAADwgAAA1 IAAALiAAACofAAAmHwAAIh4AACAeAAAdHgAAGR8AABYgAAAUIQMAESIIABAjDQAOJBIADiQYAA0k HgANJCQADCQrAAskMgAKJDsACiVFAAkkUQAIJF4AByRvAAYkggAGJJkABSSwAAQjygAFI+sABSP5 AFwgAABOIgAAQyIAADoiAAAyIgAALCEAACghAAAkIAAAISAAAB4gAAAbIAAAFyIAABQjAAASJAMA ECYHAA0oDAALKBEACigWAAkoGwAIKCEABygoAAYoLwAFKTgABClCAAQoTQADKFsAAihrAAEofgAA J5UAACesAAAnxgAAJ+cAACf3AFgjAABLJAAAQCQAADckAAAwIwAAKiMAACYiAAAiIgAAICIAABwi AAAZIwAAFSUAABImAAAQKAMADSkHAAorCwAHLA8ABSwTAAQtGQACLR8AAS0lAAAtLAAALTUAAC0+ AAAtSgAALVcAACxnAAAsegAALJEAACupAAArwQAAK+QAACr1AFQlAABHJgAAPSYAADQmAAAuJQAA KSUAACUkAAAiIwAAHiQAABolAAAWJwAAEygAABAqAAAOLAIACy0GAAcvCgAEMA4AATERAAAxFgAA MhwAADIiAAAyKQAAMjEAADI7AAAyRgAAMlMAADJjAAAxdQAAMIwAADClAAAwvQAAL+AAAC/zAFAo AABEKQAAOigAADIoAAAsJwAAJyYAACQmAAAgJgAAGycAABcpAAATKwAAEC0AAA4vAAALMAIACDIF AAQ0CQAANQwAADYQAAA3EwAAOBgAADgeAAA4JQAAOC4AADg3AAA4QgAAOE8AADdeAAA3cQAANocA ADWgAAA1uQAANNoAADTwAEsrAABAKwAANysAADAqAAAqKQAAJigAACIoAAAdKgAAGCsAABQuAAAR MAAADjIAAAs0AAAHNgAAAzgEAAA5BwAAOgsAADsNAAA8EQAAPRUAAD8bAAA/IgAAPyoAAD4zAAA/ PQAAPkoAAD5ZAAA9awAAPYEAADybAAA7tAAAO9AAADrtAEcuAAA8LgAANC0AAC4sAAApKwAAJCsA AB8sAAAaLgAAFTEAABEzAAAONgAACjgAAAc6AAADPAAAAD4CAAA/BQAAQQgAAEILAABDDgAARBIA AEYXAABHHQAARyUAAEcuAABHOAAARkUAAEZTAABFZQAARHsAAESUAABDrgAAQsgAAELnAEIyAAA5 MQAAMi8AAC0uAAAnLgAAIS8AABsyAAAWNAAAETcAAA46AAAKPQAABT8AAAJBAAAAQwAAAEUAAABG AgAASAUAAEkIAABKCwAATA4AAE4TAABPGAAAUSAAAFEpAABQMwAAUEAAAE9OAABPXwAATnQAAE2M AABMpgAAS74AAEveAD41AAA3MwAAMTIAACsxAAAkMwAAHTYAABc5AAASPAAADj8AAApCAAAERQAA AEcAAABJAAAATAAAAE4AAABPAAAAUQEAAFIEAABUBwAAVgsAAFgOAABaEwAAXBoAAF0iAABdLQAA XDkAAFxHAABbWAAAWmsAAFiEAABXnQAAVrQAAFXMADs4AAA2NgAALzYAACc4AAAgOgAAGT4AABNB AAAORQAACUkAAANMAAAATwAAAFEAAABUAAAAVgAAAFgAAABaAAAAXAAAAF0AAABfAgAAYQYAAGMK AABmDgAAaRQAAGwcAABtJgAAbDEAAGs/AABqTwAAaWIAAGd6AABmkgAAZakAAGS9ADo7AAA0OgAA KzwAACNAAAAbQwAAFEgAAA5MAAAJUQAAAlUAAABYAAAAXAAAAF4AAABhAAAAYwAAAGYAAABoAAAA agAAAGwAAABuAAAAcAAAAHMEAAB1CQAAeQ4AAHwVAACAHgAAgCoAAH84AAB+RwAAfFoAAHpvAAB5 hgAAdp4AAHWwADk/AAAvQgAAJ0UAAB5KAAAWTwAAEFQAAAlZAAACXgAAAGMAAABnAAAAawAAAG0A AABwAAAAcwAAAHYAAAB4AAAAewAAAH0AAACAAAAAgwAAAIYAAACKAQAAjggAAJMOAACYFgAAnSEA AJsvAACZPwAAllEAAJNlAACPfAAAjpIAAI2jADRHAAArSwAAIlEAABlWAAARXQAAC2MAAANpAAAA bwAAAHQAAAB4AAAAfQAAAH8AAACDAAAAhgAAAIoAAACOAAAAkQAAAJQAAACXAAAAmwAAAKAAAACl AAAAqgAAALAHAAC2DgAAvBgAAMAlAAC9NQAAuUcAALVbAACxcAAAroUAAKqYADBSAAAmWAAAHV4A ABVlAAAObAAABnMAAAB7AAAAggAAAIkAAACOAAAAlAAAAJcAAACcAAAAoAAAAKUAAACpAAAArQAA ALAAAAC1AAAAuQAAAL4AAADDAAAAyQAAAM8AAADWBgAA3RAAAOQcAADiLAAA3j0AANpRAADUZQAA 0HkAAM+KAP8ABwD/AAYA+AAHAPIACgDwAA4A8gASAPUAGAD6AB8A/wAmAP8ALQD/ADMA/wA6AP8A PwD/AEQA/ABJAPoATgD3AFIA9ABXAPIAWwDvAGEA7ABnAOkAbwDmAHgA4gCEAN4AkgDVAKEAwgCs ALUAugCtANAApgDrAKIA+gCfAP8AnQD/AP8AAQD3AAAA7AABAOYABADkAAgA5gANAOoAEwDwABkA 7gAhAO0AKADtAC8A6AA1AOIAOwDcAD8A1gBEANIASADOAEwAygBRAMcAVgDEAFsAwABhAL0AaAC6 AHEAtwB8ALQAigCxAJsAsACwAKoAxwCjAOYAnQD6AJkA/wCUAP8AjwD/APkAAADpAAAA3QAAANQA AADSAAAA1QAHAMkADgDFABUAwgAcAL8AIwC8ACoAugAwALUANQCxADoArgA/AKsAQwCpAEcApwBL AKQAUACjAFUAoQBbAJ4AYgCcAGoAmQB0AJgAggCVAJIAkwClAJIAwACQAOsAkAD/AIgA/wCCAP8A fwD/AOsAAADYAAAAyQAAAMEAAAC2AAAAqgADAKQACwCfABEAnAAYAJoAHwCaACUAmgArAJcAMACT ADUAkAA6AI4APgCMAEIAigBGAIgASgCGAE8AhABVAIIAXACBAGMAfwBtAH0AeQB8AIkAewCcAHoA tAB6ANoAeQD9AHYA/wByAP8AbwD/ANgAAADDAAAAtQAAAKMAAACVAAAAjQAAAIYABwCDAA0AgQAT AH8AGgB9ACAAfQAmAHwAKwB6ADAAeAA0AHcAOAB1AD0AdABBAHMARQBxAEoAcABPAG8AVQBtAF0A bABnAGsAcgBpAIEAaACTAGcAqQBnAMYAZgDyAGcA/wBkAP8AYgD/AMEAAACuAAAAmwAAAIoAAAB+ AAAAdQAAAHEAAwBuAAoAawAQAGsAFQBqABsAagAhAGoAJgBpACsAZwAvAGUANABkADgAYwA7AGIA QABhAEUAYABKAF8AUABdAFcAXABhAFsAbABaAHkAWgCLAFkAoABZALoAWADlAFgA/wBYAP8AVgD/ AK8AAACaAAAAhAAAAHUAAABsAAAAZgAAAGEAAQBeAAcAXQANAFwAEgBbABcAWwAcAFsAIgBbACYA WgArAFkALwBYADMAVwA3AFYAOwBVAEAAVABFAFMATABSAFMAUQBcAFAAZwBPAHMATgCEAE0AmQBN ALAATADSAEwA9wBMAP8ATAD/AKEAAACHAAAAdAAAAGcAAABfAAAAWQAAAFYAAABTAAQAUQAJAFEA DgBQABMAUAAYAFAAHQBQACIATwAmAE4AKwBNAC8ATAAzAEsANwBKADwASQBBAEgARwBHAE8ARgBX AEUAYgBEAG4ARAB/AEMAkwBDAKkAQgDGAEIA7gBCAP8AQgD/AJIAAAB6AAAAaQAAAF0AAABVAAAA UAAAAEwAAABKAAEASAAHAEcACwBHABAARgAUAEYAGQBGAB4ARQAiAEQAJwBEACsAQwAvAEIAMwBB ADgAQAA9AD8AQwA+AEsAPQBTADwAXgA7AGoAOwB6ADoAjQA6AKQAOQC8ADkA5QA5APsAOQD/AIUA AABvAwAAYAYAAFUHAABNBgAARwYAAEQFAABCAgAAQQAEAD8ACQA/AA0APgARAD4AFQA+ABoAPQAe ADwAIwA7ACcAOgArADkAMAA5ADQAOAA6ADcAQAA2AEcANQBQADQAWgAzAGcAMwB2ADIAiQAyAJ8A MQC3ADEA2gAxAPUAMQD/AHwFAABoCAAAWgoAAE8LAABHCwAAQQoAAD0KAAA7CAAAOQYAADkDBgA4 AQoANwAOADYAEgA2ABYANgAbADUAHwA0ACQAMwAoADIALAAxADEAMQA3ADAAPQAvAEUALgBNAC0A VwAsAGQALABzACsAhQAqAJsAKgCyACkAzwApAO8AKQD+AHQJAABiDAAAVA0AAEoOAABCDgAAPA0A ADgNAAA1DAAAMwsAADIJAwAyBggAMQQMADACEAAwARMALwAYAC8AHAAuACAALQAlACwAKQArAC8A KgA0ACkAOwAoAUIAKAFLACcBVQAmAmIAJQJxACQCgwAkAZkAIwGvACMAyQAiAOoAIgD6AG4MAABd DgAAUBAAAEYQAAA+EAAAOBAAADQPAAAwDgAALg4AACwMAAAsCwUALAkJACsHDQAqBhEAKQUVACkE GQAoBB4AJwQiACYFJwAlBSwAJAUyACQGOAAjBkAAIgZJACEHVAAgB2EAHwdwAB4HggAeB5gAHQeu ABwGxgAcBugAHAX3AGkOAABZEAAATBIAAEMSAAA7EgAANRIAADARAAAsEQAAKhAAACgPAAAnDgIA JgwGACYLCgAmCQ4AJQkSACMIFgAjCRsAIgkgACEJJQAgCSoAHwowAB4KNwAdCz8AHQtJABwLVAAb C2EAGQxxABgMgwAYDJkAFwuvABYLxwAWC+gAFQr3AGUQAABVEgAASRMAAEAUAAA4FAAAMhQAAC0T AAApEgAAJxIAACQRAAAjEAEAIg8EACEOBwAhDQsAIAwPAB8MFAAeDBgAHQ0dABwNIwAbDSkAGg0v ABkONwAYDkAAFw5KABYOVgAVD2MAFA90ABMPhwASD54AEQ61ABEO0QARDu0AEQ76AGESAABTFAAA RxUAAD0WAAA1FgAALxUAACoVAAAnFAAAJBMAACETAAAfEgAAHhEDAB0RBQAcEAgAGxAMABoPEQAZ EBYAGBAbABcQIQAWECcAFREuABQRNgATET4AExFIABISVAAREmIAEBJyABAShgAOEp0ADhKzAA0R zgAOEe0ADhH7AF4UAABQFgAARBcAADsXAAAzFwAALRcAACgWAAAkFgAAIRUAAB8UAAAcFAAAGxMC ABkTBAAYEgYAFhIKABUSDgAUEhMAExMZABITHwASEyUAERQsABEUNAAQFD0ADxVHAA4VUgAOFV8A DRVvAAwVggAMFZcACxWuAAoUxwAKFOgACxT4AFsWAABNFwAAQhgAADkZAAAxGQAAKxgAACYYAAAi FwAAHxcAAB0WAAAaFgAAGBUBABYVAwAUFQQAExUIABEWDQAQFhEAEBcXAA8XHQAOFyMADhcqAA0Y MQANGDkADBhDAAsYTgALGFsAChhrAAkYfQAIGJMABxiqAAYXwwAGF+UABxf1AFgYAABLGQAAPxoA ADYaAAAvGgAAKRoAACQZAAAhGAAAHRgAABsXAAAYFwAAFhcBABQXAgASGAQAEBkHAA4aCwANGhAA DBoVAAwbGgALGyAAChsmAAobLgAJHDYACBxAAAccSwAGHFgABRxnAAQceQAEG5AAAxunAAIbvwAC GuIAAhr0AFUaAABIGwAAPRwAADQcAAAtGwAAJxsAACIaAAAfGgAAHBkAABkZAAAXGQAAFRkBABMZ AgAQGgQADhwHAA0dCgAKHg4ACR4TAAceGAAGHx0ABh8kAAUfKwAEHzMAAyA8AAIgRwABIFQAAB9k AAAfdgAAH4wAAB6kAAAevAAAHt4AAB3zAFIcAABFHQAAOh0AADIdAAArHQAAJRwAACEcAAAdGwAA GxsAABgaAAAWGgAAExsAABEcAgAPHQMADR8GAAogCgAIIQ0ABSIRAAQjFQACIxsAACMhAAAjKAAA IzAAACQ5AAAkRAAAI1EAACNgAAAjcwAAIokAACKhAAAhugAAIdsAACHxAE4eAABCHwAAOB8AAC8f AAAoHwAAIx4AAB8dAAAcHAAAGhwAABccAAAUHQAAEh4AAA8fAQANIQMACyIGAAgkCQAFJQwAAiYQ AAAnEwAAJxgAACgfAAAoJQAAKC0AACg2AAAoQQAAKE4AAChdAAAnbwAAJ4UAACaeAAAltwAAJdYA ACXwAEogAAA/IQAANSEAAC0hAAAnIAAAIh8AAB4eAAAcHgAAGR4AABUfAAASIAAAECIAAA0jAAAL JQIACCYFAAUoCAABKQsAACoOAAAsEQAALRYAAC0cAAAtIgAALSoAAC0zAAAtPQAALUoAAC1ZAAAs awAAK4EAACubAAAqtAAAKtEAACnvAEYjAAA7IwAAMiMAACojAAAlIgAAISEAAB4gAAAaIAAAFiEA ABMiAAAQJAAADSYAAAsoAAAIKQEABSsEAAEtBwAALgkAAC8MAAAxDwAAMhMAADMYAAAzHwAAMycA ADMwAAAzOgAAM0YAADJVAAAyZgAAMXwAADCWAAAwsAAAL8wAAC7sAEImAAA4JgAALyUAACgkAAAj IwAAICIAABwiAAAYIwAAFCUAABEnAAAOKQAACysAAAgtAAAELwAAADACAAAyBQAAMwcAADUKAAA2 DQAAOBAAADkVAAA6GwAAOiMAADosAAA6NgAAOkIAADlQAAA5YQAAOHYAADeQAAA2qgAANcYAADXn AD4pAAA0KAAALScAACcmAAAjJQAAHyUAABomAAAVKAAAESoAAA4sAAAKLwAABzEAAAMzAAAANQAA ADcAAAA4AgAAOgUAADsIAAA9CwAAPg4AAEASAABCFwAAQh4AAEInAABCMQAAQj0AAEJLAABBXAAA QHAAAD+JAAA+pAAAPb4AADzhADosAAAxKwAAKyoAACYoAAAiJwAAHCkAABYrAAASLgAADjAAAAoz AAAGNgAAAjgAAAA6AAAAPAAAAD4AAABAAAAAQQIAAEMFAABEBwAARgsAAEgOAABKEwAATBkAAEwi AABMLAAASzgAAEtFAABLVQAASmkAAEmBAABHnAAAR7QAAEbPADYvAAAvLQAAKiwAACUrAAAeLQAA GC8AABMyAAAONQAACjgAAAU7AAAAPgAAAEAAAABCAAAARQAAAEcAAABIAAAASgAAAEwBAABOAwAA UAcAAFILAABUDgAAVxQAAFkcAABZJgAAWDEAAFg/AABWTwAAVmEAAFR5AABTkgAAUqsAAFHCADQy AAAvMAAAKS8AACIxAAAaNAAAFDcAAA47AAAKPgAABEIAAABFAAAASAAAAEoAAABNAAAATwAAAFEA AABTAAAAVQAAAFcAAABZAAAAWwIAAF0GAABgCgAAYxAAAGYWAABoHwAAaCoAAGg3AABmRwAAZVkA AGNvAABihgAAYKAAAF+0ADM0AAAtMwAAJTYAAB05AAAWPQAAEEEAAApFAAADSgAAAE0AAABRAAAA VAAAAFcAAABZAAAAXAAAAF4AAABhAAAAYwAAAGUAAABnAAAAagAAAGwAAABvBAAAcwoAAHYQAAB7 GAAAfCMAAHswAAB6PwAAeFEAAHdkAAB1egAAcpQAAHGnADI4AAApOwAAID4AABhDAAARSAAAC00A AARSAAAAVwAAAFsAAABfAAAAYgAAAGUAAABoAAAAawAAAG4AAABxAAAAcwAAAHYAAAB5AAAAfAAA AH8AAACDAAAAhwMAAIwKAACSEQAAmBoAAJgnAACWNwAAk0gAAJBbAACMcQAAi4UAAIqZAC1AAAAk RAAAG0kAABNPAAANVQAABVsAAABhAAAAZwAAAGwAAABwAAAAcwAAAHcAAAB6AAAAfgAAAIIAAACF AAAAiAAAAIsAAACPAAAAkwAAAJcAAACdAAAAogAAAKkCAACwCgAAuBIAAL4eAAC7LgAAuD8AALNS AACvZgAAq3sAAKeOAClKAAAgUAAAF1YAABBdAAAJYwAAAGoAAABxAAAAeAAAAH4AAACEAAAAiQAA AI0AAACRAAAAlgAAAJsAAACfAAAAowAAAKcAAACsAAAAsAAAALYAAAC8AAAAwgAAAMoAAADRAQAA 2gsAAOIVAADkJAAA4DUAANtIAADWWwAA0W8AAM2BAP8AAwDyAAIA6AAEAOEABgDgAAoA4gAPAOYA FADtABsA8wAhAPkAKAD/AC8A/gA1APoAOwD2AEAA8gBEAO8ASQDsAE0A6QBRAOUAVgDiAFsA3gBi ANoAaQDWAHMA0gB+AM4AjADIAJ0AtgCoAKsAtwCiAMwAnADrAJgA+wCVAP8AkQD/APQAAADlAAAA 2QAAANEAAADPAAQA0gAJANkADwDhABUA3wAcAN4AIwDeACoA1gAwAM4ANgDHADoAwwA/AL8AQwC8 AEgAuQBMALcAUAC0AFYAsQBbAK4AYgCrAGsAqQB2AKYAhACkAJUAoQCqAJ8AxgCYAOcAkwD7AI0A /wCGAP8AgQD/AOYAAADTAAAAxgAAAL8AAAC+AAAAwQACALcACgC0ABEArwAYAKwAHwCsACUArAAr AKcAMQCkADUAoQA6AJ4APgCcAEIAmgBGAJgASwCWAFAAlABWAJEAXACPAGQAjQBuAIsAfACJAIwA hwCgAIYAugCFAOcAggD/AHoA/wB1AP8AcgD/ANQAAADAAAAAtAAAAK4AAAClAAAAmgAAAJUABgCP AA0AjgATAI0AGgCMACAAiwAmAIgAKwCFADAAgwA0AIEAOQB/AD0AfQBBAHwARQB6AEoAeQBPAHcA VgB2AF4AdABnAHIAcwBxAIMAcACWAG8ArQBvANEAbwD7AGsA/wBnAP8AZQD/AMAAAACuAAAAowAA AJMAAACFAAAAfgAAAHgAAwB2AAoAcwAQAHIAFQByABsAcgAhAHIAJgBwACsAbgAvAG0AMwBsADcA agA7AGkAQABoAEQAZgBKAGUAUABkAFgAYwBhAGEAbABgAHoAXwCNAF4AowBeAMEAXgDuAF0A/wBb AP8AWQD/AKwAAACcAAAAigAAAHsAAABwAAAAaQAAAGUAAABiAAYAYQAMAGEAEQBgABYAYAAcAGAA IQBfACYAXQAqAFwALgBbADIAWgA2AFkAOwBYAD8AVwBEAFYASwBVAFIAVABbAFMAZgBSAHMAUQCF AFEAmgBRALUAUQDgAFEA/wBPAP8ATgD/AJwAAACJAAAAdgAAAGkAAABgAAAAWwAAAFcAAABVAAMA UwAJAFIADgBSABIAUgAXAFMAHABTACEAUgAmAFEAKgBPAC4ATgAyAE4ANgBNADsATABAAEsARgBK AE0ASQBVAEgAYABHAG0ARgB+AEUAkgBFAKwARQDLAEUA9wBFAP8ARAD/AJAAAAB4AAAAaAAAAFwA AABVAAAATwAAAEwAAABJAAAASAAGAEgACwBHAA8ARwATAEcAGABHAB0ARgAhAEYAJQBFACkARAAt AEMAMgBCADYAQQA8AEAAQgA/AEkAPgBRAD0AWwA8AGgAPAB3ADwAjAA7AKQAOwDAADsA7QA7AP8A OwD/AIIAAABtAAAAXgAAAFMAAABLAAAARgAAAEMAAABAAAAAPwADAD4ACAA+AAwAPQAQAD4AFAA+ ABkAPgAdAD0AIQA8ACUAOwApADoALgA5ADIAOQA4ADgAPgA3AEUANgBNADUAVwA0AGQAMwBzADMA hgAyAJ4AMgC4ADIA4gAyAP0AMwD/AHYAAABjAAAAVgMAAEwDAABEAwAAPgQAADsCAAA4AQAANwAB ADYABQA2AAoANQANADUAEQA1ABUANQAZADUAHQA0ACEAMwAmADIAKgAxAC8AMQA0ADAAOgAvAEEA LgBKAC0AUwAsAGAALABvACsAgQArAJgAKgCxACoA1AAqAPYAKgD/AG4BAABdBQAAUAcAAEYIAAA+ CAAAOQgAADQHAAAyBgAAMAQAAC8CAwAvAAcALgALAC4ADgAuABIALgAWAC4AGgAtAB4ALAAiACsA JwAqACsAKQAxACkANwAoAD4AJwBHACYAUAAlAF0AJQBrACQAfQAkAJMAJACsACMAyQAjAPAAIwD/ AGcGAABXCQAASwoAAEELAAA6CwAANAsAAC8LAAAsCgAAKggAACkHAQAoBQUAKAMJACgBDAAnAA8A JwATACcAFwAmABsAJQAfACQAJAAkACgAIwAuACIANAAhADwAIQBEACAATgAfAFoAHwBoAB4AegAe AJAAHQCoAB0AwwAdAOkAHQD8AGIJAABTCwAARw0AAD0NAAA2DQAAMA0AACsNAAAoDAAAJgsAACQK AAAjCQMAIgcHACIFCgAiBA0AIQMQACECFAAgAhgAIAIcAB8CIQAeAiYAHQIrAB0CMgAcAjkAGwJC ABsCTAAaAlgAGQJmABkCeAAYAY0AGAClABcAvgAXAOMAFwD3AF4LAABPDQAARA4AADoPAAAyDwAA LA4AACgOAAAkDgAAIg0AACANAAAeDAIAHQsFAB0JCAAdCAsAHAcOABwGEQAbBhUAGgYZABkGHgAZ BiMAGAYpABgGMAAXBjcAFgZAABYHSgAVB1cAFAdlABQHdwATBowAEgajABIFuwASBNwAEgTyAFoN AABMDwAAQRAAADcRAAAwEQAAKhAAACUQAAAiEAAAHw8AABwOAAAaDgIAGQ0EABgMBwAYCwkAFwoM ABcKDwAWCRMAFQkXABUJHAAUCSEAFAonABMKLgATCjYAEgo/ABELSgARC1YAEAtlABALdwAPC4wA DgqjAA4KugAOCdkADQnwAFcOAABJEQAAPhEAADUSAAAtEgAAJxIAACMRAAAfEQAAHBAAABoQAAAY EAIAFg8EABUOBgAUDggAEw0KABMMDQASDBEAEQwVABEMGgARDSAAEA0mABANLgAPDTYADg5AAA0O SwANDlcADA5mAAsOeAALDo0ACg6kAAoOuwAJDdsACQ3xAFQQAABHEgAAPBMAADMTAAArEwAAJRMA ACESAAAdEgAAGhEAABcRAAAVEQIAFBAEABIQBgAREAgAEA8JABAOCwAODg4ADg8TAA4QGAANEB4A DRAkAAwQKwAMETMACxE9AAoRRwAJEVQACRFiAAgRdAAHEYkABhGhAAYQuAAFENUABRDvAFESAABE EwAAORQAADAVAAApFAAAIxQAAB8TAAAbEwAAGBIAABYSAAAUEgMAEhEFABERBwAQEQgADxEKAA0R CgAMEg0ACxIRAAsSFgAKEhsACRMhAAkTKAAIEzAABxQ6AAYURAAGFFEABRRfAAQUcQADE4YAAxOe AAITtgACEtIAARLvAE4TAABCFQAANxYAAC4WAAAnFgAAIRUAAB0VAAAZFAAAFxMAABQTAQATEwQA ERIGABASCAAPEggADhIJAAwTCgAKFAwACBUQAAcVFAAGFhkABhYfAAUWJgAEFy4AAxc3AAIXQQAC F04AARdcAAAXbgAAFoQAABacAAAVtAAAFdAAABXuAEsVAAA/FwAANRcAACwXAAAlFwAAIBYAABsW AAAYFQAAFRQAABMUAgASEwUAERMHABATBwAOFAcADBUHAAoWCQAIFwwABRgOAAQZEgACGRcAARod AAEaJAAAGisAABo0AAAbPwAAG0sAABtaAAAabAAAGoEAABmaAAAZsgAAGM8AABjtAEgXAAA8GAAA MhkAACoZAAAjGAAAHhcAABoXAAAXFgAAFRUAABMVAwASFAUAEBUFAA4VBQAMFgUAChgGAAgZCAAF GgsAAhwNAAAdEQAAHhUAAB4bAAAeIQAAHikAAB8yAAAfPAAAH0gAAB5XAAAeaAAAHn4AAB2XAAAc sAAAHM0AABvtAEUZAAA5GgAAMBsAACcaAAAhGgAAHBkAABkYAAAWFwAAFBYCABIWAwAQFgMADhcD AA0YAwAKGgQACBsFAAUdBwACHgkAACAMAAAhDwAAIhMAACIYAAAjHwAAIyYAACMvAAAjOQAAI0UA ACNTAAAiZQAAInoAACGUAAAgrgAAIMsAAB/sAEIcAAA2HAAALRwAACUcAAAgGwAAGxoAABgZAAAW GAAAFBgBABEYAAAPGQAADRsAAAscAQAIHgIABR8EAAIhBgAAIwgAACQKAAAmDQAAJxEAACgWAAAo HAAAKCMAACgsAAAoNgAAKEIAAChQAAAoYQAAJ3YAACaQAAAlqwAAJMcAACTqAD4eAAAzHgAAKh4A ACMeAAAeHAAAGhsAABgaAAAVGgAAEhsAABAcAAANHQAACx8AAAghAAAFIgAAASQCAAAmBAAAKAYA ACkJAAArCwAALA4AAC4TAAAuGQAALyAAAC4oAAAvMgAALj4AAC5LAAAtXQAALXEAACyLAAArpgAA KsIAACnnADohAAAwIQAAKCAAACEfAAAdHgAAGhwAABccAAATHQAAEB8AAA0gAAALIgAAByQAAAQm AAABKAAAACoAAAAsAgAALQQAAC8GAAAxCQAAMwwAADQQAAA2FQAANhwAADUlAAA2LgAANjkAADVH AAA0WAAANGwAADOEAAAyoAAAMLwAADDhADYkAAAsIwAAJSIAACAhAAAdHwAAGR8AABUgAAARIgAA DiQAAAomAAAHKAAAAyoAAAAsAAAALgAAADAAAAAyAAAANAEAADUEAAA3BwAAOQoAADsNAAA9EgAA PhgAAD4gAAA+KgAAPTUAAD1CAAA9UgAAPGYAADt+AAA5mgAAObQAADjTADImAAAqJQAAJCQAACAi AAAcIQAAFiMAABIlAAAOJwAACioAAAYsAAACLwAAADEAAAAzAAAANQAAADcAAAA5AAAAOwAAAD0B AAA+BAAAQAcAAEMKAABFDgAARxMAAEgbAABHJQAARzEAAEc9AABHTAAARl8AAEV2AABEkAAAQqoA AEHFAC4pAAAoKAAAJCYAAB8lAAAZJgAAEykAAA4rAAALLgAABjIAAAA0AAAANwAAADkAAAA7AAAA PQAAAEAAAABCAAAARAAAAEUAAABHAAAASgIAAEwGAABPCgAAUg8AAFUVAABVHwAAVCoAAFQ3AABS RwAAUlgAAFBuAABPhwAATqEAAE23ACwrAAAoKQAAIykAABwqAAAVLQAAEDAAAAs0AAAFNwAAADsA AAA+AAAAQQAAAEMAAABGAAAASAAAAEoAAABNAAAATwAAAFEAAABTAAAAVQAAAFgBAABbBgAAXgsA AGIQAABlGAAAZSMAAGQwAABjPgAAYlAAAF9lAABfewAAXJUAAFurACwuAAAnLQAAHy8AABcyAAAR NgAADDoAAAU+AAAAQwAAAEYAAABKAAAATQAAAFAAAABSAAAAVQAAAFgAAABaAAAAXAAAAF8AAABh AAAAZAAAAGYAAABqAAAAbQUAAHILAAB2EgAAeRwAAHgpAAB3NwAAdUgAAHVaAABycAAAb4kAAG6d ACsyAAAjNAAAGzcAABM8AAANQQAABkYAAABLAAAAUAAAAFQAAABYAAAAWwAAAF4AAABhAAAAZAAA AGcAAABqAAAAbQAAAG8AAAByAAAAdQAAAHkAAAB8AAAAgQAAAIYEAACNDAAAlBQAAJYhAACTLwAA kEAAAI1SAACJZwAAiXoAAIeOACc5AAAePQAAFkIAAA5IAAAITgAAAFQAAABaAAAAXwAAAGQAAABo AAAAawAAAG8AAABzAAAAdwAAAHoAAAB+AAAAgQAAAIQAAACHAAAAjAAAAJAAAACWAAAAnAAAAKMA AACrBQAAtA0AAL0YAAC7JgAAtzcAALNJAACvXAAAqXAAAKaDACJDAAAZSQAAEU8AAAtVAAADWwAA AGIAAABoAAAAbgAAAHUAAAB6AAAAfwAAAIQAAACIAAAAjQAAAJIAAACXAAAAmwAAAJ8AAACkAAAA qQAAAK8AAAC1AAAAvQAAAMUAAADNAAAA2AYAAOEQAADoHQAA4y4AAN4/AADZUgAA02UAAM92AAAA AAAAAAAAAAAAAAAAAAABAwQFBggJCgsNDg8REhMUFhcYGhscHR8gISIkJSYoKSorLS4vMDIzNDY3 ODk7PD0+QEFCREVGR0lKS01OT1BSU1RVV1hZW1xdXmBhYmNlZmdpamtsbm9wcXN0dXd4eXp8fX6A gYKDhYaHiIqLjI6PkJGTlJWWmJmanJ2en6Gio6Smp6iqq6ytr7Cxs7S1tri5uru9vr/BwsPExsfI ycvMzc/Q0dLU1dbX2drb3d7f4OLj5Obn6Onr7O3u8PHy9PX29/n6+/z+//////////////////// //////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAQMEBQYICQoLDQ4PERIT FBYXGBobHB0fICEiJCUmKCkqKy0uLzAyMzQ2Nzg5Ozw9PkBBQkRFRkdJSktNTk9QUlNUVVdYWVtc XV5gYWJjZWZnaWprbG5vcHFzdHV3eHl6fH1+gIGCg4WGh4iKi4yOj5CRk5SVlpiZmpydnp+hoqOk pqeoqqusra+wsbO0tba4ubq7vb6/wcLDxMbHyMnLzM3P0NHS1NXW19na293e3+Di4+Tm5+jp6+zt 7vDx8vT19vf5+vv8/v//////////////////////////////////////////////////////AAAA AAAAAAAAAAAAAAAAAAEDBAUGCAkKCw0ODxESExQWFxgaGxwdHyAhIiQlJigpKistLi8wMjM0Njc4 OTs8PT5AQUJERUZHSUpLTU5PUFJTVFVXWFlbXF1eYGFiY2VmZ2lqa2xub3Bxc3R1d3h5enx9foCB goOFhoeIiouMjo+QkZOUlZaYmZqcnZ6foaKjpKanqKqrrK2vsLGztLW2uLm6u72+v8HCw8TGx8jJ y8zNz9DR0tTV1tfZ2tvd3t/g4uPk5ufo6evs7e7w8fL09fb3+fr7/P7///////////////////// /////////////////////////////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4f ICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldY WVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CR kpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnK y8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v9tZnQx AAAAAAMEIQAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAQIDBAUGBwgJCgsM DQ4PEBAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzM0NTY3ODk6Ozw9Pj9AQUJD REVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8 fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1 tre4ubq7vL2+v8DBwsTFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvt7u/w 8fLz9PX29/j5+vv8/f7/AAEBAgIDAwQEBQYGBwcICAkJCgsLDAwNDQ4PDxAQERESExMUFBUWFhcX GBkZGhobHBwdHh4fICAhIiIjJCQlJiYnKCkpKissLS0uLzAxMjIzNDU2Nzg5Ojs8PT4/QEJDREVG SElKTE1PUFJTVVdYWlxeYGJkZmhqbW9xdHZ5fH6Bg4aJi46QkpWXmZudn6Gjpaeoqqytr7Cys7W2 t7m6u7y9v8DBwsPExcbHyMnKy8zNzc7P0NHS0tPU1dbW19jZ2drb29zd3d7f3+Dh4eLj4+Tl5ebm 5+jo6enq6+vs7O3u7u/v8PDx8vLz8/T09fb29/f4+Pn5+vv7/Pz9/f7+/wABAQICAwMEBAUGBgcH CAgJCQoLCwwMDQ0ODw8QEBEREhMTFBQVFhYXFxgZGRoaGxwcHR4eHyAgISIiIyQkJSYmJygpKSor LC0tLi8wMTIyMzQ1Njc4OTo7PD0+P0BCQ0RFRkhJSkxNT1BSU1VXWFpcXmBiZGZoam1vcXR2eXx+ gYOGiYuOkJKVl5mbnZ+ho6WnqKqsra+wsrO1tre5uru8vb/AwcLDxMXGx8jJysvMzc3Oz9DR0tLT 1NXW1tfY2dna29vc3d3e39/g4eHi4+Pk5eXm5ufo6Onp6uvr7Ozt7u7v7/Dw8fLy8/P09PX29vf3 +Pj5+fr7+/z8/f3+/v+GbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCD bGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f 7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHw g2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVt Ye6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th 8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6E bGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNr YfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHv hGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGD a2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh 74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG bV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hx g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74Rs YfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7u hm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCD bGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f 7oVtYe6EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKHbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f7oVtYe6EbGHvhGxh74RsYfCDbGHw g2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f7oVt Ye6EbGHvhGxh74RsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKHbV7uhm1g7oVtYe6EbGHvhGxh74RsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7thm1g7oVtYe6EbGHvhGxh74RsYfCDbGHwg2xh 8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbl7thm1g7oVtYe6E bGHvhGxh74RsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKHbl7uhW1g7oVtYe+EbGHvhGxh74RsYfCDbGHwg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbl7uhW1g7oVtYe+EbGHvhGxh74RsYfCDbGHwg2xh8YNs YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGGbl7uhW1g7oRtYe+EbGHv hGxh74NsYfCDbGHwg2xh8INsYfGDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGGbl7uhW1g7oRtYe+EbWHvhGxh74NsYfCDbGHwg2xh8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh 8YNsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGGbl7uhW1g7oRtYe+EbWHvhGxh74NsYfCDbGHwg2xh8INsYfCD bGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNs YfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGGbF7uhm1f7oVtYO6FbGHvhGxh 74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG bF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hx g2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74Rs YfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7u hm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th 8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCE bGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f 7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNr YfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHw g2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVt YO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh 8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6F bGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6FbGHvhGxh74RsYfCEbGHwg2xh8YNr YfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6EbGHv hGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGbF7uhm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGD a2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhm1f7oVtYO6EbGHvhGxh 74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG bV7uhm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hx g2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYO6EbGHvhGxh74Rs YfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbV7u hm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGbV7uhm1f7oVtYO6EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f7oVtYO6EbGHvhGxh74RsYfCE bGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKHbV7uhm1f 7oVtYO6EbGHvhGxh74RsYfCDbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGHbV7uhm1f7oVtYO6EbGHvhGxh74RsYfCDbGHwg2xh8INsYfGDbGHxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHbV3thm1f7oVtYO6EbGHvhGxh74RsYfCDbGHw g2xh8INsYfGDbGHxg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHbV3thm5f7oVt YO6EbWHvhGxh74RsYfCDbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGHbl3thm5f7oVtYO6EbWHvhGxh74NsYfCDbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGD bGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNs YfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGHbl3thm5f7oVtYO6EbWHvhG1h74NsYfCDbGHwg2xh 8INsYfCDbGHwg2xh8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHx g2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGHbl3uhW5f7oRtYO+E bWHvhG1h74NsYfCDbGHwg2xh8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvGDbGLxg2xi8YNs YvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHv hGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh 74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG bF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh74Rs YfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF7u hmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGbF7uhmxf7oZsYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZsYO6FbGHvhGxh74RsYfCE bGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf 7oZtYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNr YfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHw hGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZt YO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHwg2xh 8INrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6F bGHvhGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6FbGHvhGxh74RsYfCEbGHwg2xh8INr YfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxf7oZtYO6FbGHv hGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGbF3uhm1f7oZtYO6FbGHvhGxh74RsYfCEbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhm1f7oZtYO6FbGHvhGxh74RsYfCEbGHwg2xh8INsYfGD a2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhm1f7oZtYO6FbGHvhGxh 74RsYe+EbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG bF3uhm1e7oZtYO6FbGHvhGxh74RsYe+EbGHwg2xh8INsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKHbF3uhm1e7oZtYO6FbGHvhGxh74RsYe+EbGHwg2xh8INsYfCDbGHx g2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHbF3uhm1e7oZtYO6FbWHvhGxh74Rs Ye+EbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHbV3t hm1e7oZtYO6FbWHvhGxh74RsYe+DbGHwg2xh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2xh8YNsYfGD bGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNs YfGDbGHxg2xh8YNsYfGHbV3th21e7oVtYO6EbWHvhG1h74RsYe+DbGHwg2xh8INsYfCDbGHwg2xh 8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHx g2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGHbV3th25e7oVtYO6EbWHvhG1h74NsYe+D bGHwg2xh8INsYfCDbGHwg2xh8INsYfCDbGLwg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNs YvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGHbl3thm5e 7oVtYO6EbWHvhG1h74NtYe+DbGHwg2xh8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGHbl3thm5e7oRuYO+EbWHvg21h74NtYe+DbGHwg2xh8INsYfCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHw hGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZs X+6FbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh 8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6F bGDvhWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8IRr YfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDv hWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh 74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG a13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hx g2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74Rs Ye+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13u hmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th 8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6FbGDvhWxh74RsYe+E bGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe 7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKGbF3uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNr YfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHw hGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxe7oZs X+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKGbF3uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDa2Hxg2th8YNrYfGD a2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxe7oZsX+6FbGDvhWxh74RsYe+EbGHwhGxh 8INsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxe7oZsX+6F bGDvhGxh74RsYe+EbGHwhGxh8INsYfCDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKGbF3uhmxe7oZtX+6FbGDvhGxh74RsYe+EbGHwhGxh8INsYfCDbGHxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGbF3uhmxe7oZtX+6FbGDvhGxh74RsYe+EbGHwg2xh8INs YfCDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGGbF3uhmxe7oZtX+6FbGDv hGxh74RsYe+EbGHwg2xh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGHbF3uhm1e7oZtX+6FbWDuhG1h74RsYe+EbGHwg2xh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2xh 8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGHbF3uhm1e7oZtX+6FbWDuhG1h74RsYe+EbGHwg2xh8INsYfCD bGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNs YfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGHbF3th21e7oZtX+6FbWDuhG1h 74RtYe+DbGHwg2xh8INsYfCDbGHwg2xh8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvGDbGLx g2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGH bVzth21e7YVuX+6EbWDvhG1h74NtYe+DbWHwg2xh8INsYfCDbGHwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCHbVzthm5d7oVuX+6EbmDvhG1h74NtYe+DbWHvg2xh8INsYfCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCHblzthm9e7oRuX+6EbmDvg21h74Nt Ye+DbWHvg21h8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCTa1He hmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGTa1Hehmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Hwg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGTa1Hehmte7oZsX+6GbGDvhWxh74RsYe+E bGHwhGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGTa1Hehmte 7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGTa1Hehmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Hwg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGTa1Hehmte7oZsX+6GbGDvhWxh74RsYe+EbGHw hGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGRa1Pghmte7oZs X+6GbGDvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGNa1blhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCEa2Hwg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGKa1nphmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh 8IRsYfCDa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hy g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHa1zthmte7oZsX+6G bGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGGa13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hwg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRs YfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDv hWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKGa13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCD a2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDvhWxh 74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKG a13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hx g2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmte7oZsX+6GbGDvhWxh74Rs Ye+EbGHwhGxh8IRsYfCDbGHxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13u hmte7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDbGHxg2th8YNrYfGDa2Hxg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6GbGDvhWxh74RsYe+EbGHwhGxh8INsYfCDbGHxg2th 8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6GbGDvhWxh74RsYe+E bGHvhGxh8INsYfCDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe 7oZsX+6GbGDvhWxh74RsYe+EbGHvhGxh8INsYfCDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKGa13uhmxe7oZsX+6GbGDvhWxh74RsYe+EbGHvhGxh8INsYfCDbGHxg2xh8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKGa13uhmxe7oZsX+6GbGDvhWxh74RsYe+EbGHv hGxh8INsYfCDbGHwg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGGa13uhmxe7oZs X+6GbGDvhWxh74RsYe+EbGHvhGxh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGGa13uhmxe7oZsX+6GbWDuhW1h7oRsYe+EbGHvhGxh8INsYfCDbGHwg2xh8INsYfGD bGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGHbF3uhmxe7oZsX+6GbWDuhG1h74RsYe+EbGHvg2xh 8INsYfCDbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHx g2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGHbFzuhmxe7oZtX+6F bWDuhG1h74RtYe+EbGHvg2xh8INsYfCDbGHwg2xh8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8YNs YvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGHbFzth21d7oZuXu6FbWDuhG1h74RtYe+DbWHvg2xh8INsYfCDbGHwg2xh8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvCHbFzth21d7YZuXu6EbmDuhG1h74NtYe+DbWHvg21h8INs YfCDbGHwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCHbVzth25c7oVvXu6EbmDv hG5h74NtYe+DbWHvg21h74NtYfCDbWHwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCHblvthW9d7oRuX+6EbmDvg25h74NtYe+DbWHvg21h74NtYfCDbWHwg21i8INtYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvDVbSiGhmte7oZrX+6Ga2DvhWtg74VrYe+Ea2HwhGth8IRrYfCE a2LwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHVbSiGhmte7oZrX+6Ga2DvhWtg 74VrYe+Ea2HwhGth8IRrYfCEa2LwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHV bSiGhmte7oZrX+6Ga2DvhWtg74VrYe+Ea2HwhGth8IRrYfCEa2LwhGti8IRrYvCDa2Lxg2ti8YNr YvGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfHVbSiGhmte7oZrX+6Ga2DvhWtg74VrYe+Ea2HwhGth8IRrYfCEa2Lw hGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHVbSiGhmte7oZrX+6Ga2DvhWtg74Vr Ye+Ea2HwhGth8IRrYfCEa2LwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHUbSiH hmte7oZrX+6Ga2DvhWxg74VrYe+EbGHvhGxh8IRrYfCEa2LwhGti8INrYvCDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfHTbSmJhmte7oZrX+6Ga2DvhWxg74VsYe+EbGHvhGxh8IRsYfCEa2HwhGth 8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHRbSmLhmte7oZrX+6Ga2DvhWxg74VsYe+E bGHvhGxh8IRsYfCEa2HwhGth8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHQbSmNhmte 7oZrX+6Ga2DvhWxg74VsYe+EbGHvhGxh8IRsYfCEa2Hwg2th8INrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfHPbiqOhmte7oZrX+6Ga2DvhWxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHObiqQhmte7oZrX+6Ga2DvhWxg74VsYe+EbGHv hGxh8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHMbiqShmte7oZr X+6Ga2DvhWxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfHLbiuThmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHKbiuVhmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh 8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHJbiyWhmte7oZrX+6G bGDvhWxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfHIbiyXhmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCDbGHwg2th8YNrYfGDa2Hx g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHHbiyZhmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRs YfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHGbi2ahmte7oZrX+6GbGDv hWxg74VsYe+EbGHvhGxh8IRsYfCDbGHwg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfHEby2chmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCDbGHwg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfHDby6ehmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCD bGHwg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHBby+ghmte7oZrX+6GbGDvhWxg 74VsYe+EbGHvhGxh8IRsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfG/ bzCkhmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNr YfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfG8bzGnhmte7oZrX+6GbGDvhWxg74VsYe+EbGHvhGxh8IRsYfCDbGHw g2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfG4bzOthmte7oZsX+6GbGDvhWxg74Vs Ye+EbGHvhGxh8IRsYfCDbGHwg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGzbze0 hmte7oZsX+6GbF/uhWxg7oVsYe+EbGHvhGxh8IRsYfCDbGHwg2xh8INsYfGDbGHxg2xh8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGrbzu9hmte7oZsX+6GbF/uhW1g7oRtYe+EbGHvhGxh8INsYfCDbGHwg2xh 8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGhbkPLhmtd7oZsX+6GbV/uhW1g7oRtYe+E bGHvhGxh8INsYfCDbGHwg2xh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNs YfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGTbU7dhmxd 7oZsXu6GbV/uhW1g7oRtYe+EbWHvg2xh8INsYfCDbGHwg2xh8INsYfCDbGHwg2xh8INsYvCDbGLx g2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGHa1zuhmxd7odtXu6Gbl/uhG1g74RtYe+EbWHvg2xh8INsYfCDbGHwg2xh8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCHa1zth2xd7oduXe6Fbl/uhG5g74RtYe+DbWHv g21h74NtYfCDbGHwg2xh8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCHbFzth21c7YZv Xe6Fbl/uhG5g74NtYe+DbWHvg21h74NtYfCDbWHwg21h8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCHbVvth29b7YVvXu6Ebl/ug25g74NuYe+DbWHvg21h74NtYe+DbWHwg21h8INtYvCD bWLwg21i8INtYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCHblrthW9c7oRuXu6DbmDvg25g74NuYe+DbmHvg21h 74NtYe+DbWHvg21h8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD2bCVcy2c2k4ZrX+6G a1/vhWtg74VrYe+Fa2HvhGth8IRrYfCEa2LwhGti8IRrYvCEa2LwhGti8INrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvH2bCVcy2c2k4ZrX+6Ga1/vhWtg74VrYe+Fa2HvhGth8IRrYfCEa2LwhGti8IRrYvCEa2Lw hGti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH2bCVcy2c2k4ZrX+6Ga1/vhWtg74VrYe+Fa2HvhGth8IRr YfCEa2LwhGti8IRrYvCEa2LwhGti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH2bCVcy2c2k4ZrX+6Ga1/v hWtg74VrYe+Fa2HvhGth8IRrYfCEa2LwhGti8IRrYvCEa2LwhGti8INrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvH1bCVdyWg3loZrX+6Ga1/vhWtg74VrYe+Fa2HvhGth8IRrYfCEa2LwhGti8IRrYvCEa2LwhGti 8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvH0bCVex2g3mYZrX+6Ga1/vhWtg74VrYe+Fa2HvhGth8IRrYfCE a2HwhGti8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvHzbCRgxWg4nIZrX+6Ga1/vhWtg 74VrYe+FbGHvhGxh8IRrYfCEa2HwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvHy bSRhwmg4n4ZrX+6Ga1/vhmtg74VrYe+FbGHvhGxh8IRsYfCEa2HwhGti8IRrYvCDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvHxbSRiwGk5ooZrX+6Ga1/vhmtg74VsYe+FbGHvhGxh8IRsYfCEbGHw hGth8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvHxbSNjvmk6pYZrX+6Ga1/vhmtg74Vs Ye+FbGHvhGxh8IRsYfCEbGHwhGth8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHwbSNk vGk7qIZrX+6Ga1/vhmtg74VsYe+FbGHvhGxh8IRsYfCEbGHwhGth8INrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfHvbSNluWk8q4ZrX+6Ga1/vhmtg74VsYe+FbGHvhGxh8IRsYfCEbGHwhGth 8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHubiJmt2k9roZrXu6Ga1/vhmtg74VsYe+F bGHvhGxh8IRsYfCEbGHwhGth8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHubiJntWo+ sIZrXu6Ga1/vhmtg74VsYe+FbGHvhGxh8IRsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfGDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfHtbiJos2o/s4ZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2xh8INr YfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHsbiFpsWpAtoZrXu6Ga1/vhmxg74VsYe+EbGHv hGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHsbiFpr2pBuYZr Xu6Ga1/vhmxg74VsYe+EbGHvhGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfHrbiFqrGpCvIZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh74RsYfCEbGHwg2xh8YNrYfGD a2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHqbyFrqmpDwIZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh 74RsYfCEbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHpbyBspmpFxIZrXu6G a1/vhmxg74VsYe+EbGHvhGxh74RsYfCEbGHwg2xh8INrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8YNrYfHobyBuo2pHyIZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh74RsYfCEbGHwg2xh8INsYfGDa2Hx g2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHnbyBvnmtKzoZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh74Rs YfCEbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHlcB9xmWtO1YZrXu6GbF/u hmxg7oVsYe+EbGHvhGxh74RsYfCDbGHwg2xh8INsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfHkcB50kmtT34ZrXu6GbF/uhm1g7oVtYO6EbGHvhGxh74RsYfCDbGHwg2xh8INsYfGDbGHxg2xh 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYfHhcR53iGtb64ZrXu6GbF/uhm1f7oVtYO6EbGHvhGxh74RsYfCD bGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfHecR58hmtd7oZrXu6GbF/uhm1f 7oVtYO6EbWHvhGxh74RsYfCDbGHwg2xh8INsYfCDbGHwg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHx g2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfHZ ch6Bhmtd7oZsXu6GbV7uhm1f7oRtYO+EbWHvhGxh74NsYfCDbGHwg2xh8INsYfCDbGHwg2xh8INs YfCDbGHxg2xh8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8YNsYvHTcx+Jhmtd7oZsXe6Hbl7thW5f7oRtYO+EbWHvhG1h74NsYfCDbGHw g2xh8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvHKdCOVhmtd7odtXO2Gb13uhW5f7oRt YO+EbWHvg21h74NtYfCDbGHwg2xh8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvC9dCqm h2xc7YduXO2Fb17uhG5f7oRuYO+DbWHvg21h74NtYe+DbWHwg21h8INsYfCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCrdTO+h25a7YZvXO6Ebl7uhG5g74NuYO+DbmHvg21h74NtYe+DbWHvg21h 8INtYfCDbWLwg21i8INtYvCDbWLwg21i8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCrgye+h29Z7YVvXe6Ebl/ug25g74NuYO+D bmHvg25h74NtYe+DbWHvg21h74NtYfCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INt YvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCtqweljIND 1oV6U+CCglLYfoxQzHqVUMJ3m1G7dZ1UuHWbV7t1mVq9dZhcvnWXXr91ll/AdZVgwXWVYcJ1lGLC dZRiw3WTY8N1k2PEdZNkxHWSZcR1kmXFdZJmxXWSZsV1kWfGdZFnxnWRZ8Z1kWfGdZFnxnWRZ8Z1 kWfGdZFnxnWRZ8b/aik+8WUwYs1jP5GNaVvlhmpg74VrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aik+8WUwYs1jP5GNaVvlhmpg74VrYO+Fa2Hv hWth74RrYfCEa2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aik+8WUwYs1j P5GNaVvlhmpg74VrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvCEa2Lwg2ti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvH/aik+8GUwY8tjP5SIal7shmtg74VrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRrYvCE a2LwhGti8IRrYvCEa2LwhGti8INrYvCDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aig/72UwZchjP5eGal/vhmtg74VrYO+Fa2HvhWth 74RrYfCEa2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/ayhA7mYvZsZkQJqG al/vhmtg74VrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvH/aydB7WYvaMNkQJ6Gal/vhmtg74VrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRrYvCEa2Lw hGti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aydC7GYuacBkQaKGal/vhmtg74VrYO+Fa2HvhWth74Rr YfCEa2HwhGti8IRrYvCEa2LwhGti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/ayZD6mYua71lQqaGal/v hmtg74VrYO+Fa2HvhWxh74RsYfCEa2HwhGth8IRrYvCEa2Lwg2ti8YNrYvGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvH/bCZE6WYubbplQ6qGal/vhmtg74ZrYO+FbGHvhWxh74RsYfCEbGHwhGth8IRrYfCDa2Hwg2th 8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvH/bCZF6GctbrdmRK6Gal/vhmtg74ZrYO+FbGHvhGxh74RsYfCE bGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bCVG52ctcLRmRbKGa1/vhmtg 74ZrYO+FbGHvhGxh74RsYfCEbGHwhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/ bCVH5mctcbFmRraGa1/vhmtg74ZsYO+FbGHvhGxh74RsYfCEbGHwhGxh8INrYfCDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYfKDa2Hyg2th8YNrYfH/4v/iSUNDX1BST0ZJTEUABQmDa2Hxg2th8YNrYfGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bCVH5Wctcq5nR7qGa1/vhmtg74Zs YO+FbGHvhGxh74RsYfCEbGHwhGxh8INrYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th 8oNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bSRI 5GctdKtnSL6Ga1/vhmtf74ZsYO+FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvH/bSRJ42gtdahnSsKGa1/vhmtf74ZsYO+FbGHvhGxh74RsYfCEbGHwhGxh 8INrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bSRK4mgtdqVoS8aGa1/vhmtf74ZsYO+F bGHvhGxh74RsYfCEbGHwhGxh8INsYfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bSNK4Wgt d6JoTcqGa1/vhmtf74ZsYO+FbGHvhGxh74RsYfCEbGHwhGxh8INsYfGDa2Hxg2th8YNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvH/bSNL4GgteZ5oTs6Ga1/uhmtf74ZsYO+FbGHvhGxh74RsYe+EbGHwhGxh8INs YfGDa2Hxg2th8YNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/biNM3mgte5ppUdSGa1/uhmxf74ZsYO+FbGHv hGxh74RsYe+EbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfGD a2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/biJN3WktfZVp U9qGa1/uhmxf7oZsYO+FbGHvhGxh74RsYe+EbGHwg2xh8INsYfGDa2Hxg2th8YNrYfGDa2Hxg2th 8oNrYfKDa2Hyg2th8oNrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvH/biJO22ktf49qV+KGa1/uhmxf7oZsYO6FbGHvhGxh74RsYe+EbGHwg2xh8INsYfCD bGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/byFQ2WktgoZrXu6Ga17uhmxf7oZtYO6FbWHuhGxh 74RsYe+EbGHwg2xh8INsYfCDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH+byBS1WothoZrXu6G a17uhmxf7oZtYO6FbWHuhGxh74RsYe+EbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2th8YNr YfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvH8cB9U0Woui4ZrXu6GbF7uhm1f7oVtYO6EbWHvhG1h74RsYe+DbGHwg2xh8INsYfCDbGHw g2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYvGDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH5cR5XzGsvkoZrXe6GbF7uh21e7oVtYO6EbWHvhG1h74Rs Ye+DbGHwg2xh8INsYfCDbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH2chxbxGwynIZrXe6HbV3t hm5e7oVuYO6EbWHvhG1h74NtYe+DbGHwg2xh8INsYfCDbGHwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNs YvHycxpht28zrYdsXO2Hblzthm9e7oRuYO6EbWHvhG1h74NtYe+DbWHwg2xh8INsYfCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvDtdRdoqXM4wIdtW+2Hb1zuhW9e7oRuYO+EbmHvg21h74NtYe+D bWHvg21h8INtYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvDnexBvong3yYduWu2Fb13uhG5f 7oRuYO+DbmHvg21h74NtYe+DbWHvg21h8INtYfCDbWLwg21i8INtYvCDbWLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvDM iwdwrJEcvYZvW+6Eb17ug25f7oNuYO+DbmHvg25h74NtYe+DbWHvg21h74NtYfCDbWHwg21i8INt YvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCynAJrobUKmoqZMryDkEPIf5FJxnuVTcF5mU+9dpxSuXWeVLd0n1e1 c6BZtHKhWrNxoVyzcaJdsnGiXrJwol+ycKJgsnCjYbJwo2Kxb6NjsW+jZLFvo2Wxb6NlsW6jZrFu o2ewbqRosG6kaLBupGiwbqRosG6kaLBupGiwbqRosG6kaLCdrABijMUFd33PE350zyF+btArfGnS M3tm0jp6ZNNAeWPTRXlh00l5YNNNeWDTUHpf0lJ6X9FVe1/QVnxf0Fh9X89afV/PW35ez11+Xs5e f17OYH9ezWGAXs1jgF7NZIFezGaBXsxngV7MZ4FezGeBXsxngV7MZ4FezGeBXsxngV7MZ4H/Zy0l /2M0QfRfO1/bXUaAtmBRr4VqYO+Fa2DvhWth74VrYe+Fa2HwhGti8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvCDa2Lwg2ti8INrYvD/Zy0l/2M0QfRfO1/bXUaAtmBRr4VqYO+Fa2DvhWth74VrYe+Fa2HwhGti 8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Zy0m/2M0QvNfO2DZXUaCr2JSuIVqYO+F a2DvhWth74VrYe+Fa2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRr YvCEa2LwhGti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Zywn/2Mz Q/FfOmLWXkaFpmRUxYVqYO+Fa2DvhWth74VrYe+Ea2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lw hGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCD a2Lwg2ti8INrYvD/aCwn/2QzRPBfOmPUXkaInGZW0YVqYO+Fa2DvhWth74VrYe+Ea2HwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti 8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/aCso/2QyRe9gOmXSXkaLkmha34ZrYO+Fa2Dv hWth74VrYe+Ea2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/aCsp/2QyRu1g OWfPX0aOhmpf7oZrYO+Fa2DvhWth74VrYe+Ea2HwhGth8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvH/aSoq/2UxSOxgOWnKYEaUhmpf74ZrYO+Fa2DvhWth74VrYe+Ea2HwhGth8IRrYvCE a2LwhGti8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aSor/2UxSepgOWvFYUabhmpf74ZrYO+Fa2DvhWth 74VrYe+Ea2HwhGth8IRrYvCEa2LwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aSos/2UxSulhOW2/ Y0ajhmpf74ZrYO+Fa2DvhWxh74VsYe+EbGHwhGth8IRrYvCEa2LwhGti8INrYvGDa2Lxg2ti8YNr YvGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvH/aiks/2UwS+dhOW+5ZEerhmtf74ZrYO+Ga2DvhWxh74RsYe+EbGHwhGxh8IRrYfCEa2Lw g2ti8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aikt/2YwTOZhOHGzZUiyhmtf74ZrYO+GbGDvhWxh74Rs Ye+EbGHwhGxh8IRrYfCEa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aigu/2YvTuRiOHOtZkq6 hmtf74ZrYO+GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hwg2th8YNrYfGDa2Hxg2th8YNrYfGD a2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvH/aigu/2YvT+NiOHSoZ0vChmtf74ZrX++GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th 8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvH/aygv/2YvT+JiOHaiaE7Khmtf74ZrX++GbGDvhWxh74RsYe+E bGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aycw/2YuUOFiOHecaFDRhmtf 7oZrX++GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hy g2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/ aycw/mYuUd9jOHqXaVPYhmtf7oZsX++GbGDvhWxh74RsYe+EbGHwhGxh8IRsYfCDa2Hxg2th8YNr YfGDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvH/aycx/WcuUt1jN3yRalbghmtf7oZsX++GbGDvhWxh74RsYe+EbGHw hGxh8INsYfCDa2Hxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/ayYx/GctU9tkNn+Kalvphmtf7oZs X+6GbGDvhWxh74RsYe+EbGHvhGxh8INsYfCDbGHxg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th 8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bCYy +2ctVdllNYKGa17uhmte7oZsX+6GbGDvhWxh74RsYe+EbGHvhGxh8INsYfCDbGHxg2th8YNrYfGD a2Hxg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvH/bCUz+mctVtVmNIaGa17uhmte7oZsX+6GbWDuhWxh74RsYe+EbGHvhGxh 8INsYfCDbGHxg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hyg2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bCU0+WgsWNJnNIuGa17uhmxe7oZsX+6G bWDuhW1h7oRsYe+EbGHvhGxh8INsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/bSQ192gr Ws1pM5CGa17uhmxe7oZtX+6GbWDuhW1h74RsYe+EbGHvhGxh8INsYfCDbGHwg2xh8YNsYfGDbGHx g2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvH/bSM39mgrXMhrMpiGa13uhmxe7oZtXu6FbWDuhG1h74RsYe+EbGHvg2xh8INs YfCDbGHwg2xh8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYfGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH/biI582kpYMFtMqGGa13uh21d7oZuXu6FbWDu hG1h74RtYe+EbGHvg2xh8INsYfCDbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH/byE8720kZbhw M6yHbFzth21d7YZuXu6FbmDuhG1h74RtYe+DbWHvg2xh8INsYfCDbGHwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLx g2xi8YNsYvH/cB8/63Idaq9zNLmHbVvth25c7YZvXu6EbmDuhG1h74NtYe+DbWHvg21h8INsYfCD bGHwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/ch1D53oTb6h4NMKHblrthm9c7oVuX+6EbmDvhG5h 74NtYe+DbWHvg21h8INtYfCDbGHwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/eBVH14cJcaqFJ7+H b1rthW9d7oRuX+6DbmDvg25h74NtYe+DbWHvg21h74NtYfCDbWHwg21i8INtYvCDbWLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvDchghIvpgEaqunD6yFb1vuhG9e7oNuX+6DbmDvg25h74NuYe+DbWHvg21h74NtYe+DbWHw g21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INtYvCDbWLwg21i8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvDAlgNBp6UAaZi/CI2GrSelf6M5snufQ7V5n0m2dqBOtXWh UbR0oVSzc6JXs3KiWbJxoluycaNcsXCjXrFwo1+xcKNgsW+jYbFvpGOwb6RksG6kZbBupGawbqRn r26laa9tpWqvbaVsrm2lbK5tpWyubaVsrm2lbK5tpWyubaVsrm2lbK6nogA/lbYBXIbNB2151xJ1 cdQheGzTLXlo0zV5ZtM9emTSQnpj0kd6YtFLe2HRT3tg0VJ8YNFUfF/QVnxf0Fh8X9BafV7QXH1e 0F19XtBffV3PYX1dz2N+Xc9lflzPZn5cz2h+XM9rflzPa35cz2t+XM9rflzPa35cz2t+XM9rflzP a36WrwA5hsUDSXjbCFBu9RNSZ/QeU2P0KFRf8zBUXfM3VVryPVZZ8kJWWPFGV1fwSlhW8E1YVvBQ WFXvUllV71RZVe9WWVTvWFpU7lpaVO5cWlPuXltT7WBbU+1iW1PtZFxS7WZcUuxoXFLsaVxS7Glc UuxpXFLsaVxS7GlcUuxpXFLsaVz/YjAT/2A3J/9dPz38WUZT5lpMcclcUZajY1rJhWph74VqYe+F a2HvhWth8IVrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvD/YzAU/2A3J/9dPj77WUVV5FpL dMVdUZubZVvThWph74VqYe+Fa2HvhWth8IVrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lw hGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvD/ Yy8U/2E3KP9dPj/6WUVW4FtKeL9fUaOQaF3hhWpg74VrYe+Fa2HvhWth8IVrYvCEa2LwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvCEa2LwhGti8IRrYvD/Yy8V/2E2Kf9dPkD4WkRZ3VxJfLhgUayFamDvhWpg74VrYe+Fa2Hv hWth8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZC8V/2E2Kv9dPUL2W0Nc2V1Igq9i UriFamDvhWtg74VrYe+Fa2HvhWth8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZC4W /2I2K/9ePUPzXEJg1F5HiKVkVMaFamDvhWtg74VrYe+Fa2HvhWth8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvCDa2Lwg2ti8INrYvD/ZS4X/2I1LP9ePEXwXUBkz19GjplnV9WGamDvhWtg74VrYe+Fa2HvhGth 8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8INrYvCDa2Lwg2ti8INrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZS0X/2I1Lf9ePEbtXj9nyWFGlYxpXOaG a2DvhWtg74VrYe+Fa2HvhGth8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8YNr YvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZS0Y/2I0 Lv9fO0jqXz1rxGJFnYZqX++Ga2DvhWtg74VrYe+Fa2HvhGth8IRrYfCEa2LwhGti8IRrYvCEa2Lw hGti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCD a2Lwg2ti8INrYvD/ZiwZ/2M0L/9fO0nnYDxvvWRGpoZqX++Ga2DvhWtg74VrYe+Fa2HvhGth8IRr YfCEa2LwhGti8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZiwZ/2MzMP9gOkzlYTpzt2VGroZrX++Ga2Dv hWtg74VrYe+FbGHvhGth8IRrYfCEa2LwhGti8IRrYvCDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Ziwa/2MzMf9h OE7iYjl2sGZIt4ZrX++Ga2Dvhmtg74VsYe+EbGHvhGxh8IRsYfCEa2HwhGti8INrYvGDa2Hxg2th 8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvCDa2Lwg2ti8INrYvCDa2Lw g2ti8INrYvD/Zysa/2QzMv9hN1DgYzh5qmdKv4ZrX++Ga1/vhmxg74VsYe+EbGHvhGxh8IRsYfCE a2HwhGth8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/Zysb/2QyM/5iNlLdZDd8o2hMyIZrX+6Ga1/vhmxg 74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Hxg2th8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/Zysb/2QyNPxjNVPb ZTZ/nWlOz4ZrX+6Ga1/vhmxg74VsYe+EbGHvhGxh8IRsYfCEbGHwg2th8YNrYfGDa2Hxg2th8oNr YfKDa2Hxg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti 8YNrYvH/aCoc/2QyNftkM1XZZjWBmGpR14ZrX+6GbF/vhmxg74VsYe+EbGHvhGxh8IRsYfCEbGHw g2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGD a2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aCoc/2QxNfplMlbXZzSEkmpV34ZrXu6GbF/uhmxg74Vs Ye+EbGHvhGxh8IRsYfCDbGHwg2th8YNrYfGDa2Hyg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Lxg2ti 8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aCod/2UxNvllMVjVaDOH jGpZ54ZrXu6GbF/uhmxg74VsYe+EbGHvhGxh74RsYfCDbGHwg2th8YNrYfGDa2Hyg2th8oNrYfKD a2Hyg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNr YvH/aCod/2UxN/dmL1rSaTKKhmte7oZrXu6GbF/uhmxg7oVsYe+EbGHvhGxh74RsYfCDbGHwg2xh 8YNrYfGDa2Hxg2th8oNrYfKDa2Hyg2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8YNrYvH/aSke/2UwOPZoLlzQajGNhmtd7oZsXu6GbF/uhm1g7oVsYe+E bGHvhGxh74RsYfCDbGHwg2xh8YNrYfGDa2Hxg2th8YNrYfKDa2Hxg2th8YNrYfGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvH/aSke/2YwOfRpLF7NbDCRhmtd 7oZsXu6GbV/uhm1g7oVtYe6EbGHvhGxh74RsYfCDbGHwg2xh8YNsYfGDa2Hxg2th8YNrYfGDa2Hx g2th8YNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH/ aSgf/2YuO/NrKWDJbS+Whmtd7oZsXu6GbV7uhm1g7oVtYe+EbGHvhGxh74NsYfCDbGHwg2xh8INs YfGDbGHxg2th8YNrYfGDa2Hxg2th8YNrYfGDa2Lxg2ti8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8YNsYvH/aigg/2gsPfFtJmPFby6bhmtd7odsXe6Hbl7uhW1g7oRtYe+EbWHv hGxh74NsYfCDbGHwg2xh8INsYfGDbGHxg2xh8YNsYfGDbGHxg2xh8YNsYvGDbGLxg2xi8YNsYvGD bGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH/ayci/2opP+5wImbAci2hh2xc7Ydt Xe2Gbl7uhW1g7oRtYe+EbWHvhGxh74NsYfCDbGHwg2xh8INsYfCDbGHwg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvH/ayYj /24kQux0HGm8diqoh2xb7YduXO2Gb17uhW5g7oRtYe+EbWHvg21h74NsYfCDbGHwg2xh8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLxg2xi8YNsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvD/bCUl/3IeROp7FGy4fCash21a7YdvXO6Fb17uhG5g7oRtYe+DbWHvg21h 74NtYfCDbGHwg2xh8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/biIo/3kWRt2GC226ihmqh25a7YZvXO6E bl/uhG5g74NuYe+DbWHvg21h74NtYfCDbWHwg21h8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/dRoq64QL R8mTBmm7pgemhm9a7YVvXe6Ebl/ug25g74NuYe+DbWHvg21h74NtYe+DbWHwg21h8INtYvCDbWLw g21i8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvD/gA4qzJIFQ7OhAmaltweWjI85yIRzWumDbl/ug25g74NuYe+DbmHvg25h74Nt Ye+DbWHvg21h8INtYvCDbWLwg21i8INtYvCDbWLvgm5i7oJvY+2CcGPrgnFk6YFyZOeBc2XmgXRm 5IB1Z+KAdWfigHVn4oB1Z+KAdWfigHVn4oB1Z+LTkAQmtJ8CPKCvAWKRxwZ/gr4fknu0MZ13rzyk daxEp3OqSqhyqk+pcalTqnCpVqpvqViqb6lbqm6pXKpuqV6qbqlgqm2pYaptqWOqbKplqWyqZ6ls qmipa6pqqGurbKhqq26naaxxp2mtc6ZprXOmaa1zpmmtc6ZprXOmaa1zpmmtc6a3ngIcn6oAPI++ A1WB1Ahkdt4TbW/aInJq2C10Z9Y2dmXUPnhk00R5YtNJeWHSTXph0lB7YNFTe1/RVnxf0Vh8XtBa fF7QXXxe0F99XdBhfV3QY31cz2Z9XM9pfVzPa35bz25+W89xflrPc31az3N9Ws9zfVrPc31az3N9 Ws9zfVrPc32gpQAekLgANIHNBUJ05QtKbPgWTmb2IlFi9StTX/MzVFzyOVZa8T9XWfBEWFjvSFlX 70xZV+5PWlbuUlpW7lVbVe1XW1XtWVxU7VxcVOxeXFTsYV1T7GNdU+tmXVLraV5S62xeUutvXlHr cl5R63JeUetyXlHrcl5R63JeUetyXlHrcl6QswAagccBJnXcBS1r/w4xZP8ZM2D/IzVc/yw2Wf8z OFf/OTlV/z46U/9CO1L/RzxS/0o9Uf9NPVH/UD5Q/1I+UP9VP0//Vz9P/1lATv9bQE7/XkBN/2FB Tf9jQU3/ZkJM/2lCTP9sQkv/bkNL/25DS/9uQ0v/bkNL/25DS/9uQ0v/bkP/XTMH/1w6FP9ZQiT/ V0g2/1dKT+5YT2fcWVR+ylpZlbddXa6lYWHFl2Vj141oY+WFamLvhWpi8IVqYvCFa2LwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvD/XjIH/1w6FP9aQST/WEc4/lhJUetZTmrYWlODxFxYna9fXbicZGHSjWhi5oVqYe+FamLw hWpi8IVrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8IRrYvCEa2LwhGti8IRrYvD/XjIH/1w6Ff9aQSX/WUU6/FlIVOhaTW7UW1KIvl1XpKZi XcSRZ2HfhWph74VqYfCFamLwhWti8IVrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvD/XjII/105Fv9aQSb/WkQ9 +VpGV+VbS3LPXFGOtl9Xr5tlXtOFamHvhWph74VqYfCFa2LwhWti8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRr YvD/XzEI/105Fv9bQCf/W0NA91tEW+FcSnfJXVCWq2JYvY1oX+WFamHvhWph74VrYfCFa2LwhGti 8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvD/XzEI/144F/9bQCn/XEFD9FxDX91dSH3BX0+gnmVZz4VqYO+F amHvhWth74VrYfCFa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRr YvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/YDEJ/144GP9cPyv/XT9G8V1B Y9heRoO4YU+tj2hc4oVqYO+Fa2HvhWth74VrYfCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lw hGti8IRrYvCEa2LwhGti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ YDAJ/143Gf9dPS3/Xz1J7V8/Z9JgRYqtZFC7hmpg74VrYO+Fa2HvhWth74VrYfCEa2LwhGti8IRr YvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti 8INrYvCDa2Lwg2ti8INrYvD/YTAK/183Gv9eOy//YDtL6mA8a81iQ5GiZlLKhmpg74VrYO+Fa2Hv hWth74VrYfCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCD a2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/YS8K/183G/9gOjH/YTlO52I6b8hj Q5iXaFbZhmtg74VrYO+Fa2HvhWth74RrYfCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti 8YNrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/YS8L /2A2G/9hODP/YzdQ5WM5csJlQp+Lalvnhmtf74ZrYO+Fa2HvhWth74RrYfCEa2HwhGti8IRrYvCE a2Lwg2ti8INrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvCDa2Lwg2ti8INrYvD/Yi4L/2A2HP9iNjX9ZDVT4mU3dr1mQqaGal/vhmtf74ZrYO+Fa2HvhWth 74RrYfCEa2HwhGti8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8YNrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Yi4M/2A1Hf9jNTb7ZTNU4GY1ebhnQq2G a17uhmtf74ZrYO+FbGHvhWxh74RsYfCEa2HwhGti8IRrYvCDa2Lxg2th8YNrYfGDa2Lxg2ti8YNr YvGDa2Lxg2ti8YNrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Yi4M/2E1 Hv9kMzf6ZjFW3mcze7NpQ7SGa17uhmtf74ZsYO+FbGHvhWxh74RsYfCEbGHwhGth8INrYfGDa2Hx g2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCD a2Lwg2ti8INrYvD/Yy4M/2E1Hv9lMjj5aDBY3Gkyfq5qRLqGa17uhmtf7oZsYO+FbGHvhGxh74Rs YfCEbGHwhGxh8INrYfGDa2Hxg2th8YNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lwg2ti 8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Yy0N/2I0H/9mMTr4aS5Z2mowgKlqRcGGa17u hmtf7oZsYO+FbGHvhGxh74RsYfCEbGHwhGxh8INrYfGDa2Hxg2th8oNrYfKDa2Hxg2th8YNrYvGD a2Lxg2ti8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Yy0N/2MzIP9n Lzv3aixb2WsugqRrR8eGa17uhmxf7oZsYO+FbGHvhGxh74RsYe+EbGHwg2xh8INrYfGDa2Hyg2th 8oNrYfKDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lw g2ti8INrYvD/ZC0O/2MyIf9oLjz2aypc1m0thZ9sSc2Ga17uhmxf7oZsYO6FbGHvhGxh74RsYe+E bGHwg2xh8INrYfGDa2Hxg2th8oNrYfKDa2Hxg2th8YNrYvGDa2Lxg2ti8YNrYvGDa2Lxg2ti8INr YvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZCwO/2UwIv9qLD31bShd1G8rh5psS9SGa17uhmxe 7oZtX+6FbWDuhGxh74RsYe+EbGHwg2xh8INsYfGDa2Hxg2th8oNrYfKDa2Hxg2th8YNrYvGDa2Lx g2ti8YNrYvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ZCwO/2YvIv9rKj70 byZf0nEpipVsT9uGbF3uhm1e7oZtX+6FbWDuhGxh74RsYe+EbGHwg2xh8INsYfGDa2Hxg2th8YNr YfGDa2Hxg2th8YNrYvGDa2Lxg2ti8YNsYvGDbGLxg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvD/ZSwP/2ctI/9tKD/ycSNg0HMmjI9sU+KHbF3uh21e7oZtX+6FbWDuhG1h74RsYe+DbGHw g2xh8INsYfCDbGHxg2th8YNrYfGDa2Hxg2th8YNrYvGDbGLxg2xi8YNsYvGDbGLxg2xi8INsYvCD bGLwg2xi8INsYvCDbGLwg2xi8INsYvD/ZSsQ/2krJf9vJUDxdB9iz3cjj4psWOqHbVzth25d7YVu X+6EbWDvhG1h74RsYe+DbGHwg2xh8INsYfCDbGHxg2xh8YNsYfGDbGHxg2xi8YNsYvGDbGLxg2xi 8YNsYvGDbGLxg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/ZioQ/2soJv9yIULweBpj zXsekYdsW+2HbVzth25d7oVuX+6EbWDvhG1h74RsYe+DbGHwg2xh8INsYfCDbGLwg2xi8YNsYvGD bGLxg2xi8YNsYvGDbGLxg2xi8YNsYvGDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvD/ZioR/24kJ/92HEPwfhRkzIMXkodtWu2Hblvthm9d7oVuX+6EbWDvhG1h74NtYe+DbGHwg2xh 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvD/aCgT/3IfKP98FUPliAxkzZIMkIdtWe2Hb1vthW9e7oRuX+6E bmDvg21h74NtYe+DbWHwg2xh8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/bCMU/3gZKfaGDUPQlAhhv6EF jpJ8Q96Fb1zuhG9e7oRuYO+DbmDvg21h74NtYe+DbWHvg21h8INtYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/ ch0V/4EQKNWSB0C+oARcrq8Bi5SUL8KEb13uhG5f7oNuYO+DbmDvg25h74NtYe+DbWHvg21h8INt YfCDbWLwg21i8INtYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvD/exMU3o8GJsCfBDiqqgFdnb8EgIuzIZ+DnTq4gI9KyH+IU9F/hFjV f4Nc136CXtd+gl/XfYNh132DYtZ8hGPWfIRk1XuFZdR6hmbTeodn0nmIadB4iWrPeIlrzXeKbcp2 i2/IdY1xxXWNc8N0jHPDdIxzw3SMc8N0jHPDdIxzw3SMc8PtigcSxJsEHqunATmauAJYjM0HcH/N F4B4xCmKdL82kXG7P5VvuEaYbrdMmm22UJtstVSca7RXnWu0Wp1qtF2darRfnmm0YZ5ptGSeaLRm nmi0aZ1ntGydZrVvnGW1c5xltnebZLd6mWS1fZhktH+XZLR/l2S0f5dktH+XZLR/l2S0f5fJlgMM raQBG5qzADeLxgRMftsKW3PmFWRt4SJqad0tbmbbN3Bk2T5zYthEdGHWSXVg1U52X9VRd1/UVXhe 1Fh4XdNbeV3TXnlc02B5XNNkelvSZ3pb0mp6WtJuelnScnpZ0nd6WNN7elfTgHlX04J5V9OCeVfT gnlX04J5V9OCeVfTgnmvoAAHmq4AG4vBAS591QY8cvYORGv8Gkpl+SVOYvYuUV/0NVNc8ztVWvFB VlnwRlhY8EtYV+9PWVbuUlpW7lVbVe1YW1XtW1xU7V5cVOxhXFPsZF1T7GhdUutsXlHrcF5R63Ve UOt5XlDrfV5Q639eUOt/XlDrf15Q639eUOt/XlDrf16bqAAIi7wAFn3PAiFy5Acpaf8SLmP/HTFf /yY0XP8vN1n/NjlX/zs6Vf9APFP/RT1S/0k+Uv9NP1H/UD9R/1NAUP9WQE//WUFP/1xBTv9fQk7/ YkJN/2VDTf9pQ0z/bURL/3FES/91RUr/eUVK/3tFSv97RUr/e0VK/3tFSv97RUr/e0WLtQAFfckA DXLdAhNo/QoWYf8UGVz/HhtZ/ycdVv8uH1T/NSFS/zoiUP8/I0//QyRO/0clTf9LJk3/TidM/1En TP9TKEv/VihL/1gpSv9bKUr/XipJ/2EqSP9lK0j/aStH/20sRv9wLEX/dC1F/3YtRf92LUX/di1F /3YtRf92LUX/di3/VjUB/1c9Bv9VRBH/Vkch/1ZKNP9WTkf4VlRZ7VVZaONVXnTbVWN/1FVniM5V a4/KVm+VxlZymsRWdZ3BV3igvFh6orhYe6S1WX2lslp/pq9bgaesW4OmqlyFpalciKSnXYqhp12N nqZdkJylXZKapV2SmqVdkpqlXZKapV2SmqVdkpr/VzUB/1c8B/9VRBH/V0Yj/1dJNv9WTUr2VlJb 6lZYa+BWXXnXVmKEz1ZmjslXapbFV22cwVhxob5Yc6W7WXaotlp4qrJbeayvW3uurFx8r6ldfq+n XoCvpV6CraRehKujX4eoo1+KpaJfjaOhX4+goV+PoKFfj6ChX4+goV+PoKFfj6D/WDUB/1c8B/9V RBL/WEUk/1hIOf9XTEz0V1Ff51dWb9xXW37SV2CKylhklcNYaJ6+WWyluVpvq7Zaca+yW3OzrVx1 tqpddrimXne5pF94uqJgerqgYHu6n2F9uJ5hgLaeYYOynWGGrp1hiKydYYupnWGLqZ1hi6mdYYup nWGLqZ1hi6n/WTQB/1g8CP9XQhP/WUQm/1lGO/9ZSlDxWE9j41hVdNdYWoTMWV6Swlpjn7pbZqm0 XGmyrl1suatebr6mX2/ComBwxZ9hccecYnHJmmNyyphjc8mXZHXIl2R3xpdkesOXZH2/l2OAu5dj griXY4W0l2OFtJdjhbSXY4W0l2OFtJdjhbT/WTQB/1g7CP9YQRX/W0Ip/1tEPvxaR1TtWk1o3lpS e9BaWIzEW12duFxhrK5eZLmmYGfEoGJoy5xjatGXZGrVlGZq2JFmatqPZ2rbjmdr3I5oa9yNaG3a jmhv2I9ncdSPZ3TPkGd3y5FmeseRZn7CkWZ+wpFmfsKRZn7CkWZ+wpFmfsL/WjMB/1k7Cf9aPxf/ XEAr/11CQflcRVjpW0tt2VtQgslcVpa6Xluqq2Bgvp9jY82WZWTZkGdl4YtpZOeHamPshWpi7oRr YvCEa2LwhGti8IRrYvCEa2PvhWtl64dqZ+eIamriiWpt3IppcdeMaXXRjGl10YxpddGMaXXRjGl1 0YxpddH/WjMC/1k6Cf9bPRn/Xj4t/14/RPZdQlzlXUhz011OicBeVKKtYVq7m2Vf0o5oYeSFamHv hWpi8IVqYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGtj7oVrZ+iH a2vhh2tr4Ydra+GHa2vhh2tr4Ydra+H/WzIC/1o6Cv9dOxr/YDww/2A9R/NfP2DgX0V4zF9MkrZh U6+eZVvPimlg6YVqYe+FamHvhWti8IVrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti 8IRrYvCDa2Lwg2ti8INrYvCDa2Pwg2tj8INrY/CDa2Pwg2tj8INrY/D/WzIC/1o5C/9eORz/YTky /2I6SvBhPWPcYUN+xWFKm6pkVL+PaF3jhWpg74VrYe+Fa2HvhWti8IRrYvCEa2LwhGti8IRrYvCE a2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvD/XDIC/1s5C/9gNx3/Yzc0/2Q4Te5jOmfYY0CDvmNJpJ5mVc+GamDvhWtg74VrYe+Fa2HvhWti 8IRrYvCEa2LwhGti8IRrYvCEa2LwhGti8IRrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvD/XDED/1w3DP9iNR//ZTU1/2Y1T+tlN2rUZT6It2VIrpJpWd6G amDvhWtg74VrYe+Fa2HwhGti8IRrYvCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/XDED/142Df9jNCD/ZjM3/mcz UelnNG3QZzyMsGdJuIZqXu6Ga2DvhWtg74VrYe+Fa2HwhGth8IRrYvCEa2LwhGti8INrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/ XTED/180Dv9kMiH/aDE4/WkwUudpMm/NaTqRqGlKwYZrX++Ga1/vhWtg74VrYe+Ea2HwhGth8IRr YvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti 8INrYvCDa2Lwg2ti8INrYvD/XTAD/2AzD/9mMSL/aS85/GsuVOZrL3HKaziUompLyYZrXu6Ga1/v hmtg74VsYe+EbGHvhGth8IRrYvCEa2Lwg2ti8YNrYvGDa2Lxg2ti8YNrYvGDa2Lwg2ti8INrYvCD a2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/XTAD/2EyD/9nLyL/ay06+20sVeRt LHPIbTaYnGtN0YZrXu6Ga1/vhmxg74VsYe+EbGHvhGxh8IRrYfCDa2Hxg2th8YNrYfGDa2Lxg2ti 8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/XjAD /2IwEP9oLiP/bCs7+m8qVuNwKnTFbjSbl2tQ2IZrXu6GbF/uhmxg74VsYe+EbGHvhGxh8IRsYfCD a2Hxg2th8oNrYfGDa2Lxg2ti8YNrYvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INr YvCDa2Lwg2ti8INrYvD/XjAE/2MvEP9pLCT/bik7+nEnV+JyJ3bDcTKekWxS34ZrXu6GbF/uhmxg 74VsYe+EbGHvhGxh8INsYfCDa2Hxg2th8oNrYfGDa2Hxg2ti8YNrYvGDa2Lxg2ti8INrYvCDa2Lw g2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Xi8E/2QuEf9rKiT/cCc8+XMlV+F1I3fB czChjWxW5oZsXe6GbF/uhm1g7oVsYe+EbGHvhGxh8INsYfCDa2Hxg2th8oNrYfGDa2Hxg2ti8YNr YvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvD/Xy8E/2Us Ef9sKSX/ciU9+XYiWOF4IHi/di6jiGxa7IdsXe6GbV7uhm1g7oVtYe+EbGHvhGxh8INsYfCDbGHx g2th8YNrYfGDa2Hxg2ti8YNrYvGDbGLxg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCD bGLwg2xi8INsYvD/Xy8E/2crEv9uJyX/dCI9+HkeWeB9G3m+eSulh2xb7YdtXO2Hbl7thW1g7oRt Ye+EbGHvhGxh8INsYfCDbGHxg2xh8YNrYfGDa2Lxg2xi8YNsYvGDbGLxg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/YC4F/2kpEv9wJCb/dx8++H0aWeCDFXm9fyal h2xb7YduXO2Gbl3uhW5g7oRtYe+EbWHvg2xh8INsYfCDbGHwg2xh8YNsYvGDbGLxg2xi8YNsYvGD bGLxg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/YSwF/2smE/9z ISb/exs++IMUWeCMDni/iR6kh21a7YduW+2Gb17uhW5g7oRtYe+EbWHvg2xh8INsYfCDbGLwg2xi 8INsYvCDbGLxg2xi8YNsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvD/YyoF/20jE/93HSb/gRU98YwOV9eYCnXBmhKhh25Z7YZvW+6Fb17uhG5g74RtYe+D bWHvg21h8INsYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwg2xi8INs YvCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvD/ZicG/3EgE/98Fyb9iQ482JgJVcilB3G7rwihj3xG 34VvXO6Ebl/uhG5g74NuYe+DbWHvg21h74NtYfCDbGLwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLw g2xi8INsYvCDbGLwg2xi8INsYvCCbWTugm1k7oJtZO6CbWTugm1k7oJtZO7/aSMG/3YaE/+EESXd lQg5yKQGTrauA3Omtg+bj484yIRwXOyDbl/ug25g74NuYe+DbmHvg21h74NtYfCDbWLwg21i8INt YvCDbGLwg2xi8INsYvCDbGLwg2xi8IJtY+2BcGbof3Np4311bN57d3DZe3dw2Xt3cNl7d3DZe3dw 2Xt3cNn/bh0G/30TE+eRCCLKoAYztqwDT6a6A3GXwBGPiKgtq4OUQsKBiFDRgYFY2YB9XN2AfF/f gHth4IB7Yt9/fGPff3xk3n59Zdx+fWbbfX5o2Xx/adZ7gWvTeYNuz3mEcM14hHPKd4V1x3SGecRy h3zBcod8wXKHfMFyh3zBcod8wXKHfMH/dRYG/YkLEM+bBh24qQMwpbUCUJfHBmqJzRKAf8AnkHq2 Npt3r0GjdapJqXSnT6xzpVSvcqRYsHGjW7Fxo16xcKJhsm+jZLJvo2exbqNqsW2kbq9spnKua6V3 q2qke6droX6na5+BpmuchKZrm4aka5uGpGubhqRrm4aka5uGpGubhqT/gA0F1ZUFDLqmAxWmsQEy l8EETInUCF993hJtddUid3DPL35tyzqDa8hChmnGSIhoxE6KZ8NSjGbCV41lwlqNZcFejmTBYo5j wWWPYsBpj2LBbo9hwXOOYMJ5jV/Cf4xfvoSKX7uJiGC2i4lhso6JYbKOiWGyjolhso6JYbKOiWGy joncjgUCvJ8DBaasABiWvAIviM8GQnznDFBy7xhZbOkjYGjlLWRl4jdoYuA+amHeRW1f3UpuXtxP b13bU3Bc2ldxXNpbclvZX3Ja2WNzWdlnc1nYbHNY2HF0V9h3c1bZfnNV2YZyVtSLcVfPj3BXzJNv V8yTb1fMk29XzJNvV8yTb1fMk2++lwIApqYABpa3ABeIyQMoe94HNXH/ET5q/x1EZf0nSWH6MExe +DdPXPY9Uln0Q1NY80hVV/JNVlbxUldV8FVYVfBZWFTvXVlT72FaU+5lWlLuaVtR7m5bUO10W0/t eltP7YFbTu2JW07pjltP5JNaT+STWk/kk1pP5JNaT+STWk/kk1qmngAAlbAABofEABJ62AMdcPUL JWj/FSpj/yAvX/8pM1z/MTVZ/zg4V/8+OlT/QztT/0g9Uv9MPlH/UD9R/1Q/UP9XQE//W0FP/15B Tv9iQk3/ZkNM/2tDS/9wREv/dkRK/31ESf+DRUj/ikVI/pBFSP6QRUj+kEVI/pBFSP6QRUj+kEWV pwAAh70ABHrRAApv5QMQZv8NFWD/GBhc/yEbWf8qHlb/MSBU/zciUv89JFD/QiVP/0YmTv9LJ03/ TihN/1IpTP9VKUz/WCpL/1sqSv9fK0n/YyxI/2csR/9sLUb/cS1F/3cuRP99LkT/gy9D/4kvQ/+J L0P/iS9D/4kvQ/+JL0P/iS+GswAAecgAAW7dAANl9wQFXv8OB1n/GAlV/yELUv8pDVD/MA5O/zYP TP87EUv/QBJL/0QTSv9IE0n/SxRJ/04VSP9RFUj/VBZH/1cWRv9aF0X/XhdE/2IYRP9mGEP/axlC /3AZQf91GkD/eho//4AbP/+AGz//gBs//4AbP/+AGz//gBv/RzIA/0g6Af9RRQX/U0cR/1RKH/9V Ty7/VFU8/1NbSP1SYFL3UWZa8lFrYO9QcGXsUHVp6U95bOhPfW/lT4Fw4E+FctxQiHPXUIt001GO dc5SkXXKU5R1xlOYdMNUm3PAVZ9yvVaicLtXpW65V6dtuFeobbhXqG24V6htuFeobbhXqG3/SDIA /0k6Af9SRAX/VUYS/1VJIf9VTjD/VVM+/1RZS/tTX1X1UmRd8FFqZOxRb2noUHRt5lB4ceRPfHPi T4F13VCEd9hQh3jTUYp5z1KNectTkHrGVJR6w1SXeb9Vmni8Vp52ulehdLhYpHK2WKZxtVincbVY p3G1WKdxtVincbVYp3H/SDIA/0o6Af9TQgb/VkQT/1dHI/9WTDP/VVFB/1VXTvhUXVnxU2Ni7FJo aehRbW/kUXJz4lF3duBQe3neUH972FCDfdNRhn7OUol/ylOMgMZUj4DBVZOAvlaWf7pXmX24WJ17 tVigebNZo3ixWaV3sFqmdrBapnawWqZ2sFqmdrBapnb/STEA/0w7Af9VQQf/V0MV/1lGJf9YSjX/ V09F/VZVUvRVW17tVGBn51Nmb+NTa3XfUnB63FJ1ftpReYHYUX6D0lKBhc1ThIbIU4eHxFSLiL9V joi7VpGIuFiUh7VZmIWyWZyCsFqega5boX+sW6N+q1ukfatbpH2rW6R9q1ukfatbpH3/SjEA/047 Af9WPwn/WUEX/1pDJ/9aRzj/WExI+ldSV/BWWGPpVl5t4lVjdt1UaX3ZVG6C1VNzh9JTd4rQU3yN ylR/j8VVgpDAVoWRvFeIkrdYi5K0WY+RsFqSkK5blo2rW5mLqVyciqddnoimXaGGpl2ihaZdooWm XaKFpl2ihaZdooX/SzEA/1A7Af9YPQr/Wz4Z/11BKv9cRTz/WklM9llPW+xYVWnjV1t03FdhftVW ZobRVmuMzVZwkcpVdJXHVXmYwVZ8m7xYf523WYKeslqFn65biJ6rXIudqVyPmqZdkpikXpaWol+Z k6FfnJGgX56OoGCfjaBgn42gYJ+NoGCfjaBgn43/TDAA/1Q7Av9aOwv/XTwa/18/LP9eQj//XUZQ 8ltMYOdaUm/eWVh81Vldh85YY5DIWGiYw1htnr9YcaO8WXWntlp4qrBbe6yrXH2tqF2ArqRegq2i X4aroGCKp55gjaWdYZGim2GUnpthmJuaYpuXmmKclZpinJWaYpyVmmKclZpinJX/TDAA/1Y5Av9c OQz/Xzoc/2E8Lv9hP0H8X0JU715IZeNdT3XYW1WDzltakMVbYJu+W2WluFxprbNcbbOvXXG4qF5z vKNgdb6fYXe/nGJ5v5pie76ZY3+6mGOCt5ZkhrSWZIqvlWSPqZVkk6WVZJeglWSYnpVkmJ6VZJie lWSYnpVkmJ7/TTAA/1g4A/9eNw3/YTcd/2M5MP9jPET6Yj9X7GBFad5fS3vSXlGLxl5XmrteXaiy X2K1qmBmv6RhacagYmzMmmNtz5ZlbtKTZm/TkWZx0pFmc9CQZ3bMkGd6yJBnfsKQZ4O8kGeJtZBn ja+QZ5KpkGeUppBnlKaQZ5SmkGeUppBnlKb/Ti8A/1o2A/9fNQ7/ZDUe/2Y3Mv9mOUb3ZDxa6WNB bdphSIDMYE6TvmBVpbBhW7ekYmDGnGRj0pVmZdqQZ2bgjGhm44lpZuWIamfmiGpo5IlqauGJam3d impx14ppdtCLaXzIjGmDv4xpiLiMaY2xjGmQroxpkK6MaZCujGmQroxpkK7/Ty8A/1s0BP9hMw// ZjMf/2g0M/9oNkj2Zzhc5mY9cdZkRIXGY0uatWNTsaRkWseXZl/YjWhh5YZqYu+FamLwhGti8IRr YvCEa2LwhGti8IRrYvCEa2Tshmtp5Idrb9uIa3bSiGt9yIlqg8CJaom4iWqMtYlqjLWJaoy1iWqM tYlqjLX/Ty8A/10yBP9jMRD/aDAg/2oxNP9rMkn0ajVe5Gk6c9NnQIrAZkmirGZSvZlnWtaJaV/q hWph74VrYfCEa2LwhGti8IRrYvCEa2LwhGti8INrYvCDa2Lwg2tj8IVsaeWGbHDahmx4z4dsf8aH bIW+h2yIuodsiLqHbIi6h2yIuodsiLr/UC8A/14xBP9kLxD/aS4h/2wuNf9uL0rzbTFg4mw2dtBq PY27aEapo2hRyI1pXOWFamDvhWth74VrYfCEa2LwhGti8IRrYvCEa2Lwg2ti8INrYvCDa2Lwg2ti 8IRsZeyEbWzghW101YVtfMuFbYPChW2GvoVthr6FbYa+hW2GvoVthr7/US8A/18vBf9mLRH/aywh /28sNf9wLEvycC5h4W8yeM1tOpG2a0Svm2lS0oZqX++Ga2DvhWth74VrYfCEa2LwhGti8INrYvCD a2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCEbWrkhG5y2IRuec6EboHFhG6EwYRuhMGEboTBhG6EwYRu hMH/Uy8A/2AuBf9oLBH/bSoi/3EqNv9zKkvxdCpi4HMuectxNpOybUK0lGtU24ZrX+6Ga2DvhWth 74RrYfCEa2Lwg2ti8YNrYvGDa2Lwg2ti8INrYvCDa2Lwg2ti8INrYvCDbWjng25w2oNveNCCb4DH gm+Dw4Jvg8OCb4PDgm+Dw4Jvg8P/VS4A/2ItBf9pKhH/bygi/3MnNv92JkzxeCdi33cpesp1MpWu cEC5jmtW5IZrXu6GbGDvhWxh74RsYfCEa2Hwg2th8YNrYvGDa2Lxg2ti8INrYvCDa2Lwg2ti8INr YvCDbWfog25w24JveNGBcIDIgXCDw4Fwg8OBcIPDgXCDw4Fwg8P/WC4A/2MrBf9rKBH/cSYi/3Yk Nv95I0zxfCNi330kesl6LZascz68iWxa6oZsXu6GbF/uhWxh74RsYe+DbGHwg2th8oNrYfGDa2Lx g2ti8INrYvCDa2Lwg2ti8INrYvCDbWjogm9w24FweNGAcIDIf3GExH9xhMR/cYTEf3GExH9xhMT/ Wi4A/2QqBf9sJhL/cyQi/3kiNv99IEzxgR9i34MfesmAKJareDq+h2xb7YdtXe2Gbl/uhW1h7oRs Ye+DbGHwg2th8YNrYfGDa2Lxg2xi8INsYvCDbGLwg2xi8INsYvCCbmnmgXBx2n9xedB+cYHHfnKF w35yhcN+coXDfnKFw35yhcP/XC0A/2UoBf9uJBL/diIi/3wfNv+CHEvyiBph4I0YecqLIZWsfzS8 h21a7YduXO2Gbl/uhG1h74RsYe+DbGHwg2xh8YNsYvGDbGLxg2xi8INsYvCDbGLwg2xi8INsY++B b2vjf3F02H5ye859c4PFfHOGwXxzhsF8c4bBfHOGwXxzhsH/XSwA/2cnBv9wIhL/eR8i/4AbNf+J F0rzkRRf4psRds2dFpGujSu6h25Z7YZvXO6Fbl/uhG1h74NtYe+DbGHwg2xi8INsYvCDbGLwg2xi 8INsYvCDbGLwg2xi8IFuZ+l/cW/efXN31Hx0fst6dYbCenWJv3p1ib96dYm/enWJv3p1ib//XyoA /2kkBv9zIBL/fBsh/4YWNP+REkjtnw5d264Lcsy0C5CpnCS5i3dP5YVvXe6Ebl/ug25g74NtYe+D bWHwg2xi8INsYvCDbGLwg2xi8INsYvCDbGLwgW5l639xbOF9dHTXenZ8znl3g8Z4d4m+d3eMu3d3 jLt3d4y7d3eMu3d3jLv/YSgA/2siBv92HBH/gRYh/44RMumfDEXXrglXybgHcbi+DJCboSm0i4NH 1oRvXu6Dbl/vg25g74NtYe+DbWHwg21i8INsYvCDbGLwg2xi8IJuY+2AcWjmfXRt33t3c9d4eXrO dnqCxnV7iL90e424dHuQtXR7kLV0e5C1dHuQtXR7kLX/YyUB/28eBv97GBH/iREf7JsLL9SrCUDG twdWt8EFc6TBEo6Rqiqph5VAwoOFUNOCfVnegnhe44J2YeaBdWLmgXVj5YF1ZeSAdmfhf3lp3H56 a9l7fG/VeH51z3WAe8lygYLCcYGIu3GBjrVwgJOwcICVrXCAla1wgJWtcICVrXCAla3/ZiIB/3Ma Bf+BEg/1lAsc1aYIKsW0Bjy0vQRYpssHcpTHFoiHtiubgKg7q32eR7d7l1C/epNXxHmQXMd5j2DI eI5kyXePZ8l1kGvHdI9vxHOQdMBzjXe/c4x7vG+Mgrhti4izbIqOrmyJk6priJima4eapGuHmqRr h5qka4eapGuHmqT/ah0B/3kUBf+LDA3YnwcYxbEGI7K5BD+kxwZYl9cKbYjPGn5+wyuLebs4lXW0 Q51zsEuicqxSpnGqWKlvqF2rb6dirG6nZ6xsp2ysa6hyq2qneKhqpH6la5+CpWubh6RpmI2iaJaT n2eUmJxmkpyZZpGemGaRnphmkZ6YZpGemGaRnpj/bxcA/4ENBN2XBwrGqQURsrQDJqPCBECV0QhV iOUOZX3aHHJ20St7ccs3gm7HQIdsxEiLasFPjmnAVZBnvlqRZr1gk2W9ZZNkvGuUY7xxk2K9eJJh u4CQYrWHjWOvjI9kqZCPZKSVjmOimo1in5+LYp6hi2KeoYtinqGLYp6hi2KeoYv/dxAA5I4GAsef BQWyrgIRorwDKJXMBT2I3gpOe+4UWnPmIGNu4Cxqatw2b2fZP3Nl1kd2Y9RNeGLSU3pg0Vh8X9Be fV7PY31dz2l+XM9vflvPdn5Zz399WsuIfFvEj3lcvZR6XbaZe16ynHtfrqB7X6yie1+sontfrKJ7 X6yie1+sonvzgwYAypUDALKmAgOitQETlMYDJofZBzd6+g9DcvobTGz0JVNn8C9YY+w3XGDqP2Bf 50ZiXeZMZFzkUmVa41dnWeJcaFjiYWlX4WZpVuFsalXgc2pU4XtqU+GGalPajmhV0pZnVsybZlfG n2dYwaJoWL+kaVi/pGlYv6RpWL+kaVi/pGnOiwIAspwAAKCtAASSwAAShdIEIHrqCSxw/xQ2av8g PGX/KUJh/zJGXv05SVv7QExY+UVOV/dLT1b2UVFV9VZSVPRbU1P0X1RS82RVUfJqVVDycFZP8ndW TvKAVk3yi1ZO6ZJVT+KZVFDdoFNQ2KVSUdWnU1HVp1NR1adTUdWnU1HVp1OzkgAAn6IAAJG4AASE zAAOeOAEGG7/DSBn/xgmYv8jK1//LC9b/zQyWf87NVb/QDdU/0Y5U/9LO1L/UDxR/1U9UP9ZPk// XT9O/2I/Tf9nQEz/bEFL/3NBSv97Qkj/hEJH/45CSPqVQkn0m0FK7qBBS+yjQEvso0BL7KNAS+yj QEvso0CfmQAAkK4AAIPDAAJ32AAHbfEFDWX/EBJg/xsXXP8kGlj/LR1W/zQgU/86IlH/QCRQ/0Ul T/9KJk7/TidN/1IoTP9WKUv/WipK/14rSf9jK0j/aCxH/24tRv91LUT/fS5D/4YuQv+QLkL/li9D /5suRP+eLkT/ni5E/54uRP+eLkT/ni6PowAAgrkAAHbOAABs4wACY/8IBFz/EQZY/xsJVf8kC1L/ LA1Q/zMPTv85EUz/PhJL/0MTS/9IFEr/TBVJ/08WSP9TFkj/VxdH/1oYRv9eGEX/YxlD/2gZQv9u GkH/dRs//30bPv+GHD3/jhw8/5UcPf+YHD3/mBw9/5gcPf+YHD3/mByBrwAAdcMAAGvYAABi6wAA Wv8JAFX/EgBS/xsBT/8jAkz/KwNK/zEDSf83BEf/PAVH/0AFRv9EBkX/SAZF/0sHRP9PB0P/UghD /1UIQv9ZCEH/XQk//2EJPv9nCjz/bAo6/3MLOf96Czf/gQw2/4gMNf+MDDX/jAw1/4wMNf+MDDX/ jAz/PzQA/z07AP9CPgD/UEYF/1JKD/9SUBr/UlYl/1FdL/9QYzf/T2k+/05vQ/9NdUf/TXtK/0yA Tf9MhE/5TIhQ9U2LUfBNj1LsTpJT506WVONPmlTeT55U2lCiVNVRp1PRUqtRzVOvT8pTs07HVLVO xVS4TcVUuE3FVLhNxVS4TcVUuE3/QDMA/z06AP9FPgH/UkUG/1NIEP9TThz/U1Qn/1JbMf9RYTr/ UGhB/09uRv9OdEv/TXlO/k1+UfxMg1P3TYdU8k2LVu1OjlfoTpJX5E6VWN9PmljbUJ5Y1VCjWNFR p1fNUqtVyVOvU8ZUslLDVbVSwVW3UcFVt1HBVbdRwVW3UcFVt1H/QDMA/z46AP9JPQH/U0MH/1VH Ev9UTB7/VFIq/1NZNP9SXz3/UWZF/1BsS/9Pck/9TndT+019VvlNglj0TYZZ7k6KW+lOjVzkT5Fd 4E+VXdtQml7VUJ5d0VGiXcxTp1vIVKtaxFWvWMFVsli+VrVXvFa3VrxWt1a8VrdWvFa3VrxWt1b/ QTMA/0A4AP9NPQH/VUEI/1dFFP9WSSD/VU8t/1RWOP9TXUH/UmNJ/1FpUPtQb1X4T3VY9k57W/RO gF7wToVg6k6JYeVPjWLgT5Fj2lCVZNVRmWTQUp5ky1OiY8ZUp2HDVatfvlavXrtXsl65V7Rdtli3 XLZYt1y2WLdctli3XLZYt1z/QjMA/0I3AP9SPAL/Vz8J/1lCFv9ZRyP/V0ww/1ZTPP9VWUb/U2BO +1JmVfdRbVv0UHJf8U94Yu9PfmXrT4Nn5U+HaN9QjGrZUJBr01GVa85SmWvJU51rxFSiacBWpme8 V6pmuFiuZrVYsWWyWbRjsFq2YrBatmKwWrZisFq2YrBatmL/QzIA/0U1AP9WOwL/WTwL/1tAF/9b RCX/Wkkz/1hPP/9XVkr8VV1T91RjW/JTaWHuUnBm61F2aulQfGzmUIFv31CGcdlRi3LSUo9zzFOU c8dUmHPBVZ1yvVehcbhYpm+0WapusFqtba5asGysW7Nqqly2aKpctmiqXLZoqly2aKpctmj/QzIA /0gzAP9YOAP/XDoM/149Gf9eQSf/XUY2/1tLQ/9ZUk/4V1lZ8lZfYe1UZmjpU2xt5lJzceNReXXg UX932FGFedFSinvKU458xFWTfL9Wl3y6WJx6tVmheLBapXisW6l3qVysdaddsHOlXbJxpF61bqRe tW6kXrVupF61bqRetW7/RDEA/0syAP9aNgP/XjcN/2A6Gv9hPin/YEI4/15HRv1cTlP1WlVd7lhc Z+hXYm7jVWl031RvedxTdn3aUn2A0VODg8lUiITCVY2FvFeRhrZYloWyWpuCrVufgqhdo4GlXqd/ ol6rfKFfrnmfYLF3nmC0dJ5gtHSeYLR0nmC0dJ5gtHT/RTEA/04wAP9cNAT/YDUO/2M3G/9kOyv/ Yz86/2FESfpfSVbxXVFi6ltYbONZXnXeV2V82VZsgdVVc4bSVHuKyVWBjcFWho+6WIuQs1mQj65b lY6pXZmMpV6di6FfoYmeYKWGnGGpgptirX+aYrB8mWOzeZljs3mZY7N5mWOzeZljs3n/RzAA/1Iv AP9eMQT/YzIO/2Y0HP9nNyz/Zzs8/2VAS/hjRVnuYExm5l5Tcd9cWnvYWmGD0llois5XcI/LVniU wVd+l7hZhJmxWomaq1yOmaZek5ehX5eWnWGblJpin5GYY6SNl2SoiJVkrISVZa+BlGWyfpRlsn6U ZbJ+lGWyfpRlsn7/SS8A/1YvAP9gLwT/ZTAP/2kxHf9qNC3/ajg9/2k8TfZnQFvsZEhp42JPddpf VoDSXV2KzFtkksdabJnDWXSeuFp7o69cgaWnXoamomCLo51hj6OZYpSglmSZnZRlnZiTZaKTkWam jZFnqomQZ66FkGexgZBnsYGQZ7GBkGexgZBnsYH/Sy4A/1ouAP9iLQX/Zy0P/2wuHf9uMS3/bjQ+ /204TvVrPF3qaENr4GZKedZjUYXOYFmQxl5gmr9daKO6XHCqr114r6VffbKfYYKxmmOHsJVki66T ZZCpkGaWpI9nm56OaKCXjWmlkY1pqYyMaa2IjGmxhIxpsYSMabGEjGmxhIxpsYT/TSwA/1wtAP9k KwX/aisP/24sHf9xLi3/cjA+/3I0TvRwOF7pbj5t3mpFe9NnTInJZFSWwGJcorhgZK2xX2y2pWB0 vJxieb+WZX69kmaCvI9nh7eNaI2xjGmTqopqmaOKap+biWuklYlrqY+Ja62KiGuxhohrsYaIa7GG iGuxhohrsYb/TysA/10sAP9lKQX/bCkP/3EpHf90Ky3/di0+/3cwTvR2M17odDhu3XA/fdFtR4vG aU+au2ZXqbBkX7aoY2jCnGRvypNmdMyPZ3nKjGl9xopqg8CIa4q4iGyRr4dsmKaGbZ6ehm2kl4Vt qZGFba6MhWyxiIVssYiFbLGIhWyxiIVssYj/UCoA/18qAP9nKAX/bicP/3QnHf94KC3/eik9/3ws TvR8L17oezJu3Xg5fdB0QY3EcEmdt2xSrqpoWr+fZmPOk2dr14xpb9eJanTUh2t5zoZsgMWFbYi8 hG6PsoNul6mDb56ggm+kmIJuqpKCbq6Ngm6yiYJusomCbrKJgm6yiYJuson/UikA/2ApAP9pJgX/ cCQP/3ckHf98JCz/fyY9/4InTfWEKl3phS1t3YMzfNB/OozDekKdtXRLsaVvVcWXal7Yimlm5IZr auOFbXDbhG530oJvf8iBb4e+gXCPtIBwl6p/cZ+hf3ClmX9wq5N/cK+Of3CziX9ws4l/cLOJf3Cz iX9ws4n/VCkA/2EnAP9qJAX/cyIP/3oiHP+AISz/hSI8/4ojTPaOJVvrkidq35QretOSMonGjjqa uIhDraeATsOTdVrag2th8oJtaOiBb2/dgHB3035xgMl9coi+fXOQtH1zmKp8c6ChfHKmmXxyq5N8 crCOfHG0inxxtIp8cbSKfHG0inxxtIr/VSgA/2MmAP9sIgX/dSAP/30fHP+FHiv/jB46/5MeSfmb H1jupCFn4K4kdMysL4K7pzqQq59BppmSS8CJg1jXgXVk435za+F9dHLZe3V60Hp1gsd5dYq9eXaS s3l2mql5daGgeXWnmXl0rZN5dLGOeXO1inlztYp5c7WKeXO1inlztYr/VycA/2QkAP9uIAX/eB0O /4EbG/+LGin/lRk4/6AZRviuGVTmvhtg0cQibr/AKYGtuzCVmao+qYqZTL2BjFrMfIRm1Xx9bdR4 fHXRdnt9ynV7hsJ1eo25dXmVsHV5nKd1eKOfdnipmHZ3rpJ2drKNdnW2iXZ1tol2dbaJdnW2iXZ1 ton/WSUA/2YiAP9xHgT/fBoN/4cXGv+TFSf/oRQ1/LETQuzGE03b1xJexdkXcqvKJYSYuzOViq1B pYGhTrN7mFq+d5FlxnaNcMZ2hnbFcYWAwXCCiLtwgJCzcX+XrHF9nqRxfKWdcnurlnJ6sJBzebSM c3i3iHN4t4hzeLeIc3i3iHN4t4j/XCQA/2gfAP90GwT/gBYM/44TGP+eEST1sQ8w6skOOtjaCk7E 6A5hq9kZc5jKKIOKvjaRgLRDnXqrT6h1pFqwcp9ltnCecLdwl3m0cJCAtW2MibFsiZKsbIaZpmyD oJ9tgaeZbn+tk25+sY5vfLWKb3u5hm97uYZve7mGb3u5hm97uYb/XyIA/2sdAP94FwT/hhIL/5cO FeetDCDaxAopzdAJPL/cC1Gr5xFjmNkdcorNLICAxDmLebxFlHS2UJtwsVqhba1kpmurb6hqp3ql a5+CpWuYiaVok5KiaI+anmiLoplpiKmUaYWuj2qDs4trgbeHa4C7hGuAu4RrgLuEa4C7hGuAu4T/ YSAA/24ZAP99EgP/jw0J4KUJEdO6CRnHyAcqudMJP6rlDFKY6BViitwhb3/TL3p3yzuCcsVGiW7A UI9rvVmTabpjl2a4bZhkuHmYZbCDlWanipdmoJGWZJqalWSVopFkkKqOZYywimWJtYZmh7mDZ4W8 gGeFvIBnhbyAZ4W8gGeFvID/ZRwA/3MUAP+EDQLhmwgH0K4IDMK/Bhi0ywctp9oJQJf1EFGJ6xpe fuElaXbaMnJw1D14bM9HfmnLUIJmyFmFZMZiiGLFa4pgxHWKX8KBiWC5i4Zhr5KIY6eYiWGhoYdg m6mFYJawg2CStoBhj7p+Yo2+e2KNvntijb57Yo2+e2KNvnv/aRcA/3kOAOmPBwHQogYDv7UFCbDC BRuk0Qcul+QLP4j5FE198B9YdegqYW7jNWhq3j9tZtpIcWPXUHVh1Fh3X9Ngel3RaXtb0XJ8WdF+ fFrKiXpcwJJ4XbeZel+vn3tdqKd7XKOveVyetXhcmrp2XZe+dF2XvnRdl750XZe+dF2XvnT/bhEA 94IHANKVBQC+qQQBrrgDC6HJBRyV2ggth/oPO3z/Gkdz9yRQbfEuV2jtN1xk6UBgYeZJZF/jUGdd 4VhpW+Bfa1nfZ2xX3m9tVt55blTehm1W05BsWMmZaVnAoGxat6ZtWrGsbVmss21Yp7hsWKO9a1ij vWtYo71rWKO9a1ijvWv/dgkA14oCAL2aAgCrrQEBn78CDJLRBRuG5gkpev8TNXL/Hz5s/ylFZvwy S2L4Ok9e9UFTXPJJVVrwUFhY71daVu1eW1XsZV1T62xeUut1XlDqgF5Q54xeUd2XXVPToFpUyqZd VsKsXle7sF9Wt7ZfVbO7X1Wzu19Vs7tfVbO7X1Wzu1/ggAAAvpAAAKqgAACctAACkMkBDITcBRh5 /g0jcP8YK2r/IzJl/yw4Yf81PV3/PEBa/0NDV/9KRlX+UEhU/VZJU/tcS1H6Y0xQ+mpNTvlxTk34 ek5L+IZPTPKRTk3nm01P36RLUNasTFHOsU5SybVPU8S4UFPEuFBTxLhQU8S4UFPEuFDChwAAqZYA AJqoAACOvwACgtMBCXfoBhJu/xEZZ/8cIGL/JiVe/y8qW/82LVj/PTBV/0MzU/9KNVL/UDZR/1U4 T/9bOU7/YDpN/2Y7S/9tPEr/dT1I/389Rv+LPkf+lj1J9J49SuunPEzkrjpM3rM7Tdm4PE3ZuDxN 2bg8Tdm4PE3ZuDyqjgAAmJwAAIuzAACAygABdd8BBWz/CQpk/xMPX/8eFFv/JxhY/y8bVf83HlP/ PSBR/0MiT/9JI07/TiVN/1MmTP9YJ0v/XShJ/2IpSP9oKkf/bytF/3grQ/+CLEH/jyxC/5ksRP+g LEX7pytH9K0rSO+yKkjvsipI77IqSO+yKkjvsiqYlQAAiqgAAH6+AABz1AAAaukAAWH/CwNc/xQG WP8eCFX/JwtS/y8NUP82D03/PBFM/0ISS/9HE0r/TBRJ/1AVSP9VFkf/WRdG/14YRf9jGEP/aRlC /3AaQP95Gj7/hBs8/5AbPf+aHD7/oRxA/6YcQf+qHEH/qhxB/6ocQf+qHEH/qhyKoAAAfbQAAHLI AABo3QAAYPUBAFn/DABU/xUBUf8eAU7/JwJM/y4DSv80BEj/OgVH/z8FRv9EBkX/SAdF/0wHRP9Q CEP/VAhC/1gJQf9dCT//Ygo+/2gLPP9wCzn/eAw3/4IMNf+PDTL/mg0z/6ANNf+lDTX/pQ01/6UN Nf+lDTX/pQ19rAAAcb8AAGfSAABf5QAAWP8DAFH/DABO/xUASv8dAEb/IgBD/ycAQP8sAD7/MQA9 /zYAPP86ADv/PgA6/0EBOf9FATj/SAE2/0wBNf9QATP/VAEx/1kCL/9gAi3/ZwIr/3ACKf96Ayf/ hQMm/48DJP+ZAyT/mQMk/5kDJP+ZAyT/mQP/ODYA/zc7AP88PAD/QkAA/05JBP9PUAv/T1cT/09e G/9OZSH/TWwn/0tzK/9Kei7/SoAx/0mGM/9JizX/So42/0qSN/9LlTj7S5k49kycOfJMoDntTaQ5 6E6pOeNPrjjfT7Q32lC5NdVRvzPRUsI0zlLFM81SxjPNUsYzzVLGM81SxjP/ODYA/zk6AP89OwD/ RT8B/1BIBf9QTg3/UFUV/1BcHf9PYyT/Tmop/0xxLv9LeDL/Sn41/0qFN/9KiTj/So06/0uRO/xL lTz4TJg880ycPe5NoD3pTqU95E6qPd9PrzzaULU61VG7ONFSvzjNUsI4ylPFN8hTxjfIU8Y3yFPG N8hTxjf/OTUA/zs4AP9AOQD/ST4B/1FFBv9SSw7/UlIX/1FZH/9QYSf/T2gt/05vMv9Mdjb/S3w5 /0uDO/9LiD3/S4w//kyQQPlMlEH0TZhB702cQupOoELlTqVC4E+qQdpQsEDVUbY+0FK7PctTvz3H VMI9xFTFPMNUxjzDVMY8w1TGPMNUxjz/OjUA/z02AP9CNwD/Tj0B/1NDB/9USBD/U08a/1NXIv9S Xir/UGUx/09tNv9Oczv/TXo+/0yBQf9LhkP/TItE+kyPRfVNk0bvTZdH6k6cSOVPoUjfT6ZI2lCs R9RRsUXPU7dDyVS7Q8VUv0PBVcNDvlbGQr1Wx0G9VsdBvVbHQb1Wx0H/OjUA/z80AP9GNQD/Uz0C /1ZBCP9WRhL/VUsc/1VTJv9TWy7/UmI1/1FqO/9PcED/TndE/01+Rv9MhEn8TYlK9k2OTPBOkk3q TpdO5E+cTt9QoU7ZUKdO0lKtTc1TskvHVLdKwlW8Sr1WwEq6V8NJt1fGSLZYx0e2WMdHtljHR7ZY x0f/OzQA/0IyAP9JMwD/VjoC/1k+Cv9aQxT/WUge/1dPKf9VVzL/VF46/1JmQP9RbUX/T3RK/057 Tf9Ngk/3TohR8U6NU+pPklTkT5dV3lCdVddRo1XRUqhUy1SuU8VVs1K/VrhSule8UbZYwFCzWcRP sFnHTq9ax02vWsdNr1rHTa9ax03/PTIA/0YxAP9NMQD/WTcD/1w7C/9dPxX/XEUg/1pLK/9YUjX/ Vlo+/1RiRf9Takv/UXFP/FB4U/pPgFbzT4ZY60+MWuRQkVvdUJdc1lGeXM9So1zJVKlbw1avWbxX tFq3WLhZslm9WK5awVarW8RVqVzHU6lcyFKpXMhSqVzIUqlcyFL/QDAA/0kvAP9RMAD/XDQD/184 C/9gPBf/YEEi/15HLv9bTTj/WVVB/1deSf9VZVD7U21V+FJ1WfVQfV3uUIRf5lCLYd5RkWPVUZhj zlOeZMdVpGPAV6phulivYbRZtGGuWrlgqlu9XqdcwVylXcRao13IWKJdyVeiXclXol3JV6JdyVf/ Qy8A/0wtAP9WLwD/XjIE/2I0DP9kOBf/ZD0j/2JDL/9gSTr/XVFE/1pZTfxYYVT3Vmla81RxX/BS emPqUYJm4FGKaNZSkWrOU5hrxlWfa75XpWm4WatpsVqwaatbtWinXbpmo16+ZKBfwmGeX8ZfnF/J XJxfy1ycX8tcnF/LXJxfy1z/RS0A/04rAP9bLgD/YS8E/2UxDP9nNRj/aDok/2c/MP9kRTz/YUxH /15UUPlbXFjzWWVf71ZtZexUd2nlU4Bt2lOJcM9UkXHGVZlyvVegcbZapnCuW6txqFyxcKNetW6f X7psnGG+aZphw2aYYcdjlmHLYJZhzF+WYcxflmHMX5ZhzF//RywA/1EqAP9dLAD/YywE/2guDP9r Mhj/bDYk/2s7Mf9qQT3/Z0dI/WNPUvZgV1vwXGBj7FlpaedWc2/hVX5z01SId8hWkXm9WJl5tFuh d6xcp3imXqx4oF+xdpxhtnOZYrpwlmO/bZRjxGmSY8hmkWPMY5BjzWKQY81ikGPNYpBjzWL/SioA /1QoAP9fKQD/ZikE/2srDP9vLhj/cDIk/3E3Mf9vPT3/bUNJ/GlJVPVmUl3uYltm6F5lbeRab3Tc V3x5zVeHfb9YkoC0W5p/q12if6Nfp3+dYa1+mWKxe5VktniSZbt0kGXBcI5lxmyNZcpojGXNZYtl zmSLZc5ki2XOZItlzmT/TCkA/1YnAP9hJwD/aCcE/24oDP9zKxf/dS8j/3YzMP92OD3/dD5J/HFE VPRtTV7taFZo5mRgcOBfa3jWWnl/xlmGhLdbkoarX5yFoWCjhppiqIWVZK2Dkmayf49nt3uMZ713 imfCcolnx26IZ8tqh2fOZ4dnz2aHZ89mh2fPZodnz2b/TSgA/1gmAP9jJQD/ayUE/3ElDP93KBf/ eisj/3wvL/99NDz/fDpI/HpAU/R3R17tclFo5Wxbct5mZ3vRYHWEv1yGi61elI2gYZ2Nl2OkjZJm qYqOaK6Hi2mzgolpuX6Hab55hWnEdIRpyG+Eacxsg2nPaINp0GeDadBng2nQZ4Np0Gf/TycA/1ok AP9lIwD/bSID/3UjC/97JBb/fygh/4MsLv+FMDr/hjVG/oY7UfaFQlzugUtn5HpWcdhzYnzJaXGH tWGFkaBjlpOUZaCVjWimkolqqo6Ga7CKhGy1hINsun+CbMB6gWzFdYBryXCAa81tf2vQaX9q0mh/ atJof2rSaH9q0mj/USYA/1wjAP9mIQD/cCAD/3ggCv9/IhX/hSQg/4ooLP+PLDf/kzFD/pY3Tu+a PljilUli1Y9UbciHYHi6e26Gp2iGmY9nnJ2Ga6Oag22oloBurZF/b7KLfm+3hn1vvIB9b8F7fG7G dnxuy3F8bc5tfG3Ranxs02l8bNNpfGzTaXxs02n/UiUA/14iAP9oHwD/ch4D/3sdCv+EHhP/jCEe /5QkKf+bKDT/oy4+8Kw0SOCvP1HQq0xawqVaYbWeZG6nlGmGh3t4nXR0paN2dKedd3Srl3h0r5F4 c7SMeHO5hnhyvoF4csN7eHHIdnhwzHF4b89ueG/Tanlu1Gl5btRpeW7UaXlu1Gn/VCQA/2AhAP9q HQD/dRsD/38aCf+KGxL/lB0c/58gJv+qJS/0tyo44sUzQNDCREbBvFRMtLZdWKaxYmuSr2WDcaFz mWKQnaFpg6ecbX6slm97sZFxebaLcni7hnN2v4BzdcR7dHTJdnRzzXF1ctFudXHUanVw1Wl1cNVp dXDVaXVw1Wn/ViIA/2EfAP9sGwD/eBgC/4QXCP+RFxD/nhkZ/60cIfy+ISno0icw1dkzOcTTPka1 z0hTpstRYJbHWm6DxGN9asBykGOnjZZjlaCWZYqqk2iEsY9rgLeKbH28hW57wX9vecV6cHfKdXF1 znFxdNJtcnPVanJz1mlyc9ZpcnPWaXJz1mn/WCEA/2MdAP9vGAD/fBUC/4oTBv+ZFA3/qxQV+r8X HOTYHCHT5iIvxO0rPrXqM0ul5j1YleNHZIXcUXB10V58Z8huhmO4hopipZeNYZmljWKPr4tlibaH Z4S8gmmAwX5qfcd5a3vLdGx50HBtd9NtbnbWam522GludthpbnbYaW522Gn/WiAA/2YaAP9yFQD/ gREB/5EQBfymDwr0vQ8Q4toQFc7pFiS+9x8zr/8nQaH5ME6T7zhZhOZEZHjdT25t1Vx3ZM5rf17I gIJhtZKBYKedhV6dqoVflLSCYY27f2OHwntlg8d3Z4DMc2h90W9pe9RsanrYaWp52WhqedloannZ aGp52Wj/XR0A/2gWAP92EQD/hw0B8JwLA921CgfXzwoKzOUMGLr6FCeq/x02nP8mQ4/4L0+D7zhZ eOhDYm/hT2pn21pxYNVodlvTenpcxY15XraZel6qo3xcoa98XZi4el6RwHdgi8d0YobNcGSD0W1l gNVqZn7ZZ2Z92mZmfdpmZn3aZmZ92mb/XxoA/2wSAP97DADskAgA2KUIAc28CAPDzwgNuOUMG6f/ EyqZ/x03jf8nQ4H5ME138jlWb+xEXWjmT2Ri4VppXd5mbVnbdXBX1YhxW8aWblu5oHJbrqlzWaW0 c1qdvXFblcZvXY/MbF+K0mlgh9ZnYYTaZGGD22Rhg9tkYYPbZGGD22T/YxYA/3AOAPKDBgDWlgUA x6oGALu/BQOx0ggPpusLHZf/FCqK/x82f/8pQXb9Mklu9jtRaPFFV2PtT1xe6VpgWuZlZFfkcWZU 44FnVdeRZ1jJnWRYvqZoWbOualequWlXosJoWJrKZlqU0WRbj9ZiXIvaYVyK3GBcitxgXIrcYFyK 3GD/ZxEA/3cIANqJAwDEmgMAtq4DAKvDBQWh2AcQlfYNHYj/Fil9/yEzdf8rPG7/NENn/T1JYvhG T171UFNa8llWV+9jWVTtbltS7HtdUOmLXVLbmFxVzqRaVcOrXVa5s19VsL1fVajHX1Wgzl5Wm9Rc V5bZW1eU21pXlNtaV5TbWleU21r/bQoA4n8BAMWOAQCznwEAprMBAJ3KAwaS3gYQhf8OHHv/GSZz /yQubP8uNmb/Nzxh/z9AXP9HRVn+UEhW+1hLVPlhTVL4a09P9nZQTfaEUU3tklFP4Z5QUdWqTlLK sVFUwLhTUrfCVFKvylRSqdBUUqPWU1Oi2FNTothTU6LYU1Oi2FPpdgEAyoUAALKTAACjowAAmbsA AI7SAwaE5wYPeP8RGHD/HCBq/ycnZf8wLWD/OTJc/0A2WP9IOVX/UDxT/1g+Uf9fQE//aEJN/3FD S/99REn/i0VK9JdETOijQ07drkFP0rdEUMi9RlDAxUhPusxIT7TSSE+y1EhPstRIT7LUSE+y1EjS fQAAtIsAAKKZAACVrQAAi8UAAIDcAgR2/AoLbf8UEmf/Hxhi/ykeXv8yIlr/OiZX/0EpVP9ILFL/ Ty5Q/1YwT/9dMk3/ZDNL/2w1Sf92Nkb/gjdF/5E3R/2cN0nxpjZL57E0TNy6NU3TwjhNzMc5TMbN OkzEzztMxM87TMTPO0zEzzu4hAAAopEAAJOhAACItwAAfc8AAHPlAQJq/wwGZP8WC1//IA9b/yoT WP8yF1T/OhpR/0AcUP9HHk7/TiBN/1QiS/9aI0r/YCRI/2glRv9wJkT/eidC/4coQP+VKEL/nyhF /KkoR/KyJknpuiVJ4cEnStvIKUrZyilK2copStnKKUrZyimiiwAAkpcAAIasAAB6wgAAcNkAAGjw AgBg/w0CW/8XBFf/IQdU/yoJUf8yC0//OQ1N/z8PS/9GEUr/TBJJ/1ETSP9WFEb/XBVF/2IWQ/9p F0H/chg//3wZPP+JGTv/mBo9/6IaQP+qGkL/shlE97gYRfG+GEbuwBdG7sAXRu7AF0buwBeSkQAA haQAAHm4AABvzAAAZeEAAF7/BABX/w4AVP8YAFD/IQFO/ykCS/8xA0n/NwRI/z0FRv9DBkX/SAZE /00HQ/9SCEL/VwhB/1wJP/9iCj3/aQo7/3ELOP98DDX/igwy/5sNM/+kDTb/qw04/7ENOf+2DTr/ uA06/7gNOv+4DTr/uA2FnAAAea8AAG7CAABk1gAAXOkAAFX/BQBQ/w4ATf8XAEn/HgBE/yQAQv8q AED/MAA+/zUAPf86ADz/PwA6/0MBOf9HATf/SwE2/08BNP9UATL/WgIv/2ICLf9rAiv/dgMo/4QD Jf+VAyT/pgMm/6sEKP+vBCn/sQQp/7EEKf+xBCn/sQR5qAAAbroAAGTMAABc3wAAVO8AAE7/BgBK /w8ARv8WAEH/GwA9/yAAOv8kADf/KAA0/ywAMv8wADH/MwAv/zcALf86ACv/PQAq/0EAKP9FACb/ SgAj/08AIf9XAB7/XwAb/2oAGP92ABb/hgAU/5UAE/+iABP/pwAT/6cAE/+nABP/pwD/MTgA/zQ5 AP83OwD/Oj0A/zxCAP9FTAL/SlYH/0teC/9JZhD/SG4U/0d2GP9Gfhr/RYUc/0WMHv9FkB//RpUg /0aYIf9HnCL/SJ8i/0mjIv5JpyP5Sqsj9EuwIu9MtSLpTbsh407BH95Oxx7ZT80e1U/SHtJO1R7S TtUe0k7VHtJO1R7/MjcA/zU4AP85OQD/PDwA/0BBAP9JSwP/TVQI/0xcDf9LZBL/SmwX/0h0Gv9H fB3/RoMf/0aKIf9GjyL/R5Qk/0eYJP9ImyX/SZ8m/0mjJvtKpyb2S6sm8EywJutNtiXlTrwk30/D ItlPyiLUUM8i0FDTIs1P1iLNT9YizU/WIs1P1iL/MjcA/zc3AP87NwD/PzoA/0RAAf9NSgT/TlIJ /05ZD/9NYRX/S2ka/0pxHv9JeSH/SIEj/0eJJf9Hjif/SJIo/0iXKf9Jmir/Sp4q/EuiK/dLpyvx TKwr7E2xKuZOtynfT74o2VDGJtNQyyfOUc8nylHUJ8dQ2CbHUNgmx1DYJsdQ2Cb/NDYA/zo0AP8+ NQD/QjcA/0k+Af9QRwX/UE4L/1BWEv9PXhj/TWcd/0xvIv9KdyX/SX8o/0iGKv9IjCz/SZEt/0qV Lv9Kmi/9S54v90yiMPJMpzDsTa0w5k6zL99PuS7ZUMEs0lHHLcxSzC3HU9Asw1LVLMBS2ivAUtor wFLaK8BS2iv/NzQA/zwyAP9BMwD/RjUA/1A9Av9TRAb/UkoN/1JSFP9RWxv/T2Mh/05sJv9MdCr/ S3wt/0qEL/9KijH/So8z/0uUNP1LmTX3TJ418U2jNutOqDblT64131C1NNhRvTPQUsMzyVPJM8RU zTO/VNIyu1TYMrhT3DG4U9wxuFPcMbhT3DH/OTEA/z8wAP9FMAD/SjMA/1U7Av9WQAf/VkcP/1RO F/9TVx7/Ul8k/1BoKv9PcC7/TXgy/0yBNf9LiDf/TI45/0yTOvhNmDvxTZ48606jPORPqjzeULA7 1lG4Os9TvznHVMU6wVXKOrtWzzm3VdU4s1XaN7BV3jawVd42sFXeNrBV3jb/Oy8A/0MuAP9JLgD/ TjAA/1g4Av9aPQj/WkMQ/1hKGf9WUiH/VFso/1NkLv9RbDP/T3U3/019Ov9NhT3/TYw/+k2SQPJO mELrT55C5E+lQ91QrELVUrNBzVS6P8VVwEG+VsZBuFfMQbNX0T+uV9g+q1fdPalW4DupVuA7qVbg O6lW4Dv/Pi0A/0YsAP9MLAD/Uy4A/1s0A/9dOQn/Xj8R/11GGv9aTSP/V1Yr/1VfMv9TaDf/UXE8 /1B6QP9Og0P9TopF9E+RR+xPmEjkUJ9J3FGnSdRSr0jMVLZGw1W8R7tWw0i1WMhIr1nOR6pZ1EWm WdtDo1jfQaFY4kChWOJAoVjiQKFY4kD/QSsA/0kqAP9QKgD/WS0A/18xA/9hNgn/YjsS/2FCG/9f SCT/W1At/1laNP9WYzv/VG1A/1J3Rf9QgEj5UIlL71CRTeZQmU7dUaFP01OqT8pVsU7CVrhOuVe/ T7JZxU+sWspOplrRTKJa2EqeWt1HnFrhRppa5ESaWuREmlrkRJpa5ET/QyoA/0woAP9TJwD/XSsA /2IuA/9lMgn/ZzcS/2Y9G/9lRCX/Yksu/15UN/9bXj7/WGhE/1VzSf9Sfk31UodQ6VKQU99SmlTU U6RVylWsVMFXtFO3WLtVr1rBValbx1SjXM1TnlzUUJpc2k6XXN9LlVzjSZRc5keUXOZHlFzmR5Rc 5kf/RigA/04mAP9XJgD/YCgA/2UqA/9pLgn/azMS/2w5G/9rQCX/aEcv/2RPOP9gWUD/XWRH/1lu Tf1VelLwVIVW5FORWNdUnFrLVaZbwFivWbZZt1utW75cplzEW6BeylmaXtBXll7XVJNf3VGQX+FO j17lTI5e50qOXudKjl7nSo5e50r/SCcA/1EkAP9aJAD/YiUA/2knAv9uKgj/cC8R/3I1Gv9xPCT/ cEMu/2xKOP9oVED/Y19I/15qT/pad1XsV4Na3VWRXs5WnmDBWalftVuyYKtbumGjXcFhnF/GYJdg zV2SYNNaj2HaV4xh31SLYeNQiWHmTolg6UyJYOlMiWDpTIlg6Uz/SiUA/1MjAP9cIgD/ZSIA/2wk Av9yJwj/disQ/3gxGf95NyP/eD4t/3ZGN/9yTkD/bVlJ/mdlUfVgc1jmW4Fe1ViSY8RZoWW2Xa1j qV23Z6BevmeZYcRmk2LKY49i0GCLY9ZdiWPcWYdj4VWFY+VShGPoUIRi6k6EYupOhGLqToRi6k7/ TCQA/1UhAP9fIAD/Zx8A/28hAv92Iwf/eygO/38tF/+BMyH/gjor/4FCNP+ASj7/e1RH+nNhUO5r b1nfYn9hzFyUaLhcpWqpXrJrnWC8bJViwmuPZMhpimXOZodl02OFZtlfg2beW4Fl41eBZeZUgGXp UYBk7E+AZOxPgGTsT4Bk7E//TSMA/1cgAP9hHgD/ah0A/3MeAf97IAb/gSQN/4cpFf+LLx7/jjcn /5A/Mf+RRzr3jVJE7IVfTeF7bFjUbn1jvWGTbaldrnKYYbpyj2TCcYlmyG+FZ81sgmjRaIBo1mR/ aNtgfmjgXH1o5Fh8Z+hUfGfrUnxm7VB8Zu1QfGbtUHxm7VD/TyIA/1kfAP9jHAD/bBoA/3YbAf9/ HQX/iCAL/5AlE/+WLBv/nDQj/6I9K/OoRjTlo1Q92Z1hRtCQaVe4fHRlnmyFcY1lpXiEZ8R3f2rJ dH1rzHF7bNBtemzUaXps2WV5a91heWvhXXhq5Vl4aelVeGnsUnho7lB4aO5QeGjuUHho7lD/USAA /1sdAP9kGgD/bxcA/3oXAf+FGQT/jx0J/5kjEP+jKRf/rTIe87k7JOO9SSrUuVoxybFeRL2pZFag jm1lh3t8c3Vymnpvc8x6cXLNdnJy0HJzcdNuc3DWanRw22Z0b99hdG7jXXRt51l0bOpWdWvtU3Vq 71F1au9RdWrvUXVq71H/Uh8A/10bAP9mFwD/cRUA/34UAf+LFQP/lxoH/6UfDP+zJhL4wi8X5tQ7 G9XSTx3IylguusRcQanCYVOOqGlkdZF2cWWFk3lfhMt6ZX7Odmh60XJreNRubXbYam503GZvcuBh cHHkXXBv6FlxbutWcW3uU3Ft8FFxbfBRcW3wUXFt8FH/VB4A/14ZAP9pFAD/dREA/4MQAP+SEgL/ ohUF/7QaCPXHIQzj3iwO2Oc6FcniSh+72lYrrNZaPpjYX1B/x2dgaa91bVqhkXVWnL92XI3Jc2CF 0HFkgNRtZnzZaWh53WVqduFha3TlXWxy6VltcexWbXDvU25v8VFub/FRbm/xUW5v8VH/Vh0A/2AX AP9rEQD/eA4A/4kNAP+bDgH+sBAD88gUBNzhGwbO7SgPw/U1Gbv1QCSs700vnelYO4rqXktz6Gda YNN2ZlLFlW5UsrFvV6DAb1qTy21ditJrYITZaGN/3mRle+JgZ3jmXGh26lhpdO5VaXPwU2py8lFq cvJRanLyUWpy8lH/WRsA/2IUAP9uDgD/fgoA7pAJAN+mCQDbwAoB2uEMAsjwGQm7/CUTr/8wHaX/ Oyia/0QzjP9OPnz9Wkls9GZUXet3XlPbkGRWw6VlVrK0Z1ajw2hYl85nW47WZV2H3WJgguJeYn7n W2N761dkeO5UZXfxUmZ281BmdvNQZnbzUGZ281D/WxgA/2UQAP9zCgDqhAQA2pUGAM+qBwDKxAgA xuILA7b/Fwup/yIWnv8tIJP/NyqI/0A1e/9JPm/+VUdk92JQWvFyVlTpiVtV0p5bVsKsXVW0uWBU psZhVpvRYFiR2l5biuFcXYXnWV6B61Vgfu9TYXvyUGF69E9hevRPYXr0T2F69E//XRQA/2kMAPJ5 BADbiAIAyZkEAL+tBAC5xwYAs+QLBaX/FQ2Z/yEXjv8rIYT/NSt5/z40b/9HPGb/UkNe/F9KV/hu T1H0gVNR5JVUVNKnUlTEslZTtr5ZUqrKWlSe1VlWld9XWI3mVVmI61NbhO9QXIHyTl2A9U1dgPVN XYD1TV2A9U3/YBAA/24HAOB+AADJjAEAuZ0CAK+xAgCpzAYBouoKBpX/FA+K/yAYgP8qIXf/NCpv /z4xZv9GOF//UT5a/11DVf5qR1D8ekpN9Y5MT+SeTFLUrUlSx7dOUbrCUVCuz1JSotpRU5njUFWS 6U5Wje5MV4nyS1iH9UpYh/VKWIf1SliH9Ur/ZQoA53UAAM6DAAC4kQAAq6EAAKK3AQCb0gQBkvQK B4X/FQ98/yAXdP8rH23/NCZm/z4sX/9GMlr/UDdW/1s7Uv9nPk//dEFL/4VDS/aWQ03mpUJP2LNB T8u8RU+/x0hOs9NJT6feSVCf5khRmOxHUpTwRlKR9EVSkfRFUpH0RVKR9EXzbAIA1XoAALuIAACp lgAAnacAAJXAAACN2gMBgv8LBnj/Fg1x/yEUav8rG2T/NSFf/z4mWf9GKlb/UC5T/1kxUP9jNE3/ bzZJ/304Rv+POUj5nDlL66o4Td63N03QwjtNxMw9TLnYP0yu4T9Np+g/TaHtP06d8T5OnfE+Tp3x Pk6d8T7dcwAAwIAAAKmNAACbmgAAkbAAAIjJAAB/4gIBdf8MBW3/Fwpn/yIQYv8sFV3/NhpZ/z4e Vf9GIVL/TyRQ/1cnTf9gKUr/aitH/3UsRP+ELkP/lS5F/6EuSPGtLUrkuitK2McvSszQMkrA2zNK t+M0SbHpNUqt7TVKre01Sq3tNUqt7TXGegAArIYAAJqSAACOpAAAhLoAAHrSAABy6QIAaf8OA2P/ GQZe/yMKWv8tDlb/NhFT/z0VUP9FF07/TRlM/1UbSv9cHUj/ZR9F/24gQv96IT//iiI//5kjQf+l I0T5sCJH7LwgSODHIkfV1SVGy94mRsTkKEa/6ChGv+goRr/oKEa/6CivgQAAm4wAAI2bAACCrwAA d8UAAG7bAABm+AMAX/8OAVr/GQJW/yQEU/8tB1D/NQlN/zwLS/9EDUr/Sw5I/1EQRv9YEUT/XxJC /2cTQP9xFT3/fRY6/44WOv+dFz3/qBdA/7IWQ/a8FUXrxhVD4dAXQtneGULT4xpC0+MaQtPjGkLT 4xqciAAAjJMAAIGmAAB1ugAAbM8AAGPkAABc/wUAVv8QAFL/GQBP/yMBTP8rAUr/MwJI/zoDRv9B BEX/RwVE/00GQv9TB0D/WQc+/2AIPP9oCTn/cgo1/34KMv+PCzD/oQsz/6oLNv+0Czn/vAs8+MQK PfDKCjzq0Qs86tELPOrRCzzq0QuMjQAAgJ8AAHWyAABqxQAAYtkAAFrrAABT/wYATv8QAEv/GQBH /yAAQv8lAED/LAA+/zIAPP84ADv/PgA5/0MBOP9IATb/TQEz/1MBMf9ZAi//YgIs/2wCKf96AyX/ jAMi/6QDJv+sAyn/tAMs/7sDLv/AAzD/xQMw/8UDMP/FAzD/xQOAmQAAdasAAGq9AABhzwAAWeIA AFL0AABM/wcASP8QAET/FwA//xwAO/8hADf/JQA0/yoAMv8uADD/MwAu/zcALP87ACr/PwAo/0QA Jf9JACP/UAAg/1gAHf9iABr/bwAW/4EAFP+YABT/qwAX/7MAGv+3ABz/uwAc/7sAHP+7ABz/uwB1 pQAAa7YAAGHHAABZ2QAAUekAAEv/AABG/wkAQv8QAD3/FAA4/xkANf8dADL/IQAv/yUALf8pACv/ LQAp/zAAJ/8zACX/NwAj/zoAIf8/AB//RAAc/0oAGf9RABf/WwAU/2cAEf92AA7/iAAN/5kADP+o AA7/rQAO/60ADv+tAA7/rQD/LDgA/zA4AP8zOQD/NTwA/zZBAP81RwD/OFAB/zxaAv89ZAX/Pm0H /z12Cf89fwv/PIgM/zuRDf88lw7/PZsP/z6fD/8/ohD/QKYQ/0GpEf9CrRH/Q7ER/0S2EPlFvBDz RsIP7EbJDuVH0A3fRdwO2UTjDtVD6A7UQ+gO1EPoDtRD6A7/LjcA/zI2AP81NwD/NzoA/zg/AP84 RQD/PU8B/0BYA/9BYgb/QWsJ/0F1C/9Afg3/P4cP/z6QEP8/lRH/QJoS/0GeE/9CohP/Q6UT/0Sp FP9FrRT/RrEU+0a3E/RHvRPuSMQS50nLEd9I1BHZR+AR00blEc9F6hHPReoRz0XqEc9F6hH/MDUA /zQ0AP83NQD/OjgA/zs8AP88QwD/Qk0C/0VXBf9GYAj/RmoL/0VzDv9DfBD/QoUS/0GOE/9CkxX/ QpgW/0OdFv9EoRf/RaUX/0apGP9HrRj8SLIY9Um3F+5LvhbnS8YV4EzOFNhK2hXRSeIVzEjnFclH 7BXIR+wVyEfsFchH7BX/MjMA/zYyAP86MwD/PTUA/z46AP9BQQD/R0sD/0pVBv9KXgr/SGcO/0dw Ef9FeRT/RIIW/0OLGP9DkRn/RJca/0WcG/9GoBv/R6Qc/0ipHP1JrRz2SrMc70u5G+hMwRrhTckZ 2U3TGtBM3RrJS+QaxUrpGsFJ7hrBSe4awUnuGsFJ7hr/NDEA/zkwAP89MAD/QDIA/0I2AP9HPgH/ TUgE/05RCP9NWgz/S2MR/0lsFf9IdRj/Rn8a/0WIHP9Fjx3/RpUf/0ebIP9InyD/SaQh/UmpIfZK ryHwTLUh6E28IOBOxR/YT84fz0/XIMdO4CDBTeYgvEzsH7lM8B64TPAeuEzwHrhM8B7/Ny8A/zwt AP9BLQD/RTAA/0czAP9OPAH/UUQE/1FNCf9QVg//Tl8U/0xoGP9Kchz/SXse/0eFIf9HjSL/SJQk /0iaJf9Jnyb9SqQm90uqJ+9MsCboTbgm4E/AJddQyiTNUdEmxVDbJr1Q4ya3T+kls07uJLBO8iOw TvMjsE7zI7BO8yP/OSwA/z8rAP9FKwD/SS0A/0wxAP9VOgH/VUAF/1RIC/9TURH/UVoW/09kG/9N bh//S3gj/0mCJv9Jiyj/SZIp/0qZK/9Lnyv3TKUs702sLOhOsyzfT7wr1lHGKsxSzSvDU9QsulLe LLNR5iyuUewrq1DxKahQ9SioUPYoqFD2KKhQ9ij/PCoA/0IoAP9IKAD/TSoA/1EuAP9ZNgL/WjwG /1lDDP9XSxL/VVUZ/1NfHv9RaSP/TnQn/0x+Kv9LiC3/S5Ev/0yYMPhNnzHwTqYy6E+uMt9QtzHV UsEwy1PJMcFU0DO4VNozsFTiMqpT6TGmU+8volL0LqBS9y2gUvgsoFL4LKBS+Cz/PygA/0YmAP9M JgD/UScA/1YrAP9dMgL/XjgG/14/DP9cRhP/WU8a/1daIP9UZCb/Um8r/097Lv9NhjH/TY80/E6Y NvJOoDfoT6g331GyN9RTvDbKVMU2wFXMOLZW1DmtVt45plXmN6FV7TadVfI0m1X2MplU+jCYVPsw mFT7MJhU+zD/QSYA/0gkAP9PIwD/VSUA/1woAP9hLgH/YzMG/2Q6DP9iQhP/YEob/1tTIv9YXyj/ Vmsu/1J3Mv9Qgzb/UI459lCYO+tQoTzgUaw91FO3PMlVwDu+Vsk+tFfQP6tX2j+jV+M+nVfqPJlX 8DqVV/U3k1f5NZFX/DORV/0zkVf9M5FX/TP/RCQA/0siAP9SIQD/WSIA/2AlAP9lKQH/aC8F/2o2 C/9pPRP/Z0Ub/2NOIv9fWSn/W2Yw/1dzNf9UgDr9Uow98FKYQONSpEHVU7FByVe7QL1XxUOyWM5E qFnWRaBZ30SaWedClVrtQJFa8z2OWvg6jFn7OItZ/zaLWf82i1n/NotZ/zb/RiMA/04gAP9VHwD/ XSAA/2QhAP9qJQH/bisE/3AxCv9wORL/b0Ea/21JIf9oUyn/Y2Aw/11vN/9ZfT34VotB6VSZRNpU qUbKV7VGvFnBRrBZy0mlWtRKnVvdSZZb5EiRXOpFjVzwQopc9T+IXPo8hlz+OoVb/ziFW/84hVv/ OIVb/zj/SCEA/1AeAP9YHQD/YB0A/2ceAP9uIQH/cyYD/3ctCf95NBD/eTwY/3dFIP90Tij/b1sw /2hqOP9heT7yW4lE4VecSc5Wrky9WLxMrlrITqJb0k+ZXNtPkl3iTY1e6EuJX+5Ihl/zRYRf+EGC X/w+gV7/PIBe/zmAXv85gF7/OYBe/zn/SSAA/1IdAP9aGwD/YhkA/2oaAP9yHgD/eSID/34pB/+B MQ3/gzkV/4RCHP+DSyX/flgt+3VmNu1sdD/cYoNIy1uXTr1XsFKsWMdUnlzRVJRe2lSNX+FSiGDn UIRh7E2BYvFKf2L1Rn5h+kN9Yf5AfGH/PXtg/zt7YP86e2D/Ontg/zr/Sx4A/1QcAP9cGAD/ZBYA /20XAP92GQD/fx4C/4UlBf+LLQr/jzYR/5M/GP+XSSD5k1Yo6YZiNNR3bUC/a3pLrmOMUqBdo1iW XMhajWDcWYZi4leCY+ZVf2TqUnxl7097ZfNLemT3R3lk/ER4Y/9AeGP/Pndi/zt3Yv87d2L/O3di /zv/TR0A/1YaAP9eFgD/ZxMA/3ATAP97FQD/hRoB/44iA/+WKgf/nzMM/6c9EvmvSRnrqVQl1Zdd NL6EZ0GpdnNMmGyDVYpmmVuAZLtde2bkXHln51p3aOpXdmntU3Vo8VB1aPVMdGf5SHRn/UV0Zv9B dGX/PnNl/zxzZf88c2X/PHNl/zz/TxwA/1gYAP9gEwD/aRAA/3QQAP+AEQD/jBYA/5gdAv+kJgT/ sTAH+r87C+vIRxPbvlAjw6laMqyUY0CXhG1Mhnh8VnhxklxvbrJfa2/nXm1v6ltubu1Ybm3wVG9t 81BvbPdNb2v6SXBq/kVwaf9CcGj/P3Bn/z1wZ/88cGf/PHBn/zz/UBsA/1kWAP9iEQD/bA4A/3gM AP+GDQD/lBEA/6QYAf+1IAL3xisD6dw5BNzfQhHK0U0gsrxXMJ2nYD6JlWpKd4d3VWp/jFxhe6xf X3vnXmN46ltlde1YZ3PwVGlx81FqcPdNa276SWts/UVsa/9CbGr/P2xp/z1saf88bGn/PGxp/zz/ UhkA/1sTAP9kDgD/bwoA/n0IAPONCQDznwwA/7MRAPLKGADf4iQA1O03AsvxQQ655UsdpdFULZC9 Xjt8q2dIbJx0UmCRiVlXjKldVYzlXFqD6lpefu5XYXrwVGN39FBldPdMZnL6SWdw/UVobv9CaG3/ P2ls/z1pbP89aWz/PWls/z3/VBcA/10RAP9nCwD8dAYA54MDAN2SBgDYpggA2MEKANjjDgDJ8CMB v/k0BLf/Qgup9Uoal+ZTKYTUXDdyxGZDY7VzTViqiFVQpalYT6DaV1SS5FZXietVWoLwUl199U9f evhMYXb7SGJ0/kVjcv9CZHD/P2Vv/z1lb/88ZW//PGVv/zz/VhUA/18OAP9rBwDoeAEA24YCAM6W BADIqgYAxcQHAMPzDwC1/yECq/8xBqP/Pg2b/0kWivlSJHntWzFp4GY9XNJ1R1HIi05KwqxRTLbM UU+k21FSluZRVY3tT1eG9E1agflKXHz8R155/0Rfdv9BYHT/PmFz/zxhcv88YXL/PGFy/zz/WBIA /2IKAO5vAgDdfAAAy4oBAL+ZAgC4rQMAtcgGALD5DwCk/yADm/8uCJL/ORCI/0QYfP9OIXD/Wytj +mc1V/B2Pk7ojURI4K1ITcm/R064zklOp91LUJroS1KQ8ElVifdHV4T9RVl//0JafP8/W3n/PVx3 /ztcd/87XHf/O1x3/zv/Ww4A/2YFAOJ0AADOgQAAvI0AALGdAACqsQEAps0GAJ/+DwGU/x4Ei/8r CoL/NhF5/0AZb/9JIWT/VSlc/2QwVP90Nkz/jDpM76I8Ttu1PE7KxD9NutJDTarhRE6e60RQlPRD Uo37QVOH/z9Vg/89VoD/O1d9/zpXff85V33/OVd9/zn/XgkA6msAANN4AAC+hQAArpIAAKShAACd uAEAmNQFAI//DwGF/x0Fff8oCnX/MxFt/z0YZP9GH13/UiVX/18qUP9uL0r/gjNH/5g1Su6qNU7c uzJMzMk4S73XO0uu5D1Mou89TZn3PE+S/jtQjP86UYj/OFKF/zdShf83UoX/N1KF/zf5YwMA23EA AMN+AACviQAAoZYAAJioAACRwQAAidwEAID/DgF4/xsFcP8nCmn/MRBj/zsVXP9FG1f/UB9T/1wk Tv9pJ0j/eSpD/48sRf+gLUjvry1L378rStDNMEnA3DNJsug1SafyNUqf+jVLmP80TJP/M0yP/zJM j/8yTI//MkyP/zLkaQAAyXcAALGCAAChjgAAlZwAAIyyAACEygAAfOQCAHP/DgFs/xoEZv8mCGD/ MQxb/zoRVv9DFVL/ThlP/1gcS/9kH0f/cSFC/4MjQP+XJEL/piVF87QkSOPCI0jU0ydHxeEqRrjs LEau9S1HpvwtR6D/LUec/yxHm/8sR5v/LEeb/yzQcAAAtn0AAKKHAACTkgAAiqYAAIC8AAB30wAA b+oBAGf/DgBi/xsCXf8mBVj/MAhU/zkLUP9CDk7/TBFL/1UUSP9fFkT/ahhA/3gZPf+KGzz/nRs/ /6ocQ/i3G0bpxRlE2tYdRMvlIEPA7yJDt/cjQ7D9I0Or/yRDqv8kQ6r/JEOq/yS8eAAApIIAAJSN AACInAAAfrEAAHTGAABr3AAAZPkDAF3/DwBZ/xsBVf8lAlH/LwRO/zgGS/9ACEn/SQlH/1ELRP9a DUH/Yw4+/24PO/99ETf/kBE3/6ISOv+tEj7/uRFC8MYQQOHXEz/U6BU/yvEXPsL4GD68/Rk+vP4Z Prz+GT68/hmnfgAAlIgAAIeVAAB8qAAAcrsAAGnQAABh5QAAWv8FAFT/EABQ/xoATf8kAEr/LQFH /zUBRf8+AkT/RQNC/00EQP9UBT3/XAU6/2QGNv9wBzL/fggu/5MJLf+mCTL/sAk1/7wJOffHCDrr 2Ag53+kKONfwDDjQ9g04z/cNOM/3DTjP9w2VhQAAh48AAHyhAABxswAAZ8YAAF/aAABX7AAAUP8G AEz/EABJ/xkARP8gAED/JgA8/ywAOv80ADn/OwA3/0EANf9IADL/TgEv/1YBLf9gASr/bAIm/3sC Iv+RAiH/qQIm/7IDKv+8Ay3/xwIw9tYCMO7lAi/m7wMv5fADL+XwAy/l8AOHigAAfJsAAHGsAABn vgAAXtEAAFbjAABP9wAASf8HAEX/EABB/xcAPP8cADj/IgA0/ycAMv8sAC//MQAt/zYAKv87ACj/ QQAl/0cAIv9OAB//VwAc/2MAGP9yABT/iQAS/6YAFv+zABv/uwAd/8cAH//TACD94gAg/OQAIPzk ACD85AB8lgAAcaYAAGe3AABeyQAAVtsAAE7rAABI/wAAQ/8JAD7/EAA6/xQANf8ZADL/HgAu/yIA LP8nACn/KwAo/y8AJf8zACP/OAAg/zwAHv9CABv/SQAY/1EAFf9cABH/awAO/34ADP+XAAz/rAAP /7UAEf+9ABL/xwAS/8gAEv/IABL/yAByoQAAaLIAAF7CAABW0gAAT+MAAEfxAABB/wEAPf8KADj/ DgA0/xIAMP8WACz/GgAp/x4AJ/8iACX/JgAj/ykAIf8tAB//MAAc/zQAGv84ABj/PgAV/0QAEv9M ABD/VgAN/2MACv90AAb/iQAD/58ABf+sAAj/sgAJ/7MACf+zAAn/swD/KTYA/yw2AP8uNwD/LzoA /y8/AP8tRQD/K0wA/ylVAP8pXwD/KmoB/yt0Af8rfgL/KogC/yqSA/8pmwP/KaME/yumBP8tqQT/ L60E/zCwBP8ytAX/M7kF/zS+BP82xAT7N8oE9DjTA+w44QPlNuoD3zXwA9s19APZNPcD2TT3A9k0 9wP/KzUA/y40AP8wNQD/MjgA/zI9AP8xQwD/L0oA/yxTAP8uXQH/L2gB/zByAv8vfQP/L4cE/y6R BP8tmwX/LqEF/zClBv8yqQb/M6wG/zSwBv82tAb/N7kG/zi/Bv86xQb2O8sF7jzXBeY75AXeOewF 2DnyBdQ49wXSOPkF0jj5BdI4+QX/LTMA/zAyAP8zMwD/NDUA/zU6AP80QAD/M0gA/zJRAP80WwH/ NWYC/zVwBP80ewX/M4UG/zKQBv8xmgf/M6AI/zSkCP82qAn/N6wJ/zmwCf86tAn/PLkJ/z3ACfg+ xwjvP84H50DdB90+6AjVPe8I0Dz1CMw7+QjKO/wIyjv8CMo7/Aj/LzEA/zMvAP82MAD/NzMA/zg3 AP84PQD/N0UA/zlOAf87WQL/O2ME/zpuBf85eAf/OIMI/zeOCf82mAr/OJ4L/zmiC/87pwz/PKsM /z2wDP8/tQz/QLoM+UHBDPBDyQvnRNIK3ULiC9RB6wzNQPMMyED5DMQ//QzCP/8Mwj//DMI//wz/ Mi4A/zYtAP85LQD/Oy8A/zw0AP89OgD/PEEA/0BMAf9BVgP/QWAF/0BrCP8/dQr/PYAL/zyMDf87 lQ7/PJwP/z6hD/8/phD/QKsQ/0KwEP9DtRD5RLwQ8UbEEOdHzQ/dR9wP0kXnEMpE8BHDQ/cRvkP9 ELtC/xC5Qv8QuUL/ELlC/xD/NCsA/zkqAP88KgD/PywA/0EwAP9BNQD/Qj0A/0ZIAv9IUgT/R10H /0ZnCv9Ecg3/Qn0P/0CJEf9AkxL/QZoT/0KgFP9DpRT/RKsV/0awFflHtxXwSL8U50rIFN1L1BPR SeIVx0jsFr9H9Ba5RvsWtUb/FbFF/xWwRf8UsEX/FLBF/xT/NykA/zwnAP9AJwD/QykA/0YtAP9H MgD/SToB/01EAv9OTgb/TFgJ/0pjDf9IbRD/RXkS/0OFFf9CkBb/Q5gX/0SfGP9GpRn/R6wZ+kiy GvFKuhnnTMMZ3U3PF9BM3RrFS+cbvErwHLVK+BuvSf4bq0j/GqhI/xmnSP8Yp0j/GKdI/xj/OicA /z8lAP9EJQD/SCYA/0spAP9NLgD/UTcB/1NAA/9RSAb/UFML/05dD/9LaRP/SXQW/0aBGP9FjRr/ Rpcc/0efHf9Iph77Sa0e8ku1HudMvx7dTsod0E/WHsRO4iC6TewhsU30IatM/CCmTP8fokv/Hp9L /x2eS/8cnkv/HJ5L/xz/PCUA/0IiAP9HIgD/TCMA/1AmAP9SKgD/WDMB/1g7A/9XQwf/VEwM/1JY Ef9QZBX/TXAZ/0l9HP9Iix7/SJUg/0meIv5KpyLzS7Aj6E26I91PxiLQUdIjw1DdJbdQ6CauT/En p0/5JqFP/yWcTv8jmU7/IZdO/yCWTv8flk7/H5ZO/x//PyIA/0UgAP9LHwD/UCAA/1QiAP9YJwD/ XS4A/142A/9dPgf/W0cM/1dREv9UXhf/UWsb/055H/9LiCL/S5Qk/0ufJvZMqSfqTrQn3VDAJ9BS zSbCU9gqtVLkLKtR7iyjUfYsnVH9KphR/yiUUf8mkVH/JI9R/yOOUP8ijlD/Io5Q/yL/QSAA/0ge AP9OHQD/VB0A/1kfAP9dIwD/YikA/2QxAv9kOQb/Y0IM/19MEv9aVxf/V2Ud/1RzIf9QgyX/TpMo /E6gKu5PrCzfULos0FTIKsFU1C60VOAwqFPrMaBU8zGZVPswk1T/Lo9U/yyMVP8pilT/J4hT/yWH U/8kh1P/JIdT/yT/Qx8A/0ocAP9RGgD/VxoA/10bAP9iHgD/ZyQA/2osAv9sNQX/az4K/2lHEf9l Uhf/YGAd/1xuI/9XfSj5VI0s8VGgLuRQsTHSUcMywVTQMrJV3TSlVeg2nFXxNpVW+TWPV/8zilf/ MYdX/y6FV/8rg1f/KYJW/yeBVv8mgVb/JoFW/yb/RR0A/00aAP9UGAD/WhYA/2AXAP9mGgD/bB8A /3EoAf9zMQT/dDoI/3NEDv9xThX/bFsc9mZpI+xfdirgWYYw1FWYNMlSrDi/Ucg5r1TdOqJW5zqY V/A7kFj3OopZ/jiGWv82glr/M4Ba/zB+Wv8tfVn/K3xZ/yl7Wf8oe1n/KHtZ/yj/RxwA/08YAP9W FQD/XBMA/2MTAP9qFQD/cRsA/3cjAP97LQL/fjYG/4BAC/t/ShLxeVgZ43BjI9NncCzGYH0zuVuN Oa5XoT2lVbo/nVbpQJJZ8D+KW/c/hVz9PYFd/zt+Xf84e13/NXpd/zJ4Xf8ud1z/LHdc/yp2W/8p dlv/KXZb/yn/SRoA/1EWAP9XEgD/XhAA/2YPAP9uEAD/dhYA/34eAP+EKAH/ijID+o88B++PSA3g hVMZznpeJL5waS2waHY2o2KFPJhemEGQW7BEiFvdRYJd+UN+X/1CemD/P3hh/zx2Yf85dWH/NnRg /zNzX/8vc1//LXJe/ytyXv8qcl7/KnJe/yr/SxkA/1IUAP9ZEAD/YQ0A/2oLAP9zDAD/fBEA/4UY AP+PIgD7mS0B76M5A+GfRAzOkk8YvIVaI6x6ZC6ecXA2kmp+PodlkEN+YqhHd2LMSHRk/UZyZf9E cWX/QXBl/z5wZf86b2T/N29j/zNvYv8wbmH/LW5h/ytuYP8qbmD/Km5g/yr/TBcA/1QSAP9bDQD/ ZAkA/24IAP14CAD9gwwA/44RAP6bGgDwqiUA4rYyAtGuQAq/oEwXrpJWIp6GYC2QfGs2g3R5Pnhu ikRwa6JIamrESWdr+0hoa/5FaWr/Qmpq/z5qaf87amf/N2pm/zRqZf8xamT/Lmpj/yxqY/8ramP/ K2pj/yv/ThYA/1UQAP9dCgD/ZwYA73ICAOZ9AwDhigcA45sKAPWtEADiwBoA08UtAcK8PQmxr0kU oaFTIJKTXSuDiGg1d4B1PW15hkRkdZ1IX3S+SV11+khgc/5FYnH/QmNv/z9kbf87ZWv/OGZq/zRm aP8xZ2f/Lmdm/yxnZf8rZ2X/K2dl/yv/UBQA/1cNAP9gBwDwagEA5HUAANqBAgDSjgUA0KAHANO6 CQDS0hEAw9IpALTLOgelv0YSlrFRHoekWyl5mGYzbY5yO2OHgkJbg5pGVoG6SFSB+EZYfP5EW3j/ QV11/z5fcv87YG//N2Ft/zRia/8xY2r/LmNp/yxjaP8rY2j/K2No/yv/URIA/1kLAPxjAwDmbgAA 2nkAAMyEAADEkQMAwKQFAMC+BgDB3w0As98lAKfbNwWZ0EQPi8RPGny3WSVwrGMvZKFwN1uZgD5U lJhCTpK5RE2R90NQif9CVIH/QFd8/z1ZeP86W3T/N11y/zReb/8xX23/Ll9s/yxfa/8rX2v/K19r /yv/Uw8A/1sHAOxmAADccQAAzH0AAL6IAAC2lQEAsagCAK/CBQCs6A4AousjAJnpNQON4kILgNhM FnPNVyFnwmIqXbhvMlSwgDlNq5g9SKi6P0mk8D1Ml/o9To3/PVGG/ztUgP84Vnv/Nlh3/zNZdP8w WnH/Lltw/yxbb/8rW2//K1tv/yv/VQwA+18CAOJqAADQdQAAvoAAALKMAACpmgAApK0AAKDHBgCa 8g8AkfcjAIr3NQGB80AHduxLEWvkVhtg22IkV9JwK0/LgTFIxZo1RMK9N0a35TZJqPE3Spv7OEyR /zdOiv82UIP/NFJ+/zFUev8vVXf/LVZ1/ytXdP8qV3T/Kld0/yr/WAcA62MAANVuAADDegAAsYQA AKWQAACdngAAl7QAAJLNBgCK+xAAg/8iAHz/MgJ1/z4GbP9JDGT6VhRb9GIcU+5wI0zogihF45ws Qd+/LUXN2SxHuucvR6v0MUif/jJJlv8xS47/ME2H/y5Pgv8tUH7/K1F7/ylSev8oUnr/KFJ6/yj7 XAIA32gAAMhzAAC0fgAApYkAAJqUAACSpgAAi7wAAITVBQB8/xAAdf8hAG//LwNp/zsGYv9FC1v/ URFV/14WT/9tG0n/gB5E/pkhQva0IkbiyCFGzt0kRb3rKEWv9ytFpP8rRpr/K0iS/ypJjP8pSof/ KEuE/ydMgv8mTIL/JkyC/yboYQAAz20AALl5AACmgwAAmY0AAI+bAACHrwAAfsUAAHfdBABv/xAA af8gAGT/LQJf/zgFWf9CCVT/TQ1P/1oRSv9nFET/eBc//5AaPf+pG0H3uRpF5MsZQ9HiHkPB7yFC tPojQqn/JEOg/yVEmP8kRZP/I0WP/yNGjf8iRo3/IkaN/yLYZwAAv3MAAKl+AACZhwAAjZIAAISl AAB7uQAAc88AAGvmAgBk/xAAX/8eAFr/KgFW/zUDUf8/Bk3/SglJ/1ULRP9hDj//cRA6/4USNv+g Ezr/rhQ++b0TQufNEkDV5RY/xvMZP7n9Gz+v/x0/p/8dQKD/HUCc/x1Amf8dQJn/HUCZ/x3FbgAA rnkAAJuDAACNjAAAg50AAHmwAABwxAAAZ9oAAGDzAQBZ/w4AVf8bAFH/JwBN/zEBSf87A0b/RQRE /1AGQP9bBzv/Zwk3/3gKMf+PDDD/pQw1/7INOf7ADD3rzws72ukOO8z1ETvB/xM7t/8VO7D/FTur /xY7qP8WO6j/Fjuo/xazdQAAnX8AAI6IAACClQAAeKgAAG67AABlzwAAXeMAAFb/AwBQ/w4ATP8Z AEn/JABG/y4AQ/84AUH/QQE+/0oCOv9TAjb/XQMy/2oELf97BSj/lAUp/6kGLv+1BjP/wgY28dMF NeHsBzXU+Ak1yv8LNcL/DDW8/ww1uf8NNbn/DTW5/w2gfAAAj4QAAIKQAAB3oQAAbbMAAGTGAABc 2QAAVOsAAE3/AwBI/w4ARf8YAED/HwA7/yYAN/8uADT/NQAy/z4AMP9GAC3/TwAp/1oAJv9oASL/ egEe/5QBHv+sAiT/twIp/8MCK/jaASzq7gIs3voDLdX/Ay3P/wQtzP8ELcz/BC3M/wSQggAAg4sA AHebAABtrQAAY74AAFvQAABT4wAAS/QAAEX/BQBB/w8APP8VADf/GwA0/yIAMP8oAC3/LgAr/zUA J/87ACT/QgAh/0oAHv9UABr/YQAW/3MAEv+OABH/qwAV/7cAGv/GAB3/4AAe9fEAH+j8ACDi/wAg 3/8AIN//ACDf/wCDhwAAeJcAAG2nAABjuAAAWskAAFLbAABL6wAARP8AAD//BwA6/w4ANf8TADH/ GAAt/x0AKv8jACf/KAAl/y0AIv8yAB//OAAc/z4AGf9FABb/TwAS/1sAD/9sAAv/hAAJ/6MADf+z ABD/wAAR/9gAEv/sABL59wAS9PwAEvT8ABL0/AB4kwAAbqIAAGSzAABbwwAAU9MAAEvkAABE8gAA Pv8AADn/CAA0/w0AL/8RACv/FQAo/xoAJf8eACL/IwAg/ycAHf8rABv/LwAY/zQAFf86ABP/QQAQ /0oADf9WAAr/ZQAF/3oAAf+XAAP/rQAI/7gAC//EAAz/0AAN/90ADf/dAA3/3QBvngAAZa4AAFy9 AABTzQAATN0AAETrAAA+/AAAOf8CADP/BwAu/wwAKv8QACf/EwAk/xcAIf8bAB//HgAd/yIAGv8l ABj/KQAV/y0AE/8xABH/NwAO/z4ADP9GAAn/UQAE/18AAP9xAAD/iQAA/6QAAP+vAAD/tQAC/7kA Av+5AAL/uQD/JjQA/yg0AP8qNQD/KTgA/yg8AP8lQgD/I0oA/yBSAP8cXAD/GWYA/xdwAP8UegD/ FIQA/xSOAP8VlwD/FZ8A/xSoAP8VrwD/F7MA/xm3AP8buwD/Hb4A/x/EAP8hywD/IdYA/SHlAPUh 7gDtIPcA5iD9AOIg/wDeIP8A3iD/AN4g/wD/KDMA/yoyAP8sMwD/LDYA/ys6AP8pQAD/JkgA/yNQ AP8gWgD/HWQA/xpuAP8aeQD/GYQA/xmOAP8amAD/GaEA/xmqAP8brwD/HbMA/x+3Af8huwH/JL8B /yXEAP8nzAD/KNoA9ijnAO0n8QDlJvgA3yb+ANom/wDWJv8A1ib/ANYm/wD/KjAA/y0wAP8uMAD/ LzMA/y43AP8sPgD/KkUA/ydNAP8kVwD/IWEA/yBsAP8geAD/IIMA/x+OAf8fmQH/H6IB/x+rAf8h rgH/JLIB/ya2Af8ouwH/KsAB/yzGAf8tzgH4Lt4B7S7qAeQt9AHcLfsB1S3/AdAs/wHNLP8BzSz/ Ac0s/wH/LC4A/y8tAP8xLQD/MjAA/zI0AP8xOgD/L0EA/yxKAP8pVAD/J14A/ydqAP8ndgH/JoIB /yWOAv8kmQL/JKQC/yapAv8orQP/KrID/yy2A/8uvAP/MMID/zLIA/g00gLuNOMC4zPuAtoz9wPR M/8DyzL/A8cy/wPEMf8DxDH/A8Qx/wP/LysA/zIqAP80KgD/NSwA/zYxAP81NgD/ND4A/zFGAP8u UAD/L1sA/y9nAf8ucwL/LH8C/yuMA/8qmQT/KqME/yyoBP8vrQX/MbIF/zO3Bf81vQX/NsQF+DjL BO462wTiOekE2DnzBc44/AbHOP8GwTf/Br02/wa6Nv8Fujb/Bbo2/wX/MSgA/zUnAP83JwD/OSkA /zosAP86MgD/OTkA/zhCAP82TAD/NlcB/zZjAv80bwP/M3wE/zGJBf8vlwb/MKEG/zKnB/80rAf/ NrII/zi4CP86vwj5PMcH7j7RB+I/4wfWPu8Iyz34CcM9/wq7PP8Ktjv/CbI7/wmvOv8Jrzr/Ca86 /wn/NCYA/zgkAP87JAD/PSUA/z8oAP8/LQD/PjQA/z09AP8+RwH/PlMC/z1eA/87awX/OXgG/zaG CP80lQn/NZ8K/zemCv85rAv/O7ML/z26C/o/wgvuQcwK4kPdCtRC6gzJQvUNv0H+DrdA/w6wQP8O qz//Dag//wylPv8MpT7/DKU+/wz/NyMA/zshAP8/IQD/QiIA/0QkAP9EKQD/RDAA/0M3AP9FQgH/ RU4D/0RaBf9BZgf/PnMJ/zuCCv85kgz/Op4N/zymDv8+rQ7/QLQP+0K9D/BExw7iRtQO00bmD8dF 8hG8RfwTs0T/E6xE/xOmQ/8SoUP/EZ5D/xCcQv8PnEL/D5xC/w//OSEA/z4eAP9CHQD/Rh4A/0gg AP9KJQD/SysA/0oyAP9MPQH/TEgD/0tUBv9JYAj/Rm0L/0N7Df9Big//P5oQ/0CmEf9CrhL9Q7cS 8UbCEuNIzxLTSeITxUjuFbpI+BewR/8Yp0f/GKFH/xebR/8Wl0f/FJVG/xOTRv8Sk0b/EpNG/xL/ PB4A/0EcAP9GGwD/ShsA/00cAP9PIAD/USYA/1ItAP9UOQH/VEMD/1FPBv9PWwr/TGcN/0p1EP9H gxL/RZMU/0SjFf9FsRbzR7wW5EnKFtNN3RXES+oZt0r1G6xK/xykSv8cnEr/HJZL/xqSSv8Zjkr/ F4xK/xaLSf8Ui0n/FItJ/xT/PhwA/0QZAP9JFwD/ThcA/1IYAP9VHAD/VyEA/1kpAP9cNQH/Wz8D /1lJBv9WVQr/U2IO/1BvEv9OfRX6TIwX9UqdGe9JrhroSMQb1UrZG8NO5hy1TfIfqU39IaBN/yGY Tf8gkk7/H41O/x2JTv8bhk7/GYRN/xiDTf8Xg03/F4NN/xf/QRsA/0cXAP9MFQD/URMA/1UUAP9Z FgD/XBwA/2AlAP9jMAD/YzoC/2JEBf9eUAn7W10O9FhqE+tUdxfjUYUb206WHtJMpyDKS7wiwUvi I7NO8COmTvslnE//JpNQ/yWNUf8kiFH/IoRS/yCAUf8dflH/G31R/xl8UP8YfFD/GHxQ/xj/QxkA /0kVAP9PEgD/UxAA/1gPAP9dEQD/YRcA/2YgAP9pKgD/azQB/Ws/BPRpSwjqZVgO319kFdNacBrJ Vn4fwFOMI7hQnSawT7EoqU7OKaFQ+CmXUf8qjlP/KohU/yiDVf8mf1X/JHtV/yF5Vf8feFT/HXZU /xt2U/8ZdlP/GXZT/xn/RBcA/0sTAP9QDwD/VgwA/1sLAP9hDAD/ZhIA/2sZAP9wIwD7dC4A8HY6 AuRzRwfWbVIOyWdeFr5hahy0XXYiqlmEJ6JWlSqbVKgtlFPCLo5U8C+IVf8ugVf/LX1Y/yt5Wf8o d1n/JnVZ/yNzWP8gclf/HnFX/xxxVv8acVb/GnFW/xr/RhUA/00RAP9SDAD/WAgA/18HAP9lCAD/ aw0A/3ETAP13GwDufScA4oE0AdN9QgbFdk4OuG9aFqxpZR2iZHAkmV99KZFcjS2JWqAwg1i5Mn1Z 6DJ5W/8xdlz/L3Nd/y1xXf8qcF3/J29c/yRuW/8hbVr/H21Z/x1sWf8bbFn/G2xZ/xv/SBQA/04O AP9UCQD/WwUA9mICAOtqAwDncQcA8HkMAPGAEgDgiB0A0oswAcSHPgW2gEsNqnhWFp9yYB2UbGsk i2d4KoJjhy97YJozdV+yNXBf4DVtYf8zbGH/MWth/y5qYf8ramD/KGlf/yVpXv8iaV3/H2lc/x1o W/8caFv/HGhb/xz/SRIA/08MAP9WBgD1XgAA6WYAAN9uAQDZdgQA138HANuMCgDRkxcAw5UsALeR OwSqikgMnoJSFZN7XR2IdGckf29zKnZrgjBvaJU0aWatNmVm1jZjZ/80Y2j/MmRn/y9kZv8sZGT/ KGVj/yVlYf8iZWD/IGVf/x5lXv8cZV7/HGVe/xz/SxEA/1EKAP9YAwDrYQAA4WkAANNxAADLegIA x4QFAMmSBwDCnRMAtp8oAKudOAOflUUKk41PE4iFWht9fmQjdHlwKmx0fi9lcZEzYG+pNlxuzjZa b/80W27/Ml1s/y9eav8sX2j/KWBm/yVgZf8jYWP/IGFi/x5hYf8cYWH/HGFh/xz/TA4A/1MHAPFb AADjZAAA1W0AAMd1AAC+fgEAuYgCALiYBAC0qA4AqaojAJ+pNQKUokIJiZpNEX6SVxl0imIha4Rt KGR/ey1de44yWHmmNFR4yTVTef8zVHf/MVdz/y5ZcP8sWm3/KVtr/yVcaP8jXWb/IF1l/x5eZP8d XmT/HV5k/x3/TgwA/1UEAOleAADaZwAAyXAAALt5AACyggAArY0AAKqeAACmswoAnLUeAJS2MQGK sT8Gf6lKDnWhVRdsmV8eZJJrJVyNeSpWiIsvUIakMk2FxzJMhf4xTYH/L1B7/y1Tdv8rVXP/KFZv /yVYbP8iWWr/IFlo/x5aZ/8dWmf/HVpn/x3/TwkA81gAAOFiAADPawAAvXQAALB9AACnhgAAoZIA AJykAACZvgUAj8MYAIfELAB/wTwEdrpIC22zUhNkrF0aXaVpIFafdyZPmooqSpejLUeWxi5HlP0s R4//LEqG/ytNf/8pT3n/J1F1/yRTcf8iVG//H1Vt/x5Va/8cVWv/HFVr/xz/UgUA6lsAANZlAADE bwAAsngAAKWBAACdiwAAlpgAAJCrAACJwgUAgdIRAHvTJgB00jcCbc1FB2XHUA5dwVwVVrtoG1C1 dyBKsIokRa2jJ0KrxydCqP4mQ53/J0WT/ydHiv8mSoL/JUx8/yNOeP8gT3T/HlBy/x1RcP8cUXD/ HFFw/xz4VQAA4F8AAMpqAAC3dAAAp3wAAJuFAACSkAAAi58AAIOyAAB8yAUAdOQNAG7jIABp5DMB ZOJCBF3eTglW2FoPUNNnFErNdxlFyYscQcWkHz3DyR8/vPkeP67/IUCi/yJCl/8iRI//IUaG/yBI gP8eSnv/HUt4/xtMdv8aTHb/Gkx2/xrqWQAA02QAAL5vAACqeAAAm4EAAJCKAACIlwAAgKcAAHi6 AABwzwUAaPMOAGP0IABf9DEAW/U+AVbzSwRR8FgIS+xmDEbodhBB5IoTPeGkFTreyRY90O0VPb/8 GD2y/xs+pv8cP5z/HECT/xxCi/8bRIX/GkWB/xlGfv8YRn7/GEZ+/xjdXwAAxGoAALB0AACefQAA kYUAAIeQAAB+oAAAdbEAAG3EAABl2QQAXv8PAFn/HwBW/y4AUv87AU7/RwJL/1QER/9hB0L/cQk+ /YULOvqeDDj4vgw75twLOtPwDzrE/hI6tv8VO6v/Fjuh/xc8mf8XPZL/Fj+N/xZAif8VQIn/FUCJ /xXNZQAAtnAAAKJ6AACSggAAhooAAH2ZAAB0qgAAa7wAAGPPAABb4wIAVP8OAFD/HQBN/yoASv82 AEf/QgFE/04CQP9aAzz/aAQ3/3oGM/+TBzD/rwcz/cYHNurhBjbX9Ak2yP8MNrz/Djax/xA3p/8Q OKD/ETib/xE5l/8QOZf/EDmX/xC8awAAp3YAAJR/AACHhgAAfZQAAHOlAABptgAAYckAAFndAABR 8AAAS/8NAEj/GQBE/yUAP/8uADz/OgA6/0UANv9QATP/XgEv/24CK/+EAif/nwMo/7kDLf/JAzDu 5gMw3PgEMM7/BjHC/wgxuP8JMbD/CjKq/woypv8LMqb/CzKm/wurcwAAl3wAAIiDAAB9jwAAc6AA AGmxAABgwwAAV9UAAE/oAABI/wAAQv8LAD7/FQA5/x4ANf8nADH/MAAu/zoAKv9EACf/TwAk/14A IP9xABz/jAAa/6wBIP+7AST/zQEm8+oAJ+H8ASjU/wIpyf8DKsH/Ayq7/wQrtv8EK7b/BCu2/wSa egAAiYEAAH6LAABzmwAAaasAAF+9AABXzgAAT+AAAEfwAABA/wEAO/8MADb/EgAx/xkALf8hACn/ KAAm/zAAIv84AB7/QgAa/00AFv9bABL/cAAO/44ADv+tABT/uwAX/9MAGfnxABrn/wAd3P8AHtL/ AB/M/wAgx/8AIMf/ACDH/wCLfwAAfogAAHOXAABppwAAX7cAAFbIAABO2QAAR+kAAD/7AAA5/wMA NP8LAC//EAAr/xYAJ/8cACP/IwAg/ykAHP8vABn/NwAW/z8AEv9KAA//VwAM/2oAB/+FAAT/qQAM /7cADv/NABD/7gAQ7/8AEeT/ABLe/wAS2f8AEtn/ABLZ/wB/hQAAdJMAAGqiAABgsgAAV8IAAE/T AABH4wAAP/EAADr/AAAz/wQALv8KACn/DwAl/xQAIv8YAB//HgAc/yMAGf8oABX/LgAS/zQAEP88 AA3/RgAK/1IABf9kAAD/fAAA/58AAf+zAAj/xAAK/+MAC/r2AAvv/wAM5/8ADOf/AAzn/wB1kAAA a58AAGGuAABYvQAAT80AAEjdAABA6wAAOfgAADP/AAAu/wQAKf8JACT/DQAh/xEAHv8WABv/GgAZ /x4AFf8iABP/JwAQ/ywADv8yAAz/OQAI/0IAA/9OAAD/XgAA/3UAAP+UAAD/rgAA/7sAAv/MAAX/ 4wAG+u8ABvrvAAb67wBsmwAAYqoAAFm5AABRyAAASdcAAELlAAA68gAANf8AAC7/AAAp/wQAJP8I ACH/DAAe/xAAG/8TABj/FwAW/xoAE/8eABH/IQAP/yUADf8qAAv/LwAH/zYAA/8/AAD/SgAA/1kA AP9tAAD/iAAA/6gAAP+zAAD/ugAA/8QAAP/EAAD/xAD/IzIA/yQyAP8kMwD/IzYA/yE6AP8dQAD/ GUgA/xZQAP8SWQD/EGMA/w1tAP8KdgD/CX8A/weIAP8FkQD/BJkA/wKhAP8AqgD/AK8A/wK0AP8D uQD/Bb4A/wfEAP8JzgD/Cd4A/wnqAPsJ9ADyCf0A6wr/AOYK/wDiC/8A4Av/AOAL/wD/JTAA/yYw AP8nMQD/JjMA/yQ4AP8gPgD/HUUA/xlNAP8VVwD/EmEA/w9rAP8NdQD/C38A/wqIAP8IkQD/B5oA /wWjAP8DrAD/BbEA/we2AP8KuwD/DMAA/w3IAP8O1QD/DuUA/w7xAPUO+gDtD/8A5RD/AOAQ/wDb EP8A2hH/ANoR/wD/Jy4A/ygtAP8pLgD/KTEA/yc1AP8kOwD/IUIA/x1KAP8ZVAD/FV4A/xJoAP8Q cwD/Dn4A/w2IAP8MkgD/CpsA/wqlAP8KrgD/DLMA/w64AP8QvgD/EsUA/xPPAP8U3wD/FOwA+BT2 AO0V/wDkF/8A3Bf/ANUY/wDRGP8A0Bj/ANAY/wD/KSsA/ysqAP8sKwD/LC0A/ysxAP8pNwD/JT4A /yFGAP8dUAD/GloA/xdlAP8UcQD/EX0A/xCIAP8QkwD/EJ4A/xCpAP8RsQD/E7YA/xW7AP8YwQD/ GsgA/xzTAP8d4wD3HfAA7B36AOEg/wDYIP8AzyH/AMog/wDGIP8AxSD/AMUg/wD/LCkA/y4nAP8v JwD/LykA/y8tAP8tMwD/KjoA/ydCAP8jTAD/H1YA/xxiAP8ZbgD/F3sA/xeIAP8WlQD/FqEA/xWt AP8YswD/G7gA/x69AP8hwgD/I8oA/yXZAPYm6ADqJvQA3yj9ANMo/wHKKf8Bwyj/Ab4o/wG6J/8B uSf/Abkn/wH/LiUA/zEkAP8yIwD/MyUA/zMoAP8xLgD/MDUA/y09AP8pRwD/JVIA/yJeAP8hawD/ H3gA/x6HAP8dlQH/HKMB/x2tAf8hswH/I7gB/ya+Af8pxQH/K84B9i3hAeku7wHcL/kB0C//AsYv /wK+L/8Cty//ArIu/wKvLv8Cri7/Aq4u/wL/MSIA/zQgAP82IAD/NyEA/zckAP82KQD/NTAA/zM4 AP8wQgD/LEwA/ylZAP8oZgD/KHQB/yeCAf8mkAH/Jp0C/yaqAv8oswL/K7oC/y7BAv8wyQL2MtkC 6DTpAto09QPNNf8EwzX/Bbk1/wWxNf8FqzT/Bac0/wSkNP8EozP/BKMz/wT/NB8A/zcdAP86HAD/ Ox0A/zwfAP87JAD/OioA/zgyAP82PAD/NUcA/zRTAP8zYAH/Mm0C/zF7Av8wiQP/L5YD/y+jBP8v sQT/MbwE/zTEBPY3zwToOeQE2TrxBcs6/Qa/Ov8ItTr/CKw6/wilOv8IoDn/B5w5/waaOf8GmTj/ Bpk4/wb/Nh0A/zoaAP89GQD/PxkA/0EbAP9BHgD/QCQA/z4sAP8+NgD/PUIA/z1OAf89WwL/O2cD /zp0BP85ggT/OJAF/zidBv83qwb/N7wG+DnKBuk83gbYPu4HyT76Cbw+/wuxPv8MqD7/DKA//wya Pv8LlT7/CpI+/wmQPf8Ijz3/CI89/wj/ORsA/z0XAP9BFQD/QxUA/0UWAP9GGQD/Rh4A/0YnAP9G MQD/RTwA/0VJAf9FVQL/Q2ID/0JvBf9BfAb8QIoH+D+YCPM/pwjuP7gJ6D7RCdhA6gnIQfgMukH/ Dq5B/w+kQv8Qm0P/EJVD/w+PQ/8Ni0P/DIhC/wuFQv8KhUL/CoVC/wr/OxgA/0AUAP9EEgD/RxEA /0kRAP9LEwD/TBkA/00iAP9NLAD/TTcA/01DAf9MUAL5S10E8klpBuxIdgjmRoMK4ESSDNlDog7S QrIPy0LJEMJD7hC3RP8RqkT/E6BF/xSXRv8Uj0f/E4pH/xGFR/8QgUf/Dn5H/w19Rv8MfEb/C3xG /wv/PRYA/0ISAP9HDwD/Sg0A/0wMAP9PDgD/URQA/1MdAP9UJgD/VTEA91U9AO5VSwLlU1cF3VBj CNRNcAvMS3wOxUmKEb5ImRO4R6kVske+FqtH5BajSP8Xm0j/GJJJ/xiKSv8XhEv/Fn9M/xR7TP8S eUv/EHdL/w52Sv8NdUr/DXVK/w3/PxQA/0UQAP9JDAD/TAkA/08HAP9TCQD/Vg4A/1kWAP9aHwDx XCoA5l04ANtdRQLQWlIGx1deCr5UaQ62UXUSr0+CFalNkBijTKEanUu1G5dL1ByRTPobik3/HIRO /xt+T/8aelD/GHZQ/xZ0T/8Tck//EXFO/xBwTf8Ob03/Dm9N/w7/QRIA/0cOAP9LCQD/TwUA/1MB APZXBAD1WwkA/V4OAPFgFgDhYyEA1GUyAMllQQK+Yk0GtV5ZC6xbZBClWG8UnlV7GJdTiRuRUZod jFCtH4ZQyCCBUfUgfFL/H3hT/x10VP8bcVT/GW9U/xdtU/8VbFL/EmtR/xFrUP8PalD/D2pQ/w// QxAA/0gLAP9MBQD6UQAA7lYAAORcAADeYAQA3WQIAONoDQDQahwAxG0uALltPQKwakkGpmZUC55i XxCWX2oVj1t2GYlZgx2DV5MgfVanInhVwSN0Vu8jcFf/IW5Y/x9sWP8dalj/GmlX/xhoVv8VZ1X/ E2dU/xFmU/8QZlP/EGZT/xD/RQ8A/0kIAP9OAgDvVAAA5VoAANhgAADQZQIAzGoFAM9vCADCchcA tnQqAK10OQGjcUYFmm1RC5JpWxGKZmYWg2JxGn1ffh53XY4hcVuiJG1buyVpW+olZ13/I2Ve/yFl Xf8eZFz/G2Nb/xljWv8WY1j/FGJX/xJiVv8QYlb/EGJW/xD/Rg0A/0sFAPNQAADnWAAA214AAMxk AADDagAAvm8CAL51BQC0eRMAqXsmAKF8NgGZeUMFkHVOCohxWBCAbWIWeWltGnJmeh9tZIoiaGKe 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 ABb/EwAT/xgAEP8dAA3/IwAK/ykABv8xAAH/OwAA/0gAAP9aAAD/cwAA/5oAAP+zAAD/yAAA9+wA Ae38AAPm/wAE4P8ABN//AATf/wByjQAAZ5sAAF6pAABVuAAATMcAAETWAAA95AAANfAAAC78AAAo /wAAIv8AAB7/BAAa/wkAFv8NABT/EQAR/xUADv8ZAAz/HQAJ/yIABf8oAAH/MAAA/zkAAP9FAAD/ VgAA/24AAP+QAAD/rwAA/78AAP3aAAD16gAA7/QAAO32AADt9gBpmAAAX6YAAFe0AABOwgAARtEA AD/fAAA37AAAMPYAACr/AAAk/wAAH/8AABv/BAAX/wgAFP8MABL/EAAQ/xMADv8VAAz/GQAJ/x0A Bf8iAAH/JwAA/y4AAP84AAD/QwAA/1MAAP9oAAD/hQAA/6kAAP+1AAD/wQAA/8sAAP7OAAD+zgD/ HzAA/yAvAP8fMQD/HDQA/xk4AP8VPgD/EUUA/w1OAP8JVgD/BWAA/wFqAP8AcwD/AHwA/wCEAP8A jQD/AJUA/wCdAP8ApQD/AK0A/wCyAP8AtwD/ALwA/wDCAP8AywD/ANoA/QDmAPYA7wDvAPcA6AD+ AOMA/wDgAP8A3QD/AN0A/wD/IS4A/yItAP8hLgD/HzEA/xw1AP8YOwD/E0IA/w9LAP8MVAD/CF0A /wRnAP8AcQD/AHsA/wCEAP8AjQD/AJYA/wCeAP8ApwD/AK8A/wC0AP8AuQD/AL4A/wDFAP8A0AD/ AOIA+gDtAPIA9gDrAP0A5AD/AN8B/wDaAv8A1gP/ANYD/wD/IysA/yQqAP8kKwD/Ii4A/x8yAP8b OAD/Fz8A/xJHAP8OUAD/C1oA/wdlAP8DbwD/AXkA/wCDAP8AjQD/AJcA/wCgAP8AqgD/ALEA/wC2 AP8AuwD/AMIA/wDLAP8A3AD/AOoA9gD1AO8C/gDmBP8A3Qb/ANUH/wDQB/8AzQf/AM0H/wD/JigA /ycnAP8nKAD/JSoA/yMuAP8fNAD/GzsA/xZDAP8STAD/DlcA/wthAP8HbQD/BXgA/wOCAP8BjQD/ AJgA/wCiAP8ArQD/ALMA/wC5AP8CvgD/A8cA/wXUAP8H5gD8B/MA8Qj+AOYL/wDcDf8A0g7/AMsO /wDHDv8AxA7/AMQO/wD/KCUA/ykkAP8qJAD/KSYA/ycpAP8kLwD/IDYA/xs+AP8WRwD/ElIA/w5d AP8LaQD/CXUA/weBAP8FjQD/BJkA/wKmAP8BsAD/BLYA/we8AP8KxAD/DM8A/w3jAP8N8QDyDv0A 5xH/ANsU/wDPFf8Axhb/AMAW/wC8Fv8AuRX/ALkV/wD/KyIA/ywgAP8tIAD/LCEA/yslAP8oKgD/ JTEA/yA4AP8bQgD/F00A/xNYAP8QZQD/DXMA/w1/AP8MiwD/DJYA/wyiAP8MrQD/DbkA/xDBAP8R ywD/E98A/xTuAPMV+gDlGf8A1hz/AMof/wDAH/8AuB//ALIf/wCvH/8ArR7/AK0e/wD/LR8A/y8c AP8wHAD/MBwA/y8fAP8tJAD/KisA/yYzAP8hPAD/HUcA/xtTAP8ZXwD/GGwA/xd4AP8XhAD/F5AA /xebAP8XpwD/GLQA/xjFAP8a1AD/HOcA8R31AOIh/wDTJP8Axib/Absn/wGyJ/8Bqyf/AaYn/wGj Jv8AoCb/AKAm/wD/MBwA/zIZAP80GAD/NBgA/zMaAP8xHQD/LiQA/yssAP8qNgD/J0EA/yZNAP8k WQD/I2UA/yJyAP8jfgD/I4oA/yOWAP8jogD/I7AA/yPAAP8j3gDwJfAA4Cj8ANAr/wHDLP8Cty3/ Aq0u/wKlLv8Cny7/Apku/wGVLv8Bky7/AZMu/wH/MxkA/zUWAP83FAD/OBMA/zgUAP82FwD/MxwA /zMmAP8yMQD/MTwA/y9IAP8uVAD/LWAA/y5sAP8teAD+LoQA+y6RAfcungHyLqwB7i69Aegu3AHc LvYBzjD/AsAy/wOzM/8EqDT/BJ80/wSYNf8EkTX/A4w1/wOJNf8ChzT/Aoc0/wL/NRYA/zgTAP87 EAD/PA8A/zwPAP87EQD/OhcA/zohAP85KwD/ODYA/zdCAP03TgD4N1sA8jdnAO03cwHoN38B4zaM At42mgLZNakC0jW6A8w11QPCN/UDuTf/Ba83/wakOP8Hmjn/B5I6/waLO/8FhTv/BYE6/wR/Ov8D fTr/A306/wP/NxMA/zsQAP8+DQD/PwsA/0AKAP9ADAD/QRIA/0AaAP8/JAD7Pi8A8T47AOk/SQDi P1YA3D9iAdQ+bgLPPnkDyT2GBMQ9kwW+PKIGuTyyB7M8yQesPe8HpD3/CJw9/wqVPv8KjD//CYVA /wh/QP8He0D/BnhA/wV2P/8EdT//BHU//wT/OhEA/z0NAP9BCQD/QgUA/0MDAP9EBwD/RQwA/0YT APdFHADpRCcA3UY1ANRHQwDMR1ABxUdcAr5GZwS4RXMGs0R+B65DjAmpQpoKpEKrC55CwAyZQucM kkP/DYxD/w2GRP8Nf0X/DHpF/wp2Rf8Jc0X/B3BE/wZvQ/8FbkP/BW5D/wX/PA8A/0ALAP9CBQD/ RAAA9kYAAOxJAADnSgUA7UoLAOZKEgDVSyAAyU4wAMBPPwC5T0sBsk5XA6xNYgWmS20IoUp4CpxJ hQyXSJMOkkekD41HuBCIR94Qgkj+EH1J/xB5Sf8PdEr/DnFK/wxuSv8KbEn/CGpI/wdpR/8GaUb/ BmlG/wb/PQ0A/0EHAP9EAQDzRwAA6ksAAN9PAADWUQIA1FEGANNQDADEUxsAuVUsALFXOwCqV0cB o1VSBJ1UXQaXUmgJklByDI1Pfw6ITY0Qg0yeEn5MshN6TNAUdU36E3JO/xJvT/8RbE//D2lO/w1n Tv8LZk3/CWVL/whkSv8HZEr/BmRK/wb/PwwA/0MEAPZGAADrSwAA31AAANFUAADIVgAAw1gDAMNY BwC1WhcAq1woAKReNwCdXkMBl1xPBJFaWQeLWGMKhlZuDYBUehB7U4gTd1KYFXJRrBZuUckWa1L2 FmhT/xRmVP8SZFT/EGNT/w5iUv8MYVD/CmBP/whgTv8HX03/B19N/wf/QQoA/0QBAPBJAADkTwAA 01QAAMVYAAC7WwAAtl0AALVeAwCpYRMAn2MkAJlkMwCSZEABjGNLBIZhVQeAXl8Ke1xqDnZadRFx WYMUbVeUFmlXqBdlVsMYYlfyF2BY/xZfWf8TXlj/EV1X/w9dVf8MXFT/ClxS/wlcUf8IXFD/B1xQ /wf/QgcA+kYAAOlMAADcUgAAyVgAALtcAACxYAAAq2MAAKhlAACeZxAAlWkgAI5rLwCJaz0Bg2pI A31oUgd3ZVwKcmNmDm1hchFpX38UZF2QF2BcpBhdXL8ZWl3vGFle/xZYX/8UWF3/EVhb/w9YWf8N WFf/C1hV/wlYVP8IWFP/CFhT/wj/QwQA8kgAAONPAADTVQAAwFsAALJgAACoZAAAoWgAAJ1rAACU bgwAi3AcAIRxLAB/cjoBenFFA3RvTwZvbFkJampkDWZobxFhZnwUXWSNFlljoRhWY7wZU2PsGFNk /xZSZP8UU2L/ElNf/w9UXf8NVFr/C1RY/wlUV/8IVFb/CFRW/wj/RAEA7EsAANxSAADKWQAAt18A AKpkAACgaQAAmG0AAJJxAACKdQcAgXcXAHt4KAB3eTYAcnlCAm13TAVodFYIY3JhDF9wbA9abnkT VmyKFVJqnhdParkYTWrqF0xq/xZMa/8UTWj/EU5k/w9PYf8NUF7/C1Bc/wpRWv8JUVn/CFFZ/wj6 RgAA5k4AANNVAADAXAAArmMAAKFoAACYbQAAj3EAAIh3AACAfQIAd38TAHGAIwBugjIAaoE/AWWA SQNhflQHXHteClh5aQ1Ud3YRUHWHE0xznBVJc7YWR3PnFUdy/xRGcv8TSG7/EUlq/w9LZv8NTGP/ C0xg/wlNXv8ITV3/CE1d/wjxSQAA3lEAAMpZAAC2YAAApmcAAJlsAACQcQAAh3YAAH99AAB2hgAA bokOAGiKHgBkiy0AYYw7AF6LRgJaiVEFVoZbCFKEZwtOgnQOSoCFEEZ+mhJDfbQTQX3mEkF8/xJA ev8RQnb/D0Rw/w5GbP8MR2j/Ckhl/wlIY/8ISWH/CElh/wjqTAAA1FUAAMFdAACsZAAAnWsAAJFx AACIdgAAf3wAAHaDAABskAAAZJQIAF6WGABblycAWZg2AFaYQgFSl00CT5VYBUuSZAdHkHIKRI6D DECMmA4+i7MPPIrkDjuH/w46hf8OO4D/DT55/wxAc/8LQm7/CkNq/whDaP8IRGb/B0Rm/wfgUAAA ylkAALZhAACjaQAAlG8AAIl1AACAewAAd4IAAG6KAABklQAAW6IAAFWlEQBRpiEAT6cvAE2nPQBK p0kBR6ZVAkSkYQRBoW8GPp+BCDudlwk4nLIKNprkCTWW/wk0k/8KNI3/CjeD/wo6e/8JPHb/CD1x /wc+bv8HPmz/Bj5s/wbUVQAAv14AAKpmAACZbgAAjHQAAIF6AAB4gQAAb4kAAGaTAABdngAAU6sA AEu2CQBHtxgARLgnAEK4NQBBuUMAP7hQADy3XQE6tWwCN7N+AzSxlQQysLEEMK7jBC+o/wUtpP8G LZ7/BzCR/wczh/8HNX//Bjd6/wY4dv8FOHT/BTh0/wXHWgAAs2MAAJ9sAACPcwAAg3kAAHl/AABw iAAAZ5IAAF6dAABVqQAATLYAAEPDBAA7zA4AOMsdADbLLAA1zDoAM8xIADLLVgAwymcALsl5ACzH kQEqxa4BKMLgASe8/wEmt/8CJq3/Ayij/wQrlf8ELYv/BC+E/wQwgP8EMX3/BDF9/wS6YAAApmkA AJNxAACFeAAAe34AAHGHAABnkgAAXp0AAFapAABNtgAARMIAADzPAwAy3QkALuMUACviIgAp4jAA J+E+ACbhTAAk4FwAI99vACHdiAAf2qcAHNfWABzQ/wAcyv8AHr3/ASCx/wEip/8BJJv/AiaS/wIo jf8CKYn/AimJ/wKsZwAAmHAAAIh3AAB9fAAAcoYAAGiRAABfngAAVqsAAE23AABFxAAAPNEAADTe AAAs7wgAKPwSACT7HAAh+SgAHvk0ABz4QQAZ908AF/VhABXzdwAT8JUAEe28AA/l/AAQ3P8AE83/ ABXB/wAYtv8AGqz/AByi/wAenP8AH5j/AB+Y/wCdbgAAi3YAAH57AAB0hQAAaZEAAF+fAABWrAAA TboAAETHAAA81QAAM+IAACvsAAAl/wUAIP8OAB3/FgAZ/yAAFv8qABP/NQAQ/0EADv9RAAv/ZQAK /38AB/+kAAX84wAH6/8AC93/AA3P/wAOxP8AELv/ABG0/wASrP8AE6j/ABOo/wCOdQAAgHsAAHWD AABrkAAAYJ4AAFasAABNuwAARMoAADvZAAAy6AAAKvMAACP9AAAd/wAAGf8IABX/EAAR/xcADv8f AAv/KAAH/zMAA/9AAAD/UQAA/2gAAP+IAAD/sgAA+uQAAOv9AATf/wAH0v8ACcj/AAvB/wALvP8A DLn/AAy5/wCCegAAd4IAAGyOAABinAAAWKoAAE+5AABGxwAAPdYAADXkAAAs8AAAJPoAAB3/AAAX /wAAEv8DAA//CgAM/xAAB/8VAAL/HAAA/yUAAP8wAAD/PgAA/1AAAP9qAAD/jwAA/7YAAP7RAADv 8gAA4v8AANj/AALP/wAEyv8ABcb/AAXG/wB4gQAAbY0AAGOaAABZqAAAULYAAEfEAAA/0gAAN+EA AC/tAAAn9gAAH/8AABr/AAAV/wAAEf8DAA7/CQAL/w0AB/8SAAL/FwAA/x0AAP8lAAD/LwAA/z0A AP9OAAD/aAAA/5EAAP+yAAD/xAAA9OQAAOj3AADf/wAA2v8AANX/AADV/wBviwAAZZgAAFulAABS swAAScEAAEHPAAA53QAAMukAACrzAAAi+wAAHP8AABf/AAAT/wAAEP8DAA3/CAAL/wwAB/8QAAL/ EwAA/xgAAP8eAAD/JgAA/y8AAP88AAD/TAAA/2QAAP+IAAD/rAAA/7oAAPvMAADx5QAA6vAAAOf2 AADn9gBmlQAAXaMAAFSwAABMvgAAQ8sAADzZAAA05gAALfAAACX4AAAe/wAAGf8AABX/AAAR/wAA Dv8DAA3/BwAK/wsAB/8OAAP/EQAA/xQAAP8ZAAD/HwAA/yYAAP8vAAD/OwAA/0sAAP9hAAD/gAAA /6YAAP+yAAD/vAAA/sYAAPnOAAD5zgD/Gy0A/xstAP8ZLgD/FjEA/xI1AP8NPAD/CUMA/wNLAP8A VAD/AF0A/wBnAP8AcAD/AHgA/wCAAP8AiAD/AJAA/wCYAP8AnwD/AKgA/wCvAP8AtAD/ALoA/wC+ AP8AxQD/AM4A+wDeAPMA6QDrAPIA5AD6AN4A/wDaAP8A1gD/ANUA/wD/HisA/x0qAP8bKwD/GC4A /xQyAP8QOAD/Cz8A/wVIAP8AUQD/AFoA/wBkAP8AbgD/AHcA/wB/AP8AiAD/AJEA/wCZAP8AogD/ AKsA/wCxAP8AtwD/ALwA/wDCAP8AygD/ANcA9wDlAO8A8ADnAPkA3wD/ANkA/wDUAP8A0QD/ANEA /wD/ICgA/yAoAP8eKAD/GysA/xcvAP8SNAD/DTwA/whEAP8DTQD/AFcA/wBhAP8AawD/AHUA/wB+ AP8AiAD/AJEA/wCbAP8ApAD/AK4A/wCzAP8AuQD/AL8A/wDHAP8A0gD7AOMA8wDuAOoA+ADiAP8A 2gD/ANMA/wDOAP8AygD/AMoA/wD/IiUA/yIkAP8hJQD/HycA/xsqAP8WMAD/EDcA/ws/AP8GSAD/ AFMA/wBdAP8AaAD/AHMA/wB9AP8AiAD/AJIA/wCdAP8AqAD/ALAA/wC2AP8AvAD/AMQA/wDPAP8A 4AD2AO0A7QD4AOQA/wDbAP8A0QH/AMkD/wDEBP8AwAT/AMAE/wD/JCIA/yUhAP8kIQD/IiIA/x8m AP8aKwD/FDEA/w46AP8KQwD/BE0A/wBZAP8AZAD/AHAA/wB8AP8AiAD/AJMA/wCdAP8ApwD/ALIA /wC6AP8AwQD/AMsA/wDfAPoA7ADwAPgA5wD/ANsE/wDOB/8AxAf/AL0I/wC4Cf8AtQn/ALUJ/wD/ Jx8A/ycdAP8nHAD/JR0A/yIgAP8eJQD/GSsA/xIzAP8NPQD/CEcA/wNTAP8BXwD/AGsA/wB1AP8A gAD/AIsA/wCVAP8AoAD/AKsA/wC4AP8AyAD/ANoA/gDsAPQC+QDoBv8A2gr/AMwN/wDBDv8AuA// ALIP/wCrEP8AphD/AKYQ/wD/KRsA/yoZAP8qFwD/KRgA/yYaAP8iHgD/HSUA/xcsAP8SNgD/EEEA /w5NAP8NWAD/DGQA/wtvAP8LeQD/C4MA/wuOAP8KmQD/CqUA/wqyAP8JwgD/CeEA9gn3AOgM/wDa EP8AyxP/AL4W/wCzF/8AqRj/AKAZ/wCaGf8Alhn/AJYZ/wD/LBgA/y0VAP8tEwD/LBIA/yoUAP8m FwD/IR0A/x8nAP8cMQD/GjwA/xhHAP8WUgD/FV0A/xVoAP8VcwD/FX0A/xWIAPsVlAD3FKAA8xSu AO4UvwDnFN8A3BX4ANIY/wDHG/8AuR7/AK4g/wCjIf8AmCL/AJEi/wCMIv8AiSL/AIki/wD/LxQA /zARAP8xDgD/MA0A/y4OAP8qEAD/KBcA/yYhAP8lKwD/IjYA/yFBAP8gTQD5IFgA9B9jAO8gbgDr IHgA5iCEAOIgkADdIJ0A2CCsANIgvgDLId4AwSP5ALgl/wCxJv8AqSf/AZ0p/wGSKv8Biiv/AIQr /wCBKv8Afir/AH4q/wD/MRIA/zMOAP80CwD/NAgA/zIHAP8vCgD/LhEA/ywZAP8rJAD5KS8A7yg7 AOgoRwDhKFIA2yleANUqaQDQKnQAzCt/AMcriwDDLJkAviynALktuQCzLdQAqy72AaMv/wGcL/8C ljD/Ao0x/wKEMv8BfjL/AXky/wF3Mf8AdTD/AHQw/wD/Mw8A/zYLAP83BgD/NwMA/zUAAP81BQD/ NAsA/zIRAPEvGwDjLicA2C80AM8xQQDIMk0AwjRYAL40YwC5NW4AtTV5AbE1hQGtNZMBqDWhAqQ1 sgKfNcsCmTbxApI3/wOMN/8Dhjf/A384/wN5Of8CdDj/AnE3/wFuN/8BbTb/AW02/wH/NQwA/zgH AP85AgD9OQAA9DkAAOk7AADjOgQA4jYJAN00EQDNNiAAwjkvALo7PAC0PEgArz1UAKs9XgCmPWkB oj1zAp48fwKaPIwDljybBJI8rASOPMMFiD3rBYI9/wV9Pv8FeT7/BXQ+/wRvPv8DbD3/Amk9/wJo PP8BZjv/AWY7/wH/NwoA/zoEAP07AADxPQAA5kAAANlCAADQQgEAzD8FAMg8DAC7PxsAsUEqAKlD OACkREQAoEVPAJtEWgGXRGQCk0NuA49DeQSLQoYFh0KVBoNCpwd/QrwIekLlCHVD/whxQ/8HbkT/ BmpE/wVnQ/8EZUL/A2NB/wJiQP8CYT//AWE//wH/OQgA/zwAAPM+AADpQgAA2kUAAMpIAADBSQAA u0cBALhECACsRhcAo0gmAJxKNACXS0AAk0tLAI5LVgGKSmADhkpqBIJJdQZ+SIEHekeQCHZHogly R7cKb0ffCmtI/wpoSf8JZUn/B2NJ/wZhSP8FX0b/BF5F/wNdRP8CXEP/AlxD/wL/OwUA+z0AAOxC AADhRQAAzUoAAL5NAAC1TgAArk4AAKpLAwCgTRIAl08iAJFQMACMUT0AiFJIAYNRUgJ/UVwDe1Bm BXdPcAd0Tn0IcE2LCmxMnQtpTLIMZUzVDGJN/QtgTv8KXk7/CFxO/wdbTP8FWkr/BFlJ/wNZR/8C WEb/AlhG/wL/PAMA9D8AAOZFAADYSQAAw04AALVRAACrUwAApFQAAJ9SAACVUw8AjFUeAIZWLACC WDkAflhFAHpXTwJ2V1gDclZiBW5UbQdrU3kJZ1KHC2RSmQxgUa4NXVHODVtS+wxZU/8LWFP/CVdS /wdWUP8GVk7/BFVM/wNVS/8DVEn/AlRJ/wL/PQAA7kIAAN9IAADOTQAAulIAAK1WAACjWAAAm1kA AJZYAACLWQwAg1saAH1cKQB5XjYAdV5BAHJeTAJuXVUDalxfBWdaagdjWXUJYFiEC1xXlg1ZV6sO VlfKDlRX+Q1TWP8LUlj/CVJX/wdRVP8GUVL/BFFQ/wNRTv8DUUz/AlFM/wL7PgAA6UUAANhLAADF UAAAslYAAKVaAACbXAAAk14AAIxeAACCYAcAemEWAHVjJQBxZDIAbmQ+AGpkSQFnY1IDY2JcBWBh ZwdcX3MJWV6BC1Zdkw1TXKkOUF3HDk5d9w1NXf8LTF3/CUxb/whNWP8GTVb/BU1T/wRNUf8DTVD/ Ak1P/wL0QAAA40gAANBOAAC8VAAAq1kAAJ5eAACUYQAAi2MAAINlAAB5ZwMAcmgSAG1pIQBpai8A Zms7AGNrRgFgalACXWlZBFlnZAZWZnAIU2V+ClBkkAxMY6YNSmPEDUhj9QxIY/8LR2P/CUdh/wdI Xf8GSVr/BUlX/wRJVf8DSlP/AkpT/wLuQwAA3EsAAMlRAAC0WAAAo10AAJdiAACNZQAAhGgAAHtr AABxbgAAaW8OAGRwHQBhcSoAXnI3AFxyQgBZckwBVnFXA1NvYQVQbm0HTW17CUpsjQpHa6QLRGvB DENr8wtCav8KQWn/CEJm/wdDYv8GRF7/BEVb/wRFWf8DRlf/AkZX/wLoRgAA004AAMFUAACrXAAA nGEAAJBmAACGaQAAfW0AAHNxAABpdgAAYXcKAFx4FwBZeSYAVnoyAFR7PgBSekkBT3pTAk14XgNK d2oFR3Z5B0R1iwhBdKEJPnS/CT1z8gg8cv8IO3H/Bzxt/wY+aP8FP2P/BEBg/wNBXf8DQVv/AkFb /wLgSgAAylEAALdZAACjYAAAlGYAAIlqAAB/bgAAdnIAAGx3AABgfwAAWYEDAFSCEgBQgyAAToQt AEyEOQBKhUUASIRPAUaDWwJDgmcDQIF2BD2AiAU7f58GOH69Bjd98AY2e/8GNXr/BjZ2/wU4b/8E Omr/BDtl/wM8Yv8CPGD/Ajxg/wLVTgAAwVYAAKxdAACaZAAAjWoAAIFvAAB4cwAAb3gAAGZ+AABc hAAAUY0AAEuPDABHjxkARJAnAEOQMwBBkT8AQJFLAD6RVgA8kGMBOY9zAjeNhQM0jJ0DMou6AzGK 7wMwh/8DLoT/Ay+A/wMxeP8DM3H/AzVs/wI2af8CN2b/Ajdm/wLKUgAAt1oAAKFjAACRaQAAhW8A AHp0AABxeQAAaH8AAF+GAABWjQAAS5YAAEKeAwA9nxEAOqAfADigLAA3oDgANaBEADSgUAAyoF4A MZ9uAC+egQEtnZoBKpu4ASmZ7QEolf8BJ5L/ASeN/wIqgv8CLHr/Ai50/wEvcP8BMG3/ATBt/wG/ WAAAq2AAAJdoAACIbgAAfXQAAHR5AABqgAAAYYcAAFiPAABPlwAARaAAADurAAAysgkAL7MVAC2z IwArsy8AKrI8ACiySQAnslYAJrFnACSwegAirpQAIK2zAB+q6QAepf8AHqH/AB6d/wAhj/8AJIX/ ASZ+/wEnef8AKHb/ACh1/wCyXQAAnmYAAI1uAACAcwAAdnkAAGyAAABiiQAAWZEAAFCbAABHpAAA Pq4AADW3AAArwQMAI8kLACDJFwAfySQAHcgxABzHPwAax00AGcVdABjEcQAWwosAFMCsABK84wAS tv8AErL/ABOt/wAWnv8AGpL/AByJ/wAeg/8AH3//AB9//wClZAAAkW0AAINzAAB4eAAAboAAAGSK AABalAAAUZ4AAEioAAA/swAAN70AAC7HAAAl0AAAHNkGABblDQAT4xgAEeIlABDhMgAP30EADt5R AA3aZQAM1n4ACtOeAAnPyQAIy/8ACMb/AAq8/wANsP8AEKL/ABOY/wAUkf8AFoz/ABaL/wCWbAAA hnMAAHp4AABwgAAAZYsAAFuWAABSogAASa0AAEC5AAA3wwAALs4AACbZAAAe4AAAFugBABL7CgAP /xIADP4cAAr6JwAH9jQABPJCAALuVAAA62sAAOiIAADkrgAA4e4AANb/AADJ/wAEvv8AB7X/AAuq /wAMov8ADpz/AA6c/wCJcgAAfHgAAHKAAABniwAAXJgAAFKlAABJswAAP8AAADbMAAAt2AAAJeMA AB3qAAAW8AAAEPoAAA3/BAAK/wwABf8TAAH/HAAA/yYAAP8zAAD/QwAA/1cAAP9wAAD8kwAA+cEA AOnvAADZ/wAAzP8AAML/AAG6/wACtf8ABK//AASv/wB+eAAAc38AAGmLAABelwAAVKQAAEuyAABB vwAAOM0AAC/bAAAn5wAAHvAAABX5AAAO/wAAC/8AAAb/AAAC/wMAAP8KAAD/EQAA/xkAAP8kAAD/ MQAA/0IAAP9YAAD/dQAA/54AAP+/AADt5AAA3v0AANH/AADJ/wAAw/8AAL//AAC+/wB1fgAAaooA AGCWAABWowAATbAAAES+AAA7ywAAMtkAACrlAAAi7gAAGvYAABL9AAAN/wAACf8AAAT/AAAA/wAA AP8FAAD/CwAA/xEAAP8YAAD/IgAA/y8AAP9BAAD/WQAA/3sAAP+nAAD/uAAA89IAAOTxAADa/wAA 0v8AAM3/AADM/wBsiQAAYpQAAFihAABPrgAAR7wAAD7JAAA11gAALuMAACbtAAAe9AAAF/sAABD/ AAAN/wAACf8AAAX/AAAB/wEAAP8FAAD/CQAA/w4AAP8TAAD/GgAA/yQAAP8xAAD/QgAA/1gAAP93 AAD/oQAA/7MAAPvEAADt4AAA5e4AAN/3AADf9wBkkwAAWp8AAFKsAABJuQAAQcYAADjTAAAx4AAA KuoAACLyAAAa+AAAFP4AABD/AAAN/wAACf8AAAX/AAAC/wEAAP8EAAD/CAAA/wwAAP8QAAD/FQAA /xwAAP8mAAD/MgAA/0MAAP9YAAD/cwAA/5cAAP+uAAD/uQAA+sQAAPPPAADy0AD/FysA/xYrAP8T LAD/Dy8A/wszAP8FOQD/AEAA/wBJAP8AUgD/AFoA/wBkAP8AbAD/AHQA/wB8AP8AgwD/AIsA/wCT AP8AmwD/AKMA/wCsAP8AsAD/ALUA/wC5AP8AvwD/AMcA+gDRAPEA4gDoAO0A4AD2ANkA/QDTAP8A 0AD/AM8A/wD/GSkA/xgoAP8VKQD/ESsA/w0wAP8HNQD/AD0A/wBFAP8ATgD/AFcA/wBhAP8AagD/ AHIA/wB7AP8AgwD/AIwA/wCUAP8AnAD/AKUA/wCtAP8AsgD/ALcA/wC8AP8AwwD+AMwA9QDdAOwA 6gDjAPUA2gD9ANMA/wDOAP8AygD/AMkA/wD/HCYA/xslAP8YJgD/FCgA/w8sAP8KMQD/AjgA/wBB AP8ASgD/AFQA/wBeAP8AZwD/AHEA/wB5AP8AggD/AIwA/wCVAP8AngD/AKgA/wCvAP8AtAD/ALkA /wDAAP8AyQD5ANYA8ADnAOYA8wDcAPwA0wD/AMwA/wDHAP8AxAD/AMMA/wD/HiMA/x0iAP8bIgD/ FyQA/xInAP8MLAD/BTMA/wA7AP8ARQD/AE8A/wBZAP8AZAD/AG4A/wB3AP8AgQD/AIwA/wCXAP8A oQD/AK0A/wCyAP8AtwD/AL0A/wDGAP0A0gDzAOUA6QDxAN8A/ADUAP8AzAD/AMUA/wDBAP8AvgD/ ALwA/wD/IB8A/x8dAP8dHQD/Gh4A/xYiAP8QJgD/CS0A/wA1AP8APgD/AEkA/wBUAP8AXwD/AGsA /wB0AP8AfgD/AIgA/wCSAP8AmwD/AKYA/wCxAP8AuwD/AMMA/wDPAPYA4wDsAPAA4QD9ANYA/wDM AP8AwwD/ALsA/wC2AP8AswH/ALEB/wD/IxsA/yIZAP8gGAD/HRkA/xkbAP8TIAD/DCYA/wQuAP8A NwD/AEIA/wBOAP8AWQD/AGMA/wBtAP8AdgD/AIAA/wCKAP8AlAD/AJ4A/wCpAP8AtwD/AMkA+QDh AO4A8ADkAP0A2AD/AMwA/wDAA/8AtgT/AK0F/wClCP8AoAn/AJ4J/wD/JRcA/yUUAP8jEwD/IBMA /xwUAP8WGAD/EB4A/wonAP8GMQD/AzwA/wBHAP8AUgD/AFwA/wBmAP8AbwD/AHkA/wCDAPoAjQD3 AJgA8wCjAO8AsQDrAMIA5gDiAN8A+ADaAf8AygX/ALwI/wCyCv8ApA3/AJoO/wCTEP8AjxD/AI4R /wD/KBMA/ygQAP8mDgD/Iw0A/x8OAP8ZEAD/FRgA/xIhAP8PKwD/DTYA/wtBAP8KTAD+CVYA+gpg APUKagDwCnMA6wp9AOUKiADhCpMA3QqgANgKrgDSCsAAzAvgAMMN/AC6Dv8AsxD/AKwR/wCdFP8A kRb/AIkX/wCEF/8AgRj/AH8Y/wD/KhAA/yoMAP8pCQD/JwcA/yIGAP8eCgD/HBEA/xkaAP8WJAD8 Ey8A8hI7AOsSRgDkElAA3xJaANoTZADUE24A0BR4AMsUggDHFY4AwxWcAL4WqgC5Fr0AsxffAKoZ +wCjG/8AnBz/AJcc/wCLHv8AgiD/AHsg/wB3H/8AdR//AHQf/wD/LA0A/y0JAP8sBAD/KgAA/yUA AP8kAwD/IQoA/x4SAPEbHADjGScA2Bk0AM8bPwDIHUoAwx5UAL4fXgC6IGgAtiByALMhfQCvIYgA qyKWAKcipQCjI7gAniPWAJcl+ACQJv8Aiyb/AIUn/wB9KP8Adij/AHEn/wBtJ/8Aayb/AGsm/wD/ LwoA/zAEAP8vAAD7LAAA8ywAAOksAADiKAMA4CIJANkfEgDKIiEAvyQuALcmOgCyKEUArSlPAKkp WQCmKmMAoittAJ8rdwCcLIMAmSyRAJUtoQCRLbMAjS3OAIcu9QCBL/8AfC//AHcv/wBxMP8AbC// AGgu/wBmLf8AZCz/AGMs/wD/MQcA/zIAAPkxAADxMwAA5DQAANY1AADMMwAAyC4EAMIpDQC1KxsA rC4pAKUwNQCgMUAAnDJLAJgzVQCVM18AkzRoAJA0cwCMNH8AiTWMAYY1nAGCNa4BfjXIAXk28QF0 Nv8BcDf/AWw3/wFoNv8BZDX/AGE0/wBfM/8AXjL/AF0x/wD/MwQA/zQAAPE2AADoOAAA1TsAAMY8 AAC7OwAAtTgAALAzCAClNBYAnTYkAJc4MQCSOTwAjjpHAIs7UQCIO1sAhTtkAII7bwF/O3oBfDuH AXk7lwJ1O6oCcTzCAm087QJqPf8CZj3/AmM9/wFgPP8BXTv/AFs5/wBaOP8AWTf/AFg2/wD/NQEA 9jYAAOo6AADdPAAAyEAAALlCAACvQgAAqD8AAKI7AwCYOxIAkD0gAIo/LQCGQDkAgkFDAH9CTQB9 QlcAekJgAXdCawF0QnYCcUGDAm5BkwNrQaYEZ0G9BGRC6QRhQv8DXkL/4v/iSUNDX1BST0ZJTEUA Bgn/A1xC/wJaQf8BWED/AVY+/wBVPP8AVDv/AFQ6/wD/NgAA8TkAAOM9AADRQQAAvUUAAK9HAACl SAAAnUYAAJdCAACNQg4AhkMcAIBFKQB8RjUAeEdAAHZISgBzSFMAcEhdAW5IZwJrR3ICaEd/A2VG jwRiRqIFX0a5BVxH5QVaR/8EV0j/A1ZI/wJURv8BU0T/AVFC/wBRQP8AUD//AFA+/wD7NwAA6zwA ANxAAADIRQAAtUkAAKdMAACdTQAAlUwAAI1IAACESAsAfEkYAHdLJgBzTDIAcE09AG5NRwBrTlAA aU5aAWZNZAJjTW8DYEx7BF5MiwRbS54FWEu2BlVM4QVTTP8FUUz/A1BM/wJPSv8CTkj/AU1G/wFN RP8ATEL/AExB/wD1OQAA5T8AANRDAAC/SQAArU0AAKBQAACWUQAAjVEAAIVNAAB7TgcAdE8VAG9R IgBrUi4AaFI5AGZTRABkU00AYlNXAV9TYQJdUmwDWlJ4BFdRiAVUUZwGUlCzBk9R3QZNUf8FTFH/ BEtR/wNKT/8CSkz/AUlJ/wFJR/8ASUX/AEhF/wDwOwAA30IAAM1GAAC4TAAAp1EAAJpUAACQVQAA hlYAAH1UAABzVAMAbFURAGdWHwBkVysAYVg2AF9ZQQBdWUsAW1lUAVlYXgJWWGkCVFd2BFFWhQVO VpkFTFaxBklW2AZIVv8FR1b/BEVW/wNFU/8CRVD/AUVN/wFFSv8ARUn/AEVI/wDrPgAA2UQAAMdJ AACwUAAAoFQAAJRYAACJWgAAgFsAAHZaAABsWwAAZVsOAGBcGwBdXScAW14zAFlfPQBXX0gAVV9R AFNfWwFQXmYCTl1zA0tdggRIXJYFRlyuBUNc0wVCXP8EQVz/A0Bb/wNAWP8CQVT/AUFR/wFBTv8A QUz/AEFL/wDlQQAA0UcAAL5NAACpUwAAmlgAAI5cAACDXgAAemAAAG9gAABlYQAAXmIKAFljFgBW ZCMAVGQvAFJlOgBQZUQATmZOAExlWAFKZWMBSGRwAkVjgANDY5QEQGOsBD5jzwQ9Yv4EPGH/Azth /wI7Xf8CPFn/AT1V/wE9Uv8APVD/AD1P/wDeRAAAyUoAALVRAACiVwAAk1wAAIdgAAB9YwAAdGUA AGlmAABdaAAAV2oEAFJrEgBOax8ATGwqAEpsNQBJbUAAR21KAEZtVQBEbWABQWxtAT9rfQI8a5ED OmqpAzhqzAM3afwDNmj/AjVn/wI2Y/8BN17/ATha/wE4V/8AOVT/ADlT/wDVSAAAwU4AAKxVAACa XAAAjGEAAIFlAAB3aAAAbmoAAGRtAABXcAAAT3IAAEpzDQBGdBkARHQlAEJ1MABAdTsAP3VFAD52 UAA8dVwAOnVqADh1egE2dI4BNHOnAjFzyQEwcvsBL3D/AS5v/wEvav8BMWT/ATJf/wAzXP8AM1n/ ADRY/wDMSwAAuVIAAKNaAACSYAAAhWUAAHtpAABxbQAAaXAAAF90AABUdwAASXsAAEJ+BgA9fxMA O38fADl/KwA3fzUANoBAADWASwAzgFcAMn9lADB/dQAufooALH6kACp9xgApe/kAKHn/ACd3/wAo cv8AKmv/ACxm/wAtYv8ALV//AC1e/wDCUAAArlcAAJlfAACKZQAAfmoAAHVuAABscgAAYncAAFl7 AABPgAAARIUAADuJAAA0jAwAMYwXAC+MIwAtjC8ALIw5ACqMRQApjFEAKIxfACaLbwAlioUAI4qf ACGJwQAghvcAH4P/AB+B/wAgfP8AInT/ACRt/wAlaP8AJmX/ACZk/wC3VQAAol0AAJBlAACCagAA eG8AAG9zAABleQAAXH4AAFKEAABJiQAAP5AAADWWAAAsmwIAJp4PACSeGgAinSYAIZ0xAB+dPQAe nEkAHZxXABubaAAamn4AGJmZABaXuwAVlPQAFZD/ABSO/wAWh/8AGn3/ABx2/wAecf8AH27/ACBs /wCsWwAAlmQAAIdqAAB7cAAAcXQAAGh6AABegQAAVYgAAEuOAABClQAAOZwAAC+kAAAmqgAAHbAF ABe0EAAWsxwAFLInABOyMwASsUAAEbBPABCuYAAPrXUADqqQAAyosgAMpeoADKD/AAye/wANlv8A EYr/ABSB/wAWe/8AF3j/ABh2/wCdYgAAi2oAAH5wAAB0dAAAansAAGCDAABWiwAATZMAAESbAAA7 pAAAMawAACmzAAAgugAAF8EAABDIBgAMyxAACsobAAnIKAAIxjUAB8VDAAbCVAAEwGgAA72BAAG6 ogAAts4AALP/AACw/wACp/8ACZn/AAyP/wAOiP8AEIT/ABCC/wCQaQAAgXAAAHZ1AABsfAAAYoUA AFiOAABOmAAARaIAADusAAAytQAAKr0AACHFAAAZywAAEdIAAAzZAAAG3QkAA90SAAHcHgAA3CoA ANw3AADcRgAA2VkAANVwAADSjwAAzrYAAMv3AADD/wAAuP8AAKv/AAKg/wAFmP8ACJP/AAmR/wCE cAAAeHUAAG58AABkhgAAWZEAAE+dAABFqQAAO7QAADK+AAApyAAAIdEAABnZAAAS4AAADOUAAAbq AAAA7wAAAPAKAADxEwAA8h0AAPMpAAD0NwAA9UgAAPJdAADvegAA7KAAAOnaAADW/AAAx/8AAL3/ AAC0/wAAq/8AAKX/AACi/wB6dQAAcH0AAGWHAABbkwAAUZ8AAEesAAA9uAAAM8UAACrRAAAg3gAA GOcAABHtAAAL8wAABfgAAAD7AAAA/wAAAP8AAAD/CAAA/xAAAP8bAAD/JwAA/zYAAP9JAAD/YgAA /4QAAP+yAADuzwAA3PMAAM3/AADC/wAAvP8AALj/AAC3/wByfAAAZ4cAAF2SAABTngAASqsAAEC4 AAA3xAAALtEAACXdAAAd5wAAFO4AAA71AAAI/AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQAAP8N AAD/FwAA/yUAAP82AAD/SwAA/2cAAP+RAAD/sAAA9MYAAOLpAADV+wAAzf8AAMf/AADF/wBphgAA X5EAAFadAABMqgAAQ7cAADvDAAAyzwAAKdwAACLmAAAa7QAAEvQAAA36AAAG/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAAA/wEAAP8IAAD/EQAA/xsAAP8oAAD/OAAA/00AAP9oAAD/jwAA/64AAPq+AADr 1QAA4esAANv0AADY+ABhkAAAWJwAAE+oAABHtQAAPsEAADXNAAAt2gAAJuUAAB7sAAAW8gAAEfgA AAz+AAAG/wAAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wEAAP8GAAD/DAAA/xMAAP8eAAD/KwAA/zsA AP9PAAD/aAAA/4oAAP+qAAD/tgAA98IAAO/MAADs0QD/EykA/xEoAP8OKQD/CSwA/wIxAP8ANwD/ AD4A/wBGAP8ATwD/AFcA/wBgAP8AaAD/AHAA/wB4AP8AfgD/AIUA/wCMAP8AlAD/AJsA/wCkAP8A rAD/ALEA/wC1AP8AugD/AMEA+ADLAO4A3ADlAOkA3ADzANQA+wDOAP8AywD/AMgA/wD/FSYA/xMm AP8QJgD/CygA/wQtAP8AMwD/ADoA/wBCAP8ASwD/AFQA/wBdAP8AZgD/AG4A/wB2AP8AfgD/AIUA /wCNAP8AlQD/AJ0A/wCmAP8ArQD/ALIA/wC3AP8AvQD9AMYA8wDSAOkA5QDfAPEA1QD7AM0A/wDI AP8AxQD/AMMA/wD/FyMA/xUiAP8SIgD/DSQA/wcoAP8ALgD/ADUA/wA9AP8ARgD/AFAA/wBZAP8A YwD/AGwA/wB0AP8AfAD/AIQA/wCNAP8AlgD/AJ8A/wCqAP8ArwD/ALUA/wC6AP8AwgD3AM0A7ADg AOIA7gDXAPoAzQD/AMYA/wDBAP8AvgD/ALwA/wD/Gh8A/xgeAP8UHgD/ECAA/wojAP8AKAD/AC8A /wA3AP8AQQD/AEoA/wBUAP8AXwD/AGgA/wByAP8AewD/AIQA/wCOAP8AmAD/AKIA/wCsAP8AsgD/ ALcA/wC+APsAyQDwANsA5QDrANkA+QDOAP8AxgD/AL8A/wC6AP8AtwD/ALUA/wD/HBsA/xoZAP8X GQD/EhoA/w0dAP8EIgD/ACgA/wAwAP8AOgD/AEQA/wBPAP8AWQD/AGMA/wBsAP8AdQD/AH0A/wCG AP8AkAD/AJkA/wCkAP8AsQD/ALsA/wDFAPMA1QDnAOkA2wD4AM8A/wDFAP8AvQD/ALcA/wCyAP8A sAD/AKwA/wD/HhcA/xwVAP8ZFAD/FBQA/xAWAP8HGgD/ACAA/wAoAP8AMwD/AD0A/wBIAP8AUgD/ AFwA/wBlAP8AbQD/AHUA/wB+AP8AhwD/AJEA/QCcAPoAqAD3ALcA8wDMAOkA5wDdAPcA0AD/AMUA /wC8AP8AtAD/AKoA/wChAP8AmwL/AJgD/wD/IBMA/x8QAP8cDgD/Fw4A/xEPAP8KEgD/ARgA/wAi AP8ALAD/ADcA/wBCAP8ATAD9AFUA+QBeAPUAZgDxAG8A7gB3AOoAgADnAIoA4wCVAN8AoQDaALAA 1ADDAM4A5QDIAP0AwQD/ALsA/wCwAP8AoAT/AJQH/wCNCf8AiQv/AIcL/wD/IxAA/yEMAP8eCQD/ GgcA/xMHAP8NCwD/ChIA/wUbAP8BJgD4ADAA7wA7AOoARQDlAE8A4ABYANwAYADWAGkA0gFxAM4B egDKAoQAxgKPAMICnAC9AqsAuAK+ALIE4ACtBfoApwf/AKAI/wCXCv8Aiw7/AIMQ/wB9Ef8AehH/ AHgS/wD/JQwA/yQHAP8hAgD/HAAA/xUAAP8TBAD/EAwA/wwUAPEIHgDhBykA2Qg0ANEIPwDLCUkA xgpSAMILWwC+C2MAugxsALcMdQCzDYAAsA2MAKwOmgCoDqoApA6+AJ4P5ACXEf8AkBL/AIsS/wCE FP8Aexb/AHUX/wBxGP8Abhj/AG0Z/wD/JwgA/yYCAP8kAAD9HwAA9R4AAOsbAADkFgMA4w8LANkN FADLDiEAwRAtALkSOQCzE0MArhRMAKsVVQCnFl4ApBZnAKEXcACeGHsAmxiHAJcZlQCUGaUAkBm6 AIsa3gCFG/0Afxz/AHod/wB1Hf8Abh7/AGkf/wBmH/8AZR//AGQf/wD/KQQA/ykAAPooAADzJwAA 5CgAANUnAADLIwAAxR0FAMAWDgCzGBsAqxsoAKQcMwCfHj4Amx9HAJggUACVIVkAkiFiAI8iawCM InYAiSOCAIYjkACDI6EAgCS1AHsk1gB2JfsAcSb/AG0m/wBpJv8AZCb/AGAm/wBeJf8AXSX/AFwl /wD/KwEA+ysAAPEtAADnLQAA0jAAAMMwAAC4LQAAsCgAAKsiCQCiIhYAmSQjAJMmLwCPJzkAiyhD AIgpTACFKlUAgypeAIArZwB+K3EAeyt9AHksjAB2LJ0Acy2xAG8tzwBrLvgAZy7/AGMu/wBgLf8A XC3/AFkr/wBXK/8AVir/AFYq/wD/LQAA9C8AAOgxAADZMwAAxDYAALU3AACrNQAAojEAAJssAwCT KhEAjCweAIYuKgCCLzUAfjA/AHsxSAB5MVEAdzJaAHUyYwBzM24AcDN6AG40iABrNJoAaDSuAGU0 ygBhNfYAXjX/AFs1/wBYNP8AVTL/AFMx/wBSMP8AUS//AFEu/wD8LgAA7jMAAOE1AADMOAAAuTwA AKs9AACgPAAAljgAAI40AACHMg4AgDMaAHs1JwB3NjEAdDc7AHE4RQBvOE4AbTlWAGs5YABpOmoA Zzp2AGU6hABiOpYBYDqqAV06xgFZO/MBVzv/AFQ7/wBSOv8ATzj/AE02/wBNNP8ATDP/AEwy/wD2 MQAA6DYAANk5AADDPQAAsEEAAKNCAACYQgAAjT4AAIU6AAB9OQoAdzoWAHI7IwBuPC4Aaz04AGk+ QQBnPkoAZT9TAGM/XQBhP2cAX0BzAF1AgQFbQJIBWECnAVVAwgFTQPEBUED/AU5A/wBMP/8ASj3/ AEk6/wBIOP8ASDf/AEg2/wDxNAAA4jkAANE8AAC6QQAAqUUAAJxHAACRRwAAhUMAAHw/AAB1PwYA bkATAGpBHwBmQisAZEM1AGJDPwBgREcAXkRRAFxFWgBbRWQAWUVwAFZFfgFURY8BUkWkAU9FvwFN Re4BS0X/AUlF/wBHRP8ARkH/AEQ+/wBEPP8ARDv/AEQ6/wDtNwAA3DsAAMo/AACzRQAAokkAAJZL AACKSwAAfkgAAHVEAABtRQIAZ0UQAGNHHABgRygAXUgyAFtJPABZSUUAWEpOAFZKVwBVSmIAU0pt AFBKewFOSo0BTEqiAUlKvQJHSuwBRUr/AUNJ/wBCSP8AQUX/AEBC/wBAP/8AQD7/AEA9/wDnOQAA 1T4AAMJCAACsSAAAnEwAAJBPAACETwAAeE0AAG5JAABmSgAAYUsNAFxMGABZTSQAV04vAFVOOQBT TkIAUk9LAFBPVQBPT18ATU9rAEtPeQFIT4oBRk+gAURPugFBT+oBQE//AT5O/wA9Tf8APUn/ADxG /wA8Q/8APUH/AD1A/wDiPAAAz0EAALpGAACmTAAAl1AAAIpTAAB+UwAAclEAAGhPAABgUAAAWlEJ AFZSFQBTUiEAUFMsAE9UNQBNVD8AS1RIAEpVUgBJVVwAR1VoAEVVdgFDVIcBQFSdAT5UuAE8VOgB O1T/ATlT/wA4Uv8AOE7/ADhK/wA4R/8AOUX/ADlE/wDcPwAAyEQAALJKAACfUAAAkVQAAIVXAAB5 VwAAbVYAAGJVAABaVgAAVFcFAE9YEQBMWR0ASlkoAEhaMgBGWjsARVpFAENbTgBCW1kAQVtlAD9b cwA9WoQBOlqbAThatQE2WuUBNVn/ADRY/wAzV/8AM1L/ADNO/wA0S/8ANUn/ADVI/wDUQgAAwUcA AKtOAACZVAAAi1gAAH9bAABzWwAAaFoAAF1bAABTXQAATV4AAEhfDQBFYBgAQ2AjAEFhLgA/YTcA PmFBADxhSgA7YVUAOmFhADhhcAA2YYEANGGYADJhswAwYeMAL1//AC1e/wAsXf8ALVf/AC5T/wAv UP8AME3/ADFM/wDMRQAAuUoAAKNSAACSWAAAhVwAAHpfAABuYAAAZF8AAFlgAABOZAAAR2YAAEFn CAA9aBMAO2geADlpKQA3aTMANmk8ADRpRgAzaVEAMmldADBpawAuaX0ALWmUACtosAApaN8AKGb/ ACZl/wAmY/8AJ17/AClY/wAqVf8AK1L/ACxR/wDDSQAAr08AAJtXAACLXQAAf2EAAHVkAABqZQAA X2UAAFVnAABKagAAQm0AADpwAQA0cQ0AMnIYADByIwAuci0ALXI3ACtyQQAqckwAKXJYACdyZwAm cXkAJHGQACJxrAAgcNgAIG7/AB9s/wAea/8AIWX/ACNf/wAlW/8AJlj/ACZW/wC6TQAApVUAAJJc AACEYgAAeWYAAG9pAABlawAAWmsAAFBuAABGcQAAPXUAADV4AAAsfAYAKH0RACZ9HAAkfSYAI30w ACJ9OwAgfUYAH31SAB58YQAcfHMAGnuKABl7pwAXetAAFnj/ABZ2/wAWdP8AGW3/ABxn/wAeYv8A H1//ACBd/wCwUgAAmlsAAIphAAB9ZwAAc2sAAGpuAABgcgAAVXQAAEt3AABCewAAOH8AAC+DAAAn hwAAHowJABuMEwAZjB4AGIwoABeMMwAViz4AFItLABOKWgASiWwAEYiDABCHoQAOhcgADoP9AA6A /wAOf/8AEXf/ABRw/wAXa/8AGGf/ABpl/wCjWQAAkGEAAIFnAAB2bAAAbnAAAGR1AABaegAAUH8A AEaCAAA8hwAAM4wAACmRAAAhlgAAGZsAABGfCgAPoBMADp8fAA2eKgAMnTYAC5xDAAqbUQAImWMA B5d5AAWVlQADkrgAA5DxAASO/wADjP8ACYL/AA17/wAQdf8AEXH/ABJv/wCWYAAAhmcAAHptAABw cQAAZncAAFx9AABShAAASYoAAECQAAA2lwAALZ0AACSjAAAbqAAAE6wAAA2xAgAHsw0AA7MWAAKy IQAAsiwAALA5AACvRwAArVgAAKpsAACohwAApakAAKLiAACf/wAAnf8AAJH/AAOH/wAIgf8ACnz/ AAx6/wCKZwAAfW0AAHNyAABpeAAAXoAAAFSIAABKkAAAQZgAADegAAAupwAAJa4AAB21AAAUuQAA Dr8AAAjDAAAAxgYAAMcPAADHGAAAxyMAAMcuAADHOwAAxksAAMRfAADBeAAAvpoAALrFAAC3/wAA sv8AAKT/AACX/wAAj/8AAIr/AAKH/wB/bgAAdXMAAGt5AABgggAAVowAAEuWAABBoAAAOKkAAC6y AAAluwAAHcIAABXIAAAOzQAACNMAAALYAAAA3AAAAN4GAADfDgAA4BcAAOIiAADjLwAA5T0AAORQ AADhZwAA3oYAANqvAADV8QAAxP8AALf/AACs/wAAo/8AAJz/AACY/wB3cwAAbXoAAGKEAABXjwAA TZoAAEOmAAA4sgAALr0AACTIAAAc0QAAFNkAAA7fAAAH5QAAAOoAAADtAAAA8QAAAPQAAAD2AwAA +QwAAPsUAAD+IAAA/y4AAP8/AAD/VQAA/3AAAP2WAADxwAAA2uoAAMr/AAC+/wAAtv8AALH/AACs /wBvegAAZIQAAFqPAABQmgAARqYAAD2yAAAzvgAAKcoAACDVAAAX3wAAEOcAAAruAAAB9QAAAPsA AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8IAAD/EQAA/x0AAP8tAAD/QQAA/1oAAP97AAD/qQAA9rsA AOHgAADR+AAAyP8AAML/AAC+/wBmhAAAXI8AAFOaAABKpgAAQLIAADe+AAAuyQAAJdUAAB3fAAAV 5wAAD+0AAAn0AAAB+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAAD/CwAA/xQAAP8gAAD/ MAAA/0QAAP9fAAD/gQAA/6gAAPy3AADpzQAA3egAANT0AADQ+gBfjgAAVpkAAE2lAABEsAAAO7wA ADLIAAAq1AAAIt8AABrmAAAT7QAADvMAAAj4AAAB/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/BwAA/w4AAP8YAAD/JAAA/zMAAP9HAAD/YQAA/4EAAP+mAAD/sgAA9b4AAOzKAADm1AD/ DyYA/wwmAP8HJwD/ACkA/wAuAP8ANAD/ADsA/wBDAP8ATAD/AFQA/wBcAP8AZAD/AGsA/wByAP8A eQD/AH8A/wCGAP8AjQD/AJQA/wCcAP8ApQD/AKwA/wCxAP8AtgD/AL0A9wDGAOwA0wDiAOUA2ADx AM8A+QDJAP8AxQD/AMMA/wD/ESMA/w4jAP8KIwD/AiYA/wAqAP8AMAD/ADcA/wA/AP8ARwD/AFEA /wBZAP8AYQD/AGkA/wBwAP8AdwD/AH4A/wCFAP8AjQD/AJUA/wCeAP8AqAD/AK4A/wCzAP8AuAD8 AMEA8QDMAOYA4ADbAO0A0AD4AMkA/wDDAP8AvwD/AL0A/wD/EyAA/xAfAP8MHwD/BSEA/wAlAP8A KgD/ADIA/wA5AP8AQgD/AEwA/wBVAP8AXQD/AGYA/wBuAP8AdQD/AH0A/wCFAP8AjQD/AJYA/wCg AP8AqgD/ALAA/wC1AP8AvAD1AMcA6QDYAN4A6gDSAPcAyAD/AMEA/wC8AP8AuAD/ALYA/wD/FRwA /xIbAP8OGwD/CBwA/wAfAP8AJAD/ACsA/wAzAP8APAD/AEYA/wBPAP8AWQD/AGIA/wBqAP8AcwD/ AHwA/wCEAP8AjQD/AJcA/wChAP8ArAD/ALIA/wC5APkAwgDtANAA4ADmANMA9QDJAP8AwAD/ALkA /wC0AP8AsQD/AK8A/wD/FxgA/xQWAP8QFQD/CxYA/wEYAP8AHQD/ACMA/wArAP8ANQD/AD8A/wBJ AP8AUgD/AFsA/wBkAP8AbAD/AHQA/wB7AP8AhAD/AI0A/wCYAP8ApAD/ALIA/QC/APAAywDiAOMA 1QD0AMkA/wC/AP8AtwD/ALAA/wCrAP8ApQD/AKIA/wD/GRMA/xYRAP8SEAD/DQ8A/wQRAP8AFAD/ ABoA/wAjAP8ALgD/ADgA/wBCAP8ATAD/AFQA/wBdAP8AZAD9AGwA+wBzAPgAfAD0AIUA8QCPAO4A mwDpAKkA5AC6AOAA1gDWAPIAyQD/AL4A/wC1AP8ArQD/AKIA/wCbAP8AlgD/AJIA/wD/Gw8A/xgM AP8UCgD/DggA/wYJAP8ADAD/ABMA/wAdAP8AKAD7ADIA9gA8APMARQDuAE4A6QBWAOUAXQDhAGUA 3QBtANkAdQDUAH4A0ACIAMsAlADGAKEAwQCxALwAyAC3AO4AsgD/AK0A/wCpAP8AnAD/AJAA/wCI Av8AhAT/AIEF/wD/HQsA/xoGAP8WAgD/EAAA/wcAAP8CBQD/AA0A8wAWAOoAIQDiACwA2wA2ANUA PwDQAEcAygBQAMYAVwDCAF8AvgBnALoAbwC2AHgAswCCAK8AjgCrAJwApwCsAKMAwQCeAOcAmQD/ AJUA/wCRAf8Ahgb/AH0J/wB3C/8AdAz/AHIN/wD/HwcA/x0AAP8YAAD/EgAA+g4AAPALAADsBAUA 3wAPANEAGgDIACUAwAAvALoAOQC1AUIAsAJKAK0DUgCpA1oApgRhAKQEagChBXMAngZ9AJoGiQCX B5gAkwepAI8IvgCLCeUAhgv/AIAM/wB8DP8AdQ7/AG8R/wBrEv8AaBL/AGcT/wD/IQIA/x8AAPsd AAD1GgAA5hkAANgXAADMEgAAxwwGAL8GEQC0Bx0ArAkoAKULMwChDDwAnQ1FAJoOTQCXDlUAlA9d AJIQZQCPEG8AjBB5AIkRhgCGEZYAgxGoAH8SvwB6E+gAdRT/AHAV/wBtFf8AaBb/AGMY/wBhGP8A Xxn/AF4Z/wD/IwAA+iMAAPIjAADnIgAA0iQAAMMiAAC0HgAArBgAAKoRCgChERYAmRIiAJMULQCP FTcAixZAAIgXSACFGFAAgxhYAIAZYQB+GWoAfBp1AHkagQB2G5EAcxukAHAcugBsHOQAaB3/AGQe /wBhHv8AXR7/AFof/wBYH/8AVx//AFcf/wD/JQAA8ygAAOgoAADWKQAAwiwAALIrAACkJwAAmyIA AJYcBACRGhEAiRwdAIQdKACAHjIAfB87AHogRAB3IUwAdSJUAHMiXQBxImYAbyNwAG0jfQBqJI0A aCSgAGUltgBhJd8AXiX/AFom/wBYJf8AVSX/AFMl/wBRJf8AUST/AFAk/wD5KQAA7CwAAN8tAADJ MAAAtTIAAKYyAACXLgAAjioAAIgmAACDIg0AfSQZAHglJAB0Ji4AcSc4AG4oQABsKUgAailQAGkq WQBnKmIAZSttAGMregBhK4kAXiydAFwsswBZLNoAVS3/AFIs/wBQLP8ATiv/AEwq/wBMKv8ASyn/ AEsp/wD0LAAA5S8AANYwAAC+NQAArDgAAJw3AACNNAAAhDAAAH0tAAB4KgkAcisVAG4sIABqLSsA Zy40AGUvPQBjMEUAYjBNAGAwVgBeMV8AXTFqAFsxdgBZMoYAVzKZAFQysABRM9MATjP9AEwy/wBK Mv8ASDH/AEcv/wBGLv8ARi3/AEYt/wDuLwAA3zIAAM00AAC2OQAApTwAAJQ8AACFOQAAfDYAAHUz AABvMQUAajERAGYzHQBiNCcAYDQxAF41OgBcNkIAWjZKAFk2UwBXN1wAVjdnAFQ3dABSOIMAUDiX AE44rgBLOM8ASDj8AEY4/wBEN/8AQjb/AEI0/wBCMv8AQjH/AEIw/wDpMQAA2DUAAMU4AACuPQAA nkEAAI1AAAB/PgAAdTsAAG44AABoNwEAYzcOAF84GQBcOSQAWTouAFc7NwBVOz8AVDxIAFI8UABR PFoATzxkAE49cQBMPYAASj2UAEg9qwBFPswAQz36AEA9/wA/PP8APTr/AD04/wA9Nv8APjX/AD40 /wDkNAAA0jgAAL08AACoQQAAmEUAAIdEAAB5QgAAb0AAAGg8AABhPQAAXD0LAFg+FgBVPyEAUz8r AFFANABPQD0ATkFFAExBTgBLQVcASkFiAEhCbgBGQn4AREKSAEJCqQBAQskAPUL5ADtB/wA6QP8A OT7/ADk8/wA6Ov8AOjj/ADo3/wDfNgAAzDoAALY/AACiRQAAk0gAAIFHAAB0RQAAakQAAGJBAABb QgAAVkMIAFJDEwBPRB4ATUQoAEtFMQBKRToASEZCAEdGSwBFRlUAREZfAEJGbABBRnwAP0ePAD1H pwA6R8cAOEf4ADZG/wA1Rf8ANEP/ADVA/wA2Pf8ANjz/ADc6/wDZOQAAxj0AAK9DAACcSAAAjkwA AHxKAABvSQAAZUgAAFxGAABWRwAAUEgEAExJEABJSRoAR0olAEVKLgBDSzcAQks/AEFLSAA/S1IA PktcADxMaQA7THkAOUyNADdMpQA0TMQAMkv2ADFL/wAwSf8AL0f/ADFE/wAyQf8AMj//ADM+/wDS PAAAwEAAAKhHAACXTAAAiVAAAHdOAABqTQAAYUwAAFdMAABQTQAAS04AAEZPDABDTxYAQVAhAD9Q KgA9UDMAPFE8ADpRRQA5UU8AOFFZADZRZgA0UXYAM1GKADFRogAuUcEALVH0ACtQ/wAqTv8AKkz/ ACxI/wAtRf8ALkP/AC9C/wDLPwAAuEMAAKFLAACRUAAAg1QAAHJSAABmUQAAXVAAAFJRAABKUwAA RFQAAEBVCAA8VhIAOVYcADhWJgA2Vy8ANVc4ADNXQQAyV0sAMVdWAC9XYwAtV3IALFeGACpXnwAo V74AJlbyACVV/wAkVP8AJVH/ACdN/wApSv8AKkj/ACtG/wDEQgAAr0gAAJpPAACLVAAAfVcAAG1W AABiVQAAWVUAAE9WAABGWAAAP1oAADhcAgA0XQ4AMl4XADBeIQAuXisALV40ACtePQAqXkcAKV5S ACdeXwAmXm8AJF6CACJenAAgXrsAH13wAB5c/wAeWv8AH1f/ACFT/wAjT/8AJU3/ACZL/wC7RgAA pk0AAJNUAACEWQAAd1wAAGlaAABeWQAAVVkAAExbAABCXgAAO2AAADRjAAAsZggAKWcSACdnHAAl ZyUAJGcvACNnOAAiZ0IAIGdNAB9nWgAdZmoAHGZ+ABpmmAAYZbcAF2TtABdj/wAWYv8AGF//ABtZ /wAeVf8AH1L/ACBR/wCzSgAAnVIAAItZAAB+XgAAcmEAAGVfAABaXgAAUV8AAEdiAAA+ZQAANmgA AC5rAAAnbgAAIHEMAB1xFQAccR8AGnEoABlxMgAYcTwAF3FHABVxVQAUcGUAE3B5ABFvkwAQbrIA D23pAA9s/wAPav8AEGf/ABRh/wAXXP8AGVn/ABpX/wCoUAAAk1gAAIRfAAB4YwAAbWYAAGFkAABW ZQAATGcAAENpAAA6bQAAMXEAACl0AAAieAAAGnsCABN+DQASfhYAEX4gABB+KgAOfjUADn1AAA18 TgAMe10AC3pxAAl5igAHeKgABnfVAAd1/wAHdP8ACXD/AA1q/wAQZf8AEmH/ABNf/wCbVwAAil4A AHxkAAByaQAAaWwAAFxrAABRbQAAR3AAAD5zAAA0dwAALHwAACSAAAAchAAAFIgAAA6MBgAJjg4A B40YAAWNIgAEjC0AA4w5AAGLRgAAiVUAAIhnAACGfwAAhJ0AAILEAACB/QAAf/8AAHv/AAR0/wAJ bv8ADGv/AA1o/wCQXgAAgWUAAHVqAABtbgAAY3MAAFd1AABMeAAAQnwAADiBAAAvhQAAJooAAB6P AAAWlAAAEJgAAAqdAQADnwoAAJ8SAACfGwAAnyUAAJ8wAACePQAAnEsAAJpdAACYdAAAlpIAAJS2 AACR9AAAjv8AAIr/AACA/wAAef8AA3X/AAVz/wCFZQAAeGsAAHBvAABmdQAAW3sAAFGCAABHiAAA PI0AADOTAAApmQAAIZ8AABilAAARqgAAC60AAAWxAAAAswMAALQLAAC0EwAAtRwAALUmAAC2MgAA tkAAALRSAACxZwAAr4MAAKuoAACp5AAApf8AAJv/AACR/wAAiP8AAIL/AAB//wB7bAAAcnAAAGh2 AABdfgAAU4YAAEiPAAA+lwAANKAAACqnAAAhrgAAGbUAABG6AAALvgAABMMAAADGAAAAyQAAAMsD AADMCwAAzhIAANAbAADSJgAA1DQAANREAADRWQAAznMAAMuWAADIxgAAwv8AALP/AACm/wAAmf8A AJT/AACP/wB0cQAAangAAF+AAABUigAASZUAAD+gAAA0qgAAKrMAACG9AAAYxQAAEMsAAAvQAAAD 1QAAANsAAADeAAAA4gAAAOUAAADnAAAA6ggAAO0QAADwGgAA8yYAAPc1AAD3SAAA9GEAAPGBAADu rQAA2t4AAMj7AAC6/wAAsf8AAKr/AACj/wBseAAAYYIAAFeMAABNlgAAQ6EAADmtAAAuuAAAJcMA ABvNAAAS1wAADN8AAAPmAAAA7QAAAPIAAAD1AAAA+QAAAPwAAAD/AAAA/wAAAP8EAAD/DQAA/xgA AP8mAAD/NwAA/00AAP9qAAD/kwAA+rQAAODRAADP8gAAxP8AALz/AAC3/wBjggAAWowAAFCWAABH ogAAPa0AADO4AAAqxAAAIc4AABjZAAAR4AAAC+cAAAPtAAAA8wAAAPgAAAD9AAAA/wAAAP8AAAD/ AAAA/wAAAP8AAAD/BQAA/w4AAP8aAAD/KQAA/zsAAP9TAAD/cgAA/54AAP+yAADoxwAA2uQAANDy AADL+gBcjAAAU5YAAEqhAABBrAAAOLgAAC/DAAAmzgAAHtkAABbgAAAQ5wAACu0AAAPzAAAA+AAA APwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQAA/woAAP8SAAD/HwAA/y4AAP9BAAD/WAAA /3UAAP+dAAD/rgAA8rwAAOfKAADg2AD/CyMA/wYjAP8AJAD/ACcA/wArAP8AMgD/ADgA/wBAAP8A SAD/AFAA/wBYAP8AXwD/AGYA/wBtAP8AcwD/AHkA/wB/AP8AhQD/AIwA/wCVAP8AngD/AKgA/wCu AP8AswD/ALkA9gDBAOoAzQDfAOEA0wDvAMsA+ADFAP8AwAD/AL4A/wD/DSAA/wkgAP8BIAD/ACMA /wAnAP8ALQD/ADMA/wA8AP8ARAD/AEwA/wBUAP8AXAD/AGQA/wBqAP8AcQD/AHcA/wB+AP8AhQD/ AI0A/wCWAP8AoQD/AKoA/wCvAP8AtQD7ALwA7wDHAOIA2gDWAOoAzAD3AMQA/wC+AP8AugD/ALgA /wD/Dx0A/wscAP8EHAD/AB4A/wAhAP8AJwD/AC4A/wA2AP8APgD/AEcA/wBQAP8AWAD/AGAA/wBn AP8AbgD/AHUA/wB9AP8AhQD/AI4A/wCYAP8ApAD/AKwA/wCxAP8AuADzAMIA5gDQANkA5gDNAPUA xAD/ALwA/wC2AP8AswD/ALAA/wD/EBkA/w0XAP8HFwD/ABgA/wAbAP8AHwD/ACYA/wAvAP8ANwD/ AEEA/wBKAP8AUwD/AFsA/wBjAP8AawD/AHIA/wB6AP8AgwD/AIwA/wCWAP8AogD/AK4A/wC0APgA vQDpAMoA3ADiAM4A8wDDAP8AugD/ALMA/wCuAP8AqwD/AKgA/wD/EhQA/w4SAP8JEQD/ABIA/wAT AP8AFwD/AB0A/wAmAP8AMAD/ADkA/wBDAP8ATAD/AFQA/wBcAP8AYwD/AGoA/wByAP8AegD/AIIA /wCNAP8AmAD8AKYA+QC2AOwAxgDdAN0AzwDwAMMA/wC5AP8AsQD/AKoA/wCiAP8AnAD/AJkA/wD/ ExAA/xANAP8LCwD/AgoA/wAMAP8ADgD/ABUA/wAfAP8AKQD/ADMA/wA8AP8ARQD8AE0A9wBVAPQA XADwAGMA7QBqAOkAcgDlAHoA4gCEAN0AjwDZAJwA0wCsAM0AwQDJAOcAwgD/ALcA/wCuAP8ApAD/ AJkA/wCRAP8AjAD/AIoA/wD/FQsA/xIHAP8MAwD/AwEA/wABAP8ABgD/ABAA+AAZAPAAIwDqAC0A 5QA2AOEAPgDcAEcA1QBOANAAVQDMAFwAyABjAMUAawDBAHMAvQB8ALkAhwC1AJQAsQCkAKwAtwCo ANYApAD5AKAA/wCdAP8AkQD/AIgA/wCCAP8AfgD/AHsA/wD/FwYA/xMAAP8OAAD/BAAA/wAAAP0A AADrAAoA3QATANIAHQDJACYAwwAwAL4AOAC6AEAAtQBIALEATwCuAFYAqwBdAKgAZQClAG0AogB2 AJ8AgQCcAI4AmACdAJQAsACRAMoAjQDyAIkA/wCFAP8AgQD/AHgA/wByBP8Abwb/AG0H/wD/GQAA /xQAAP0RAAD5DQAA6wsAANwHAADRAAIAwwANALgAFgCwACAAqgAqAKYAMwChADsAngBDAJsASgCY AFEAlQBYAJMAXwCQAGcAjgBxAIsAfACIAIkAhQCZAIEAqwB+AcQAegPtAHcE/wBzBv8Abwf/AGkK /wBlDP8AYw3/AGIO/wD/GwAA+xoAAPMYAADpFQAA1BYAAL8SAACyDgAArQgFAKYCDwCfABkAmQEj AJQDLQCPBTYAjAY+AIkHRQCGCEwAhAhTAIIJWwB/CWMAfQptAHsKeAB4C4YAdQuXAHMMqgBvDMQA bA3vAGgO/wBkDv8AYQ//AF0R/wBbEv8AWRP/AFkT/wD9HQAA8x8AAOkeAADWHwAAvx8AAKscAACe GAAAlxMAAJUOBwCQCxIAiQwdAIQNJwCADjAAfRA5AHoQQAB4EUgAdRFPAHMSVwBxEmAAbxJpAG0T dQBrE4MAaBSUAGYUqABjFMMAXxXwAFwW/wBZFv8AVxb/AFQY/wBSGf8AUhn/AFEZ/wD3IgAA6yQA AN8jAADHJgAAsCcAAJwkAACQIAAAiB0AAIMYAACBEw0AexQYAHYVIgBzFywAcBg0AG0YPABrGUQA aRpLAGcaUwBmG1wAZBtlAGIbcQBgHH8AXhyQAFsdpQBZHb8AVh7tAFMe/wBQHv8ATh7/AEwe/wBL H/8ASx//AEse/wDxJgAA5CgAANQoAAC7LAAApC0AAJEqAACFJwAAfSQAAHchAAB0HAgAcBwTAGse HgBoHygAZSAxAGMgOQBhIUAAXyFIAF4iUABcIlgAWyNiAFkjbQBXI3sAVSSNAFMkogBQJLwATSXq AEsl/wBJJf8ARyT/AEYk/wBFJP8ARSP/AEUj/wDsKQAA3CsAAMktAACyMgAAmzEAAIkwAAB8LQAA dCoAAG4nAABrJAQAZyMQAGMlGgBfJiQAXSYtAFsnNQBZKD0AVyhFAFYpTQBVKVUAUylfAFEqagBQ KngATiqKAEsqnwBJK7kARivoAEQr/wBCK/8AQCr/AEAp/wBAKP8AQCj/AEAn/wDmLAAA1S4AAMAx AACqNgAAkzYAAIE0AAB1MgAAbi8AAGctAABjKgAAXyoNAFsrFwBYLCEAViwqAFQtMgBSLjoAUS5C AE8uSgBOL1MATC9cAEsvaABJMHYARzCHAEUwnQBDMLYAQDDlAD4w/wA8MP8AOy//ADsu/wA7Lf8A PCz/ADwr/wDhLwAAzzEAALg1AACkOgAAjTkAAHs4AABwNgAAaDQAAGIxAABdMAAAWDAJAFUxFABS MR4AUDInAE4zMABMMzcASjM/AEk0RwBINFAARjRaAEU1ZQBDNXMAQTWEAD81mgA9NbQAOjXjADg1 /wA3NP8ANjT/ADYy/wA3MP8ANy//ADgv/wDbMQAAyTMAALE5AACePgAAhz0AAHY7AABrOgAAYzgA AF01AABXNQAAUjYGAE82EQBMNxsASjckAEg4LQBGODUARTk9AEM5RQBCOU4AQTlXAD85YwA9OXEA PDqCADo6mAA3OrIANTrhADM6/wAyOf8AMTj/ADI2/wAzNP8ANDP/ADQy/wDVMwAAxDYAAKs9AACY QQAAgkAAAHE/AABmPQAAXjwAAFc5AABROgAATTsCAEk7DgBGPBcARDwhAEI9KgBAPTIAPz06AD4+ QgA8PksAOz5VADo+YQA4Pm4ANj6AADQ+lgAyPrAAMD/eAC4+/wAtPf8ALDz/AC06/wAvOP8AMDb/ ADE1/wDPNgAAvTkAAKVAAACTRAAAfEMAAG1CAABiQQAAWkAAAFI+AABMPwAAR0AAAENBCwBAQRQA PkEeADxCJwA6Qi8AOUI3ADhDQAA2Q0gANUNSADRDXgAyQ2wAMEN9AC5DlAAsQ64AKkPbAClD/wAo Qv8AJ0H/ACk+/wArPP8ALDr/AC05/wDJOQAAtT0AAJ9EAACMSAAAd0YAAGlFAABeRAAAVkMAAExE AABGRQAAQkUAAD5GBwA6RxEAOEcaADZHIwA0SCwAM0g0ADFIPQAwSEUAL0hPAC1IWwAsSGkAKkh6 AChIkQAmSKwAJEjVACNI/wAjR/8AIkb/ACRD/wAmQP8AKD7/ACk9/wDDPAAArkEAAJlIAACGSwAA ckoAAGVIAABbSAAAUkcAAEhJAABCSgAAPEsAADdMAgAzTQ0AMU0WAC9OHwAtTigALE4wACpOOQAp TkIAKE5MACdOWAAlTmYAI053ACJOjgAgTqkAHk7QAB1N/wAdTP8AHEv/AB9I/wAhRf8AI0L/ACRB /wC8PwAApkYAAJNMAACATwAAbk0AAGFMAABXSwAAT0sAAEVNAAA/TgAAOFAAADJSAAAsVAgAKVUR ACdVGgAmVSMAJFUsACNVNQAiVT4AIFVIAB9VVAAeVWIAHFV0ABpVigAYVKYAFlTMABZT/wAWUv8A FlH/ABlN/wAcSv8AHkf/ACBG/wC1QwAAnUsAAIxRAAB6UwAAaVEAAF1QAABUTwAATE8AAENRAAA7 VAAANFYAAC1YAAAmWwIAIV0MAB9dFQAdXR4AHF0nABpdMAAZXTkAGF1EABddTwAVXV4AFFxvABJc hgARXKMAEFvIABBa/QAQWf8AEFj/ABNU/wAWUP8AGU3/ABpL/wCqSAAAlVAAAIVWAAB0VwAAZFUA AFlUAABRUwAASFUAAD9XAAA2WgAAL1wAAClfAAAiYgAAGmUGABVnDgAUZxcAE2cgABJnKgARZzMA EGc+AA9mSgAOZlgADWVqAAxlfwAKZJsACGO9AAli8wAJYf8ACWD/AA1b/wAQV/8AElT/ABRS/wCf TgAAjFYAAH5cAABuXAAAYVoAAFdYAABNWQAAQ1sAADteAAAyYgAAKmQAACNnAAAcawAAFW4AABBx CAAMcxAAC3IZAAlyIwAIci0AB3E4AAZxQwAEcFEAA29iAAFudwAAbZIAAGyzAABr6wAAav8AAGn/ AAVk/wAKX/8ADVz/AA5Z/wCUVQAAhFwAAHhiAABpYQAAXl8AAFJfAABIYQAAP2QAADZnAAAtawAA JW4AAB5yAAAXdQAAEXkAAAx8BAAFfgwAAH4UAAB+HAAAfyYAAH4wAAB+PAAAfUoAAHxaAAB6bwAA eYkAAHipAAB24AAAdP8AAHT/AABu/wABaP8ABWX/AAdi/wCKXAAAfGIAAHJnAABmZwAAWWYAAE1o AABDawAAOW4AADByAAAodwAAH3sAABh/AAASgwAADIcAAAaKAAAAjQcAAI0OAACOFgAAjx4AAI8o AACPNAAAjkEAAI1RAACLZQAAiX4AAIefAACFywAAg/8AAIH/AAB6/wAAc/8AAG//AABs/wCAYwAA dWkAAG1tAABhbwAAVHEAAEh0AAA+eAAANH0AACuCAAAihwAAGowAABKRAAANlgAAB5oAAACeAAAA oQEAAKIIAACkDwAApBYAAKUgAACmKgAApzcAAKVHAACjWQAAoXIAAJ6SAACbuwAAmPwAAJX/AACH /wAAgP8AAHz/AAB4/wB3agAAb24AAGV0AABbegAAT4AAAEOFAAA4iwAALpEAACWYAAAcnwAAFKUA AA6qAAAHrwAAALQAAAC2AAAAuQAAALsAAAC8BwAAvg4AAL8WAADBIAAAxCwAAMU6AADDTQAAwGMA AL2CAAC6qgAAt+4AALD/AACf/wAAkv8AAIr/AACF/wBxbwAAaHUAAF19AABShgAAR48AADyYAAAx ogAAJ6oAAB6yAAAVuQAADr8AAAfDAAAAyAAAAMwAAADOAAAA0gAAANUAAADYAAAA2wMAAN4MAADi FAAA5R8AAOgtAADqPwAA51QAAOVwAADilwAA3MsAAMX2AAC3/wAArP8AAKL/AACb/wBpdgAAXn8A AFSJAABJkgAAP50AADSoAAAqsgAAIL0AABbHAAAOzwAABtcAAADdAAAA4gAAAOYAAADoAAAA7AAA APAAAADzAAAA9wAAAPsAAAD/CAAA/xIAAP8eAAD/LgAA/0MAAP9dAAD/gAAA/6wAAOHHAADM7gAA wP8AALj/AACy/wBhgAAAV4kAAE2TAABEngAAOqkAADC0AAAmvgAAHcgAABTSAAAN2QAABeAAAADn AAAA7QAAAPIAAAD3AAAA/AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wkAAP8TAAD/IQAA/zIAAP9I AAD/ZgAA/5AAAP+sAADowQAA1uEAAM3xAADG+gBaiQAAUZMAAEieAAA+qQAANbQAACy+AAAjyQAA GtMAABLbAAAN4QAABecAAADtAAAA8gAAAPcAAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA /wYAAP8OAAD/GQAA/ycAAP85AAD/TwAA/2sAAP+SAAD/qwAA8bkAAOTIAADc2AD/BiEA/wAgAP8A IgD/ACQA/wAoAP8ALgD/ADYA/wA9AP8ARQD/AE0A/wBUAP8AWwD/AGEA/wBnAP8AbQD/AHMA/wB5 AP8AfwD/AIYA/wCOAP8AmAD/AKMA/wCqAP8AsAD/ALUA9QC+AOcAygDbAN4A0ADtAMcA+ADAAP8A vAD/ALkA/wD/CB0A/wEdAP8AHQD/AB8A/wAjAP8AKQD/ADAA/wA4AP8AQAD/AEgA/wBQAP8AVwD/ AF4A/wBkAP8AawD/AHEA/wB4AP8AfwD/AIYA/wCPAP8AmgD/AKYA/wCsAP8AsQD7ALkA7QDDAN8A 0wDSAOgAyAD2AL8A/wC5AP8AtQD/ALMA/wD/ChoA/wQYAP8AGQD/ABoA/wAdAP8AIwD/ACoA/wAy AP8AOgD/AEIA/wBLAP8AUgD/AFkA/wBhAP8AaAD/AG8A/wB2AP8AfgD/AIcA/wCRAP8AnAD/AKgA /wCuAP8AtADyAL0A4wDMANUA4wDJAPMAvwD/ALcA/wCyAP8ArgD/AKwA/wD/DBUA/wYTAP8AEwD/ ABMA/wAWAP8AGwD/ACIA/wAqAP8AMwD/ADsA/wBDAP8ATAD/AFQA/wBcAP8AYwD/AGoA/wBxAP8A eQD/AIIA/wCLAP8AlwD/AKUA/wCwAPYAuQDmAMYA1gDeAMkA8QC+AP8AtQD/AK4A/wCpAP8AowD/ AJ8A/wD/DRAA/wgOAP8ADQD/AA0A/wAOAP8AEgD/ABkA/wAhAP8AKgD/ADMA/wA8AP8ARQD/AE0A /wBUAP8AWwD/AGIA/wBpAPwAcAD5AHgA9gCCAPMAjQDvAJoA6wCqAOcAvgDYANUAyQDuAL0A/wCz AP8AqwD/AKIA/wCZAP8AkwD/AJAA/wD/DgwA/woJAP8BBgD/AAUA/wAFAP8ACQD/ABEA/wAbAP0A JAD5AC0A9QA2APIAPgDtAEYA6ABNAOMAVADfAFoA2wBhANYAaADTAHAAzgB5AMoAhADGAJEAwQCg AL0AsgC4AM4AtAD2ALAA/wCoAP8AmgD/AJAA/wCJAP8AhAD/AIEA/wD/EAYA/wsBAP8CAAD/AAAA /wAAAP0AAwDvAAwA5AAVANsAHgDTACcAzgAwAMoAOADGAEAAwABHALwATQC4AFQAtQBaALIAYQCv AGkArABxAKkAewClAIgAogCXAJ4AqQCaAMAAlwDqAJMA/wCRAP8AiAD/AIAA/wB5AP8AdgD/AHQA /wD/EQAA/wwAAP8GAAD+AAAA9AAAAOUAAADQAAcAwwAQALkAGACzACIArgAqAKoAMgCnADoAowBB AKAASACdAE4AmgBUAJcAWwCVAGMAkwBrAJAAdQCNAIEAigCQAIcAogCEALcAgQDfAH4A/wB7AP8A dwD/AHEA/wBtAP8AaQD/AGgB/wD/EgAA/RAAAPYOAADuCQAA0wcAAL8DAAC2AAAAqgALAKIAEgCd ABsAmAAkAJQALQCQADUAjQA8AIoAQgCIAEkAhQBPAIMAVgCBAF0AfwBmAH0AbwB6AHsAeACKAHUA nAByALEAbwDRAG0A+QBpAP8AaAD/AGMC/wBgBv8AXgj/AFwJ/wD+FgAA9BYAAOsTAADYEgAAuhEA AKcOAACcCwAAlwUDAJEADQCMABUAhwAfAIMAJwB/AC8AfAA3AHoAPgB3AEQAdQFLAHMCUgByAlkA cANiAG4DbABsBHgAagSHAGcFmQBlBa4AYgbNAF8I9gBdCf8AWgn/AFcL/wBVDf8AVA7/AFMO/wD3 GwAA7BsAAOEYAADCGgAApxkAAJYWAACLEwAAhBAAAIILBgB/Bg8AegYYAHYHIgByCSoAbwoyAG0K OQBrC0AAaQtHAGgMTgBmDFYAZA1fAGMNaQBhDXYAXw6FAFwOmQBaDrAAVw7SAFQQ+wBSEP8AUBD/ AE4R/wBNEv8ATBP/AEwU/wDwHwAA4yAAANIfAACzIQAAmiAAAIkeAAB+GwAAdxgAAHMUAAByEAkA bw4TAGsQHABnECYAZREuAGISNQBgEj0AXxNEAF0TSwBcFFMAWhRbAFgUZgBXFXIAVRWCAFIVlgBQ Fq0AThbOAEsX+wBJF/8ARxf/AEYX/wBFGP8ARRn/AEUZ/wDqIwAA2yMAAMYlAACnJwAAkCUAAH8k AAB1IQAAbh8AAGkcAABnGAMAZRUOAGEXGABeGCIAWxgqAFkZMgBXGjkAVhpAAFQbRwBTG08AURtY AFAcYwBOHG8ATBx/AEodkwBIHaoARR3KAEMe+QBBHv8AQB7/AD8d/wA/Hv8APx7/AEAe/wDjJgAA 0ycAALwqAACeKwAAhyoAAHgpAABtJwAAZyQAAGIiAABeHwAAXB0LAFkeFQBWHh4AUx8nAFEgLgBQ ITYATiE9AE0hRABLIkwASiJVAEkiYABHI2wARSN8AEMjkABBI6gAPiPHADwk+AA6JP8AOSP/ADkj /wA5I/8AOiL/ADsi/wDeKQAAzSoAALQvAACXLwAAgS4AAHItAABoKwAAYSkAAFwnAABYJQAAVSQI AFIkEQBPJRsATSUjAEsmKwBJJjMASCc6AEYnQgBFJ0oAQyhTAEIoXQBAKGoAPyh5AD0pjQA6KaUA OCnFADYp9gA0Kf8AMyj/ADMn/wA0J/8ANSb/ADYm/wDYKwAAxywAAK0zAACQMwAAezIAAG0xAABj LwAAXC0AAFcrAABTKQAATykEAEwpDgBJKhgARyshAEUrKQBDLDAAQiw4AEAsPwA/LUcAPS1QADwt WwA6LWcAOS13ADcuiwA1LqMAMi7CADAu9QAvLf8ALi3/AC4s/wAwK/8AMSr/ADIp/wDSLgAAwDAA AKc2AACKNgAAdjUAAGg0AABfMwAAVzEAAFIuAABNLgAASS8AAEYvDABDLxUAQTAeAD8wJgA9MS4A PDE1ADoxPQA5MkUAODJOADYyWQA1MmUAMzJ1ADEyiQAvMqIALTLAACsy9AAqMv8AKTH/ACow/wAs Lv8ALS3/AC4t/wDNMAAAuDMAAKA5AACFOQAAcTgAAGQ3AABbNgAAVDUAAE4zAABIMwAARDQAAEA0 CQA9NRIAOzUbADk1IwA4NisANjYzADU2OgA0NkMAMjdMADE3VgAvN2MALjdzACw3hwAqN6AAKDe+ ACY38wAlNv8AJDb/ACU0/wAoMv8AKjH/ACsw/wDHMgAAsjcAAJo8AAB/PAAAbTsAAGA6AABXOQAA UDgAAEk4AABDOAAAPzkAADs5BQA4Og8ANToXADM6IAAyOygAMDswAC87OAAuO0AALDtJACs8VAAq PGEAKDtwACY7hAAkO50AIju8ACE78QAgO/8AIDr/ACE4/wAjNv8AJTX/ACcz/wDCNQAAqzsAAJNA AAB6PwAAaT4AAF09AABUPAAATDwAAEU8AAA+PQAAOT4AADU+AQAyPwwAL0AUAC1AHAAsQCUAKkAt AClANQAoQT0AJkFGACVBUQAkQV4AIkFtACBBgQAeQJsAHEC6ABtA7wAbQP8AGz//ABw9/wAfOv8A ITn/ACM3/wC8OAAApD8AAI1DAAB1QgAAZUEAAFlAAABQQAAAST8AAEJAAAA7QQAANUIAADBEAAAr RQgAKEYQACZGGQAlRiEAI0YpACJGMQAhRjoAIEZDAB5HTgAdRlsAG0ZqABpGfgAYRpgAFka3ABVG 7QAVRf8AFUT/ABdC/wAaP/8AHT3/AB88/wC1OwAAnUMAAIZGAABwRQAAYUQAAFZEAABNQwAARkMA AD9DAAA3RQAAMkcAACxJAAAmSwMAIUwMAB9NFAAdTRwAHE0lABtNLQAZTTYAGE0/ABdNSgAWTVcA FE1nABNMewARTJUAEEy0ABBM6gAQS/8AEEr/ABFI/wAVRP8AGEL/ABpA/wCrQAAAlkgAAH9KAABr SQAAXUgAAFJHAABKRgAAQ0YAADtIAAA0SgAALkwAAChOAAAhUAAAG1MHABZVDwAVVRcAFFUgABNV KAASVTEAEVU7ABBVRgAPVFMADlRjAA1TdgAMU48AClKtAAlS3gAKUf8AClH/AAxO/wAQS/8AEkj/ ABRG/wChRgAAjk4AAHhPAABmTQAAWUwAAE9LAABISgAAQEsAADhNAAAwUAAAKVIAACNUAAAdVwAA FloAABBdCQAOXhEADV4aAAxeIgALXSsACl01AAhdQAAHXE0ABlxcAARbbwACW4gAAVqmAABZzwAB Wf8AAlj/AARW/wAKUv8ADU//AA5M/wCYTAAAhlQAAHFTAABhUQAAVlAAAE1OAABETwAAO1EAADNU AAArVwAAJFkAAB5cAAAXXwAAEmIAAA1lBgAHZw0AA2cUAAFnHQAAZyYAAGcvAABnOgAAZkcAAGZW AABlaQAAZIAAAGOeAABixQAAYf0AAGD/AABe/wACWf8ABlb/AAlU/wCOUwAAf1oAAGtYAABdVgAA U1QAAElUAABAVgAAN1kAAC5cAAAmXwAAH2MAABlmAAASaQAADWwAAAhvAgABcQoAAHIQAAByFwAA cx8AAHMoAABzMwAAc0AAAHJPAABxYQAAcHgAAG6WAABtuwAAa/gAAGr/AABo/wAAY/8AAF//AAFc /wCEWgAAeGAAAGddAABbWwAAT1oAAEVcAAA7XwAAMWMAAClmAAAhagAAGW4AABNyAAAOdQAACHgA AAJ7AAAAfQUAAH8LAACAEQAAgRkAAIIhAACCLAAAgjgAAIFHAACAWQAAf28AAH2MAAB7sQAAee8A AHf/AABy/wAAbf8AAGn/AABm/wB7YQAAcWYAAGRjAABXYgAAS2QAAEBnAAA1awAALG8AACN0AAAb eQAAFH0AAA6BAAAIhQAAAYkAAACMAAAAjwAAAJAFAACSCwAAlBEAAJYZAACXIwAAmS4AAJg9AACW TgAAlGQAAJGBAACPpgAAjeIAAIr/AACB/wAAef8AAHP/AABx/wB0aAAAbWwAAF9sAABSbgAARXEA ADp2AAAwewAAJoEAAB2HAAAVjAAAD5IAAAmXAAABnAAAAKAAAACkAAAApwAAAKkAAACsAgAArgoA ALARAACyGQAAtSQAALcyAAC1QwAAs1cAALByAACtlwAAqsgAAKb/AACZ/wAAi/8AAIP/AAB+/wBu bQAAZXMAAFp6AABNfgAAQIQAADWLAAAqkgAAIZoAABeiAAAQqAAACq4AAAK0AAAAugAAAL4AAADA AAAAxAAAAMYAAADJAAAAywAAAM4HAADRDwAA1RkAANolAADdNQAA20kAANhiAADUhAAA0bIAAMTv AACz/wAAp/8AAJr/AACT/wBndQAAXH0AAFGGAABGjwAAO5kAADCjAAAlrQAAGrcAABHAAAAKxgAA AssAAADQAAAA1QAAANoAAADcAAAA4AAAAOQAAADnAAAA6wAAAO8AAADzAwAA9w0AAPsYAAD/JwAA /zoAAP9RAAD+cAAA/JsAAOK+AADK6QAAvP8AALP/AACt/wBefgAAVIcAAEqQAABAmgAANqQAACyv AAAiuQAAGMMAABDMAAAJ0gAAANoAAADgAAAA5gAAAOwAAADxAAAA9QAAAPoAAAD9AAAA/wAAAP8A AAD/AAAA/wEAAP8MAAD/GQAA/yoAAP9AAAD/WwAA/4EAAP+oAADouwAA090AAMfyAADB+wBXhwAA TpEAAEWbAAA7pQAAMq8AACi6AAAgxAAAF80AAA/UAAAJ3AAAAOIAAADnAAAA7QAAAPEAAAD2AAAA +gAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JAAD/EwAA/yAAAP8xAAD/SAAA/2MAAP+HAAD/ qAAA8bYAAOHGAADX2QD/AB4A/wAeAP8AHwD/ACEA/wAmAP8ALAD/ADMA/wA6AP8AQQD/AEkA/wBQ AP8AVgD/AFwA/wBiAP8AaAD/AG4A/wBzAP8AegD/AIEA/wCIAP8AkgD/AJwA/wCnAP8ArQD/ALMA 9AC7AOYAxgDYANoAzADrAMMA9wC8AP8AuAD/ALUA/wD/ARsA/wAaAP8AGgD/ABwA/wAgAP8AJgD/ AC0A/wA0AP8APAD/AEQA/wBLAP8AUgD/AFgA/wBfAP8AZQD/AGsA/wByAP8AeAD/AIAA/wCJAP8A kwD/AJ8A/wCpAP8ArwD6ALYA6wDAANwAzwDOAOYAxAD1ALsA/wC1AP8AsQD/AK4A/wD/AxYA/wAV AP8AFQD/ABYA/wAaAP8AHwD/ACYA/wAuAP8ANQD/AD0A/wBEAP8ATAD/AFMA/wBaAP8AYAD/AGcA /wBuAP8AdgD/AH4A/wCIAP8AlQD/AKMA/wCrAP8AsQDwALoA4ADIANEA4QDEAPIAugD/ALMA/wCt AP8AqQD/AKYA/wD/BhIA/wAQAP8ADwD/AA8A/wASAP8AFwD/AB4A/wAlAP8ALQD/ADUA/wA9AP8A RQD/AE0A/wBUAP8AWwD/AGIA/wBoAP8AcAD/AHgA/wCBAP8AjAD/AJoA/wCpAPQAtQDjAMIA0gDY AMQA8AC5AP8AsAD/AKkA/wCiAP8AmwD/AJcA/wD/Bw0A/wAKAP8ACQD/AAgA/wAKAP8ADgD/ABQA /wAcAP8AJQD/AC4A/wA2AP8APgD/AEYA/QBNAPoAUwD2AFoA8wBgAO8AZwDsAG8A6AB3AOUAggDg AI8A2wCeANYAsQDQAM0AxADtALcA/wCtAP8ApQD/AJkA/wCRAP8AiwD/AIcA/wD/CQgA/wADAP8A AAD/AAAA/wAAAP8ABQD8AA4A8wAWAOwAHwDnACgA4wAwAOEAOADbAD8A1QBGAM8ATADLAFMAxwBZ AMMAXwDAAGYAvABvALgAeAC0AIQAsQCUAK0ApQCpAL0ApQDnAKIA/wCeAP8AkQD/AIcA/wCAAP8A fAD/AHkA/wD/CgEA/wIAAP8AAAD/AAAA/gAAAOgAAADYAAkAywARAMMAGQC9ACIAuQAqALYAMgCz ADkArgBAAKoARgCmAEwAowBSAKEAWQCeAF8AnABnAJkAcQCWAHwAkwCKAJAAnACNALIAigDTAIcA +wCEAP8AfgD/AHYA/wByAP8AbwD/AG0A/wD/CwAA/wcAAPsBAADyAAAA2gAAAMcAAAC2AAQArAAN AKQAFACfAB0AmwAlAJgALACWADMAkwA6AJAAQACNAEcAigBMAIgAUwCGAFkAgwBhAIEAagB/AHUA fACDAHoAlAB4AKkAdQDFAHMA8gBwAP8AbgD/AGkA/wBlAP8AYwD/AGIA/wD/DgAA9w0AAO8JAADU BAAAuAIAAKcAAACfAAAAlgAIAI8AEACKABcAhgAfAIMAJwCBAC4AfgA1AHsAOwB5AEEAdwBHAHUA TgBzAFQAcQBcAHAAZQBuAG8AbAB9AGoAjgBoAKMAZgC8AGMA6gBhAP8AXwD/AF0A/wBaAP8AWAH/ AFcD/wD3EwAA7RIAAOIOAAC7DgAAow0AAJILAACJBwAAhAIBAH8ACwB6ABIAdwAaAHMAIgBxACkA bwAwAGwANwBrAD0AaQBDAGcASQBmAFAAZABYAGIAYQBhAGsAXwB5AF0AigBbAJ8AWQC3AFcA5ABV Af8AUwL/AFED/wBQB/8ATwn/AE4K/wDwGAAA5BcAAM0UAACpFAAAkxQAAIQSAAB5EAAAdA0AAHEJ BABvBA0AbAEUAGgBHQBmAiUAYwMsAGEEMwBfBTkAXgU/AFwGRgBbBk0AWgdVAFgHXgBXCGkAVQh2 AFMIiABRCZ0ATwm2AE0K4gBKC/8ASQv/AEcL/wBGDf8ARg7/AEYP/wDpHAAA2xsAAL0aAACdGwAA hxoAAHgZAABvFgAAaRQAAGURAABkDQYAYwoPAF8KFwBdCyAAWgwoAFgNLwBXDTYAVQ08AFQOQwBS DkoAUQ5SAE8OXABOD2gATBB2AEoQiABIEJ4ARhC4AEMQ5wBBEf8AQBH/AD8R/wA/Ev8APxP/AEAT /wDiIAAA0h4AALAgAACSIAAAfiAAAHAeAABnHQAAYRoAAF0YAABaFQAAWhEKAFcREwBUEhwAUhIk AFATKwBOEzIATRQ5AEsUQABKFEcASRVPAEcVWQBGFWUARBZzAEIWhQBAFpsAPha2ADsX5QA6F/8A OBf/ADcW/wA4F/8AORj/ADoY/wDbIwAAyyEAAKYkAACKJAAAdyQAAGkjAABhIgAAWiAAAFYdAABT GwAAUhgGAFAXEABNGBgASxkgAEkZKABHGi8ARRo2AEQaPQBDG0QAQRtNAEAbVgA+HGIAPRxwADsc ggA5HJkANxyzADQd4wAzHf8AMh3/ADEc/wAzHP8ANBz/ADUc/wDUJQAAwiYAAJ4oAACDKAAAcSgA AGQnAABcJgAAVSQAAFEiAABOIAAASx4CAEkeDQBGHhUARB8dAEIfJQBAICwAPyAzAD4gOgA8IUIA OyFKADkhVAA4IV8ANiJuADQifwAyIpYAMCKxAC4i4AAtIv8ALCL/ACsh/wAtIf8ALyH/ADAg/wDP KAAAuyoAAJcrAAB+KwAAbCsAAGAqAABXKQAAUSgAAEwmAABJJAAARiMAAEMjCgBAIxIAPiQaADwk IgA6JSkAOSUwADgmOAA2Jj8ANSZIADMmUgAyJl0AMCdrAC8nfQAtJ5QAKiewACgn3gAnJ/8AJyb/ ACYl/wApJf8AKyT/ACwk/wDKKgAAtC4AAJEuAAB4LgAAaC4AAFwtAABULAAATSsAAEgqAABEJwAA QCgAAD0oBgA6KRAAOCkXADYpHwA1KicAMyouADIqNQAxKz0ALytGAC4rTwAtK1sAKytpACkrewAn K5IAJSuuACMr3AAjK/8AIiv/ACIq/wAlKf8AJyj/ACgn/wDFLAAArTEAAIsxAAB0MQAAZDEAAFkw AABQLwAASi8AAEQuAAA/LAAAOy0AADgtAwA1Lg0AMy4UADEuHQAvLyQALi8rACwvMwArLzsAKjBD ACkwTQAnMFkAJjBnACQweQAiMJAAIDCsAB4w2AAeMP8AHS//AB0u/wAgLf8AIyv/ACUq/wDALgAA pjQAAIY0AABvNAAAYDQAAFUzAABNMgAARzIAAEExAAA6MQAANjEAADMyAAAwMwoALTMSACszGQAq NCEAKDQpACc0MAAmNDgAJDRBACM1SwAiNVYAIDVlAB40dwAcNI4AGzSqABk01AAYNP8AGDP/ABgy /wAcMf8AHy//ACEu/wC7MQAAnjcAAIA3AABrNwAAXTYAAFI2AABKNQAAQzUAAD40AAA2NQAAMTYA AC03AAAqOAYAJzkOACU5FgAjOR4AIjklACE5LQAgOjUAHjo+AB06SAAbOlQAGjpiABg5dAAXOYsA FTmoABM50AATOf8AEzj/ABQ3/wAYNf8AGzP/AB0y/wCzNQAAlzsAAHo6AABnOgAAWTkAAE85AABH OAAAQTgAADs4AAAzOQAALjoAACo7AAAlPQIAIT4LAB4/EgAdPxoAGz8iABo/KgAZPzIAGD87ABY/ RQAVP1EAFD9fABI/cQARP4kAED+mAA4/zAAPPv4ADz3/AA88/wATOv8AFjj/ABg2/wCrOgAAjz4A AHQ+AABiPQAAVj0AAEw8AABEOwAAPjsAADg7AAAxPQAAKz4AACZAAAAhQgAAG0QHABdFDgAVRhYA FEYeABNGJgASRi4AEUY3ABBGQQAPRk0ADkVcAA1FbQAMRIQAC0SgAAlEwwAJRPcACkP/AApC/wAO P/8AET3/ABM7/wCiPwAAh0IAAG5CAABeQQAAUkAAAEk/AABCPgAAPD4AADU/AAAuQQAAJ0MAACJF AAAdRwAAF0oAABFMCgAPTREADk0ZAA1NIQAMTSkAC00zAApMPQAJTEkAB0xWAAZLZwAES30AAkqZ AAFKuwACSvIAA0n/AANI/wAJRf8ADUP/AA5B/wCaRAAAf0YAAGlGAABaRAAAT0MAAEZCAABAQQAA OEIAADFEAAAqRgAAI0kAAB5LAAAYTQAAElAAAA5TBgAJVQ0ABlUUAARVHAADVSQAAlUtAABUOAAA VEMAAFRRAABTYgAAUncAAFKTAABRtQAAUO0AAFD/AABQ/wACTP8ABkn/AApH/wCRSwAAd0sAAGNK AABWSAAATEcAAERFAAA8RgAANEgAACxKAAAlTQAAH08AABlSAAATVQAADlgAAApaBAAEXAsAAF0R AABdFwAAXh8AAF4oAABeMgAAXj0AAF1LAABcXAAAXHAAAFuMAABargAAWecAAFj/AABY/wAAVP8A AFH/AAJO/wCIUQAAb1AAAF5OAABTTAAASkoAAEFLAAA4TAAAL08AAChSAAAgVQAAGlgAABNbAAAO XgAACmEAAARkAQAAZQcAAGYNAABnEgAAaBkAAGkiAABqKwAAajYAAGlEAABoVAAAZ2kAAGaEAABl pwAAY94AAGL/AABg/wAAXf8AAFn/AABX/wB/WAAAaVUAAFtTAABRUAAARlAAADxSAAAzVQAAKlgA ACJcAAAbXwAAFGMAAA5mAAAKaQAABGwAAABvAAAAcQMAAHIIAAB0DgAAdRQAAHYbAAB4JAAAeS8A AHg9AAB3TQAAdmEAAHR8AABynwAAcc0AAG//AABr/wAAZf8AAGH/AABg/wB2XgAAZFsAAFhYAABN VwAAQlkAADdcAAAuYAAAJGQAABxoAAAVbAAAD3EAAAp0AAADeAAAAHsAAAB+AAAAgAAAAIIBAACE BwAAhg0AAIgTAACKHAAAjCYAAI00AACLRAAAiVgAAIdyAACFlAAAgsAAAID/AAB7/wAAcv8AAG3/ AABp/wBvZQAAYWEAAFVfAABIYQAAPWUAADJpAAAobgAAHnQAABZ5AAAQfgAACoMAAAKHAAAAiwAA AI8AAACTAAAAlgAAAJgAAACbAAAAngUAAKEMAACkEwAApx0AAKopAACoOQAApk0AAKNlAACghgAA nbEAAJr4AACU/wAAhf8AAHz/AAB3/wBsbAAAXWoAAFBsAABDcAAAN3UAACx7AAAiggAAGIkAABGQ AAALlgAAA5wAAACiAAAApwAAAKsAAACuAAAAsgAAALYAAAC5AAAAvAAAAMACAADDCgAAxhMAAMoe AADOLQAAzEAAAMpXAADHdAAAw58AAMDmAACv/wAAov8AAJT/AACL/wBlcwAAWXgAAEt9AAA/gwAA M4sAACiTAAAenQAAFKcAAA2vAAAFtwAAAL0AAADDAAAAyAAAAMwAAADOAAAA0gAAANYAAADaAAAA 3gAAAOEAAADlAAAA6ggAAO8SAAD1HwAA+DEAAPZHAAD0YwAA8YkAAOW3AADK4QAAuf4AAK7/AACn /wBbfQAAUYUAAEeNAAA9lwAAMqAAACiqAAAdtAAAE70AAAzGAAADzAAAANMAAADaAAAA4AAAAOUA AADqAAAA7wAAAPMAAAD4AAAA/AAAAP8AAAD/AAAA/wAAAP8GAAD/EgAA/yIAAP83AAD/UQAA/3MA AP+jAADptgAA0tMAAMTxAAC8/QBVhQAAS44AAEKXAAA4oQAALqwAACW1AAAbvwAAE8gAAAzPAAAE 1QAAANwAAADiAAAA5wAAAOwAAADwAAAA9AAAAPgAAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8DAAD/ DQAA/xoAAP8rAAD/QAAA/1oAAP98AAD/pAAA8bMAAN7FAADS2gD/ABwA/wAbAP8AHAD/AB4A/wAj AP8AKQD/ADAA/wA2AP8APQD/AEMA/wBKAP8AUAD/AFYA/wBcAP8AYQD/AGcA/wBsAP8AcgD/AHkA /wCAAP8AigD/AJYA/wCjAP8AqgD/ALAA8gC4AOQAwwDVANUAyQDrAMAA9wC5AP8AtAD/ALAA/wD/ ABgA/wAWAP8AFwD/ABkA/wAdAP8AIwD/ACkA/wAvAP8ANgD/AD0A/wBEAP8ASwD/AFEA/wBXAP8A XQD/AGMA/wBpAP8AbwD/AHcA/wB/AP8AiQD/AJYA/wCjAP8AqwD5ALIA6QC9ANoAywDLAOUAwAD1 ALcA/wCxAP8ArAD/AKkA/wD/ABMA/wARAP8AEQD/ABIA/wAWAP8AGwD/ACEA/wAoAP8ALwD/ADcA /wA+AP8ARQD/AEwA/wBSAP8AWQD/AF8A/wBmAP8AbAD/AHQA/wB+AP8AiQD/AJgA/wCkAP0AqwDs ALUA3ADEAM0A3gDAAPIAtgD/AK4A/wCpAP8ApAD/AJ4A/wD/AA4A/wAMAP8ACwD/AAsA/wAOAP8A EwD/ABkA/wAgAP8AJwD/AC8A/wA3AP8APwD/AEYA/wBNAP8AVAD/AFoA/wBgAP8AZwD/AG4A/wB3 AP8AgQD8AI4A+ACeAO4ArQDbALoAywDQAMAA7wC0AP8AqwD/AKQA/wCaAP8AkwD/AI8A/wD/AAkA /wAGAP8AAwD/AAMA/wAFAP8ACwD/ABAA/wAXAP8AIAD/ACgA/gAwAPwAOAD2AD8A8ABGAOwATADo AFIA5ABYAOAAXwDcAGYA1wBuANIAdwDOAIMAyQCTAMUApQDAAL0AuwDoALEA/wCoAP8AnQD/AJEA /wCIAP8AgwD/AIAA/wD/AAIA/wAAAP8AAAD/AAAA+wAAAPYAAADpAAoA3wASANgAGgDRACIAzQAq AMsAMgDHADkAwQA/ALwARQC4AEsAtABRALAAVwCtAF4AqgBlAKcAbgCkAHkAoQCIAJ4AmQCaAK8A lwDQAJUA/ACSAP8AhwD/AH4A/wB5AP8AdQD/AHIA/wD/AgAA/wAAAP8AAADzAAAA5gAAAM0AAAC+ AAUAtAANAK0AFQCpAB0ApgAlAKMALAChADMAnQA5AJkAPwCWAEUAlABLAJEAUQCPAFcAjABeAIoA ZwCIAHEAhQB/AIIAkACAAKUAfgDAAHsA8AB5AP8AdQD/AG8A/wBrAP8AaAD/AGYA/wD/BgAA+gMA AO0AAADaAAAAvgAAAK0AAACgAAEAlwAJAJIAEACNABgAigAfAIgAJwCGAC0AhAA0AIEAOgB+AEAA ewBFAHkASwB3AFEAdgBYAHQAYQByAGsAcAB3AG4AhwBsAJwAagC1AGgA4wBnAP8AZQD/AGEA/wBf AP8AXQD/AFsA/wD5DQAA8AoAANoCAAC5AAAAogAAAJMAAACLAAAAgwAFAH0ADAB5ABMAdwAaAHQA IgByACgAcAAvAG4ANQBsADsAagBAAGkARgBnAEwAZgBTAGQAWwBjAGUAYQByAF8AgQBeAJUAXACt AFoA0QBZAP0AWAD/AFYA/wBTAP8AUgD/AFIA/wDwEQAA5g4AAMUJAACkCQAAjwkAAIAHAAB3BAAA cwAAAG8ACABrAA4AaQAVAGYAHQBkACQAYwAqAGEAMABfADYAXgA8AFwAQgBbAEgAWQBPAFgAVwBX AGEAVQBtAFQAfABSAJAAUQCoAE8AyABOAPcATAD/AEoA/wBKAP8ASQL/AEkE/wDpFQAA2BIAALIP AACVEAAAgRAAAHMOAABrDQAAZgoAAGMHAgBhAgsAXwARAFwAGABaAB8AWAAmAFcALABVADIAVAA4 AFIAPgBRAEQAUAFMAE4BVABNAV4ATAJqAEoCeQBJAo0ARwKlAEUCwwBDBPMAQgX/AEAF/wBAB/8A QAn/AEEK/wDhGQAAyxQAAKQUAACJFQAAdhUAAGoUAABiEwAAXBEAAFkOAABYCwQAVwcNAFUFEwBS BhsAUAYiAE4HKQBNCC8ASwg1AEoIOwBJCUIASAlJAEYKUgBFClwAQwpoAEILeABAC4wAPgulADwL xAA6DPQAOQz/ADgM/wA4Df8AOQ7/ADoP/wDaHAAAvxgAAJoZAACAGgAAbhoAAGMaAABbGAAAVRYA AFIUAABPEQAATw4HAE4MDgBLDRYASQ0eAEcOJQBGDisARA4yAEMPOQBCD0AAQBBHAD8QUAA9EFsA PBBoADoQeAA4EY0ANhGmADQRxwAyEfgAMRH/ADAR/wAxEv8AMxL/ADQT/wDSHwAAtBwAAJEdAAB5 HgAAaB4AAF0eAABVHQAAUBsAAEwZAABJFwAARxQBAEYSCwBEEhIAQhMaAEATIgA/FCgAPRQvADwU NgA6FT0AORVFADgVTgA2FVgANBZlADMWdgAxFosALxakACwWxQArFvgAKhf/ACoW/wArFv8ALRf/ AC8X/wDNIQAAqyAAAIohAABzIgAAYyIAAFkhAABRIQAASx8AAEceAABEGwAAQhoAAEAYBwA+GBAA PBgXADoZHwA4GSUANxosADUaMwA0GjoAMxtCADEbSwAwG1YALhtjACwbcwAqG4gAKBuiACYbwwAl HPcAJRz/ACQb/wAmG/8AKBv/ACob/wDIIwAAoyMAAIQkAABuJQAAXyUAAFUkAABNJAAARyMAAEMi AAA/IAAAPR4AADoeBAA4HQ0ANh4UADQeHAAyHyMAMR8qAC8fMAAuIDgALSBAACsgSQAqIFQAKCBh ACcgcQAlIIYAIyCgACEgwQAgIPYAICD/ACAf/wAhH/8AJB//ACYf/wDDJQAAnCYAAH4nAABqKAAA XCgAAFEnAABKJwAARCYAAD8lAAA7JAAAOCIAADUiAAAyIwoAMCMSAC4jGQAtIyAAKyQnACokLgAo JDUAJyQ+ACYlRwAlJVIAIyVfACElbwAgJYQAHiWfABwlvwAbJfUAGyT/ABsk/wAdI/8AICP/ACIi /wC+KAAAlikAAHkqAABmKwAAWCsAAE4qAABHKQAAQSkAADsoAAA3JwAAMyYAADAnAAAtJwcAKigP ACkoFgAnKB0AJiglACQpLAAjKTMAIik7ACEpRQAfKVAAHildABwpbQAaKYIAGCmdABcpvQAWKfQA Fin/ABYo/wAZJ/8AHCb/AB8m/wC3KwAAkCwAAHQtAABiLQAAVS0AAEstAABELAAAPisAADgrAAA0 KgAALisAACsrAAAoLAQAJS0NACMtEwAiLRoAIC0iAB8uKQAeLjAAHC45ABsuQgAaLk0AGC5bABcu awAVLoAAEy6bABIuuwARLvIAEi3/ABIs/wAUK/8AGCr/ABsp/wCuLgAAiS8AAG8wAABeMAAAUjAA AEgvAABBLwAAOy4AADYuAAAxLgAAKi8AACcwAAAjMQAAIDIJAB0yEAAcMxcAGjMfABkzJgAYMy4A FjM2ABUzQAAUM0sAEzNYABEzaQAQM34ADzOZAA4yuAANMu4ADTL/AA4x/wAQMP8AFC7/ABYt/wCm MgAAgzMAAGszAABaMwAATzMAAEUyAAA+MQAAODEAADMwAAAuMQAAKDIAACQzAAAfNQAAGzcFABc4 DQAVOBQAFDkbABM5IwASOSoAETkzABA5PQAPOUgADjlVAA04ZQAMOHkACjiTAAk3sgAIN+YACTf/ AAk2/wAMNf8AEDP/ABIy/wCdNgAAfDYAAGY2AABXNgAASzUAAEM1AAA8NAAANjMAADEzAAArNAAA JTYAACA3AAAcOQAAFzsAABI+CQAPPxAADj8XAA0/HwANPycADD8vAAo/OQAJPkMACD5QAAY+YAAF PXMAAz2NAAE9rAABPOAAAjz/AAQ8/wAHOv8ADDj/AA43/wCTOgAAdToAAGE6AABTOQAASDgAAEA3 AAA5NgAANDYAAC43AAAoOAAAIjoAAB08AAAYPgAAE0EAAA5DBgAKRQ0AB0UTAAZFGwAFRSIABEUr AAJFNAABRT8AAEVLAABEWwAARG4AAEOHAABDpwAAQtcAAEL/AABC/wAAQP8ABT7/AAo8/wCJPgAA bj4AAFw+AABPPQAARTwAAD46AAA4OQAAMToAACo7AAAkPQAAHkAAABhCAAATRAAAD0cAAAtJBQAG SwsAAUwQAABMFgAATR4AAE0mAABNLwAATDoAAExHAABMVgAAS2gAAEuBAABKogAASc0AAEn/AABI /wAAR/8AAET/AANC/wB/QwAAaEIAAFdBAABMQAAAQz8AADw9AAA1PQAALT8AACZBAAAgRAAAGUYA ABRJAAAQSwAAC04AAAZQAgAAUgkAAFMNAABUEwAAVRkAAFYhAABWKgAAVjUAAFVBAABVUAAAVGIA AFN7AABTmwAAUsUAAFH/AABQ/wAATv8AAEz/AABJ/wB2SAAAYUcAAFNGAABJRAAAQUIAADlCAAAw RAAAKUYAACFJAAAbSwAAFE4AABBRAAALVAAABlcAAABZAAAAWwUAAFwKAABeDgAAXxQAAGAbAABh JAAAYi4AAGE6AABgSQAAYFsAAF50AABdlAAAXL4AAFv9AABZ/wAAVf8AAFP/AABR/wBuTQAAXEwA AFBKAABHRwAAPkcAADRJAAAsSwAAJE4AABxSAAAVVQAAEFkAAAtcAAAFXwAAAGEAAABkAAAAZgAA AGgFAABpCgAAaw8AAG0VAABuHQAAcCcAAHAzAABvQgAAblQAAGxsAABriwAAabUAAGf3AABm/wAA YP8AAFz/AABZ/wBnUwAAWFEAAE5OAABETQAAOU8AAC9SAAAmVgAAHloAABZeAAAQYgAAC2YAAARp AAAAbAAAAG8AAAByAAAAdAAAAHYAAAB4BAAAewkAAH0PAAB/FgAAgh8AAIQrAACCOgAAgUsAAH9i AAB8ggAAeqsAAHjwAAB2/wAAbf8AAGf/AABj/wBhWQAAVlYAAEtVAAA/VwAANFoAACpeAAAgYwAA GGgAABFtAAALcgAAA3YAAAB6AAAAfgAAAIEAAACEAAAAhwAAAIoAAACNAAAAkAEAAJMHAACXDgAA mhYAAJ4hAACfMAAAnEIAAJlYAACVdgAAkp4AAI/gAACM/wAAgP8AAHf/AABx/wBfXwAAU10AAEZg AAA6ZAAAL2kAACRvAAAadQAAEnsAAAyBAAAEhwAAAIwAAACRAAAAlgAAAJoAAACeAAAAogAAAKYA AACqAAAArgAAALIAAAC2BQAAug0AAL4XAADDJAAAwDcAALxNAAC5aAAAto8AALLEAACs/wAAnP8A AI3/AACE/wBcaAAATmoAAEFvAAA2dQAAK3sAACCDAAAWiwAADpQAAAWeAAAApQAAAKsAAACxAAAA twAAALkAAAC+AAAAwgAAAMcAAADLAAAAzwAAANMAAADYAAAA3QMAAOINAADoGQAA7CkAAOo+AADo WAAA5XoAAOKqAADG4AAAtf0AAKr/AACi/wBXdwAAS3sAAECBAAA1iAAAK5EAACGbAAAXpQAADq8A AAa4AAAAwgAAAMoAAADTAAAA2QAAAN0AAADgAAAA5AAAAOkAAADtAAAA8QAAAPUAAAD6AAAA/gAA AP8AAAD/DQAA/xsAAP8uAAD/RwAA/2YAAP+TAADssQAA0M4AAMDwAAC2/wBShAAASYwAAD+VAAA1 ngAAK6gAACGxAAAXugAAD8MAAAjKAAAA0AAAANYAAADcAAAA4QAAAOYAAADrAAAA7wAAAPMAAAD2 AAAA+gAAAP4AAAD/AAAA/wAAAP8AAAD/CAAA/xMAAP8jAAD/OAAA/1EAAP9yAAD/oAAA8bAAANvD AADP2QD/ABgA/wAYAP8AGQD/ABsA/wAgAP8AJQD/ACoA/wAwAP8ANwD/AD0A/wBEAP8ASgD/AE8A /wBVAP8AWgD/AF8A/wBkAP8AagD/AHAA/wB3AP8AgAD/AIoA/wCYAP8AowD/AKoA7wCzAOAAwADS ANIAxgDpALwA+AC1AP8AsAD/AKwA/wD/ABQA/wATAP8AEwD/ABYA/wAaAP8AHgD/ACQA/wAqAP8A MQD/ADcA/wA+AP8ARQD/AEsA/wBQAP8AVgD/AFsA/wBhAP8AZwD/AG4A/wB1AP8AfwD/AIsA/wCa AP8AowDzAKsA4gC1ANIAxQDHAOIAvAD1ALMA/wCtAP8AqAD/AKUA/wD/ABAA/wAOAP8ADQD/ABAA /wASAP8AFwD/ABwA/wAjAP8AKgD/ADEA/wA4AP8APwD/AEUA/wBMAP8AUgD/AFgA/wBeAP8AZAD/ AGwA/wB0AP8AfwD/AI0A/wCcAPkApADkAK0A0AC7AMMA0AC5APAAsgD/AKoA/wCkAP8AnQD/AJcA /wD/AAsA/wAIAP8ABwD/AAgA/wALAP8ADgD/ABQA/wAbAP8AIgD/ACoA/wAxAP8AOQD/AEAA/wBH AP8ATQD/AFMA/wBZAP0AXwD6AGYA9gBuAPMAeADvAIQA6gCTAOYApgDPALIAvwDGALQA6ACsAP8A pgD/AJ0A/wCSAP8AjAD/AIcA/wD/AAUA/wAAAP8AAAD/AAAA+QABAPUABgD1AAwA+AASAPQAGgDx ACMA7QArAOsAMgDmADkA4ABAANoARgDUAEsA0ABRAMwAVwDIAF4AwwBlAL8AbgC6AHkAtgCIALIA mgCvALAArADVAKYA/ACeAP8AkgD/AIgA/wCBAP8AfAD/AHkA/wD/AAAA/wAAAP8AAADyAAAA5wAA AOEAAADRAAUAxwAOAL8AFQC7AB0AuAAlALYALACzADMArQA5AKkAPwClAEUAogBKAJ8AUACdAFYA mgBdAJcAZgCUAHAAkgB9AI8AjgCMAKQAigDAAIcA8gCFAP8AfQD/AHcA/wBxAP8AbgD/AGwA/wD/ AAAA/wAAAOsAAADcAAAAyQAAALUAAACoAAEAnwAJAJoAEACXABgAkwAfAJEAJgCQAC0AjgAzAIoA OQCHAD4AhQBEAIIASQB/AE8AfQBWAHsAXgB5AGgAdwB0AHUAhABzAJkAcQCyAHAA4gBuAP8AawD/ AGcA/wBkAP8AYgD/AGAA/wD7AwAA7gAAANMAAAC9AAAApgAAAJcAAACMAAAAhQAFAIAADQB9ABMA egAaAHkAIQB3ACcAdQAuAHMAMwBxADkAbwA+AG0ARABrAEoAagBQAGgAWABmAGIAZQBtAGMAfABh AJAAYACoAF8AywBeAPwAXQD/AFoA/wBYAP8AVwD/AFYA/wDyCgAA3AMAAL8AAACjAAAAjgAAAIAA AAB5AAAAcwACAG4ACQBrAA8AaQAVAGcAHABmACMAZQApAGMALgBhADQAXwA5AF4APwBcAEUAWwBL AFkAUwBYAFwAVwBnAFUAdgBUAIkAUwCgAFIAvwBRAPMAUAD/AE8A/wBOAP8ATQD/AEwA/wDpDgAA yggAAKwEAACQBQAAfQUAAHEEAABpAQAAZQAAAGEABQBeAAwAXAARAFsAGABZAB4AWAAkAFcAKgBV ADAAVAA1AFIAOwBRAEAAUABHAE4ATgBNAFgATABjAEsAcQBJAIMASACaAEcAtwBGAOkARQD/AEQA /wBDAP8AQwD/AEMA/wDhEQAAvQsAAJwLAACCDAAAcQwAAGUMAABeCgAAWQgAAFcFAABVAAgAUwAO AFEAFABPABoATgAgAE0AJgBMACwASgAxAEkANwBIAD0ARgBDAEUASwBEAFQAQwBfAEEAbQBAAH8A PwCWAD0AsQA8AOEAOwD/ADoA/wA5AP8AOgP/ADsF/wDUEwAAsg4AAJAQAAB4EQAAaBEAAF0RAABW EAAAUQ4AAE4MAABNCQMATAUKAEoDEABIARYARgEcAEUBIgBEAigAQgIuAEEDNABAAzoAPgRBAD0E SAA8BFIAOwRdADkFawA4BX0ANgWUADUFrwAzBd0AMQb/ADEH/wAxB/8AMgn/ADQL/wDKFgAAphIA AIYUAABwFQAAYRYAAFcVAABQFAAASxMAAEcRAABFDgAARA0FAEQKDABCCBIAQAgYAD4JHwA9CSUA OworADoKMQA5CjcAOAs/ADYLRwA1C1AAMwtcADIMawAwDH0ALgyVACwMsAAqDN8AKQ3/ACkN/wAp DP8ALA3/AC4O/wDBGAAAnRYAAH4YAABqGQAAXBkAAFIZAABLGAAARhcAAEIVAAA/FAAAPREAAD0Q BwA8Dg4AOg4VADgOGwA3DiIANQ8oADQQLwAyEDYAMRA9ADAQRgAuEFAALRFcACsRawApEX4AJxGW ACURswAjEeUAIxH/ACMR/wAjEf8AJhL/ACgS/wC6GgAAlRkAAHgbAABlHAAAWB0AAE4cAABHHAAA QRsAAD0ZAAA6GAAAOBYAADcUAwA1EwsANBMSADITGAAwFB8ALxQmAC0ULAAsFDMAKxU7ACkVQwAo FU0AJhVaACUVaQAjFXwAIRWUAB8VsQAdFeMAHRX/AB0V/wAeFf8AIRX/ACQW/wCzGwAAjh0AAHMf AABhHwAAVCAAAEsfAABDHwAAPh4AADkdAAA2HAAAMxoAADIYAAAvGAgALhgPACwYFgAqGRwAKRkj ACgZKgAmGTEAJRo4ACQaQQAiGksAIRpYAB8aZwAdGnoAGxqTABkasAAYGuIAGBr/ABga/wAZGf8A HRn/ACAZ/wCtHgAAiCAAAG4hAABdIgAAUSIAAEciAABAIQAAOiAAADYgAAAyHwAALx4AACwdAAAq HQUAKB0NACYdEwAlHRoAIx4gACIeJwAhHi4AIB42AB4fPwAdH0kAGx9WABofZQAYH3gAFh+RABQf rgATHuAAEx7/ABQe/wAVHf8AGR3/ABwd/wClIQAAgiMAAGokAABaJQAATiUAAEUkAAA9JAAANyMA ADMiAAAvIgAAKyEAACghAAAlIQEAIyIKACEiEQAfIhcAHiIeAB0jJQAbIywAGiM0ABkjPQAXI0cA FiNTABUjYwATI3YAEiOPABAjrQAPI94AECP/ABAi/wARIf8AFSH/ABgg/wCeIwAAfCUAAGYnAABW JwAASycAAEInAAA7JgAANSUAADAlAAAsJAAAKCQAACMlAAAgJgAAHiYHABsnDgAaJxQAGCcbABco IgAWKCkAFSgxABQoOgASKEUAEShRABAoYQAPKHQADiiMAA0nqAALJ9EADCf/AAwn/wANJv8AESX/ ABQk/wCXJwAAdygAAGIpAABTKgAASCoAAD8pAAA4KAAAMigAAC4nAAApJwAAJScAACAoAAAdKQAA GSsDABYsCwAULBEAEy0YABItHwARLScAEC0vAA8tOAAOLUIADS1OAAwtXQALLG8ACSyGAAgsowAG LMoAByz9AAgr/wAJKv8ADin/ABEo/wCPKgAAcSwAAF4sAABQLQAARSwAADwrAAA1KwAAMCoAACsp AAAnKQAAIyoAAB4sAAAaLQAAFi4AABIxBwAPMg4ADjIVAA0yHAAMMiMACzIrAAoyNAAJMj4ACDJK AAYyWAAEMWoAAzGBAAExngAAMMQAATD6AAIw/wAEL/8ACi7/AA0t/wCHLgAAbC8AAFovAABMLwAA Qi8AADouAAAzLQAALiwAACosAAAlLAAAIC0AABsvAAAXMQAAEzMAAA81BgALNwwACDgSAAc4GAAG OCAABDgoAAM4MAACODoAADhGAAA3VAAAN2YAADZ8AAA2mgAANr4AADX4AAA2/wAANf8ABDP/AAky /wB/MgAAZjMAAFUzAABJMgAAPzIAADcwAAAxLwAALS4AACcvAAAiMAAAHTIAABg0AAATNgAAEDgA AAw6BQAHPAsAAz0QAAA+FQAAPhwAAD4kAAA+LAAAPjYAAD5CAAA+TwAAPWEAAD13AAA8lQAAPLkA ADv2AAA7/wAAO/8AADn/AAM3/wB2NgAAYDYAAFE2AABFNgAAPDQAADUzAAAwMgAAKjIAACQzAAAe NQAAGTcAABQ6AAAQPAAADD4AAAhAAwADQgkAAEMNAABEEgAARRgAAEYfAABGKAAARjIAAEU9AABG SwAARVwAAERyAABDkAAAQrUAAELzAABB/wAAQf8AAD//AAA9/wBuOwAAWzsAAE06AABCOQAAOjcA ADQ1AAAtNQAAJjcAACA5AAAaOwAAFD4AABBAAAAMQwAACEUAAANHAQAASQYAAEoLAABMDgAATRQA AE4aAABPIgAATywAAE84AABORQAATlYAAE1sAABMiQAAS68AAEruAABJ/wAAR/8AAEX/AABE/wBn QAAAVj8AAEk+AABAPAAAOToAADE6AAApOwAAIj0AABxAAAAVQwAAEEYAAAxIAAAHSwAAAk0AAABQ AAAAUgIAAFMHAABVCwAAVhAAAFgVAABaHQAAWyYAAFoyAABaQAAAWVAAAFhlAABXggAAVagAAFTp AABT/wAAT/8AAE3/AABK/wBgRQAAUUMAAEZBAAA/PwAANj8AAC1AAAAlQwAAHUYAABZJAAAQTAAA DE8AAAZSAAAAVgAAAFgAAABaAAAAXAAAAF4CAABgBgAAYgsAAGQQAABmFwAAaCAAAGkrAABoOAAA Z0kAAGVeAABleQAAYqEAAGDfAABe/wAAWv8AAFb/AABT/wBaSgAATkgAAEVFAAA8RAAAMkYAAChJ AAAfTAAAGFAAABFUAAAMWAAABVwAAABfAAAAYgAAAGUAAABoAAAAagAAAGwAAABuAAAAcQUAAHMK AAB2EAAAeRgAAHwiAAB7MAAAekEAAHhVAAB2cAAAc5YAAHDNAABu/wAAaP8AAGL/AABe/wBWTwAA TEwAAEJLAAA3TQAALFAAACJVAAAZWQAAEl4AAAxjAAAFZwAAAGwAAABvAAAAcgAAAHUAAAB4AAAA fAAAAH4AAACBAAAAhAAAAIgCAACLCQAAjxAAAJQaAACXJwAAlTcAAJJLAACOZgAAiooAAIa9AACC /wAAev8AAHH/AABs/wBUVAAASlMAAD1VAAAyWQAAJ14AABxkAAATagAADW8AAAV1AAAAewAAAIAA AACEAAAAiAAAAIsAAACPAAAAlAAAAJcAAACbAAAAoAAAAKQAAACpAAAArggAALQRAAC6HAAAui0A ALZBAACxWgAAq34AAKetAACj+gAAlf8AAIf/AAB+/wBRXAAARV8AADhjAAAtaQAAIm8AABh2AAAQ fQAACIUAAACNAAAAlQAAAJsAAAChAAAApgAAAKoAAACuAAAAtAAAALgAAAC9AAAAwgAAAMcAAADM AAAA0gAAANkHAADfEgAA5CEAAN82AADbTgAA2G0AANOcAADG0wAAsvwAAKX/AACZ/wBNagAAQW4A ADdzAAAseQAAIoEAABiJAAAQkgAACZsAAAClAAAArgAAALcAAAC/AAAAxwAAAMwAAADRAAAA1gAA ANwAAADhAAAA5QAAAOoAAADvAAAA9AAAAPkAAAD/BwAA/xQAAP8nAAD/PwAA/1sAAP+DAADwrQAA zM0AALzxAACy/wBLegAAQX8AADeGAAAujwAAJJkAABujAAASrgAAC7gAAALBAAAAygAAANAAAADW AAAA3AAAAOEAAADlAAAA6QAAAO4AAADxAAAA9QAAAPoAAAD+AAAA/wAAAP8AAAD/AAAA/w0AAP8c AAD/MAAA/0kAAP9pAAD/lQAA9KwAANnBAADK3AD/ABYA/wAVAP8AFgD/ABkA/wAcAP8AIAD/ACUA /wArAP8AMQD/ADgA/wA+AP8AQwD/AEkA/wBOAP8AUwD/AFgA/wBcAP8AYgD/AGcA/wBuAP8AdgD/ AIAA/wCNAP8AnAD7AKMA5wCrANUAtwDIAMgAvwDmALkA+ACxAP8ArAD/AKkA/wD/ABEA/wAQAP8A EQD/ABIA/wAVAP8AGQD/AB8A/wAlAP8AKwD/ADIA/wA4AP8APgD/AEQA/wBKAP8ATwD/AFQA/wBa AP8AXwD/AGYA/wBtAP8AdgD/AIEA/wCQAP8AnQDsAKQA1gCuAMYAvQC7ANYAswDxAK4A/wCpAP8A pAD/AJ8A/wD/AA0A/wAKAP8ACwD/AAwA/wAOAP8AEgD/ABgA/wAdAP8AJAD/ACsA/wAyAP8AOQD/ AD8A/wBGAP8ASwD/AFEA/wBXAP8AXQD/AGQA/wBtAP8AdwD/AIQA/wCVAPEAngDYAKYAxQCzALcA xwCuAOoAqAD/AKMA/wCdAP8AlQD/AI8A/wD/AAcA/wADAP8AAwD+AAMA9gAGAPMACwDzABAA9gAW APoAHQD/ACQA/wAsAP8AMwD/ADoA/wBAAPoARgD2AEwA8wBSAO8AWADrAF8A5wBmAOMAcADeAHsA 2QCKANMAnADCAKwAswC+AKkA4wChAP0AmwD/AJAA/wCJAP8AhAD/AIAA/wD/AAAA/wAAAPwAAADu AAAA5QAAAOEAAQDhAAgA5QAOAOAAFQDaAB0A1wAlANYALADSADMAywA6AMQAPwC+AEUAuQBKALUA UACxAFcArgBeAKsAZgCnAHAApAB+AKEAkACdAKUAmgDFAJkA+ACRAP8AhAD/AHwA/wB3AP8AdQD/ AHIA/wD/AAAA/wAAAOwAAADaAAAAzQAAAMYAAAC4AAEAsAAJAKkAEACnABgApAAfAKEAJgChAC0A nQAzAJkAOQCWAD4AkwBEAJAASQCNAE8AiwBWAIgAXgCFAGgAggB0AIAAhQB+AJkAfAC1AHoA5gB5 AP8AcAD/AGsA/wBoAP8AZwD/AGUA/wD/AAAA6gAAANEAAADAAAAArwAAAJ4AAACUAAAAjQAFAIkA DACEABMAgwAaAIIAIQCBACcAfgAtAHoAMwB4ADgAdgA9AHQAQwByAEkAcABPAG4AVwBsAGAAawBs AGkAewBnAI4AZgCoAGUAzABkAP8AYQD/AF0A/wBcAP8AWwD/AFsA/wDzAAAA0wAAALoAAACkAAAA kQAAAIQAAAB7AAAAdQABAHEACQBuAA4AbAAVAGoAGwBqACIAaQAoAGcALQBlADMAYwA4AGIAPQBg AEMAXgBJAF0AUQBbAFoAWgBlAFkAcwBYAIUAVwCeAFYAvQBVAPQAVAD/AFIA/wBRAP8AUQD/AFEA /wDjBAAAwQAAAKkAAACPAAAAfAAAAHAAAABqAAAAZAAAAGEABQBeAAsAXQARAFsAFwBbAB0AWgAj AFgAKABXAC4AVQAzAFQAOABSAD4AUQBEAFAASwBPAFQATQBfAEwAbABLAH4ASgCVAEkAswBJAOgA SAD/AEcA/wBGAP8ARwD/AEcA/wDSCAAAsgEAAJYAAAB+AQAAbQIAAGMBAABcAAAAWAAAAFUAAgBT AAgAUQAOAFAAEwBPABkATgAeAE0AJABMACkASgAvAEkANABIADkARgBAAEUARwBEAE8AQwBaAEIA ZwBBAHgAQACOAD8AqgA+ANgAPQD/AD0A/wA9AP8APgD/AD4A/wDECwAApgYAAIgHAAByCQAAYwkA AFkJAABTBwAATgUAAEwCAABKAAUASAALAEcAEABGABUARQAaAEQAIABCACUAQQArAEAAMAA+ADYA PQA8ADwAQwA7AEwAOgBWADkAYwA4AHMANwCJADUApQA0AMoANAD9ADMA/wAzAP8ANAD/ADUA/wC5 DQAAnAoAAH0MAABpDgAAXA4AAFIOAABLDQAARwsAAEQKAABCBwEAQQQHAD8BDQA+ABEAPQAXADwA HAA6ACIAOQAnADgALQA3ADMANgA5ADQAQAAzAEkAMgBTADEAYAAwAHAALgCFAC0AoAAsAMMAKwD4 ACoA/wApAP8AKwP/AC0F/wCxDwAAkQ4AAHUQAABjEQAAVhIAAEwRAABGEQAAQRAAAD0OAAA7DQAA OgsDADkICQA4BQ4ANgQTADUEGQA0BB8AMgQkADEFKgAwBTAALwU2AC4GPgAsBkcAKwZRACoGXgAp Bm8AJwaEACYGnwAkBr8AIwX0ACIG/wAiB/8AJAn/ACcK/wCpEQAAiBEAAG8TAABdFAAAURUAAEgV AABBFAAAPBMAADgSAAA1EQAAMw8AADMNBQAzCwsAMQoQAC8KFgAuChwALAsiACsLKAAqCy4AKQs1 ACgMPQAmDEYAJQxRACMMXgAiDG8AIAyFAB4MoAAdDMEAGwz0ABsM/wAcDP8AHw3/ACIO/wCjEgAA gRQAAGkWAABZGAAATRgAAEQYAAA9FwAAOBYAADQVAAAwFAAALhMAAC0RAgAsEAcAKw4NACoOEwAo DxkAJw8fACYQJgAkECwAIxA0ACIQPAAgEEYAHxBRAB0RXwAbEXEAGRGHABgQowAWEMcAFRD5ABUQ /wAWEP8AGhD/AB4R/wCdFAAAexcAAGUZAABVGgAAShoAAEEaAAA6GgAANBkAADAYAAAtFwAAKhYA ACgVAAAnEwMAJhMKACQTEAAjExYAIRMdACAUIwAfFCoAHRQxABwUOgAaFEMAGRVPABcVXQAWFW8A FBSFABMUogARFMYAERT7ABEU/wASE/8AFRT/ABkU/wCWFwAAdhoAAGEcAABSHQAARx0AAD4dAAA3 HAAAMRsAAC0bAAApGgAAJhkAACQYAAAiFwAAIBcHAB8XDgAdGBQAHBgaABoYIQAZGCgAGBkvABcZ OAAVGUEAFBlNABMZWwARGW0AEBmEAA4ZoAANGcIADRj2AA4Y/wAOF/8AERf/ABUY/wCPGgAAcR0A AF0eAABPHwAARB8AADsfAAA0HgAALx4AACodAAAnHAAAJBwAACEbAAAeGwAAGxwEABocCwAYHBEA Fh0XABUdHgAUHSUAEx0tABIeNQARHj8AEB5LAA4eWQANHmoADB1/AAsdmgAJHbsACR3xAAoc/wAL HP8ADhv/ABIc/wCJHQAAbSAAAFohAABMIgAAQSEAADkhAAAyIAAALCAAACgfAAAkHwAAIR4AAB4e AAAaHwAAFyABABUhCQATIg4AEiIVABEiGwAQIiMADyIqAA4iMwANIjwADCJHAAsiVQAJImUACCJ6 AAYhlQAEIbYABCHuAAUh/wAGIP8ACyD/AA4g/wCCIAAAaCIAAFYjAABJJAAAPiQAADYjAAAvIgAA KiIAACYhAAAiIQAAHyAAABwhAAAYIgAAFSMAABIlBgAPJgwADScSAAwnGQAMJyAACicnAAknLwAI JzkABydDAAUnUQADJ2EAAiZ2AAAmkQAAJbIAACXrAAAl/wABJP8ABiT/AAsj/wB8JAAAYyUAAFIm AABGJgAAOyYAADMlAAAtJAAAKCQAACQjAAAhIgAAHSMAABkkAAAVJQAAEicAAA8oBQAMKgsACSsQ AAcsFgAFLBwABCwkAAMsLAABLDUAACxAAAAsTQAAK10AACtyAAAqjQAAKq8AACnoAAAp/wAAKf8A Aij/AAco/wB1JwAAXygAAE8pAABCKQAAOSgAADEnAAArJgAAJyYAACMlAAAfJQAAGyYAABYnAAAS KQAAECsAAA0tBQAJLwoABTAOAAExEwAAMRkAADEhAAAxKQAAMTIAADE8AAAxSQAAMVkAADBuAAAw iQAAL6wAAC/lAAAu/wAALv8AAC7/AAIt/wBuKwAAWiwAAEssAAA/LAAANisAAC8qAAAqKAAAJicA ACEnAAAcKAAAFyoAABMsAAAQLgAADTAAAAkyAwAFNAgAADUMAAA2EQAANxYAADgdAAA4JQAAOC4A ADg5AAA4RQAAOFUAADdpAAA2hAAANagAADTiAAA0/wAAM/8AADP/AAAy/wBnLwAAVTAAAEcwAAA8 LwAANC0AAC0sAAApKgAAJCoAAB4rAAAZLQAAFC8AABAxAAANMwAACTYAAAU4AgAAOgYAADsKAAA8 DgAAPhIAAD8ZAABAIAAAQCoAAD81AAA/QQAAP1EAAD5kAAA9fwAAPKMAADvcAAA6/wAAOf8AADj/ AAA4/wBgMwAAUDQAAEMzAAA5MgAAMjAAAC0uAAAnLgAAIC8AABoxAAAVMwAAEDYAAA04AAAIOgAA BDwAAAA/AAAAQQMAAEIHAABECwAARg8AAEcUAABJGwAASSQAAEkvAABJPAAASEsAAEdfAABGeQAA RZ0AAEPRAABC/wAAQf8AAD//AAA+/wBaOAAASzgAAEA2AAA3NAAAMTIAACoyAAAjMwAAHDUAABY4 AAAROwAADD0AAAhAAAACQwAAAEUAAABHAAAASQAAAEsDAABNBwAATgwAAFAQAABTFgAAVB8AAFQq AABTNwAAU0YAAFNYAABRcgAAT5UAAE7GAABM/wAASf8AAEf/AABF/wBUPQAARzwAAD06AAA2NwAA LzcAACY4AAAeOwAAFz0AABFBAAAMRAAAB0cAAAFKAAAATAAAAE8AAABRAAAAVAAAAFYAAABYAgAA WgcAAFwMAABfEQAAYRgAAGMjAABiLwAAYT8AAGBSAABfagAAXI0AAFq8AABY/wAAVP8AAFD/AABO /wBPQgAAREAAADw9AAA0PAAAKj4AACFBAAAZRAAAEkgAAA1LAAAGTwAAAFMAAABWAAAAWAAAAFsA AABeAAAAYQAAAGMAAABmAAAAaAAAAGsGAABuCwAAcRIAAHUbAAB2JwAAdDcAAHJJAABwYQAAbYMA AGqxAABn+wAAYv8AAFz/AABZ/wBLRgAAQ0MAADpCAAAvRAAAJUgAABtMAAATUAAADVUAAAZZAAAA XgAAAGIAAABlAAAAaAAAAGsAAABvAAAAcgAAAHUAAAB3AAAAewAAAH4AAACCBAAAhgsAAIsTAACR HgAAjy4AAIxAAACJVwAAhXYAAIClAAB88QAAdf8AAGz/AABn/wBKSgAAQUkAADVMAAAqUAAAH1UA ABVaAAAOYAAAB2UAAABrAAAAcAAAAHUAAAB5AAAAewAAAH8AAACEAAAAiAAAAIwAAACPAAAAlAAA AJkAAACeAAAApAIAAKsLAACyFQAAtiMAALI2AACtTQAAp2sAAKGXAACZ4QAAkP8AAIH/AAB4/wBI UgAAPFUAADBZAAAlXgAAG2QAABJqAAALcQAAAXgAAAB/AAAAhwAAAI0AAACTAAAAlgAAAJsAAACh AAAApgAAAKsAAACwAAAAtgAAALwAAADCAAAAyQAAANABAADYDAAA4BkAAN8rAADZQgAA0GAAAMiK AADDwwAAsPoAAKH/AACR/wBDXgAAOGIAAC5nAAAkbQAAGnQAABJ7AAALgwAAAosAAACTAAAAnAAA AKQAAACsAAAAtAAAALsAAADCAAAAyQAAAM8AAADVAAAA2wAAAOEAAADnAAAA7QAAAPMAAAD5AQAA /w4AAP8fAAD+NgAA/FEAAPl2AADxqQAAzMcAALnxAACt/wBCbAAAOHEAAC54AAAlfwAAHIcAABOQ AAAMmgAABKMAAACtAAAAtQAAAL4AAADFAAAAzAAAANMAAADZAAAA3wAAAOUAAADqAAAA8AAAAPUA AAD6AAAA/wAAAP8AAAD/AAAA/wYAAP8UAAD/KQAA/0IAAP9gAAD/igAA9qkAANXAAADE4gD/ABIA /wASAP8AEwD/ABQA/wAXAP8AGwD/ACAA/wAmAP8ALAD/ADIA/wA4AP8APgD/AEMA/wBIAP8ATQD/ AFEA/wBWAP8AWwD/AGAA/wBnAP8AbwD/AHkA/wCFAP8AlQDzAJ0A3AClAMkAsAC8AMAAswDeAK4A 9ACqAP8AqAD/AKUA/wD/AA4A/wANAP8ADQD/AA4A/wARAP0AFQD9ABoA/wAfAP8AJgD/ACwA/wAz AP8AOQD/AD4A/wBEAP8ASQD/AE4A/wBUAP8AWQD/AF8A/wBmAP8AbwD/AHoA/wCIAPsAlgDiAJ4A yQCoALoAtgCvAM0AqADtAKMA/wCgAP8AnAD/AJgA/wD/AAkA/wAHAP8ABgD7AAcA9AAKAPAADgDx ABMA9AAYAPgAHwD9ACYA/wAtAP8AMwD/ADoA/wBAAP8ARgD/AEsA/wBRAP8AWAD/AF8A/wBnAP8A cQD/AH4A+wCNAOYAmADJAKEAtwCuAKsAwwCjAOUAnQD+AJcA/wCPAP8AigD/AIcA/wD/AAIA/wAA APgAAADrAAAA4gABAN8ABgDgAAwA5AARAOoAFwDxAB8A+AAmAPsALQD2ADQA8AA7AOsAQQDmAEYA 4QBMANwAUgDVAFgAzwBfAMoAaADFAHMAwACBALwAkwC0AKgApwC6AJ0A3gCWAPwAiwD/AIIA/wB8 AP8AeQD/AHcA/wD/AAAA+wAAAOcAAADVAAAAywAAAMgAAADJAAIAzQAJAMQAEQDBABgAwAAgAL4A JwC5AC0AsgA0AK4AOQCqAD8ApgBEAKMASgCgAFAAnQBXAJoAXwCXAGkAlAB2AJEAhwCOAJ0AjAC6 AIkA7gCAAP8AdwD/AHAA/wBsAP8AagD/AGkA/wD/AAAA6AAAANAAAAC+AAAAtQAAAK4AAACjAAAA mgAFAJcADACSABMAkQAaAJAAIQCQACcAjQAtAIgAMwCEADgAgQA9AH8AQwB8AEgAegBPAHgAVwB2 AGEAdABsAHIAfABwAJAAbgCqAG4A2ABsAP8AZQD/AGAA/wBeAP8AXQD/AF0A/wDtAAAAzgAAALcA AACpAAAAmgAAAIsAAACBAAAAfAAAAHcACAB1AA4AdAAUAHIAGwBxACEAcQAnAG4ALQBsADIAagA3 AGgAPQBnAEIAZQBIAGMAUABhAFkAYABkAF4AcgBdAIYAXACeAFsAwQBaAPoAVwD/AFQA/wBTAP8A UgD/AFMA/wDZAAAAuQAAAKQAAACRAAAAfwAAAHQAAABsAAAAZgAAAGMABABhAAsAYAAQAF8AFgBe ABwAXgAiAFwAJwBaAC0AWAAyAFcANwBWAD0AVABDAFMASgBRAFIAUABdAE8AagBOAHwATQCUAE0A swBMAO0ASwD/AEkA/wBIAP8ASAD/AEkA/wDGAAAAqQAAAJUAAAB8AAAAbQAAAGMAAABcAAAAWAAA AFUAAQBTAAcAUgANAFAAEgBQABcAUAAdAE8AIgBNACgATAAtAEsAMgBJADcASAA+AEcARABFAE0A RABXAEMAZABCAHUAQQCLAEEAqABAANoAQAD/AD8A/wA/AP8APwD/AEAA/wC3AQAAnQAAAIQAAABu AAAAYAAAAFcAAABRAAAATQAAAEoAAABIAAQARgAKAEUADgBFABMARAAZAEQAHgBCACMAQQAoAEAA LQA+ADMAPQA5ADwAQAA7AEgAOgBSADkAXwA4AG8ANwCDADcAoAA2AMcANgD/ADUA/wA2AP8ANwD/ ADgA/wCsBQAAkwAAAHcDAABkBQAAWAYAAE8FAABIBAAARAMAAEEAAAA/AAIAPgAHADwADAA7ABAA OwAVADoAGgA5AB8AOAAkADcAKgA2AC8ANQA1ADMAPAAyAEQAMQBOADAAWgAvAGoALgB+AC4AmgAt AL0ALQD3ACwA/wAtAP8ALgD/ADAA/wCjCAAAhwYAAG4JAABdCgAAUQsAAEgLAABBCgAAPAkAADkH AAA3BQAANgIFADUACQA0AA4AMwASADIAFwAyABwAMAAhAC8AJgAuACwALQAyACwAOQArAEEAKgBL ACkAVgAoAGYAJwB6ACYAlAAlALUAJQDvACQA/wAlAP8AJgD/ACgA/wCcCgAAfgoAAGcMAABXDgAA Sw4AAEMOAAA8DQAANw0AADMMAAAwCwAALwkCAC4GBwAtBAsALAIQACwBFAArARkAKgAeACkAIwAo ACkAJgAvACUANgAkAD4AIwBIACIAVAAhAGMAIAB3AB8AkQAeALAAHQDnABwA/wAcAP8AHgH/ACAD /wCVCwAAdw0AAGEQAABSEQAARxEAAD4RAAA3EAAAMhAAAC4OAAArDgAAKQ0AACgLBAAoCQkAJwcN ACYHEQAlBhYAJAYbACMGIQAiBiYAIQYtACAHNAAfBzwAHgdGABwHUgAbB2IAGgd1ABgGjwAXBq0A FgXhABUE/wAVBf8AFQf/ABkI/wCPDQAAcRAAAF0SAABOEwAAQxMAADsTAAA0EwAALhIAACoRAAAn EQAAJRAAACMOAgAjDQYAIgwKACELDgAgCxMAHwsZAB4LHgAcCyUAGwwrABoMMwAZDDwAGAxGABYM UwAVDGMAEwx2ABIMkAARDK4AEAvhAA8L/wAQC/8AEQv/ABUM/wCIEAAAbBMAAFkUAABLFQAAQBYA ADcWAAAxFQAAKxQAACcUAAAkEwAAIRIAAB8RAQAeEQQAHRAHABwPDAAbDhEAGg8WABkPHQAXECMA FhArABUQMwAUEDwAEhBHABEQVAAQEGUADhB5AA0QkgAMELAACxDjAAsQ/wAMD/8ADg7/ABEP/wCC EgAAZxUAAFUXAABIGAAAPRgAADUYAAAuFwAAKRYAACQWAAAhFQAAHhQAABwUAAAaEwMAGRMFABcT CQAWEw4AFBMUABMTGgASEyEAERMoABAUMQAQFDoADhRFAA0UUQAMFGAACxRzAAkUjAAIE6sABxPd AAcT/wAIEv8AChL/AA4S/wB8FQAAYxgAAFIZAABFGgAAOhoAADIaAAArGQAAJhgAACIYAAAfFwAA HBYAABoWAAAXFgIAFRYDABMWBgARFwwAEBcSABAYGAAOGB4ADhgmAA0YLQAMGDYAChhAAAkYTQAH GFwABhhvAAQYiAADF6gAAhfXAAEW/wADFv8ABhX/AAsW/wB2GAAAXxoAAE8cAABCHAAAOBwAADAc AAApGwAAJBoAACAZAAAdGQAAGhgAABgYAAAVGAEAExkDABAaBQAOGwoADBwQAAscFQAKHBsACRwi AAgcKgAHHTMABR09AAQdSQACHFgAARxrAAAchQAAG6UAABvSAAAa/wAAGv8AARr/AAca/wBxGwAA Wx0AAEweAAA/HgAANR4AAC0eAAAnHQAAIhwAAB4bAAAbGgAAGRoAABYaAAAUGgEAERwCAA4dBQAM HgoACSAOAAcgEwAFIBkAAyEfAAIhJwAAITAAACE6AAAhRgAAIVUAACFoAAAggQAAH6IAAB/PAAAe /wAAHv8AAB7/AAMe/wBrHgAAVyAAAEghAAA8IQAAMiAAACsgAAAlHwAAIR4AAB0dAAAaHAAAGBwA ABQcAAARHgAADx8CAA0hBQAJIgkABiQNAAIlEQAAJhYAACYdAAAmJAAAJiwAACY3AAAmQwAAJlIA ACVlAAAlfgAAJJ8AACPMAAAj/wAAIv8AACL/AAAi/wBmIQAAUyMAAEUjAAA5IwAAMCIAACkiAAAj IAAAHx8AABweAAAZHgAAFR8AABIgAAAPIQAADSMAAAolBAAGJwgAAigLAAAqDgAAKxMAACsZAAAr IQAALCkAACwzAAAsPwAALE4AACthAAAqegAAKZwAACjJAAAn/wAAJ/8AACb/AAAn/wBgJQAATyYA AEEmAAA2JgAALSUAACcjAAAiIgAAHyEAABshAAAXIQAAEyMAABAkAAANJgAACigAAAYqAgABLAYA AC0JAAAvDQAAMREAADIWAAAyHQAAMiYAADIwAAAyPAAAMkoAADFdAAAxdQAAL5gAAC7FAAAt/wAA LP8AACv/AAAr/wBaKQAASikAAD0pAAAzKAAAKycAACYlAAAiJAAAHSMAABgkAAAUJgAAECgAAA0q AAAJLAAABi0AAAEwAAAAMgMAADMHAAA1CgAANw4AADkSAAA6GQAAOiIAADosAAA6OAAAOkYAADlY AAA4cAAAN5IAADW/AAA0/wAAM/8AADH/AAAx/wBULQAARS0AADosAAAwKwAAKikAACUnAAAgJwAA GigAABUpAAAQKwAADS4AAAgwAAAFMgAAADQAAAA2AAAAOQAAADsEAAA8BwAAPgsAAEAPAABDFQAA RB0AAEMnAABDMwAAQ0EAAEJTAABBagAAQIsAAD64AAA8/QAAOv8AADj/AAA3/wBPMQAAQTEAADcv AAAvLQAAKisAACMqAAAdLAAAFi4AABEwAAANMwAACDUAAAM4AAAAOgAAAD0AAAA/AAAAQQAAAEMA AABFAwAASAcAAEoMAABMEQAATxgAAE8iAABOLgAATTwAAE1NAABMZAAASoMAAEivAABG+AAAQ/8A AED/AAA+/wBJNgAAPTQAADUyAAAuMAAAKC8AACAwAAAYMwAAEjYAAA05AAAIPAAAAT8AAABCAAAA RAAAAEcAAABJAAAATAAAAE4AAABQAAAAUwIAAFUHAABYDAAAWxIAAF4bAABdJwAAXDUAAFtHAABZ XQAAV3sAAFWnAABS8AAATv8AAEr/AABI/wBFOgAAOzgAADQ1AAAtNAAAIzYAABs5AAATPAAADUAA AAdDAAABRwAAAEsAAABNAAAAUAAAAFMAAABWAAAAWAAAAFsAAABeAAAAYAAAAGMBAABnBwAAag0A AG4UAABxHwAAcC0AAG4/AABsVAAAaHIAAGabAABi4gAAXf8AAFb/AABS/wBCPgAAOjsAADI6AAAo PAAAHj8AABVDAAAOSAAACEwAAABRAAAAVQAAAFkAAABcAAAAXwAAAGIAAABlAAAAaAAAAGwAAABu AAAAcgAAAHUAAAB5AAAAfgYAAIMOAACJFwAAiiUAAIg2AACESwAAgWYAAHuQAAB4yAAAcv8AAGb/ AABg/wBBQgAAOUEAAC1DAAAiRwAAGEwAABBRAAAJVwAAAFwAAABiAAAAZwAAAGsAAABuAAAAcgAA AHUAAAB5AAAAfQAAAIEAAACFAAAAiQAAAI4AAACUAAAAmgAAAKIGAACqDwAAsxsAALAsAACrQQAA pFwAAJ6BAACVuAAAj/8AAHz/AABy/wA/SAAAM0sAAChQAAAdVQAAFFoAAA1gAAAEZwAAAG0AAAB0 AAAAegAAAIEAAACGAAAAigAAAI8AAACVAAAAmwAAAKAAAAClAAAAqwAAALIAAAC5AAAAwAAAAMkA AADSBgAA3BEAAOAiAADaNwAA0lEAAMh1AAC/qAAArfIAAJ3/AACL/wA7VAAAMFgAACZdAAAcYgAA E2kAAAxvAAAEdgAAAH0AAACEAAAAjAAAAJMAAACbAAAAogAAAKkAAACwAAAAtgAAAL0AAADDAAAA ygAAANIAAADbAAAA5AAAAO4AAAD3AAAA/ggAAP8WAAD/LAAA+0YAAPNpAADpnAAAzcEAALfuAACp /wA5YQAAL2YAACZrAAAdcgAAFHkAAA2BAAAGiQAAAJEAAACaAAAAogAAAKsAAACyAAAAuQAAAL8A AADGAAAAzAAAANIAAADYAAAA3gAAAOQAAADrAAAA8gAAAPoAAAD/AAAA/wAAAP8OAAD/IQAA/zkA AP9XAAD/gQAA96gAANS+AADC4AD/ABAA/wAQAP8ADwD/ABAA/QASAPoAFgD6ABsA/AAgAP8AJgD/ ACwA/wAyAP8AOAD/AD0A/wBCAP8ARwD/AEwA/wBQAP8AVQD/AFsA/wBiAP8AaQD+AHMA/gB/AP4A jgDoAJcAzACgALsAqwCvALsAqADTAKIA8QCfAP8AnQD/AJoA/wD/AAsA/wAKAP8ACQD3AAoA8AAN AO0AEADtABQA8AAaAPUAIAD6ACcA/gAtAP8AMwD+ADkA/QA/APwARAD8AEkA+wBOAPsAVAD6AFoA +gBhAPoAagD5AHUA+QCEAO8AkQDQAJkAuwCjAK0AsgCkAMcAnQDsAJgA/wCUAP8AjQD/AIkA/wD/ AAUA/wACAPQAAQDnAAMA3wAFANwACQDdAA4A4gATAOgAGQDuACAA9QAnAPoALgD5ADQA+AA7APcA QAD2AEYA9gBMAPUAUgD1AFkA9ABiAPQAbADvAHcA6gCFANYAkwC6AJ0AqQCrAJ8AwACXAOcAkQD/ AIgA/wCAAP8AfAD/AHoA/wD/AAAA9gAAAOIAAADSAAAAyQAAAMYAAADIAAYAzgAMANYAEgDgABkA 6AAgAOkAKADlAC8A2QA1AM8AOwDIAEAAwwBGAL8ASwC7AFIAtgBZALIAYQCvAG0AqwB6AKcAjACi AKIAmgC6AJEA4QCLAP0AfAD/AHMA/wBvAP8AbAD/AGsA/wD9AAAA5AAAAMsAAAC8AAAAswAAALEA AAC0AAAAsQAEAK0ADACrABMApgAaAKYAIQCnACgAogAuAJ0ANACaADkAlQA/AJEARACOAEoAiwBR AIcAWQCEAGIAggBuAIAAgAB+AJUAfQCxAHsA6AByAPsAaQD/AGQA/wBhAP8AXwD/AF8A/wDpAAAA zAAAALUAAACnAAAAoAAAAJgAAACOAAAAiAAAAIMACACBAA4AgQAUAH8AGwB+ACEAfAAnAHkALQB3 ADIAdAA4AHIAPQBwAEMAbgBJAGwAUQBqAFoAaABlAGYAdABlAIkAYwCjAGIAywBgAPoAWgD+AFYA /wBUAP8AVAD/AFQA/wDRAAAAtAAAAKEAAACUAAAAhgAAAHoAAAByAAAAbAAAAGkAAwBnAAoAZgAQ AGYAFQBmABsAZQAhAGIAJwBgACwAXgAxAFwANwBbADwAWQBDAFgASgBWAFMAVQBdAFMAawBSAH0A UgCXAFEAtwBRAPQATQD+AEsA/wBKAP8ASgD/AEoA/wC9AAAAowAAAJEAAAB/AAAAbwAAAGUAAABe AAAAWgAAAFcAAABVAAYAVAAMAFMAEQBTABYAUwAcAFIAIQBRACcATwAsAE4AMQBNADcASwA9AEoA RABJAEwARwBXAEYAZABFAHQARACNAEMAqgBDAOMAQgD+AEAA/wBAAP8AQAD/AEEA/wCtAAAAlQAA AIEAAABtAAAAYAAAAFcAAABRAAAATQAAAEoAAABIAAMARwAIAEYADQBGABIARgAXAEYAHQBEACIA QwAnAEIALABBADEAPwA3AD4APwA9AEcAPABRADoAXQA5AG0AOQCDADgAoAA4AMsAOAD/ADcA/wA3 AP8AOAD/ADkA/wChAAAAigAAAHMAAABhAAAAVQAAAEwAAABGAAAAQgAAAD8AAAA9AAAAPAAGADsA CgA7AA4AOwATADsAGAA6AB0AOQAiADgAJwA3AC0ANQAzADQAOgAzAEIAMgBMADEAWAAwAGcALwB8 AC4AlwAuALwALgD7AC4A/wAvAP8AMAD/ADEA/wCXAAAAgQAAAGgAAABYAgAATQIAAEQCAAA+AgAA OQEAADYAAAA0AAAAMwADADIACAAyAAwAMgAQADIAFAAxABkAMAAeAC4AIwAtACkALAAvACsANgAq AD0AKQBHACgAUwAoAGIAJwB2ACYAkQAmALQAJgDzACYA/wAnAP8AKAD/ACoA/wCQAgAAdgIAAGEF AABSBwAARgcAAD4HAAA3BwAAMgYAAC8FAAAtAwAAKwECACsABgAqAAoAKQANACkAEQApABYAKAAb ACcAIAAmACUAJQArACQAMgAjADoAIgBEACEATwAgAF0AIABwAB8AigAfAKwAHgDnAB4A/wAfAP8A IQD/ACMA/wCJBAAAbgYAAFsJAABNCgAAQQsAADkLAAAyCgAALQoAACkJAAAnCAAAJQYAACQFBAAj AwgAIwELACIADwAiABMAIQAYACAAHAAfACIAHgAoAB0ALwAcADcAHABAABsATAAaAFoAGQBsABkA hQAYAKYAFwDcABcA/wAYAP8AGgD/ABwA/wCDBgAAaAoAAFYMAABIDQAAPQ4AADUNAAAuDQAAKQ0A ACUMAAAiCwAAIAoAAB4JAwAeCAYAHQYJABwFDQAcBBEAGwQVABoEGgAZBB8AGAQlABgELAAXAzQA FgM+ABUDSQAUAlgAFAJqABMBgQASAKEAEgDNABEA/wARAP8AEwD/ABUA/wB8CgAAYwwAAFEOAABE EAAAOhAAADEQAAArDwAAJg4AACIOAAAeDgAAHA0AABoMAgAZDAUAGAsIABcJCwAXCA4AFggTABUI FwAVCB0AFAgjABMIKgASCDIAEgg8ABEIRwAQCFYADwdoAA4HfwANBp4ADQbGAAwE/QAMA/8ADQT/ AA4F/wB2DAAAXw8AAE4RAABBEQAANxIAAC4RAAAoEQAAIxAAAB8QAAAbEAAAGQ8AABcOAgAVDgUA FA0HABMNCQATDAwAEgwRABEMFQARDBsAEAwhABAMKQAPDDEADgw7AA0MRwAMDFYACw1oAAkMfwAI DJ4ABwvDAAYL+gAFCv8ABQr/AAkK/wBxDgAAWxEAAEsSAAA+EwAANBMAACsTAAAlEwAAIBIAABwR AAAZEQAAFhEAABQQAwATEAUAERAHABAPCQAQDgsADg4OAA4PEwANDxkADRAgAAwQJwALEC8AChA5 AAkQRAAIEFMABhBlAAUQfAADD5sAAg7BAAEO+gAADv8AAA3/AAYN/wBsEQAAVxMAAEgUAAA7FQAA MRUAACkVAAAjFAAAHhMAABoTAAAXEgAAFBIBABMRBAAREQYAEBEIAA8RCgANEQoADBINAAsSEQAK EhYACRMdAAgTJAAHEywABhM2AAQTQQADE1AAAhNiAAATeQAAEpkAABLAAAAR+gAAEf8AABD/AAER /wBnEwAAVBUAAEUWAAA5FwAALxcAACcXAAAhFgAAHBUAABgUAAAVFAAAExMCABITBQAQEgcADxII AA0SCAALFAkACRUMAAcWEAAFFhQABBYaAAMXIgACFyoAARczAAAXPwAAF00AABdfAAAWdgAAFpYA ABW/AAAU+wAAFP8AABP/AAAU/wBjFQAAUBgAAEIZAAA2GQAALBkAACUYAAAfFwAAGhcAABcWAAAU FQAAExQDABETBgAQFAYADhQGAAwVBwAJFggABhgLAAMaDgABGhIAABsYAAAbHwAAGycAABwxAAAc PAAAHEoAABtcAAAbcwAAGpQAABm9AAAY+wAAF/8AABf/AAAX/wBeGAAATBoAAD4bAAAzGwAAKhsA ACIaAAAdGQAAGRgAABYXAAAUFgEAEhUEABAVBAAOFgQADBcEAAkZBQAGGgcAAxwJAAAeDAAAIBAA ACAWAAAgHAAAICQAACEuAAAhOQAAIUcAACBZAAAgcAAAH5AAAB66AAAc+wAAHP8AABv/AAAb/wBZ GwAASB0AADseAAAwHgAAJx0AACEcAAAcGwAAGBkAABYYAAATFwEAERgBAA4YAQAMGgEACRsCAAYd AwADHwUAACEIAAAjCwAAJQ4AACYTAAAmGgAAJiIAACYrAAAmNgAAJkQAACZVAAAlbAAAJIwAACO2 AAAi+QAAIP8AACD/AAAg/wBUHwAARCAAADcgAAAtIAAAJR8AAB8eAAAbHAAAGBoAABUaAAARGgAA DxsAAAwdAAAJHgAABiAAAAIiAQAAJAMAACYGAAAoCQAAKgwAACwRAAAsFwAALR4AAC0nAAAtMwAA LUAAAC1RAAAsZwAAK4cAACmxAAAn9wAAJv8AACX/AAAk/wBPIwAAQCMAADQjAAAqIgAAIyEAAB4f AAAbHQAAFx0AABMdAAAPHwAADCAAAAkiAAAFJAAAASYAAAAoAAAAKgEAACwDAAAvBgAAMQkAADMN AAA1EwAANRoAADUkAAA1LwAANTwAADRNAAAzYwAAMoEAADCsAAAv8wAALP8AACv/AAAq/wBKJwAA PCcAADEmAAAoJQAAIiMAAB4hAAAaIAAAFCEAABAiAAANJAAACSYAAAUpAAAAKwAAAC0AAAAvAAAA MQAAADQAAAA2AwAAOAYAADsKAAA9DwAAPxYAAD4gAAA+KgAAPjcAAD1IAAA8XQAAO3sAADmlAAA3 7QAANP8AADL/AAAw/wBEKwAAOCoAAC4pAAAnJwAAIiQAAB0jAAAWJQAAEScAAA0pAAAIKwAAAy4A AAAwAAAAMwAAADUAAAA3AAAAOgAAADwAAAA/AAAAQQIAAEQGAABGCwAASREAAEoaAABKJQAASTMA AEhDAABHVwAARnMAAEScAABC4QAAPv8AADr/AAA4/wA/LwAANC4AACwrAAAnKQAAISgAABkpAAAS KwAADi4AAAgxAAACNAAAADcAAAA6AAAAPAAAAD8AAABBAAAARAAAAEYAAABJAAAASwAAAE4CAABS BwAAVQ0AAFkUAABZHwAAWCwAAFc8AABVUQAAVGoAAFGTAABOzAAASv8AAET/AABB/wA7MwAAMjEA ACwuAAAmLQAAHS4AABUxAAAONAAACTgAAAI7AAAAPwAAAEMAAABFAAAASAAAAEsAAABOAAAAUQAA AFQAAABWAAAAWQAAAFwAAABgAQAAZAgAAGgOAABsGAAAayUAAGo1AABpSAAAZWIAAGOGAABevAAA Wv8AAFH/AABM/wA5NwAAMjQAACsyAAAhNAAAGDgAABA8AAAJQAAAAUUAAABJAAAATQAAAFEAAABU AAAAVwAAAFoAAABdAAAAYQAAAGQAAABnAAAAagAAAG4AAAByAAAAdwEAAHwIAACCEQAAhh0AAIQt AACBQAAAflgAAHl7AAB1rAAAb/0AAGL/AABb/wA5OgAAMTkAACY7AAAcPwAAEkQAAAtJAAACTwAA AFQAAABZAAAAXgAAAGIAAABlAAAAaQAAAG0AAABxAAAAdQAAAHkAAAB8AAAAgAAAAIUAAACLAAAA kQAAAJkAAACiCgAArRQAAK0jAACpNgAAo04AAJxuAACTnwAAjO4AAHv/AABu/wA3QAAAK0MAACBH AAAWTAAADlEAAAdXAAAAXQAAAGMAAABqAAAAcAAAAHUAAAB7AAAAgAAAAIQAAACKAAAAkAAAAJUA AACaAAAAoQAAAKgAAACvAAAAuAAAAMIAAADNAAAA2QsAAOQYAADeLAAA1UQAAMtjAADBjwAAr84A AJz/AACI/wAySwAAKE8AAB5TAAAVWQAADl8AAAZlAAAAawAAAHIAAAB4AAAAfwAAAIUAAACLAAAA kgAAAJgAAACfAAAApQAAAKsAAACxAAAAuAAAAL8AAADIAAAA0QAAAN0AAADpAAAA9gMAAP8QAAD/ IgAA/zoAAPpYAADvgwAA0rEAALToAACm/wAwVwAAJ1sAAB5hAAAVZwAADm4AAAd1AAAAfAAAAIMA AACKAAAAkgAAAJkAAACgAAAApwAAAK0AAACzAAAAuQAAAL8AAADFAAAAywAAANEAAADZAAAA4QAA AOoAAAD0AAAA/gAAAP8LAAD/GgAA/zEAAP9NAAD/dgAA/aUAANS6AADA3gAAAAAAAAAAAAAAAAAA AAAAAQMEBQYICQoLDQ4PERITFBYXGBobHB0fICEiJCUmKCkqKy0uLzAyMzQ2Nzg5Ozw9PkBBQkRF RkdJSktNTk9QUlNUVVdYWVtcXV5gYWJjZWZnaWprbG5vcHFzdHV3eHl6fH1+gIGCg4WGh4iKi4yO j5CRk5SVlpiZmpydnp+hoqOkpqeoqqusra+wsbO0tba4ubq7vb6/wcLDxMbHyMnLzM3P0NHS1NXW 19na293e3+Di4+Tm5+jp6+zt7vDx8vT19vf5+vv8/v////////////////////////////////// ////////////////////AAAAAAAAAAAAAAAAAAAAAAEDBAUGCAkKCw0ODxESExQWFxgaGxwdHyAh IiQlJigpKistLi8wMjM0Njc4OTs8PT5AQUJERUZHSUpLTU5PUFJTVFVXWFlbXF1eYGFiY2VmZ2lq a2xub3Bxc3R1d3h5enx9foCBgoOFhoeIiouMjo+QkZOUlZaYmZqcnZ6foaKjpKanqKqrrK2vsLGz tLW2uLm6u72+v8HCw8TGx8jJy8zNz9DR0tTV1tfZ2tvd3t/g4uPk5ufo6evs7e7w8fL09fb3+fr7 /P7//////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAA AAABAwQFBggJCgsNDg8REhMUFhcYGhscHR8gISIkJSYoKSorLS4vMDIzNDY3ODk7PD0+QEFCREVG R0lKS01OT1BSU1RVV1hZW1xdXmBhYmNlZmdpamtsbm9wcXN0dXd4eXp8fX6AgYKDhYaHiIqLjI6P kJGTlJWWmJmanJ2en6Gio6Smp6iqq6ytr7Cxs7S1tri5uru9vr/BwsPExsfIycvMzc/Q0dLU1dbX 2drb3d7f4OLj5Obn6Onr7O3u8PHy9PX29/n6+/z+//////////////////////////////////// //////////////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkq KywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJj ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpuc nZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV 1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/bWZ0MQAAAAADBCEAAAEA AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYX GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9Q UVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJ iouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHC w8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7 /P3+/wABAQICAwMEBAUGBgcHCAgJCQoLCwwMDQ0ODw8QEBEREhMTFBQVFhYXFxgZGRoaGxwcHR4e HyAgISIiIyQkJSYmJygpKSorLC0tLi8wMTIyMzQ1Njc4OTo7PD0+P0BCQ0RFRkhJSkxNT1BSU1VX WFpcXmBiZGZoam1vcXR2eXx+gYOGiYuOkJKVl5mbnZ+ho6WnqKqsra+wsrO1tre5uru8vb/AwcLD xMXGx8jJysvMzc3Oz9DR0tLT1NXW1tfY2dna29vc3d3e39/g4eHi4+Pk5eXm5ufo6Onp6uvr7Ozt 7u7v7/Dw8fLy8/P09PX29vf3+Pj5+fr7+/z8/f3+/v8AAQECAgMDBAQFBgYHBwgICQkKCwsMDA0N Dg8PEBARERITExQUFRYWFxcYGRkaGhscHB0eHh8gICEiIiMkJCUmJicoKSkqKywtLS4vMDEyMjM0 NTY3ODk6Ozw9Pj9AQkNERUZISUpMTU9QUlNVV1haXF5gYmRmaGptb3F0dnl8foGDhomLjpCSlZeZ m52foaOlp6iqrK2vsLKztba3ubq7vL2/wMHCw8TFxsfIycrLzM3Nzs/Q0dLS09TV1tbX2NnZ2tvb 3N3d3t/f4OHh4uPj5OXl5ubn6Ojp6err6+zs7e7u7+/w8PHy8vPz9PT19vb39/j4+fn6+/v8/P39 /v7//5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+ YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2 r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7 TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy /5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseL eGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lb iKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXY tlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5Ir Av+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTV hXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaR XpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5 zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+h MwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl 44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpme imCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9V TsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/ sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44Nr YfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCq l4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKo V2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th 8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+hMwT/sT0K 8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4RhuZF+YseLeGTVhXJl44NrYfKD a2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNr YfKDa2Hy/5IrAv+hMwT/sT0K8r1GFuS7TiXYtlI5zK9VTsKoV2K4oFl2r5lbiKaRXpmeimCql4Rh uZF+YseLeGTVhXJl44NrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy g2th8oNrYfKDa2Hyg2th8oNrYfKDa2Hy/5IrAv+iMwT/sj0K8b9GFeO9TiXWuFI5yrFVTr+qVmO1 pFd3q51ZiqKWW5yajl2tk4lfu4yDYMiGfmPUf3ll4HdyZup3cmbqd3Jm6ndyZup3cmbqd3Jm6ndy Zup3cmbqd3Jm6ndyZup3cmbqd3Jm6ndyZup3cmbqd3Jm6ndyZup3cmbq/5MqAf+jMwT/szwK8MFG FeG/TiXUulI5yLNUTr2uVWOyqFZ4qKJXi56bWpyWlV2rjpBfuIiLYcSBhmPPeoBm2XJ5aOJyeWji cnlo4nJ5aOJyeWjicnlo4nJ5aOJyeWjicnlo4nJ5aOJyeWjicnlo4nJ5aOJyeWjicnlo4nJ5aOJy eWji/5QqAf+kMgT/tTwK7sRGFeDBTiXSvFI5xrZUTrqxVGSurFV4pKdXiZqhWpmRnF2nipdfs4ST Yb59jmTJdYdm0m6AadpugGnaboBp2m6AadpugGnaboBp2m6AadpugGnaboBp2m6AadpugGnaboBp 2m6AadpugGnaboBp2m6AadpugGna/5UqAf+lMgT/tzsK7cZGFd7DTiTQv1I4w7lTTre1U2SrsVV3 n61XiJWoWpaNo12jhp9groCbYrh5lWTBco5mymuIadFriGnRa4hp0WuIadFriGnRa4hp0WuIadFr iGnRa4hp0WuIadFriGnRa4hp0WuIadFriGnRa4hp0WuIadFriGnR/5YpAf+nMQT/uTsJ68hGFNzG TiTOwVI4wbxTTrO5U2OntlV1m7NXhZGvWpOIq12fgqdgqHujY7F0nGS5bpVmwWmQacdpkGnHaZBp x2mQacdpkGnHaZBpx2mQacdpkGnHaZBpx2mQacdpkGnHaZBpx2mQacdpkGnHaZBpx2mQacdpkGnH /5cpAf+pMAP+uzoJ6ctGFNrJTiPLxFI4vsBTTrC9U2Kiu1V0lrlXg4y2Wo+Es16afbBhonepY6px o2Sxa55nt2aZar1mmWq9ZplqvWaZar1mmWq9ZplqvWaZar1mmWq9ZplqvWaZar1mmWq9ZplqvWaZ ar1mmWq9ZplqvWaZar1mmWq9/5koAf+rLwP8vjkJ6M5FE9jMTyPIx1I3usRTTazCU2GewVVxksBX gIe+W4t/u1+UeLVhnHOwY6Jtq2WoaaZnrWSiarJkomqyZKJqsmSiarJkomqyZKJqsmSiarJkomqy ZKJqsmSiarJkomqyZKJqsmSiarJkomqyZKJqsmSiarJkomqy/5onAf+tLgP7wTgI5tFEEtTPTyLF ylI3tshTTKfIU1+ZyFVvjcdYfILGW4Z6wV+OdLthlW+3Y5pqs2WfZq9oo2Kra6hiq2uoYqtrqGKr a6hiq2uoYqtrqGKra6hiq2uoYqtrqGKra6hiq2uoYqtrqGKra6hiq2uoYqtrqGKra6hiq2uo/50m Af+wLQP4xjcH49ZDEdHSTyHBz1I3ss1TS6LOVF2Uz1ZsiM9Zd33NXIF1x1+Ib8JhjWu+ZJFnu2aV Y7hpmWC1bJxgtWycYLVsnGC1bJxgtWycYLVsnGC1bJxgtWycYLVsnGC1bJxgtWycYLVsnGC1bJxg tWycYLVsnGC1bJxgtWyc/6AkAf+1KwLzzDUG391CEM3YTyK91FI2rNRTSZzWVFqO2FZngdlacXbT XHlvzl9/aspihGfHZIdjxGeKYMJqjV6/bZBev22QXr9tkF6/bZBev22QXr9tkF6/bZBev22QXr9t kF6/bZBev22QXr9tkF6/bZBev22QXr9tkF6/bZBev22Q/6QiAP+8KQLr1jIF2uRAEMfdTiK23FE1 pd5SR5XhVFWG41dheuFbanDbXXFq1mB2ZdNieWLRZXxgzmh/XcxqgVvLbYNby22DW8ttg1vLbYNb y22DW8ttg1vLbYNby22DW8ttg1vLbYNby22DW8ttg1vLbYNby22DW8ttg1vLbYNby22D/6sfAPjG JQHg5C0E0u09EcDlTSKu5lAznelSQ43sVU9/7VlZc+hcYWvkX2Zl4GFqYd5kbV7cZm9b2mhxWdlr c1fXbnVX1251V9dudVfXbnVX1251V9dudVfXbnVX1251V9dudVfXbnVX1251V9dudVfXbnVX1251 V9dudVfXbnVX1251/7UZAOnVHgDS7CwFxfY8EbfwSyGl808wlPZSPYT4Vkh391pQbfFeV2fuYVti 62ReX+lmYFznaGJa5mpkV+VsZVXkb2ZV5G9mVeRvZlXkb2ZV5G9mVeRvZlXkb2ZV5G9mVeRvZlXk b2ZV5G9mVeRvZlXkb2ZV5G9mVeRvZlXkb2ZV5G9m9sQSANXmGQDD9ysGtv87Ea3/SB+b/00siv9S N3z/Vz9x/1xGaftgS2P4ZE9f9mZRXfVpU1vza1RZ8m1VV/FvVlXxcVdV8XFXVfFxV1XxcVdV8XFX VfFxV1XxcVdV8XFXVfFxV1XxcVdV8XFXVfFxV1XxcVdV8XFXVfFxV1XxcVdV8XFX19QKAMTzGAGz /yoHqP86EZ//RhyR/0smgf9SL3T/WDZr/108Zf9hP2D/ZUJd/2dEW/9qRVn/bEZY/m5HVv5wSFX9 cklV/XJJVf1ySVX9cklV/XJJVf1ySVX9cklV/XJJVf1ySVX9cklV/XJJVf1ySVX9cklV/XJJVf1y SVX9cklV/XJJxdYJALP/GAGl/ygHm/84D5L/RBiF/0kgd/9RJ23/WC1m/14xYf9iNF3/ZTZb/2g3 Wf9qOFj/bDlX/246Vv9wO1X/cjtV/3I7Vf9yO1X/cjtV/3I7Vf9yO1X/cjtV/3I7Vf9yO1X/cjtV /3I7Vf9yO1X/cjtV/3I7Vf9yO1X/cjtV/3I7/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9Cf WlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2E y4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI /bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQ YIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pd hMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3du n6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL il2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbI ll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pd hMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJD Ee+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDI il2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuK XYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6Vy camgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2E y4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1o wY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuK XYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2 Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2E y4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL /4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6Vycamg bXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pd hMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1i eLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL il2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/k r1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pd hMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4op Af+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmFZoaxfWuTq3dun6VycamgbXSy m2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuK XYTLil2Ey4pdhMuKXYTL/4opAf+YMQP/pjsI/bJDEe+2Sx/kr1Ew2qhWQ9CfWlbIll1owY1ieLmF ZoaxfWuTq3dun6VycamgbXSym2l3upZke8KQYIDIil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTLil2E y4pdhMuKXYTLil2Ey4pdhMuKXYTLil2Ey4pdhMuKXYTL/4spAf+ZMQP/pzoI+7VDEe24Sx/islEw 2KtVQ86jWVfFmlxpvZFferWJZImtgWeYp3prpaF0bbGbb2+7lmpyxZBlds6KYXzUgl5+0oJeftKC Xn7Sgl5+0oJeftKCXn7Sgl5+0oJeftKCXn7Sgl5+0oJeftKCXn7Sgl5+0oJeftKCXn7S/4woAf+a MAP/qToI+rdDEey6Sx7gtFEw1a5VRMumWFfCnVpqupVdfLGNYYyphWScon5nq5x3abmXcWvFkWxt 0IxmcNqCYHPefGF61nxhetZ8YXrWfGF61nxhetZ8YXrWfGF61nxhetZ8YXrWfGF61nxhetZ8YXrW fGF61nxhetZ8YXrW/4woAf+bMAP/qjkH+blDEeu8Sx7ftlEw07BVRMmoV1i/oVlrt5lbfq6QX4+m iWGgnoFjsZh6ZMCSdGXNjm5m2olqauF9ZHDid2R42XdkeNl3ZHjZd2R42XdkeNl3ZHjZd2R42Xdk eNl3ZHjZd2R42XdkeNl3ZHjZd2R42XdkeNl3ZHjZ/40oAf+cLwP/qzkH+LtDEOm+Sx7duVEw0bJU RMerVli9pFhss5xaf6qVXJGijV6kmoVftpN+YMaOeWHSiXRk24NwaOJ5a27kc2l223NpdttzaXbb c2l223NpdttzaXbbc2l223NpdttzaXbbc2l223NpdttzaXbbc2l223NpdttzaXbb/40oAf+cLwP/ rDkH97xDEOi/Sx7bu1Ewz7RURMSuVVm6p1ZtsKBYgKaZWpSekVunlYpduY+EXseJgGDSg3tj2314 Z+J2c27jb3B2229wdttvcHbbb3B2229wdttvcHbbb3B2229wdttvcHbbb3B2229wdttvcHbbb3B2 229wdttvcHbb/44nAf+dLwP/rTgH9r9DEOfBSx7avVEwzbdURMKwVVm3q1VuraVWgqKeWJSZl1ul kZFdtYqMX8ODh2DOfIFh2XV7ZN9wem3hbXh22214dttteHbbbXh22214dttteHbbbXh22214dttt eHbbbXh22214dttteHbbbXh22214dttteHbb/48nAf+eLgP/rzgH9MFCEOXDSx3Yv1Evy7lTRMC0 VFm0r1RuqapWgZ6kWJKVnluijJldsYWUX71+j2HIdodi0m+AZNlqfWrdaoF32GqBd9hqgXfYaoF3 2GqBd9hqgXfYaoF32GqBd9hqgXfYaoF32GqBd9hqgXfYaoF32GqBd9hqgXfY/48mAf+gLgL/sDcH 88NCD+TFSx3WwlEvybxTRL23U1qws1Rupa9Wf5qrWJCQplueiKFerICdYLd5lWHBco5iyWuIZdFm hGvVZIRy1WSEctVkhHLVZIRy1WSEctVkhHLVZIRy1WSEctVkhHLVZIRy1WSEctVkhHLVZIRy1WSE ctVkhHLV/5AmAf+hLQL/sjcG8sVBD+LISx3TxFEvxr5TRLm7U1mtt1RsoLRWfpWxWI2LrVuag6lf pnyjYbB1nGK5bpZjwWiQZsdkjGvMYYtxzWGLcc1hi3HNYYtxzWGLcc1hi3HNYYtxzWGLcc1hi3HN YYtxzWGLcc1hi3HNYYtxzWGLcc1hi3HN/5ElAf+iLQL/tDYG8chADuDKSxzRx1EuxMJTRLa/U1ip vVRrnLpWe5C4WIqHtVyWf7FfoHeqYalxpGOwa55lt2aZZ71ilWzBX5Nww1+TcMNfk3DDX5Nww1+T cMNfk3DDX5Nww1+TcMNfk3DDX5Nww1+TcMNfk3DDX5Nww1+TcMNfk3DD/5MlAf+kLAL/tzUG78w/ Dt3OTBvOylIuwMZTQ7LEU1ekw1Rpl8JWeIvAWYWCvV2QebdgmXKxYqFtrGSnaKdmrGSjabFgn221 XZ1xuF2dcbhdnXG4XZ1xuF2dcbhdnXG4XZ1xuF2dcbhdnXG4XZ1xuF2dcbhdnXG4XZ1xuF2dcbhd nXG4/5UkAP+nKwL/uzQF7dE+DdrSTRrKzVItvMpTQq3KU1aeylRmkcpXdYXJWoB7xV2Kc75gkW25 YpdptWWcZbFnoGGuaqReq26oXKlxqlypcapcqXGqXKlxqlypcapcqXGqXKlxqlypcapcqXGqXKlx qlypcapcqXGqXKlxqlypcapcqXGq/5cjAP+rKQH+wDIF6tk8DNbYTRnG0lEtt9FTQafRU1OY0lVj i9NYcH/SW3p1zF6CbsZhiGnCY41lv2aQYrxolF+5a5dct2+aWrVynFq1cpxatXKcWrVynFq1cpxa tXKcWrVynFq1cpxatXKcWrVynFq1cpxatXKcWrVynFq1cpxatXKc/5shAP+wJwH3yC8E5OM6CtDe SxrA2VEtsNlSQKDbU1CR3VVeg95ZaXfaXHJu1F55aM9hfmTMZIFhymeEXsdph1zFbIlZw3CLWMJy jVjCco1YwnKNWMJyjVjCco1YwnKNWMJyjVjCco1YwnKNWMJyjVjCco1YwnKNWMJyjVjCco1YwnKN /6AeAP+4IwHt0ysD3Ok4CsrmSRq54VAsqONSPZfmU0yI6FZYe+haYXHiXWhp3WBuY9picmDXZXVd 1Wh3W9NqeVnSbXtX0HB9Vc9zflXPc35Vz3N+Vc9zflXPc35Vz3N+Vc9zflXPc35Vz3N+Vc9zflXP c35Vz3N+Vc9zflXPc35Vz3N+/6caAPnDHgDe4yYCzvA3C8HwRhqw7E4qn+9ROY7yVEaA9FhQdPBc WGvrX15l6GJiYOVlZV3jZ2da4WlpWOBra1bfbmxU3nBtUt1zblLdc25S3XNuUt1zblLdc25S3XNu Ut1zblLdc25S3XNuUt1zblLdc25S3XNuUt1zblLdc25S3XNu/7MTAOfVFQDO7SUCv/s1DLb+Qxqm +0wnlf5QNIX/VT54/1pHbvpeTWf2YVJh82VVXvFnV1vvallZ7mxaV+1uXFXscF1U63JeUup0X1Lq dF9S6nRfUup0X1LqdF9S6nRfUup0X1LqdF9S6nRfUup0X1LqdF9S6nRfUup0X1LqdF9S6nRf4MUL ANLnEQC++yQDsP80DKf/Qhib/0kji/9PLX3/VTZx/1s8af9fQWP/Y0Vf/mZIXP1pSVr7a0tY+21M V/pvTVX5cU5U+HROU/h1T1P4dU9T+HVPU/h1T1P4dU9T+HVPU/h1T1P4dU9T+HVPU/h1T1P4dU9T +HVPU/h1T1P4dU9T+HVPy8gIAL/3EQCu/yMEov8zDJr/QRWO/0YegP9OJnT/VS1r/1wyZP9gNmD/ ZDlc/2c7Wv9qPFj/bD1X/24+Vv9wPlX/cj9U/3RAU/91QFP/dUBT/3VAU/91QFP/dUBT/3VAU/91 QFP/dUBT/3VAU/91QFP/dUBT/3VAU/91QFP/dUBT/3VAussHAK3/EQCg/yEElf8xC43/QBKB/0UZ dv9NH2z/VSRl/1woYP9gK1z/ZC1a/2cuWP9qL1f/bDBW/20xVf9vMVT/cTJT/3MyUv90M1L/dDNS /3QzUv90M1L/dDNS/3QzUv90M1L/dDNS/3QzUv90M1L/dDNS/3QzUv90M1L/dDNS/3Qz/4MoAf+Q LwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSD nKhhh6CjXouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes l1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXB dnGAu3B2ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdY l6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJW Od6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJes l1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/ nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhh h6CjXouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iX rJdYl6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGA u3B2ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yX WJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6Z W0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJesl1iX rJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG /6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhhh6Cj XouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdY l6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2 ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes l1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG/6lADvmsSBnuq1Ao5qJWOd6ZW0rW kGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhhh6CjXouknluQqJlYlquXWJesl1iXrJdY l6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJes/4MoAf+QLwL/nTgG/6lA DvmsSBnuq1Ao5qJWOd6ZW0rWkGFaz4Zmach9bHXBdnGAu3B2ibVre5CwZ3+XrGSDnKhhh6CjXouk nluQqJlYlquXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yXWJesl1iXrJdYl6yX WJes/4MoAf+RLgL/njgG/6tADfivSBntrU8o46VVOducWkvTk19bzIlka8WAaXi+eW+Et3N0jrJt eJasaXydqGWAo6NhhKmfXoitmVuNspNZlLSSWZazklmWs5JZlrOSWZazklmWs5JZlrOSWZazklmW s5JZlrOSWZazklmWs5JZlrOSWZaz/4QnAf+SLgL/nzcG/61ADfaySBnqsE8o4ahVOtihWUzQl11d yI5ibcGFZnu6fWyIs3ZwlK1wdJ6na3inomZ7rp5if7WYX4S7kluKv4xckryLXJW5i1yVuYtclbmL XJW5i1yVuYtclbmLXJW5i1yVuYtclbmLXJW5i1yVuYtclbmLXJW5/4UnAf+TLQL/oTcF/69ADfS1 SBnos08o3qxUOtWkWEzNm1xexZJfb72JZH62gWiNr3lsmqhzcKaibXOxnWh2uphjesKTX3/Ii1uF y4VejsCEX5G9hF+RvYRfkb2EX5G9hF+RvYRfkb2EX5G9hF+RvYRfkb2EX5G9hF+RvYRfkb2EX5G9 /4YmAf+ULQL/ojYF/7FADfO4SBjntU8o3K9UOtKnV03KnlpfwpZdcbqNYYGyhWWRqn1pn6R2a66e b266mWlwxZRkdM6OYXrShF6Bz39hi8R+Yo7AfmKOwH5ijsB+Yo7AfmKOwH5ijsB+Yo7AfmKOwH5i jsB+Yo7AfmKOwH5ijsB+Yo7A/4YmAf+VLQL/ozYF/7JADPG6SBjlt08o2rFTOtCqV03Hollgvplc craRX4OuiWKUp4BlpaB5Z7WacmjElWxrzY9pcdKJZnjUfmJ903lliMZ5ZozDeWaMw3lmjMN5ZozD eWaMw3lmjMN5ZozDeWaMw3lmjMN5ZozDeWaMw3lmjMN5ZozD/4cmAf+VLAL/pDUF/7Q/DPC9Rxjk uU8o2bRTOs6sVk7EpVhhu51adLOVXYaqjV+Xo4RhqZx8YruVd2bGj3Jqzopvb9OEbHbWeWZ71XVo h8h0aYrFdGmKxXRpisV0aYrFdGmKxXRpisV0aYrFdGmKxXRpisV0aYrFdGmKxXRpisV0aYrF/4gl Af+WLAL/pTUF/7U/DO+/Rxjiu08o1rZTOsyvVU7CqFdiuKFYda+ZWoenkV2an4herpeCYbyQfWTG inhozoV1bdR+cnTXdWx613FthcpxbYnGcW2JxnFticZxbYnGcW2JxnFticZxbYnGcW2JxnFticZx bYnGcW2JxnFticZxbYnG/4glAf+XLAL/pjQF/rc/DO3BRxjhvU8n1LhTOsqxVU6/q1ZitaRXdqyd WImjlVqdmo5drpKIYLuLg2PGhX9nzoB7bNR5eHPXcnN6125yhcttcojHbXKIx21yiMdtcojHbXKI x21yiMdtcojHbXKIx21yiMdtcojHbXKIx21yiMdtcojH/4kkAP+YKwL/qDQF/bg+DOzDRxffv08n 07pTOsi0VE69rlVjsqhVd6iiVoqem1mclZVcrY2PX7qGimLFgIZmzXqDa9J1f3HWb3x71mt4hMtq eIjHaniIx2p4iMdqeIjHaniIx2p4iMdqeIjHaniIx2p4iMdqeIjHaniIx2p4iMdqeIjH/4okAP+Z KwL/qTQF/Lo+C+vFRxfdwU8n0bxTOsW2VE+6sVRjr61Ud6SoVomaolmakJxbqoiXXbmBkmHDeo1k y3SIaNBvhW/Ua4N51GiAhcpnf4jHZ3+Ix2d/iMdnf4jHZ3+Ix2d/iMdnf4jHZ3+Ix2d/iMdnf4jH Z3+Ix2d/iMdnf4jH/4ojAP+aKgH/qjME+7w9C+nHSBfbxE8mzr9TOsK6U0+2tVNjq7JVdp+uVoeV qVmWi6RcpYOgXrN5l1+/cpBgyG2LZM1oiWvQZYh10GSIg8lkh4fFZIeHxWSHh8Vkh4fFZIeHxWSH h8Vkh4fFZIeHxWSHh8Vkh4fFZIeHxWSHh8Vkh4fF/4sjAP+bKgH/rDIE+r88C+fKSBbZx08mzMJT Ob+9U06yulNiprhVdJq1V4SPsVmShq1doH2oX6x0n2C2bZhhvmeSY8RjjmjJYI1wy2CRgcVgkIXC YJCFwmCQhcJgkIXCYJCFwmCQhcJgkIXCYJCFwmCQhcJgkIXCYJCFwmCQhcJgkIXC/4wiAP+dKQH/ rzEE+MI7CuXNSBXWy1AlyMVTObvCU06uwFRgob9VcZS9V4CJulqOgLdemXevYKNvqGGsaaJjsmWd ZrhgmWq8XZdwv1uXer9bmYC9W5mAvVuZgL1bmYC9W5mAvVuZgL1bmYC9W5mAvVuZgL1bmYC9W5mA vVuZgL1bmYC9/44iAP+fKAH/sjAD9sY6CeLRRxTSzlAkxMpTOLbIU0yox1Rfm8dVbo7GWHyDxFuI eb5eknG3YJprsWOgZq1lpmKpaKpepmyuW6NxsViiebNYonyzWKJ8s1iifLNYonyzWKJ8s1iifLNY onyzWKJ8s1iifLNYonyzWKJ8s1iifLNYonyz/5AhAP+iJgH/ty4D88w4CN/YRhPO01AkwM9SOLHO U0uiz1RclNBWaofQWXd8zVyBc8ZfiWzAYY9nvGSUY7hnmF+1apxcs22fWbByolaueKRWrnqkVq56 pFaueqRWrnqkVq56pFaueqRWrnqkVq56pFaueqRWrnqkVq56pFaueqRWrnqk/5MfAP+nJAH/vSwC 7NU2B9rfRRLJ2VAkutZSN6rWU0mb2VRYjdtXZYDbWnB11Fx4bc5ff2fKY4RjxmaIX8Roi13Ba45a v2+QV71zklW8eJRUu3qVVLt6lVS7epVUu3qVVLt6lVS7epVUu3qVVLt6lVS7epVUu3qVVLt6lVS7 epVUu3qV/5cdAP+tIQD4xSkC4+EzBdPnQhPC4E8kst9RNqLhU0aS5FVThOZYX3jjW2du3V5uZ9hh dGLUZHhf0Wd7XM9qfVrObX9XzHCBVcpzg1PJeIVSyXqFUsl6hVLJeoVSyXqFUsl6hVLJeoVSyXqF Usl6hVLJeoVSyXqFUsl6hVLJeoVSyXqF/5wZAP+1HQDs0iQB1+kxBsvwPxO66U4jqupQM5ntUkGK 8FZNffFZVnHrXV5p5mBjY+NjaF7gZmtb3mhtWNxrb1bbbXFV2nByU9h0dFHWeHVQ1np2UNZ6dlDW enZQ1np2UNZ6dlDWenZQ1np2UNZ6dlDWenZQ1np2UNZ6dlDWenZQ1np2/6UUAPnCFgDa4x0ByPMw B737PhSx9ksioPhOL5D7UjuB/FdFdfpbTWz1X1Nl8WJXYO5lWlzsaF1Z6mtfV+ltYFXob2FU53Jj UuZ1ZFDleGVP5XllT+V5ZU/leWVP5XllT+V5ZU/leWVP5XllT+V5ZU/leWVP5XllT+V5ZU/leWVP 5Xll8rMNAOTYDQDJ8B0Buf8uCK7/PROm/0gflf9NKob/UjR5/1g8b/9dQmf/YUdi/GVKXvpoTVv4 a09Y921QV/ZvUVX1cVJU9HNTUvN2VFDzeVVQ8npVUPJ6VVDyelVQ8npVUPJ6VVDyelVQ8npVUPJ6 VVDyelVQ8npVUPJ6VVDyelVQ8npV07sJAMzdCwC3/xwCqv8tCKD/PBKX/0Ybiv9LJHz/Uixx/1ky af9eN2P/Yjte/2Y9W/9pP1n/bEFX/25CVv9wQlX/ckNU/3REUv92RVH/eUVR/3pGUf96RlH/ekZR /3pGUf96RlH/ekZR/3pGUf96RlH/ekZR/3pGUf96RlH/ekZR/3pGwb4GALngCgCo/xsCnP8rCJP/ Og+K/0QXfv9JHnP/UiRq/1koZP9eLF//Yi9c/2YxWf9pMlj/azNW/240Vf9wNVT/cjVT/3M2Uv92 NlH/eDdR/3k3Uf95N1H/eTdR/3k3Uf95N1H/eTdR/3k3Uf95N1H/eTdR/3k3Uf95N1H/eTdR/3k3 sMIFAKjoCgCZ/xoCj/8rB4f/OQx9/0IScv9HF2r/UBxk/1gfX/9dIlv/YSRZ/2UlV/9oJlX/aidU /2woVP9uKFP/cClS/3EpUf9zKlD/dSpQ/3YqUP92KlD/dipQ/3YqUP92KlD/dipQ/3YqUP92KlD/ dipQ/3YqUP92KlD/dipQ/3Yq/3woAf+ILQL/lDUE/58+Cv+kRhT5ok4h8J1VMOmTWz/jimFO3IFo W9Z5b2bPcnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pXmpKlVaCUolOjlaJTo5WiU6OV olOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/3woAf+ILQL/lDUE/58+Cv+kRhT5 ok4h8J1VMOmTWz/jimFO3IFoW9Z5b2bPcnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pX mpKlVaCUolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/3wo Af+ILQL/lDUE/58+Cv+kRhT5ok4h8J1VMOmTWz/jimFO3IFoW9Z5b2bPcnVvyWx7d8NngH2+Y4WC uWCKhrZdjoqyW5KNrlmWj6pXmpKlVaCUolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5Wi U6OVolOjlaJTo5WiU6OV/3woAf+ILQL/lDUE/58+Cv+kRhT5ok4h8J1VMOmTWz/jimFO3IFoW9Z5 b2bPcnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pXmpKlVaCUolOjlaJTo5WiU6OVolOj laJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/3woAf+ILQL/lDUE/58+Cv+kRhT5ok4h 8J1VMOmTWz/jimFO3IFoW9Z5b2bPcnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pXmpKl VaCUolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/3woAf+I LQL/lDUE/58+Cv+kRhT5ok4h8J1VMOmTWz/jimFO3IFoW9Z5b2bPcnVvyWx7d8NngH2+Y4WCuWCK hrZdjoqyW5KNrlmWj6pXmpKlVaCUolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV olOjlaJTo5WiU6OV/3woAf+ILQL/lDUE/58+Cv+kRhT5ok4h8J1VMOmTWz/jimFO3IFoW9Z5b2bP cnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pXmpKlVaCUolOjlaJTo5WiU6OVolOjlaJT o5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/3woAf+ILQL/lDUE/58+Cv+kRhT5ok4h8J1V MOmTWz/jimFO3IFoW9Z5b2bPcnVvyWx7d8NngH2+Y4WCuWCKhrZdjoqyW5KNrlmWj6pXmpKlVaCU olOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OVolOjlaJTo5WiU6OV/30nAf+JLAL/ ljUE/6E+Cv+mRRT2pU0h7qFUMOaXWkDgjWBP2YVmXdJ8bGnMdXJzxW54fL9pfoO6ZYOItWGIjbFe jJGtXJCUqVmUl6RXmZqfVZ+cnFSjnZxUo52cVKOdnFSjnZxUo52cVKOdnFSjnZxUo52cVKOdnFSj nZxUo52cVKOd/34nAP+LKwL/lzQE/6Q+Cv+qRRT0qk0h66VTMeOcWUHck15R1YpkYM6BaW3HeW94 wHJ1grpseoq1Z3+RsGOEl6tgiJynXYygolqRpJ1Xl6eXVp2nlFiiopRYoqKUWKKilFiiopRYoqKU WKKilFiiopRYoqKUWKKilFiiopRYoqKUWKKi/38mAP+MKwH/mTME/6Y+Cv2uRRTxr0wh6KlTMeCg WELYmF1S0Y5hYsqFZnDDfWx8vHZxiLZvdpGwanuaqmV/oaVhhKegXYitm1qNsZVXlLOQWp2sjVyi po1coqaNXKKmjVyipo1coqaNXKKmjVyipo1coqaNXKKmjVyipo1coqaNXKKm/38lAP+NKgH/mjME /6g9CfuxRRPvs0wh5axSMd2kV0LUnFtTzZNfZMaJZHO/gWmAuHltjbFycpirbHajpWZ6rKBhf7Sb XYO6lVqJvo5akruKXpywh2ChqodgoaqHYKGqh2ChqodgoaqHYKGqh2ChqodgoaqHYKGqh2Chqodg oaqHYKGq/4AlAP+OKgH/nDIE/6k8Cfq0RRPttkwh469SMdqoVkPRoFpUypddZcKOYXW7hWaEtH1q kq12bp+nbnGsoWh1t5tiecCVX3/Dj16HxIddj7+DYZm0gWOgrYFjoK2BY6CtgWOgrYFjoK2BY6Ct gWOgrYFjoK2BY6CtgWOgrYFjoK2BY6Ct/4EkAP+PKQH/nTIE/6s8Cfi2RBPsuEwg4bJSMdirVkPP o1lVx5pcZr+SX3e3iWOHsIFmlql5aaajcWy0nGtxvpZnd8OQZX3GiWOFx4FhjMN9ZJe3fGadr3xm na98Zp2vfGadr3xmna98Zp2vfGadr3xmna98Zp2vfGadr3xmna98Zp2v/4EkAP+PKQH/njID/6w7 Cfe4RBPqukwg37RSMdWuVUPMplhWxJ5aaLyWXXm0jWCKrIVjmqV8Zayedmq3l3Fvv5FtdcWLanzI hGeEyXtkicZ4Z5W5eGmcsXhpnLF4aZyxeGmcsXhpnLF4aZyxeGmcsXhpnLF4aZyxeGmcsXhpnLF4 aZyx/4IkAP+QKQH/nzED/647Cfa7RBLpvEwg3rZRMdOwVUPKqVdWwaFZabiaW3qwkV6MqIlgnqGC ZKyZfGi3knduwIxzc8aFb3nJf22Cyndoh8h0a5O7dGyas3RsmrN0bJqzdGyas3RsmrN0bJqzdGya s3RsmrN0bJqzdGyas3RsmrN0bJqz/4IjAP+RKAH/oDED/687CPW9RBLnvkwg3LlRMdGzVETHrFZX vqVYabWeWXyslluPpI5en5yIYqyUgme3jX1swIZ4ccZ/c3bKenJ/y3Nthslwb5K8cHCZtHBwmbRw cJm0cHCZtHBwmbRwcJm0cHCZtHBwmbRwcJm0cHCZtHBwmbRwcJm0/4MjAP+SKAH/oTAD/7E6CPO/ RBLmwEwg2rtRMc+1VETFr1VXu6lWarGiV32om1iQn5Vdn5eOYayPiWa3iIRrwIB/b8Z5enTKdXh9 y290hcptdJG9bHWYtWx1mLVsdZi1bHWYtWx1mLVsdZi1bHWYtWx1mLVsdZi1bHWYtWx1mLVsdZi1 /4QiAP+SKAH/ojAD/7I6CPLCRBHkwkwf2L5RMMy4VETCslVXt61Va62oVX+joleQmpxcnpGWYKuJ kWS2go1pv3uJbsV1g3PJcIF9ymt9hslpepG9aXqYtWl6mLVpepi1aXqYtWl6mLVpepi1aXqYtWl6 mLVpepi1aXqYtWl6mLVpepi1/4UiAP+TJwH/pC8D/7Q5CPDFRBHixUwf1cFRMMq7U0O+tlRYs7JU a6iuVX2eqVeOlKRanYufXqqDm2K0e5ZnvXWSbcNwjnPGa4p7yGeGhMdlg5G9ZYKYtWWCmLVlgpi1 ZYKYtWWCmLVlgpi1ZYKYtWWCmLVlgpi1ZYKYtWWCmLVlgpi1/4YhAP+VJwH/pi4D/7c4B+/JQxHg yEwe0sRRMMa/U0O7u1NXr7hUaqO1VXuYsleKja5amYSpXad7o2Cyc5xkuW2XaL9plG7DZZJ3xGKQ gsRhi467YYmWtGGJlrRhiZa0YYmWtGGJlrRhiZa0YYmWtGGJlrRhiZa0YYmWtGGJlrRhiZa0/4cg AP+WJgH/qC0C/7o3B+3NQhDdy00dz8dSL8PDU0O2wFNWqb5UaJ28VniRuliHh7dblH2yXaBzqF+r a6FgtGWbZLpimWm9X5dxv12Yfb5clou4XJOSslyTkrJck5KyXJOSslyTkrJck5KyXJOSslyTkrJc k5KyXJOSslyTkrJck5Ky/4gfAP+YJQH/qywC/742BurSQA/a0E0czMtSLr7IU0KxxlNVpMZUZpfF VnSLxFmCgcJcjXa5XpdusmCgZ6xjp2KnZq1eo2qxWqBvtFifd7VYooeyWJ+PrVifj61Yn4+tWJ+P rVifj61Yn4+tWJ+PrVifj61Yn4+tWJ+PrVifj61Yn4+t/4oeAP+bJAD/risC+8M0BujYPw7V1E4b x9BSLrnOU0GrzVRTnc5VYpDOV3CEzlp8echdhXDBX45pvGKUZLdlml+zaJ5csGyiWa5xpVasd6dU q4GnU6yKplOsiqZTrIqmU6yKplOsiqZTrIqmU6yKplOsiqZTrIqmU6yKplOsiqZTrIqm/4wdAP+e IgD/tCkB9coyBePfPgzQ2k0bwtZRLrPVU0Ck1lRQlthVXonZWGp92Ft0ctBdfWvKYINlxmSJYMJn jV2/apBavW6TV7tylVS5d5dSuH+ZUbiFmVG4hZlRuIWZUbiFmVG4hZlRuIWZUbiFmVG4hZlRuIWZ UbiFmVG4hZlRuIWZ/48bAP+jHwD/uyYB7NQvA93nOwzK4Usbu95RLazeUj6c4VRNjuNWWYHkWWR1 31xsbNlfc2XUYnhh0GV8Xc5pf1rLbIJYym+EVchzhlPGeIhRxX6JT8SDik/Eg4pPxIOKT8SDik/E g4pPxIOKT8SDik/Eg4pPxIOKT8SDik/Eg4pPxIOK/5QYAP+qHAD4xSEA3+MqAtLuOgzD6kkcs+dQ LKPpUTuU7FRIhu5XU3ntW1tv511iZ+NhaGHfZGxd3GdvWtpqclfYbXRV1nB1U9V0d1HUeHlP0n56 TtKCe07SgntO0oJ7TtKCe07SgntO0oJ7TtKCe07SgntO0oJ7TtKCe07SgntO0oJ7/5oUAP+0FgDp 1BoA0espA8T3OQ269kYbqvROKZr2UTaL+FRBfvpYSnL1XFJq8WBXY+1jXF/qZl9b6GlhWOZsY1Xl b2VT5HFmUuN0aE/heGlN4HxqTOCAa0zggGtM4IBrTOCAa0zggGtM4IBrTOCAa0zggGtM4IBrTOCA a0zggGtM4IBr/qQPAPHEDgDV5RUAwvcoBLb/Nw6t/0QaoP9LJpD/UDGC/1U6dv9aQW3/Xkdm+2JL YPhmT132aVFa9GxTV/NvVVXycVZU8XNXUvB2WFDveVlO7n1aTe6AW03ugFtN7oBbTe6AW03ugFtN 7oBbTe6AW03ugFtN7oBbTe6AW03ugFtN7oBb268JANHNCQDD9BUAsv8nBaf/Ng2f/0MYlP9IIYb/ Typ5/1Uxb/9bN2f/YDti/2M/Xv9nQVv/akNY/21FVv9wRlX/ckdU/nRIUv13SVH9eUlP/H1KTvt/ S077f0tO+39LTvt/S077f0tO+39LTvt/S077f0tO+39LTvt/S077f0tO+39LyLMGAL/QCACx/xQB pP8lBZr/NAyS/0IUhv9GHHr/TiJw/1Uoaf9cLWP/YDBe/2QyW/9nNFn/ajZX/203Vv9wOFT/cjlT /3Q5Uv92OlH/eTtQ/3w7T/9+PE//fjxP/348T/9+PE//fjxP/348T/9+PE//fjxP/348T/9+PE// fjxP/348trYEAK7UCACh/xMBlf8kBY3/NAqG/0EQev9FFnD/TBto/1QfY/9bI17/YCVb/2MnWf9n KFf/ailV/2wqVP9uK1P/cCxS/3IsUf90LFH/di1Q/3ktT/97Lk//ey5P/3suT/97Lk//ey5P/3su T/97Lk//ey5P/3suT/97Lk//ey5P/3suqLwDAJ/bBgCT/xMBiP8kBIH/Mwh6/z8Mb/9EEWf/ShVh /1IYXf9ZGln/XhxX/2IdVf9lHlT/Zx9T/2ofUv9sIFH/bSBQ/28hUP9xIU//cyFO/3UiTv93Ik7/ dyJO/3ciTv93Ik7/dyJO/3ciTv93Ik7/dyJO/3ciTv93Ik7/dyJO/3ci/3YoAP+BLAH/jTMD/5U8 CP+bQxD/mUsb+5RTKPSNWzXuhGJC6HtpTuJ0cVjdbXhg1md/Z9FjhWzMX4pwx1yPdMNak3e/WJd5 u1abe7hUn320UqN/r1GogKtQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYH/ 4v/iSUNDX1BST0ZJTEUABwmrUK2B/3YoAP+BLAH/jTMD/5U8CP+bQxD/mUsb+5RTKPSNWzXuhGJC 6HtpTuJ0cVjdbXhg1md/Z9FjhWzMX4pwx1yPdMNak3e/WJd5u1abe7hUn320UqN/r1GogKtQrYGr UK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2B/3YoAP+BLAH/jTMD/5U8CP+b QxD/mUsb+5RTKPSNWzXuhGJC6HtpTuJ0cVjdbXhg1md/Z9FjhWzMX4pwx1yPdMNak3e/WJd5u1ab e7hUn320UqN/r1GogKtQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2B /3YoAP+BLAH/jTMD/5U8CP+bQxD/mUsb+5RTKPSNWzXuhGJC6HtpTuJ0cVjdbXhg1md/Z9FjhWzM X4pwx1yPdMNak3e/WJd5u1abe7hUn320UqN/r1GogKtQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQ rYGrUK2Bq1CtgatQrYGrUK2B/3YoAP+BLAH/jTMD/5U8CP+bQxD/mUsb+5RTKPSNWzXuhGJC6Htp TuJ0cVjdbXhg1md/Z9FjhWzMX4pwx1yPdMNak3e/WJd5u1abe7hUn320UqN/r1GogKtQrYGrUK2B q1CtgatQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2B/3YoAP+BLAH/jTMD/5U8CP+bQxD/ mUsb+5RTKPSNWzXuhGJC6HtpTuJ0cVjdbXhg1md/Z9FjhWzMX4pwx1yPdMNak3e/WJd5u1abe7hU n320UqN/r1GogKtQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2Bq1CtgatQrYGrUK2B/3Yo AP+BLAH/jTID/5Y8CP+cQxD/mksb+pVTKPOOWjbthmJD53xpT+F1cFncbndh1Wh+aM9khG7KYIly xl2OdsFak3m9WJd7ulabfbZUn3+yU6OBrVGog6lQrYSpUK2EqVCthKlQrYSpUK2EqVCthKlQrYSp UK2EqVCthKlQrYSpUK2E/3cnAP+DKwH/jzED/5k7CP+hQhD/n0sb9ptSKO+VWTfpi2BF44JmUt15 bV3XcnRm0Gx6bspngHXFYoZ6wF+LfrtckIK3WZWFs1eZiK9VnYqqU6KMpVGojaFSrYuhUq2LoVKt i6FSrYuhUq2LoVKti6FSrYuhUq2LoVKti6FSrYuhUq2L/3gmAP+EKgH/kTED/5w7B/+kQg/8pEob 86FRKeyZWDjlkF5G34dkVNl+amDSdnFrzHB3dMVqfXzAZYOCumGIh7VdjYyxWpKPrFeXkqdVnJWi U6GXnVOolZpVrZCaVa2QmlWtkJpVrZCaVa2QmlWtkJpVrZCaVa2QmlWtkJpVrZCaVa2Q/3klAP+F KQH/kjAD/546B/+oQg/6qUob8KZRKeieVzjilVxI24xiVtSDaGPOem1vx3NzecFteYK7Z3+KtWKE kLBeipaqW4+apVeVnqBVmqCbVKChlleomZNZrpOTWa6Tk1muk5NZrpOTWa6Tk1muk5NZrpOTWa6T k1muk5NZrpOTWa6T/3okAP+GKAH/lDAD/6A6B/+rQg/4rUka7qpQKeWiVjnemVtJ2JFgWNGHZWbK fmpzw3dwfr1wdYi3anuRsWSAmatfhqClW4yln1eSqZlVmKyUV6Cmj1qonY1drpeNXa6XjV2ul41d rpeNXa6XjV2ul41drpeNXa6XjV2ul41drpeNXa6X/3skAP+HKAH/lS8C/6I5B/+uQQ/2sEka665Q KeOmVTnbnlpJ1JVeWc2LY2jHgmh2v3ptgrlzco6ybHeZrGZ8oqZggaugW4ixmVmPspNYl7GOW5+q il6ooIdgrpmHYK6Zh2CumYdgrpmHYK6Zh2CumYdgrpmHYK6Zh2CumYdgrpmHYK6Z/3sjAP+IJwH/ li8C/6M4Bv+wQQ70tEka6bFQKeCpVTnYollK0JldW8mQYWrDh2V5vH5qh7V2bpSub3KgqGd3rKFj frGaYIa0k16OtY1dlrWIX5+thGKno4JkrZyCZK2cgmStnIJkrZyCZK2cgmStnIJkrZyCZK2cgmSt nIJkrZyCZK2c/3wjAP+JJgH/ly4C/6U4Bv+zQQ7yt0ka57NPKd6tVDnVplhLzZ1bXMaUXmy/i2J8 uIJmi7F6apqqc26mom11rptpfLSUZoS3jWOMuIdhlLiBYpyxf2Wmpn1nrZ59Z62efWetnn1nrZ59 Z62efWetnn1nrZ59Z62efWetnn1nrZ59Z62e/3wiAP+KJgH/mC4C/6Y3Bv61QQ7wukka5bZPKNuw VDnSqVdLyqFaXcKZXG67kF9+s4dij6x/Z52keW2nnHRzr5VverWNa4K5h2mLuoFnk7p7ZZqzeWik qHhqrJ94aqyfeGqsn3hqrJ94aqyfeGqsn3hqrJ94aqyfeGqsn3hqrJ94aqyf/30iAP+LJQH/mS0C /6g3Bvy3QQ3uvUgZ47lPKNmzVDrPrFZMx6VYXr6dWm+3lVyBr41gkaaGZZ2egGuol3tysI10d7aF b326gG6HvHxskrx1ape2dGyiqXRuqqF0bqqhdG6qoXRuqqF0bqqhdG6qoXRuqqF0bqqhdG6qoXRu qqF0bqqh/34hAP+MJQH/mi0C/6k2Bvu5QA3twEgZ4btPKNa3UznMsFVMw6lXXrqiWHGym1mDqZRe kaGNZJ2Yh2qokYJwsIZ6dLd+dHm7eXKDvXZzkL1wb5a3cHGhq29yqaJvcqmib3Kpom9yqaJvcqmi b3Kpom9yqaJvcqmib3Kpom9yqaJvcqmi/34hAP+NJAH/nCwC/6s2Bfq7QA3rw0gZ375PKNO6UznJ s1VMwK1WX7aoVnKtoViDo5tdkZuVY52SkGiniopusICBcrZ4fHe7c3mAvXB6jb1sdpW5a3agrGt3 qKNrd6ija3eoo2t3qKNrd6ija3eoo2t3qKNrd6ija3eoo2t3qKNrd6ij/38gAP+OJAD/nSsC/601 Bfm+PwzpxUkY3MJPJ9G9UznGt1RMvLJUYLGuVHOnqVeCnaNckJSeYZyLmWamg5Rsr3qLcbVzhXa6 boJ/vGuCjLxnfpW5Z32grGd9qKNnfaijZ32oo2d9qKNnfaijZ32oo2d9qKNnfaijZ32oo2d9qKNn faij/4AgAP+PIwD/nysC/680BffBPgzmyEkY2sVPJ87AUznCu1RMt7hUX6y0VHGhsVaBlq1aj42o X5qEpGSkfJ9qrXWacbNuk3e4apCAumaMibpiiJO4YoWfrGODp6Rjg6ekY4OnpGODp6Rjg6ekY4On pGODp6Rjg6ekY4OnpGODp6Rjg6ek/4EfAP+QIwD/oSoB/7IzBPXEPQvkzEkX1slQJsrEUzi+wFRL sr5UXqa8VW+aulZ+j7dYjYWzXZh8r2KidKlnqm6kbrBooXW0ZJ1+tmCXhrZdkpC1XY6cq16MpKNe jKSjXoyko16MpKNejKSjXoyko16MpKNejKSjXoyko16MpKNejKSj/4IeAP+SIgD/oykB/7YyBPPJ PArh0EkW081RJcbIUze5xlRKrMVUXKDEVWyTw1d7iMFZiH28XJRys16ea61ipWWoaKthpW+uXaR3 sFujgrFYn4ywWJmYqFmWoKFZlqChWZagoVmWoKFZlqChWZagoVmWoKFZlqChWZagoVmWoKFZlqCh /4QdAP+UIQD/picB/7owA/DPOgne1kgUz9FRJMHOUze0zFRJpsxUWpnNVWmMzVh2gcxbgXbEXYtt vF+UZbZim1+xZqFbrWumV6pxqVWqeqlUq4aoVKeTo1SinJ1UopydVKKcnVSinJ1UopydVKKcnVSi nJ1UopydVKKcnVSinJ1Uopyd/4YbAP+XHwD/qyUB/cAuA+vYOAjZ3UcTytdQJLzUUjau1FNHn9VU V5LXVmSF2FlwedNceW/MXoJoxmGJYsFljl29aZNZum2WVrhymVO2eZtRtYKcT7WPm1Cwl5dQsJeX ULCXl1Cwl5dQsJeXULCXl1Cwl5dQsJeXULCXl1Cwl5dQsJeX/4kZAP+bHQD/sSMA9sgrAuPjNQbT 5EUUxN5QJLXcUjWm3lNFl+BVU4riV1594lpocttdcWnUYHdj0GN9XsxngVrJa4VXx2+HVMV0ilLD eYxQwoCNTsGKjky/ko5Mv5KOTL+Sjky/ko5Mv5KOTL+Sjky/ko5Mv5KOTL+Sjky/ko5Mv5KO/4wX AP+gGgD/uR8A69QnAdnpNAfM7UIUvOZOJK3mUTOe6FNBj+tVTYLsWFh26VtgbONeZ2XfYmxf22Vx W9hpdFjVbXdV03F5U9J1e1HQenxPz4B+TM6Hf0vNj4BLzY+AS82PgEvNj4BLzY+AS82PgEvNj4BL zY+AS82PgEvNj4BLzY+A/5EUAP+oFQD3xBkA3OMhAcvxMwjB90AUtPBNIqTyUDCV9VI8h/ZWR3r3 WlBw8V1WaO1hXGHpZGBd5mdkWeRrZlbibmhT4HJqUd91bE/eeW1N3X9uS9yFcErbjHBK24xwStuM cErbjHBK24xwStuMcErbjHBK24xwStuMcErbjHBK24xw/5gQAPq0EADm1hAAzO4hAb38Mgi0/z8U qv9KIJr/TiyM/1I2f/9XP3P/XEZr+2BMZPdjUF/0Z1Nb8mpWWPBuWFXucVpT7XRbUex3XU/rel5N 6n5fS+mEYErpiWFK6YlhSumJYUrpiWFK6YlhSumJYUrpiWFK6YlhSumJYUrpiWFK6Ylh5KMKANi/ CgDQ6A0AvPwgAq//MAmm/z4Tnf9HHZD/TCeC/1Ivdv9YNm3/XTxm/2FAYf9lQ13/aEZZ/mxIV/xv SlX7cktT+nVMUvl4TVD5e05O+H5PTfeDUEv2h1FL9odRS/aHUUv2h1FL9odRS/aHUUv2h1FL9odR S/aHUUv2h1FL9odR0KgHAMXCBwC97g0ArP8fAqH/LgmY/z0Rj/9FGYT/SiF4/1Inb/9YLWf/XjFi /2I0Xv9mN1r/aTlY/2w6Vv9vO1T/cjxT/3U9Uv94PlD/ej9P/35ATv+BQEz/hEFM/4RBTP+EQUz/ hEFM/4RBTP+EQUz/hEFM/4RBTP+EQUz/hEFM/4RBv6wEALTFBgCr9Q0Anf8dA5P/LQiL/zsOgv9D FXj/SBpu/1EfZ/9YI2L/XSZe/2IpW/9lK1j/aSxW/2wtVf9vLlP/cS9S/3QvUf92MFD/eTFP/3sx Tv9+Mk3/gTJN/4EyTf+BMk3/gTJN/4EyTf+BMk3/gTJN/4EyTf+BMk3/gTJN/4EyrrACAKXMBQCb /g0Aj/8dA4b/LQZ//zoLdv9CEG3/RhRm/08YYP9WGlz/XB1Z/2AeV/9kIFX/ZyFU/2oiU/9sIlL/ byNR/3EjUP9zJE//dSRO/3clTf96JUz/fSVM/30lTP99JUz/fSVM/30lTP99JUz/fSVM/30lTP99 JUz/fSVM/30loLYBAJfTBACM/w0Agv8dAnr/LAV1/zkIbP9AC2T/RQ5e/0wRWv9UE1b/WhVU/14W U/9hF1L/ZBdR/2cYUP9pGE//axlO/20ZTf9uGU3/cBpM/3IaS/91Gkv/dxtL/3cbS/93G0v/dxtL /3cbS/93G0v/dxtL/3cbS/93G0v/dxtL/3cb/3AoAP96KwH/hDEC/4w5Bv+SQA3/kEkW/4tSIf+E Wiz5fWI483ZrQu5vc0roaHpR42OBV95fiFzZW45f1FmTYtBWmGXMVJxnyFOgacRRpGrBUKhsvU6s bbhNsW61TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVv/3AoAP96KwH/hDEC /4w5Bv+SQA3/kEkW/4tSIf+EWiz5fWI483ZrQu5vc0roaHpR42OBV95fiFzZW45f1FmTYtBWmGXM VJxnyFOgacRRpGrBUKhsvU6sbbhNsW61TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVvtUy1b7VM tW+1TLVv/3AoAP96KwH/hDEC/4w5Bv+SQA3/kEkW/4tSIf+EWiz5fWI483ZrQu5vc0roaHpR42OB V95fiFzZW45f1FmTYtBWmGXMVJxnyFOgacRRpGrBUKhsvU6sbbhNsW61TLVvtUy1b7VMtW+1TLVv tUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVv/3AoAP96KwH/hDEC/4w5Bv+SQA3/kEkW/4tSIf+EWiz5 fWI483ZrQu5vc0roaHpR42OBV95fiFzZW45f1FmTYtBWmGXMVJxnyFOgacRRpGrBUKhsvU6sbbhN sW61TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVv/3AoAP96KwH/hDEC/4w5 Bv+SQA3/kEkW/4tSIf+EWiz5fWI483ZrQu5vc0roaHpR42OBV95fiFzZW45f1FmTYtBWmGXMVJxn yFOgacRRpGrBUKhsvU6sbbhNsW61TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1TLVvtUy1b7VMtW+1 TLVv/3AnAP96KwH/hTEC/445Bv+UQAz/k0kW/45RIf6HWS34gGE58nhqQ+xxcUzmanhU4WWAWtxg hl/WXI1j0VqSZs1Xl2nJVZtrxVOfbcFRpG+9UKhwuU+scrRNsXOwTLZ0sEy2dLBMtnSwTLZ0sEy2 dLBMtnSwTLZ0sEy2dLBMtnSwTLZ0/3EmAP98KgH/hzAC/5E5Bv+YQAz/mEgW/5NQIfqNWC70hWA6 7n1nRuh1b1DibnZZ3Wh9YNdjhGXRX4pqzFuPbsdZlXHDVpl0vlSedrpSo3i2UKd6sU+se6xNsnyo T7d6qE+3eqhPt3qoT7d6qE+3eqhPt3qoT7d6qE+3eqhPt3qoT7d6/3ImAP99KQH/iS4C/5Q4Bf+b Pwz/nEgW/plPIvaSVy/wi1486oJlSOR5bFPfcnNd2Wt6ZdJmgWzMYYdxx12NdsJaknm9V5h9uFWd f7NSooKvUaeDqk+shaVQs4KhUrh+oVK4fqFSuH6hUrh+oVK4fqFSuH6hUrh+oVK4fqFSuH6hUrh+ /3MlAP9+KAH/iy0C/5Y3Bf+ePwz/oUcW+p5PIvOYVi/tkFw954ZjSuF9albbdnBh1G93as5pfnHI Y4R4wl+KfbxbkIK3WJaFslWbia1SoYuoUaeNo1CsjJ5Ts4aaVbiBmlW4gZpVuIGaVbiBmlW4gZpV uIGaVbiBmlW4gZpVuIGaVbiB/3QkAP9/JwH/jC0C/5c2Bf+hPwv/pUcV+KJOIvCdVTDplFs+44th TN2CZ1nXem5k0HJ0bspsenfDZoF+vWGHhbdcjYqyWJOPrFWakqZSoJWhUaaWnFStkJdWtImUWLmE lFi5hJRYuYSUWLmElFi5hJRYuYSUWLmElFi5hJRYuYSUWLmE/3UjAP+BJgD/jSwC/5k2Bf+kPwv/ qUYV9adOIu2iVDDmmVo/4JBfTtqHZVvTfmtozHZxc8Zvd32/aH2FuWKDjbJdipSsWJGZpVWYnZ9T n56ZVKablVetlJFatIyOXLmHjly5h45cuYeOXLmHjly5h45cuYeOXLmHjly5h45cuYeOXLmH/3Yj AP+CJQD/jysC/5s1BP+nPwv9rUYV8qxNIeqmUzDinllA3JVeT9WMY17Pg2hryHptd8Fyc4O7a3mN tGR/lq1ehp+mW46hnlmXo5hXn6KSWKafjlutl4tetI+IX7qJiF+6iYhfuomIX7qJiF+6iYhfuomI X7qJiF+6iYhfuomIX7qJ/3YiAP+DJQD/kCsB/500BP+qPgr7sEYU8LFNIeeqUzDfolhA2JpcUNGR YGDKiGVuxH9qfL12b4m2bnSVr2h7nadkhKKfYI2ll16VppFcnqaLXKajiF+tmoVitJKDY7qMg2O6 jINjuoyDY7qMg2O6jINjuoyDY7qMg2O6jINjuoyDY7qM/3chAP+EJAD/kSoB/580BP+sPgr4tEUU 7bVNIeSuUjDcp1dB1J9aUc2WXmLGjWJxv4RmgLh7ao+wdXKXqG95nqBrgqSYZ4unkWSUqYpinamE YaWngWOtnX9mtJR9Z7qNfWe6jX1nuo19Z7qNfWe6jX1nuo19Z7qNfWe6jX1nuo19Z7qN/3ghAP+F IwD/kioB/6AzBP+uPQr2uEUU67hMIeGyUjDYrFZB0KRZUsibXGPBk190uolihLKCaY+qfHCYoXd4 n5dwfqWPa4apiWmSq4NonKt9ZaKqe2eroHlqtJZ4a7qPeGu6j3hruo94a7qPeGu6j3hruo94a7qP eGu6j3hruo94a7qP/3ggAP+GIwD/lCkB/6IyBP+wPAn0u0UT6LtMIN62UjDVsFVBzKhYU8ShWWW8 mVx2tJFghKuKZ4+jhG6YmX11oI51eqaGcIGqgG6MrH1um612aqGrdWyqonRus5hzb7mQc2+5kHNv uZBzb7mQc2+5kHNvuZBzb7mQc2+5kHNvuZBzb7mQ/3kgAP+HIgD/lSkB/6QxA/+zPAnyv0UT5r5M INy6UjDRtFVByK1WVL+mV2a3n1p3rplfhKWSZo+cjG2YkoRyoId7d6Z+dn2reHOIrXVzlq5xcaCs b3Goo29ysZlvc7iSb3O4km9zuJJvc7iSb3O4km9zuJJvc7iSb3O4km9zuJJvc7iS/3ofAP+IIQD/ ligB/6YxA/+1Ownww0US5MJNH9m+Ui/OuFRBxLJVVLusVWexp1l2p6Feg56bZI6VlmuYioxwoICD dKZ4fXurcnqErW96kq5seaCtanenpGp3sZpqd7eSane3kmp3t5Jqd7eSane3kmp3t5Jqd7eSane3 kmp3t5Jqd7eS/3seAP+JIQD/mCcB/6gwA/+4OgjuyEUS4cVNH9XCUi/KvFRBwLdUVLWzVWaqr1h1 oKpcgpelYo2OoGmXg5hun3mNc6Vyh3mqbIODrGmDka1mgp6sZX+npWV+sJpmfbeTZn23k2Z9t5Nm fbeTZn23k2Z9t5NmfbeTZn23k2Z9t5NmfbeT/3wdAP+KIAD/miYB/6svA/68OQjszEMR3slNHtHF Ui7GwFRBu71UU6+6VGWkt1d0mbRbgY+wYIyGrGaVfadtnXOccqNslXmoZ5GDqmSQkathjJuqYIik pGCGrpphhLWTYYS1k2GEtZNhhLWTYYS1k2GEtZNhhLWTYYS1k2GEtZNhhLWT/30cAP+MHwD/nCUB /64uAvzAOAfp0UIQ2s5OHc3KUy3CxlRAtcNUUqnCVGOdwVVzkb9ZgIe8Xop9uGSTdbRrm26vc6Bn qHqkY6OEp16djqhbmJenWpOholuPq5lcjLKTXIyyk1yMspNcjLKTXIyyk1yMspNcjLKTXIyyk1yM spNcjLKT/34bAP+NHgD/nyQA/7IsAvnFNgbn1kEP1tNPG8nOUi28zFQ/r8tUUKLLVWCVy1ZvicpY fH7HXId0wGGQbLpml2W1bZxgsnWgXLCAolmriaNWpZKiVaCcn1aap5dXlq6RV5aukVeWrpFXlq6R V5aukVeWrpFXlq6RV5aukVeWrpFXlq6R/4AaAP+QHAD/oiIA/7cqAvPMNAXi3kAN0dlOG8TUUiy3 0lM+qdNUTpvUVV2O1VdqgtVadnXNXIBsxl+JZL9ikF27Z5ZZuG6ZVrZ3m1O1gpxRtI6bUK6XmVGn opNSo6mOUqOpjlKjqY5So6mOUqOpjlKjqY5So6mOUqOpjlKjqY5So6mO/4IYAP+TGgD/pyAA/74n AevWMQTc5T4MzOBMG77cUSyw21M8od1US5PfVlmG4Fhket1bbm/VXnZnz2F9YMplg1vGaohWw2+M U8F1jlC/fZBOvoeRTL2SkUy2nI1NsaSJTbGkiU2xpIlNsaSJTbGkiU2xpIlNsaSJTbGkiU2xpIlN saSJ/4UVAP+XGAD/rRwA9scjAeDjLQPU7TwNxehKG7fkUSuo5VI6medUR4vpVlN+61pdc+VcZWnf YGxi2mNyXdZndljSbHpV0HF9Us53f0/MfYFNy4WCS8qPg0nFmINJwJ6CScCegknAnoJJwJ6CScCe gknAnoJJwJ6CScCegknAnoJJwJ6C/4kSAP+dFAD/thcA6dUeANPrLAPI9DsNvfJIG67vTymf8VE2 kPNUQoP1WEx381tVbe1fW2XoYmFf5WZlWuFpaVbfbmxT3XJuUNt3cE7afXJM2YRzStiMdEjUlXVH 0Jp1R9CadUfQmnVH0Jp1R9CadUfQmnVH0Jp1R9CadUfQmnVH0Jp1/44QAP+mEAD2xBEA2OQYAMb1 KwS6/zoOs/9FGqX9TCeW/lAyiP9VPHv/WURx+11LaPZhUWLzZVVd8GhZWe1sW1XrcF5S6nRgUOh4 YU7nfWNL5oJkSeWJZUfjkGZG4JZmRuCWZkbglmZG4JZmRuCWZkbglmZG4JZmRuCWZkbglmZG4JZm 9JYLAN2yCgDX0QoAx/EYALf/KgWt/zgOpf9EGZr/SiOM/08sf/9VNHT/Wjtr/19BZP9jRV/9Z0hb +2pLWPluTVX4ck9T9nZRUPV6Uk70flNN84JUS/KHVUnvjVZH7ZFXR+2RV0ftkVdH7ZFXR+2RV0ft kVdH7ZFXR+2RV0ftkVdH7ZFX2Z4HAMy1BwDF1AkAtv8XAan/KAWf/zcNmP9DFo7/Rx6B/04mdv9V LG3/WzFm/2A2Yf9kOVz/aDtZ/2s+V/9vP1X/c0FT/3ZCUf96Q0//fURO/4FFTP6FRkr7iUZJ+Y1H SfmNR0n5jUdJ+Y1HSfmNR0n5jUdJ+Y1HSfmNR0n5jUdJ+Y1Hx6IFALu4BQC02AkApv8WAZr/JwWS /zYMi/9CEoD/Rhl2/00ebf9VI2f/Wydh/2AqXf9kLVr/aC9X/2swVf9vMlT/cjNS/3U0Uf95NE// fDVO/382Tf+CNkv/hjdK/4k4Sv+JOEr/iThK/4k4Sv+JOEr/iThK/4k4Sv+JOEr/iThK/4k4tqYC AKu9AwCk3ggAl/8WAY3/JgWF/zUJfv9ADnT/RBNs/0sXZf9TG2D/Wh5c/18gWf9jIlf/ZiNV/2ok U/9tJVL/cCZR/3MnUP92J0//eShO/3soTf9+KUz/gSlL/4QqS/+EKkv/hCpL/4QqS/+EKkv/hCpL /4QqS/+EKkv/hCpL/4QqpqoAAJ3EAwCV5AYAiP8VAYD/JgR5/zQHc/8+Cmr/Qw5i/0kRXf9RE1r/ VxZX/10XVf9hGFP/ZBlS/2caUf9qG0//bBtP/28cTv9xHE3/dBxM/3YdS/95HUr/fB5J/38eSf9/ Hkn/fx5J/38eSf9/Hkn/fx5J/38eSf9/Hkn/fx5J/38emrIAAJDMAQCH7gcAfP8VAXT/JQJv/zIE af88B2H/QQla/0YLVv9NDVT/VA5R/1kPT/9dEE7/YBFO/2MSTf9lEkz/aBJL/2oTSv9sE0r/bhNJ /3AUSP9yFEj/dRRH/3cUR/93FEf/dxRH/3cUR/93FEf/dxRH/3cUR/93FEf/dxRH/3cU/2ooAP9z KwH/fDEC/4M3BP+IPgr/iEcR/4NRG/99WiT/dmMu/nBsNvhqdD7zZHxE7l+DSOlcikzkWZBP4FaV UtxUmlTZUp9W1FCkV9FOqFnNTa1ayUuxW8VKtVzBSbpdvkm+Xb5Jvl2+Sb5dvkm+Xb5Jvl2+Sb5d vkm+Xb5Jvl2+Sb5d/2ooAP9zKwH/fDEC/4M3BP+IPgr/iEcR/4NRG/99WiT/dmMu/nBsNvhqdD7z ZHxE7l+DSOlcikzkWZBP4FaVUtxUmlTZUp9W1FCkV9FOqFnNTa1ayUuxW8VKtVzBSbpdvkm+Xb5J vl2+Sb5dvkm+Xb5Jvl2+Sb5dvkm+Xb5Jvl2+Sb5d/2ooAP9zKwH/fDEC/4M3BP+IPgr/iEcR/4NR G/99WiT/dmMu/nBsNvhqdD7zZHxE7l+DSOlcikzkWZBP4FaVUtxUmlTZUp9W1FCkV9FOqFnNTa1a yUuxW8VKtVzBSbpdvkm+Xb5Jvl2+Sb5dvkm+Xb5Jvl2+Sb5dvkm+Xb5Jvl2+Sb5d/2ooAP9zKwH/ fDEC/4M3BP+IPgr/iEcR/4NRG/99WiT/dmMu/nBsNvhqdD7zZHxE7l+DSOlcikzkWZBP4FaVUtxU mlTZUp9W1FCkV9FOqFnNTa1ayUuxW8VKtVzBSbpdvkm+Xb5Jvl2+Sb5dvkm+Xb5Jvl2+Sb5dvkm+ Xb5Jvl2+Sb5d/2soAP90KgH/fTAC/4U2BP+KPgn/i0cR/4ZQG/+AWSX/eWEv/HJqOPZsc0DxZntG 7GGCTOddiFDiWY9T3leVVtpUmljVUp9a0VCkXM1OqF7JTa1fxUyxYMFLtWG8SbtiuUm/YrlJv2K5 Sb9iuUm/YrlJv2K5Sb9iuUm/YrlJv2K5Sb9i/2wnAP91KQD/fy4C/4g2BP+OPQn/j0YR/4tPG/+E Vyb/fWAx+XZoO/NwcEPuaXhL6GN/UeNfhlbeW41Z2ViTXdRVmWDPU55iy1GjZMZPqGbCTqxnvkyx aLlLtmm0SrxqsUvAaLFLwGixS8BosUvAaLFLwGixS8BosUvAaLFLwGixS8Bo/20mAP92KAD/gC0B /4s1BP+RPQn/k0UR/49OG/+JVif8gl4y9ntmPfBzbkbqbHZP5WZ9Vd9hhFvaXYtg1FmSY89Xl2fK VJ1pxVKibMBQp267Tqxvt0yxcbJLt3GtTb1uqk7BbKpOwWyqTsFsqk7BbKpOwWyqTsFsqk7BbKpO wWyqTsFs/24lAP93JwD/giwB/400BP+UPQn/l0QR/5RNG/+OVSf4h1wz839kP+13bEnncHNS4Wl6 WtxkgmDVX4lmz1uPaspYlW7FVZtxv1KhdLpQp3a1Tqx3sE2yeatNuHemT75yo1HCb6NRwm+jUcJv o1HCb6NRwm+jUcJvo1HCb6NRwm+jUcJv/24kAP95JgD/hCsB/48zA/+XPAj/nEQR/5lMG/uTVCj1 jFs074RiQel7aUzkdHFW3m14X9hnf2bRYYZsy12NccVZk3a/VZl5uVKgfLRQpn+uTqyAqU6zgKRQ uXufUr91nFTDcpxUw3KcVMNynFTDcpxUw3KcVMNynFTDcpxUw3KcVMNy/28jAP96JQD/hSoB/5Ey A/+aPAj/oEMQ/55LG/iZUyjxklo164lgQ+aAZ0/geG5a2nF1Y9NqfGzMZINzxl+Keb9akX65VpeD s1OehqxQpommTq2KoVGzhJxUun+YVsB5lVfEdZVXxHWVV8R1lVfEdZVXxHWVV8R1lVfEdZVXxHWV V8R1/3AiAP97JAD/hykB/5MxA/+ePAj/pEMQ/aNLG/SfUijtmFg2549eROGGZFHbfWtd1XVxaM5u eHLHZ396wWGGgrpbjYizVpWNrFOdkKVSpZCeUq2PmVW0iJVXuoKRWsF8j1vFeI9bxXiPW8V4j1vF eI9bxXiPW8V4j1vFeI9bxXiPW8V4/3EhAP98IwD/iSgB/5UxA/+gOwf/qUMQ+alKG/GmUSjpnlc3 45VdRt2LYlTWg2hh0HpubclydHjDanqCvGOBi7ReipCsW5STpFidlJxXpZSWVq2Tklm1jI5bu4aK XcJ/iF7Ge4hexnuIXsZ7iF7Ge4hexnuIXsZ7iF7Ge4hexnuIXsZ7/3IhAP99IgD/iicB/5cwA/+j Ogf/rUIP9q5KGu2rUCjlo1Y335tbR9iSYFbSiGVky39qcsR2b369b3aItWl/jqxliZOkYZOWnF6c l5VcpZiOW66Xil21kIdgvIiEYcOBgmLHfYJix32CYsd9gmLHfYJix32CYsd9gmLHfYJix32CYsd9 /3MgAP9+IgD/jCYB/5kvAv+lOQf/sUIP9LNJGuqwUCjiqFU42qFZSNOYXVfMjmFnxoVmdr59bIG2 d3WJrXF9kKJrhZWaZ4+YlGWbmo1ipZqGYa6Zg2K1k4BkvIt+ZcODfWbHf31mx399Zsd/fWbHf31m x399Zsd/fWbHf31mx399Zsd//3MfAP9/IQD/jSYB/5suAv+oOAb9tUIO8bhJGue0UCjerlU41qdY SM6eW1nHlV5pwIxjd7eFa4Kvf3OKonZ5kZhwgJaQa4maiWmVnIVppJx/Zq2bfGe1lXpovI14asOF d2rHgHdqx4B3aseAd2rHgHdqx4B3aseAd2rHgHdqx4B3aseA/3QfAP+AIAD/jiUB/50tAv+qNwb7 uUIO7r1JGeS4UCfas1Q40axXScmkWVrBnFxruZVid7COaYKniHGKmn12kY91fJeGcISbgG6QnXxt n554ba2ddWyzl3Rtu49zbsKGcm7GgXJuxoFybsaBcm7GgXJuxoFybsaBcm7GgXJuxoFybsaB/3Ue AP+CHwD/kCQA/58tAv+tNwb5vEEN68FJGeG9UCfWuFQ3zbFWScSqV1u7pFtqsp5gd6mXaIGfkG+K koRzkYd8eZd+doCbeHSMnnRzmp9ydKyebnGxmW5yuZBucsGHbXLGg21yxoNtcsaDbXLGg21yxoNt csaDbXLGg21yxoNtcsaD/3YdAP+DHgD/kSQA/6EsAv+wNgX3wEAN6cVJGN3BUCbSvFM3ybZVSb+x Vlu1rFpqq6dfdqGhZoGXmm2Kio1xkX+Edpd3fn6bcXuInm16l59re6meaHixmml4uJFpd8CIaXfF g2l3xYNpd8WDaXfFg2l3xYNpd8WDaXfFg2l3xYNpd8WD/3ccAP+EHQD/kyMA/6MrAv+zNQX1xD8M 5clJF9rGUCXOwVM2xLxUSbm4VVqutFlpo7BddZmrZICQpmuJg5hvkHmOdJZxiHyaa4SGnWeDlZ5l hKeeY4CwmmN/uJJkfcCJZHzEhGR8xIRkfMSEZHzEhGR8xIRkfMSEZHzEhGR8xIRkfMSE/3gbAP+F HAD/lSIA/6YqAf+3MwTzyT0L4s5KFtXLUCTKxlQ1vsJUSLPAVVmnvVdonLpcdJG3Yn+Hs2mHfKdu j3Kcc5RrlXuZZpGFm2KQlJ1fj6ScXYqtml6HtpFfhb6JX4PDhF+Dw4Rfg8OEX4PDhF+Dw4Rfg8OE X4PDhF+Dw4Rfg8OE/3kaAP+HGwD/lyEA/6koAf+8MgTwzzwK39NJFdHQUiLFy1Q0uclURqzIVVef x1Zmk8Zac4jDYH1/v2eFdblujG2vc5JmqHuWYaOGmF2ilZpanJ+ZV5apmFiRspBajbuIWovAhFqL wIRai8CEWovAhFqLwIRai8CEWovAhFqLwIRai8CE/3oZAP+JGQD/mh8A/64mAfzCMAPr2DoJ2ttI EszVUSK/0lM0stBURaXRVVWX0lZji9JZcH/QXnp1y2SCbcZriWbBc45hvn2RW7eGlFewkZVUqZuV UqOklFOerY5UmbeHVZa8glWWvIJVlryCVZa8glWWvIJVlryCVZa8glWWvIJVlryC/3wXAP+MGAD/ nh0A/7MkAPXKLQLk4jcH1OJGE8bcUCK52lMzq9pUQ53bVVGP3Vdfgt5ZanbXXHVrz19+Y8plhF7G bIhZw3SLVcF/jlK/jI9PuJWPTrKfjk6sqIlPprGDUKK3gFCit4BQoreAUKK3gFCit4BQoreAUKK3 gFCit4BQoreA/34VAP+PFgD/oxoA/7sgAOvVKQHb6TYHzupEE7/jTyKx4lIxo+RTQJXmVU2H6FhZ eudbY2/fXmtm2WFzX9NleVnPa35UzHGBUMl5hE3IgoZLyJCGScKZhkm7ooNKtKx+S7Cxe0uwsXtL sLF7S7Cxe0uwsXtLsLF7S7Cxe0uwsXtLsLF7/4ISAP+TEwD/qhYA9sYbAN3jJAHP7zUHxvRBE7js TiGp7VEvmu9TPIzxVkh/8llSc+5dWmnoYGFi42RnXN9obFbcbXBS2XNzT9Z6dUzVgndK1Ix4SNGV eUbLnXlGxKV3RsCrdUbAq3VGwKt1RsCrdUbAq3VGwKt1RsCrdUbAq3VGwKt1/4YPAP+aDwD9tRAA 5tUTAM/sIwHC+TQIuf9AFK/5SyCg+08skfxTN4T9V0F4/FtKbvdfUGXyY1Zf7mdbWutrXlXob2FS 5nVkTuR7ZkzigWhJ4YlpR9+SakbbmWtE1KFrQ9Gla0PRpWtD0aVrQ9Gla0PRpWtD0aVrQ9Gla0PR pWtD0aVr/4wMAOakCgDbwQoA0+YPAMD4IwK0/zIJq/8/E6T/SB6W/00oiP9SMXz/WDpx/1xAaf9h RmL8ZUpd+WlOWfZtUVX0clNS8ndVT/F8V03wgllK7ohaSOyOW0bolFxE5JpcQ+GfXEPhn1xD4Z9c Q+GfXEPhn1xD4Z9cQ+GfXEPhn1xD4Z9c4ZQHANOpBwDKxAgAwvUQALH/IgKn/zEJnv8+Epb/RhuL /0sjfv9SKnT/WDFr/102ZP9iO1//Zj5b/2pBV/9vQ1X/c0VS/3dHUP58SE79gUlM+oZKSveLS0j0 j0xG8ZVNRe6ZTUXumU1F7plNRe6ZTUXumU1F7plNRe6ZTUXumU1F7plN0JgFAMKsBQC5xwYAsPsQ AKP/IAOZ/y8Ikf88D4n/RBd//0kddP9RI2z/WChl/14sYP9iL1z/ZjJZ/2o0Vv9vNVT/czdS/3c4 UP97OU7/fzpN/4M7S/+IPEr/jD1I/ZA9R/uTPkf7kz5H+5M+R/uTPkf7kz5H+5M+R/uTPkf7kz5H +5M+v5wDALKwAgCqzAYAoP8OAJT/HwOL/y4Hhf87DHz/QxJz/0cXa/9QG2X/Vx9g/10iXP9iJFn/ ZiZW/2knVP9tKVP/cSpR/3UrT/95K07/fCxN/4AtS/+DLUr/hy5J/4svSP+OL0j/ji9I/44vSP+O L0j/ji9I/44vSP+OL0j/ji9I/44vrqEAAKS2AQCc1AUAkf8OAIb/HwJ//y4Fef86CXH/QQ1o/0YR Yv9OFF3/VRda/1sYV/9gGlX/ZBtT/2ccUv9qHVD/bh5P/3EfTv90H03/eCBM/3sgS/9/IUr/giFI /4UiSP+IIkj/iCJI/4giSP+IIkj/iCJI/4giSP+IIkj/iCJI/4gioKUAAJe+AACO2wMAgv8PAHr/ HgJz/y0Eb/85Bmf/Pwlg/0QLWv9KDVb/Ug9T/1gRUf9dElD/YBNP/2QTTv9nFE3/aRVM/2wVS/9v FUr/chZJ/3QWSP94F0f/exdG/38XRv+BF0b/gRdG/4EXRv+BF0b/gRdG/4EXRv+BF0b/gRdG/4EX lK4AAIrHAACA4gMAdv8PAG//HgFq/ysCZv83BF//PAVZ/0IHVP9ICFH/TglP/1MKTf9XC0z/WwxK /14MSf9hDUj/ZA1H/2YNR/9pDUb/aw5F/20ORf9wDkT/cg9D/3UPQ/94D0P/eA9D/3gPQ/94D0P/ eA9D/3gPQ/94D0P/eA9D/3gP/2QoAP9sKwD/czAB/3k1A/9+PAf/gEUN/3xPFf92Wh3/cGMl/2pt LP9ldjL9YH43+FyFO/NZjD7vVpFA61SXQudSnETkUKBG4E+lR9xNqkjZTK9J1Eu0StBJuEvMSL1M yEfDTMZHxUzGR8VMxkfFTMZHxUzGR8VMxkfFTMZHxUzGR8VM/2QoAP9sKwD/czAB/3k1A/9+PAf/ gEUN/3xPFf92Wh3/cGMl/2ptLP9ldjL9YH43+FyFO/NZjD7vVpFA61SXQudSnETkUKBG4E+lR9xN qkjZTK9J1Eu0StBJuEvMSL1MyEfDTMZHxUzGR8VMxkfFTMZHxUzGR8VMxkfFTMZHxUzGR8VM/2Qo AP9sKwD/czAB/3k1A/9+PAf/gEUN/3xPFf92Wh3/cGMl/2ptLP9ldjL9YH43+FyFO/NZjD7vVpFA 61SXQudSnETkUKBG4E+lR9xNqkjZTK9J1Eu0StBJuEvMSL1MyEfDTMZHxUzGR8VMxkfFTMZHxUzG R8VMxkfFTMZHxUzGR8VM/2UoAP9tKgD/dS8B/3s1A/+APAf/gkQN/35PFf94WB7/cmIm/2xrLf9n dDT7Yn059l2EPfFai0HsV5FE6FSWRuVSm0jhUKBJ3U+mS9lNq0zVTLBN0Uq1TsxJuU/ISL5Qw0fE UMFGxlHBRsZRwUbGUcFGxlHBRsZRwUbGUcFGxlHBRsZR/2YnAP9uKQD/dy4B/340A/+DOwf/hkMN /4JNFv98Vx7/dmAn/29pMP5qcjf4ZHo981+CQu5biUbpWI9J5VWVTOBTm07cUaBQ2E+mUtNNq1PP S7BUy0q2VsZIu1bBR8BXvEfGV7pHyFa6R8hWukfIVrpHyFa6R8hWukfIVrpHyFa6R8hW/2cmAP9v KAD/eC0B/4EzA/+HOgf/ikIN/4ZMFv+AVR//el4p/3NnMvttcDr2Z3hB8GKARutdh0vmWY5O4VaU UdxUmlTYUaFW00+mWM5Nq1rJS7FbxEq2Xb9JvF26SMFetUnIW7NKylqzSspas0rKWrNKylqzSspa s0rKWrNKylqzSspa/2glAP9xJwD/eiwB/4MzA/+KOgb/jkIN/4pLFv+FVCD/fl0q/3dlNPlwbj3z anZE7WR+SuhfhVDiW4xU3ViTV9hVmlrTUqBdzU+lX8hNq2HDTLFjvUq3ZLhJvWWzSsNjrkzJX6xM zF2sTMxdrEzMXaxMzF2sTMxdrEzMXaxMzF2sTMxd/2kkAP9yJgD/fCoB/4YxAv+NOgb/kkEN/49K Fv+JUyD/g1sr+3tjNvV0bEDvbXRI6md7T+Rhg1XeXYpa2VmSXtNVmGLNU59lx1ClZ8JOq2m8TLFr tkq4bLBLvmurTcRnpk/LYqVPzWGlT81hpU/NYaVPzWGlT81hpU/NYaVPzWGlT81h/2ojAP9zJQD/ fSkB/4gwAv+ROQb/lkAN/5RJFv+PUSH9iFks94FhOPJ5aULscXFM5mp4VOBkgFvaX4hh01uPZs1X lmrHU51uwVCkcbpOq3O0TLJ1rku5dKhOwG+kUMZrn1LMZp1Sz2SdUs9knVLPZJ1Sz2SdUs9knVLP ZJ1Sz2SdUs9k/2siAP91JAD/fygB/4ovAv+UOQb/mkAM/5pIFv+VUCH5j1gt84dfOu1/Z0Xodm5Q 4m91WdxofWHVYoVozl2MbsdYlHPAVJt4uVCje7JOq36rTLN+pU+6eaBSwXOcU8dul1XOaZZW0GeW VtBnllbQZ5ZW0GeWVtBnllbQZ5ZW0GeWVtBn/2whAP92IgD/gScA/40tAv+XOAX/n0AM/59IFfyc TyH1llYu745dO+mFZEjjfGtU3XRyXtZseWjPZYFwyF+Id8FZkH26VZmCsVOig6pRq4OiULSDnFO8 fZhVwneUV8lykFnPbI9a0mqPWtJqj1rSao9a0mqPWtJqj1rSao9a0mqPWtJq/20gAP93IQD/gyUA /48sAv+aNwX/oz8L/6VHFfijTiHwnVUu6pRbPOSLYUregmdX2HluY9FxdW7KaXx4wmOFf7lej4Kx W5mFqVmihqFXq4eaVrSGlFe9gZBaxHuMW8p1iV3Qb4hd022IXdNtiF3TbYhd022IXdNtiF3TbYhd 022IXdNt/24fAP94IAD/hCQA/5EsAf+dNQT/pz8L/qtHFfSpTiHspFQv5ZtaPd+SX0zZiWRa0n9q aMx2cHTDcHl7umuDgbBmjYWoYpiIoF+iiZhdrIqRW7WJi1y+hYhexX6FYMt4gmHRcYFh1G+BYdRv gWHUb4Fh1G+BYdRvgWHUb4Fh1G+BYdRv/24eAP95HwD/hiMA/5MrAf+fNAT/qz8K+rFGFPCwTSDo qlMv4aJYPtqZXU7TkGFdzIZma8R/b3W7eXh8rXB+gqNqh4abZpGKlWSejJBjrIyJYbWMg2G+iIFj xYB+ZMt6fGXSc3tl1HF7ZdRxe2XUcXtl1HF7ZdRxe2XUcXtl1HF7ZdRx/28eAP96HgD/hyIA/5Uq Af+iMwT/rj4K97ZGE+22TSDksFMu3KlXPtShW0/Nl15fxY9la7yIbXWwf3R9o3Z6g5hvgoiQa4yL immYjYZop46BZ7aOfGa+i3pnxYN4aMx8dmnSdXZp1HJ2adRydmnUcnZp1HJ2adRydmnUcnZp1HJ2 adRy/3AdAP98HgD/iSEA/5cpAf+lMgT/sj0J9LxFE+m7TR/gtVIu169WP8+nWVDGoF1fvZlja7SS a3WnhnF9mnx3g491foiHcIeMgW6TjnxtopB6brWPdGu8jXNsxIRybMp9cW3RdnFs03NxbNNzcWzT c3Fs03NxbNNzcWzTc3Fs03NxbNNz/3EcAP99HQD/iyAA/5koAf+oMQP/tjsJ8cFFEubATR7cu1It 0rVVPsmuV1C/qFxetqJiaqycanSejm99kYN0g4d8eoh+d4OMeHSOj3RynZBxc7CQbXG7jm1xw4Zs ccl+bHHQd2xw0nVscNJ1bHDSdWxw0nVscNJ1bHDSdWxw0nVscNJ1/3IbAP9+GwD/jB8A/5snAf+r MAP/ujoI7shFEeLFTR3XwVItzbtVPsO2V0+5sVterqxgaqSmaHSWmG18iYxyg3+EeIh3foCMcXuL j215mpFqeqyQZ3i6j2d3wodndsh/Z3XPeGd10XVnddF1Z3XRdWd10XVnddF1Z3XRdWd10XVnddF1 /3MaAP9/GgD/jh4A/54mAf+uLwL8vzkH685DEN7LTRzSxlMrx8FVPb29Vk6xuVpdprZfaZyxZnOP pGt7gpdwgniOdohwiH6MaoSIj2aCl5Bkg6qQYoG6j2J/wYdifciAYnvPeGJ60XZietF2YnrRdmJ6 0XZietF2YnrRdmJ60XZietF2/3QZAP+BGQD/kB0A/6EkAP+zLQL6xDcG6NRCD9rQThrNzFQqwshV PLbFVk2qw1lbnsBdaJO9ZHKHs2l6e6VugXGcdIZqlXyKZZCHjWGOlo9ejqiPXIu3jVyIwIddhceA XoLOeV6B0XZegdF2XoHRdl6B0XZegdF2XoHRdl6B0XZegdF2/3UYAP+CFwD/khsA/6UiAP+4KwL0 yzUF5NtBDdXXTxnI0VMpvM9VO6/OVUuizVdalsxcZorJYnB/xGl4dLdufmutdIRlpnyIX6GIilyf loxZnqiMVpiyi1aSvIZXjsR/WIvMeFmJznZZic52WYnOdlmJznZZic52WYnOdlmJznZZic52/3YW AP+FFQD/lRoA/6kgAP+/KAHs1DME3uNAC8/eTRnC2VIptddUOajYVUma2VZYjdlaY4HXYG1302d1 bsxue2bDdYBfvH6EWriJhle0mIhTrKOIUaWth1CftoNSmr99U5XId1OUy3VTlMt1U5TLdVOUy3VT lMt1U5TLdVOUy3VTlMt1/3gUAP+IEwD/mRcA/7AdAPbIJQHj4S8D2Os9C8jmSxm74VIoreFUN5/i VUaQ5FZTg+VZX3bhXWls22JxZdVpd17RcXtZznx+VcuIgVHEkoJOvJ2CTLSngkuusH9MqLl6TqLC dE6gxXJOoMVyTqDFck6gxXJOoMVyTqDFck6gxXJOoMVy/3sSAP+LEQD/nxQA/7gYAOrUIADX6S4D zPI8DMHvSBmz6lAnpOxSNZbtVUKI71dOe/BbWG/pXmFl4mJoXd1mblfYbHRS1XR3T9N/eUzSjHpK zJd7SMSheke+qnhIuLJ0SLG8cEmvv25Jr79uSa+/bkmvv25Jr79uSa+/bkmvv25Jr79u/34PAP+Q DgD+qA8A9sQSANrjGgDK8i0Dv/s7Dbj7Rhmq904lm/hRMo35VT2A+llHdPhdT2rxYFZi7GVcW+hp YVblb2VR4nVpTd99a0reiG1H25NvRdScb0POpG9DyKxtRMG1aUS/uGhEv7hoRL+4aES/uGhEv7ho RL+4aES/uGhEv7ho/4MLAPCYCgDesgoA29MLAMruGgC8/SwEsv85Dav/RBig/0sjkv9QLYT/VTd5 /1o/bv9fRmb7Y0tf92dQWvNsVFXxcldR7nhaTux+XEvrh15I6I9fReOXYEPen2FC2adhQNKvYEDQ smBA0LJgQNCyYEDQsmBA0LJgQNCyYEDQsmBA0LJg7ooHANqdBwDPtQgAytUJALv7GQCu/yoFpf84 DZ7/QxaV/0gfiP9PKHz/VS9x/1s2af9gO2L/ZEBd/2lEWP9uR1X9c0lR+3lLTvl/TUz4hk9J9IxQ R++SUUXrmVJD559SQeKmU0HgqVNB4KlTQeCpU0HgqVNB4KlTQeCpU0HgqVNB4KlT2o8EAMqhBQC/ uAUAutkJAKv/GAGh/ykFmP82DJH/QhOH/0cbff9OIXP/VSdr/1wsZP9gMV//ZTRa/2o3V/9uOVT/ dDtR/3k9T/9+Pk3/hEBL/4lBSfyPQkf4lENF9ZlDQ/CfREPvoURD76FEQ++hREPvoURD76FEQ++h REPvoURD76FEyZMDALqlAwCwvAQAqt4IAJ3/FwGT/ygFi/82CoX/QRB6/0UWcv9MG2r/VB9k/1sj X/9gJlv/ZShY/2kqVf9uLFP/ci5R/3cvT/98ME3/gTFL/4UySv+KM0j/jzRH/5M0Rf+YNUX9mjVF /Zo1Rf2aNUX9mjVF/Zo1Rf2aNUX9mjVF/Zo1t5cAAKqpAACiwwMAm+QHAI7/FwGF/ycEf/81CHn/ Pwxv/0QQZ/9KFGL/Uhdd/1kaWv9fHFf/Yx5V/2cfU/9rIFH/byFP/3QiTv94I0z/fSRL/4ElSf+F JUj/iSZH/40mRv+SJ0X/lCdF/5QnRf+UJ0X/lCdF/5QnRf+UJ0X/lCdF/5QnqJwAAJ2wAACUywIA i/AIAID/FwF5/yYDc/8zBW7/PQhm/0ILXv9HDlr/TxBW/1YSVP9cE1L/YBVR/2QWT/9oFk7/axdM /28YS/9yGEr/dhlJ/3sZSP9/Gkf/gxpG/4YbRf+KG0T/jBtE/4wbRP+MG0T/jBtE/4wbRP+MG0T/ jBtE/4wbmqIAAJG5AACH0wEAffsJAHT/FwFu/yUCaf8yA2T/OgVd/0AHV/9FCVT/TApR/1ILT/9X DE3/Ww1M/18OSv9jDkn/Zg9I/2kPR/9sD0f/bxBG/3MQRf92EUT/ehFD/34RQv+CEkH/hBJB/4QS Qf+EEkH/hBJB/4QSQf+EEkH/hBJB/4QSj6sAAITCAAB72wAAcf8JAGr/FwBk/yQBYf8wAlv/OANW /z0EUf9CBU7/SAZM/00GSv9RB0n/VQdH/1gIRv9bCEX/XghE/2EJQ/9kCUL/ZwlB/2oJQP9tCkD/ cAo//3MKPv93Cj7/eAo+/3gKPv94Cj7/eAo+/3gKPv94Cj7/eAo+/3gK/10oAP9kKwD/ay8B/3A0 Av9zOwX/dkMK/3ROEP9vWhf/amQd/2VuIv9gdyf/XIAr/1mHLvxWjjD4VJMy9FKYNPFQnTXtT6I3 6k2mOOZMqznjS7A530q1OttJujvWSMA70kfFPM5GyjzNRso8zUbKPM1GyjzNRso8zUbKPM1GyjzN Rso8/10oAP9kKwD/ay8B/3A0Av9zOwX/dkMK/3ROEP9vWhf/amQd/2VuIv9gdyf/XIAr/1mHLvxW jjD4VJMy9FKYNPFQnTXtT6I36k2mOOZMqznjS7A530q1OttJujvWSMA70kfFPM5GyjzNRso8zUbK PM1GyjzNRso8zUbKPM1GyjzNRso8/14oAP9lKgD/bC4B/3I0Av91OwX/eEIK/3ZNEP9xWBf/bGMd /2ZtI/9hdij/XX8t/1qGMPtXjTP2VJM181KYN+9RnTjrT6I56E6mO+RMqzzgS7A93Eq2PthJvD7T SME/z0fGP8pGzD/KRsw/ykbMP8pGzD/KRsw/ykbMP8pGzD/KRsw//18nAP9nKQD/bi4B/3QzAv94 OgX/fEEK/3pMEf90Vxj/b2Ef/2lrJf9kdCv/X30w/VuENPhYizf0VZI571OXO+xRnT3oT6I/5E6n QOBMrEHcS7JC1kq4Q9JIvUTNR8NFyUbIRcNGzkXDRs5Fw0bORcNGzkXDRs5Fw0bORcNGzkXDRs5F /2AmAP9pKAD/cC0B/3cyAv97OQX/f0AK/31LEf94VRn/cl8g/2xpJ/9nci7/YXsz+12DN/Zaijvx V5A+7FSWQOhSnELkUKJE4E6nRttMrUfWS7NI0Um5ScxIv0rHR8VLwkbKS71H0Ui9R9FIvUfRSL1H 0Ui9R9FIvUfRSL1H0Ui9R9FI/2IlAP9qJwD/cisB/3kyAv9/OAX/gz8K/4FJEf98VBn/dV0h/29n Kf9pcDD+ZHk2+F+BO/NbiD/uWI9D6VWVRuRSnEjgUKJK206oTNZMrk3RSrRPy0m6UMZHwVHARsdR u0fNT7ZI1Ey1SdRMtUnUTLVJ1Ey1SdRMtUnUTLVJ1Ey1SdRM/2MlAP9rJgD/dCoA/3wwAv+CNwT/ hj8K/4VIEf+AUhr/elsj/3NkK/9tbTP7Z3Y69WJ/QO9dhkXqWY1J5VaUTOBTm0/bUaJR1U6oU9BM r1XKSrVXxEi8WL5Hw1i4SMlWs0nPU61K11CtStdPrUrXT61K10+tStdPrUrXT61K10+tStdP/2Qj AP9tJQD/dSgA/34vAf+GNgT/ij4J/4pHEf+FUBr/f1kk/3hiLf1xazb3a3Q+8mV8RexghEvmW4tP 4FeTU9tUmlbVUaFZz06oXMlMr17CSrZfvEi9YbVJxV+wS8tbq0zSV6VN2lOlTdpTpU3aU6VN2lOl TdpTpU3aU6VN2lOlTdpT/2UiAP9uIwD/dycA/4EtAf+KNQT/jz0J/5BGEf+LTxr/hVcl/31gL/p2 aDn0b3FC7ml5SuhigVHiXYlW21mRW9VVmV/OUqBiyE+nZcFMr2i6Srdpskq/aaxMx2SnTs1fok/U W51R3FedUdxXnVHcV51R3FedUdxXnVHcV51R3FedUdxX/2YhAP9vIgD/eSUA/4MrAf+ONAT/kz0J /5VFEf+RTRr/i1Ym+4ReMfV8ZjzvdW5G6W11T+NmfVfdYIZe1VuOZM5WlmnHUp5twE+ncLhMr3Kw S7hyqU3BbqNQyWieUs9jmlPWX5VU3lqVVN5alVTeWpVU3lqVVN5alVTeWpVU3lqVVN5a/2cgAP9x IQD/eyQA/4YqAf+RMwP/mD0I/5xEEP+YTBr9klQm9otbMvGDYz/rempK5XJyVd5rel7YZIJm0F2L bchYk3K/VZ11t1Ondq5RsHamULp2n1HDc5pUy2yVVtFnkVfYYo1Y312NWN9djVjfXY1Y312NWN9d jVjfXY1Y312NWN9d/2gfAP9yHwD/fSIA/4koAf+TMgP/nTwI/6JDEP+fSxr4mlMm8ZRaNOuKYEHm gWdO4HhuWtlwdWTRaX5tyGSIcr9fk3W2XJ14rVmneaVXsXqdVrt6llbFd5FYzHCNWtNqiVvaZYZb 4GCGW+FghlvhYIZb4WCGW+FghlvhYIZb4WCGW+Fg/2keAP9zHgD/fyEA/4snAf+WMAP/oDsH/6hD D/unSxrzo1Im7JxYNOaSXkPgiGRR2n9qXtF4c2jHcXxuu2qEc7FljnepYZl6o2CmfJxesn2UW7x9 jFrGe4hcznOFXtRtgl/baH9f4WJ/X+Jif1/iYn9f4mJ/X+Jif1/iYn9f4mJ/X+Ji/2odAP91HQD/ gCAA/40mAf+ZLwL/pDoH/65CDveuShnurFEm56NXNeCaXETakWFT0oloX8mBcWi6d3hvrm9/daRq iHmcZpJ8lmSffpFjrn+LYr1/hF/HfoFhz3Z+YtVwfGPcanlj4mR5Y+JjeWPiY3lj4mN5Y+JjeWPi Y3lj4mN5Y+Jj/2scAP92HAD/gh8A/48lAP+cLgL/qDgG/7RCDvO2SRjqslAm4qtVNdqjWkXSml9U ypJmX7+Kb2ivfnRwo3V7dZlvg3qRa419i2iZgIZnqIGCaLyBfGXIgHlmz3h3ZtVxdWfba3Rn4WV0 Z+FldGfhZXRn4WV0Z+FldGfhZXRn4WV0Z+Fl/2wbAP93GwD/gx0A/5EkAP+fLQL/rDcF+7lBDe+9 SRjluFAl3LJVNNSrWEXLo11TwpxlX7WSbGimhXFwmXt3do91f3uHcIh+gW2UgXxso4J5bLaCdGvH gXJrzXpxa9NzcGrabW5q32ZuauBmbmrgZm5q4GZuauBmbmrgZm5q4GZuauBm/20aAP94GgD/hRwA /5MjAP+iLAH/sDYF+b5ADOvDSRfhv1Ak1rpUNM2zV0TErFxSuqZjXqybamidjG9vkYJ1dod7fHt+ d4R/eHOQgXRyn4NwcrGDbXLGgmtwzHtrcNJ0am/Zbmpu32dqbt9nam7fZ2pu32dqbt9nam7fZ2pu 32dqbt9n/24ZAP95GAD/hxsA/5YiAP+mKgH/tTQE9sQ+C+fJSRXcxlAj0cBUM8e6V0O8tVtSsrBi XaSlaGeVlm1viYtydX+DeXt3foF/cXqNgWx5m4NpeK6DZ3nGgmV2y3xlddJ1ZXTYb2Vy3mhlct5o ZXLeaGVy3mhlct5oZXLeaGVy3mhlct5o/28YAP97FwD/iRkA/5ggAP+pKQH/ujME8so9CuPPSRTW zFEhy8dUMcDCVkK1v1pRqbtgXJyxZmaNomtugZZwdXiNd3pwh39+aoOKgWaBmYNjgauDYYLEgmB+ y31gfNF2YHrXb2B33Wlgd91pYHfdaWB33Wlgd91pYHfdaWB33Wlgd91p/3AXAP98FgD/ixgA/5we AP+uJwH+wDED7tM7CN/XSBLR0lIexc5UMLnLVkGtyFlPocZfW5S/ZWWGsGlteqNvc3GadXlqk359 ZI+Jf2CMl4FdjKmCW4zAgVqHyn1bhNF2W4HXcFx+3Wlcft1pXH7daVx+3Wlcft1pXH7daVx+3Wlc ft1p/3EVAP9+FAD/jRYA/58cAP+0JAD3yC4C5945B9nfRxDL2VEev9VUL7LUVj+l01hOmNJdWYzP ZGN+wGhrc7RucWurdHZkpH16X5+IfVucl39Ym6l/VZm7f1SSxntVjs51VorWb1eG3WlXht1pV4bd aVeG3WlXht1pV4bdaVeG3WlXht1p/3MTAP+BEgD/kRQA/6UZAP+7IQDt0isB3+c2BdLnRRDE4VAe t95ULqneVT2b31dLjt9bV4LdYmB31GhobclubmXAdXNfuX53WrSJelaxmHtTr6p8UKe1e06gwHlQ mslzUZXRblKQ22hSkNtoUpDbaFKQ22hSkNtoUpDbaFKQ22hSkNto/3URAP+EEAD/lREA/6wVAPfF HADg4SYA0+02BsrxQhC96k4er+hSLKDqVDqS61ZIhOxaVHjrYF1u5mZkZuFual/Zdm5a0oByVc6N dFHHmXZNv6R2S7evdkmvuXRKqcNvS6PLa0yd1GVMndRlTJ3UZUyd1GVMndRlTJ3UZUyd1GVMndRl /3gPAP+IDQD+nA4A/LUQAOnTFQDT6iUBx/U1Br77QRG09kwdpvVQKpf2UzeJ91dCfPdbTXDyX1Zl 62JeXeZoZFjicGhT4HprT96HbUzXlG9Jz55vRsepb0XAs25GubxqRrLEZkeszWJHrM5iR6zOYkes zmJHrM5iR6zOYkeszmJHrM5i/3sMAPaNCgDhpQkA3MEKANfkEADF9CQBuf8zB7H/PxGq/0kcnP9O J47/UzKB/1g8df9dRGr6YUxi9WZSW/FrV1XtcVtQ6nhfTOiCYkjmjWRF35hlQ9ijZkHQrGVByrVi QsO9X0K8xlxCvMZcQrzGXEK8xlxCvMZcQrzGXEK8xlxCvMZc+oEIAN+TBgDTqAcAzcMIAMfxEAC2 /yMCrP8yB6T/PhCd/0gakf9MI4T/Uyx5/1k0bv9eO2b/YkFf/2dGWfxtSlX5c01R93pQTfWCUkrx i1RG7JRWROacV0LgpVdA265XP9S1VkDOvlRAzr5UQM6+VEDOvlRAzr5UQM6+VEDOvlRAzr5U44YD ANGWBQDFqwUAvsYGALb7EACp/yECn/8wB5j/PA+Q/0YXhv9KHnr/UiZx/1ksaP9fMWL/YzZc/2g6 WP9uPVT/dD9R/3tBTv+CQ0v8iUVI+JBHRvOXSEPunkhC6aVJQeWsST/ftEg/37RIP9+0SD/ftEg/ 37RIP9+0SD/ftEg/37RI04oCAMGaAwC2rgMAr8oGAKb/EACb/yACkv8vB4v/Ow2D/0QTef9IGXD/ UR9p/1gjY/9eJ17/Yyta/2gtVv9uMFP/dDJR/3ozTv+ANUz/hjZJ/4w3R/+SOUX8mDlE+J46QvSj OkHvqjpB76o6Qe+qOkHvqjpB76o6Qe+qOkHvqjpB76o6wY4AALKeAQCnswEAodEFAJf/DwCN/yAC hf8uBn//Ogp3/0IPbv9HE2f/Txdi/1cbXf9eHln/YiBW/2ciVP9sJFH/cSVP/3cmTf98J0v/gihK /4cpSP+NKkb/kitF/5crRP+cLEL/oSxC/qEsQv6hLEL+oSxC/qEsQv6hLEL+oSxC/qEssZMAAKOj AACauwEAktkEAIj/DwB//x8CeP8tBHP/OQds/0AKZP9FDl7/TBBa/1QTV/9bFVT/YBdS/2QYUP9p GU//bRpN/3IbS/93HEr/fRxI/4IdR/+GHkb/ix5F/5AfQ/+VH0L/miBC/5ogQv+aIEL/miBC/5og Qv+aIEL/miBC/5ogopgAAJeqAACOxAAAheADAHr/EABz/x8Bbf8sA2n/NwVj/z4HXP9DCVf/SQtU /1AMUf9WDU//XA5N/2APTP9kEEr/aBFJ/2wRSP9wEkf/dBNF/3kTRP9/FEP/hBRC/4gUQf+MFUD/ kRVA/5EVQP+RFUD/kRVA/5EVQP+RFUD/kRVA/5EVlZ4AAIu0AACBzAAAeOYCAG7/EABp/x4BZP8r AWD/NQNa/zsEVf9ABVH/RgZO/0wHTP9RCEr/VQhJ/1kJR/9dCUb/YQpF/2UKRP9oC0L/bAtB/3AL QP90DD//eAw+/30MPf+CDDz/hw08/4gNPP+IDTz/iA08/4gNPP+IDTz/iA08/4gNiqgAAH+9AAB2 1AAAbe8CAGT/EABg/x0AXP8pAVj/MgFT/zgCTv89Akv/QwNJ/0cDR/9MBEX/UARE/1MFQ/9WBUH/ WQVA/1wFP/9fBT7/YgY9/2YGPP9pBjv/bQY6/3AGOf90Bzj/eAc4/3kHOP95Bzj/eQc4/3kHOP95 Bzj/eQc4/3kH/1YoAP9dKgD/Yy4A/2c0Af9qOwT/a0IH/2tNDP9oWhH/ZGYW/19wGv9beR3/WIEg /1WJIv9TkCT/UZUm/VCaJ/pOnyj3TaMp80ynKvBLrCrsSrEr6Em2LORIuyzgR8As3EfGLdhGzC3U RtAt1EbQLdRG0C3URtAt1EbQLdRG0C3URtAt/1coAP9eKgD/ZC4A/2gzAf9rOgT/bUIH/21MDP9p WRH/ZWUW/2BvG/9ceB7/WYEh/1aIJP9Ujyb/UpUn/FCaKflPnyr1TaMr8kynLO5LrC3qSrEt5km2 LuJIvC7eR8Iv2kfIL9VGzS/RRdEv0UXRL9FF0S/RRdEv0UXRL9FF0S/RRdEv/1gnAP9fKQD/Zi0A /2syAf9uOQP/cEEH/3BLDP9sVxL/aGMX/2NtHP9ediD/Wn8k/1eHJ/9Vjin+U5Qr+lGZLPZPni7y TqMv70yoMOtLrTHnSrIy4km4Mt5IvjPZR8Uz1EbKNM9GzzTMRdQ0zEXUNMxF1DTMRdQ0zEXUNMxF 1DTMRdQ0/1omAP9hKAD/aCwA/20yAf9wOAP/c0AH/3NJDP9vVRL/amEY/2VrHv9gdSP/XH0n/1mF Kv9WjSz7VJMv91KZMPNQnjLvTqMz602oNOdLrTXjSrM23km5N9lIwTjTR8c4zkbMOclF0jnGRtY3 xkbWN8ZG1jfGRtY3xkbWN8ZG1jfGRtY3/1slAP9jJwD/aisA/28xAf9zNwP/dj8H/3dIDf9zUxP/ bV8a/2hpIP9jcyX/Xnsp/1uELf1XizD4VZIz9FKYNfBQnTfsT6M4502oOuNLrjveSrU82Um8PdNI wz3NRsk+yEXPPsNG1Ty/R9o7v0faO79H2ju/R9o7v0faO79H2ju/R9o7/10kAP9lJgD/bCoA/3Iw Af93NgP/ej0H/3tGDf93UhT/cVwb/2xmIv9mcCj/YXkt/12CMfpZiTX1VpA48FOXOuxRnT3nT6M+ 4k2pQN5LsEHYSrdD0ki+RMtHxUTGRsxFwEbSQ7pH2UC3SN0+t0jdPrdI3T63SN0+t0jdPrdI3T63 SN0+/14jAP9mJQD/bigA/3UuAf97NQP/fjwH/4BFDf98UBT/dloc/3BkJP9qbSv/ZXcx/V9/Nvdb hzrxWI8+7FWVQedSnETiT6NG3U2qSNdLsUnQSbhLykjATMNGyE29R89Kt0jWR7FJ3USuSuFCrkrh Qq5K4UKuSuFCrkrhQq5K4UKuSuFC/2AiAP9oIwD/cCcA/3gsAf9/NAP/gzsH/4VDDf+BThX/e1cd /3VhJv9uai7/aHQ1+WN8O/NehUDtWoxF51aUSOJTm0zcUKNO1k2rUc9LslPISbpUwUfDVblHy1Oz SdNPrUraTKhL4EmlTORGpUzkRqVM5EalTORGpUzkRqVM5EalTORG/2EhAP9pIgD/ciUA/3oqAf+D MgL/iDoG/4tCDP+HTBX/gVUe/3peKP9zZzH7bXA59Wd5QO9hgkfpXIpM4leSUdxUmlTVUKNYzk2r W8dKs12/SLxft0jFXq9LzlmpTNZUo03dUJ9O402cT+dKnE/nSpxP50qcT+dKnE/nSpxP50qcT+dK /2IgAP9qIAD/cyMA/30oAf+GMAL/jTkG/5FBDP+OShX/iFMf/4FcKf15ZDT3cm098Wt2Rupkfk3k X4dU3VmQWtVVmV7OUaFixk6qZb1MtGa1S75mrEzIY6VO0F6fUNlZmlHgVJZS5VCUU+hNlFPoTZRT 6E2UU+hNlFPoTZRT6E2UU+hN/2MeAP9sHwD/dSEA/38nAP+KLgL/kjkF/5dADP+VSRX/j1Ef/ohZ KviBYjbyeWpB7HFyS+ZpelTfYoNc1lyNY81Zl2bFVqFovFSrabNStWqqUMBqolDKaJtS02KWVNtd klXiWI5W51OMVupQjFbqUIxW6lCMVupQjFbqUIxW6lCMVupQ/2QdAP9tHQD/dyAA/4IlAP+NLQL/ ljcF/5xAC/+cSBT/mFAf+ZFXK/OJXzjtgGdE53duUOBvdlrWaoFgy2SKZcFglWi5XaBrslqsbalY tm2gVsFul1TMbZJW1WaNWN5giVnjW4Za6FaFWuxThVrsU4Va7FOFWuxThVrsU4Va7FOFWuxT/2Uc AP9vHAD/eR4A/4QjAP+QKwH/mjYE/6I/Cv+kRxP6oU8f85tWLO2SXTnniGNH4H9rU9V4dVvHb3xi u2mEZ7FkjmqpYZlto1+lb55etXCWXMNwjlrOcIhb2GmEXN9jgl3lXn9e6Vl+Xu1Vfl7tVX5e7VV+ Xu1Vfl7tVX5e7VV+Xu1V/2YbAP9wGwD/ex0A/4chAP+TKgH/njQE/6g+Cf+sRhP1qk4e7aVULOeb WjrgkmBJ2ItqU8h/cVy5dXhjrW5/aKRpiGycZZNvlmOfcZFirnONYsNzhV/PcoBf2Wx9YOBle2Hm YHlh6lp4Yu1XeGLtV3hi7Vd4Yu1XeGLtV3hi7Vd4Yu1X/2caAP9xGQD/fBsA/4kgAP+WKQH/ojMD /609Cfq0RRLwtE0d561TK+CkWDvYnV9Iz5VoU72GblyufHRjonR7aZlug22Rao1wi2iac4ZmqHSC Zrt1fWXQdHhk2G92ZN9ndGXkYXNl6VxyZexYcmXsWHJl7FhyZexYcmXsWHJl7FhyZexY/2gZAP9y GAD/fhkA/4sfAP+ZJwH/pjED/7I8CPa8RRDrvEwc4rVTKtmvWDrQp15IxZ5mU7OOa1ykgnFjmXp4 aY90f22HcIlxgW2VdHxro3V4a7Z2dWzQdXBp1nBvad1pbmnjY21p6F1taetabWnrWm1p61ptaeta bWnrWm1p61ptaeta/2kYAP9zFwD/gBgA/44dAP+cJgD/qzAC/7g6B/LERA/mw0wb3L5SKdK3VznI sV1HvKdkUqqXaVucim9jkIF1aYd7fG1/doVxeHORdHNxn3ZwcbF2bnLNdmpu1XJpbdxqaW3iZGhs 515obOpbaGzqW2hs6ltobOpbaGzqW2hs6ltobOpb/2oXAP91FQD/ghYA/5AcAP+gJAD/sC4C/b44 Bu7NQg7hyk0Z1cZSKMvAVjjAulxGs7FiUaKgZ1uUk2xiiIlyaH+Cem13fYJxcXqOdGx4nHZpd653 Z3jIdmR11HNkc9trY3LhZWNx5l9jcOlbY3DpW2Nw6VtjcOlbY3DpW2Nw6VtjcOlb/2sVAP92FAD/ hBUA/5MaAP+kIgD/tSwB+cY2BenWQQzb0k4Xz81SJ8TJVTe4xFpFq71hUJqsZlqMnmthgZRwaHeM d21whoBxaoKLdGaAmXZif6t2YIDEdl5803NeedtsXnjgZV925WBfdelcX3XpXF916VxfdelcX3Xp XF916Vxfdelc/2wUAP94EgD/hhMA/5YYAP+pHwD/vCkB8c80BOTfPwrV200UydVSJb3SVTWwz1pD o8pgT5K5ZFiFrGlgeqFvZnGYdmtqkn5vZI2JcmCKl3Rcial1WorBdViG1HNZgttsWX/gZlp85WBa e+lcWnvpXFp76Vxae+lcWnvpXFp76Vxae+lc/24SAP96EAD/iREA/5oVAP+vHAD5xSYA59sxAt3o PgjO5EsUwd5SI7TcVTSn21hBmtleTYrJY1Z9u2hec7FuZGqodWlkoX1tXpyJcFqZl3JXmKhzVZnB c1KS0HFTjNprVIjhZVWF5mBVg+lcVYPpXFWD6VxVg+lcVYPpXFWD6VxVg+lc/28RAP99DgD/jA4A /6ASAP+3GADt0CEA3OYuAdLvPAjG7UkUuedSIqvmVDGd51c/kOZcSoLbYlR2zmhbbMRuYWS7dWZe tX5qWbCJbVWsmG9Sq6lwT6m+b02gym5OmdRpT5PdY1CP5F5QjOhbUIzoW1CM6FtQjOhbUIzoW1CM 6FtQjOhb/3IOAP+ADAD9kgwA+KgOAPjCEgDd4BkAz+4tAsX3Owm++EYUsPJQIaLzUy+T81Y8hfNb R3nuYVBu5GdXZttuXV/TdmJZzYBlVMiMaFHFm2pNwatrSri3akiww2lIqM1lSaLWYEqb31xLmORZ S5jkWUuY5FlLmORZS5jkWUuY5FlLmORZ/3UMAPyFCADkmAgA3bEJANzRCwDP6xkAwfksArj/Ogmx /0QUpv9NIJj/USyK/1Y3fP9bQnD7X0tn9WZSX/FtV1nsdltU6IFfUOKNYUzamWNI0aVkRsmwZETB u2NEucZfRLLPXEWr2FhGpt5VRqbeVUam3lVGpt5VRqbeVUam3lVGpt5V/3kIAOWKBQDYmwYAz7MI AM3TCQDA9xkAtP8rA6v/OAqj/0MTm/9KHY7/UCeB/1Yxdf9cOmr/YUFi/mZIW/psTVX2c1FQ8nxV S/CHWEfqklpE4p1bQtqqW0HStFpAyr5YQcPGVUK9zlJCuNRQQrjUUEK41FBCuNRQQrjUUEK41FBC uNRQ6X4DANiNBADKngUAwbYGAL3WCQCx/xgApv8pA57/NgqX/0ESjv9IGoP/TiJ4/1Yqbv9dMWX/ Yjde/2c8Wf9tQFT/dUNQ/31GTPuGSUj1j0tF75hMQ+mhTUHiq00/27VNP9W+TD/OxUpAystIQMrL SEDKy0hAystIQMrLSEDKy0hAystI3YIAAMmQAgC8ogMAs7kDAK7aCACj/xcAmf8oA5H/NQmK/0AP gf9GFnj/TR1v/1UjZ/9dKGH/Yixb/2gwV/9uM1P/dTZQ/3w4Tf+EOkr/jDxH/JM9RPabPkLxoz9B 66s/QOayPz/huj8+3cA+Pt3APj7dwD4+3cA+Pt3APj7dwD4+3cA+zIYAALqUAACtpgEApr4DAKDg BwCU/xcBjP8nA4X/NAd+/z8Mdf9FEm3/Sxdm/1QbYf9cH1z/YSJY/2ckVf9tJ1L/cylP/3oqTf+B LEr/hy1I/48vRv+WMET/nDBC+qMxQfaoMUDxrjE/7rMxP+6zMT/uszE/7rMxP+6zMT/uszE/7rMx uosAAKuZAACgqwAAmcYCAJHnBgCG/xcBfv8mA3j/MwVz/z4Ja/9DDWP/SRBe/1IUWv9ZFlf/YBhU /2UaUv9qHE//bx1N/3YeS/98H0n/giBH/4khRv+PIkT/liND/5sjQv+gJEH/pSRA/6kkQP+pJED/ qSRA/6kkQP+pJED/qSRA/6kkqo8AAJ2dAACUtAAAi88BAIL0CAB5/xYAcv8lAm3/MgRp/zwGYf9B CFv/RgtX/04NU/9VD1H/XBBP/2ERTf9mEkv/ahNK/28USP91FUf/exZF/4IWRP+IF0L/jhdB/5MY QP+YGED/nRk//6AZP/+gGT//oBk//6AZP/+gGT//oBk//6AZnJQAAJGmAACIvQAAftcAAHX/CABt /xYAaP8kAWT/MAJf/zkDWf8+BVT/RAZR/0oHTv9QCEz/VglK/1sKSP9fC0f/ZAtF/2kMRP9tDEP/ cg1B/3cNQP9+Dj//hA49/4oPPf+PDzz/lA88/5cPPP+XDzz/lw88/5cPPP+XDzz/lw88/5cPkJsA AIawAAB8xgAAct8AAGn/CQBj/xYAX/8jAFv/LgFX/zUCUv87Ak7/QQNL/0YESf9LBEf/UAVF/1QF RP9YBkL/XAZB/18GQP9jBz7/aAc9/2wHPP9xBzr/dgg5/3wIOP+BCDf/hwg2/4wINv+MCDb/jAg2 /4wINv+MCDb/jAg2/4wIhaUAAHu5AABxzwAAaOYAAGD/CgBb/xYAV/8iAFT/LABP/zIBS/83AUf/ PAFF/0ICQ/9GAkH/SgJA/00CP/9RAz3/VAM8/1cDO/9aAzr/XQM4/2EDN/9lAzb/aQQ1/20ENP9x BDP/dgQy/3oEMv96BDL/egQy/3oEMv96BDL/egQy/3oE/1EoAP9XKgD/XC4A/18zAf9hOgL/YkEF /2JLCP9gWQz/XGUQ/1lwE/9Wehb/U4MY/1GLGv9Qkhv/Tpcc/02cHf9MoB7/S6Ue+0qpH/hJrR/0 SLIg8Ee3IOtGvCHnRsIh40XIId9FzSHaRNQh2UTWIdlE1iHZRNYh2UTWIdlE1iHZRNYh/1InAP9Y KQD/XS0A/2EyAf9kOQL/ZEAF/2VJCP9jWAz/X2QR/1tvFP9YeBf/VYEa/1OJHP9RkR3/T5Ye/06b IP9NoCD8S6Qh+EqpIvVJriLxSLMj7Ei4I+hHviTjRsQk3kXKJNpF0STURNkk00TaJNNE2iTTRNok 00TaJNNE2iTTRNok/1MmAP9ZKAD/XywA/2MxAf9mOAL/Zz8F/2hICf9mVg3/YmMR/11tFv9adxn/ V4Ac/1SIHv9SjyD/UJYh/0+bIv1NoCP5TKQk9kupJfJKribtSbMm6Ui5J+RHwCffRsco2kbOKNVF 1CjPRNsozUTcJ81E3CfNRNwnzUTcJ81E3CfNRNwn/1QlAP9bJwD/YSsA/2YwAf9pNwL/aj4F/2tH Cf9pVA7/ZWAT/2BrF/9cdRv/WX4e/1aHIf9TjiP/UZUk/lCaJvpOnyf2TaQo8kupKe5KryrqSbQr 5Ui7K99HwizaRsos1EXRLM5F2CzJRd4rx0XfKsdF3yrHRd8qx0XfKsdF3yrHRd8q/1YkAP9dJgD/ YyoA/2gvAf9sNQL/bj0F/29FCf9tUQ7/aV4U/2RpGf9fcx3/W3wh/1iFJP9VjCf/U5Mp+1GZKvdP nyzzTaQt7kyqLupKsC/lSbYw30i9MdlHxjLTRs0yzEXUMsdF2zDBRuEuwEbiLsBG4i7ARuIuwEbi LsBG4i7ARuIu/1gjAP9fJQD/ZigA/2stAf9wNAL/cjsF/3RDCf9yTw//bVsV/2hmG/9jcCD/Xnok /1qCKP9Xiiv8VJIu91KYMPNQnjLuTqQz6UyqNeRLsTbfSbg32EjBONFHyTnKRdE5w0bZN75H3zW5 SOQzuEjlMrhI5TK4SOUyuEjlMrhI5TK4SOUy/1kiAP9hJAD/aCcA/28sAP90MgL/dzoF/3lCCf93 TQ//clgW/2xjHf9nbSP/Ynco/12ALf5ZiDH4VpA081OXN+5RnjnpTqQ740yrPd5Lsz7WSbxAz0fE QchGzEHARtU/uUjdPLRJ4jmwSuc3r0rpNq9K6TavSuk2r0rpNq9K6TavSuk2/1shAP9jIgD/aiUA /3EqAP94MQL/fDgE/35ACf99ShD/d1UX/3FgH/9raib/ZnQs/2F9MvpchTf0WI477lWVPuhSnUHj T6RE3U2sRtVKtUjOSL5JxkbHSr5H0Ei2SNpEr0rhQatL5j6mTOs7pUzsOqVM7DqlTOw6pUzsOqVM 7DqlTOw6/10gAP9kIAD/bCIA/3QoAP97LwH/gTcE/4Q+Cf+DSBD/flMY/3ddIP9xZin/a3Aw/GV5 N/Zfgj3vWotC6VaTRuNSnErcT6VN1EyuUM1KtlLER8BUu0fKU7JJ1E6qS95JpUzlRaFN6UKdT+4/ nE/vPpxP7z6cT+8+nE/vPpxP7z6cT+8+/14eAP9mHgD/biAA/3clAP9/LAH/hjUD/4o9CP+KRg// hFAY/35aIv93Yyv/cGw0+Gl2PfFjf0TqXYhK41iRUNxUm1TUUKRXy06uWcJNuFm5S8NZr0rOWadN 2VOgTuFOm0/oSpdQ7EaUUvFCk1LyQZNS8kGTUvJBk1LyQZNS8kGTUvJB/18dAP9nHQD/cB8A/3kj AP+CKgH/izQD/5A8CP+RRQ//jE4Y/4ZXI/9+YC36d2k4829yQu1ne0vlYYRS3F2QVtJam1nKV6Vb wVWvXbdTul6uUcVepE/QXZxQ3FiWUuRSklPqTY9U7kmMVfNFi1X0RItV9ESLVfREi1X0RItV9ESL VfRE/2EcAP9pGwD/ch0A/3whAP+GKAH/jzID/5Y8B/+ZRA7/lUwY/45VI/qHXS/0f2Y77nZuR+Ju d0/UaIBUyWOKWcBflFy5XJ9eslqsYKxZu2GjV8dhmlTTYZJV3lyNVuZWiVfsUYdY8EyEWfRIhFn1 R4RZ9UeEWfVHhFn1R4RZ9UeEWfVH/2IaAP9qGQD/dBsA/34fAP+JJgD/kzAC/5s7Bv+hQg3/nksY +phTI/SRWzDuiGI+4n5rSNJ1c0/EbXtVuWiEWrBjjV6pYJhho16kY51ds2SZXclkkFrVZIhZ4WCE WudZgVztU39c8U99XfZKfV33SX1d90l9XfdJfV33SX1d90l9XfdJ/2MZAP9rGAD/dRkA/4EdAP+M JAD/mC4C/6E5Bf+pQgz9qEoX9KRSI+2cWTHmk2E+1YdpSMV8cFC3c3dWrG1/W6NoiF+cZZJilmKe ZZBhrWaMYcBnhmDXZn9e4mN8X+lcemDuVnlg8lF3YfZMd2H3S3dh90t3YfdLd2H3S3dh90t3YfdL /2QYAP9tFgD/dxcA/4MbAP+PIwD/nCwB/6Y3Bf+wQQv3skkV7rBQIuanVzDen189yo9mR7mDbVCs eXNXoXN7XJhug2CRao1jimeZZoVlp2iBZblofmbZaHdi4GV1Y+dec2TtV3Jk8VJxZPZNcWT3THFk 90xxZPdMcWT3THFk90xxZPdM/2QXAP9uFQD/eRYA/4UZAP+TIQD/oCsB/6w1BP63PwrxvUgU6LlQ IN+yVi/Uql48wJhkR7CKalCigHBXmHl3XI9zf2CHb4lkgWyVZ3xqo2l4arRpdWvPaW9n32duZ+Zf bWfsWW1n8FRsaPVPbGj2Tmxo9k5saPZObGj2Tmxo9k5saPZO/2UVAP9vFAD/ehQA/4gXAP+WHwD/ pSkB/7IzA/q/Pgnsx0cS4cJPH9i9VS7Ks1w7t6BiRqeSaE+ah25Wj391XIZ5fGB/dYVkeHKRZ3Nw n2lwb7BqbXDKamhs3WlobOVhZ2zrWmdr71Vna/RQZ2v1T2dr9U9na/VPZ2v1T2dr9U9na/VP/2YU AP9wEgD/fBIA/4oVAP+ZHQD/qiYA/7kxAvXIPAfn0EcQ28xOHtDGVC3CvFo6r6pgRZ+bZk6SkGxW iIdyXH+BemB3fINkcXmOZ2x2nGloda1qZnbFamJz3WliceRiYnDqW2Jw7lZib/NRYm/0T2Jv9E9i b/RPYm/0T2Jv9E9ib/RP/2cTAP9yEQD/fxAA/40TAP+eGgD/sCQA/cEvAu/TOQXh2kYN1NZNHcjQ Uyy5x1k5p7VfRJimZE2LmmpVgJFwW3eKeGBwhIBkaoGLZ2Z+mWlifapqYH3Bal173WlceONiXXbp W1117lZedPNRXnT0UF509FBedPRQXnT0UF509FBedPRQ/2kRAP90DwD/gQ4A/5ERAP+jFwD/tyAA 88srAeXgNwPZ5EULzN9NG7/bUiqx01g4n8FeQ5CzY0yDp2lTeZ1vWXGVdl5qj35iZIuJZmCIl2hc h6hpWoe/aVeF3mhXgORiWH3pW1h77lZZevJRWXnzUFl581BZefNQWXnzUFl581BZefNQ/2oQAP92 DQD/hAwA/5UOAP+qEwD7wBsA59kmANrpNQPR7UMLw+lMGbblUiio4Vc2l9BdQYjBYkp8tWhRcqxu V2qkdVxknn1gXpmIY1qWlmZWlKdnVJS+Z1KR22ZSiuRhU4bqW1OD7lZUgfNRVID0UFSA9FBUgPRQ VID0UFSA9FBUgPRQ/2wOAP95CwD8iQoA85wMAPezDgDuzRUA2eYjAM3xNAPF90ELuvRLF6zxUSae 7lUzjuBbPoDTYUd1x2dPbL5tVWS2dFlesH1dWauIYFWolmJRpqhkT6a/ZEyg02NMl+BfTZHoWU6O 7VVPivNQT4r0T0+K9E9PivRPT4r0T0+K9E9PivRP/24LAP19CADmjgYA3qEIANu9CgDc4A0AyvAi AL/7MwO4/z8LsP9IF6L+UCOU/FQwhfFaO3jmYERu3WdLZtRuUF/MdVVZx35ZVMKKXFC+mV5NvKpf Srq/X0iwzF5HptlbSJ/iVkma6VJKle9OSpTwTUqU8E1KlPBNSpTwTUqU8E1KlPBN/3IJAOmBAwDb kAUA0aQHAM2/CADM6w0AvPshALL/MgSq/z4Mov9HFpj/TSGJ/1Qse/9ZNnD5Xz9n8mZFX+ttS1nm dk9U4YBSUN2NVUzanVdJ06xYRsq4WEPBxFhDuNBVQ6/bUUSp4k5Fo+lKRaLqSkWi6kpFoupKRaLq SkWi6kpFoupK8nYEAN+EAgDOkwQAxacFAL/BBgC77w0Arv8hAaX/MASd/zwLlf9GFIz/Sx1//1Mm dP9aL2r/YDZh/2Y9Wv9tQ1T9dUdP+X9KS/SMTUjsl05F5KNPQtywUEHSvE9AysdNQMLQSkG72UhC tOFFQrLjREKy40RCsuNEQrLjREKy40RCsuNE5HoAANCHAQDBlgIAt6oDALHFBQCs9g4AoP8gAZj/ LwSQ/zsKif9EEn//SRl1/1IgbP9aJ2T/YS1e/2cyWP9uNlP/djlP/388S/+JP0f6kkFE85xDQuun REDksUQ/3L1DP9THQT/Ozj8/x9c9P8XZPT/F2T0/xdk9P8XZPT/F2T0/xdk91n4AAMKLAACzmgAA qq0BAKTKBQCd/g4Ak/8fAYv/LQSE/zkJff9DD3P/SBVs/1EaZf9ZH1//YCNa/2YmVv9tKlL/dSxP /30vS/+FMUj/jjJG/5c0Q/qgNUHzqDVA7bE2P+a6NT7hwTU+28o0PtnNMz7ZzTM+2c0zPtnNMz7Z zTM+2c0zxYMAALOPAACmngAAnrQAAJfSAwCO/w0Ahf8eAX7/LAN4/zgHcv9BC2n/Rg9i/04TXf9X F1n/XxpW/2UcU/9rHlD/ciBN/3oiS/+BI0j/iSVG/5EmRP+ZJ0L/oChB/agoP/euKD/ztCg+7bso Puy9KD7svSg+7L0oPuy9KD7svSg+7L0otIcAAKWUAACapAAAkr0AAInaAwCA/w4AeP8dAXL/KwJt /zcFZ/8/B2D/RApa/0sNVv9UD1P/XBFR/2ETT/9nFUz/bRZK/3QXSP97GEb/gxlE/4oaQ/+SG0H/ mRtA/58cP/+lHD7/qhw+/68cPv6xHD7+sRw+/rEcPv6xHD7+sRw+/rEcpYwAAJeYAACOrgAAhcYA AHzhAgBz/w4AbP8cAGf/KgFk/zUDXv88BFj/QgZU/0gIUP9PCU7/VgpL/1wLSf9hDEf/Zw1G/2wO RP9yD0P/eQ9B/4EQP/+JET7/kBE9/5cSPf+cEjz/oRI7/6USO/+nEjv/pxI7/6cSO/+nEjv/pxI7 /6cSl5EAAIyiAACCtwAAec8AAHDoAQBo/w4AYv8cAF7/KAFb/zMBVf85AlH/PgNN/0UES/9LBUj/ UAVG/1UGRf9aB0P/XgdB/2MHQP9pCD7/bgg8/3UJO/98CTn/hAk4/4wKN/+TCjf/lwo3/50KN/+e Cjf/ngo3/54KN/+eCjf/ngo3/54KjJkAAIGsAAB3wQAAbtgAAGXyAgBe/w4AWv8bAFb/JgBS/y8A Tv81AUr/OgFH/0ACRf9FAkP/SgJB/04DP/9SAz7/VgM8/1oDO/9eBDn/YwQ4/2gENv9tBDX/cwQ0 /3oFMv+BBTH/iAUw/48FL/+RBS//kQUv/5EFL/+RBS//kQUv/5EFgaMAAHe2AABtygAAZOAAAF3/ AwBW/w8AUv8aAE//JABK/ysARv8xAEP/NgBB/zsBP/9AAT3/RAE8/0cBOv9LATn/TgE3/1EBNv9U ATT/WAEz/1wCMv9gAjH/ZQIv/2oCLv9vAi3/dAIs/3kCK/97Aiv/ewIr/3sCK/97Aiv/ewIr/3sC /0wnAP9RKQD/VS0A/1gyAP9aOAH/WkAD/1hJBf9XVwj/VWQL/1JwDf9Qew//ToQR/02MEv9LkxP/ SpkU/0mdFf9Iohb/SKYW/0eqFv5Grxf6RrMX9kW4F/FEvhfsRMQY50PKGOJD0BjeQtcX2kLeF9pC 3hfaQt4X2kLeF9pC3hfaQt4X/00mAP9SKAD/ViwA/1oxAP9cNwH/XD8D/1tIBv9ZVgj/V2MM/1Rv Dv9SeRH/UIMS/06LFP9NkhX/TJgW/0qdF/9Johj/SaYY/0iqGfxHrxn3RrQZ80W5Gu5FvxrpRMYa 5ETNGt5D0xrZQ9wa1ULhGtVC4RrVQuEa1ULhGtVC4RrVQuEa/04mAP9TJwD/WCsA/1wwAP9eNgH/ Xj4D/15HBv9dVAn/WmIM/1dtD/9UeBL/UoEU/1CKFv9OkRf/TZcY/0ycGf9KoRr/SaYb/UmrG/lI rxz0R7Uc70a7HepFwR3lRcgd30TQHdlD2R3TQ+Adz0PjHM9D4xzPQ+Mcz0PjHM9D4xzPQ+Mc/08l AP9VJgD/WikA/14vAP9hNQH/Yj0D/2JFBv9hUQr/XmAN/1prEf9XdhT/VH8X/1KIGf9QkBr/TpYb /02cHf9MoR79S6Ye+UmrH/VIsCDwR7Yg60e8IeVGxCHfRcwh2UTVIdJE3SHNROIgyUTmH8lE5h/J ROYfyUTmH8lE5h/JROYf/1EkAP9XJQD/XSgA/2EtAP9kMwH/ZjsD/2ZDBv9mTwr/Y10O/15pE/9a cxb/V30Z/1SGHP9Sjh7/UJUg/06bIf5NoCL5TKYj9UqrJPBJsSXrSLgm5Ue/Jt9GyCfYRdIn0ETb J8pF4SXFReUkwUbpI8FG6SPBRukjwUbpI8FG6SPBRukj/1MiAP9ZIwD/XyYA/2UrAP9oMgH/ajkD /2tBBv9rTAv/aFkQ/2RmFf9ecBn/W3od/1eDIP9VjCL/UpMl/lCaJvlOoCj1TaYp8EusKupKsyzl SLos3kfDLdZGzS7ORdYuxkXfLMBG5Cq8R+kouEfsJ7hH7Ce4R+wnuEfsJ7hH7Ce4R+wn/1UhAP9c IgD/YiUA/2gqAP9tMAH/bzcD/3A/Bv9xSQv/bVYR/2hiFv9jbRz/Xncg/1uAJP9XiSj/VJEq+lKY LfRPny/vTaYx6kutMuRKtDTdSL011UfINsxF0TbDRts0vEfjMbdI6C+ySe0tr0nwK69J8CuvSfAr r0nwK69J8CuvSfAr/1cgAP9eIAD/ZCMA/2snAP9xLgH/dDUD/3Y9Bv93Rgv/c1IS/25eGP9oaR7/ Y3Mk/159Kf9ahi37Vo8x9VOXNO9QnjfpTqY540yuO9xKtz3TSME+ykbLP8FG1j24SOA6sUnnNqxK 7DOpS/Axpkz0L6ZM9C+mTPQvpkz0L6ZM9C+mTPQv/1keAP9gHgD/ZiAA/24lAP90KwH/ejMC/3w7 Bv9+RAv/ek8S/3RbGv9uZSH/aHAo/2J5Lv1dgzT2WYw571WVPelRnUDiTqZD20ywRtJJukjJSMRI v0fPSLVI20StSuQ/p0zqO6JN8DifTvQ1nE/3M5xP9zOcT/cznE/3M5xP9zOcT/cz/1odAP9hHAD/ aR4A/3AiAP94KQD/fzIC/4I6Bf+FQgv/gU0S/3tXG/90YiP/bmws/2d2NPhhfzvxXIlB6leSRuJT nEnaUadL0FCxTMdOvE29TMdNs0vTTalL4EmiTehEnE/uQJhQ8zyWUfc5k1L6NpNS+jaTUvo2k1L6 NpNS+jaTUvo2/1wbAP9jGgD/axwA/3MfAP97JgD/gy8B/4g5Bf+LQAr/iUoS/4NUG/98XiX/dGgv +G1xOe1keUHjYIRG21yPStJZmk3KV6VPxFayUbtUvlKxUspSp0/YUp1P406XUetJklLxQ49T9j+N VPk8i1X8OYtV/DmLVfw5i1X8OYtV/DmLVfw5/10aAP9kGQD/bBkA/3UdAP9/IwD/hy0B/443BP+S Pwn/kkgS/4xSHP+EWyf2fGQy6nJsPN1sdkPRZn9Ix2GITL5eklC3W51SsVmqVKxYuFWmWMxWm1Xb VZJT5VONVe1MiVbzR4dX+EKFWPs/g1n+PINZ/jyDWf48g1n+PINZ/jyDWf48/14YAP9mFwD/bhcA /3gbAP+CIQD/iysB/5Q1A/+aPgj/m0cR/5ZQG/mOWCfrhGEz3HtqPM1yckTBa3pJt2aCTq9ijFGo X5dUol2jVpxcsViYW8RYkVrdWIhY6FeEWe9QgVr1Sn9b+UV9XP1BfFz/Pnxc/z58XP8+fFz/Pnxc /z58XP8+/18XAP9nFQD/cBUA/3oYAP+FHwD/kCkB/5kzA/+hPQf/pUUP/KJOGvCbVifgjl8zz4Jn PMB4bkS0cXVKqmt+T6Jnh1ObZJFWlWGdWJBgqlqLX7xbh2DdW39d6lp8XvBSel/2THhf+kd3YP5D dmD/P3Zg/z92YP8/dmD/P3Zg/z92YP8//2AVAP9oEwD/chMA/30WAP+IHQD/lCYA/58xAv+pOwb/ sEQO9a9MGeimVCbVmF0yxIlkPLV/a0Spd3JKn3F6T5dsglSQaYxXimaYWYVkpVuAZLZcfWTRXHdi 6Vt0YvBVc2P2TnJj+klxZP5EcGT/QXBk/0FwZP9BcGT/QXBk/0FwZP9B/2EUAP9qEgD/dBIA/38U AP+LGgD/mSQA/6UuAf+xOQX6u0IM77xLGOCwUyXMoFsxupFiPKyGaESgfW9Klnd2UI5yf1SHbohX gWuUWntpoVx3aLJddGnKXXBn6F1tZu5WbGf0T2xn+UprZ/1Ga2f/Qmtn/0JrZ/9Ca2f/Qmtn/0Jr Z/9C/2ITAP9rEQD/dRAA/4ISAP+PGAD/niEA/6wsAf+5NwT0xkEK6MdJF9a7USTDqVkxsplgO6ON ZkOYhG1Kjn10T4Z4fFR+dIVYeHGQW3Nvnl1vbq5ebG7FXmlt6F1na+1YZ2vzUWZr+Etma/xHZmr/ Q2Zq/0Nmav9DZmr/Q2Zq/0Nmav9D/2MSAP9sDwD/dw4A/4UQAP+TFQD/ox4A/7MpAPvDNALu0z8I 4dJGFc7ETyO6slcvqqJeOpyVZEKQjGtJhoRyT35/eVR3eoJXcXeNWmx1m11odKteZXTBXmN0515h cOxYYXDyUWFv90xhb/tHYW7/RGFu/0Rhbv9EYW7/RGFu/0Rhbv9E/2QQAP9uDgD/egwA/4gNAP+X EgD/qRoA/7wlAPHPMQHm4TsG2N5EFMXOTiKyvFYuoq1dOZSgY0GJlWlIf41wTneHd1NwgoBXan+K WmZ8mFxie6heX3u9Xl175V1bd+xZXHXyUlx090xdc/tIXXP+RF1z/kRdc/5EXXP+RF1z/kRdc/5E /2UPAP9wDAD/fQoA/4wMAP+dDwD/shYA9ccgAOTeLADb6jkFzehEE7zZTSCqyFUtm7lbN42sYUCC oWhHeJluTXCSdVJqjX5WZImIWWCGlltchKZdWYS7XVeE4lxWf+xZV3zyUld790xYeftIWHj+RVh4 /kVYeP5FWHj+RVh4/kVYeP5F/2cNAP9yCQD6gAcA7ZAJAO2lDAD7vBAA59YYANboKgDN8joEw/FD EbLkTB6i1VMrk8ZaNYa6YD57r2ZFcqdtS2qgdFBkmn1UXpWHV1qSlFlWkKVbVJC6W1KQ4VtQie1Y UYXzUVKD90xTgftIU3/+RFN//kRTf/5EU3/+RFN//kRTf/5E/2kLAP11BwDohAMA3pQGANqqCADb yAoA1eUUAMjyKgC/+joEt/tDD6jwSxyZ41Ioi9ZZMn7KXzt0wGVCa7hsSGSxc01eq3xRWaeHVFWj lFZRoaVYTqC6WE2f3VhLlulVTJDxT02M9ktOivpHT4j9Q0+I/UNPiP1DT4j9Q0+I/UNPiP1D/2wI AOt5AgDfhwMA05YFAM2sBwDMyggAxvEUALn8KQGx/zgEqf9DDZ78ShmP8lElgudYL3beXjdt1GU+ ZcxsRF7GdElZwH1MVLyIT1C4llJNtqdTSrW8VEiv1VNGpeNRR53rTEiY8khJlfZESpL6QkqS+kJK kvpCSpL6QkqS+kJKkvpC+G8EAON8AADTiQIAx5kEAMGvBQC+zAcAtv4UAKv/KAGj/zcFnP9BDJP/ SRaG/1AgefhXKm/xXTJm6mQ5X+RsPlnedUNU2X9GUNSLSUzRmUtJz6pNRsy/TUTBzE1CtttLQ63l R0Sn60RFovFBRZ/1PkWf9T5Fn/U+RZ/1PkWf9T5Fn/U+6HMAANh/AADGjAEAu5wCALOyAwCw0AcA qP8UAJ7/JwGW/zUFj/9ADIb/SBR7/08ccf9WJGj/XSxg/mQyWfprN1T2dDtP8n4+S++LQUjsmkNF 56lEQt22RUHTxEQ/ydBDQL/cQEC45D5Bs+o7Qq7uOUKu7jlCru45Qq7uOUKu7jlCru453XcAAMqD AAC5kAAArqAAAKe2AgCj1QcAmf8VAJH/JgGK/zQFg/8+Cnr/RhFx/00Xaf9WHWL/XiNc/2UoV/9s LFL/dS9O/38zSv+LNUb+ljdD9qA5Qe6sOj/luDo+3MU5PtPQNz/L2jU/xeEzP8DmMj/A5jI/wOYy P8DmMj/A5jI/wOYyz3sAALuGAACslAAAoqQAAJu9AQCV3AYAi/8UAIT/JQF9/zIEd/89CHD/RA1n /0oSYf9UFlz/XhpY/2QdVP9sIFD/dCNN/34lSv+HJ0f/kSlE/5orQv2kLED2rSw/7rcsPubBLD7g yis+2tQqPtTcKT7U3Ck+1NwpPtTcKT7U3Ck+1Nwpv4AAAKyLAACgmAAAl6sAAI/FAACI4wUAfv8U AHf/IwFy/zADbf87Bmb/Qgle/0gMWf9RD1X/WhJT/2IUUP9oF03/cBhK/3kaSP+CG0X/ih1D/5Qe Qf+cH0D/pR8//60gPvm0ID3zux897cIfPenIHz3pyB896cgfPenIHz3pyB896cgfroQAAJ+PAACU ngAAi7UAAILOAAB67AQAcf8TAGz/IgFn/y4CY/85BF3/PwZX/0YIU/9OCVD/VQtN/1wNSv9jDkj/ ag9G/3EQRP95EUL/gxJA/4sTP/+UFD7/nBQ9/6MVPP+qFTv/rxU7/7QVO/y5FTv8uRU7/LkVO/y5 FTv8uRU7/LkVn4kAAJKUAACJqAAAf74AAHbXAABu+gYAZv8TAGH/IQBe/ywBWv82AlT/PANQ/0IE Tf9JBUr/UAZI/1YHRf9bB0P/YghC/2gJQP9vCT7/dgo8/4ALOv+KCzn/kww4/5oMOP+hDDf/pgw3 /6oMN/+uDDf/rgw3/64MN/+uDDf/rgw3/64Mko4AAIieAAB+sgAAdMgAAGvgAABj/wcAXf8TAFj/ HwBV/yoAUf8yAU3/OAFJ/z4CRv9EAkT/SgNC/08DQP9UAz7/WQQ8/14EO/9jBDn/aQU3/3AFNf95 BTT/ggYy/40GMP+XBjD/nAYx/6EGMf+kBjH/pAYx/6QGMf+kBjH/pAYx/6QGiJYAAH2oAABzvAAA atEAAGHnAABZ/wcAVP8TAFH/HgBN/ygASf8uAEX/NABC/zkBQP8/AT7/RAE8/0gBO/9MATn/UAE3 /1QBNf9YAjT/XQIy/2MCMf9pAi//cAIt/3cCLP+AAir/iAIp/48DKP+WAyj/lgMo/5YDKP+WAyj/ lgMo/5YDfaAAAHOyAABpxQAAYdoAAFnuAABS/wgATf8TAEr/HQBF/yQAQf8pAD7/LwA7/zQAOf85 ADj/PQA2/0EANf9EADP/SAAy/0sAMP9OAC//UgAt/1YALP9bASr/YAEp/2YBJ/9sASb/cQEk/3cB JP98AST/fAEk/3wBJP98AST/fAEk/3wB/0YnAP9LKAD/TiwA/1ExAP9SNwH/UT8C/05IA/9NVgX/ TGMH/0pvCP9Jewr/SIUL/0eODP9GlQ3/RZsN/0SfDv9EpA7/Q6gO/0OsDv9CsA//QrUP/EG6D/dB wA/yQMYP7EDMD+dA0g/iP9wP3T/iDtw/4w7cP+MO3D/jDtw/4w7cP+MO/0cmAP9MJwD/UCsA/1Mw AP9UNgH/Uz4C/1FHA/9QVAX/TmIH/01uCf9Legv/SoQM/0iNDf9HlA7/R5oP/0afD/9FoxD/RagQ /0SsEP9DsRH+Q7YR+UK7EfRCwRHvQcgR6EHOEeNA1hHeQN8R2UDlENhA5hDYQOYQ2EDmENhA5hDY QOYQ/0klAP9NJgD/UikA/1UuAP9WNQH/Vj0C/1VFBP9TUgb/UWAI/09sCv9OeAz/TIIO/0uLD/9J kxD/SJkR/0eeEf9HoxL/RqgS/0WsE/9FsRP7RLYU9kO8FPBDwxTqQsoU40LSFN1B3RTYQeMU00Ho E9FB6RPRQekT0UHpE9FB6RPRQekT/0okAP9PJQD/VCgA/1ctAP9ZMwH/WjsC/1lEBP9XTwb/VV4J /1NqDP9Rdg7/T4AQ/02JEf9MkRP/SpgU/0mdFf9IoxX/R6cW/0esFvtGshf2RbgX8US+GOtExhjk Q84Y3ULZGNVC4hjQQucXzELrFspC7RbKQu0WykLtFspC7RbKQu0W/0wjAP9SJAD/ViYA/1orAP9d MQH/XjkC/11BBP9cTAf/WloK/1dnDf9VcxD/Un0S/1CHFf9Ojxb/TZYX/0ucGf9Kohn/Saca+0it G/ZHsxzxRrkc60XBHeREyh3cRNQd00PgHc1D5hzIROsaw0TvGcJE8BnCRPAZwkTwGcJE8BnCRPAZ /04hAP9UIgD/WSQA/14pAP9hLwD/YzcC/2M/BP9jSAf/YVcL/11kD/9ZcBL/VnoW/1SEGP9RjRr/ T5Uc/06bHf9MoR/7S6cg9kmuIfBItCLqR7wi40bFI9tF0CPRRNwkyUTkIsNF6iC+Re4fukbzHblG 9B25RvQduUb0HblG9B25RvQd/1AfAP9WIAD/XCMA/2EnAP9lLQD/aDQC/2g9BP9pRQf/Z1MM/2Nh Ef9fbBX/W3cZ/1eBHP9Uih//UpMh/1CaI/tOoSX1TKcn8EquKOlJtiniR78q2kbLK9BF1izGReEq v0boJ7lH7iW0SPIjsEj2Ia9I9yGvSPchr0j3Ia9I9yGvSPch/1IeAP9ZHgD/XyAA/2UkAP9qKwD/ bTIB/246BP9vQwf/bU8N/2lcEv9laBj/X3Md/1t9If9YhyX/VJAo+1KYK/VPoC3vTagv6EuwMeFJ uTLZR8U0z0bPNcRG3DO7R+Uvs0jsLK5J8iqqSvYnp0v6JaZL+yWmS/slpkv7JaZL+yWmS/sl/1Qd AP9bHQD/YR4A/2chAP9tKAD/cjAB/3Q4A/91QQf/dEwN/29YE/9qZBr/ZW8g/2B6Jv9bhCv9V40v 9lOWM+9QnzboTag54EuxO9dKvTzNScg8wkfUPLdI4TmvSuk1qEvwMaRM9i6gTfornU79KZxO/iic Tv4onE7+KJxO/iicTv4o/1YbAP9dGgD/YxsA/2ofAP9xJQD/dy0B/3o3A/98Pwf/e0kN/3ZUFP9w Xxz/amok/2R0K/lefjHxWYc36lWSO+RTnT3eUqk/1VG1QMtPwEHBTcxCtUvaQqtL5UCjTe06nk70 NplP+TKWUP0vlFH/LJNR/yyTUf8sk1H/LJNR/yyTUf8s/1gZAP9eGAD/ZRkA/20cAP90IQD/eysA /4A1Av+CPQb/g0YN/35RFf93Wx77cGUn8WhuMOhieDbfXoI61luNPs5Yl0HIVqJDwlWuRbxUvUa0 U89GqVDeRp9O6UWYUPE/k1L3OpBT/DaNVP8yi1X/L4tV/y+LVf8vi1X/L4tV/y+LVf8v/1kYAP9g FgD/ZxYA/28ZAP94HgD/fygA/4UyAv+KPAX/jEQM/4dOFfuAWB7vd2Ep429qMdhpdDfNZH08w1+G QLxckEO1WptGr1imSKpXtEmlV8hKnVXhSpRS7EmOVPNDilX5PodX/jmFWP81g1j/MoNY/zGDWP8x g1j/MYNY/zGDWP8x/1oWAP9hFAD/aRQA/3IWAP97HAD/gyUA/4swAf+ROgT/lUIL/ZFMFPGJVR/j f14p1XZnMchvcDi9aXg+tGSBQqxhikWmXpRIoFygSptbrUyWWr5NklreTYpY7kyFWPZHgVr8QH9b /zt9W/84fFz/NHxc/zN8XP8zfFz/M3xc/zN8XP8z/1sUAP9jEgD/axIA/3QTAP9+GQD/hyIA/5At Af+YNwP/nkEJ9Z5KEueSUx7Yh1woyH1kMbt1bDiwb3Q+qGp8Q6BmhUeZY49KlGCaTI5fp06KXrhP hl7RT4Fd8E98XfdKel79Q3hf/z13X/85dmD/NnVg/zV1YP81dWD/NXVg/zV1YP81/1wTAP9kEQD/ bRAA/3cRAP+BFwD/iyAA/5YqAP+gNQL7qD8H7qlHEd6cUR3Nj1kovYNhMbB7aTimdHA+nW94Q5Zr gUePZ4pLiWWWTYRjo09/YrJQfGLJUXhi7VB0YfdMc2L+RXFj/z9xY/87cGP/N3Bj/zZwY/82cGP/ NnBj/zZwY/82/10SAP9lDwD/bw4A/3kPAP+EFAD/kBwA/50nAP+pMgL1szwG57JFENSmTxzDl1cn tIpfMKeBZjidem0+lHR1Q4xwfUiGbYdLgGqSTnton1B2Z65Rc2fEUnBn6VFtZvZObGb8Rmtn/0Fr Z/88a2f/OGtn/zdrZ/83a2f/N2tn/zdrZ/83/14QAP9nDgD/cAwA/3wNAP+IEQD/lRkA/6QjAPuy LwHuvzoE37xDD8yuTRu7n1YmrJJdMJ+IZDeVgGs+jHpyQ4R2ekd+coNLeG+OTnNtm1BvbKtSa2y/ U2ls5VJmavVPZmr7R2Zq/0Jmav89Zmr/OWZq/zhmav84Zmr/OGZq/zhmav84/18PAP9oDAD/cgoA /38KAP+MDgD/mxUA/6sfAPW8KwDnzDUD1cZBDsO2SxqzqFQlpJpbL5iQYjeOiGk9hYFwQ318eEd3 eIFLcXWMTmxzmVBocqhSZXG8U2Jy4VJgcPRQYG/7SGFv/0Jhbv8+YW7/OmFu/zlhbv85YW7/OWFu /zlhbv85/2AOAP9qCgD/dQgA+YIIAPiRDAD/ohEA/bUZAO3JJQDf2DICzM4/DLvAShmrsVIknaRa LZGZYTaHkGc8fopuQnaEdkZwgH5Kan2JTmZ6llBieaVSX3i5Ulx53VJadvRQW3X6SVx0/0Ncc/8+ XHP/Olxz/zlcc/85XHP/OVxz/zlcc/85/2IMAP9sCAD1eAUA6IYEAOKXCADrrAwA9sISAOLaHQDT 4jACw9g9C7PKSBejvFEilq9ZLIqkXzSAm2Y7d5RtQXCOdEVqiXxJZIaHTGCDk09cgaNRWYG2UVeB 2FFVfvRQVnz6SVd6/0NXef8/WHj/O1h4/zpYeP86WHj/Olh4/zpYeP86/2MKAPxuBQDoewIA34gD ANmZBgDYsQkA3NILANLmGgDG6i8BueI8CarVRxWcyFAgjrxXKoOyXjJ5qWQ5cKFrP2mbc0NklntH XpKFS1qOkk1WjKJPU4y1UFGM1U9PifVOUYX7SFKD/0JSgf8+U3//OlN//zlTf/85U3//OVN//zlT f/85/2YIAOxxAQDhfgAA1YsDAM2cBQDLswcAzdQJAMLwGgC38i8Bruw7B6HjRhOT104dhstWJ3vB XS9yuGM2arFqPGSrckBepnpEWaGFSFWekUpRnKFMTpu1TUyb1kxKlfBLS5D4Rk2M/kFOif89Tof/ OU+H/zhPh/84T4f/OE+H/zhPh/84+2kEAOV0AADYgAAAyo0BAMKeAwC+tgUAvdYJALL6GwCq+i8B ovc8BZfwRRCK5k0aft1VJHTTXCxry2MyZMRqOF6+cjxZuXpAVLWFQ1CykkZMr6JHSq62SEiu20hG pOtHRp3zQ0iY+T5JlP47SpH/OEqR/zdKkf83SpH/N0qR/zdKkf8362wAANx3AADMgwAAvpAAALWh AgCxuQMAr9kJAKT/GwCc/y4Blf87BYz9RAyB9kwWdu9TH23oWydl4WItXttqMlnVczdU0Hw6T8yH PUzJlT9IxqVBRsW6QkTB1UJCteNBQqztPUOm9DpEofk3RZ79NEWd/jRFnf40RZ3+NEWd/jRFnf40 4m8AANB7AAC/hgAAspQAAKqlAAClvgMAod0JAJb/GwCP/ywBiP85BYD/Qwt3/0sSbv9TGmb7WiFf 9mEmWfJpK1Ttci9P6nwzS+eINUjkljdF4ac5Qt+8OkDUzDk/yNo4P77lNkC27TRBsfIxQa33L0Gr +C9Bq/gvQav4L0Gr+C9Bq/gv1nMAAMN/AACyigAAp5cAAJ6qAACZxAMAk+MJAIn/GwCC/ysBfP84 BHX/Qglt/0gOZv9RFF//WRla/2IeVf9pIlD/cSVM/3spSP+HK0X8lS1C+qUvQPCxLz7mvi8+3Mwu PtHbLT7J5Cs+w+oqPr3wKD688Sg+vPEoPrzxKD688Sg+vPEoyHgAALSDAACmjgAAm5sAAJOxAACM ywIAhfAKAHz/GgB2/yoBcf82A2z/QAdk/0YKXf9ODlj/WBJU/2AVUf9oGE7/cBpK/3ocR/+GHkT/ lCBC/54iQP+oIz74siM9770jPebIIj3e0yE81uAhPNDmIDzP6CA8z+ggPM/oIDzP6CA8z+gguX0A AKeHAACakgAAkKMAAIi6AACA1AEAd/0KAHD/GQBr/ygBZ/8zAmL/PQRb/0MHVv9LCVL/VAtP/1wN TP9kD0n/bBFH/3USRP+AFEL/jBVA/5YWPv+fFz3/qBg8/7EYO/q6GDvywhc77MkXO+bQFjvk0hY7 5NIWO+TSFjvk0hY75NIWqIIAAJqMAACPmAAAha0AAHzEAABz3gAAa/8JAGX/GABh/yUAXf8wAVj/ OQJT/0AET/9HBUz/TwZJ/1YHRv9dCET/ZQlB/20KP/92Cz3/gQw7/40NOv+XDTn/oA45/6cOOP+v Djj/tQ44/7sOOPvADjj6wg44+sIOOPrCDjj6wg44+sIOmocAAI6QAACEowAAercAAHHOAABo5gAA YP8KAFv/FwBX/yMAVP8uAFD/NQFL/zwCSP9DAkX/SQND/08DQf9VBD//XAQ8/2IFOv9qBTj/cgY2 /3wGNP+JBzL/lgcy/58HMv+lBzL/qwcy/68HMv+0BzL/tQcy/7UHMv+1BzL/tQcy/7UHjosAAIOa AAB5rQAAb8EAAGbYAABe7QAAV/8LAFP/FgBP/yEATP8qAEf/MQBE/zcAQf89AT//QwE9/0gBO/9N ATn/UgI3/1cCNf9dAjP/ZAIx/2wCL/90Ay3/fwMr/4wDKP+ZAyj/ogMq/6YDKv+qAyr/qwMq/6sD Kv+rAyr/qwMq/6sDhJQAAHmlAABvtwAAZssAAF3gAABW+gAAT/8MAEz/FgBI/x8AQ/8mAED/LAA8 /zIAOv83ADj/PAA3/0EANf9FADP/SQAx/00AL/9SAC7/VwEs/10BKv9kASj/awEm/3QBJP9+ASL/ iAEh/5EBH/+bAR//ngEf/54BH/+eAR//ngEf/54Bep4AAHCvAABmwQAAXtQAAFXoAABP/wIASf8M AEX/FQBA/xwAPP8iADj/JwA2/ywANP8xADL/NgAw/zoAL/89AC3/QAAr/0QAKv9IACj/TAAm/1AA Jf9VACP/WwAh/2IAIP9pAB7/bwAd/3YAG/99ABv/fwAb/38AG/9/ABv/fwAb/38A/0EmAP9FKAD/ SCsA/0kwAP9KNgD/ST4B/0dIAv9FVAP/Q2EE/0JtBf9Aegb/P4cG/z+QB/8+lwf/Pp0H/z6hCP8+ pgj/PaoI/z2uCP89sgj/PbcI/zy8CP48wQj4PMcI8TvNCOw71gjmO+AI4jvlB9876AffO+gH3zvo B9876AffO+gH/0ImAP9GJwD/SSoA/0suAP9MNQD/Sz0B/0lGAv9IUgP/Rl8E/0RsBf9DeQb/QYYH /0GPCP9Algj/QJwJ/0ChCf8/pQn/P6oJ/z+uCv8+sgr/PrcK/z69Cvo9wwr0PckK7T3QCuc83Anh POMJ3TzoCdo86wnaPOsJ2jzrCdo86wnaPOsJ/0QkAP9IJQD/SygA/04tAP9PMwD/TjsB/0xEAv9K UAP/SF0F/0dqBv9Gdwf/RIQI/0SNCf9DlQr/QpsK/0KgC/9CpQv/QakM/0GuDP9Aswz/QLgM/D++ DPY/xQzvP8wM6D7VDOE+4QzbPucM1j7rC9M+7wvTPu8L0z7vC9M+7wvTPu8L/0YjAP9KJAD/TiYA /1ArAP9SMQD/UjkB/1BCAv9OTQT/TFsF/0toB/9JdQn/SIEK/0eLC/9Gkwz/RZoN/0WfDv9EpA7/ Q6kO/0OuD/9CtA/8QrkP90HAD/BByBDoQNAQ4UDdD9k/5g/TP+sOzz/wDsw/8w7MP/MOzD/zDsw/ 8w7MP/MO/0ghAP9MIgD/UCUA/1MpAP9WLwD/VjcB/1U/Av9TSQT/UVcG/1BlCf9Ocgv/TH4M/0uI Dv9JkQ//SJgQ/0eeEf9GpBL/RqkS/0WvE/xEtRP2Q7sU8EPDFOhCzBTgQtgU1kHjFM9B6xPKQfAS xkH0EcNC9xHDQvcRw0L3EcNC9xHDQvcR/0ogAP9PIAD/UyIA/1cnAP9aLQD/WzQB/1s9Av9ZRgT/ V1MH/1ViCv9Tbg3/UXsP/0+FEf9NjhP/TJYU/0qdFv9Joxf/SKkX/EevGPZGthnvRb4Z6ETHGt9D 0hrUQuEazEPpGcVD7xfARPQWvET4FblE+xS5RPsUuUT7FLlE+xS5RPsU/0weAP9RHgD/ViAA/1sk AP9eKgD/YDEB/2A6Av9gQwT/Xk8I/1xeC/9Yag//VXYS/1OBFf9Rixf/T5QZ/02cG/9Loxz7Sqke 9UiwH+9HuCDnRsIh30XNIdNE3CLJROUgwUXtHrtG8xy2Rvgaskb8Ga9H/xivR/8Yr0f/GK9H/xiv R/8Y/04cAP9UHAD/WR4A/14iAP9jJwD/ZS8A/2c3Av9mQAT/ZksI/2JZDf9eZhH/WnEW/1d8Gf9V iBz/UpIf/0+aIftNoiT1S6kl7kqyJ+ZIuyjdR8cq0kXUKsdF4Sm9RuomtUfyI7BI+CGrSfweqEn/ HaZK/xymSv8cpkr/HKZK/xymSv8c/1AbAP9WGgD/XBsA/2EeAP9mJAD/aywA/201Av9tPgT/bUcI /2lVDv9lYRP/YGwZ/1t3Hv9XgSL9VIwm+VGWKfRPoCzuTKov5Uu0MNxKwDDRScwxxUjaMbpH5jCx Se4sqkr2KKVL+yWhTP8ink3/IJxN/x+cTf8fnE3/H5xN/x+cTf8f/1IZAP9YGAD/XhgA/2QbAP9q IAD/bykA/3MzAf9zPAT/dEQI/3FQDv9rXBX/ZWcc+l9xIvNaeijsVoQs5VSPL+BSmjHaUaYz1FCz Nc5PwjbETtA2uEzfNq1K6jalTPMxn035LZpP/ymXT/8mlFD/JJNQ/yKTUP8ik1D/IpNQ/yKTUP8i /1QXAP9aFQD/YBUA/2YYAP9tHQD/cyYA/3gwAf96OgP/e0II/3lNDv5yWBb0amIe62RrJuJfdivZ XIAv0VmKMspWlDXEVZ43vlOqOblSuDqzUss7q1DjO6FO7juaT/Y2lFH9MZBS/y2OU/8pi1T/J4pU /yWKVP8lilT/JYpU/yWKVP8l/1UVAP9bEwD/YhMA/2kUAP9wGQD/dyMA/30tAP+BNwL/g0AH/YFK DvN5VBfncl4f3GtoJtBmcSzHYXoxv12DNbhbjTiyWJc6rFejPKdWsD2iVcA+nVXfP5ZT8T6PU/k6 i1X/NYdW/zCFV/8sg1j/KYJY/yeCWP8nglj/J4JY/yeCWP8n/1YUAP9dEQD/ZBAA/2sRAP9zFgD/ ex8A/4IpAP+INAL/iz4F9IpHDOiBURbaeVsfzXJkJ8FrbS24ZnUysGJ+NqlfhzmjXZE8nlucPplZ qUCUWblBkFnQQotY8EGFWPw+gln/OH9a/zJ9W/8ufFv/K3tc/yl7XP8pe1z/KXtc/yl7XP8p/1cS AP9eDwD/Zg4A/24PAP92EwD/fxwA/4cmAP+PMQH4lDsE7JNFC92KTxbOgFgfwHhhJ7VxaS2sbHEz pGd5N51kgjuXYYw+kl+XQI1dpEKIXLNDhFzIRIBc60R8XP1Bel7/Onhe/zV2X/8wdV//LXVf/yt1 X/8rdV//K3Vf/yt1X/8r/1gRAP9gDgD/aAwA/3ENAP96EQD/gxgA/40iAP2WLQDxnzgD45xCCtKS TRXDh1Yetn5eJqt3Zi2icW4zmmx2N5NpfjuNZog+h2SSQYJin0N+Ya5FemDCRXdg5UV0Yf1DcmL/ PHFi/zZwY/8yb2P/L29j/yxvY/8sb2P/LG9j/yxvY/8s/1kPAP9hDAD/aQoA/3MKAP99DgD/hxQA /5MdAPafKQDqqjQC2qVACcmZSxS6jlQdrYRcJqJ8ZC2Zd2szkXJzN4puezuEa4Q/f2iPQnpmm0R1 ZapGcmW9Rm9l4EZsZftFbGb/Pmtn/zhrZ/8zamf/MGpn/y1qZ/8tamf/LWpn/y1qZ/8t/1sOAP9i CgD/bAgA/3YHAP2BCwD/jBAA/5oYAPCoJADitDAB0a0+CMGhSROylVIdpYtaJZuDYiyRfGkyiXdw N4NzeDt8cIE/d26MQnJsmERuaqdGa2q5R2hq20dlafhGZWr/P2Vr/zlla/80ZWv/MWVr/y5la/8u ZWv/LmVr/y5la/8u/1wMAP9kCAD8bgUA8XkEAOuFCADzkw0A+aITAOi0HQDZvS0ByLU8B7mpRxKq nVAbnpJYJJOKYCuKg2cygn5uN3t6djt2dn4/cHOJQmxxlURncKRGZG+2R2Jv00dfb/ZGYG//QGBv /zlgb/81YG//MWFu/y9hbv8vYW7/L2Fu/y9hbv8v/10LAP9mBgDwcAIA5nwCAN+IBgDemQkA6q4N AN/DFQDPxSoAwL06BrGyRhCjpk8al5tXI42SXiqDi2UxfIVsNnWBdDpvfXw+anqGQWV4k0RhdqJG XnWzR1x2zkdadfNGWnX/QFt0/zpbdP81XHP/Mlxz/y9cc/8vXHP/L1xz/y9cc/8v/14IAPloAwDo cwAA3n4CANWKBQDTmwcA1bQKANXNEQDFzSgAt8Y4Bam8RA+csE0ZkKZVIYadXSl9lWMvdY9qNW+K cjlphno9ZIOEQF+AkENcfp9FWH2xRlZ9y0ZUffJFVXz/QFZ7/zpXev81V3n/Mlh4/y9YeP8vWHj/ L1h4/y9YeP8v/2AHAO1qAADidQAA1YABAMyNAwDIngYAyLcHAMnUDQC61SQArtA2BKHHQg2VvEwX ibJUH3+pWyd2oWItb5tpM2mWcDdjkXk7Xo2CPlqLj0FWiZ5DU4ewRFGHyURPhvFDUIX/P1GD/zlS gf81Un//MVN+/y9Tfv8vU37/L1N+/y9Tfv8v/GMDAOZtAADaeAAAy4MAAMGQAgC8oQQAu7oFALzc CwCu3iEApNw0A5jTQAuMykoUgcBSHXi4WiRwsGEqaapoMGOlbzRdoHg4WZyCO1WZjj5Rlp1ATpWv QUyVyUFKk/FASpD/PUyM/zhNif80Tof/ME6G/y5Ohv8uTob/Lk6G/y5Ohv8u7mUAAN9wAADQewAA wYUAALeTAACxpQIArr4EAKzeCwCh6CAAmecyAo/iPgiE2kgRetFRGXHJWCFpwmAnY7xnLF23bzBY snc0VK6CN1CrjjpMqJ08SaewPUemyz1GpPI8Rpz6OUeX/zVIlP8xSZH/LkmP/yxJj/8sSY//LEmP /yxJj/8s5mgAANRzAADEfgAAtokAAKyWAAClqAAAocIFAJ3lDACT8yAAjfMyAYXwPQZ76kcNcuRP FWrdVxxj118iXdFnJ1jMbytTyHguT8SDMUvBkDRIvp82Rb2yN0O8zzdCtOs2Qaz1NEOl/DBDof8t RJ3/K0Wb/ylFm/8pRZv/KUWb/ylFm/8p3GwAAMl3AAC4gQAAq4wAAKGaAACbrgAAlcgFAI/vDQCG /yAAgP8xAXr+PQRy+0YJavZOEGPxVhZd7V4cWOhmIFPlbyRP4XgnS96EKkfbkixE2KMuQta2L0DU 1C8/x+MuPr3tLD+19SpAsPsoQKz/JkCp/yVAqf8lQKn/JUCp/yVAqf8lz3AAAL17AACshQAAoJAA AJefAACQtQAAic4FAIH5DgB6/yAAdP8vAW//OwNp/0QHYv9MC1z/VRBX/10UU/5lGE77bRxL+Hce R/aCIUT0kCNB8aAkP/CyJT3oxCU93NQkPdDkIz3H7SI9wfMhPbz4ID25+x89ufsfPbn7Hz25+x89 ufsfwnUAAK9/AACgiQAAlZQAAIynAACEvQAAfNYEAHT/DgBu/x8Aav8tAWX/OQJg/0EFWf9IB1X/ UQpR/1oNTv9jEEv/axJI/3QURf9/FkL/jRg//5wZPf+sGjz7txo78MMaO+XPGTvc4Rk71OkYO8/u GDrL8hc6y/IXOsvyFzrL8hc6y/IXs3oAAKGDAACUjQAAi5wAAIKwAAB5xwAAceACAGn/DgBk/x0A YP8rAFz/NgFX/z4DUv9FBE//TQZL/1UHSP9dCUb/ZgpD/28LQf95DT7/hg48/5UPOv+jEDn/rRA5 /7YQOPrAEDjxyQ856tIPOOXfDzjg5g844OYPOODmDzjg5g844OYPo38AAJWIAACKlAAAgKcAAHe7 AABu0gAAZeoAAF7/DgBa/xsAVv8nAFP/MgBO/zkBSv9AAkf/SANF/08DQv9WBD//XgU9/2YFOv9w Bjj/ewc2/4gHNP+ZCDP/owgz/6sJM/+zCTT/uwk0/8EINPnHCDT0zAg09MwINPTMCDT0zAg09MwI loQAAImNAACAngAAdbEAAGzGAABj3AAAW/YAAFX/DQBR/xkATf8kAEn/LABF/zQAQv87AUD/QgE9 /0gBO/9OATj/VAI2/1sCNP9jAjH/bAMv/3gDLf+GAyr/lgMq/6IEK/+pBCz/rwQt/7UELf+5BC3/ vQQt/70ELf+9BC3/vQQt/70EiogAAH+XAAB1qQAAa7wAAGLQAABa5QAAU/8DAE3/DgBJ/xgARf8h AEH/KAA9/y4AO/81ADn/OwA3/0AANP9GADL/SwAw/1AALv9WASz/XQEq/2UBJ/9vASX/ewEj/4oB IP+aASD/pgEi/6sBIv+uASP/sQEj/7EBI/+xASP/sQEj/7EBgJIAAHaiAABsswAAYsYAAFraAABS 7AAAS/8DAEb/DgBC/xcAPf8dADn/IwA2/ykANP8vADL/NAAw/zkALv89ACz/QQAq/0YAKP9KACb/ UAAk/1YAIv9dACD/ZgAe/28AG/97ABn/hwAX/5MAFv+dABb/pQAW/6UAFv+lABb/pQAW/6UAdpwA AGysAABjvQAAWs8AAFLiAABL8gAARP8FAED/DgA7/xQAN/8aADP/IAAw/yQALf8pACv/LgAq/zIA KP81ACb/OQAk/zwAI/9AACH/RQAf/0kAHf9PABv/VQAZ/1wAF/9kABX/bAAU/3QAEv98ABL/ggAS /4IAEv+CABL/ggAS/4IA/zwmAP8/JwD/QSoA/0IvAP9CNQD/QT0A/0BHAf89UgH/O14C/zlrAv83 eAP/NoUD/zWSA/81mQP/NZ8E/zWjBP81qAT/NqwE/zawBP82tAT/NrgE/za9BP82wwT9NsgD9jXP A/E13APrNeQD5jXpA+I17QPhNe4D4TXuA+E17gPhNe4D/z4lAP9BJgD/QykA/0QtAP9ENAD/QzwA /0JGAf9AUQH/Pl0C/ztqA/86dwP/OIQE/zeRBP84mAT/OJ4E/zijBf84pwX/OKwF/ziwBf84tAX/ OLkF/zi/Bf84xQX5OMoF8jfTBOw34ATlN+cE4DfsBN038ATcN/EE3DfxBNw38QTcN/EE/z8kAP9D JAD/RScA/0crAP9HMgD/RjoA/0VDAf9DTgL/QVoC/z9oA/89dQT/PIIF/zuPBf87lwX/O50G/zui Bv87pwb/O6sG/zuwBv86tQb/OroG/zrABvs6xwbzOs0G7TnaBuU55AbeOesG2jnwBtU58wXVOfQF 1Tn0BdU59AXVOfQF/0EiAP9FIwD/RyUA/0kpAP9KLwD/SjcA/0hAAf9HSwL/RFgD/0JlBP9BcwX/ QIAG/z+MB/8/lQf/PpwH/z6hCP8+pgj/PqsI/z2wCf89tQn/PbsJ/D3CCfU8yQnsPNIJ5DzhCd08 6QjWO+8I0Tv0CM07+AfNO/kHzTv5B807+QfNO/kH/0MgAP9HIQD/SiMA/00nAP9OLQD/TzQA/009 Af9LRwL/SVQD/0djBf9Gbwb/RXwI/0OJCf9Dkwn/QpoK/0KgC/9Bpgv/QasL/0CxDP9Atwz8QL0M 9T/FDOw/zgzkPtwM2z7nDNI+7wzMPvULyD75C8Q+/QrDPv0Kwz79CsM+/QrDPv0K/0YeAP9KHgD/ TSAA/1AkAP9SKgD/UzEA/1M6Af9QQwL/TlAE/01eBv9Lawj/SncK/0iDC/9HkAz/RpgN/0afDv9F pQ//RKsQ/0OxEPxDuBH1QsAR7UHJEeNB1RLYQOQSz0DtEchB9BDCQfoPvkH+DrpB/w25Qf8NuUH/ DblB/w25Qf8N/0gcAP9MHAD/UB4A/1QhAP9XJwD/WC4A/1g3Af9XQAL/VUsE/1NaB/9RZwr/T3IM /01+Dv9MihD/SpYS/0meE/9IpRT/R6sV+0ayFvRFuhfsRMQY4kPPGNZC4BjMQuoXw0PyFrxD+RS3 RP4Ts0T/ErBE/xGvRP8Qr0T/EK9E/xCvRP8Q/0obAP9PGgD/VBsA/1geAP9bIwD/XSsA/180Af9e PgL/XEcF/1pVCP9XYgz/VG0P/1J4Ev9PhBX/To8X/0yZGf9Loxv7Sawc9Ei0HetGvR/iRckg1UTa IMlE5h/ARe8dt0b3G7FG/RmsR/8XqEf/FaVI/xSlSP8UpUj/FKVI/xSlSP8U/0wZAP9SGAD/VhgA /1sbAP9fIAD/YygA/2UxAP9lOwL/Y0QF/2FRCf9eXQ3/WmkS/1ZzFv1TfRr3UIgd806SIO5MnCLq S6cj5kqzJeFKwiXVSdEmyEjgJrxG6yazSPQjrEn7IKZK/x2hSv8ankv/GZxL/xebS/8Xm0v/F5tL /xebS/8X/04XAP9UFQD/WBUA/10XAP9iHAD/ZyQA/2ovAP9rOAL/a0EE/2hNCf9kWQ76X2MU81pt GuxWdx7lVIEi31KMJNpQlybTT6Iozk6tKclNuirETc0rukzkK69K7yunS/gooEz/JJtN/yGXTv8e lE//HJJP/xqST/8akk//GpJP/xqST/8a/1AVAP9VEwD/WxIA/2ATAP9mGAD/ayEA/28rAP9yNQH/ cj4E/3BJCfZrVA/sZV8W42BpHNpccyHSWXwkylaGJ8RUkCq/U5osuVGlLbRQsi+vUMIwqlDfMKNP 8zCbT/wtlVD/KZFR/ySOUv8hi1P/H4lT/x2JU/8ciVP/HIlT/xyJU/8c/1ITAP9XEAD/XQ8A/2MQ AP9pFAD/bx0A/3QnAP94MQH/ejsD9HhGCOlyUQ/ebFsX0mdlHclibiLBXncmuVuAKrNZiSytV5Mv qFWeMaRUqjKfU7kzm1PPNJVS7jSQU/8yi1T/LIdV/yiFVv8kg1f/IYFX/x+BV/8egVf/HoFX/x6B V/8e/1MRAP9YDgD/Xw0A/2UNAP9sEQD/chkA/3giAP9+LQD2gTgC6oBDB915Tg/Qc1gXxGxhHbpn aiOyY3Inq2B7K6Vdgy6gW40xm1mYM5ZYpDWRV7I2jVfGN4lW5zeEVv02gln/L39a/yp9Wv8me1v/ I3pb/yF6W/8gelv/IHpb/yB6W/8g/1QQAP9aDAD/YAoA/2gKAP9vDgD/dhQA/30eAPqEKADtijQB 4IhABtGASw7EeVUWuHJeHa9tZiOnaG4ooGV2LJpify+UX4gyj12TNIpcnzaGW604glq/OX5a4Tl6 Wvk4el3/Mnde/yx2Xv8odV//JXRf/yJzX/8ic1//InNf/yJzX/8i/1UOAP9bCgD/YwgA/2sIAP9z CwD/ehEA/4IYAPKLIwDlky8A1o89BceHSQ26f1IWrnhbHaVyYyOdbWsolmpzLJBmezCKZIQzhWKP NYBgmzd8X6k5eF66OnVf2DpxXvY6cmL/NHFi/y5wYv8pb2P/Jm5j/yNuY/8jbmP/I25j/yNuY/8j /1YNAP9dCAD/ZQYA+G0EAPJ2CAD4fw0A/IgTAOqTHQDcmywAzJY7Bb6NRw2xhVAVpn5ZHJ14YSKV c2gojm9wLIhreDCCaYEzfWaLNnhllzh0Y6U6cWO2O21j0DtqYvM7a2X/NWtm/y9qZ/8raWb/J2lm /yRpZv8kaWb/JGlm/yRpZv8k/1cLAP9eBwD3ZwMA63ABAON5BQDihAkA8JAOAOKdFgDSoikAxJ05 BLaURQypi04Un4RXG5V9XiKNeGYnhnRtLIBxdS97bn4zdmuINnFplDltaKI6amezPGdnzDxkZ/E7 ZGn/N2Vr/zBla/8sZGr/KGRq/yVkav8lZGr/JWRq/yVkav8l/1gJAP9gBADtaQAA5HIBANx7BADY hwcA2pcKANmnEQDIqCYAu6Q3A66cQwuik00TmItVGo6EXSGGfmQmf3prK3l2cy90c3szb3GGNmtv kThnbZ87Y2ywPGFtyDxebO48Xm7/N2Bv/zFgb/8sYG//KWBu/yZgbv8lYG7/JWBu/yVgbv8l/1kH APViAQDnawAA3XQAANJ+AwDOiQYAzpoIAM6uDgC/riQAs6w1A6ekQQmbm0sSkZJTGYiLWyCAhmIm eYFpKnN9cS9uenkyaXeDNWV1jzhhc506XXOuO1tyxDxZcus7WXP/N1p1/zFbdP8tW3P/KVtz/yZb cv8mW3L/Jlty/yZbcv8m/1sFAO1kAADhbQAA1HYAAMqAAgDEjAQAw54GAMO0DAC1tSEAqrQzAp+t PwiUpEkQipxSGIGVWR55j2Akc4poKW2Gby1ogncxY3+BNF99jDdbe5s5WHqrOlV6wjtTeek6U3r/ N1V7/zFWev8sVnn/KVd4/yZXeP8mV3j/Jld4/yZXeP8m+10CAOdmAADacAAAy3kAAMCDAAC6jwIA t6EDALe7CACrvh0Aor0wAZe3PQeNsEcOg6hQFnqgWB1zml8ibZVmJ2eQbSxijHYvXol/MlmGijVW hJk3U4OqOVCDwDlOguc5ToL/NlCD/zBRgf8sUX//KVJ+/yZSfv8lUn7/JVJ+/yVSfv8l718AAOBp AADRcgAAwnwAALeGAACwkwAArKUBAKzDBQChxxgAmMgsAY/DOwWFvEUMfLVOE3SuVhptqF0gZ6Nk JWGebCldmnQsWJZ+MFSTijJRkZg1TpCpNkuPvzZKjuc2SY3/NEuM/y9Mif8rTIf/KE2F/yVNhf8l TYX/JU2F/yVNhf8l6GIAANhsAADHdQAAuH8AAK2JAACmlwAAoaoAAJ3EBQCW0xMAjtQoAIbROAN9 y0MJdMVMEG2+VBdmuVwcYbNjIVyvayVXq3QpU6d9LE+kiS5MopgwSaCpMkefwDJFnugyRJz/MEaX /yxHk/8oR5H/JkiO/yNIjv8jSI7/I0iO/yNIjv8j4GUAAM1vAAC8eQAAroIAAKSNAACcmwAAlq8A AJDIBgCK4Q8AguEkAHzgNQJ03UEGbddKDGbRUxJgzFsYW8djHFbDayBSv3MjTrx+Jku5iilHtpkr RbSqLEKzwixBseosQKz8KkGl/ydCoP8kQ53/IkOa/yFDmf8gQ5n/IEOZ/yBDmf8g1WkAAMNzAACx fAAApIYAAJqRAACSoQAAi7YBAITOBgB87xEAdu8jAHHwMwBr7j8DZepJCF/mUQ1a4lkSVd5iFlHb axlN13QcStN/H0bRjCFDzpsjQcytJD/LxSU9x+skPb31Iz61/SE+r/8fPqv/Hj+n/xw/p/8cP6f/ HD+n/xw/p/8cyW0AALZ3AAClgAAAmYoAAJCWAACIqAAAgL0AAHjVBgBw/REAa/0jAGf+MQBj/j0C XfxGBFn6TwhU91gLUPVgD0zyaRJJ73IVRu19F0PqihlA6JoaPeasGzzkxBw72+AbO9DsGjvH9Rk7 wPwYO7v/GDu3/xc7tv8XO7b/Fzu2/xc7tv8XvHIAAKl8AACahAAAj44AAIaeAAB9sQAAdcYAAG3d BQBm/xIAYv8iAF7/LwBa/zoBVf9CA1H/SwRO/1QGSv9dCEf/ZgpF/28MQv95Dj//hg89/5UROv6m ETn8uxI58MgROeXbEDja6RE40vEQOM33EDjI+xA4yPwQOMj8EDjI/BA4yPwQrngAAJyAAACPiQAA hZYAAHyoAABzuwAAatEAAGLnBABc/xIAWP8gAFX/LABS/zYATf8+AUr/RgJH/08DRP9XBEL/XwU/ /2gGPf9yBzr/fgg4/40INv+dCTT/sAk0/7sKNPrFCTXw0gk16eIINOHrCDTc8Qk02/IJNNvyCTTb 8gk02/IJnn0AAJCFAACFjwAAe6AAAHKzAABoxwAAYN0AAFn5AwBT/xEAT/8dAEz/KABI/zEARf84 AEL/QAFA/0gBPf9PATr/VgI4/14CNv9oAzP/cwMx/4ADLv+QBC3/ogQs/68ELf+4BC7/wAQv/cgE L/fRAy/y3gMv8eADL/HgAy/x4AMv8eADkYIAAIWKAAB7mgAAcasAAGi/AABf0wAAV+gAAFD/AwBK /w4ARv8ZAEL/IgA+/yoAO/8xADj/OAA2/z8ANP9GADH/TAAv/1MALf9bASr/ZQEo/3ABJv9+ASP/ jwEh/6IBIv+tAST/tAEm/7oBJ/+/ASf/xQEo/8YBKP/GASj/xgEo/8YBhoYAAHyUAABxpQAAaLYA AF/JAABW3QAATu8AAEf/BABD/w8AP/8XADr/HgA2/yUAM/8rADH/MQAv/zcALP88ACr/QgAo/0cA Jf9OACP/VQAh/14AH/9pABz/dQAZ/4YAFv+YABb/qgAZ/7AAGv+0ABz/twAc/7gAHP+4ABz/uAAc /7gAfJAAAHKfAABorwAAX8EAAFfTAABP5gAAR/oAAEH/BgA9/w8AOP8VADP/GwAw/yAALf8mACr/ KwAo/zAAJv80ACT/OQAi/z0AIP9CAB7/SAAb/04AGf9WABf/XwAV/2oAEv93ABD/hQAP/5QADv+f AA7/qQAO/6oADv+qAA7/qgAO/6oAc5oAAGmpAABguQAAWMoAAFDcAABI7QAAQf8AADv/BwA2/w0A Mv8TAC3/GAAq/x0AJ/8hACX/JgAj/yoAIf8tAB//MQAd/zUAG/85ABn/PQAX/0IAFf9IABP/TwAR /1YAEP9fAA7/aQAM/3IAC/97AAn/hQAJ/4cACf+HAAn/hwAJ/4cA/zgmAP86JgD/OykA/zsuAP86 NAD/OT0A/zhGAP81UQD/MlwB/zBpAf8udQH/LIIB/yqPAf8pmgH/KqEB/yqmAf8rqgH/LK4B/yyy Af8stgH/LboB/y2/Af8txAH/LcoB/C3TAfYt4AHvLecB6i3tAeYt8QHkLfMB5C3zAeQt8wHkLfMB /zkkAP87JQD/PScA/z0sAP88MgD/PDsA/zpEAP84TwD/NVoB/zJnAf8wdAH/L4EB/y2OAv8smwL/ LaAC/y6lAv8uqQL/L64C/y+yAv8vtgL/MLsC/zDAAv8wxgL+MMwC+DDZAfAw5AHpMOsB5DDwAeAv 9AHeL/YB3i/2Ad4v9gHeL/YB/zsjAP89IwD/PyYA/0AqAP8/MAD/PjgA/z1BAP87TAH/OFgB/zZl Af80cgL/MoAC/zGOAv8wmQL/MZ8C/zGkA/8yqQP/Mq0D/zKyA/8ztwP/M7wD/zPCA/8zyAP4M9AC 8TPfAukz6ALiM+8C3TP0Atky+ALWMvoC1jL6AtYy+gLWMvoC/z0hAP9AIQD/QiMA/0MnAP9DLQD/ QjUA/0E+AP8/SQH/PFUB/zpiAv84bwL/N30D/zaKA/81lgP/NZ4E/zakBP82qQT/Nq0E/zayBP82 uAT/Nr0E/zfEBPk3ywTxNtgE6DblBOA27QTZNvQE0zb5A9A2/APNNv4DzTb+A802/gPNNv4D/z8f AP9CHwD/RCEA/0YkAP9HKgD/RjIA/0U6AP9DRQH/QVEC/z9eAv8+awP/PHgE/zyEBP87kQX/OpsF /zqiBv86qAb/Oq0G/zqzBv86uQb/OsAG+jrHBvE60AboOuAG3jrrBtU68wbPOfkGyjn+BcY5/wXE Of8FxDn/BcQ5/wXEOf8F/0EdAP9FHQD/SB4A/0ohAP9LJwD/Sy4A/0o3AP9IQQH/R00C/0VaA/9D ZwT/QnMF/0F/Bv9Aiwf/QJYI/z+gCP8/qAn/P64J/z60Cv8+uwr6PsMK8T3LCuc92grcPegK0j3x Cso9+AnEPf8Jvz3/CLs9/wi5Pf8HuT3/B7k9/we5Pf8H/0QbAP9IGgD/SxsA/00eAP9PIwD/UCoA /1AzAP9PPgH/TEgC/0tWBP9JYwX/SG4H/0d6Cf9GhQr/RJAL/0SaDP9DpA3/Qq0O/0K1DvpBvQ/x QccP5kDSENpA5BDPQO4PxkD3Dr5A/g24Qf8MtEH/C7BB/wuvQf8Kr0H/Cq9B/wqvQf8K/0YYAP9K GAD/ThgA/1EbAP9THwD/VSYA/1YwAP9WOgH/U0QC/1JRBP9QXgf/TmoJ/0x0C/9Kfw7/SYoP/keU EftGnhL4RagU9EWzFfBEwBbmQ8wW2UPfFsxC6xbCQ/QVuUP8E7JE/xGtRP8QqUX/D6ZF/w6kRf8N pEX/DaRF/w2kRf8N/0gWAP9NFQD/URUA/1QXAP9XHAD/WiMA/1wtAP9cNwH/W0EC/1lNBf9WWQj/ U2UL+1FvD/ZOeRLxTIMV7EqNF+hJmBjjSKIZ30iuGtpHvBvUR88cykflHL9G8By1RvkarUf/GKdI /xaiSP8Tnkn/EptJ/xGaSf8Qmkn/EJpJ/xCaSf8Q/0oUAP9PEgD/UxIA/1cTAP9bFwD/XiAA/2Ep AP9iNAD/Yj0C/2BJBfpdVQnyWWAN61ZqEuRTdBXeUX4Y2E+IGtFOkhzNTJweyEunH8NLsyC+SsMh uErfIbFK9CGoSf0goUv/HJxM/xmXTP8XlE3/FZFN/xOQTf8SkE3/EpBN/xKQTf8S/0wSAP9READ/ VQ4A/1kPAP9eEwD/YhsA/2YlAP9pMAD/aToB9mdFBOxkUQnjX1sO2lxlE9FYbxfKVngaw1OBHb5S ix+5UJUhtE+fI69OqySrTrklpk3OJqFN7CabTf8llk//IZFQ/x2NUf8ailH/GIhR/xaHUf8Vh1H/ FYdR/xWHUf8V/04QAP9SDQD/VwwA/1wMAP9hEAD/ZhcA/2ogAP9uKwD1cDYB6m9BA99rTQnTZlcP yWFhFMBeahm5W3Mcs1h7H61WhCKoVI4kpFOZJp9SpCebUbIol1HEKZJR5CmNUPopi1P/JIdU/yCE Vf8cglX/GoBV/xh/Vv8Xf1b/F39W/xd/Vv8X/08OAP9UCwD/WQkA/18IAP9lDAD/ahIA/28aAPhz JQDqdzEA3nY+A9FxSQjFbFQPu2ddFbNjZhmsYG4dpl13IaBafyObWIgml1eTKJJWnyqOVawrilS9 LIZU2yyBVPUsgFb/J39Z/yJ8Wf8feln/HHla/xp4Wv8YeFr/GHha/xh4Wv8Y/1ANAP9VCQD/WwYA /2IFAPxoCQD/bg4A/3MVAO55HwDgfSwA0nw7AsV3Rwi6cVEOsGxaFKhoYxmhZGsem2FzIZVfeySQ XYQnjFuOKYdamiuDWactf1i3LnxYzy54WPEudlr/Kndd/yV1Xf8gc17/HXJe/xtyXv8acl7/GnJe /xpyXv8a/1ELAP9XBgD9XQMA8WQBAOhrBQDrcgoA+HkPAOV/FwDVgygAyIE4Art9RAewd08Op3JX FJ9tYBmYaWcekWZvIoxkdyWHYYAogl+KKn5elSx6XaMudlyzL3NcyTBvXO0vbl3/LG9h/yZuYv8i bWL/Hm1i/xxsYv8bbGL/G2xi/xtsYv8b/1IJAP9YBADwXwAA6WcAAOBuAwDddgcA3n4KANyGEgDL iCUAvoc2ArOCQgeofUwNn3dVFJdyXRmQbmUdiWtsIYRodCV/Zn0oemSGK3Ziki1yYZ8vb2CvMGxg xTFpYOkwZ2H/LWll/ydpZv8jaGb/H2dm/x1nZf8cZ2X/HGdl/xxnZf8c/1MHAPtaAgDrYQAA4mkA ANhxAgDSeAUA04IIANGMDwDBjSMAto00AauIQAahgkoMl31TE494WxiIdGIdgnBqIX1tcSR4a3oo c2mEK29njy1rZp0vaGWsMWVlwTFiZeYxYWX/L2Np/yhjav8kY2r/IGNp/x5iaf8cYmn/HGJp/xxi af8c/1UGAPFcAADmZAAA22sAAM9zAQDJewQAyIUGAMeRDAC4kyAArpMxAaOPPgWaiUgLkYNREol+ WRiCeWAcfHZoIXZzbyRycHcobW6BKmlsjS1la5ovYmqqMV9pvjFdauMxW2r9L11t/yleb/8kXm7/ IV5t/x5ebf8dXm3/HV5t/x1ebf8d/1YDAOxeAADhZgAA0m4AAMd1AADAfgIAvogEAL2XCgCvmR0A ppovAZyWPASTkEcKiopPEYKEVxd7gF8bdnxmIHB5bSRsdnUnZ3R/KmNyii1gcJgvXG+nMFpvuzFY b98xVm/7L1hy/ylZdP8kWXP/IVly/x9Zcf8dWXH/HVlx/x1Zcf8d+FcAAOdgAADaaAAAynAAAL94 AAC3gQEAs4wCALKdBgCnoBkAnqEsAJWeOgOMmEUJhJJOD3yNVRV1iF0acIRkH2uBbCJmfnQmYnt9 KV55iCxaeJUuV3alL1R2uTBTdtwwUXX5L1N4/ylUef8kVXj/IVV3/x9Vdv8dVXb/HVV2/x1Vdv8d 71oAAOFiAADSawAAwnMAALZ7AACvhAAAqpAAAKilAgCdqBYAlaopAI2oOAKFo0MIfZ1MDnaXVBNv klsYao5iHWWKaiFgh3IkXIR7J1mChipVgJMsUn+kLk9+ty5Of9kuTH34LU5//yhPgP8kUH//IFB9 /x5QfP8dUHz/HVB8/x1QfP8d6VwAANplAADJbQAAuXYAAK5+AACmhwAAoJQAAJ6tAACUshIAjLMl AIWzNQJ9r0AGdqpKC2+kUhFpn1kWZJthGl+XaB5bk3AhV5B5JFOOhCdQjJIpTYqjK0qJtixJitYs R4j4KkmJ/yZKif8iS4b/H0uF/x1LhP8cS4T/HEuE/xxLhP8c4l8AANBoAAC/cQAAsHkAAKWBAACd iwAAlpkAAJGuAACJvg0Agb8gAHvAMQF1vT0EbrhHCWizUA5jr1gTXqtfF1qnZxpWo28eUqB5IU6d hCNLm5IlSJmiJ0aYtihEmNgnQ5b4JkSV/yNFk/8gRpD/HUaO/xxGjP8aRoz/GkaM/xpGjP8a2WIA AMdrAAC1dAAApnwAAJyFAACTkAAAjJ8AAIWzAQB+yggAdswaAHHOLABszDoCZ8lFBmLFTgpdwVYO WL1eElS6ZhZRtm4ZTbN4HEqxhB5GrpIgRKyjIUGrtyJAqtoiP6f5IT+l/x9AoP8cQZz/GkGZ/xlB l/8YQZf/GEGX/xhBl/8YzmYAALxwAACqeAAAnYAAAJOJAACKlQAAgqYAAHq5AQByzwcAa90TAGfe JgBj3jYBX9xBA1rZSwZW1lQKUtNdDU/PZRBLzG4TSMp4FUXHhBhCxZMZP8KkGj3BuRs8wN4bO7z7 Gju1/xk8r/8XPKr/Fjym/xU8pP8UPKT/FDyk/xQ8pP8UwmsAALB0AACffAAAk4QAAImOAACBnQAA eK4AAHDCAgBo2AcAYe4TAF3uJABa7zIAV+8+AVPtSANQ7FEFTelaB0nnYwpG5WwMQ+J3DkDghBA+ 3pMRO9ylEjnauhM42OATOM/zEjjG/BE4v/8ROLr/EDi2/xA4tP8POLT/Dzi0/w84tP8PtnAAAKN5 AACVgAAAiYgAAICWAAB3pgAAbrgAAGbLAQBe4AcAWf8UAFX/IgBS/y8AT/86AEz/RAFJ/00CRv5W A0P9XwRB+2gFPvpzBzz4fwg69o4JOPSfCjbyswo08NAKNOXmCTTa8go00foKNMv/CjTH/wo0xP8K NMT/CjTE/wo0xP8KqHYAAJd9AACKhAAAgJAAAHegAABusQAAZcMAAF3XAABV8AYAUP8TAE3/IABK /ywARv81AET/PgBB/0cAP/9PATz/VwE6/2ACOP9qAjb/dgMz/4UEMf+VBDD/qAQu/78EL/rMBC/w 4QQv5u4EL971BC/a+gQv1vwEL9b8BC/W/AQv1vwEmnsAAIyCAACBiwAAd5oAAG2sAABkvgAAW9EA AFPkAABN/wYASP8SAEX/HQBB/yYAPf8uADv/NwA5/z8ANv9GADT/TgAy/1YAL/9fAS3/agEr/3cB Kf+HASf/mQEl/60BJv+8ASj/xwEo+9YBKPXkASjw7AEo6/ABKOvwASjr8AEo6/ABjYAAAIGHAAB3 lgAAbaYAAGS4AABbywAAUt4AAErwAABE/wUAQP8QADv/GAA3/yAANP8nADH/LgAv/zYALP88ACr/ QwAn/0oAJf9SACP/WwAh/2YAHv90ABz/hgAa/5kAGf+uABv/uAAd/8AAHv/JAB//0QAf/9oAH//a AB//2gAf/9oAgoQAAHiRAABuoQAAZLEAAFvDAABT1QAASucAAEP7AAA9/wUAOP8OADP/FAAv/xoA K/8hACj/JwAm/y0AJP8yACH/OAAe/z4AHP9EABn/TAAX/1UAFP9gABL/bgAP/4AADv+UAA3/qQAQ /7EAEf+3ABP/vAAU/8AAFP/AABT/wAAU/8AAeY4AAG+cAABlrAAAXLwAAFPNAABL3wAAQ+8AAD3/ AAA3/wYAMf8NAC3/EgAp/xcAJv8dACP/IgAh/ycAHv8rABz/MAAa/zQAF/85ABX/PwAT/0YAEf9O AA7/WAAM/2MACv9yAAf/gwAF/5QABP+jAAX/qwAH/64AB/+uAAf/rgAH/64AcJgAAGemAABetgAA VcYAAE3XAABF5wAAPfUAADf/AAAx/wYALP8MACj/EAAl/xUAIf8ZAB//HgAd/yIAG/8lABj/KQAW /y0AFP8xABL/NQAQ/zoADv9BAA3/SAAL/1AACP9aAAX/ZQAC/3EAAP98AAD/hQAA/4wAAP+MAAD/ jAAA/4wA/zMlAP80JgD/NSgA/zQtAP8zMwD/MTsA/y5EAP8rTwD/KFoA/yVmAP8jcgD/IX8A/x+L AP8elgD/HaAA/xypAP8erQD/H7AA/yC0AP8huAD/IbwA/yLAAP8jxgD/I80A/yPZAPsj5QD0IuwA 7yLyAOoi9gDnIvkA5yL5AOci+QDnIvkA/zQjAP82JAD/NiYA/zYrAP81MQD/NDkA/zFCAP8uTQD/ K1gA/yhkAP8mcQD/JH0A/yKLAP8hlgD/IKAA/yCoAP8irAD/I7AA/yO0AP8kuAD/Jb0A/ybCAP8m yAD/JtAA/SbeAPUm6ADuJvAA6Cb1AOQm+QDgJvwA4Cb8AOAm/ADgJvwA/zYiAP84IgD/OSQA/zko AP84LgD/NjYA/zVAAP8ySgD/L1UA/yxiAP8pbwD/J3wB/yaKAf8llQH/JZ8B/yWnAf8mrAH/J7AB /yi0Af8ouQH/Kb4B/yrDAf8qygH+KtQA9irjAO0q7ADmKvQA4Cr5ANwq/QDYKv8A2Cr/ANgq/wDY Kv8A/zggAP86IAD/PCIA/zwlAP87KwD/OjMA/zg8AP82RgD/M1IA/zBfAf8uawH/LXgB/yyFAf8s kAH/K5oB/yujAf8rqwH/LLAB/y21Af8tugH/LsAB/y7GAf8vzQH2L90B7S/oAeQv8QHdL/gB1i/9 AdIv/wHOL/8Bzi//Ac4v/wHOL/8B/zsdAP89HQD/Px8A/z8iAP8/JwD/Pi8A/zw4AP87QwD/OE4A /zZaAf81ZwH/NHMB/zN/Av8yiwL/MpUC/zKeAv8xpwL/MbAC/zK1Av8yuwP/M8ID/zPJA/Yz1ALs M+QC4jPvAtkz9wLRM/0CyzP/Ascz/wLEM/8CxDP/AsQz/wLEM/8C/z0bAP9AGwD/QhwA/0MeAP9D JAD/QisA/0EzAP9APgD/P0oB/z1WAf88YwL/Om8C/zl6A/85hQP/OJAE/ziZBP84owT/N6wE/ze2 BP83vQX/OMUF9TjOBes43wXgOOsF1Tj1Bc04/QTGOP8EwDj/BLw4/wS5OP8EuTj/BLk4/wS5OP8E /0AZAP9DGAD/RRgA/0cbAP9HHwD/RyYA/0cwAP9GOgD/RUYB/0NSAf9CXgL/QGoD/0B1BP8/gAX/ PooG/z6UBv89ngf/PacH/zyxCP08vQj2PMkI6jzXCd485wnSPPIIyTz7CMA8/we5PP8HtDz/BrE8 /wauPP8GrTz/Ba08/wWtPP8F/0IWAP9FFQD/SBUA/0oXAP9LGwD/TCIA/00sAP9NNgD/S0EB/0lN Av9IWgP/R2UE/0VwBv9Eewf7Q4UJ+EKOCvRCmAvxQaIM7UCtDOpAuQ3lQMkN3EDjDtA/7w7FQPkN u0D/DLRA/wuuQf8KqUH/CaVB/wijQf8Io0H/CKNB/wijQf8I/0QUAP9IEgD/SxIA/04TAP9QFwD/ UR8A/1IoAP9TMgD/Uj0B/1BJAv9PVQT5TWAG80trCO5JdQrpSH8M5EeJDuBGkw/cRZ0Q1kSoEdJE tBLNRMMTyETdE8BD8hO3Q/4Tr0T/EahF/w+iRf8NnkX/DJtG/wuYRv8KmEb/CphG/wqYRv8K/0YS AP9KEAD/TQ4A/1AOAP9TEgD/VhoA/1gkAP9YLgD/WDkA+VdEAvFWUQTpU1wH4lBmCttOcA3UTXkP zkuDEclKjBPFSZYUwEigFrxIrBe3R7kXs0fMGK1H6himR/wYokn/FZxJ/xOXSv8Qk0r/D5BK/w2O Sv8Mjkr/DI5K/wyOSv8M/0gQAP9MDQD/UAsA/1MLAP9WDgD/WhUA/1weAP9eKQD1XzQA615AAeFc TATYWVcIz1ZhDMhUaw/BUnMSvFB8FLdOhRayTY8YrkyZGapLpRqmS7EboUvCHJ1K4RyXSvcclEz/ GZFO/xaNTv8TiU//EYdP/xCFT/8OhU//DoVP/w6FT/8O/0oNAP9OCgD/UQcA/1YGAP9aCwD/XREA /2AYAPZiIwDpZC4A3WU8AdFiSATIX1MIv1xdDLhZZhCyV24TrFR3FqdTfxijUYkan1CTHJtPnh2X Tqsek067H49O0yCKTvEgh0//HYVS/xmDU/8WgFP/E35T/xF9U/8QfVP/EH1T/xB9U/8Q/0sMAP9P BwD/VAQA/lgCAPhdBgD7YQwA/WQSAOtnGwDcaikAz2o5AcRoRQS6ZVAIsmFZDateYhGlW2oUoFly F5tXehqWVoMcklSNHo5TmR+KUqUhhlK1IoNSyiJ+Uewie1L/IHtV/xt6V/8YeFj/FXdY/xN1WP8S dVj/EXVY/xF1WP8R/0wKAP9RBQD5VgAA7lsAAOZhAwDjZQcA62kMAOBsFADPbyUAxHA2AbltQgSv ak0Ip2ZWDaBjXxGaYGcVlV5uGJBcdhqMWn8diFiJH4NXlCGAVqEifFWwJHlVxCR1VeYkclb9I3JZ /x1yW/8Zclz/F3Bc/xRvXP8Tb1z/E29c/xNvXP8T/00HAP9SAgDvWAAA514AAN1kAgDYaQUA2G4J ANVyEADEdCIAuXUzAK9zQAOmb0oIn2tTDJhoXBGSZWQVjGJrGIdgcxuDXnsdf12FIHtbkCJ3Wp0k c1msJXBZvyZtWeEmaln6JGtd/x9rX/8ba2D/GGtg/xZqYP8UamD/FGpg/xRqYP8U/04FAPZUAADq WgAA4GEAANRmAADObAQAzHEHAMp3DQC7eB8AsHowAKd4PgOfdEgHl3BRDJBtWRCKamEUhGdoGIBl cBt7Y3ged2GBIHNfjCJwXpkkbF6oJmlduydnXtwnZF34JmVg/yBlY/8cZmT/GGVk/xZkY/8VZGP/ FGRj/xRkY/8U/1ADAPBWAADlXAAA2GMAAMxpAADFbwIAwnUEAMB7CwCyfR0AqH4uAKB9OwKXeUYG kHVPC4lyVxCDb18UfmxmF3lpbRp1Z3YdcWZ/IG1kiiJpY5clZmKmJmNiuCdhYtUnXmH2Jl9k/yFg Zv8cYWj/GWBo/xdgZ/8VYGf/FWBn/xVgZ/8V/lEBAOtYAADgXwAA0GUAAMRsAAC8cgEAuHgCALaA CACpghoAoYMrAJmCOQKRf0QGiXtNCoJ3VQ98dFwTd3FkF3NvaxpvbXMda2t8IGdphyJkaJQkYGej Jl5mtSdbZ9AnWWb0J1po/yJba/8dXGz/Glxs/xdba/8WW2v/FVtr/xVba/8V9FIAAOZaAADaYQAA yWgAALxuAAC0dAAAr3sAAK2FBQChhxcAmYkoAJKINwGKhUIFg4FLCXx+Uw53elsScndiFm11aRpp cnEdZXB6H2JvhSJebZIkW2yhJlhssydWbM0nVGvyJlVt/yJWb/8dV3D/Gldw/xhXb/8WV2//Fldv /xZXb/8W71QAAOFcAADSYwAAwWoAALVxAACseAAAp38AAKSLAQCZjhMAkY8lAIqPNAGDjEAEfIlJ CHaFUQ1xglkRbH9gFWh8ZxhkeW8cYHd4Hlx1gyFZdI8jVnOfJVNysSZRcsomT3LwJVBz/yFRdf8d Unb/GlJ2/xdSdP8WUnT/FlJ0/xZSdP8W6lYAANpeAADKZgAAuW0AAK10AAClewAAnoMAAJuSAACR lhAAiJciAIKYMgB8lj0DdpJHB3COTwtri1cQZodeE2KFZhdegm0aW4B2HVd+gR9UfI0hUXudI056 ryRMesgkS3nvJEt6/yBMe/8cTXz/GU58/xdOev8VTnr/FU56/xVOev8V5FkAANJhAADBaQAAsXAA AKV3AACdfgAAlYcAAJGZAACHnwwAf6AdAHqiLgB1oTsCb51FBWqaTQllllUNYZNcEV2QZBVZjWwY VYp1GlKIfx1PhowfTIWcIUmEriJHhMciRoPuIUaD/x5HhP8bSIT/GEmE/xZJgv8VSYL/FUmC/xVJ gv8V3FwAAMpkAAC3bAAAqHMAAJ17AACUggAAjYwAAIWbAAB9qgcAdawYAHGtKQBtrTcBaKtCA2Oo SwdfpVMKW6FaDleeYhFUm2oUUJlzF02WfhlKlIsbR5KbHUWRrR5DkcYeQZDuHUKP/xtCj/8YQ4// FkON/xRDi/8TQ4v/E0OL/xNDi/8T0mAAAMBoAACucAAAoHcAAJV+AACMhwAAhJIAAHuhAABztgEA bLoSAGe7IwBkvDMAYLo+Aly4SARYtVEHVbNZClGwYQ1OrWkQS6tyEkiofRVFpooXQqSbGECjrRk+ oscZPaDuGD2e/xc9nf8VPpv/Ez6Y/xI+lf8RPpX/ET6V/xE+lf8RyGQAALVsAACkdAAAl3sAAIyC AACDjAAAe5kAAHKoAABqugIAYsoMAF3KHABayywAWMw5AFXKRAJSyU4ETsZWBkvEXwhJwmgLRr9x DUO9fQ9Au4oQPrmbEju3rhI6tsgSObPvEjmx/xE4rv8QOan/Dzml/w45ov8NOaL/DTmi/w05ov8N vGgAAKlxAACaeAAAjn8AAISHAAB7lAAAcqIAAGmyAABhwwMAWdUJAFPdFABQ3iQATt4zAEzePwBK 3kkBR9xTAkXbXARC2WYFQNZwBz3UfAg70ooKOdCbCzfOrws1zckLNMnxCzTF/wo0vv8KNLn/CjS0 /wo0sf8JNLH/CTSx/wk0sf8JsG4AAJ52AACQfQAAhYMAAHuPAABynQAAaawAAGC8AABYzQIAUN8I AEvyFABI8SIARfEuAEPxOABB8UMAP/FNAD7wVwE872EBOu5rAjjsdwM26oUEM+mWBDLnqgQw5cME L+HsBC7Z+wQu0P8FLsn/BS7F/wUuwf8FLsH/BS7B/wUuwf8FonMAAJJ6AACGgQAAfIsAAHKZAABp qAAAYLgAAFjIAABQ2gAASfEIAET/FABB/yAAPv8pADv/MwA5/zwAN/9FADX/TgAz/1cAMv9hADD/ bQEu/3sBLP+MASr9nwEp+7UBJ/nYASjv7gEn4/kBKNz/ASjW/wEo0v8CKNL/AijS/wIo0v8ClXkA AId/AAB9hwAAc5UAAGmlAABgtQAAV8UAAE/XAABH5wAAQf8IAD3/EgA5/xsANf8kADL/LAAw/zQA Lv88ACv/QwAp/0wAJ/9VACX/YAAj/2wAIf98ACD/jwAe/6MAHf+8AB7/1AAe+ugAHvLzAB/q+wAf 5f8AH+T/AB/k/wAf5P8AiX0AAH6FAAB0kgAAaqEAAGCyAABXwwAATtUAAEbmAAA+9AAAOf8GADT/ DgAw/xYALP8dACn/JAAn/ywAJP8yACH/OAAf/0AAHf9IABv/UQAY/1wAFv9pABP/egAS/44AEf+l ABH/uwAT/8kAFP/cABT/5wAV/e8AFf3wABX98AAV/fAAf4IAAHWPAABrnQAAYa0AAFi9AABPzgAA R+AAAD7vAAA4/wAAMf8DACv/CwAn/xEAI/8WACD/HAAd/yIAG/8oABj/LQAV/zQAE/86ABH/QgAO /0sADf9WAAv/ZAAI/3YABv+LAAX/oQAG/7IACv+6AAv/wQAM/8kADP/JAAz/yQAM/8kAdowAAGyZ AABiqAAAWbgAAFDIAABI2QAAQOgAADj1AAAy/wAALP8EACb/CgAi/w8AH/8UABz/GQAa/x4AF/8i ABT/JgAS/ysAEP8wAA7/NgAM/z0ACf9GAAb/UAAC/1wAAP9sAAD/fwAA/5QAAP+nAAD/rQAA/7IA AP+yAAD/sgAA/7IAbpYAAGSkAABbswAAUsIAAErRAABC4gAAOu8AADP/AAAs/wAAJ/8EACL/CQAf /w4AHP8SABn/FgAW/xoAFP8dABL/IQAQ/yQADv8pAAz/LQAK/zMAB/85AAT/QQAA/0kAAP9UAAD/ YAAA/24AAP97AAD/hwAA/5MAAP+UAAD/lAAA/5QA/y4kAP8vJQD/LygA/y4sAP8sMgD/KDoA/yVC AP8hTQD/HVgA/xpjAP8XbwD/FXsA/xOGAP8SkAD/EZoA/xGjAP8QrAD/EbEA/xK1AP8TuQD/FL0A /xXCAP8VyQD/FtMA/xbgAP8W6gD7FfIA9BX4AO8V/ADsFv8A6hb/AOoW/wDqFv8A/zAiAP8xIwD/ MSUA/zApAP8uLwD/KzcA/ydAAP8kSgD/IFUA/x1hAP8abQD/GHkA/xaFAP8VkQD/FJsA/xOlAP8S rgD/FLIA/xW2AP8WugD/GL4A/xnEAP8ZywD/GtcA/xrkAPsZ7QD0GfUA7Rr7AOga/wDlG/8A4xv/ AOMb/wDjG/8A/zIgAP8zIQD/MyMA/zImAP8wLAD/LjQA/ys9AP8nRwD/JFIA/yFeAP8eawD/G3gA /xqEAP8ajwD/GpgA/xmhAP8ZqQD/GbIA/xq3AP8buwD/HcAA/x7GAP8ezgD/H9wA/B7oAPMe8QDr H/kA5B/+AN8g/wDcIP8A2iD/ANog/wDaIP8A/zQeAP81HgD/NiAA/zUjAP8zKQD/MTAA/y85AP8r QwD/KE8A/yVbAP8kZwD/InQA/yF/AP8higD/IZQA/yGcAP8gpQD/IK0A/yC3AP8hvAD/IsEA/yPI AP8k0gD8JOIA8iTtAOkk9gDhJf0A2iX/ANQm/wDQJv8Azyb/AM8m/wDPJv8A/zYcAP84GwD/OR0A /zggAP83JQD/NSwA/zM1AP8wPwD/LksA/yxXAP8rYwD/Km8A/yl6AP8ohQD/KI8A/yiYAP8ooAD/ KKkB/yiyAf8ovQH/KcQA/ynMAPwq2wDxKugA5ivzAN0r+wDUK/8BzSz/Acgs/wHFLP8Bwyz/AcMs /wHDLP8B/zkZAP87GAD/PBkA/zwcAP87IAD/OScA/zcwAP83OwD/NkcA/zRSAP8yXgD/MWoB/zF1 Af8wgAH/MIkB/zCTAf8vnAH/L6UB/y+uAf8vuQH/L8cB+zDRAfAw5AHkMfAB2jH5Ac8x/wLHMf8C wTH/Abwx/wG5Mf8BuDH/Abgx/wG4Mf8B/zsWAP8+FQD/PxUA/0AXAP8/HAD/PiIA/z0sAP89NwD/ PEIA/ztOAP85WgH/OGUB/zhwAf83egL/N4QC/zaOAv82lwP8NqAD+TaqA/Y2tQPzNsMD7jbcA+I2 7APWNvYEyzb/BMI3/wO7N/8DtTf/A7A3/wOtN/8DrDf/Aqw3/wKsN/8C/z4UAP9AEgD/QhIA/0MT AP9DFwD/Qx4A/0MoAP9CMgD/Qj0A/0FJAP9AVQH/P2EB/D5rAvc+dQP0PX8E8DyJBOw8kgXpPJwF 5TumBuE7sgbdO8AH2DvZB8877gfIO/0Hvjz/B7U8/wauPP8FqDz/BaU8/wSiPP8EoTz/BKE8/wSh PP8E/0ARAP9DEAD/RQ4A/0cPAP9HEgD/SRoA/0kjAP9ILQD/RzgA/UdEAPZGUQHwRlwC6kRmA+VD cAXgQnoG20KEB9ZBjQjSQJcJzkChCslArArFP7kLwD/KC7o/5wyzP/oMrkD/CqhB/wmiQf8InUH/ B5lB/waXQf8GlkH/BpZB/waWQf8G/0IPAP9FDQD/SAsA/0kLAP9LDgD/TRUA/04eAP9NKAD3TTMA 7k1AAOZNTAHeTFcD1kpiBdBJawbKSHQIxUd9CsFGhgu9RY8MuUSaDbVEpA6xRLEPrEPBEKhD3BCi Q/MQnUT/D5lF/wyWRv8Lkkf/CY9H/wiMR/8Ii0f/B4tH/weLR/8H/0QNAP9HCgD/SgYA/0wFAP9P CgD/URAA/1IYAPZSIgDpUiwA3lM7ANRTSAHLUlMDxFBdBr5OZgi4TW4Ks0x3DK9Kfw6rSYkPp0mT EKNInhKgR6oTnEe4E5hHzhSTR+0Ujkj/E4xJ/xCJS/8Nh0z/C4VM/wqDTP8Jgkz/CYJM/wmCTP8J /0YLAP9JBgD/TAMA/U8AAPZSBQD5VAsA+1YRAOlWGgDaWCcAzlk3AMRZRAG8WE8EtVZYBq9UYQmq UmoMpVByDqFPehCdToMRmU2NE5VMlxSSS6QWjkuyFopLxReGS+YXgkv8FoBN/xN+T/8QfVD/DXxR /wx6Uf8LelH/CnpR/wp6Uf8K/0cIAP9KAwD3TgAA7lIAAOVWAgDhWAYA41oKAN1bEgDLXSMAwF8z ALdfQAGvXUsEqVtVB6NZXQqeV2YMmVVtD5VTdRGRUn4TjVGHFYlQkhaGT54Ygk+tGX9Pvxl7T98Z d074GXZR/xV1U/8SdFT/D3NV/w1zVf8MclX/DHJV/wxyVf8M/0gFAP1MAADvUAAA5lUAANtaAADU XQQA018HANBgDwC/YiAAtWQwAK1kPQGlYkgDn2BSB5ldWgqUW2INj1lqD4tYcRKHVnoUg1WDFn9U jhh8U5oZeFOoGnVSuRtyU9UbblL0G25U/xdtVv8TbVj/EGxZ/w5sWf8NbFn/DWxZ/w1sWf8N/0kE APNOAADpUwAA3lgAANFdAADKYAIAx2MFAMRlDAC1Zx0Aq2gtAKRpOwGdZ0YDlmVPBpBiVwqLYF8N hl5nD4JcbhJ+W3YUell/FndYihhzV5YacFakG21WtRxqVs4dZ1bxHGdY/xhnWv8UZ1v/EWdc/w9m Xf8OZl3/DWZd/w1mXf8N/0oBAO5QAADkVQAA1VsAAMlgAADBZAAAvGcDALlqCQCsaxoAo20qAJxt OAGVbEMDjmlNBolnVQmDZF0Mf2JkD3thaxJ3X3MUc158F3BchhltW5MbaVqhHGdash1kWsodYVru HWFc/xlhXv8VYV//EmFg/xBhYf8PYWD/DmFg/w5hYP8O+UwAAOpSAADeWAAAzV4AAMFjAAC4ZwAA s2oBALBuBgCkcBcAm3EoAJRyNgCOcEECiG5KBYJsUwl9aVoMeGdhD3RlaRFxZHEUbWJ6F2phhBln YJAbZF+fHGFerx1eXsYeXF7rHVxg/xpcYv8WXGP/E11k/xFdZf8PXGT/Dlxk/w5cZP8O8k0AAOVU AADYWgAAxmAAALplAACxagAAq24AAKhzAwCcdBQAlHYlAI13NACHdT8CgXNIBXxxUQh3blgLc2xf Dm9qZxFraG8UaGd3FmRlgRlhZI4bXmOcHFxjrR1ZY8MeV2PpHldk/xtXZv8WWGf/E1ho/xFYaP8P WGj/D1ho/w9YaP8P7k8AAOBWAADRXAAAv2MAALNoAACqbQAAo3EAAKB4AACVehEAjHsiAIZ8MQCB ez0Ce3lGBHZ2TwdxdFYLbXJeDmlwZRFmbm0TYmx1Fl9rfxhcaosaWWmaHFZoqx1UaMEdUmjmHVJo /xtTav8XU2v/E1Ns/xFUbf8QVGz/D1Rs/w9UbP8P6VEAANpYAADJXwAAuGUAAKxrAACjcAAAnHUA AJd9AACNfw4AhYAfAH+BLgB6gToBdX9EA3B9TQZse1QKaHlcDWR2YxBhdWsSXXNzFVpxfRdXcIkZ VG+YG1FuqRxPbr4dTW7kHE1u/hpOb/8WT3D/E09x/xFPcf8PT3H/D09x/w9Pcf8P5FQAANNbAADB YgAAsWgAAKVuAACccwAAlHkAAI+DAACEhgsAfIcbAHeIKgBziTcBbodCA2qFSgVmg1IIYoFZC19+ YQ5bfGkRWHtxE1V5exZSd4cYT3aWGU11pxtKdbwbSXXiG0h1/RlJdv8VSnf/Ekp3/xBKd/8PSnf/ D0p3/w9Kd/8P3VYAAMteAAC5ZQAAqWsAAJ5xAACUdwAAjH0AAIWJAAB8jgYAdJAXAG+RJgBskjQA aJE/AmSPSARgjVAHXYtXCVmIXwxWhmcPU4RvEVCCeRNNgYUWSoCUF0h/phhGfrsZRH7hGEN9/BdE fv8URX7/EUV+/w9Ffv8ORX7/DkV+/w5Ffv8O1VkAAMNhAACwaAAAom8AAJZ1AACNewAAhIIAAHyM AABzmAEAa5sSAGecIgBknTAAYZ07AV2cRQJamk0FV5dVB1SVXQlRk2UMTpFuDkuPeBBIjYQSRYyT FEOLpRVBiroVP4rgFT+I+xQ/iP8RQIj/D0CH/w5Ah/8NQIf/DECH/wxAh/8My10AALllAACnbAAA mXMAAI55AACFfwAAfIcAAHOSAABqowAAYqgMAF6pHABbqioAWas3AFaqQQFTqUoCUKdTBE6lWwZL o2MISKFsCkWfdgxDnYMOQJySDz6apBA8mboRO5ngEDqW+w86lf8OOpT/DDqT/ww6k/8LOpP/CjqT /wo6k/8KwWEAAK5pAACecAAAkXcAAIZ9AAB9hAAAdI4AAGuaAABiqAAAWbcFAFS5FABRuiMAT7ox AE67PABMukYBSblPAke4WANFtmEEQrRqBkCzdQc9sYIJO6+SCjmtpAs3rLoLNqvhCzWo/Ao1pf8J NKT/CTSj/wg0oP8INJ//CDSf/wg0n/8ItmYAAKNuAACUdQAAiHsAAH6BAAB1jAAAbJcAAGOkAABb sQAAUsADAEvMDABHzBsARcwoAEPMNQBCzUAAQc1KAD/MUwE9y10BO8pnAjnIcwM3xoAENcWRBTPD pAUxwboFMMDhBTC8/AUvuP8FLrb/BS6y/wUur/8FLq7/BS6u/wUurv8FqmsAAJhzAACLeQAAgH8A AHeJAABtlQAAZKEAAFuvAABTvQAAS8sDAELaCQA94hMAOuEgADjhLAA34TcANuFCADXhTAA04VYA M+BhADHfbQAv3nsBLtyNASzaoQEq2LgBKdXgASjR+QEnzf8BJ8f/AifC/wIov/8CKL3/Aii9/wIo vf8CnXEAAI54AACCfQAAeIYAAG6SAABloAAAXK4AAFO7AABLygAAQ9kBADvqCAA3+RMANPgdADH3 JwAv9zAALfY5ACv2QwAq9kwAKPVWACf0YgAm83AAJPKAACPwlAAh7qsAH+zIAB3n8gAd4f8AHtr/ AB/T/wAgz/8AIM3/ACDN/wAgzf8AkHYAAIN8AAB5hAAAb5AAAGWeAABcrQAAU7wAAEvKAABD2gAA O+cAADX/CAAw/xAALf8ZACn/IQAn/ykAJf8xACL/OQAg/0EAHv9KABz/VQAb/2EAGf9wABf/ggAW /5gAFP+yABL/2AAS+fcAEuz/ABPm/wAU4v8AFOD/ABTg/wAU4P8AhXsAAHqCAABwjwAAZp0AAFys AABTvAAASssAAELcAAA66QAAMvcAAC3/BAAo/w0AJf8TACL/GgAf/yEAHP8oABn/LgAX/zYAFf89 ABP/RgAR/1EADv9eAA3/bwAM/4MACv+bAAn/tQAK/9AAC//nAAz88wAM9voADPP9AAzz/QAM8/0A fIAAAHKMAABomgAAXqgAAFW4AABMyAAAQ9gAADvnAAAy9AAAK/8AACT/AAAg/wcAHP8OABn/EwAW /xkAE/8eABH/JAAP/yoADf8xAAv/OAAI/0EABf9MAAH/WgAA/2wAAP+AAAD/mQAA/7MAAP+9AAH/ yQAD/9QABP/dAAT/3QAE/90Ac4oAAGmXAABgpQAAVrQAAE7DAABF0gAAPeIAADTvAAAt+wAAJv8A ACD/AAAc/wYAGP8LABX/EAAS/xQAEP8YAA3/HAAL/yEACP8mAAX/LAAB/zQAAP88AAD/RwAA/1QA AP9lAAD/egAA/5IAAP+pAAD/sAAA/7UAAP+3AAD/twAA/7cAa5QAAGGhAABYrwAAUL4AAEfNAAA/ 3AAAN+oAAC/1AAAo/wAAIv8AAB3/AAAY/wYAFf8KABP/DgAR/xIADv8VAAz/GAAK/xwAB/8gAAT/ JQAB/yoAAP8xAAD/OQAA/0IAAP9OAAD/XAAA/2sAAP97AAD/iwAA/5gAAP+eAAD/ngAA/54A/yok AP8qJAD/KScA/ycrAP8kMQD/IDgA/xtBAP8WSgD/ElUA/xBgAP8NbAD/C3cA/wmBAP8IiwD/B5UA /wWdAP8EpgD/A64A/wWyAP8GtwD/CLsA/wnAAP8LxwD/C9EA/wvgAP8L6gD9C/MA9gv5APEM/gDt DP8A6wz/AOsM/wDrDP8A/ywiAP8sIgD/KyQA/ykoAP8mLgD/IjUA/x0+AP8ZSAD/FVIA/xFeAP8O agD/DHYA/wuAAP8KiwD/CZUA/wifAP8HpwD/B68A/wi0AP8KuQD/C70A/w3DAP8NywD/DtkA/w7m AP8O8AD4DfgA8Q7+AOsP/wDoEP8A5RD/AOUQ/wDlEP8A/y0fAP8uHwD/LSEA/yslAP8pKwD/JjIA /yE6AP8cRAD/GE8A/xRbAP8RZwD/D3QA/w5/AP8OiQD/DpIA/w6aAP8OowD/DasA/w2zAP8OuwD/ D8AA/xDHAP8R0gD/EeIA/xHtAPkR9gDxEv4A6RP/AOQU/wDfFf8A3BX/ANwV/wDcFf8A/zAcAP8w HAD/MB4A/y4hAP8sJwD/KS4A/yU2AP8gQAD/HEsA/xlXAP8XYwD/Fm8A/xV6AP8VgwD/FY0A/xWV AP8UngD/FKYA/xSuAP8UuAD/FMQA/xXNAP8W3AD/FugA+RbzAO8X/ADmGf8A3hr/ANgb/wDTG/8A 0Bz/ANAc/wDQHP8A/zIaAP8zGQD/MxoA/zEdAP8vIgD/LCkA/ykyAP8lPAD/I0cA/yFTAP8gXgD/ HmoA/x50AP8dfgD/HYcA/x2QAP8dmQD/HaEA/x2qAP8ctAD/HMAA/xzQAP8d4gD3He4A7B74AOIf /wDZIf8A0CL/AMoi/wDGIv8AwyL/AMMi/wDDIv8A/zUXAP82FgD/NhYA/zUYAP8zHQD/MCMA/y4t AP8tOAD/K0MA/ylOAP8oWgD/J2UA/yZvAP8meQD/JoIA/yaLAP8mlAD/JZ0A/yWmAP8lsAD+JbwA +yXNAPQl5gDpJfUA3if+ANMo/wDKKf8Awin/AL0p/wC5Kf8Atin/ALYp/wC2Kf8A/zcUAP85EwD/ ORIA/zgUAP83FwD/NR4A/zQoAP8zMwD/Mj4A/zBKAP8vVQD/L2AA/y5qAP8udAD+Ln4A+i6HAPcu kAD0LpkA8i6jAO4urQHrLrkB5i3KAd8t5gHXLvcBzi7/AcQv/wG8L/8BtTD/AbAw/wGsMP8BqjD/ Aaow/wGqMP8B/zoRAP87EAD/PA4A/zwQAP87EgD/OhoA/zojAP84LgD/ODkA/zdFAP02UAD4NlsA 8zZmAO41cADqNXkB5zWCAeM1jAHfNZUC3DSfAtg0qgLTNLYCzjTHAsg14gPBNfYDujX/A7Q2/wOu Nv8CqDb/AqM2/wKgNv8Cnjb/Ap42/wKeNv8C/zwOAP8+DAD/PwsA/z8LAP8/DgD/QBUA/z8eAP89 KAD8PDMA8zw/AOs8SwDlPVcA3zxhAdo8awHUPHQC0Dt9Asw7hgPIO48ExDqZBMA6pAW8Oq8FuDq+ BbQ61QatOvAGpzv/BaI7/wWePP8Emzz/BJg8/wOVPP8Dkzz/A5M8/wOTPP8D/z4MAP9ACQD/QQYA /0IFAP9DCgD/RBAA/0MYAPhCIQDrQSwA4UI6ANhDRgDQQ1IBykNcAcVCZgLAQm4DvEF3BLhBfwW0 QIgGsECSB60/nQepP6gIpj+2CaI/yQmcP+gJlz/8CZNA/weQQf8GjUL/BYtC/wWKQv8EiEL/BIhC /wSIQv8E/0AKAP9CBQD/RAEA/0QAAPhHBAD6RwoA+0cRAOlGGQDaRicAzkg1AMZKQgC/Sk4BuUlY ArNIYQOvR2kFq0ZxBqdGeQekRYIIoESMCZ1ElgqZQ6ILlkOwDJJDwQyOQ+AMiUP3DIZF/wqDRv8I gUb/B39H/wZ+R/8FfUf/BX1H/wV9R/8F/0EHAP9EAQD2RQAA70gAAOZLAADhTAUA4EoJANpKEgDK TCIAv04xALdQPwCwUEoBq09TAqZOXAShTGQGnUtsB5lKdAmWSn0Kk0mGC49IkAyMSJwNiEeqDoVH ug+BR9QPfUfzD3pJ/w15Sv8Kd0v/CXZL/wd1TP8GdEz/BnRM/wZ0TP8G/0MEAPpFAADvSQAA5U0A ANpQAADSUQMA0FEGAMtQDgC8Uh4AslQuAKtVOwClVUYBn1RQA5pTWQSWUWEGklBoCI5PcAqLTngL h02BDYRMiw6ATJcPfUulEHpLtRF3S8wSc0vuEXFM/w9wTv8Mb0//Cm5Q/whtUP8IbVD/B21Q/wdt UP8H/0QBAPJHAADpTAAA3FAAAM9TAADHVQEAw1YEAL5VCwCxVxsAp1kqAKFaOACbWkMBlVlNA5BX VQSMVl0GiFVlCIRTbAqBUnQMflF9DnpQhw93UJMRdE+hEnFPsBNuT8YTa0/pE2lQ/xFpUv8OaFP/ C2dU/wlnVP8IZlT/CGZU/whmVP8I/UUAAO5KAADjTgAA01MAAMZXAAC9WQAAt1oBALRaCACnXBgA nl0nAJheNQCSXkEBjV1KAohcUwSEWloGgFliCHxYaQp5VnEMdlV5DnNUgxBvVI8RbVOdE2pTrRRn U8EUZFPlFGNU/RJiVf8PYlf/DGJX/wphWP8JYVj/CGFY/whhWP8I9UYAAOlMAADdUQAAy1YAAL5a AAC1XQAArl4AAKpfBQCfYBUAlmIlAJBjMgCLYz4BhWJIAoFgUAR9X1gGeV1fCHVcZgpyW24Mb1p2 DmxZgBBpWIwSZleaE2NXqhVhV74VX1fiFV1X+xNdWf8PXVr/DV1b/wtcW/8KXFz/CVxc/wlcXP8J 8UgAAOROAADWUwAAxFkAALddAACtYAAAp2IAAKJjAgCXZRIAj2YiAIlnMACEZzwAf2ZFAnplTgR2 Y1UGc2JdCG9gZApsX2sMaV50DmZdfhBjXIkSYVuXFF5bpxVcW7sVWVveFVhb+hRYXf8QWF7/DVhf /wtYX/8KWF//CVhf/wlYX/8J7UoAAN9QAADPVgAAvVsAALBgAACnYwAAn2UAAJtoAACQaRAAh2of AIFrLQB9bDkAeGtDAnRpTANwaFMFbWZbCGplYgpnZGkMZGNyDmFhexBeYIcSXGCVFFlfpRVXX7kV VV/aFVNf+BRTYf8QVGL/DVRj/wtUY/8KVGP/CVRj/wlUY/8J6EwAANpSAADIWAAAtl4AAKpiAACg ZgAAmWkAAJNsAACIbg0AgG8cAHtwKgB3cDcAc3BBAW9vSQNrbVEFaGxZB2VqYAliaWcLX2hwDVxn eRBZZYURV2WTE1RkoxRSZLYVUGTUFU5k9hRPZf8QT2b/DU9n/wtPZ/8KT2f/CU9n/wlPZ/8J5E4A ANNVAADBWwAAsGEAAKRlAACaaQAAkm0AAItxAACBcwoAeXQZAHR1JwBwdjQAbXY+AWl1RwJmc08E Y3JXBmBxXghdb2UKWm5uDVdtdw9Ua4IRUmqQEk9qoRRNarQUS2rRFEpp9RNKav8QS2v/DUts/wtL bP8KS2z/CUts/wlLbP8J3lEAAMxXAAC5XgAAqWQAAJ1pAACTbQAAi3EAAIN2AAB5eQYAcXoVAG17 JABpfDEAZn08AGN8RQJge00DXXlUBVp4XAdYdmMJVXVsC1J0dQ1Qc4APTXKOEUpxnxJIcLMTRnHO E0Vw8xJGcf8PRnH/DEZx/wtGcf8KRnH/CUZx/wlGcf8J1lQAAMVaAACxYQAAomcAAJdsAACNcAAA hHUAAHt8AABxgAAAaoIRAGWDHwBihC0AYIU4AF2EQgFag0oCWIJSBFWBWQZSf2EHUH5qCU18cwtK e38NSHqND0V5nhBDebEQQnnMEEF48hBBeP8NQXj/C0F4/wpBeP8JQXj/CEF4/whBeP8IzlcAALxe AACpZQAAm2sAAJBwAACGdAAAfHkAAHOAAABpigAAYowMAF2NGgBbjigAWI80AFaPPgBUjkcBUo1P Ak+MVwRNil8FSoloB0iIcQlFhn0KQ4WLDECEnA0+g7ANPYPLDTyC8g08gf8LPIH/CjyA/wg8gP8I PID/BzyA/wc8gP8HxVoAALJiAAChaQAAk24AAIh0AAB/eQAAdX8AAGyGAABikgAAWpgGAFWaFABS miIAUJsvAE6bOgBNnEMAS5tMAUmaVAJHmVwDRJdlBEKWbwZAlHsHPZOKCDuSmwk5ka8JOJHKCTeP 8Qk2jf8INoz/BzaL/wY2i/8GNor/BjaK/wY2iv8Gu18AAKhmAACYbQAAi3IAAIF4AAB4fgAAboUA AGWOAABcmQAAUqcAAEyqDgBJqhsAR6ooAEWrMwBEqz4AQ6tHAEGrUAA/qlkBPqliAjynbQM6pnkD N6SIBDWjmgU0oq4FMqHKBTGf8QUxnP8EMJr/BDCZ/wQvmP8EL5j/BC+Y/wQvmP8EsWMAAJ5rAACP cQAAg3cAAHp8AABwhQAAZ44AAF6YAABVowAATK8AAEO7BgA/vBMAPbwgADu8LAA5vDYAOLxAADe8 SgA2vFMANbxeADS7aQAyunYBMLiFAS63mAItta0CK7TIAiux8QEqrv8CKav/Aiip/wIoqP8CKKj/ Aiio/wIoqP8CpGkAAJNwAACGdgAAfHsAAHKDAABpjQAAYJgAAFejAABOrwAARroAAD3HBAA00QoA MdIVAC/RIgAu0S0ALdE3ACzRQQAr0EsAKtBWACnPYQAozm8AJs1/ACXLkwAjyqkAIsjFACHF7wAh wP8AIL3/ACC8/wAfuv8AH7n/AB+5/wAfuf8AmG8AAIl1AAB+egAAdIIAAGqNAABhmAAAWKQAAE+w AABHvAAAPsgAADbUAgAu3wcAKesQACbqGgAk6SQAI+guACHoNwAg50EAH+dLAB7mVwAc5WQAG+N0 ABnhhwAY358AFt27ABTa6AAU1f8AFNL/ABTP/wAVy/8AFcn/ABXJ/wAVyf8AjHQAAIB6AAB2gQAA bIwAAGKYAABYpQAAULMAAEe/AAA+zAAANtkAAC7kAAAo8gUAI/8OACH/FgAe/x4AG/8mABn/LgAX /zYAFf8/ABP+SgAS/FYAEPtlABD5dgAO9owADfSnAAzwyQAK7PcACuX/AAvf/wAM2/8ADdj/AA3Y /wAN2P8AgXkAAHeAAABtiwAAY5gAAFmmAABQtQAAR8MAAD7QAAA23gAALukAACbxAAAh/wIAHf8K ABr/EQAX/xcAFP8eABL/JAAQ/ysADv8zAAz/PAAJ/0cAB/9UAAX/ZAAD/3cAAf+QAAD/qwAA/dMA APPyAAHt+wAC6f8AA+b/AAPm/wAD5v8AeX4AAG+KAABllgAAW6QAAFKzAABIwgAAP9EAADfgAAAu 7QAAJfcAAB7/AAAZ/wAAFv8EABP/CwAQ/xAADv8VAAv/GgAI/yAABf8nAAL/LwAA/zgAAP9DAAD/ UAAA/2EAAP91AAD/jgAA/6oAAP/DAAD+0QAA+eAAAPbnAAD25wAA9ucAcIgAAGaUAABdoQAAVLAA AEu+AABCzQAAOdwAADHoAAAp8wAAIfwAABr/AAAV/wAAEf8BAA7/BgAM/wsACf8PAAb/EwAB/xcA AP8cAAD/IgAA/yoAAP8zAAD/PgAA/0wAAP9dAAD/cQAA/4kAAP+jAAD/swAA/7cAAP+8AAD/vAAA /7wAaJIAAF+fAABWrAAATboAAETIAAA81gAANOQAACzwAAAk+AAAHf8AABj/AAAT/wAAEP8BAA7/ BgAM/woACf8NAAX/EAAC/xMAAP8XAAD/HAAA/yIAAP8pAAD/MQAA/zsAAP9HAAD/VQAA/2YAAP96 AAD/jgAA/54AAP+nAAD/pwAA/6cA/yYiAP8lIwD/IyUA/yApAP8cLwD/FjYA/xE/AP8NSAD/CVMA /wVeAP8BaQD/AHMA/wB9AP8AhwD/AJAA/wCZAP8AoQD/AKoA/wCwAP8AtAD/ALkA/wC+AP8AxAD/ AM0A/wDcAP8A6AD6APEA9AH3APAB/ADtAv8A6gP/AOkD/wDpA/8A/ycgAP8nIQD/JSMA/yImAP8e LAD/GTMA/xM8AP8PRQD/C1AA/wdbAP8DZgD/AHIA/wB8AP8AhgD/AJAA/wCZAP8AoQD/AKkA/wCx AP8AtgD/ALsA/wDBAP8AyAD/AtQA/wPjAP4D7gD3A/cA8QP9AOsF/wDnB/8A5Aj/AOMI/wDjCP8A /ykeAP8pHgD/Jx8A/yX/4v/iSUNDX1BST0ZJTEUACAkjAP8hKAD/HC8A/xY4AP8RQgD/DUwA/wpY AP8GYwD/A28A/wN5AP8CgwD/AowA/wKUAP8BnAD/AaQA/wCsAP8AtQD/Ab4A/wPFAP8EzgD/Bt8A /wbrAPoG9QDxB/0A6gr/AOQL/wDfDP8A3Az/ANsN/wDbDf8A/ysbAP8rGwD/KhwA/ycfAP8kJAD/ ICsA/xozAP8UPQD/EEgA/w5UAP8NXwD/C2oA/wt0AP8LfQD/C4YA/wuPAP8KlwD/Cp8A/wqnAP8J sAD/CbsA/wjJAP8J2gD/CugA/Ar0APIL/QDpDf8A4Q//ANoQ/wDUEf8A0RH/ANAR/wDQEf8A/y4Y AP8uFwD/LBgA/yoaAP8nHwD/IyYA/x4uAP8aOAD/GEMA/xVPAP8UWgD/E2UA/xJvAP8SeAD/EoEA /xKJAP8SkQD/EZoA/xGiAP8RqwD/EbYA/xDDAP8Q2wD6EO4A8g/9AOgS/wDeFP8A0xb/AMwX/wDH GP8AxBj/AMMY/wDDGP8A/zAVAP8wEwD/MBMA/y0VAP8qGQD/Jh8A/yUpAP8iNAD/ID8A/x5KAP8c VQD/G18A/xppAP8acwD/GnsA/xqEAP8ajAD/GpUA/RqeAPoapwD3GbIA8xnAAO4Z1QDlGe4A3hr+ ANgb/wDNHf8AxB7/AL0f/wC5IP8AtiD/ALUg/wC1IP8A/zMRAP8zEAD/Mw8A/zEQAP8uEwD/KxoA /yokAP8pLwD/JzoA/yVFAP8kUAD/I1oA/CNkAPkjbgD1I3YA8iN/AO4jiADrI5EA6COaAOQjpQDh I7AA3CO+ANcj1QDOJO4AxyX+AMAm/wC6Jv8AtSf/AK8n/wCrJ/8AqSf/AKgn/wCoJ/8A/zUOAP82 DAD/NgsA/zQLAP8yDgD/MRUA/y8fAP8uKQD/LTQA+itAAPMrSwDtK1YA6CtgAOMraQDfK3IA2yt7 ANgrhADTLI0A0CyXAMwsoQDILKwAxC26AMAtzAC5LeoAsi78Aawu/wGnL/8Boy//AaAv/wCeL/8A nC//AJwv/wCcL/8A/zcMAP85CQD/OQYA/zcFAP83CgD/NhAA/zQYAP0yIgDwMS4A5jA6AN4xRgDY MlEA0TJbAMwzZADIM20AxTR2AME0fgG9NIcBujSQAbc0mwGzNKYBrzSzAqs0xAKnNOMCoTX4Apw1 /wKXNf8ClDb/AZE2/wGPNv8Bjjb/AY02/wGNNv8B/zoJAP87BQD/OwEA/zoAAP47BAD/OgsA/TgR AOw2GgDeNicA0Tc0AMk5QQDDOkwAvTpWALk7XwC1O2gBsTtwAa46eAKrOoECqDqKAqU6lAOhOqAD njqtBJo6vQSXOtcEkTrzBI07/wSJO/8Dhjz/AoQ8/wKCPP8CgTz/AoE8/wKBPP8C/zwGAP89AAD5 PQAA8T4AAOhAAADiPwUA4TsKANo6EgDKPCIAvz4wALhAPQCyQUgArUFSAKlBWwGlQWMBokBrAp9A cwOcQHsDmD+EBJU/jgWSP5oFjz+nBow/tgaIP8wHhD/tB4BA/wZ9QP8Fe0H/BHlB/wN3Qf8DdkH/ AnZB/wJ2Qf8C/z0DAPo+AADwQQAA5kMAANpFAADSRQIAz0MGAMlADgC7Qx4AsUQsAKpGOQCkR0QA oEdOAJxHVwGYRl8ClUZmA5JFbgSPRXYEjER/BYlEiQaFQ5QHgkOiCH9DsQh8Q8UJeEPnCXVE/Qhz Rf8GcUb/BXBG/wRvRv8Dbkb/A25G/wNuRv8D/z4AAPJBAADpRAAA20gAAM5KAADFSgAAwEkDALtG CwCuSBoApUooAJ5LNQCZTEEAlUxLAJFMUwGNS1sCiktjA4dKagSESXIFgUl6Bn5IhAd7SJAIeEed CXVHrApyR78Lb0fhC2xI+gprSf8HaUr/BmhK/wVnS/8EZ0v/BGdL/wRnS/8E+T8AAO1EAADjRwAA 0UsAAMNOAAC6TwAAtE4AAK9MBwCjTRYAm08lAJRQMgCQUT4Ai1FHAIdQUAGEUFgCgU9fBH1OZwV7 Tm4GeE12B3VMgAhyTIsJb0uZC21LqAtqS7sMZ0vbDGVM9wtkTf8JY07/B2JO/wVhT/8FYU//BGFP /wRhT/8E9EEAAOhGAADcSgAAyE8AALtSAACxUwAAqlMAAKZRBACaUhMAklMiAIxULwCHVTsAg1VF AH9VTQF8VFUCeVNcBHZSYwVzUmsGcFFzB25QfQlrUIgKaE+VC2ZPpQxjT7cNYU/SDV5P9A1eUf8K XVL/B1xS/wZcUv8FXFP/BVxT/wRcU/8E8EMAAONIAADUTQAAwVEAALRVAACqVgAAo1cAAJ1VAACS VhEAilcfAIRYLACAWTgAfFlCAHhZSwF1WFICcldaA29XYQVtVmgGalVwB2hUegllVIUKYlOSDGBT og1dU7QOW1PODllT8g1ZVP8KWFX/CFhW/wZXVv8GV1b/BVdW/wVXVv8F7EUAAN5KAADNTwAAu1QA AK1YAACkWgAAnFoAAJZaAACLWg4Ag1wcAH1dKgB5XTUAdV5AAHJdSAFvXFACbFxXA2lbXgRnWmYG ZVluB2JYdwlgWIILXVeQDFtXnw1YV7IOVlfLDlRX8A5UWP8LVFn/CFNZ/wdTWv8GU1r/BVNa/wVT Wv8F50cAANhNAADGUgAAtFcAAKhaAACdXQAAlV4AAI5eAACEXwsAfGAZAHZhJwByYTMAb2I9AGxi RgFqYU4CZ2BVA2RfXARiX2QGYF5sB11ddQlbXIAKWFuNDFZbnQ1UW68OUlvIDlBb7g5PXP8LT13/ CE9d/wdPXv8GT17/BU9e/wVPXv8F40kAANJPAAC/VQAArloAAKJdAACYYAAAj2IAAIdiAAB9ZAgA dWQWAHBlJABsZjAAamc7AGdmRAFkZkwBYmVTA2BkWgRdZGIFW2NqB1hicwhWYX4KU2CLC1Fgmw1P X60NTWDFDktg7A1LYP8LS2H/CEth/wdLYv8GS2L/BUti/wVLYv8F3UwAAMxRAAC4VwAAqFwAAJxg AACSYwAAiWUAAIBnAAB2aQQAbmoTAGpqIQBmay0AZGw4AGJsQQBfbEkBXWtRAltqWANYaWAFVmho BlRncQhRZ3wJT2aJC0xlmQxKZasNSGXDDUdl6gxGZf8KRmb/CEZm/wdGZv8GRmb/BUZm/wVGZv8F 1k4AAMZUAACxWgAAol8AAJZjAACMZwAAgmkAAHlsAABvbwAAaHAQAGNwHQBgcSoAXnI1AFxyPgBa ckcBWHJPAlVxVgNTcF4EUW9mBU9ubwdMbXoISmyHCUdslwtFa6kLRGzBC0Jr6AtCa/8JQmv/CEJr /wZCa/8FQmv/BUJr/wVCa/8Fz1EAAL5XAACqXgAAnGMAAJBnAACFawAAfG4AAHJyAABodQAAYXcM AFx3GQBZeCYAV3kxAFV6OwBUekQAUnlMAVB5UwJOeFsDTHdjBEl2bQVHdXgGRXSFCEJ0lQlAc6gJ P3O/CT1z5gk9cv8IPXL/Bj1y/wU9cv8FPHL/BDxy/wQ8cv8EyFQAALVbAACjYQAAlWYAAIlrAAB/ bwAAdnIAAGx3AABgfgAAWn8GAFWAFABSgSEAUIIsAE6CNwBNg0AAS4NIAEqCUAFIglgCRoFhAkSA agNCf3UEP36DBT19kwY7faYHOXy9Bzh85Qc4e/4GN3r/BTd6/wQ3ef8EN3n/BDd5/wQ3ef8Ev1gA AKtfAACbZQAAjmoAAINvAAB5cwAAcHgAAGZ9AABchQAAUooAAE2MDgBKjBsASI0nAEaNMgBFjjsA RI5EAEKOTABBjlUAP41eAT2MaAI7i3MCOYqBAzeJkgQ2iaUENIi8BDOH5AQyhv4DMoT/AzGD/wMx g/8DMYL/AzGC/wMxgv8DtlwAAKJjAACSaQAAhm8AAHxzAABzeAAAaX4AAGCFAABXjAAATJYAAEWa CABBmxQAP5shAD2cKwA8nDUAOpw+ADmcRwA4nFAAN5xZADabZAA0mnABMpl+ATGYjwEvmKMCLZe7 AiyW4wEsk/0BK5H/ASqP/wEqjv8BKo7/ASqO/wEqjv8BqmEAAJhoAACKbgAAf3MAAHV4AABsfwAA Y4YAAFmOAABRlgAAR58AAD2qAAA3rQ0ANK0YADOtIwAxrS4AMK03AC+tQAAurUkALa1TACysXgAr rGoAKqt5ACiqiwAnqaAAJai4ACSm4AAjo/wAI6D/ACKe/wAinf8AIpz/ACKc/wAinP8AnmcAAI5t AACCcwAAeHgAAG5/AABlhwAAW48AAFOZAABKogAAQawAADi2AAAvwAQAKcMOACfDGQAmwiQAJcIu ACPCNwAjwUEAIsFLACHAVgAgv2IAHr5xAB29hAAcu5oAGrqyABi42AAYtPoAGLH/ABiv/wAYrf8A GK3/ABit/wAYrf8AkmwAAIVyAAB6dwAAcH4AAGeHAABdkQAAVJsAAEumAABDsAAAOroAADLEAAAp zQIAIdYIABzdDgAa2xgAGNsiABfaLAAW2TYAFdhAABTXSwAT1lgAEtRoABHSegAQ0JEAD86rAA7L zAAOx/YADsT/AA7C/wAOwP8ADb//AA2//wANv/8Ah3IAAHx3AAByfgAAaIgAAF+TAABVngAATKoA AEO1AAA7wAAAMssAACrVAAAi3QAAG+QDABf2CwAU9xMAEvUbABD0IwAP8ywADvI1AAzxPwAL70sA CuxZAAjnagAH5H8ABeGYAATetAAD3OAAAdn9AAHX/wAC0/8AA8//AATO/wAEzv8AfncAAHR9AABq iAAAYJQAAFahAABNrgAAQ7sAADvHAAAy0gAAKt4AACLmAAAb7AAAFfYAABL/BwAQ/w4ADf8TAAv/ GgAJ/yEABv8pAAP/MgAB/z0AAP9JAAD8WAAA+GsAAPaBAADzmwAA8bgAAO/lAADo9QAA4/0AAN// AADe/wAA3v8Adn0AAGyHAABikwAAWKAAAE6uAABFvAAAPMoAADLYAAAq5QAAIe8AABr1AAAT+gAA EP8AAA3/AQAK/wcAB/8MAAT/EQAA/xcAAP8dAAD/JQAA/y4AAP85AAD/RgAA/1YAAP9qAAD/gQAA /5sAAP+2AAD9xwAA9tMAAPHhAADx4wAA8eMAbYYAAGSSAABangAAUawAAEi5AAA/xwAANtUAAC3i AAAl7QAAHfUAABX9AAAQ/wAADP8AAAj/AAAE/wAAAP8FAAD/CQAA/w0AAP8SAAD/GAAA/yAAAP8p AAD/NQAA/0IAAP9TAAD/ZwAA/30AAP+WAAD/rQAA/7MAAP+4AAD/uQAA/7kAZpAAAFycAABUqQAA S7YAAELEAAA50QAAMd8AACnqAAAh8gAAGfoAABL/AAAP/wAAC/8AAAj/AAAE/wAAAP8EAAD/CAAA /wsAAP8PAAD/EwAA/xkAAP8fAAD/KAAA/zIAAP8/AAD/TgAA/2AAAP9zAAD/hgAA/5cAAP+jAAD/ pgAA/6YA/yEhAP8gIgD/HSQA/xkoAP8ULQD/DjQA/wk9AP8DRgD/AFEA/wBbAP8AZgD/AHAA/wB5 AP8AggD/AIsA/wCUAP8AnAD/AKQA/wCtAP8AsgD/ALcA/wC8AP8AwgD/AMkA/wDSAP0A4QD3AOoA 8QDxAOsA9wDoAPwA5QD+AOQA/wDkAP8A/yMfAP8hHwD/HyEA/xslAP8WKgD/EDEA/ws5AP8FQwD/ AE0A/wBYAP8AYwD/AG4A/wB4AP8AggD/AIsA/wCUAP8AmwD/AKMA/wCrAP8AtAD/ALkA/wC+AP8A xgD/AM4A/wDdAPoA6ADzAPEA7QD4AOgA/gDkAP8A4QD/AOAA/wDgAP8A/yUcAP8jHAD/IR4A/x0h AP8ZJwD/Ei0A/w01AP8HPwD/AUkA/wBVAP8AYAD/AGsA/wB1AP8AfQD/AIYA/wCOAP8AlgD/AJ4A /wClAP8ArgD/ALgA/wDCAP8AywD/ANoA/QDmAPUA8ADuAPkA6AD/AOMA/wDeAv8A2gP/ANgE/wDY BP8A/ycZAP8mGQD/IxoA/yAdAP8bIgD/FigA/w8wAP8KOgD/BUUA/wJQAP8AWwD/AGYA/wBvAP8A eAD/AIAA/wCIAP8AkAD/AJgA/wCgAP8AqQD/ALIA/wC/AP8A0AD/AOUA+ADwAPAA+gDpAv8A4QX/ ANkI/wDSCP8Azgn/AMwJ/wDMCf8A/ykWAP8oFAD/JhUA/yMXAP8eHAD/GSIA/xMqAP8QNQD/DUAA /wtLAP8KVgD/CGAA/whpAP8IcgD/CHoA/wiCAP8IigD/B5IA/webAP8HpAD/B64A/Qa5APgGygDy BeQA7QX1AOgH/wDeCv8A1Az/AMwN/wDGDv8Aww7/AMEP/wDBD/8A/ysSAP8rEQD/KRAA/yUSAP8h FQD/HBwA/xomAP8XMAD/FDsA/xJGAP8RUAD/EFoA/xBkAP8QbQD/EHUA/hB9APsQhQD4EI0A9RCW APIPnwDvD6oA6w+2AOYPxwDfDuMA1hD2AM8R/wDJEv8AxBP/AL8U/wC5Ff8AthX/ALQW/wC0Fv8A /y4PAP8tDQD/LAwA/ykMAP8kDgD/IhcA/yAgAP8eKwD/GzYA/xpAAP4YSwD4GFUA8xhfAO8YZwDr GHAA6Bh4AOQYgADhGIkA3RiSANoYnADVGKcA0RizAMwZxADGGeAAvxv1ALgc/wCyHf8ArR7/AKoe /wCnHv8Aph7/AKUe/wClHv8A/zAMAP8wCQD/LwcA/ywGAP8pCgD/JxEA/yUaAP8jJQD5ITAA8CA7 AOgfRgDhH1AA3CBZANYgYgDSIWsAziFzAMshewDIIoMAxCKNAMEilwC9I6IAuSOuALUkvQCxJNUA qiXxAKUm/wCgJv8Amyf/AJgn/wCWJ/8AlCf/AJQn/wCUJ/8A/zMJAP8zBAD/MgEA/y8AAP8uBQD/ LAsA/ykTAPEmHQDkJSgA2SU0ANAnQADJKEsAxClUAL8pXQC8KmUAuCptALUrdQCyK34AryyHAKws kQCpLJwApiypAKMtuACfLc0Ami7sAJQu/wCQLv8AjC//AIkv/wCHL/8Ahi//AIUv/wCFL/8A/zUF AP81AAD9NAAA9TMAAOszAADmMQUA6CwLAN4qFADOKyIAwy4vALsvOwC1MEYAsTFQAK0yWACpMmEA pzNpAKQzcQChM3kAnjOBAJwziwGZM5cBljOjAZM0sgGPNMUBizTmAYY1/AGCNf8BfzX/AXw1/wF7 Nf8BejX/AHk1/wB5Nf8A/zcCAPs3AADzOAAA6DkAANw6AADUOQEA0DQGAMowDwC8Mx0AsjUrAKs2 NwClOEIAoThLAJ45VACbOVwAmDlkAJU5bACTOXQBkDl8AY05hgGLOZECiDmeAoU5rAKBOb8Dfjrf A3o6+AJ3O/8CdDv/AXI7/wFxO/8BcDv/AW87/wFvO/8B/zgAAPM6AADrPAAA3D8AAM1AAADEPwAA vzwCALk4CwCtOhkApDsnAJ09MwCYPj4AlD5IAJE/UACOP1gAjD9gAYk/ZwGGP28BhD93AoE+gQJ/ PowDfD6ZA3k+qAR2PrkEcz/UBHA/9ARtQP8Da0D/AmlA/wJoQP8BZ0D/AWdA/wFnQP8B+DkAAO09 AADjPwAA0EMAAMJFAAC4RQAAsUIAAKw+BwChPxUAmEEjAJJCMACNQzsAikREAIdETQCERFUAgURc AX9EZAF8RGsCekNzAndDfQN1Q4cEckOUBG9CowVtQ7UFakPNBWdD8AVlRP8EZET/A2JF/wJhRf8C YUX/AmBF/wFgRf8B8zwAAOdAAADbQwAAxkcAALlJAACuSQAAp0gAAKFEAwCXRBIAj0YgAIlHLACE SDcAgUhBAH5JSgB7SVIAeElZAXZIYAF0SGgCcUhwA29HeQNtR4QEakeRBWhHoAZlR7EGY0fIB2BH 7AZfSP8FXUn/BFxJ/wNcSf8CW0n/AltJ/wJbSf8C7z4AAOJCAADSRgAAv0oAALFNAACnTQAAn0wA AJhIAACOSQ8AhkodAIBLKQB8TDUAeU0+AHZNRwBzTU8AcU1WAW9NXQFtTGUCakxtA2hLdgRmS4AF ZEuNBmFLnAZfSq0HXUvEB1pL6QdZTP8GWEz/BFdN/wNXTf8DVk3/AlZN/wJWTf8C6kAAANxFAADK SQAAuE0AAKpQAACgUQAAmFAAAJFNAACGTQwAfk4aAHlPJgB1UDIAclE8AG9RRQBtUUwAa1FUAWlR WwFmUGICZFBqA2JPcwRgT30FXk+KBlxOmQdZTqsHV0/BCFVP5ghUT/4GU1D/BFNQ/wNSUP8DUlD/ AlJR/wJSUf8C5kIAANZHAADDTAAAslAAAKVTAACaVAAAkVQAAIlRAAB/UgoAeFIXAHJTJABuVC8A bFU5AGlVQgBnVUoAZVVRAWNUWAFhVGACX1RoA11TcQRbU3sFWVOIBldSlwdVUqkIUlK+CFFT4whP U/0GT1T/BU5U/wROVP8DTlT/A01U/wJNVP8C4UQAANFJAAC9TgAArFMAAJ9WAACVVwAAjFgAAINV AAB5VgYAcVcUAGxYIQBpWCwAZlk2AGRZPwBiWUgAYFlPAV5ZVgFcWV4CW1hmA1lYbwRWV3kFVFeG BlJWlQdQVqYHTla8CExX4QhLV/sGS1f/BUpY/wRKWP8DSlj/A0lY/wJJWP8C3EcAAMtLAAC3UQAA p1UAAJpZAACPWgAAhlsAAHxaAAByWwMAa1sRAGZcHgBjXSoAYF00AF5ePQBdXkUAW15NAFleVAFY XVwCVl1kAlRcbANSXHcEUFuDBU1bkwZLW6QHSVu5B0hb3gdHW/oGRlz/BUZc/wRGXP8DRVz/A0Vc /wJFXP8C1kkAAMZOAACwVAAAoVgAAJVcAACKXgAAgF8AAHZfAABsYAAAZWAOAGFhGwBdYicAW2Ix AFljOgBYY0MAVmNLAFVjUgFTY1kBUWJhAk9iagNNYXUES2GBBUlgkAZHYKIGRWC3B0Ng2gdCYPkG QmD/BEJg/wNBYP8DQWD/AkFg/wJBYP8C0EsAAL5RAACqVwAAm1sAAI9fAACFYQAAe2MAAHBkAABm ZQAAX2YLAFpnFwBXZyMAVWguAFNpNwBSaUAAUWlIAE9pTwBOaVcBTGhfAkpoaAJIZ3IDRmd/BERm jgVCZqEFQGa2Bj5m1gY+ZvgFPWb/BD1l/wM9Zf8DPGX/Ajxl/wI8Zf8CyU4AALZUAACjWgAAlV8A AIljAAB/ZQAAdWgAAGtqAABgbAAAWW0GAFRuEwBRbh8AT28qAE1vNABMcDwAS3BFAElwTABIcFQA RnBdAUVvZgJDb3ACQW59Az9ujAQ9bZ8EO220BDlt0gQ5bfYEOGz/Azhs/wI3a/8CN2v/Ajdr/wI3 a/8CwlEAAK5YAACcXgAAj2MAAINmAAB5agAAcGwAAGZvAABZdAAAUnUAAE12DgBKdxoASHclAEZ4 LwBFeDgAQ3hBAEJ4SQBBeFEAQHhZAD54YwE9d24BO3d6Ajl2igI3dp0DNXayAzR20AMzdfUCM3T/ AjJz/wIycv8BMXL/ATFy/wExcv8BuVUAAKVcAACVYgAAiGcAAH1rAAB0bgAAa3EAAGF2AABWegAA TH4AAEaACQBCgRQAQIEgAD6CKgA9gjMAO4I8ADqCRAA5gkwAOIJVADeCXwA2gmoANIF3ATKBhwEx gJoBL4CwAS6AzQEtfvQBLH3/ASx7/wEre/8BK3r/ASt6/wErev8Br1kAAJxhAACNZgAAgWsAAHdv AABucwAAZXgAAFt9AABSggAAR4gAAD+MAQA5jg4AN44ZADWPJAA0jy0AMo82ADGPPgAwj0cAL49Q AC6OWgAtjmUALI5zACqNgwApjZcAJ4ytACaLygAlifIAJYf/ACSG/wAkhf8AI4X/ACOE/wAjhP8A pF8AAJNmAACFawAAenAAAHF0AABoeQAAXn8AAFWFAABMiwAAQ5IAADmZAAAwnwYALaARACugHAAp oCYAKJ8vACefNwAmn0AAJZ9JACSeVAAjnl8AIp1tACGcfQAfm5IAHpqpAByZxQAbl/AAG5T/ABuT /wAbkv8AG5H/ABqQ/wAakP8AmWUAAIlrAAB+cAAAdHQAAGt6AABhgQAAWIgAAE+QAABGlwAAPZ8A ADSnAAArrgAAI7QIACC1EgAetBwAHbQmABy0LwAbszgAGrNBABmyTAAYsVcAFrBlABWvdgAUrosA E6yjABGqwAARqOwAEaX/ABGi/wARof8AEaD/ABGg/wARoP8AjmoAAIFwAAB3dAAAbXsAAGODAABa iwAAUZQAAEedAAA/pQAANq4AAC22AAAlvQAAHcUCABbLCAASzhAAEc0ZABDMIwAQyy0ADso3AA7J QQANx00ADMVbAAvDbAAKwX8ACb6YAAi8sgAHudkAB7f6AAe1/wAHs/8AB7L/AAey/wAHsv8Ag3AA AHl1AABvewAAZYQAAFuNAABSmAAASaIAAECsAAA3tgAALr8AACbHAAAfzgAAF9UAABHbAwAN4QgA CuQQAAnhGAAI4CIABt8rAAXeNgAD3UEAAtxOAAHZXQAA1m8AANSGAADRoAAAzr0AAMvpAADJ/wAA yP8AAMf/AADG/wAAxv8Ae3UAAHF7AABnhQAAXY8AAFObAABJpwAAQLMAADe+AAAuyAAAJtEAAB7a AAAX4AAAEeYAAA3rAAAJ9gMABvgKAAP0EAAA8hcAAPIgAADyKQAA8jMAAPI/AADyTQAA8F4AAO1y AADrigAA6KYAAObFAADk7wAA3foAANj/AADW/wAA1v8Ac3sAAGmFAABfkAAAVZwAAEupAABBtwAA OMQAAC7RAAAm3AAAHuUAABbrAAAQ8QAAC/YAAAb7AAAD/wAAAP8CAAD/CAAA/w4AAP8UAAD/HAAA /yUAAP8wAAD/PQAA/0wAAP9eAAD/cwAA/4wAAP+oAAD8wAAA8s0AAO3cAADq4gAA6uIAa4QAAGGP AABYmwAATqgAAEW1AAA8wgAAMs8AACncAAAh5wAAGe8AABH2AAAM/QAABf8AAAD/AAAA/wAAAP8A AAD/AAAA/wQAAP8KAAD/EAAA/xcAAP8hAAD/LQAA/zoAAP9KAAD/XAAA/3IAAP+KAAD/ogAA/7AA AP+1AAD/uAAA/7gAY44AAFqZAABRpgAASLMAAD/AAAA2zAAALtoAACblAAAe7QAAFvQAABD7AAAK /wAABf8AAAH/AAAA/wAAAP8AAAD/AAAA/wEAAP8FAAD/CgAA/xAAAP8WAAD/IAAA/ysAAP84AAD/ RwAA/1gAAP9rAAD/fwAA/5AAAP+dAAD/pAAA/6QA/x0gAP8bIQD/FyMA/xImAP8NKwD/BTIA/wA7 AP8ARAD/AE8A/wBZAP8AYwD/AG0A/wB1AP8AfgD/AIYA/wCPAP8AlwD/AJ8A/wCoAP8ArwD/ALMA /wC4AP8AvAD/AMIA/wDKAPsA1gD0AOMA7gDsAOgA8wDjAPgA4AD7AN4A/QDeAP0A/x4eAP8cHgD/ GR8A/xQjAP8OKAD/CC8A/wA3AP8AQQD/AEsA/wBWAP8AYAD/AGoA/wB0AP8AfQD/AIYA/wCOAP8A lgD/AJ0A/wClAP8ArQD/ALUA/wC6AP8AvwD/AMcA/wDQAPcA4QDwAOsA6QDzAOMA+gDeAP8A2wD/ ANgA/wDYAP8A/yAbAP8eGwD/GxwA/xYfAP8QJAD/CioA/wEyAP8APAD/AEcA/wBSAP8AXQD/AGcA /wBwAP8AeAD/AIAA/wCIAP8AkAD/AJcA/wCfAP8ApwD/ALEA/wC8AP8AwwD/AM0A+gDdAPIA6QDr APMA4wD7AN0A/wDYAP8A1AD/ANIA/wDSAP8A/yIXAP8gFwD/HRcA/xkaAP8THgD/DCUA/wQtAP8A NgD/AEIA/wBNAP8AVwD/AGEA/wBqAP8AcgD/AHoA/wCCAP8AiQD/AJEA/wCZAP8AoQD/AKsA/wC1 AP8AxAD9ANoA9QDoAOwA8wDkAP0A3QD/ANYA/wDRAP8AzAD/AMkA/wDJAP8A/yQTAP8iEgD/HxIA /xsUAP8VGAD/Dx4A/wknAP8FMgD/AT0A/wBHAP8AUgD/AFsA/wBkAP8AbAD/AHQA/wB8AP8AgwD9 AIsA+gCTAPgAnAD1AKUA8gCwAO4AvQDqANAA5gDrAOEA+gDdAP8A0wH/AMoE/wDEBv8AwAb/AL0G /wC9Bv8A/ycQAP8lDgD/Ig0A/x0OAP8XEQD/ExkA/xAiAP8NLAD/CjcA/whCAP8HTAD/BlYA/wZf APsGZwD3Bm8A8gZ2AO4GfgDqBoYA5waOAOQGlwDhBqEA3QesANgHuQDTB8sAzgfnAMgJ+gDCC/8A vAv/ALcM/wC0Df8Asg3/ALEN/wCxDf8A/ykMAP8oCgD/JQgA/yAIAP8bCwD/GBMA/xYcAP8TJwD/ EDEA+w88APQORgDuDlAA6Q5ZAOUOYQDhDmkA3Q5xANkOeQDVDoEA0g6KAM4PkwDKEJ4AxhCpAMIQ twC+EMoAtxHoALAT/QCqFP8ApRX/AKIV/wCfFf8AnRb/AJwW/wCcFv8A/ysJAP8qBQD/JwEA/yIA AP8gBQD/HQ0A/xoVAPoXIADuFSsA5BQ2ANwUQADUFUoAzhZTAMoWXADGF2QAwhhrAL8YcwC8GXsA uRmDALYZjQCyGpcArxqjAKsasQCnG8MAoxvjAJ0d+QCYHv8Akx7/AJAf/wCOH/8AjB//AIsf/wCL H/8A/y4EAP8tAAD/KgAA+iYAAPElAADvIQYA9B0OAOUaFwDWGiMAyxwwAMMdOwC8H0UAtyBOALMh VgCwIV4ArSJmAKoibQCnInUApSN9AKIjhwCfI5IAnCSeAJkkrACWJL0AkiXbAI0m9QCIJv8AhCf/ AIEn/wB/J/8AfSf/AHwn/wB8J/8A/zABAP4uAAD2LgAA7C4AAOAuAADYKwEA1CUHAM4gEADAIx4A tiUrAK4mNgCpJ0AApShJAKEpUgCeKlkAmyphAJkqaACXK3AAlCt4AJIrggCPLI0AjSyZAIospwCH LbgAgy3RAH8u8QB7Lv8AeC7/AHUv/wBzLv8Aci7/AHEu/wBxLv8A/zIAAPUyAADtMwAA3jUAAM81 AADFMwAAwC4CALopDACuKhkApSwmAJ8uMgCaLzwAljBFAJIwTQCQMVUAjTFdAIsxZACJMmwAhzJ0 AIQyfQCCM4gAgDOUAH0zowB6M7MBdzTKAXM07AFwNP8AbTX/AGs1/wBqNf8AaTX/AGg1/wBoNf8A +DMAAO42AADkNwAA0DoAAME7AAC3OgAAsDYAAKoxBwCgMRUAmDMiAJI0LgCNNTgAiTZBAIY3SgCE N1EAgTdZAH84YAB9OGgAezhwAHk4eQB3OIMBdTiQAXI4ngFwOa8BbTnEAWo56AFnOv4BZTr/AWM6 /wBiOv8AYTr/AGA6/wBgOv8A8zYAAOc5AADaOwAAxT8AALdAAACsPwAApTwAAJ44AgCVNxEAjTke AIc6KgCCOzUAfzw+AHw8RgB6PE4AeD1VAHY9XQB0PWQAcj1sAHA9dQFuPX8BbD2LAWk9mgJnPasC ZT6/AmI+4wJgPvwCXj//AVw//wFbP/8BWz//AFo//wBaP/8A7jkAAOE8AADPPwAAvEMAAK5EAACk RAAAnEIAAJQ9AACLPA4Agz0bAH0/JwB5QDIAdkA7AHNBQwBxQUsAb0FSAG5CWQBsQmEAakJpAWhC cQFmQnwBZEKIAmJClwJgQqcCXkK7A1xC3gNZQ/kCWEP/AVdD/wFWQ/8BVUP/AVVD/wBVQ/8A6TsA ANs/AADHQgAAtUYAAKhIAACdSAAAlEcAAIxCAACCQQsAe0IXAHZDJAByRC8Ab0Q4AGxFQQBqRUgA aUZPAGdGVwBlRl4AZEZmAWJGbgFgRngBXkaFAlxGkwJaRqQDWEa4A1ZG2QNUR/cDU0f/AlJH/wFR R/8BUEf/AVBH/wFQR/8B5D0AANVBAADBRQAAr0kAAKJLAACXTAAAjksAAIVGAAB7RggAdEYUAG9H IQBrSCwAaEg1AGZJPgBkSUUAY0pNAGFKVABfSlsAXkpjAVxKbAFbSnYCWUqCAldJkQNVSaIDU0q1 A1FK0wNPSvUDTkv/Ak1L/wFMS/8BTEv/AUxL/wFMS/8B3z8AAM9DAAC6SAAAqUwAAJ1OAACSTwAA iE4AAH5KAAB1SgUAbkoSAGlLHgBlTCkAYkwzAGBNOwBfTUMAXU1KAFxNUQBaTlkAWU5hAVdOaQFW TXMCVE2AAlJNjgNQTaADTk2zA0xOzwNLTvQDSk7/AklO/wFITv8BSE7/AUhO/wFITv8B20EAAMpF AAC0SwAApE8AAJhRAACNUgAAg1IAAHhOAABvTwEAaE8PAGNPGwBgUCYAXVAwAFtROQBZUUEAWFFI AFdSTwBWUlcAVFJfAFNSZwFRUXEBT1F9Ak1RjANMUZ4DSlGxA0hSzANGUvIDRlL/AkVS/wFEUv8B RFL/AURS/wFEUv8B1UQAAMRIAACvTQAAn1IAAJNUAACIVgAAflYAAHNUAABpUwAAYlMNAF5UGABa VCQAWFUtAFZVNgBVVT4AU1ZGAFJWTQBRVlUAUFZdAE5WZQFNVm8BS1Z7AklWigJHVZsDRVavA0NW yQNCVvADQVb/AkFW/wFAVv8BQFb/AUBW/wFAVv8Bz0YAAL1LAACpUAAAmlUAAI5XAACDWQAAeVoA AG5ZAABkWAAAXVgKAFhYFQBVWSEAU1orAFFaNABQWjwATltDAE1bSwBMW1IAS1taAElbYwFIW20B Rlt5AkRbiAJCWpkCQFqtAz9bxwM9W+8CPVv/Ajxa/wE8Wv8BPFr/ATta/wE7Wv8ByUgAALZOAACj VAAAlVgAAIlbAAB+XQAAdF4AAGpeAABeXQAAWF4GAFJeEgBPXx0ATV8nAEtgMABKYDkASWBAAEhh SABHYVAARmFYAERhYQBDYWsBQWB3AT9ghQE9YJcCO2CrAjpgxQI5YO0COGD/AThf/wE3X/8BN1// ATdf/wE3X/8Bw0sAAK5RAACdVwAAj1sAAINeAAB5YQAAcGIAAGVjAABZZAAAUmUBAExlDgBJZRkA R2YjAEVmLQBEZzUAQ2c9AEJnRQBAZ0wAP2dVAD5nXgA9Z2gAO2d0ATpngwE4Z5UBNmepATRnwgEz Z+sBM2b/ATJl/wEyZf8BMWT/ADFk/wAxZP8AvE4AAKdVAACWWwAAiV8AAH5iAAB0ZQAAa2cAAGFp AABVawAATWwAAEZtCQBCbRQAQG4fAD5uKAA9bzEAPG85ADpvQQA5b0kAOG9RADdvWgA2b2UANW9x ADNvgAAybpIAMG6nAS5uwAEtbukALW3/ACxs/wAsa/8AK2v/ACtr/wAra/8As1IAAJ5ZAACPXwAA g2MAAHhnAABvagAAZmwAAFxvAABRcgAASHQAAD92AwA6dw8AOHcZADZ4IwA1eCwAM3g0ADJ4PAAx eEQAMHhNAC94VgAueGEALXhtACx4fAAqd48AKXekACd3vQAmduYAJnX/ACV0/wAlc/8AJHP/ACRy /wAkcv8AqFcAAJZeAACIYwAAfWgAAHNrAABqbwAAYXIAAFd2AABNegAAQ30AADqAAAAygwgAL4MT AC2DHQAshCYAKoQuACmENgAohD8AJ4RHACaDUQAlg1sAJINoACOCdwAhgooAIIGgAB6BuQAdgOMA HX7+AB19/wAdfP8AHHv/ABx7/wAce/8Anl0AAI5jAACBaAAAdmwAAG5wAABkdQAAW3kAAFF+AABI gwAAPogAADWMAAAtkAAAJpMLACOTFQAikx4AIJMnAB+TLwAekzgAHZJBABySSgAbkVUAGpFiABmQ cgAXj4QAFo6bABWNtQATjN4AE4r9ABOI/wATh/8AE4f/ABOG/wAThv8Ak2IAAIVoAAB6bQAAcXEA AGd2AABefAAAVIIAAEuIAABCjgAAOZQAAC+aAAAnnwAAH6MBABmnDAAWpxQAFaceABSnJgATpi8A EqY5ABKlQgARpE4AEKNbAA+iagAOoH0ADZ+UAAydrQALm8wAC5n1AAuW/wALlf8AC5X/AAuU/wAL lP8AiWgAAH1uAABzcgAAangAAGB+AABXhgAATY0AAESUAAA7mwAAMqIAACmpAAAhrwAAGbQAABO5 AwAOvwoADL4TAAu9HAAJvCUACLsvAAi6OQAHuEQABrdRAAS1XwADs3EAArCGAACunwAArLsAAKnn AACo/gAAp/8AAKb/AACl/wAApf8AgG4AAHZzAABseAAAYoAAAFiJAABPkQAARZsAADyjAAAzrAAA K7MAACO7AAAbwAAAE8YAAA7LAAAK0AMABdEMAAPREwAB0BwAANAlAADPLgAAzzkAAM5FAADMUwAA ymQAAMd3AADFjwAAwqoAAMDJAAC+8wAAvP8AALv/AAC6/wAAuv8AeHMAAG95AABkggAAWosAAFCW AABGoQAAPasAADS1AAArvgAAIsYAABvNAAAU0wAADtkAAAneAAAE4gAAAOQEAADlDAAA5RIAAOYa AADnIgAA5ywAAOg3AADpRQAA5lUAAORnAADhfQAA35cAANyxAADa1gAA2fUAANP8AADP/wAAz/8A cHkAAGaDAABcjQAAUpkAAEilAAA+sgAANL4AACvIAAAi0gAAGtsAABPhAAAN5wAACOwAAALwAAAA 8wAAAPUAAAD3AQAA+AkAAPoPAAD7FgAA/R8AAP8pAAD/NQAA/0MAAP9VAAD+aQAA/IEAAPqbAAD4 tgAA8McAAOrTAADl4AAA5eAAaIMAAF6NAABVmAAAS6QAAEKxAAA4vQAAL8kAACXVAAAd4QAAFekA AA7wAAAI9wAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAAD/CwAA/xIAAP8bAAD/JgAA/zMA AP9CAAD/VAAA/2oAAP+CAAD/mwAA/64AAP+zAAD/uAAA/7gAYYwAAFiXAABPowAARq8AAD27AAAz yAAAKtQAACLgAAAa6AAAE+8AAA31AAAH+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ AwAA/woAAP8RAAD/GgAA/yUAAP8yAAD/QAAA/1IAAP9mAAD/ewAA/5AAAP+fAAD/pgAA/6YA/xgf AP8VHwD/ESEA/wwkAP8EKgD/ADEA/wA5AP8AQgD/AEwA/wBWAP8AXwD/AGkA/wByAP8AegD/AIEA /wCJAP8AkQD/AJgA/wCgAP8AqQD/AK8A/wCzAP8AuAD/AL0A/wDEAPoAzQDyANwA6gDnAOMA8ADe APYA2gD6ANgA/ADWAP0A/xocAP8XHAD/Ex0A/w0hAP8GJgD/ACwA/wA1AP8APgD/AEgA/wBSAP8A XAD/AGYA/wBwAP8AeAD/AIAA/wCIAP8AjwD/AJcA/wCfAP8ApwD/ALAA/wC1AP8AugD/AMAA/gDJ APUA1QDtAOUA5QDvAN4A9wDYAPwA1AD/ANIA/wDRAP8A/xwZAP8ZGAD/FBoA/xAdAP8IIQD/ACcA /wAwAP8AOQD/AEQA/wBOAP8AWAD/AGIA/wBrAP8AcwD/AHoA/wCCAP8AiQD/AJAA/wCYAP8AoQD/ AKoA/wC1AP8AvQD/AMUA+QDQAO8A4gDmAO4A3gD4ANYA/wDRAP8AzQD/AMsA/wDKAP8A/x0VAP8b FAD/FhUA/xEXAP8LHAD/ACEA/wApAP8AMwD/AD8A/wBJAP8AUwD/AF0A/wBlAP8AbQD/AHQA/wB7 AP8AggD/AIoA/wCRAP8AmgD/AKMA/wCtAP4AugD7AMwA8gDfAOgA7QDfAPgA1gD/AM4A/wDJAP8A xgD/AMQA/wDDAP8A/x8RAP8dEAD/GBAA/xMRAP8NFQD/AxoA/wAkAP8ALgD/ADkA/wBDAP8ATQD/ AFcA/wBfAP8AZwD+AG4A+wB1APkAfAD2AIMA9ACLAPEAkwDuAJ0A6wCnAOcAswDjAMMA3gDeANoA 8wDUAP8AzQD/AMYA/wDBAP8AvQD/ALoA/wC5AP8A/yENAP8fCwD/GgoA/xQLAP8ODQD/CxUA/wUf AP8BKQD/ADQA/wA+APkASAD1AFEA8ABZAO0AYQDpAGgA5gBvAOMAdgDgAH0A3ACFANkAjQDUAJcA 0AChAMwArQDIALwAwwDTAL4A7gC5Af4AtQP/ALEE/wCtBf8AqwX/AKkF/wCpBf8A/yQJAP8hBQD/ HAMA/xYCAP8SBwD/Dw8A/wwYAP8IIwD3Bi0A6wQ4AOQFQgDfBUsA2gZTANUGWwDQB2IAzQdpAMoH cADHB3cAwwh/AMAIiAC9CJIAuQidALUJqgCxCbkArQrPAKkL7QCjDf8Ang3/AJoO/wCXDv8Alg7/ AJQP/wCUD/8A/yYEAP8jAAD/HgAA/xgAAP0WAAD9EwkA/xARAPANGwDfCyYA1QsxAM0MPADHDUUA wg5OAL4PVgC6EF0AtxBkALQQawCxEXIArhF6AKsRgwCoEo4ApRKaAKISpwCeE7cAmxPNAJUU7QCQ Ff8AjBb/AIgX/wCGF/8AhBf/AIMX/wCDGP8A/ygAAP8lAAD6IwAA8SEAAOYgAADfGwIA3BQJANcQ EgDIEh8AvhMrALYVNgCwFkAAqxdIAKgYUAClGVgAohlfAJ8aZgCdGm0Amhp1AJgbfgCVG4gAkxuU AJAcogCNHLEAiR3GAIUd6ACAHv4AfB//AHkg/wB3IP8AdiD/AHUg/wB1IP8A/yoAAPcqAADwKQAA 4SoAANMpAADJJgAAwyAEAL4YDQCyGhkAqh0mAKMeMQCeHzsAmiBDAJYhSwCTIVMAkSJaAI8iYQCM I2gAiiNwAIgjeACGJIMAgySPAIEknQB+JawAeyXAAHcm4wBzJ/sAcCf/AG4n/wBsJ/8Aaif/AGon /wBpJ/8A+SwAAO8uAADmLgAA0TEAAMIxAAC4LgAAsSkAAKojBwCiIhQAmSQhAJMmLACPJzYAiyg/ AIgoRwCFKU4AgylVAIEqXAB/KmQAfSprAHsrdAB5K34AdyuKAHQsmAByLKgAby27AG0t3QBpLvgA Zi7/AGQu/wBjLv8AYi7/AGEu/wBhLv8A8zAAAOgyAADaMwAAxTYAALY3AACsNQAApDEAAJwsAgCU KREAjCsdAIYsKACCLTMAfy47AHwvQwB5L0sAdzBSAHUwWQB0MGAAcjFnAHAxcABvMXoAbTKGAGsy lABoMqQAZjO3AGQz1ABhNPUAXzT/AF00/wBbNP8AWjT/AFoz/wBZM/8A7TMAAOE1AADOOAAAuzsA AK08AACiOwAAmjcAAJEzAACJMA0AgTEZAHwyJQB4My8AdTQ4AHI0QABwNUcAbjVOAGw1VQBrNlwA aTZkAGg2bABmN3YAZDeCAGM3kABhN6EAXzizAFw4zgBaOfIAWDn/AFY5/wBVOf8AVDn/AFQ4/wBT OP8A6DYAANo4AADFPAAAsz8AAKVAAACbQAAAkT0AAIg4AAB/NQoAeDYWAHM3IQBvOCwAbDk1AGo5 PQBoOkQAZjpLAGU6UgBjOlkAYjthAGE7aQBfO3MAXjt/AFw8jQBaPJ4BWDywAVY9yQFUPe8BUj3/ AFE9/wBQPf8ATz3/AE49/wBOPf8A4zgAANM6AAC+PwAArEIAAJ9EAACURAAAi0EAAIE9AAB4OgYA cToTAGw7HgBoPCkAZj0yAGM9OgBiPkEAYD5IAF8+TwBdP1YAXD9eAFs/ZgBZP3AAWEB8AFZAigBU QJsBUkCuAVFBxgFPQewBTUH/AExB/wBLQf8ASkH/AEpB/wBKQf8A3joAAM49AAC3QgAAp0UAAJpH AACPRwAAhUYAAHtBAABxPwMAaj8QAGZAGwBiQCYAYEEvAF1BNwBcQj8AWkJGAFlCTABYQlQAV0Nb AFVDZABUQ24AU0R5AFFEhwFPRJgBTUSrAUxFwwFKReoBSUX/AUdF/wBHRf8ARkX/AEZE/wBFRP8A 2TwAAMg/AACyRQAAokgAAJVKAACKSwAAgEoAAHVFAABsQwAAZUMNAGBEGABdRCMAWkUsAFhFNQBW RTwAVUZDAFNGSgBTRlEAUkdZAFFHYgBPR2sATkd3AExIhQFLSJYBSUipAUdIwQFFSegBREn/AUNI /wBCSP8AQkj/AEJI/wBBSP8A0z4AAMFCAACsRwAAnUsAAJBNAACFTgAAe00AAHBJAABmSAAAYEgL AFtIFgBXSCAAVUkqAFNJMgBSSToAUEpBAE9KSABOSk8ATUtXAExLYABLS2kASkt1AEhLgwBGS5QB RUynAUNMvgFBTOYBQEz/AT9M/wA+TP8APkz/AD5M/wA9TP8AzkAAALtFAACnSgAAmE4AAIxQAACB UQAAd1EAAGxOAABhTAAAW0wIAFZMEwBSTR4AUE0nAE5NMABNTjgATE4/AEpORgBJT00ASE9VAEdP XQBGT2cARU9zAENQgQBCUJIBQFClAT5QvAE9UOQBPFD+ADtQ/wA6UP8AOlD/ADlP/wA5T/8AyUMA ALVIAACiTQAAk1EAAIdUAAB9VQAAc1UAAGhTAABcUQAAVlEEAFBREABNURsAS1IkAElSLQBIUzUA R1M8AEVTRABEU0sAQ1RSAEJUWwBBVGUAQFRwAD5UfgA9VI8AO1SjATlVugE4VeEBN1X9ADZU/wA2 VP8ANVT/ADVT/wA1U/8Aw0UAAK5LAACcUAAAjlQAAINXAAB4WAAAblkAAGRYAABYVwAAUFcAAEtX DQBIVxcARVchAERYKgBCWDIAQVg5AEBZQQA/WUgAPllQAD1ZWAA8WWIAOlluADlZfAA4Wo0ANlqh ADRauAAzWt4AMln7ADFZ/wAxWf8AMFj/ADBY/wAwWP8AvUgAAKdPAACXVAAAiVgAAH5bAAB0XQAA al0AAGBeAABVXQAATF0AAEVdCQBBXRMAP14dAD1eJgA8Xy4AO182ADpfPQA5X0UAOF9NADdfVQA1 X18ANF9rADNfeQAyYIoAMGCfAC5gtgAtYNoALF/6ACxe/wArXv8AK13/ACtd/wAqXf8AtUwAAKBT AACQWAAAhFwAAHlfAABvYQAAZmIAAFxjAABRZAAASWUAAEBlBAA6ZQ8AOGUYADZmIgA1ZioANGYy ADNmOgAyZ0EAMWdJADBnUgAuZ1wALWdoACxmdgArZocAKWacAChmswAmZtQAJmX4ACVl/wAlZP8A JGT/ACRj/wAkY/8Aq1AAAJlXAACKXAAAfmAAAHRjAABrZgAAYmcAAFhpAABNawAARGwAADtuAAAz bgoAMG8TAC5vHAAtbyUALG8tACtvNQAqbz0AKW9FAChvTgAnb1gAJW9kACRvcgAjb4MAIW6YACBu rwAebs8AHm32AB5s/wAea/8AHWv/AB1q/wAdav8AolUAAJFcAACDYQAAeGUAAG9oAABmawAAXW0A AFNwAABJcwAAP3UAADd3AAAueQIAKHoNACV6FgAkeh8AI3onACJ6LwAhejcAIHo/AB96SAAeelMA HXlfABt5bQAaeH4AGXiUABd3rAAWd8oAFXb0ABV1/wAVdP8AFXP/ABVz/wAVc/8AmFsAAIlhAAB9 ZgAAc2kAAGptAABhcAAAV3QAAE54AABEewAAOn8AADKCAAAphAAAIYcFABuIDgAaiBcAGYggABiI KAAXiDAAFoc5ABWHQgAUh0wAE4ZYABKGZwARhXgAEISOAA+DpwAOgsQADYHuAA5//wANfv8ADn3/ AA59/wAOff8AjmAAAIFmAAB2awAAbm4AAGRzAABaeAAAUXwAAEiBAAA+hgAANYoAACyOAAAkkgAA HJUAABWZBQAQmw4AD5sWAA6aHwANmigADZkxAAyYOgALl0UACpZRAAmVXwAIk3AAB5KEAAWQnAAD jrYABI3gAASM+gAEi/8ABIr/AASJ/wAEif8AhWYAAHlrAABxbwAAZ3UAAF17AABTgQAASocAAEGN AAA4kgAALpgAACadAAAeogAAFqYAABCqAAALrgcABq4PAASuFwADrR8AAa0oAACsMQAAqzwAAKpI AACoVQAApmUAAKR4AACijwAAoKkAAJ7IAACc8QAAm/8AAJr/AACa/wAAmf8AfGwAAHNwAABqdgAA YH0AAFaEAABMjAAAQpQAADmbAAAwogAAJ6kAAB+vAAAXtAAAEbgAAAy8AAAGwAEAAMEJAADCEAAA whcAAMEfAADBKAAAwjIAAMI9AADBSgAAv1kAALxrAAC6gQAAt5sAALW2AACz4AAAsfoAALD/AACv /wAAr/8AdXEAAGx3AABifwAAWIcAAE2RAABDmgAAOqQAADCsAAAotQAAH7wAABfCAAARxwAAC8wA AAXQAAAA1AAAANYBAADYCAAA2A4AANkVAADaHQAA2yYAANwxAADePQAA3UsAANpcAADYcAAA1YkA ANKlAADQwQAAzukAAM37AADJ/wAAyP8AbngAAGSAAABZigAAT5UAAEWhAAA7rAAAMbYAACfAAAAf yQAAF9AAABDWAAAL3AAABOEAAADlAAAA6AAAAOsAAADtAAAA7wQAAPALAADyEQAA9BoAAPYkAAD4 MAAA+j0AAPlNAAD3XwAA9XUAAPOPAADxqgAA7cMAAOXQAADg3gAA3+EAZoEAAFyLAABSlQAASaEA AD+sAAA1uAAAK8QAACLPAAAY2wAAEOIAAArqAAAC8AAAAPUAAAD4AAAA+gAAAP0AAAD/AAAA/wAA AP8AAAD/BgAA/w4AAP8VAAD/IAAA/y0AAP89AAD/TgAA/2IAAP94AAD/kQAA/6kAAP+xAAD8tgAA +rcAXooAAFWVAABMoAAAQ6sAADq3AAAwwwAAJ88AAB7aAAAW4gAAEOkAAArwAAAC9gAAAPsAAAD/ AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUAAP8NAAD/FQAA/x8AAP8sAAD/PAAA/04AAP9h AAD/dgAA/4oAAP+bAAD/pAAA/6YA/xQdAP8QHQD/Cx8A/wMjAP8AKAD/AC8A/wA3AP8AQAD/AEkA /wBTAP8AXAD/AGUA/wBtAP8AdAD/AHwA/wCDAP8AigD/AJEA/wCZAP8AogD/AKoA/wCvAP8AtAD/ ALgA/wC/APkAxwDvANMA5wDjAOAA7QDZAPQA1AD4ANIA+wDQAP0A/xUaAP8RGgD/DRwA/wUeAP8A IwD/ACoA/wAzAP8AOwD/AEUA/wBQAP8AWQD/AGIA/wBqAP8AcwD/AHoA/wCCAP8AiQD/AJEA/wCZ AP8AoQD/AKoA/wCwAP8AtQD/ALsA/QDDAPMAzgDqAOAA4QDrANkA9ADSAPsAzgD/AMsA/wDKAP8A /xYXAP8TFgD/DhcA/wgaAP8AHgD/ACUA/wAtAP8ANgD/AEAA/wBLAP8AVAD/AF0A/wBmAP8AbQD/ AHQA/wB7AP8AggD/AIoA/wCRAP8AmgD/AKMA/wCtAP8AuAD/AL8A9wDJAOwA2wDiAOkA2QD0ANEA /QDLAP8AxwD/AMQA/wDDAP8A/xgTAP8UEgD/EBIA/woUAP8AGAD/AB4A/wAmAP8AMAD/ADsA/wBF AP8ATwD/AFgA/wBgAP8AZwD/AG4A/wB1AP8AewD/AIIA/wCKAP8AkgD/AJsA/ACmAPkAsgD2AMIA 7gDVAOQA6ADaAPQA0AD/AMgA/wDDAP8AvwD/ALwA/wC7AP8A/xoOAP8WDQD/EQwA/wsOAP8BEQD/ ABYA/wAgAP8AKwD/ADYA/wBAAP8ASQD/AFIA/gBaAPsAYQD4AGgA9QBuAPIAdQDwAHsA7QCDAOoA iwDnAJQA4wCfAN8AqgDaALkA1QDNANAA6wDLAP0AxgD/AL8A/wC6AP8AtgD/ALQA/wCzAP8A/xwK AP8YBwD/EgYA/wwGAP8DCQD/ABEA/wAaAP8AJQD5ADAA9AA6APAAQwDsAEwA5wBUAOMAWwDfAGIA 2wBoANgAbgDUAHUA0AB8AM0AhADJAI4AxQCYAMEApAC9ALIAuQDEALQA4wCwAPgArAD/AKkA/wCm AP8ApAD/AKMA/wCiAP8A/x4FAP8aAQD/FAAA/w0AAP8JAwD/BQsA+gATAOwAHgDkACoA3QA0ANYA PQDRAEYAzABOAMcAVQDEAFwAwABiAL0AaQC6AG8AtwB3ALQAfwCwAYgArQGTAKoBnwCmAa0AowK+ AJ8E3ACbBfQAmAb/AJQH/wCRCP8Ajgj/AI0I/wCMCP8A/yAAAP8cAAD/FgAA+RMAAO8QAADqCwQA 5gUMANgEFwDNBCMAxgUtAL8GNwC5B0AAtAdIALAIUACtCVYAqgldAKgKZAClCmoAowpyAKALegCd C4MAmwyPAJgMnACVDKsAkQ29AI4N3ACJDvYAhA//AIEQ/wB+Ef8AfRH/AHsR/wB7Ef8A/yEAAPog AAD0HQAA5x0AANobAADPFwAAyhAFAMYJDwC5CxsAsQ0nAKoOMQClEDoAoRBDAJ0RSgCaEVEAlxJY AJUSXwCTEmUAkRNtAI4TdQCME38AiRSKAIYUmACEFacAgRW5AH0V1AB5F/QAdRj/AHIY/wBwGf8A bxn/AG4Z/wBtGf8A+iUAAPIlAADpJAAA1SYAAMYlAAC7IQAAsxsAAK4UCQCmExUAnhUhAJgWLACT GDYAjxg+AIwZRQCJGkwAhxpTAIUbWgCCG2AAgBtoAH4ccAB8HHkAeh2FAHgdkgB1HaIAcx60AHAe zQBsH/AAaSD/AGcg/wBlIf8AZCH/AGMh/wBjIf8A9CkAAOkqAADbKgAAxi0AALcsAACtKgAApCUA AJ0fAwCWGxEAjh0cAIgeJwCEHzEAgCA6AH4hQQB7IUgAeSJPAHciVQB1I1wAdCNjAHIjawBwJHUA biSAAGwkjgBqJZ0AaCWvAGUmxwBiJuwAYCf/AF4n/wBcJ/8AWyf/AFon/wBaJ/8A7S0AAOEuAADO MAAAuzIAAKwzAACiMQAAmSwAAJAnAACIIg0AgSMYAHwlIwB4Ji0AdSc2AHIoPQBwKEQAbihLAGwp UQBrKVgAaSlfAGgqZwBmKnEAZSp8AGMriQBhK5oAXyysAF0swgBaLegAWC3/AFYt/wBVLf8AVC3/ AFMt/wBTLf8A5zAAANoxAADENAAAsjcAAKQ4AACZNgAAkDMAAIYuAAB+KQkAdykUAHIrIABuLCkA ay0yAGktOgBnLkEAZS5IAGQuTgBiL1UAYS9cAGAvZABeL20AXTB4AFswhgBZMZYAWDGoAFYyvwBT MuUAUTL+AFAy/wBOMv8ATjL/AE0y/wBNMv8A4jIAANM0AAC8OAAAqjsAAJ08AACSOwAAiDgAAH80 AAB1MAUAbi8RAGowHABmMSYAZDEvAGIyNwBgMz4AXjNFAF0zSwBbM1IAWjRZAFk0YQBYNGoAVjV1 AFU1gwBTNZMAUjamAFA2uwBON+EATDf8AEo3/wBJN/8ASDf/AEg3/wBINv8A3DUAAMw3AAC1PAAA pD8AAJdAAACMPwAAgj0AAHg5AABvNQEAaDQOAGM0GQBgNSMAXTYsAFs2NABZNzsAWDdCAFc3SABV OE8AVDhWAFM4XgBSOWgAUTlzAE85gABOOpAATDqjAEo7uQBIO90ARzv6AEU7/wBEO/8AQzv/AEM7 /wBDOv8A1jcAAMU6AACvPwAAn0IAAJJDAACHQwAAfUEAAHM9AABpOgAAYjgMAF05FgBaOSAAVzop AFU6MQBUOzgAUjs/AFE7RgBQO0wATzxUAE48XABNPWUATD1wAEo9fgBJPo4ARz6hAEY+tgBEP9kA Qj/5AEE//wBAPv8APz7/AD8+/wA/Pv8A0TkAAL49AACqQgAAmkUAAI5HAACDRwAAeEUAAG5BAABk PgAAXT0JAFg9EwBVPR0AUj4mAFA+LwBPPjYATT89AEw/QwBLP0oASkBRAElAWgBIQGMAR0FuAEZB ewBEQYwAQ0KfAEFCtQA/Q9QAPkL3AD1C/wA8Qv8AO0L/ADtC/wA7Qv8AzTsAALk/AAClRAAAlkgA AIpKAAB/SgAAdEkAAGlFAABgQwAAWEEGAFNBEQBQQRsATUIkAEtCLABKQjQASEM7AEdDQQBGQ0gA RURPAEVEWABERGEAQkRsAEFFeQBARYoAPkWdAD1GswA7RtEAOkb2ADlG/wA4Rv8AN0X/ADdF/wA3 Rf8AyD0AALNCAACgRwAAkksAAIVNAAB7TQAAcU0AAGZKAABbRwAAU0YCAE5FDgBLRhgASEYhAEdG KgBFRzEAREc4AENHPwBCSEYAQUhNAEBIVQA/SF8APklqADxJdwA7SYcAOkmbADhKsAA2Ss4ANUr0 ADRK/wAzSf8AM0n/ADNJ/wAySf8Awz8AAK1FAACbSgAAjU4AAIFQAAB3UQAAbVEAAGJPAABXTAAA T0sAAElKDABGShUAQ0seAEJLJwBASy8AP0w2AD5MPQA9TEQAPExLADtNUwA6TVwAOU1nADdNdQA2 TYUANE6YADNOrgAxTssAME7zAC9O/wAvTf8ALk3/AC5N/wAuTf8AvUIAAKdJAACWTgAAiFEAAH1T AABzVQAAaVUAAF9TAABUUgAATFEAAERQCABAUBIAPlAbADxRJAA7USsAOVEzADhROgA3UUEANlJI ADVSUQA0UloAM1JlADJScgAwUoIAL1KWAC1TrAAsU8gAK1PxACpS/wAqUv8AKVH/AClR/wApUf8A tkUAAKBMAACRUQAAhFUAAHlXAABvWQAAZlkAAFxZAABRWAAASVcAAEBWAwA6Vg4AOFYXADZXIAA0 VygAM1cvADJXNwAxWD4AMFhFAC9YTgAuWFcALVhiACtYbwAqWH8AKViTACdYqgAmWMUAJVjvACRX /wAkV/8AJFf/ACRW/wAjVv8ArUoAAJpQAACLVQAAf1kAAHRbAABrXQAAYl4AAFheAABOXgAARV4A ADxeAAA0XgoAMF4TAC9eGwAtXiQALF4rACtfMwAqXzoAKV9CAChfSgAnX1QAJl9fACVfbAAjX3wA Il+QACFfpwAfX8IAHl7sAB5d/wAeXf8AHl3/AB1c/wAdXP8ApE4AAJNUAACFWQAAeV0AAHBgAABn YgAAXmMAAFRkAABJZQAAQWYAADhmAAAvZwQAKWcOACdnFgAlZx8AJGcmACNnLgAiZzUAIWc9ACBn RgAfZ08AHmdbAB1naAAbZ3gAGmaMABlmowAXZr4AFmbpABZl/wAWZP8AFmT/ABZj/wAWY/8AnFMA AItZAAB/XgAAdGIAAGtlAABjZwAAWWkAAFBrAABGbQAAPG4AADNvAAArcAAAInEHAB5xEAAccRgA G3EgABpxKAAZcTAAGHE4ABdxQAAWcUoAFXFWABRwYwATcHQAEnCHABFvnwAQb7oAD27mAA9t/wAP bP8AD2z/AA9r/wAPa/8AklkAAIReAAB5YwAAb2cAAGdqAABebQAAVHAAAEpyAABBdQAAN3cAAC55 AAAmewAAHn0AABZ+CQATfxEAEn4YABF+IQAQfikAEH4xAA5+OgAOfUQADX1PAAx8XQAMe20ACnqA AAl5lwAIeLAAB3fRAAd29gAIdv8ACHX/AAh1/wAIdf8AiV4AAH1kAABzaAAAa2wAAGFwAABXdAAA TngAAER7AAA7fwAAMYIAACiFAAAgiAAAGYoAABKMAQANjgoACY4RAAiOGQAHjiEABo0qAAWMMwAE jD0AAotIAAGKVQAAiGQAAId3AACGjQAAhKYAAIPDAACC7QAAgf8AAID/AACA/wAAgP8AgWUAAHZp AABubQAAZHIAAFt3AABRfAAAR4EAAD2GAAA0iwAAK48AACKTAAAalwAAE5oAAA6cAAAInwUAAqAM AACgEwAAnxoAAJ8iAACfKwAAnzQAAJ4/AACcTAAAm1sAAJlsAACXggAAlZsAAJS2AACS4AAAkfoA AJD/AACP/wAAj/8AeWoAAHBuAABndAAAXXoAAFOAAABJhwAAP40AADaUAAAsmgAAJKAAABulAAAU qQAADqwAAAmvAAADsgAAALMGAAC0DQAAtBIAALQaAAC1IgAAtSsAALU1AAC1QgAAs1AAALFhAACv dQAArY0AAKuoAACpxgAAp+8AAKb/AACl/wAApf8AcnAAAGl1AABffAAAVYQAAEuMAABBlQAAN50A AC2lAAAkrAAAHLIAABS4AAAOvAAACMAAAAHEAAAAxwAAAMkAAADKBAAAywsAAMwRAADNGAAAziAA ANAqAADSNQAA0kMAAM9UAADNZwAAy30AAMiYAADGtAAAxdQAAMTzAADD/wAAwf8Aa3YAAGF+AABX hwAATJEAAEKbAAA4pgAALq8AACS4AAAbwQAAFMcAAA7MAAAH0QAAANUAAADaAAAA3QAAAOAAAADi AAAA5AEAAOYIAADoDgAA6hUAAOweAADvKQAA8jUAAPJEAADwVgAA7mwAAOuFAADqoAAA6LoAAOHN AADb3QAA2OMAY38AAFmJAABPkgAARp0AADypAAAxtAAAJ78AAB7KAAAV1AAADdwAAAbjAAAA6AAA AOwAAADvAAAA8gAAAPUAAAD4AAAA+gAAAP0AAAD/AgAA/wsAAP8SAAD/HAAA/ygAAP81AAD/RgAA /1kAAP9vAAD/iQAA/6IAAP+wAAD4tQAA87kAXIkAAFOSAABKnQAAQKgAADezAAAtvwAAJMoAABvU AAAT3QAADeQAAAXqAAAA8AAAAPYAAAD6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8I AAD/EQAA/xsAAP8oAAD/NgAA/0cAAP9aAAD/bwAA/4UAAP+YAAD/owAA/6YA/xAcAP8LHAD/Ax0A /wAgAP8AJgD/AC0A/wA0AP8APgD/AEcA/wBQAP8AWQD/AGEA/wBoAP8AbwD/AHYA/wB9AP8AgwD/ AIoA/wCRAP8AmgD/AKMA/wCrAP8AsAD/ALUA/wC7APcAwwDtAM4A5ADfANsA6gDUAPIAzwD4AMwA +wDKAP0A/xAYAP8NGAD/BRkA/wAcAP8AIQD/ACgA/wAwAP8AOQD/AEIA/wBMAP8AVQD/AF0A/wBm AP8AbQD/AHUA/wB8AP8AgwD/AIoA/wCRAP8AmgD/AKMA/wCtAP8AsgD/ALcA/AC/APEAyQDnANkA 3QDoANQA8wDNAPoAyAD/AMYA/wDEAP8A/xEVAP8OFAD/BxQA/wAXAP8AGwD/ACEA/wApAP8AMwD/ AD0A/wBHAP8AUAD/AFkA/wBhAP8AaAD/AG8A/wB1AP8AfAD/AIIA/wCKAP8AkwD/AJwA/wCmAP8A swD/ALsA9QDEAOkA0gDeAOYA1ADyAMsA/ADFAP8AwQD/AL4A/wC8AP8A/xMQAP8PDwD/CQ8A/wAR AP8AFAD/ABoA/wAiAP8ALQD/ADcA/wBBAP8ASgD/AFMA/wBbAP8AYgD/AGgA/wBuAP8AdQD/AHsA /wCDAP0AiwD6AJQA9wCfAPQAqgDwALkA7ADNAOAA4wDUAPEAygD9AMIA/wC8AP8AuAD/ALYA/wC0 AP8A/xQMAP8QCgD/CgkA/wAKAP8ADQD/ABIA/wAdAP8AKAD/ADIA/wA8AP8ARQD7AE0A+ABUAPQA WwDxAGIA7gBoAOsAbgDoAHUA5QB7AOEAgwDeAIwA2gCXANQAowDQALAAywDCAMcA4gDDAPgAvgD/ ALgA/wCzAP8ArwD/AK0A/wCqAP8A/xYHAP8RAwD/CwEA/wAAAP8ABQD/AA0A+wAXAPQAIgDvACwA 6gA2AOYAPwDiAEcA3QBOANgAVQDTAFwAzwBiAMwAaADJAG4AxQB1AMIAfAC+AIUAuwCQALYAmwCz AKkArwC5AKsA0QCnAPAApAD/AKEA/wCdAP8AnAD/AJsA/wCaAP8A/xcAAP8SAAD/DAAA/wMAAPwA AAD1AAcA6AARAN4AHADVACYAzgAwAMkAOQDEAEEAvwBJALsATwC3AFYAtABcALEAYgCuAGgAqwBv AKkAdgCmAH8AowCJAJ8AlQCcAKMAmQCzAJUAyACSAOkAjgD8AIwA/wCKAP8AhwH/AIYC/wCFAv8A /xkAAP4VAAD6EQAA8A8AAOQNAADcBwAA1AALAMcAFQC9ACAAtgAqALEAMwCsADsAqABDAKQBSgCh AVAAnwJXAJwCXQCaA2MAlwNqAJUDcQCSBHoAkASEAI0FkQCKBZ8AhwavAIQGxACBCOUAfgn7AHoK /wB3C/8AdQv/AHQL/wB0C/8A/B0AAPUcAADvGAAA3BkAAMwXAADBEwAAug0CALQGDgCrBBgAowYj AJ4ILQCZCTYAlQo+AJILRQCPC0sAjQxRAIsMWACJDV4Ahw1lAIQNbQCCDnYAgA6AAH4OjgB7Dp0A eA+uAHYQxAByEOgAbhH/AGsS/wBpEv8AaBP/AGcT/wBmE/8A9SIAAOwhAADfIAAAySIAALshAACv HQAApxcAAKAQBQCaDREAkg4dAI0QJwCIETAAhRI4AIISQAB/E0YAfRNNAHsUUwB5FFkAdxRgAHUV aABzFXEAcRZ7AG8WiABtFpgAaxepAGgXvgBmGOMAYxn8AGAa/wBeGv8AXRr/AFwa/wBcGv8A7iYA AOMlAADPJwAAvCkAAK0oAACiJQAAmSEAAJEbAACKFA0AgxUYAH4XIgB6GCwAdxk0AHQaOwByGkIA cBtIAG4bTwBtHFUAaxxcAGkcZABoHWwAZh13AGQehABiHpMAYB6lAF4fuQBcH90AWSD5AFch/wBW If8AVSH/AFQh/wBUIf8A5ykAANspAADELQAAsS8AAKMvAACYLQAAjykAAIYkAAB+HQgAdxwTAHIe HgBuHycAbCAwAGkhNwBnIT4AZiJFAGQiSwBjIlEAYSNYAGAjYABeI2gAXSRzAFskgABaJI8AWCWh AFYltgBUJtQAUib3AFAn/wBOJ/8ATSf/AE0n/wBNJ/8A4SwAANItAAC6MQAAqTQAAJs0AACQMgAA hi8AAH0rAAB0JQQAbSMQAGkkGgBlJSQAYyYsAGEmNABfJzsAXSdBAFwoRwBbKE4AWShVAFgoXABX KWUAVSlvAFQqfABSKowAUSqeAE8rsgBNK88ASyz0AEks/wBILP8ARyz/AEcs/wBGLP8A2y8AAMkw AACzNQAAojgAAJU5AACKNwAAgDQAAHYwAABtLAAAZikNAGEpFwBeKiEAWyspAFkrMQBYLDgAViw+ AFUsRABULUsAUy1SAFEtWQBQLmIATy5sAE4ueQBML4kASy+bAEkwsABHMMsARTDyAEQx/wBDMf8A QjD/AEEw/wBBMP8A1TEAAMI0AACtOQAAnTsAAJA8AACFPAAAejkAAHA1AABoMQAAYC4KAFsuFABY Lx0AVS8mAFMwLgBSMDUAUDA7AE8xQgBOMUgATTFPAEwyVwBLMl8ASTJqAEgzdgBHM4YARTSYAEM0 rQBCNMgAQDXwAD81/wA+Nf8APTX/AD00/wA8NP8A0DMAALw3AACnPAAAmD8AAItAAACAPwAAdj0A AGw6AABjNgAAWjMHAFUyEQBSMxsAUDMjAE40KwBMNDIASzQ5AEk1PwBINUUARzVMAEY2VABFNl0A RDZoAEM3dABCN4QAQDeWAD84qwA9OMYAOzjuADo4/wA5OP8AOTj/ADg4/wA4OP8AyzUAALY6AACi PwAAlEIAAIdDAAB8QwAAckEAAGg9AABeOwAAVjcEAFA2DgBNNxgASzchAEk4KQBHODAARjg2AEQ4 PABDOUMAQjlKAEI5UgBBOlsAQDpmAD46cgA9O4EAPDuUADo7qQA4PMMANzzsADY8/wA1PP8ANTz/ ADQ7/wA0O/8AxzcAALA9AACeQgAAj0UAAINGAAB4RgAAbkUAAGNBAABaPwAAUTsAAEw7DABIOxUA RjseAEQ8JgBCPC0AQTw0AEA8OwA/PUEAPj1IAD09UAA8PlkAOz5kADo+cAA5Pn8ANz+SADY/pwA0 QMEAM0DqADJA/wAxP/8AMD//ADA//wAwP/8AwjoAAKtAAACZRAAAi0gAAH9JAAB1SgAAa0kAAGBG AABWQwAATkEAAEc/CgBDPxMAQT8bAD9AJAA+QCsAPEAyADtBOQA6QT8AOUFGADhBTgA3QlcANkJh ADVCbgA0Qn0AMkOQADFDpQAvQ78ALkToAC1D/wAtQ/8ALEP/ACxD/wAsQ/8AvDwAAKZDAACVSAAA h0sAAHxNAABxTQAAaE0AAF1KAABTSAAAS0cAAENEBgA+RBAAPEQZADpEIQA5RSgAN0UvADZFNgA1 RT0ANEZEADNGTAAyRlUAMUZfADBHbAAvR3sALUeOACxHowAqR7wAKUjmAChH/wAoR/8AKEf/ACdH /wAnRv8AtUAAAKBGAACQSwAAg04AAHhQAABuUQAAZVEAAFtPAABRTgAASUwAAD9KAgA5SQ0ANkkV ADVKHgAzSiUAMkosADFLMwAwSzoAL0tBAC5LSQAtS1IALEtdACpLaQApTHgAKEyLACZMoQAlTLoA JEzkACNM/wAjS/8AI0v/ACNL/wAiS/8ArkMAAJpKAACLTgAAflIAAHRUAABqVQAAYVUAAFhUAABO UwAARVIAADxRAAA0UAkAMFASAC5QGgAtUCIALFApACpRMAApUTcAKFE+AChRRgAmUU8AJVFaACRR ZgAjUXUAIlGIACBRngAfUbcAHlLhAB1R/gAdUf8AHVD/AB1Q/wAdUP8ApkgAAJROAACGUgAAelYA AHBYAABnWgAAXloAAFVaAABKWQAAQlkAADlYAAAwVwQAKVcOACdXFQAmVx0AJVclACRXLAAjWDMA Ilg7ACFYQwAgWEwAH1hWAB1YYwAcWHIAG1iFABlXmwAYV7UAF1jcABdX/AAXVv8AF1b/ABdW/wAX Vv8AnkwAAI1SAACAVwAAdVoAAGxdAABkXgAAW18AAFFgAABGYAAAPmAAADVgAAAsYAAAI2AJAB9g EQAeYBgAHWAgABxgJwAbYC4AGmA2ABlgPgAYYEgAF2BSABZfXwAUX24AE1+BABJfmAARX7EAEF/V ABBe+gAQXf8AEF3/ABBc/wAQXP8AllEAAIZXAAB6XAAAcF8AAGhiAABgYwAAVmUAAE1mAABCZwAA OWgAADBpAAAnaQAAH2kBABhqCwAVahIAFGoaABNqIQASaikAEWowABFqOQAQaUIAD2lNAA5pWgAO aGkADWh8AAxnkgAKZqoACWbIAApm8AAKZf8ACmT/AApk/wAKZP8AjVcAAIBcAAB1YQAAbGQAAGVn AABbaQAAUWsAAEdtAAA9bwAANHEAACtyAAAjcwAAG3QAABN1AgAOdgsADHYTAAx2GgALdSIACnUq AAl1MwAIdD0AB3RHAAZzVAAEcmIAA3J0AAJxiQAAcKIAAG+9AABu6AAAbv0AAG3/AABt/wAAbf8A hV0AAHliAABwZgAAaGkAAF9sAABVcAAAS3MAAEF2AAA4eQAALnsAACV9AAAdfwAAFoEAABCCAAAK gwcABYMOAAGDFQAAgxwAAIMkAACCLAAAgjYAAIFAAACATAAAf1sAAH5sAAB9gAAAfJkAAHuzAAB5 2wAAefkAAHj/AAB4/wAAeP8AfWMAAHNnAABrawAAYm8AAFh0AABOeAAARHwAADqAAAAxhAAAKIcA AB+LAAAXjQAAEY8AAAuRAAAFkwIAAJMJAACTEAAAkxUAAJQdAACUJQAAky4AAJM4AACSRAAAkVIA AI9iAACNdgAAjI4AAIqoAACJxwAAh/AAAIb/AACG/wAAhf8AdmkAAG5tAABlcQAAW3cAAFB9AABG ggAAPIgAADONAAApkgAAIJcAABibAAARngAADKEAAAWkAAAApgAAAKcDAACnCQAAqA8AAKgVAACp HAAAqSUAAKouAACqOgAAqUcAAKdXAAClagAAo4EAAKGcAACftwAAnuAAAJz5AACb/wAAm/8AcG4A AGdzAABdegAAU4EAAEiIAAA+jwAANJcAACqdAAAhpAAAGakAABGuAAAMsgAABbUAAAC4AAAAuwAA ALwAAAC+AQAAvwcAAMANAADBEwAAwxsAAMQkAADGLwAAxzwAAMVLAADDXQAAwXIAAL+MAAC8qAAA uscAALnqAAC5+QAAuP8AaXQAAF98AABVhAAASo0AAD+WAAA1oAAAK6kAACGxAAAYuAAAEb4AAAvD AAADxwAAAMsAAADOAAAA0QAAANQAAADWAAAA2QAAANsDAADdCgAA4BAAAOMYAADlIwAA6C8AAOk+ AADoTwAA5mMAAOR6AADhlQAA4LAAAN7KAADV3QAA0OYAYX4AAFeGAABNkAAAQ5oAADilAAAusAAA I7oAABrEAAARzgAACtQAAALaAAAA3wAAAOMAAADlAAAA6QAAAOwAAADvAAAA8QAAAPQAAAD3AAAA +gYAAP0NAAD/FgAA/yEAAP8vAAD/PwAA/1IAAP9oAAD/gAAA/5oAAP+uAAD1tAAA7rkAWocAAFCQ AABHmgAAPqUAADSwAAAquwAAIcUAABfPAAAQ1wAACd4AAADlAAAA6wAAAPAAAAD1AAAA+QAAAP0A AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAAD/DAAA/xUAAP8hAAD/MAAA/0EAAP9UAAD/agAA/4IA AP+XAAD/owAA/6cA/wsaAP8EGgD/ABsA/wAeAP8AIwD/ACoA/wAyAP8AOwD/AEQA/wBMAP8AVQD/ AF0A/wBkAP8AagD/AHAA/wB3AP8AfQD/AIQA/wCLAP8AkwD/AJ0A/wCoAP8ArQD/ALIA/wC3APYA vwDrAMoA4QDbANgA6ADQAPEAygD4AMcA/ADFAP4A/wwWAP8GFQD/ABcA/wAZAP8AHgD/ACUA/wAt AP8ANgD/AD8A/wBIAP8AUQD/AFkA/wBgAP8AZwD/AG4A/wB1AP8AfAD/AIMA/wCLAP8AkwD/AJ0A /wCoAP8ArwD/ALQA+wC7AO8AxQDkANMA2QDmAM8A8QDIAPoAwwD/AMAA/wC+AP8A/w0SAP8HEQD/ ABIA/wATAP8AFwD/AB4A/wAmAP8ALwD/ADkA/wBCAP8ATAD/AFQA/wBbAP8AYgD/AGkA/wBvAP8A dgD/AHwA/wCDAP8AjAD/AJUA/wCgAP8ArAD/ALcA8wDAAOYAzQDaAOIAzwDwAMYA+wDAAP8AuwD/ ALgA/wC2AP8A/w4OAP8IDAD/AAwA/wANAP8AEAD/ABYA/wAfAP8AKQD/ADMA/wA9AP8ARgD/AE4A /wBVAP8AXAD/AGMA/wBpAP4AbwD8AHUA+gB8APcAhAD0AI0A8QCXAO0AowDpALEA5QDEANsA3wDP AO8AxQD8AL0A/wC3AP8AsgD/AK8A/wCuAP8A/w8JAP8KBgD/AAUA/wAGAP8ABwD/ABAA/wAaAP8A JAD9AC4A+gA3APgAQAD0AEgA8ABPAOwAVgDoAFwA5QBiAOIAaADfAG4A2wB1ANgAfADTAIUAzwCP AMsAmwDGAKkAwgC5AL0A0gC5APIAtgD/ALIA/wCtAP8AqAD/AKMA/wCgAP8A/xECAP8LAAD/AQAA /wAAAP8AAQD7AAsA8QAUAOoAHwDjACgA3gAyANoAOgDVAEIA0ABJAMsAUADHAFYAxABcAMAAYgC9 AGgAugBuALcAdQC0AH4AsACHAK0AkwCpAKEApQCwAKIAxQCfAOcAnAD9AJgA/wCWAP8AlQD/AJEA /wCPAP8A/xIAAP8MAAD/BgAA+wAAAPMAAADoAAYA2gAPAM8AGQDGACMAwAAsALsANAC3ADwAswBE AK8ASgCsAFAAqQBWAKYAXACkAGIAoQBoAJ8AbwCcAHcAmQCBAJYAjACTAJoAkACpAIwAvACJAN0A hgD2AIQA/wCBAP8AfwD/AH4A/wB+AP8A/xMAAPkRAAD0DQAA5gwAANYJAADNAwAAxAAKALgAEgCw ABwAqQAmAKQALwCgADcAnQA+AJoARQCXAEsAlABRAJIAVgCPAFwAjQBjAIsAagCIAHIAhgB7AIMA hwCAAJQAfgCkAHsAtgB4AdAAdQLxAHMD/wBxBP8AbwX/AG4F/wBtBv8A+BkAAPAXAADlFQAAzxUA AMATAAC0EAAArQkAAKYCDQCeABUAlwAfAJIAKACOAjEAigM5AIcEPwCFBUYAgwVMAIAGUQB+BlcA fAdeAHoHZQB4CG0Adgh3AHQJggByCZEAbwqhAG0KtABqCs4AaAzxAGUN/wBjDf8AYg3/AGEN/wBg Df8A8B4AAOYcAADTHQAAvx4AALAdAAClGQAAnBQAAJQOBACOCA4AhwkZAIIKIwB+CysAewwzAHgN OgB2DUEAdA5HAHIOTQBwDlMAbw9ZAG0PYQBrEGkAahBzAGgQfwBmEY4AZBGfAGERswBfEs4AXBLz AFoT/wBYFP8AVxT/AFYU/wBWFP8A6SIAAN0hAADFJAAAsiUAAKQlAACZIgAAjx4AAIcYAAB/EQkA eRATAHQRHQBwEiYAbRMuAGsTNgBpFDwAaBRCAGYVSABkFU4AYxZVAGIWXABgFmUAXxdvAF0XegBb F4kAWRibAFcYrgBVGcgAUxrvAFEa/wBQG/8ATxv/AE4b/wBOG/8A4SYAANIlAAC6KQAAqCsAAJsr AACQKQAAhiUAAH0gAAB0GgQAbhYPAGkXGQBmGCIAYxkqAGEaMgBfGzgAXhs/AFwbRQBbHEsAWhxR AFgcWABXHWEAVh1rAFQedwBTHoUAUR+XAE8fqwBNH8QASyDsAEoh/wBIIf8ARyH/AEch/wBGIf8A 2ykAAMgqAACxLgAAoTAAAJQxAACILwAAfisAAHUnAABsIgAAZR0MAGEdFQBdHh4AWx8nAFkgLgBX ITUAViE7AFQhQQBTIkcAUiJOAFEiVQBQIl0ATiNnAE0jcwBLJIIASiSUAEglqABGJcAARCXoAEMm /wBCJv8AQSb/AEEm/wBAJv8A1CsAAMAuAACrMgAAmzUAAI41AACDNAAAeDEAAG8tAABmKQAAXiMI AFkjEgBWJBsAVCQjAFIlKwBQJTIATyY4AE4mPgBMJkQASydLAEonUgBJJ1oASChkAEcocABFKX8A RCmRAEIppQBAKr0APyrmAD0q/wA8K/8AOyr/ADsq/wA7Kv8Azy0AALkxAAClNgAAljgAAIk5AAB+ OAAAczUAAGoyAABhLgAAWSkFAFMoDwBQKBgATikhAEwpKABKKi8ASSo1AEgqOwBGK0EARStIAEQr TwBDLFgAQixiAEEsbgBALXwAPi2OAD0uowA7LrsAOS7jADgv/gA3L/8ANy7/ADYu/wA2Lv8AyjAA ALM0AACgOQAAkTwAAIU9AAB6PAAAbzoAAGY2AABdMwAAVS8BAE4sDQBLLRUASC0eAEYtJQBFLiwA Qy4yAEIuOQBBLz8AQC9GAD8vTQA+MFYAPTBgADwwawA7MXoAOTGMADgyoQA2MrkANTLhADQy/QAz Mv8AMjL/ADIy/wAyMv8AxTEAAK43AACcPAAAjT8AAIFAAAB2QAAAbD4AAGI6AABZNwAAUTMAAEox CgBGMRMAQzEbAEExIwBAMioAPjIwAD0yNgA8Mj0AOzNDADozSwA5NFMAODReADc0agA2NHgANTWK ADM1nwAyNbcAMDbeAC82/AAuNv8ALjb/AC41/wAuNf8AwDQAAKk6AACXPwAAiUIAAH1DAABzQwAA aUIAAF4+AABWOwAATTgAAEU2BwBBNRAAPjUYAD01IAA7NicAOjYuADg2NAA3NjsANzdBADY3SQA1 N1IANDhcADM4ZwAxOHYAMDmIAC85nQAtObUAKzrbACs6+wAqOf8AKjn/ACo5/wApOf8AujcAAKQ9 AACTQgAAhUUAAHpGAABwRwAAZkUAAFxCAABSPwAASj0AAEI7BAA8OQ4AOjkWADg6HgA2OiUANTos ADQ6MgAzOzkAMjs/ADE7RwAwO08ALzxZAC48ZQAtPHQAKzyGACo9mwAoPbMAJz3WACY9+gAmPf8A Jj3/ACU9/wAlPf8AszoAAJ9AAACPRQAAgkgAAHZKAABsSgAAY0kAAFlHAABQRAAASEMAAD9AAAA4 PgsANT4TADM+GwAxPyIAMD8pAC8/MAAuPzYALT89ACxARQArQE0AKkBXAClAYwAnQHEAJkGDACVB mQAjQbEAIkLSACJB+AAhQf8AIUH/ACFB/wAhQP8ArT4AAJpEAACKSAAAfksAAHNNAABpTgAAYE0A AFdMAABOSgAARkgAADxGAAAzRAgAL0MQAC1EGAAsRB8AKkQmAClELQAoRDQAJ0Q7ACZFQgAlRUsA JEVVACNFYQAiRW8AIUWBAB9FlgAeRq4AHEbOABxG9wAcRv8AHEX/ABxF/wAcRf8ApkEAAJRHAACG TAAAek8AAG9RAABmUgAAXlIAAFRRAABLTwAAQk4AADlMAAAwSwMAKUoNACdKFAAmShwAJEojACNK KQAiSjAAIUo3ACBKPwAfS0gAHktSAB1LXgAcS2wAG0t+ABlLlAAYS6wAFkvLABZL9QAWS/8AFkr/ ABZK/wAWSv8An0YAAI5LAACBUAAAdVMAAGxVAABjVwAAW1cAAFJWAABIVQAAP1QAADZTAAAtUgAA JFEJACBREAAfURcAHVEfABxRJQAbUSwAGlE0ABlRPAAYUUQAF1FPABZRWgAVUWkAFFF7ABNRkAAS UakAEVHHABFR8gARUP8AEVD/ABFQ/wART/8AmEoAAIhQAAB7VAAAcVgAAGhaAABgWwAAWFwAAE5c AABEWwAAO1sAADJbAAApWgAAIVkDABlZDAAXWRIAFlkZABVZIQAUWSgAE1kvABJZNwARWUAAEFlL ABBZVwAOWGUADlh2AA1YiwAMV6QAC1e/AAtX6QALV/8ADFb/AAtW/wALVv8AkE8AAIJVAAB2WQAA bVwAAGVfAABdYAAAVGEAAEpiAAA/YgAANmMAAC1jAAAkYwAAHGMAABVjBQAQYw0ADmMTAA5jGwAN YyIADGIqAAtiMgALYjsACmJGAAhhUgAHYV8ABmBwAAVghAADX5wAAl62AANe4AADXvkAA17/AANd /wAEXf8AiFUAAHtaAABxXgAAaWIAAGJkAABYZgAATmcAAERpAAA6agAAMWsAAChsAAAgbQAAGG0A ABFuAAAMbggAB24PAARuFgADbh0AAm0lAAFtLQAAbTYAAGxAAABsTAAAa1kAAGpqAABpfQAAaJQA AGiuAABn0AAAZvUAAGb/AABm/wAAZv8AgFsAAHVgAABtZAAAZmcAAFxpAABSbAAASG8AAD5xAAA0 cwAAK3UAACJ3AAAaeAAAE3kAAA16AAAIegUAAnoLAAB6EQAAehcAAHofAAB6JgAAei8AAHk5AAB4 RQAAd1IAAHZiAAB1dQAAdIwAAHOmAAByxAAAce4AAHD/AABw/wAAcP8AeWEAAHBmAABpaQAAX2wA AFVwAABLdAAAQXgAADd7AAAufgAAJIEAAByDAAAUhQAADoYAAAmIAAACiQAAAIkGAACJDAAAiRIA AIkYAACJHwAAiSgAAIoxAACJPQAAiEoAAIZZAACFbAAAg4MAAIKdAACBuAAAf+IAAH77AAB+/wAA ff8Ac2cAAGxrAABibwAAWHQAAE55AABEfgAAOYMAADCHAAAmiwAAHY8AABWTAAAOlQAACZcAAAKZ AAAAmwAAAJsAAACcBgAAnQsAAJ0RAACeFwAAnh8AAJ8oAACgMwAAn0AAAJ1PAACbYQAAmXYAAJeQ AACWrAAAlMwAAJPxAACS/wAAkf8AbmwAAGVxAABbdwAAUH0AAEaEAAA7igAAMZEAACeXAAAenAAA FqEAAA+lAAAIqAAAAasAAACtAAAArwAAALEAAACyAAAAswMAALUJAAC2DwAAuBYAALkeAAC7KAAA vTUAALxDAAC5VQAAt2kAALWBAACzngAAsrkAALDgAACv9QAArv4AZ3MAAF16AABSgQAASIkAAD2S AAAymgAAKKIAAB6pAAAVsAAADrYAAAi5AAAAvgAAAMEAAADEAAAAxgAAAMkAAADLAAAAzQAAANAA AADSBgAA1A0AANgUAADbHQAA3ikAAOE3AADfRwAA3VoAANtxAADYjAAA1qgAANTBAADR3AAAzOYA X3wAAFSEAABKjQAAP5cAADWhAAAqqwAAH7YAABW/AAAOxwAAB8wAAADRAAAA1QAAANoAAADcAAAA 3wAAAOMAAADmAAAA6QAAAOwAAADvAAAA8gEAAPUJAAD5EQAA/RwAAP8pAAD/OQAA/0sAAP9gAAD+ eAAA/JIAAPuqAADxtAAA6bkAV4UAAE6OAABElwAAO6IAADGsAAAmtgAAHcEAABTKAAAN0gAABdkA AADfAAAA5QAAAOsAAADwAAAA9AAAAPgAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgAA/xAA AP8bAAD/KQAA/zsAAP9PAAD/ZQAA/3wAAP+SAAD/ogAA/6cA/wQXAP8AFwD/ABgA/wAcAP8AIQD/ ACgA/wAwAP8AOAD/AEAA/wBJAP8AUQD/AFgA/wBfAP8AZQD/AGsA/wBxAP8AeAD/AH4A/wCGAP8A jgD/AJcA/wCiAP8AqgD/AK8A/wC0APUAvADpAMcA3gDWANMA5wDLAPEAxgD4AMIA/QDAAP8A/wYU AP8AEwD/ABQA/wAWAP8AGwD/ACIA/wAqAP8AMgD/ADsA/wBEAP8ATAD/AFQA/wBbAP8AYgD/AGkA /wBvAP8AdgD/AH0A/wCFAP8AjQD/AJYA/wChAP8ArAD/ALEA+wC4AO0AwQDhAM8A1ADkAMsA8ADE APoAvgD/ALsA/wC5AP8A/wcQAP8ADwD/AA8A/wAQAP8AFAD/ABsA/wAjAP8ALAD/ADUA/wA+AP8A RgD/AE4A/wBWAP8AXQD/AGMA/wBpAP8AcAD/AHYA/wB9AP8AhQD/AI4A/wCZAP8ApQD/ALQA8gC8 AOQAyQDWAOAAywDvAMIA+wC7AP8AtgD/ALIA/wCxAP8A/wgLAP8ACQD/AAkA/wAJAP8ADQD/ABMA /wAcAP8AJgD/AC8A/wA4AP8AQQD/AEkA/wBQAP8AVwD9AF0A+gBjAPgAaQD1AG8A8wB2APAAfQDt AIYA6QCQAOUAnADhAKoA3QC8ANYA2wDKAO4AwAD8ALcA/wCxAP8ArQD/AKoA/wCoAP8A/woFAP8B AgD/AAAA/wAAAP8ABAD/AA4A/wAXAPkAIQD1ACoA8QAzAO4AOwDqAEMA5gBKAOEAUQDeAFcA2gBc ANYAYgDTAGgA0ABuAMwAdgDJAH4AxQCIAMEAlAC9AKEAuACxALQAxwCwAOsArQD/AKoA/wCnAP8A nwD/AJkA/wCWAP8A/wsAAP8CAAD/AAAA/wAAAP8AAADxAAkA5gASAN4AGwDWACUA0AAtAMsANgDI AD0AwwBEAL4ASwC7AFAAuABWALUAXACzAGIAsABoAK0AbwCqAHYApwCAAKMAiwCgAJkAnQCoAJkA uwCWAN0AkwD4AJAA/wCOAP8AjAD/AIgA/wCFAP8A/wsAAP4IAAD7AAAA8gAAAOgAAADbAAQAywAN AMEAFgC5AB8AswAoAK4AMACqADgApwA+AKQARQChAEsAngBQAJwAVgCaAFwAmABiAJUAaACSAHAA kAB5AI0AhACKAJEAhwChAIQAsgCBAMsAfgDvAHwA/wB6AP8AeAD/AHcA/wB1AP8A+xEAAPQOAADu CQAA2gkAAMkGAAC/AAAAtQAIAKsAEACjABkAnQAiAJkAKwCVADIAkgA5AI8APwCMAEUAigBLAIgA UACGAFYAhABcAIIAYwB/AGoAfQBzAHoAfgB4AIsAdQCbAHMArABwAMIAbgDnAGwA/QBqAP8AaAD/ AGcA/wBnAP8A8xYAAOoTAADaEgAAxBIAALUQAACpDQAAoQYAAJoACwCSABMAjAAcAIcAJQCDACwA gAA0AH0AOgB7AEAAeQBGAHcASwB1AFEAcwBXAHIBXgBwAWUAbgJuAGwCeQBpA4YAZwOWAGUEqABj BL0AYQXiAF8H+gBdCP8AXAj/AFsI/wBaCP8A6xoAAOAXAADIGgAAtRsAAKYZAACbFgAAkhEAAIoL AwCDBQ0AfQIWAHgEHwB0BScAcQYuAG8HNQBtCDsAawhBAGoJRwBoCUwAZgpSAGUKWQBjCmEAYgtq AGALdQBeDIMAXAyUAFoMpwBYDb0AVg3jAFQO/ABTDv8AUQ7/AFAP/wBQD/8A4x8AANMdAAC7IQAA qSIAAJshAACQHgAAhxoAAH4VAAB2DgYAcAsQAGsMGQBoDSIAZQ4pAGMOMABhDjYAYA88AF4QQgBd EEgAXBBOAFoRVQBZEV0AVxFnAFYScgBUEoAAUxKRAFETpQBPE7sATRPiAEsU/gBKFf8ASRX/AEgV /wBIFf8A2yIAAMgiAACxJgAAoCgAAJMoAACIJQAAfiIAAHUdAABtFwAAZRILAGESFABeEx0AWxMl AFkULABYFTMAVhU5AFUVPwBUFkQAUxZLAFEWUgBQF1kATxdjAE0YbgBMGHwAShiNAEkZoQBHGbgA RRrdAEMa+wBCG/8AQRv/AEEb/wBAG/8A1CQAAL4nAACpKwAAmS0AAIwtAACBLAAAdygAAG4kAABm HwAAXhoHAFkYEQBWGBkAUxkhAFEaKQBQGi8ATxs1AE0bOwBMG0EASxxHAEocTgBJHFYARx1gAEYd awBFHnkAQx6KAEIfngBAH7QAPh/XAD0g+QA8IP8AOyD/ADog/wA6IP8AzicAALcrAACjMAAAlDIA AIcyAAB8MQAAci0AAGkqAABgJgAAWCEDAFIdDgBPHhYATR4eAEsfJQBJHywASCAyAEcgOABFIT4A RCFEAEMhSwBCIVMAQSJdAEAiaAA+I3YAPSOHADsjmwA6JLIAOCTSADcl9wA2Jf8ANSX/ADUl/wA1 JP8AySkAALAvAACeMwAAjzUAAII2AAB3NQAAbTIAAGQvAABcKwAAVCYAAE0jCwBJIhMARyMbAEUj IgBDJCkAQiQvAEElNQA/JTsAPiVCAD0lSQA8JlEAOyZaADonZgA5J3MANyeEADYomQA0KLAAMyjO ADEp9gAxKf8AMCn/ADAp/wAwKf8AwywAAKsyAACZNgAAizkAAH46AAB0OQAAajYAAGAzAABYMAAA UCwAAEgnCABEJxAAQScYAD8nIAA+KCYAPCgsADsoMgA6KTkAOSk/ADgpRgA3Kk4ANipYADUrYwA0 K3EAMiuCADEslwAvLK4ALizMAC0s9QAsLP8ALCz/ACws/wArLP8AvS8AAKY1AACVOQAAhzwAAHs9 AABwPAAAZzsAAF03AABVNAAATDAAAEQsBQA/Kw4APCsVADorHQA4LCQANywqADYsMAA1LTYANC09 ADMtRAAyLkwAMS5WADAuYQAvL28ALi+AACwvlQArL6wAKTDJACgw8wAoMP8AKDD/ACcw/wAnMP8A tzIAAKE4AACRPAAAgz8AAHhAAABuQAAAZD4AAFo7AABSOAAASTUAAEEyAgA6MAwANy8TADUvGgA0 MCEAMjAoADEwLgAwMDQALzE7AC4xQgAuMUoALTJUACsyXwAqMm0AKTN+ACgzkwAmM6oAJTTHACQ0 8gAkNP8AJDT/ACMz/wAjM/8AsTUAAJ07AACNPwAAgEIAAHVDAABrQwAAYUIAAFc/AABPPAAARzoA AD43AAA2NAkAMjMRADE0GAAvNB8ALjQmAC00LAArNTIAKzU5ACo1QAApNkgAKDZSACc2XQAmNmsA JDd8ACM3kQAiN6gAIDfFACA48AAfN/8AHzf/AB83/wAfN/8AqzgAAJg+AACJQgAAfEUAAHFHAABo RwAAX0YAAFVEAABMQQAART8AADw9AAAzOgYALTgOACw4FQAqORwAKTkjACg5KQAnOTAAJjo3ACU6 PgAkOkYAIzpQACI6WwAhO2kAHzt6AB47jgAdO6YAGzvDABs87gAbO/8AGzv/ABs7/wAbO/8ApjwA AJNCAACFRgAAeUkAAG5KAABlSwAAXUoAAFNIAABLRwAAQ0UAADpCAAAwQAIAKT4LACY+EgAlPhkA Iz4gACI+JwAhPi0AID80AB8/OwAeP0QAHT9NABw/WQAbP2YAGj93ABhAjAAXQKQAFkDAABVA7AAV QP8AFUD/ABY//wAWP/8AoD8AAI5FAACASgAAdU0AAGtOAABjTwAAWk8AAFFNAABJTAAAQEoAADZI AAAtRgAAJUQIACBEDwAeRBYAHUQdABxEIwAbRCoAGkQxABlEOAAYRUEAF0VKABZFVgAVRWQAFEV0 ABNFiQASRaEAEUW9ABBF6QAQRf8AEUT/ABFE/wARRP8AmUQAAIlJAAB8TgAAcVEAAGhTAABgVAAA WFQAAE9TAABFUQAAPFAAADNPAAAqTQAAIkwDABpLCwAXSxIAFksYABVLHwAUSyYAE0stABNLNQAS Sz0AEUtHABBLUwAPS2AADktxAA1LhQANSp0ADEq3AAtK4AAMSvwADEr/AAxK/wAMSv8AkkgAAINO AAB3UgAAbVUAAGVXAABdWAAAVVkAAEtYAABBVwAAOFcAAC9WAAAmVQAAHlQAABZTBgARUw0AEFMT AA9TGgAOUyEADVMpAA1TMQAMUzkAC1JDAApSTwAJUlwACFJsAAdRfwAFUZYABFCwAARQ0QAEUPUA BVD/AAVQ/wAGUP8Ai00AAH1TAABzVwAAaloAAGJcAABbXQAAUV4AAEdeAAA8XgAAM14AACpeAAAi XQAAGl0AABNdAAANXAkACVwPAAhcFgAHXB0ABVwkAARcLAADWzUAAls/AAFbSgAAWlcAAFpmAABZ eQAAWJAAAFipAABXyAAAV/AAAFf/AABX/wAAV/8AhFMAAHhYAABuXAAAZl8AAF9hAABVYwAATGQA AEJlAAA3ZgAALmYAACVnAAAdZwAAFWcAAA9nAAAKZwYABGcNAABnEgAAZhgAAGYfAABmJwAAZjAA AGU5AABlRAAAZFEAAGNhAABjcwAAYokAAGGiAABgvwAAX+oAAF//AABf/wAAXv8AfFkAAHJeAABq YgAAY2QAAFpnAABQaQAARWsAADttAAAxbgAAKHAAAB9xAAAYcQAAEXIAAAtyAAAFcwIAAHMJAABz DgAAchMAAHIaAAByIQAAcikAAHIzAABxPgAAcEsAAG9aAABubAAAbYEAAGybAABrtgAAauAAAGn7 AABp/wAAaf8Adl8AAG1kAABnZwAAXWoAAFNtAABJcQAAP3QAADV2AAAreQAAIXsAABl9AAASfgAA DH8AAAWAAAAAgAAAAIEDAACACQAAgQ4AAIETAACBGgAAgSIAAIErAACBNgAAgEMAAH9SAAB9YwAA fHgAAHuRAAB5rgAAeM4AAHf0AAB2/wAAdv8AcGYAAGlpAABgbQAAVnEAAEx2AABBegAAN34AAC2C AAAjhQAAGogAABOLAAANjQAABo4AAACQAAAAkQAAAJIAAACSAgAAkggAAJMNAACUEwAAlBoAAJUi AACWLQAAlTkAAJRIAACSWQAAkG0AAI6GAACNogAAi8AAAIroAACJ+wAAif8AbGsAAGNvAABYdQAA TnoAAEOAAAA4hgAALosAACSQAAAblQAAE5kAAA2cAAAFnwAAAKEAAACjAAAApQAAAKcAAACoAAAA qQAAAKoFAACsCwAArREAAK8ZAACxIgAAsy4AALI9AACwTQAArmAAAKx4AACplAAAp7EAAKbSAACl 8gAApP0AZXEAAFt3AABQfgAARYYAADqNAAAvlQAAJZwAABuiAAATqAAADK0AAAWxAAAAtAAAALcA AAC5AAAAvAAAAL4AAADAAAAAwgAAAMUAAADHAQAAyggAAM0PAADQGAAA0yMAANgwAADVQAAA01MA ANBpAADOgwAAzJ8AAMq6AADK1AAAx+cAXXoAAFKCAABHigAAPJQAADGeAAAmpwAAG7AAABK4AAAM vgAABMMAAADIAAAAzQAAANAAAADSAAAA1QAAANkAAADcAAAA3wAAAOMAAADmAAAA6QAAAOwFAADw DQAA9BcAAPkjAAD8MgAA+0QAAPlZAAD3cAAA9YsAAPSkAADtswAA5LoAVYMAAEuMAABClQAAOJ8A AC2pAAAjswAAGbwAABDGAAAJzQAAANMAAADaAAAA4AAAAOUAAADqAAAA7gAAAPIAAAD2AAAA+QAA AP0AAAD/AAAA/wAAAP8AAAD/AQAA/wsAAP8WAAD/JQAA/zUAAP9JAAD/XgAA/3UAAP+NAAD/oAAA /6cA/wAVAP8AFQD/ABYA/wAZAP8AHgD/ACUA/wAtAP8ANQD/AD0A/wBFAP8ATAD/AFMA/wBaAP8A YQD/AGcA/wBsAP8AcgD/AHkA/wCAAP8AiAD/AJEA/wCcAP8ApwD/AK0A/wCyAPQAugDnAMQA2wDS AM8A5gDHAPEAwQD5AL0A/gC7AP8A/wASAP8AEQD/ABEA/wATAP8AGQD/AB8A/wAnAP8ALwD/ADcA /wA/AP8ARwD/AE8A/wBWAP8AXQD/AGQA/wBqAP8AcAD/AHYA/wB+AP8AhgD/AI8A/wCaAP8ApwD/ AK4A+gC1AOwAvgDeAMsA0QDiAMcA8AC/APoAugD/ALYA/wC0AP8A/wANAP8ADAD/AAwA/wANAP8A EgD/ABgA/wAgAP8AJwD/ADAA/wA5AP8AQgD/AEoA/wBRAP8AVwD/AF4A/wBjAP8AaQD/AG8A/wB2 AP8AfgD/AIcA/wCSAP0AngD6AK0A8AC6AOEAxgDSAN0AxgDvAL0A+wC2AP8AsQD/AK0A/wCrAP8A /wEIAP8ABgD/AAQA/wAGAP8ACgD/ABAA/wAZAP8AIgD/ACsA/wA0AP8APAD+AEQA+wBLAPcAUQD0 AFcA8QBdAO8AYwDsAGkA6QBvAOYAdgDjAH8A4ACJANwAlQDXAKMA0gC0AM4AzQDFAO0AuwD8ALIA /wCsAP8ApwD/AKMA/wCfAP8A/wIBAP8AAAD/AAAA/wAAAP8AAgD/AAwA9wAUAPAAHQDrACYA5gAv AOMANwDfAD4A2QBFANQASwDQAFEAzQBXAMoAXADHAGIAxABoAMEAbwC9AHcAugCAALcAjACzAJoA rwCqAKsAvgCnAOMApAD8AKEA/wCdAP8AlQD/AJAA/wCNAP8A/wMAAP8AAAD/AAAA/wAAAPUAAADm AAcA2gAQANAAGADIACEAwwApAL4AMQC6ADgAtgA/ALIARQCvAEsArABRAKoAVgCnAFsApQBhAKMA aACgAHAAnQB5AJsAhACXAJEAlAChAJEAswCNAM0AiwDyAIgA/wCGAP8AgwD/AH8A/wB8AP8A/wgA APoDAAD2AAAA6QAAANwAAADLAAIAvgALALQAEwCtABwApwAkAKMALACfADMAnAA6AJkAQACWAEUA lABLAJIAUACQAFUAjgBbAIsAYgCJAGkAhwByAIQAfACBAIkAfgCZAHsAqgB5AMAAdgDnAHQA/wBy AP8AcQD/AHAA/wBuAP8A9g4AAO8KAADjBgAAzQUAAL0CAACzAAAAqQAGAKAADgCZABYAkwAfAI4A JgCKAC4AhwA0AIUAOgCCAEAAgABFAH4ASwB8AFAAegBWAHgAXAB3AGMAdABsAHIAdgBwAIMAbQCS AGsAowBpALgAZwDaAGUA+ABjAP8AYgD/AGEA/wBgAP8A7RIAAOQOAADODwAAuhAAAKsOAACfCgAA lwMAAI8ACQCIABEAggAZAH0AIQB6ACgAdgAvAHQANQByADsAcABAAG4ARgBtAEsAawBRAGoAVwBo AF4AZgBnAGQAcQBiAH0AYACMAF4AngBcALIAWgDOAFkA8gBXAf8AVgL/AFUC/wBVAv8A5RYAANcT AAC+FwAArBgAAJ4WAACSEwAAiQ4AAIEJAQB6AgwAdAATAG8AGwBsACMAaQAqAGcAMABlATYAYwI8 AGIDQQBgA0YAXwRMAF4EUwBcBVoAWgViAFkGbQBXBnkAVQaIAFQHmwBSB68AUAjKAE4J7wBNCv8A TAr/AEsL/wBKC/8A3RoAAMkaAACyHgAAoR8AAJQeAACIGwAAfhcAAHYSAABuDQQAaAgNAGQGFQBg CB0AXgglAFwJKwBaCjEAWAo3AFcLPQBWC0IAVQxIAFMMTwBSDFYAUQ1fAE8NaQBODXYATA2HAEoO mgBJDrAARw7NAEUQ8wBEEP8AQxD/AEIQ/wBCEP8A1B4AAL4gAACpJAAAmSUAAIwlAACAIgAAdh8A AG4aAABmFQAAXxAHAFoNEABXDhgAVA4gAFIPJwBREC0ATxAzAE4QOQBNET4ATBFEAEoRSwBJElMA SBJcAEcSZgBFE3MARBOEAEITlwBAFK0APxTKAD0V8gA8Ff8AOxX/ADsV/wA6Ff8AzSAAALUlAACh KQAAkioAAIUqAAB6KAAAcCUAAGghAABgHAAAWBcCAFITDQBPExQATBQcAEoUIwBJFSkARxUvAEYV NQBFFjsARBZBAEMWSABCF08AQBdYAD8YYwA+GHAAPBiAADsZlAA5GaoAOBnGADYa8AA1Gv8ANRr/ ADQa/wA0Gv8AxyMAAK4pAACcLQAAjS8AAIAvAAB1LgAAbCoAAGMnAABbIwAAUx4AAEwZCQBIGBEA RhkZAEQZIABCGiYAQRosAEAaMgA+GzgAPRs+ADwbRQA7HE0AOhxWADkcYAA4HW0ANh1+ADUekQAz HqgAMR7DADAf7gAvH/8ALx//AC8f/wAuH/8AwCYAAKgtAACXMQAAiDMAAHwzAAByMgAAaC8AAF8s AABXKAAATyQAAEcfBgBCHQ4AQB0WAD4eHQA8HiMAOx8pADkfLwA4HzUANx87ADYgQgA1IEoANCFT ADMhXgAyIWsAMSJ7AC8ijwAuIqYALCPBACsj6wAqI/8AKiP/ACoj/wAqI/8AuioAAKMwAACSNAAA hDYAAHk3AABuNgAAZTMAAFwwAABULQAATCkAAEMlAgA9IgwAOiITADgiGgA2IiEANSMnADQjLAAz IzIAMiM5ADEkQAAwJEgALyVRAC4lXAAtJWkAKyZ5AComjQApJqQAJya/ACYn6gAmJ/8AJSf/ACUn /wAlJ/8AtC0AAJ8zAACPNwAAgTkAAHU6AABrOgAAYjgAAFk0AABRMQAASC4AAEAqAAA5JgkANSYR ADMmFwAxJh4AMCYkAC4mKgAuJzAALSc3ACwoPgArKEYAKihPACkpWgAoKWcAJyl3ACYpiwAkKqIA Iyq9ACIq6AAiK/8AISr/ACEq/wAhKv8ArzAAAJs2AACLOgAAfjwAAHM9AABpPQAAYDsAAFY4AABO NQAARjIAAD4vAAA1KwcAMCoOAC4qFQAtKhwAKyoiACoqKAApKy4AKCs1ACcrPAAmLEQAJSxNACUs WAAjLWUAIi11ACEtiQAgLqAAHi67AB0u5gAdLv8AHS7/AB0u/wAdLv8AqTMAAJY5AACHPQAAej8A AHBBAABmQQAAXT8AAFQ8AABLOgAARDcAADw0AAAzMQQALC4MACkuEwAoLhkAJy8gACYvJgAkLywA JC8yACMwOgAiMEIAITBLACAwVgAfMWMAHTFzABwxhwAbMZ4AGjK5ABky5AAZMv8AGTL/ABky/wAZ Mf8ApDYAAJI8AACDQAAAd0MAAG1EAABkRAAAW0MAAFJBAABJPwAAQj0AADo6AAAxNwAAKDMJACUz EAAjMxYAIjMdACEzIwAgNCoAHzQwAB40NwAdND8AHDVJABs1UwAZNWEAGDVxABc1hAAWNZwAFTa2 ABQ24QAUNv8AFDb/ABQ2/wAUNf8AnzoAAI4/AACARAAAdEYAAGpIAABhSAAAWUcAAFBFAABIRAAA QEIAADc/AAAuPQAAJToGAB84DQAeOBQAHDkaABs5IQAaOScAGTkuABg5NQAXOT0AFjpGABU6UQAU Ol4AEzpuABI6ggAROpoAEDq0ABA63gAQOvwAEDr/ABA6/wAQOv8AmT4AAIlDAAB8RwAAcUoAAGdM AABfTAAAV0wAAE5KAABGSQAAPUcAADRFAAArQwAAI0ACABs/CgAXPhAAFj4XABU/HQAUPyQAEz8q ABI/MgASPzoAET9DABA/TgAPP1sADj9rAA0/fgANP5UADD+vAAs/zwAMP/YADD//AAw//wAMP/8A k0IAAIRHAAB3SwAAbU4AAGVQAABdUQAAVVEAAExQAABDTgAAOkwAADBLAAAoSQAAH0gAABdGBgAS RQ0AEEUTABBFGQAPRSAADkUnAA1FLgANRTcADEVAAAtFSwAKRVgACUVnAAhFeQAGRJAABUSpAAVE xwAFRO8ABkT/AAZE/wAGRP8AjUcAAH5MAABzUAAAalMAAGJVAABbVgAAU1YAAElVAAA+VAAANVMA ACxSAAAkUAAAG08AABROAAAOTQkAC00PAAlNFQAITRwACE0jAAZNKwAFTTMABE09AANMRwACTFQA AExiAABLdAAAS4oAAEqjAABKwAAASuoAAEr/AABK/wAASv8AhkwAAHlRAABvVQAAZ1gAAF9aAABY WwAATlsAAERaAAA6WgAAMVoAAChZAAAfWAAAF1gAABFXAAALVwcABlYNAAJWEgAAVhgAAFYfAABW JgAAVS8AAFU4AABVQwAAVE8AAFReAABTbwAAUoQAAFKeAABRuQAAUeQAAFD8AABQ/wAAUP8Af1EA AHRWAABrWgAAZF0AAF1fAABTYAAASWEAAD9hAAA1YQAAK2EAACNiAAAaYQAAE2IAAA1hAAAHYQQA AWEKAABgDwAAYBQAAGAbAABgIgAAXyoAAF8zAABfPgAAXkoAAF1YAABdagAAXH4AAFuYAABasgAA WdoAAFn5AABY/wAAWP8AeVcAAG9cAABnYAAAYWIAAFdkAABNZgAAQ2cAADlpAAAvagAAJWsAAB1r AAAVbAAADmwAAAlsAAACbAAAAGwGAABsCwAAbBAAAGwVAABrHAAAayQAAGstAABrNwAAakQAAGlS AABoYwAAZ3cAAGaQAABlrAAAZMwAAGPzAABi/wAAYv8Ac14AAGtiAABlZQAAW2gAAFFrAABGbQAA PHAAADJyAAAodAAAH3UAABZ3AAAQeAAACXgAAAJ5AAAAeQAAAHkAAAB5BgAAeQsAAHkQAAB5FgAA eR0AAHolAAB5MAAAeTwAAHhKAAB2WwAAdW8AAHSHAAByowAAccIAAHDrAABw/wAAb/8AbWQAAGdn AABeawAAVG8AAElzAAA/dgAANHoAACp9AAAggAAAGIIAABCEAAAKhQAAAoYAAACIAAAAiAAAAIkA AACJAAAAigQAAIoKAACLDgAAixUAAIwdAACNJwAAjDMAAItBAACKUQAAiGUAAId8AACFmAAAg7YA AILgAACB+AAAgf8AamkAAGFtAABWcgAATHcAAEF9AAA2gQAAK4YAACKKAAAYjwAAEJIAAAqVAAAC lwAAAJkAAACaAAAAnAAAAJ0AAACeAAAAnwAAAKABAACiBwAAow0AAKUUAACnHQAAqSgAAKg2AACm RgAApFkAAKJwAACgiwAAnqkAAJzGAACb7AAAmvsAY3AAAFl1AABOfAAAQ4IAADiJAAAtkAAAIpYA ABmcAAARoQAACqUAAAGpAAAArAAAAK4AAACwAAAAsgAAALQAAAC2AAAAuAAAALsAAAC9AAAAvwQA AMILAADFEwAAyR0AAM0qAADLOgAAyUwAAMdhAADFegAAwpcAAMC0AAC+0wAAvewAWngAAFB/AABF hwAAOZAAAC6ZAAAjogAAGaoAABCxAAAJtwAAALsAAAC/AAAAxAAAAMcAAADIAAAAywAAAM8AAADS AAAA1QAAANgAAADcAAAA3wAAAOMAAADnCQAA7BIAAPEeAAD1LAAA8z4AAPFSAADvaQAA7YMAAOye AADpswAA37sAUoIAAEmKAAA/kgAANJwAACqlAAAfrwAAFbgAAA3BAAAEyAAAAM4AAADUAAAA2wAA AOAAAADjAAAA5gAAAOoAAADuAAAA8QAAAPUAAAD5AAAA/AAAAP8AAAD/AAAA/wcAAP8SAAD/HwAA /y8AAP9DAAD/WAAA/3AAAP+IAAD/nQAA/6cA/wATAP8AEwD/ABMA/wAXAP8AHAD/ACMA/wAqAP8A MgD/ADkA/wBBAP8ASAD/AE8A/wBWAP8AXAD/AGIA/wBoAP8AbQD/AHMA/wB6AP8AggD/AIsA/wCW AP8AowD/AKoA/wCvAPMAtwDlAMEA2ADPAMwA5QDEAPEAvQD6ALkA/wC2AP8A/wAPAP8ADgD/AA4A /wARAP8AFgD/ABwA/wAkAP8AKwD/ADMA/wA7AP8AQwD/AEoA/wBRAP8AWAD/AF4A/wBkAP8AagD/ AHAA/wB3AP8AfgD/AIgA/wCTAP8AnwD/AKwA+QCyAOoAvADbAMkAzgDgAMMA8AC7APsAtQD/ALEA /wCvAP8A/wALAP8ACQD/AAgA/wALAP8ADwD/ABQA/wAcAP8AIwD/ACwA/wA1AP8APQD/AEUA/wBM AP8AUgD/AFgA/wBeAP8AYwD/AGkA/wBwAP4AdwD7AIAA+ACKAPUAlgDyAKUA7gC3AN4AxADOANoA wgDuALgA/ACxAP8ArAD/AKgA/wCmAP8A/wAFAP8AAQD/AAAA/wADAP8ABwD/AA0A/wAVAP8AHwD/ ACcA/QAwAPoAOAD2AD8A8QBGAO0ATADqAFIA5wBXAOQAXQDhAGMA3gBpANsAbwDYAHcA0wCBAM8A jQDLAJsAxwCsAMMAwgC+AOkAtgD9AK0A/wCnAP8AoAD/AJoA/wCWAP8A/wAAAP8AAAD/AAAA/wAA AP8AAAD3AAkA7QARAOUAGgDfACIA2gArANUAMgDRADkAywBAAMcARgDDAEwAwABRAL0AVgC6AFwA uABiALUAaACyAHAArwB5AKwAhACpAJIApQCiAKEAtQCeANQAmwD3AJgA/wCUAP8AjAD/AIcA/wCE AP8A/wAAAP8AAAD/AAAA/AAAAOsAAADaAAQAzAANAMMAFQC7AB0AtgAlALIALQCuADQAqwA6AKcA QACkAEYAoQBLAJ8AUACdAFUAmwBbAJgAYgCWAGkAkwBxAJEAfACOAIkAiwCZAIgAqwCFAMMAggDr AIAA/wB+AP8AegD/AHcA/wB0AP8A+wQAAPUAAADvAAAA3QAAAM4AAAC/AAAAsgAJAKkAEACiABgA nQAgAJgAKACVAC8AkgA1AI8AOwCMAEAAigBFAIgASgCGAFAAhABVAIIAWwCAAGIAfQBrAHsAdQB5 AIEAdgCRAHMAogBxALgAbwDcAG0A+gBrAP8AagD/AGgA/wBmAP8A8QsAAOoFAADXAwAAwgIAALIA AACoAAAAngAEAJUADACOABMAiQAbAIQAIgCBACkAfgAwAHsANgB5ADsAdwBAAHUARQBzAEoAcgBQ AHAAVgBuAF0AbABlAGoAbwBoAHoAZgCJAGQAmwBiAK8AYADKAF4A8gBdAP8AXAD/AFsA/wBbAP8A 6A8AAN0KAADDDQAAsA0AAKELAACWBwAAjgAAAIUABwB+AA4AeQAWAHQAHQBxACQAbgAqAGwAMABq ADYAaAA7AGYAQABlAEUAYwBLAGIAUQBgAFgAXwBgAF0AaQBbAHUAWQCDAFgAlQBWAKkAVADCAFMA 6gBRAP8AUAD/AE8A/wBPAP8A3xIAAMwRAAC0FAAAoxUAAJYTAACKEAAAgAwAAHgHAABxAAoAbAAR AGcAGABkAB8AYQAlAF8ALABdADEAXAA2AFoAPABZAEEAWABGAFYATABVAFMAVABbAFIAZQBQAHEA TwB/AE0BkQBMAaUASgK9AEgD5ABHBPwARgT/AEUF/wBFBf8A1hYAAL8YAACpGwAAmRwAAIwbAACB GAAAdxQAAG4QAABnCwIAYQUMAF0CEgBZAhoAVwMgAFUDJwBTBC0AUgUyAFAFNwBPBj0ATgZCAE0H SABLB08ASgdYAEkIYQBHCG0ARQl8AEQJjgBCCaMAQQq7AD8K4gA+C/wAPQz/ADwM/wA8DP8AzhkA ALQeAAChIQAAkiMAAIUiAAB5IAAAcBwAAGgYAABgEwAAWQ4FAFMKDQBQCRQATgobAEwLIgBKCygA SQwuAEcMMwBGDDkARQ0+AEQNRQBCDUwAQQ1UAEAOXwA/DmsAPQ57ADwPjgA6D6QAOBC9ADcQ5wA2 EP4ANRD/ADUQ/wA0EP8Axh0AAKwiAACaJgAAiygAAH8oAAB0JQAAayIAAGIfAABaGgAAUxUAAEwQ CABIDhAARQ8XAEMQHgBCECQAQRAqAD8RLwA+ETUAPRE7ADwRQgA7EkkAOhJSADgSXAA3E2gANhN4 ADQTiwAzFKEAMRS6ADAU5AAvFf8ALhX/AC4V/wAuFf8AvSEAAKYnAACVKgAAhiwAAHosAABwKwAA ZicAAF4kAABWIAAATxwAAEcXBABBEw0APxMUAD0UGgA7FCEAOhUnADkVLAA3FTIANhY4ADUWPwA0 FkYAMxdPADIXWQAxF2YALxh1AC4YiAAsGJ4AKxm4ACoZ4QApGv4AKRr/ACga/wAoGf8AtyQAAKEq AACQLgAAgjAAAHYwAABsLwAAYywAAFopAABSJQAASyEAAEMdAAA8GQoAORgRADcYFwA1GR4ANBkk ADIZKQAxGi8AMBo1AC8aPAAuG0QALRtMACwbVwArHGMAKhxzACgchQAnHZwAJh21ACQd3gAkHv0A JB7/ACMe/wAjHv8AsSgAAJwuAACMMQAAfzQAAHM0AABpMwAAYDEAAFctAABPKgAASCYAAEAiAAA4 HgcAMxwOADEcFQAwHRsALh0hAC0dJwAsHi0AKx4zACoeOgApH0EAKB9KACcgVQAmIGEAJSBwACMg gwAiIZoAISG0AB8h2wAfIfwAHyH/AB8h/wAfIf8ArCsAAJgxAACINAAAezcAAHA4AABnNwAAXjUA AFUxAABNLgAARSsAAD0nAAA1IwQALyEMACwhEgAqIRgAKSEeACghJAAnISoAJiIwACUiNwAkIz8A IyNIACIjUwAhJF8AICRuAB8kgQAdJJgAHCWyABsl1wAbJfsAGyX/ABsl/wAbJf8Apy4AAJQ0AACF NwAAeDoAAG47AABkOgAAXDkAAFI1AABKMwAAQjAAADstAAAzKQEAKyUKACclEAAmJRYAJCUcACMl IgAiJSgAISYuACAmNQAgJj0AHydGAB4nUQAdJ10AGyhsABoofwAZKJYAGCiwABYp0wAWKfkAFyn/ ABcp/wAXKP8AojEAAJA3AACCOwAAdj0AAGs+AABiPgAAWjwAAFA5AABINwAAQTUAADkyAAAxLwAA KCsHACMpDgAhKRQAICkaAB8pIAAeKiYAHSosABwqMwAbKzsAGitEABkrTgAYK1sAFytqABUsfQAU LJQAEyyuABIs0AASLPgAEyz/ABMs/wATLP8AnTQAAIw6AAB+PgAAc0AAAGlCAABgQgAAWEAAAE4+ AABHPAAAPzoAADg3AAAvNAAAJjEEAB8uCwAcLhEAGy4XABouHQAZLiQAGC8qABcvMQAWLzkAFS9C ABQvTAATMFkAEjBoABEwewAQMJIADzCsAA4wzAAOMPUADzD/AA8w/wAPMP8AmDgAAIg9AAB7QQAA cEQAAGZFAABeRQAAVkUAAE1DAABFQQAAPj8AADU8AAAsOQAAJDcAABs0CAAXMw4AFTMUABQzGgAT MyEAEzQnABI0LgARNDYAEDQ/ABA0SgAONFYADjRlAA00eAAMNI4ACzSnAAo0xAALNe4ACzX/AAw0 /wALNP8AkzwAAINBAAB3RQAAbUgAAGRJAABcSgAAVEkAAEtIAABERgAAO0QAADJCAAApPwAAIT0A ABk7BAASOQwAEDkRABA5FwAPOR4ADjkkAA05LAANOjQADDo9AAs6RwAKOlMACTpiAAg5cwAHOYkA BTmiAAQ5vgAFOegABjn/AAY5/wAGOf8AjUAAAH9FAABzSQAAakwAAGFOAABaTgAAUk4AAEpNAABA SwAAN0kAAC5HAAAlRQAAHUQAABVCAAAQQQgADEAOAApAFAAJQBsACEAhAAdAKQAGQDEABUA6AARA RAADQFAAAkBeAAA/bwAAP4QAAD+dAAA+uAAAPuMAAD78AAA+/wAAPv8Ah0UAAHpKAABvTgAAZ1EA AF9SAABYUwAAUVMAAEZSAAA8UAAAM08AACpOAAAhTAAAGUsAABJKAAANSQYACEgMAARIEgABSBgA AEgeAABIJQAARy0AAEc2AABHQQAAR0wAAEZaAABGawAARYAAAEWYAABEswAARNwAAET5AABD/wAA RP8AgUoAAHVPAABsUwAAZFYAAF1XAABWWAAATFgAAEJXAAA3VgAALlYAACVVAAAdVAAAFVMAAA5T AAAJUQQAA1ELAABRDwAAUBQAAFAaAABQIQAAUCkAAFAyAABPPAAAT0gAAE5WAABOZwAATXsAAEyT AABMrgAAS9AAAEr2AABK/wAASv8Ae1AAAHBVAABoWAAAYVsAAFtdAABRXQAAR10AADxeAAAyXQAA KV0AACBdAAAYXQAAEVwAAAtcAAAFWwEAAFsHAABaDAAAWhEAAFoWAABaHQAAWiQAAFktAABZNwAA WEMAAFhRAABXYQAAVnUAAFWNAABUqQAAU8gAAFPyAABS/wAAUv8AdVYAAGxaAABlXgAAX2AAAFVi AABLYwAAQWQAADZlAAAsZgAAImYAABpmAAASZwAADWcAAAZmAAAAZgAAAGYDAABmCAAAZQ0AAGUS AABlFwAAZR4AAGUnAABkMQAAZD0AAGNLAABiWwAAYW4AAGCGAABfogAAXsEAAF3rAABc/wAAXP8A cFwAAGhgAABjYwAAWWUAAE9oAABEagAAOWwAAC9uAAAlbwAAHHAAABRxAAAOcgAAB3IAAABzAAAA cgAAAHMAAAByAwAAcggAAHINAAByEgAAcxgAAHMgAABzKgAAcjYAAHFEAABwVAAAb2cAAG1+AABs mgAAa7cAAGrkAABp+wAAaf8Aa2IAAGZmAABcaQAAUmwAAEdwAAA8cwAAMXYAACd4AAAeegAAFXwA AA5+AAAHfwAAAIAAAACAAAAAgQAAAIEAAACCAAAAggAAAIIGAACDCwAAgxEAAIQYAACEIQAAhC0A AIM7AACCSgAAgV0AAH90AAB+kAAAfK0AAHvPAAB69AAAef8AaGgAAF9sAABUcAAASXUAAD55AAAz fgAAKYEAAB+FAAAViAAADowAAAeNAAAAjwAAAJEAAACRAAAAkwAAAJQAAACVAAAAlgAAAJcAAACY AwAAmQkAAJsQAACdGAAAnyIAAJ8wAACdQAAAm1IAAJloAACXggAAlZ8AAJS9AACR5gAAkPkAYW4A AFZzAABMeQAAQX8AADWFAAAqiwAAH5EAABaWAAAOmgAAB54AAAChAAAApAAAAKYAAACnAAAAqQAA AKsAAACtAAAArwAAALEAAACzAAAAtQAAALgHAAC7DgAAvhgAAMIkAADBNAAAv0UAAL1aAAC7cwAA uJAAALatAAC0ygAAs+oAWHYAAE59AABDhAAAN4wAACuUAAAhnAAAFqMAAA6qAAAGsAAAALMAAAC3 AAAAuwAAAL4AAAC/AAAAwgAAAMUAAADIAAAAywAAAM4AAADRAAAA1QAAANkAAADeBAAA4g0AAOgY AADsJwAA6zgAAOlMAADnYgAA5XwAAOOYAADhsQAA178AUIAAAEaIAAA8kAAAMZkAACaiAAAbqwAA EbQAAAq9AAAAwwAAAMkAAADPAAAA1QAAANoAAADbAAAA3gAAAOIAAADmAAAA6QAAAOwAAADwAAAA 9AAAAPgAAAD9AAAA/wIAAP8NAAD/GQAA/yoAAP89AAD/UwAA/2oAAP+DAAD/mgAA/6cA/wARAP8A EAD/ABEA/wAVAP8AGgD/ACAA/wAnAP8ALgD/ADYA/wA9AP8ARAD/AEsA/wBSAP8AVwD/AF0A/wBj AP8AaAD/AG4A/wB1AP8AfAD/AIYA/wCRAP8AngD/AKcA/wCtAPIAtQDjAL8A1ADNAMkA5ADAAPIA uQD7ALQA/wCyAP8A/wANAP8ACwD/AAwA/wAPAP8AFAD/ABkA/wAgAP8AJwD/AC8A/wA3AP8APgD/ AEYA/wBMAP8AUwD/AFkA/wBeAP8AZAD/AGoA/wBwAP8AeAD/AIAA/wCLAP8AmAD/AKcA+QCwAOgA uQDYAMcAygDfAL8A8AC3AP0AsQD/AKwA/wCqAP8A/wAIAP8ABQD/AAUA/wAIAP8ADQD/ABEA/wAX AP8AIAD/ACkA/wAxAP8AOQD/AEAA/wBHAP8ATQD/AFMA/gBYAPwAXgD6AGMA+ABpAPUAcADyAHgA 7wCCAOwAjwDoAJ0A5ACuANoAwQDKANgAvgDvALQA/QCtAP8ApwD/AKMA/wCfAP8A/wAAAP8AAAD/ AAAA/wAAAP8AAwD/AAoA/wASAPwAGwD3ACQA8wAsAPAAMwDrADsA5gBBAOIARwDfAE0A2wBSANgA VwDUAF0A0QBjAM0AaQDKAHEAxwB6AMMAhQC/AJMAuwCkALYAuACzAN4ArwD8AKkA/wChAP8AlwD/ AJEA/wCNAP8A/wAAAP8AAAD/AAAA/wAAAPkAAADtAAYA4wAOANkAFgDRAB8AzAAmAMgALgDEADUA vwA7ALoAQQC3AEcAtABMALEAUQCvAFYArABcAKoAYgCnAGkApAByAKEAfQCeAIoAmwCaAJgArQCU AMcAkgDwAI4A/wCLAP8AhAD/AH8A/wB8AP8A/wAAAPwAAAD6AAAA8wAAAN8AAADMAAEAwAAKALcA EgCwABoAqwAiAKYAKQCjAC8AoAA2AJwAPACaAEEAlwBGAJUASwCTAFAAkQBVAI4AWwCMAGIAigBr AIcAdQCEAIEAggCRAH8AowB8ALkAegDhAHcA/gB1AP8AcgD/AG8A/wBtAP8A9gAAAPAAAADkAAAA 0AAAAMIAAACzAAAApwAGAJ4ADgCYABUAkgAcAI4AJACLACoAiAAwAIUANgCDADsAgABAAH4ARQB8 AEoAewBPAHkAVQB3AFwAdQBkAHMAbgBwAHkAbgCIAGwAmgBqAK8AZwDMAGUA9ABkAP8AYwD/AGEA /wBgAP8A7AcAAOQAAADLAAAAtwAAAKkAAACeAAAAlAABAIwACgCFABEAgAAYAHsAHwB4ACUAdQAr AHIAMQBwADYAbwA7AG0AQABrAEUAagBKAGgAUABmAFYAZQBeAGMAaABhAHMAXwCBAF0AkwBbAKcA WQDAAFgA6gBXAP8AVgD/AFUA/wBUAP8A4gsAANEIAAC5CgAApwsAAJkIAACOBAAAhQAAAH0ABQB2 AAwAcQATAGwAGgBpACAAZgAmAGQALABiADEAYQA2AF8AOwBeAEAAXABFAFsASwBZAFEAWABZAFYA YgBVAG0AUwB7AFEAjABPAKAATgC3AEwA3wBLAPsASgD/AEoA/wBJAP8A2Q4AAMEQAACrEgAAmxIA AI4RAACCDgAAeQoAAHEEAABqAAgAZQAOAGEAFABdABsAWwAhAFgAJwBXACwAVQAxAFQANgBSADsA UQBBAFAARgBOAE0ATQBVAEwAXgBKAGkASAB2AEcAhwBFAJsARACyAEIA0gBBAPYAQAD/AD8A/wA/ AP8A0BEAALUVAAChGQAAkhoAAIUYAAB6FgAAcBIAAGgOAABhCQEAWwMKAFcAEABTABYAUQAdAE8A IgBNACgASwAtAEoAMgBJADcARwA9AEYBQgBFAUkAQwJRAEICWgBBA2UAPwNzAD4DhAA8BJgAOwSv ADkEzAA4BfIANwb/ADYG/wA2B/8AxRYAAKwbAACaHwAAiyAAAH4fAABzHQAAahkAAGIVAABaEQAA UwwDAE4ICwBKBREASAUYAEYFHgBEBiMAQgYpAEEHLgBABzMAPwg5AD0IPwA8CEYAOwlNADkJVwA4 CmIANwpwADUKggA0C5cAMguuADELzAAvDPIALwz/AC4M/wAuDP8AvBsAAKUgAACTJAAAhSUAAHkl AABuIwAAZSAAAF0cAABVGAAAThMAAEcOBgBCCw0APwsTAD0LGQA8DB8AOgwlADkMKgA4DTAANw01 ADUNOwA0DUMAMw5LADIOVQAwDmEALw5vAC4PgQAsD5cAKhCvACkQ0AAoEPUAKBD/ACgQ/wAoEP8A tB8AAJ8kAACOKAAAgCkAAHUqAABrKAAAYSUAAFkiAABSHgAAShkAAEMVAAA8EQgAOA8PADYQFQA0 EBsAMxAhADIQJwAxESwAMBEyAC4ROQAtEkAALBJIACsSUgAqEl4AKRNtACcTfwAmE5UAJBOtACMU zQAiFPYAIhT/ACIU/wAiFP8AriMAAJooAACKLAAAfS0AAHEuAABnLAAAXioAAFYnAABOIwAARx8A AD8bAAA4FgUAMhMNADATEgAuFBgALRQeACwUJAArFCkAKhUvACkVNgAoFT0AJxZGACUWUAAkF1wA IxdqACIXfAAgF5IAHxirAB0YygAdGPQAHRj/AB0Y/wAdGP8AqSYAAJYrAACGLwAAeTEAAG4xAABl MAAAXC4AAFMrAABMKAAARCQAADwgAAA1HAEALhgKACoXEAApGBUAJxgbACYYIQAlGCcAJBktACMZ NAAiGTsAIRpEACAaTgAfG1oAHhtoAB0begAbG5AAGhupABkcyAAYHPMAGRz/ABkc/wAZHP8ApCkA AJIvAACDMgAAdjQAAGw1AABiNAAAWjIAAFEvAABJLAAAQSkAADolAAAyIgAAKx4HACYcDgAkGxMA IhwZACEcHgAgHCQAHx0qAB4dMQAdHTkAHB5CABseTAAaHlgAGR9mABgfeAAXH44AFR+oABQfxgAU IPEAFCD/ABQg/wAVIP8AoCwAAI4yAACANQAAdDcAAGk4AABgOAAAWDYAAE8zAABHMAAAPy0AADgq AAAwJwAAKSMEACIgCwAfIBEAHiAWABwgHAAbICIAGiEoABohLwAZITcAGCI/ABciSgAWIlYAFSJk ABQjdgATI4wAESOmABEjxAARI/AAESP/ABEj/wARI/8Amy8AAIo1AAB8OAAAcTsAAGc8AABeOwAA VjoAAE03AABFNQAAPjIAADcwAAAvLQAAJykBAB8lCQAaJA4AGSQUABgkGgAXJSAAFiUmABUlLQAU JjUAEyY9ABImSAASJlQAESZiABAmdAAPJ4oADiejAA0nwAANJ+sADif/AA4n/wAOJ/8AlzMAAIY4 AAB5PAAAbj4AAGU/AABcPwAAVD4AAEs7AABEOQAAPTcAADY1AAAtMgAAJS4AABwrBgAWKQ0AFCkS ABMpFwASKR4AEikkABEqKwAQKjIAECo7AA4qRQAOKlEADStgAAwrcQALK4YACiufAAkrugAJK+UA Civ+AAor/wAKK/8AkjYAAIM7AAB2PwAAbEIAAGNDAABbQwAAU0IAAEpAAABDPgAAPD0AADM6AAAq NwAAIjQAABoxAwATLwoAEC4PAA8uFQAOLhsADi8hAA0vKAAMLzAACy85AAovQwAJL08ACC9dAAcv bQAGL4IABS+bAAQvtQAEL98ABS/6AAUv/wAGL/8AjToAAH4/AABzQwAAaUUAAGFHAABZRwAAUUcA AElFAABCRAAAOUEAADA/AAAnPAAAHzoAABc4AAAQNgYADDQNAAo0EgAKNBgACTUfAAg1JgAHNS4A BTU2AAQ1QAADNUwAAjVZAAA0agAANH4AADSWAAA0sQAANNYAADP4AAA0/wAANP8AiD4AAHpDAABv RwAAZkoAAF5LAABXTAAAUEsAAEhKAAA+SAAANUYAACxEAAAjQgAAG0AAABM/AAAOPQUACTwMAAU7 EQADOxYAATscAAA7IwAAOysAADs0AAA7PQAAO0kAADtWAAA6ZwAAOnoAADmTAAA5rQAAOc8AADj1 AAA4/wAAOf8AgkMAAHZIAABsTAAAZE8AAFxQAABVUQAAT1EAAERPAAA6TQAAMUwAAChKAAAfSQAA F0cAABBGAAALRAQABUQKAABDDgAAQxQAAEMZAABCIAAAQigAAEIwAABCOgAAQkYAAEFTAABBYwAA QHYAAECOAAA/qQAAP8kAAD7yAAA+/wAAPv8AfUgAAHFNAABpUQAAYVQAAFpVAABUVgAASlUAAD9U AAA1UwAALFIAACNRAAAbUAAAE08AAA1OAAAHTQIAAEwIAABMDAAASxEAAEsWAABLHAAASyMAAEos AABKNgAASkIAAElPAABJXwAASHIAAEeJAABGpQAARsMAAEXuAABF/wAARP8Ad04AAG1TAABlVgAA X1kAAFlbAABPWwAARFoAADpaAAAvWgAAJlkAAB1ZAAAVWAAAD1gAAAlXAAACVgAAAFYFAABVCQAA VQ4AAFUSAABUGAAAVB8AAFQnAABTMQAAUz0AAFJKAABSWgAAUW0AAFCEAABPnwAATr0AAE3pAABN /wAATP8AclQAAGlZAABjXAAAXV4AAFNfAABJYAAAPmEAADRhAAApYgAAIGIAABdiAAAQYgAACmIA AANhAAAAYQAAAGAAAABgBQAAYAoAAGAOAABfEwAAXxkAAF8hAABfKwAAXjcAAF1EAABcVAAAW2YA AFp9AABZmQAAWLYAAFfjAABX/AAAVv8AbVsAAGZfAABhYQAAV2MAAExlAABCZwAAN2kAACxqAAAj awAAGWwAABJsAAAMbQAABG0AAABtAAAAbQAAAG0AAABsAAAAbAQAAGwJAABsDgAAbBMAAGwbAABs JAAAbDAAAGs9AABqTQAAaV8AAGh1AABmkQAAZa4AAGTUAABj9wAAY/8AaWEAAGRkAABaZwAAUGoA AEVtAAA6bwAAL3IAACR0AAAbdgAAEncAAAx5AAAEeQAAAHoAAAB6AAAAegAAAHsAAAB7AAAAewAA AHsCAAB8BwAAfA0AAH0TAAB9HAAAfScAAH00AAB7RAAAelYAAHhsAAB3hgAAdqQAAHTEAABz7gAA cv8AZmcAAF1qAABSbgAAR3IAADx2AAAxegAAJn0AAByAAAATgwAADIYAAASHAAAAiAAAAIkAAACK AAAAiwAAAIwAAACNAAAAjQAAAI8AAACPAAAAkQUAAJIMAACTEwAAlR0AAJUqAACUOgAAkksAAJBg AACOegAAjJgAAIu2AACK3wAAiPcAX20AAFVxAABKdgAAPnwAADOBAAAohgAAHYsAABOQAAAMlAAA BJcAAACZAAAAnAAAAJ4AAACeAAAAoAAAAKIAAACkAAAApQAAAKcAAACpAAAAqwAAAK4CAACxCgAA tBMAALgeAAC4LgAAtT8AALNUAACxbAAArogAAK2lAACrwQAAquUAV3QAAEx7AABAgQAANYgAACmQ AAAelwAAFJ0AAAyjAAADqQAAAKwAAACwAAAAswAAALYAAAC3AAAAuQAAALwAAAC/AAAAwQAAAMQA AADHAAAAywAAAM4AAADTAAAA2AkAAN4TAADjIQAA4jIAAOBGAADeXAAA23YAANiUAADVrgAA0cIA Tn4AAEOGAAA4jgAALZYAACKfAAAXqAAADrAAAAS5AAAAvwAAAMQAAADJAAAAzAAAANAAAADRAAAA 1AAAANkAAADdAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD1AAAA+wAAAP8JAAD/FAAA/yQAAP84AAD/ TQAA/2QAAP99AAD/lgAA/qcA/wAOAP8ADgD/ABAA/wATAP8AFwD/AB0A/wAkAP8AKwD/ADIA/wA5 AP8AQAD/AEcA/wBNAP8AUwD/AFgA/wBeAP8AZAD/AGkA/wBwAP8AdwD/AIAA/wCLAP8AmQD/AKUA /wCrAPIAswDhAL0A0QDMAMUA5AC8APMAtQD9ALAA/wCtAP8A/wAJAP8ACAD/AAoA/wANAP8AEQD/ ABYA/wAcAP8AIwD/ACsA/wAyAP8AOgD/AEEA/wBIAP8ATgD/AFMA/wBZAP8AXgD/AGQA/wBqAP8A cQD/AHoA/wCEAP8AkAD/AJ8A+QCuAOYAtwDUAMYAxgDfALsA8QCzAP4ArQD/AKgA/wClAP8A/wAD AP8AAgD/AAMA/wAFAP8ACQD/AA4A/wATAP8AHAD/ACUA/wAtAP8ANAD/ADwA/wBCAPsASAD4AE4A 9gBTAPMAWADwAF0A7QBjAOsAagDoAHIA5AB7AOEAhwDcAJUA2ACnANMAvADGANgAuQDwALAA/wCp AP8AowD/AJsA/wCWAP8A/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAcA+QAQAPIAFwDsACAA6AAoAOUA LwDfADYA2gA8ANUAQgDQAEgAzQBNAMoAUgDHAFcAxABdAMEAYwC+AGoAugBzALcAfgCzAIwArwCc AKwArwCoAMwApQD2AKIA/wCYAP8AjgD/AIgA/wCEAP8A/wAAAP8AAAD/AAAA/wAAAPAAAADiAAMA 1QAMAMsAEwDEABsAvwAiALoAKgC3ADAAsgA3AK4APACrAEIAqABHAKYATACkAFEAoQBWAJ8AXACc AGMAmgBrAJcAdQCUAIIAkQCSAI4ApQCLALwAiADoAIUA/wCCAP8AewD/AHcA/wB0AP8A/AAAAPgA AAD1AAAA5wAAANEAAADAAAAAtAAHAKwADwClABYAoAAeAJwAJACYACsAlQAxAJIANwCQADwAjQBB AIsARgCJAEsAhwBQAIUAVgCDAFwAgABkAH4AbgB7AHkAeQCIAHYAmwB0ALAAcQDRAG8A+QBtAP8A agD/AGgA/wBmAP8A8QAAAOsAAADZAAAAxAAAALYAAACoAAAAnQADAJUACwCOABIAiQAZAIUAIACB ACYAfgAsAHwAMQB5ADYAdwA7AHYAQAB0AEUAcgBKAHAAUABvAFYAbQBeAGsAZwBpAHIAZwCAAGQA kgBiAKcAYADBAF8A7QBdAP8AXAD/AFsA/wBZAP8A5wIAANsAAADAAAAArQAAAJ8AAACVAAAAiwAA AIMABwB8AA4AdwAUAHMAGwBwACEAbQAnAGsALABpADEAZwA2AGUAOwBkAEAAYgBFAGEASgBfAFEA XgBYAFwAYQBaAGwAWAB5AFYAigBVAJ8AUwC3AFEA4ABQAP4ATwD/AE8A/wBOAP8A3QYAAMYFAACw CAAAnwgAAJEGAACGAQAAfQAAAHUAAwBuAAoAaQAQAGUAFgBiABwAXwAiAF0AJwBbACwAWgAxAFgA NgBXADsAVgBAAFQARQBTAEwAUQBTAFAAXABOAGYATABzAEsAhABJAJgASACvAEYAzgBFAPYARAD/ AEQA/wBDAP8A0woAALgOAACjEAAAkxAAAIcPAAB7DAAAcggAAGoCAABjAAUAXgAMAFoAEgBXABcA VAAdAFIAIwBQACgATwAtAE0AMQBMADYASwA7AEoAQQBIAEcARwBPAEUAVwBEAGIAQgBuAEEAfgA/ AJIAPgCpADwAxQA7AO8AOgD/ADoA/wA5AP8AxQ8AAKwTAACaFgAAixcAAH4WAAB0EwAAahAAAGIM AABbBwAAVQEIAFEADQBOABMASwAZAEkAHgBHACMARQAoAEQALQBDADIAQQA3AEAAPQA/AEMAPQBL ADwAUwA6AF4AOQBrADgAegA2AI4ANQClADMAwAAyAOkAMQD/ADAA/wAwAP8AuxQAAKQZAACTHAAA hB0AAHgdAABuGgAAZRcAAF0TAABVDwAATwsBAEkGCQBFAg8AQgAUAEAAGgA+AB8APAEkADsBKQA6 Ai4AOQI0ADcCOQA2A0AANQNHADMEUAAyBFsAMQVoAC8FeAAuBYwALAWjACsFvQAqBuYAKQf9ACgH /wAoB/8AshkAAJ0eAACNIQAAfyMAAHMiAABpIAAAYB0AAFgaAABRFQAAShEAAEMNBAA9CQsAOgcQ ADgGFQA2BxsANAcgADMIJQAyCCsAMQgwAC8JNgAuCT0ALQlEACwKTQAqClgAKQpmACgLdgAmC4sA JQuiACMLvQAiC+YAIgz+ACEM/wAhDP8Aqx0AAJgiAACIJQAAeycAAG8nAABmJQAAXSMAAFUfAABN GwAARhcAAD8TAAA4DwYAMgwMADAMEQAuDBcALQwcACwMIgAqDScAKQ0tACgNMwAnDToAJg5CACUO SwAjDlcAIg5lACEPdgAfD4sAHg+kABwPwAAbEOoAHBD/ABwQ/wAcEP8ApiEAAJMmAACEKQAAdysA AGwrAABjKgAAWicAAFIkAABKIQAAQx0AADwZAAA1FQEALhEIACkQDgAoEBMAJhAZACUQHgAkECQA IxEqACIRMAAhETcAIBE/AB8SSQAeElUAHBJjABsSdAAaE4kAGBOiABcTvgAWE+kAFhP/ABcT/wAX E/8AoSQAAI8pAACALQAAdC8AAGovAABhLgAAWCsAAFAoAABIJQAAQCIAADkeAAAyGgAAKhYEACUT CwAiExEAIRMWACATGwAeFCEAHRQnAB0ULgAcFTUAGxU9ABoVRwAYFlMAFxZhABYWcgAVFocAFBag ABIWvAASF+gAEhf/ABMX/wATF/8AnScAAIstAAB9MAAAcTIAAGcyAABeMgAAVjAAAE4sAABGKgAA PiYAADcjAAAwIAAAKBwBACEYCQAdFw4AGxcTABoXGQAZFx8AGRglABgYKwAXGDMAFhk7ABUZRQAU GVEAExpfABIacAARGoUAEBqeAA8augAOGuYADxv/AA8b/wAQGv8AmSoAAIgwAAB6MwAAbzUAAGU2 AABdNQAAVDMAAEwxAABELgAAPSsAADUoAAAuJQAAJyIAACAeBgAZGwwAFxsRABYbFwAVGxwAFBwj ABMcKQATHDEAEh05ABEdQwAQHU8AEB1dAA4ebgAOHoIADR6bAAwetQALHt8ADB78AAwe/wAMHv8A lS4AAIUzAAB3NgAAbTgAAGM5AABbOQAAUzcAAEo1AABCMgAAOzAAADQtAAAtKwAAJicAAB4kAwAW IAoAEx8PABIgFAARIBoAECAgABAgJwAPIS4ADiE3AA0hQQANIkwADCJaAAsiagAKIn4ACSKXAAci sQAHItYACCL3AAki/wAJIv8AkTEAAIE2AAB1OgAAajwAAGE9AABZPQAAUTsAAEk5AABBNwAAOzUA ADQzAAAsMAAAIywAABspAAAUJgcAECQNAA4kEgANJBgADSUeAAwlJQALJS0ACiY1AAkmPwAIJkoA ByZXAAYmZwAFJnsAAyaTAAImrgACJs8AAyb0AAQm/wAEJv8AjDQAAH06AAByPQAAaD8AAF9BAABX QQAAUEAAAEc+AABAPAAAOjoAADI4AAApNAAAIDEAABgvAAARLAUADSoLAAoqEQAJKhYACCocAAcq IwAGKysABSszAAQrPQACK0gAAStVAAArZQAAKngAACqQAAAqqgAAKsoAACrzAAAq/wAAKv8AhzgA AHo9AABvQQAAZUMAAF1FAABWRQAATkQAAEdDAABAQQAANz8AAC48AAAlOQAAHTcAABU1AAAPMwQA CjELAAYwDwADMBQAATAaAAAwIQAAMCgAADAxAAAwOgAAMEUAADBSAAAwYgAAL3UAAC+MAAAvpwAA LsYAAC7wAAAu/wAALv8Agz0AAHZCAABsRQAAY0gAAFtJAABUSgAATUkAAEZIAAA8RgAAM0MAACpB AAAhPwAAGT0AABI7AAAMOQMABzgJAAI3DgAANxIAADcYAAA3HgAANiYAADYuAAA2NwAANkIAADZP AAA2XwAANXEAADWJAAA0pAAANMIAADPtAAAz/wAAM/8AfUIAAHJGAABpSgAAYUwAAFpOAABTTwAA TE4AAEJMAAA4SgAAL0kAACZHAAAdRQAAFUQAAA5CAAAJQQIAAkAIAAA/DAAAPhAAAD4VAAA+GwAA PiIAAD0rAAA9NAAAPT8AAD1MAAA8WwAAPG4AADuFAAA6oAAAOr0AADnqAAA5/wAAOP8AeEcAAG5M AABmTwAAX1IAAFhTAABSVAAASFMAAD1RAAAzUAAAKU8AACFNAAAYTAAAEUsAAAtKAAAFSQAAAEgF AABHCgAARw4AAEYSAABGFwAARh4AAEUnAABFMAAARTwAAERIAABEVwAAQ2oAAEKAAABBnAAAQbkA AEDlAAA//wAAP/8Ac00AAGpRAABjVQAAXVcAAFdYAABNWAAAQlgAADhXAAAtVgAAJFYAABtVAAAT VAAADVQAAAZTAAAAUgAAAFECAABQBgAAUAsAAFAOAABPEwAATxoAAE8iAABOLAAATjcAAE1EAABN UwAATGUAAEt7AABKlgAASbQAAEjgAABH/AAAR/8AblMAAGdXAABhWgAAW1wAAFFdAABGXgAAPF4A ADFeAAAnXgAAHl4AABVeAAAOXQAACF0AAABdAAAAXAAAAFsAAABbAgAAWgYAAFoLAABaEAAAWhUA AFkcAABZJgAAWTEAAFg+AABXTQAAVl8AAFV1AABUkAAAU64AAFLUAABR+AAAUf8AalkAAGRdAABf YAAAVWEAAEpjAABAZAAANWUAACpmAAAgZwAAF2cAABBoAAAJaAAAAWgAAABoAAAAZwAAAGcAAABn AAAAZwAAAGYFAABmCgAAZhAAAGYWAABmHgAAZioAAGU3AABkRgAAY1gAAGJtAABhhwAAX6YAAF7H AABd8wAAXP8AZ2AAAGJjAABYZQAATmgAAEJqAAA3bAAALW4AACJwAAAYcQAAEHMAAApzAAABdAAA AHQAAAB0AAAAdAAAAHUAAAB1AAAAdQAAAHUAAAB1AwAAdgkAAHYPAAB2FwAAdyEAAHYvAAB1PgAA dE8AAHJkAABxfQAAb5wAAG68AABt6AAAbP4AZWUAAFtoAABQbAAARW8AADpzAAAudgAAI3kAABl8 AAARfgAACoAAAAGBAAAAggAAAIMAAACDAAAAhAAAAIUAAACFAAAAhgAAAIcAAACIAAAAiAAAAIkI AACLDwAAjBgAAI0kAACMNAAAikUAAIhaAACGcwAAhJAAAIOuAACC0gAAgfQAXWsAAFNvAABIdAAA PHkAADB+AAAlggAAGoYAABGKAAAKjgAAAZAAAACSAAAAlQAAAJYAAACWAAAAmAAAAJoAAACbAAAA nQAAAJ4AAACgAAAAogAAAKQAAACnBgAAqg4AAK0ZAACtKAAAqzoAAKlNAACnZQAApYAAAKOfAACh vAAAn+MAVXMAAEp4AAA+fwAAM4UAACeMAAAbkgAAEpcAAAqdAAAAogAAAKUAAACoAAAAqwAAAK4A AACuAAAAsQAAALMAAAC2AAAAuAAAALsAAAC+AAAAwQAAAMQAAADIAAAAzQQAANIOAADZGwAA2C0A ANVAAADSVwAAz3AAAM2NAADLqQAAysAATHwAAECEAAA1jAAAKpMAAB6cAAATpAAACq0AAACzAAAA uAAAAL0AAADBAAAAxAAAAMgAAADIAAAAywAAAM8AAADTAAAA1gAAANsAAADfAAAA4wAAAOgAAADt AAAA8gAAAPgEAAD+EAAA/x8AAP8yAAD/RwAA/l8AAPx4AAD6lAAA9agA/wAMAP8ADAD/AA4A/wAR AP8AFQD/ABoA/wAgAP8AJwD/AC4A/wA1AP8APAD/AEMA/wBJAP8ATgD/AFQA/wBZAP8AXwD/AGUA /wBrAP8AcgD/AHsA/wCFAP8AkgD/AKIA/wCqAPEAsQDfALsAzgDLAMIA5QC4APQAsgD/AK0A/wCp AP8A/wAGAP8ABgD/AAgA/wALAP8ADgD/ABIA/wAYAP8AHwD/ACYA/wAtAP8ANQD/AD0A/wBDAP8A SQD/AE8A/wBUAP8AWQD/AF4A/wBlAP8AawD/AHMA/gB9APsAiQD4AJgA9QCpAOQAtgDRAMQAwgDf ALcA8wCvAP8AqQD/AKQA/wCgAP8A/wAAAP8AAAD/AAAA/wACAP8ABQD/AAoA/wAQAP8AGAD/ACEA /wAoAP8AMAD6ADcA9QA9APIAQwDuAEkA6wBOAOgAUwDlAFgA4gBeAN8AZADbAGwA2AB0ANMAfwDP AI0AygCfAMUAswDBANUAtQDyAKsA/wCkAP8AmwD/AJMA/wCOAP8A/wAAAP8AAAD/AAAA/wAAAP8A AAD5AAQA8AANAOcAFADhABwA3AAkANcAKwDRADEAywA4AMcAPQDDAEMAwABIAL0ATQC6AFIAtwBX ALQAXQCxAGQArgBtAKsAdwCoAIMApACUAKEAqACeAMEAmgDuAJcA/wCQAP8AhwD/AIEA/wB9AP8A /wAAAP8AAAD+AAAA9wAAAOYAAADVAAAAyAAJAL8AEAC4ABcAsgAfAK4AJQCrACwApwAyAKMAOACg AD0AngBCAJsARgCZAEsAlwBRAJUAVgCSAF0AkABlAI0AbwCKAHsAhwCKAIQAnQCBALMAfwDcAHwA /wB6AP8AdAD/AG8A/wBtAP8A+AAAAPMAAADuAAAA2wAAAMUAAAC1AAAAqQAEAKEADACbABMAlgAa AJIAIACOACcAiwAtAIgAMgCGADcAgwA8AIEAQQCAAEUAfgBKAHwAUAB6AFYAeABeAHUAZwBzAHIA cQCBAG4AkwBsAKgAagDFAGgA8wBmAP8AZAD/AGEA/wBfAP8A7AAAAOUAAADMAAAAuQAAAKsAAACe AAAAlAAAAIsACACFAA8AgAAVAHwAHAB4ACIAdgAnAHMALQBxADIAbwA2AG4AOwBsAEAAagBFAGkA SgBnAFAAZQBYAGMAYQBhAGsAXwB5AF0AigBcAJ8AWgC4AFgA5QBXAP8AVgD/AFQA/wBTAP8A4gAA AM8AAAC2AAAApAAAAJcAAACMAAAAgwAAAHsABAB0AAsAbwARAGsAFwBoAB0AZQAiAGMAJwBhAC0A YAAxAF4ANgBdADsAWwBAAFoARQBZAEsAVwBSAFUAWwBUAGUAUgByAFAAggBOAJcATQCvAEwA0QBK APkASQD/AEkA/wBIAP8A1wAAALwDAACnBgAAlwUAAIkDAAB+AAAAdQAAAG4AAABoAAcAYwANAF8A EwBbABgAWQAeAFcAIwBVACgAUwAsAFIAMQBRADYATwA7AE4AQABNAEYASwBNAEoAVgBIAGAARgBs AEUAfABDAJAAQgCnAEAAxAA/APAAPgD/AD4A/wA+AP8AyAcAAK4MAACbDgAAjA4AAIANAAB1CgAA bAUAAGQAAABeAAMAWQAKAFQADwBRABQATgAZAEwAHgBKACMASQAoAEcALQBGADEARQA2AEMAPABC AEIAQQBJAD8AUQA+AFsAPABnADsAdwA5AIoAOAChADYAuwA1AOcANQD/ADQA/wA0AP8Auw0AAKQR AACTFAAAhBUAAHgTAABuEQAAZQ4AAF0KAABWBQAAUAAFAEwACwBIABAARQAVAEMAGgBBAB8APwAk AD4AKAA9AC0AOwAyADoAOAA5AD4ANwBFADYATQA0AFcAMwBjADIAcwAwAIUALwCcAC4AtgAsAN8A LAD8ACsA/wArAP8AsRIAAJwXAACMGgAAfhsAAHIaAABoGAAAYBUAAFgRAABRDQAASgkAAEQDBwBA AA0APQARADoAFgA4ABsANwAgADUAJAA0ACkAMwAvADEANAAwADoALwBBAC0ASgAsAFQAKwBgACkA bwAoAIIAJwCZACUAsgAkANcAIwD4ACMB/wAiAf8AqhcAAJYcAACGHwAAeSAAAG4gAABkHgAAXBsA AFQXAABNEwAARhAAAD8MAgA5BwkANQQOADMCEgAwARcALwIcAC0CIQAsAyYAKwMrACoDMQAoBDcA JwQ+ACYFRwAlBVEAIwVeACIGbQAhBoAAIAaXAB4GsQAdBtIAHAb1ABsH/wAbCP8ApBsAAJEgAACC IwAAdSUAAGslAABhIwAAWSAAAFEdAABJGQAAQhUAADsRAAA0DgQALgoKACsIDgApBxMAJwgYACYI HQAlCCIAJAgoACMJLQAhCTQAIAo8AB8KRQAeCk8AHQtcABsLbAAaC38AGAuXABcLsQAWC9IAFQz2 ABUM/wAVDP8Anx8AAI0kAAB+JwAAcikAAGgpAABfJwAAViUAAE4iAABHHwAAQBsAADgXAAAxEwAA KxAFACQNCwAiDBAAIQwUAB8MGQAeDB8AHQ0kABwNKgAbDTEAGg05ABkOQwAXDk4AFg5bABUOawAT DoAAEg6YABEOswAQDtwAEQ/4ABEP/wARD/8AmiIAAIknAAB7KwAAbywAAGUtAABdLAAAVCkAAEwm AABFIwAAPSAAADYcAAAvGAAAKBUBACIRBwAcEAwAGg8RABkQFgAYEBsAFxAhABYQKAAVES8AFBE3 ABMRQQASEUwAERJZABESagAQEn4ADhKWAA0SsQANEtMADRL4AA4S/wAOEv8AliYAAIYrAAB4LgAA bTAAAGMwAABbLwAAUi0AAEoqAABDKAAAOyQAADQhAAAtHgAAJhsAACAXAwAZFAoAFRIOABQSEwAT ExkAEhMfABITJgARFC0AEBQ1ABAUPwAPFUoADhVXAA0VZwAMFXsACxaSAAoWrQAJFs0AChbzAAoW /wALFf8AkikAAIIuAAB1MQAAazMAAGE0AABZMwAAUTEAAEkvAABBLAAAOikAADMmAAAsIwAAJSAA AB8dAAAXGQcAEhcNABAWEQAQFxcADxcdAA4XIwAOGCsADRgzAAwZPQALGUgAChlVAAkZZAAIGXcA BxmPAAUZqQAFGcgABhnxAAYZ/wAHGf8AjiwAAH8xAABzNAAAaTYAAGA3AABXNwAATzUAAEczAABA MAAAOS4AADIrAAAsKQAAJSYAAB0iAAAVHwQADxwLAA0bEAAMGxUACxwbAAscIgAKHCkACR0xAAgd OwAHHUYABh1SAAQeYgADHnUAAh2MAAAdpgAAHcUAAR3vAAEd/wACHf8Aiy8AAHw0AABwOAAAZzoA AF47AABWOgAATjkAAEY3AAA/NQAAODMAADIxAAArLgAAIioAABonAAATJAMADSEKAAogDgAIIRMA ByEZAAYhIAAFIScABCEvAAMiOQABIkMAACJQAAAiXwAAInIAACGJAAAhowAAIcEAACHsAAAh/wAA If8AhjMAAHk4AABuOwAAZD0AAFw+AABUPgAATT0AAEU8AAA+OgAAODgAADA2AAAnMgAAHy8AABcs AAAQKgIACycJAAYmDQADJhIAASYXAAAmHgAAJiUAACYtAAAnNwAAJ0EAACZOAAAmXQAAJm8AACaG AAAloQAAJb4AACXqAAAk/wAAJP8AgjcAAHU8AABrPwAAYkEAAFpDAABTQwAATEIAAERAAAA+PwAA NT0AACw6AAAjNwAAGzQAABMyAAAOMAIACC0IAAMtDQAALBEAACwVAAAsHAAALCMAACwrAAAsNAAA LD8AACxLAAArWgAAK2wAACuDAAAqngAAKrsAACnnAAAp/wAAKf8AfjsAAHJAAABoQwAAYEYAAFlH AABSRwAAS0cAAERGAAA7QwAAMUEAACg+AAAgPAAAFzoAABA4AAALNgEABDQHAAA0CwAAMw8AADIT AAAyGQAAMiAAADIoAAAyMgAAMjwAADJJAAAxVwAAMWkAADCAAAAvmwAAL7cAAC7kAAAu/gAALf8A eUAAAG5FAABlSAAAXksAAFdMAABRTAAAS0wAAEBKAAA2SAAALUYAACREAAAbQgAAE0AAAA0/AAAH PQAAADwFAAA7CQAAOg0AADoRAAA5FgAAOR0AADklAAA4LwAAODkAADhGAAA4VAAAN2YAADZ8AAA2 lwAANbQAADTgAAA0/QAAM/8AdEUAAGtKAABjTQAAXFAAAFZRAABQUgAARlAAADtPAAAxTQAAJ0wA AB5KAAAWSQAAD0gAAAlGAAACRQAAAEQCAABDBwAAQgsAAEIOAABBEwAAQRkAAEEhAABAKwAAQDYA AEBCAAA/UAAAPmIAAD54AAA9kwAAPLAAADvbAAA7+gAAOv8AcEsAAGdPAABgUwAAW1UAAFVXAABL VgAAQFUAADVUAAArUwAAIlIAABlRAAARUQAAC1AAAARPAAAATQAAAE0AAABMAwAASwcAAEsLAABK EAAAShUAAEocAABJJgAASTEAAEg+AABITAAAR10AAEZzAABFjQAARKsAAEPRAABC+AAAQv8Aa1EA AGRVAABeWAAAWlsAAE9bAABEWwAAOlsAAC9bAAAlWgAAG1oAABNaAAANWQAABVkAAABYAAAAVwAA AFcAAABWAAAAVgMAAFUHAABVDAAAVREAAFQXAABUIAAAVCsAAFM4AABSRwAAUVgAAFBtAABPhwAA TqUAAE3IAABM9AAAS/8AaFgAAGJbAABdXgAAU18AAEhgAAA9YQAAMmIAACdjAAAdYwAAFGMAAA5j AAAGZAAAAGMAAABjAAAAYgAAAGIAAABiAAAAYQAAAGEBAABhBgAAYQwAAGERAABhGQAAYCQAAGAx AABfQAAAXlEAAF1mAABbfwAAWp4AAFm/AABY7QAAV/8AZV4AAGBhAABWYwAATGUAAEBnAAA1aQAA KmsAACBsAAAWbQAADm4AAAdvAAAAbwAAAG8AAABvAAAAbwAAAG8AAABvAAAAbwAAAG8AAABvAAAA bwUAAHALAABwEgAAcBwAAHApAABvOAAAbkkAAGxdAABrdgAAapQAAGizAABn4QAAZvsAY2QAAFln AABOagAAQ20AADhwAAAscwAAIXUAABd3AAAPeQAAB3sAAAB8AAAAfQAAAH0AAAB9AAAAfgAAAH8A AAB/AAAAfwAAAIAAAACAAAAAgQAAAIIDAACDCwAAhBMAAIUfAACELgAAgz8AAIFTAAB/awAAfocA AHynAAB6ygAAefIAW2oAAFFuAABGcgAAOnYAAC56AAAjfgAAGIIAAA+FAAAHiAAAAIoAAACMAAAA jgAAAI8AAACPAAAAkQAAAJIAAACTAAAAlAAAAJYAAACXAAAAmQAAAJsAAACdAQAAoAsAAKMUAACj IwAAojQAAKBHAACeXgAAm3oAAJiaAACWtwAAld4AU3EAAEh2AAA8fAAAMIIAACSHAAAZjQAAEJIA AAiXAAAAmwAAAJ4AAAChAAAAowAAAKYAAACmAAAAqAAAAKsAAACtAAAArwAAALEAAAC0AAAAtwAA ALoAAAC+AAAAwwAAAMgLAADNFgAAzCcAAMk7AADHUQAAxWoAAMKGAADApAAAwL0ASnoAAD6BAAAy iAAAJpAAABuYAAAQoAAAB6cAAACtAAAAsQAAALUAAAC5AAAAvAAAAMAAAADAAAAAwwAAAMcAAADK AAAAzQAAANEAAADVAAAA2gAAAN4AAADjAAAA6QAAAO8AAAD1DAAA+xoAAPktAAD4QgAA9VoAAPN0 AADxkAAA76gA/wAJAP8ACgD/AAwA/wAOAP8AEgD/ABcA/wAdAP8AJAD/ACoA/wAxAP8AOAD/AD4A /wBEAP8ASgD/AE8A/wBVAP8AWgD/AGAA/wBmAP8AbAD/AHQA/wB+AP8AiwD/AJoA/wCoAPAArwDd ALoAywDKAL4A5gC1APYArgD/AKkA/wCmAP8A/wAEAP8ABAD/AAUA/wAIAP8ACwD/AA8A/wAUAP8A GgD/ACIA/wApAP8AMQD/ADgA/wA+AP8ARAD/AEoA/wBPAP8AVAD/AFkA/QBfAPoAZQD4AG0A9QB2 APIAgQDuAJAA6gChAOIAtADOAMQAvwDgALMA9QCrAP8ApAD/AJ4A/wCYAP8A/wAAAP8AAAD/AAAA /wAAAP8AAAD/AAUA/wANAP8AFQD8AB0A+QAlAPUALADvADMA6gA5AOYAPgDiAEQA3gBJANsATgDY AFMA1ABYANAAXgDNAGUAyQBuAMUAeADBAIUAvQCWALkAqwC1AMgAsQD0AKcA/wCeAP8AkwD/AIwA /wCHAP8A/wAAAP8AAAD/AAAA/wAAAPsAAADvAAEA5QAKANsAEQDTABgAzQAgAMgAJgDDAC0AvgAz ALoAOQC2AD4AswBDALAARwCuAEwAqwBSAKkAVwCmAF4AowBmAKAAcACdAHwAmgCMAJYAoACTALgA kADkAI0A/wCHAP8AfwD/AHoA/wB2AP8A/wAAAP0AAAD6AAAA7QAAANoAAADIAAAAvAAFALMADQCs ABQApwAbAKMAIQCgACcAnAAtAJkAMwCWADgAkwA9AJEAQQCPAEYAjQBLAIsAUQCJAFcAhgBfAIQA aACBAHQAfgCCAHsAlQB5AKsAdgDLAHQA+QByAP8AbQD/AGkA/wBnAP8A8wAAAO4AAADkAAAAzgAA ALkAAACqAAAAoAABAJcACQCRABAAjAAWAIgAHACFACIAggAoAH8ALQB8ADIAegA3AHkAPAB3AEAA dQBFAHMASwBxAFEAbwBYAG0AYQBrAGwAaQB5AGcAiwBkAKEAYwC7AGEA6wBfAP8AXgD/AFsA/wBa AP8A5wAAANwAAADBAAAArgAAAKIAAACVAAAAiwAAAIMABQB8AAwAeAASAHMAGABwAB4AbgAjAGsA KABpAC0AaAAyAGYANgBlADsAYwBAAGIARQBgAEsAXgBSAF0AWwBbAGUAWQByAFcAggBVAJcAVACw AFIA2ABRAP4AUAD/AE4A/wBOAP8A3AAAAMQAAACtAAAAnAAAAI8AAACEAAAAewAAAHMAAQBtAAgA aAAOAGQAFABhABkAXwAeAFwAIwBbACgAWQAtAFgAMQBWADYAVQA7AFQAQABSAEYAUQBNAE8AVQBN AF8ATABrAEoAewBIAI8ARwCnAEUAxgBEAPQAQwD/AEMA/wBDAP8AzQAAALIAAACfAwAAjwMAAIIA AAB3AAAAbwAAAGcAAABhAAQAXQALAFkAEABVABUAUwAaAFAAHgBPACMATQAoAEwALABLADEASQA2 AEgAOwBHAEEARQBIAEQAUABCAFoAQABmAD8AdQA9AIgAPACfADsAuwA5AOkAOQD/ADgA/wA4AP8A vgUAAKYKAACUDAAAhQwAAHkLAABvBwAAZgMAAF4AAABYAAEAUwAHAE8ADABMABEASQAVAEYAGgBE AB8AQwAjAEEAKABAAC0APwAxAD0ANwA8AD0AOwBDADkASwA4AFUANgBhADUAbwAzAIIAMgCZADEA swAwAN4ALwD9AC4A/wAuAP8AsgwAAJ0QAACMEgAAfhIAAHIRAABoDwAAYAwAAFgIAABRAwAASwAD AEcACQBDAA0AQAASAD0AFgA7ABoAOQAfADgAJAA3ACkANQAtADQAMwAzADkAMQBAADAASAAvAFEA LQBdACwAawAqAH0AKQCUACgArgAnANAAJgD4ACYA/wAlAP8AqREAAJUVAACFGAAAeBgAAG0YAABk FQAAWxMAAFQPAABMCwAARgcAAEABBQA7AAoAOAAOADUAEgAzABcAMQAbADAAIAAuACUALQAqACwA LwAqADUAKQA8ACgARAAmAE4AJQBaACQAaAAiAHoAIQCQACAAqgAfAMkAHgDyAB4A/wAdAP8AohUA AJAaAACAHQAAdB4AAGkdAABgGwAAWBgAAFAVAABJEQAAQg4AADsKAAA1BgcAMQILAC4ADwArABMA KQAXACgAHAAnACEAJQAmACQALAAjADIAIgA5ACEAQQAfAEsAHgBXAB0AZgAbAHcAGgCOABkApwAY AMUAFwDuABcB/wAWAf8AnBoAAIseAAB8IQAAcCMAAGYiAABdIQAAVR4AAE0bAABGFwAAPxMAADgQ AAAxDAIAKwkIACcGDAAkBBAAIgIUACEDGAAgAx4AHgMjAB0EKAAcBC8AGwU2ABoFPwAZBUkAFwZV ABYGZAAVBnYAFAaMABMGpgASBsMAEQbsABEH/wAQB/8AmB0AAIciAAB5JQAAbScAAGQnAABbJQAA UyMAAEsgAABDHQAAPBkAADUVAAAuEQAAKA4DACILCAAeCQ0AHAgRABoIFQAZCBoAGAggABcJJQAW CSwAFQk0ABQKPAATCkcAEgpTABELYgAQC3UADguMAA4LpgANC8MADAvsAAwL/wAMC/8AkyEAAIMl AAB2KQAAayoAAGEqAABZKQAAUScAAEkkAABBIQAAOh4AADMaAAAsFwAAJRMAAB8QBQAZDgkAFQwN ABQMEgATDBcAEgwcABEMIwARDSkAEA0xAA8NOgAODkUADQ5SAAwOYQALDnQACg6KAAkOpQAIDsIA Bw7rAAgO/wAJDv8AkCQAAIApAABzLAAAaS4AAGAuAABXLQAATysAAEcoAABAJQAAOCIAADEfAAAr HAAAJBkAAB4WAAAXEwYAERAKAA4ODgAODxQADhAaAA0QIAAMECcADBEvAAsROAAKEUMACRJQAAgS XwAHEnEABhKHAAUSogAEEr4AAxHpAAQR/wAEEf8AjCcAAH0sAABxLwAAZzEAAF4xAABWMQAATi8A AEYtAAA+KgAANycAADEkAAAqIgAAJB8AAB0cAAAXGQEAEBUIAAwTDQALExIAChMYAAkUHgAIFCYA BxQuAAYVNwAFFUEABBVOAAMVXAACFW4AARWFAAAVnwAAFbsAABXnAAAV/gAAFP8AiCoAAHovAABv MgAAZTQAAFw1AABUNAAATDMAAEUxAAA9LgAANywAADAqAAAqJwAAJCUAABwhAAAUHQEADhoIAAkY DQAHFxEABRgWAAQYHQADGCQAAhksAAEZNQAAGT8AABlMAAAZWgAAGWwAABmCAAAZnQAAGLkAABjl AAAY/gAAGP8AhS4AAHcyAABsNgAAYzgAAFs4AABTOAAASzcAAEQ1AAA9MwAANjEAADAvAAAqLQAA ISkAABklAAASIgEADB8HAAcdDAADHRAAAB0VAAAdGwAAHSIAAB0qAAAeMwAAHj0AAB5KAAAeWAAA HWoAAB2AAAAdmgAAHLcAABziAAAc/QAAG/8AgTEAAHQ2AABqOQAAYTsAAFk8AABSPAAASjsAAEM6 AAA8OAAANjYAAC80AAAmMAAAHi0AABUqAAAPJwAACSUHAAMjCwAAIg4AACITAAAiGQAAIiAAACIo AAAiMQAAIjsAACJHAAAiVgAAImcAACJ9AAAhmAAAIbQAACDgAAAg/AAAH/8AfTUAAHE6AABnPQAA Xz8AAFhAAABQQQAASUAAAEM/AAA8PQAANDsAACs4AAAiNQAAGjIAABIvAAAMLQAABioGAAApCgAA KA0AACgRAAAnFwAAJx4AACgmAAAoLwAAKDkAACdFAAAnVAAAJ2UAACZ6AAAmlQAAJbIAACXcAAAk +wAAJP8AeToAAG4+AABlQgAAXUQAAFZFAABQRQAASUUAAEJEAAA5QQAAMD8AACY8AAAeOQAAFjcA AA81AAAJMwAAAjEEAAAwCAAALwwAAC4QAAAuFAAALhsAAC0jAAAtLAAALTYAAC1DAAAtUQAALGIA ACx3AAArkgAAKq8AACrWAAAp+gAAKf8AdT8AAGtDAABiRgAAW0kAAFVKAABPSgAASUoAAD5IAAA0 RQAAK0MAACJBAAAZPwAAET0AAAw8AAAFOgAAADgDAAA3BgAANgoAADYNAAA1EgAANBgAADQgAAA0 KQAANDQAADRAAAAzTgAAM18AADJ0AAAxjgAAMKwAAC/RAAAv+AAALv8AcUQAAGhIAABgTAAAWk4A AFRPAABPUAAARE4AADlMAAAvSgAAJUkAABxHAAAURgAADkQAAAdDAAAAQQAAAEAAAAA/BAAAPgcA AD4LAAA9DwAAPBQAADwcAAA8JQAAPDAAADs8AAA7SgAAOlsAADlwAAA4igAAN6gAADbMAAA29gAA Nf8AbEoAAGVOAABeUQAAWVMAAFRVAABJVAAAPlMAADNRAAApUAAAIE8AABdOAAAQTQAACUwAAAFL AAAASQAAAEkAAABIAAAARwMAAEcIAABGDAAARREAAEUXAABFIQAARCsAAEQ4AABDRgAAQ1cAAEJr AABBhQAAP6MAAD7FAAA98wAAPf8AaVAAAGJUAABdVwAAWFkAAE1ZAABDWQAAN1gAAC1YAAAiVwAA GVcAABFWAAALVQAAAlUAAABUAAAAUwAAAFIAAABSAAAAUQAAAFEDAABQCAAAUA0AAE8SAABPGwAA TyYAAE4yAABNQQAATVEAAExlAABKfgAASZ0AAEi+AABH7gAARv8AZVYAAGBaAABcXQAAUV0AAEZe AAA7XwAAMF8AACVfAAAbYAAAEmAAAAxfAAAEXwAAAF8AAABeAAAAXgAAAF0AAABdAAAAXAAAAFwA AABcAgAAXAgAAFsNAABbFAAAWx8AAForAABaOgAAWUsAAFheAABWdwAAVZUAAFS2AABT5gAAUv8A Y10AAF9gAABVYQAASmMAAD5lAAAzZgAAKGgAAB1oAAAUaQAADGoAAARqAAAAawAAAGoAAABqAAAA agAAAGoAAABqAAAAagAAAGoAAABqAAAAagAAAGoHAABqDgAAahYAAGojAABpMgAAaEMAAGZXAABl bgAAZIsAAGOrAABh0wAAYPkAYmMAAFdlAABNaAAAQWsAADZtAAAqbwAAH3IAABRzAAANdQAABXYA AAB3AAAAeAAAAHgAAAB4AAAAeAAAAHkAAAB5AAAAeQAAAHoAAAB6AAAAewAAAHsAAAB8BgAAfQ4A AH4ZAAB9KAAAfDkAAHpNAAB5ZAAAd38AAHagAAB0wgAAc+4AWmgAAE9sAABEcAAAOHMAACx3AAAg ewAAFn4AAA2BAAAEgwAAAIUAAACGAAAAiAAAAIkAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACP AAAAkQAAAJIAAACUAAAAlgYAAJkQAACaHQAAmS4AAJdBAACUWAAAknMAAJCSAACOsQAAjNUAUW8A AEZ0AAA6eQAALn4AACKDAAAWiQAADo0AAAWRAAAAlQAAAJcAAACaAAAAnAAAAJ4AAACeAAAAoAAA AKIAAAClAAAApgAAAKgAAACrAAAArgAAALEAAAC0AAAAuQAAAL0GAADCEgAAwSMAAL81AAC9SwAA u2MAALiAAAC0oAAAsb4ASHgAADx+AAAwhQAAJIwAABiTAAAOmgAABKEAAACmAAAAqgAAAK4AAACy AAAAtQAAALgAAAC4AAAAuwAAAL4AAADBAAAAxAAAAMcAAADLAAAAzwAAANMAAADZAAAA3wAAAOUA AADsBwAA8hQAAPEoAADuPQAA61UAAOlvAADniwAA5aUAAAAAAAAAAAAAAAAAAAAAAAEDBAUGCAkK Cw0ODxESExQWFxgaGxwdHyAhIiQlJigpKistLi8wMjM0Njc4OTs8PT5AQUJERUZHSUpLTU5PUFJT VFVXWFlbXF1eYGFiY2VmZ2lqa2xub3Bxc3R1d3h5enx9foCBgoOFhoeIiouMjo+QkZOUlZaYmZqc nZ6foaKjpKanqKqrrK2vsLGztLW2uLm6u72+v8HCw8TGx8jJy8zNz9DR0tTV1tfZ2tvd3t/g4uPk 5ufo6evs7e7w8fL09fb3+fr7/P7///////////////////////////////////////////////// /////wAAAAAAAAAAAAAAAAAAAAABAwQFBggJCgsNDg8REhMUFhcYGhscHR8gISIkJSYoKSorLS4v MDIzNDY3ODk7PD0+QEFCREVGR0lKS01OT1BSU1RVV1hZW1xdXmBhYmNlZmdpamtsbm9wcXN0dXd4 eXp8fX6AgYKDhYaHiIqLjI6PkJGTlJWWmJmanJ2en6Gio6Smp6iqq6ytr7Cxs7S1tri5uru9vr/B wsPExsfIycvMzc/Q0dLU1dbX2drb3d7f4OLj5Obn6Onr7O3u8PHy9PX29/n6+/z+//////////// //////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAQMEBQYICQoL DQ4PERITFBYXGBobHB0fICEiJCUmKCkqKy0uLzAyMzQ2Nzg5Ozw9PkBBQkRFRkdJSktNTk9QUlNU VVdYWVtcXV5gYWJjZWZnaWprbG5vcHFzdHV3eHl6fH1+gIGCg4WGh4iKi4yOj5CRk5SVlpiZmpyd np+hoqOkpqeoqqusra+wsbO0tba4ubq7vb6/wcLDxMbHyMnLzM3P0NHS1NXW19na293e3+Di4+Tm 5+jp6+zt7vDx8vT19vf5+vv8/v////////////////////////////////////////////////// ////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1 Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1u b3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaan qKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g 4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/21mdDEAAAAAAwEhAAABAAAAAAAAAAAAAAAA AAAAAQAAAAAAAAAAAAAAAAAAAAEAAAABAgMEBQYHCAkKCwwNDg8QEBESExQVFhcYGRobHB0eHyAh IiMkJSYnKCkqKywtLi8wMTIzMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZ WltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGS k5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCxMXGx8jJysvM zc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+3u7/Dx8vP09fb3+Pn6+/z9/v8AAQECAgMD BAQFBgYHBwgICQkKCwsMDA0NDg8PEBARERITExQUFRYWFxcYGRkaGhscHB0eHh8gICEiIiMkJCUm JicoKSkqKywtLS4vMDEyMjM0NTY3ODk6Ozw9Pj9AQkNERUZISUpMTU9QUlNVV1haXF5gYmRmaGpt b3F0dnl8foGDhomLjpCSlZeZm52foaOlp6iqrK2vsLKztba3ubq7vL2/wMHCw8TFxsfIycrLzM3N zs/Q0dLS09TV1tbX2NnZ2tvb3N3d3t/f4OHh4uPj5OXl5ubn6Ojp6err6+zs7e7u7+/w8PHy8vPz 9PT19vb39/j4+fn6+/v8/P39/v7/AAEBAgIDAwQEBQYGBwcICAkJCgsLDAwNDQ4PDxAQERESExMU FBUWFhcXGBkZGhobHBwdHh4fICAhIiIjJCQlJiYnKCkpKissLS0uLzAxMjIzNDU2Nzg5Ojs8PT4/ QEJDREVGSElKTE1PUFJTVVdYWlxeYGJkZmhqbW9xdHZ5fH6Bg4aJi46QkpWXmZudn6Gjpaeoqqyt r7Cys7W2t7m6u7y9v8DBwsPExcbHyMnKy8zNzc7P0NHS0tPU1dbW19jZ2drb29zd3d7f3+Dh4eLj 4+Tl5ebm5+jo6enq6+vs7O3u7u/v8PDx8vLz8/T09fb29/f4+Pn5+vv7/Pz9/f7+//////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////4oH0SUNDX1BST0ZJTEUACQn///////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////Xg9P///////////////////////////////////////+DJ4P////// //////////////////////////////////Xg9P////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////Pf9P////////// ////////////////////////////86uMq/T/////////////////////////////////////341k jeD/////////////////////////////////////86uMq/T///////////////////////////// //////////Tg9P////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////1rCryv// ///////////////////////////////////doWtVg9T///////////////////////////////// //26fkUAX8D///////////////////////////////////7Cj2dYgtH///////////////////// ///////////////pybGrzP////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////+f0//////// ///////////////////////////////XpoyVu/T//////////////////////////////////9eW X0ZFcrT/////////////////////////////////+a1tQyAFM4jp//////////////////////// ////////4qZ8ThIADHDX////////////////////////////////7MOSWyEAEnTZ//////////// ////////////////////7byPaEUmUZbw/////////////////////////////////9Oqh3Z0mNj/ ///////////////////////////////////v1cfL3P////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////vw6GT te3//////////////////////////////////9ujcUY9YJrl//////////////////////////// ////5aJnMgQAD1qy////////////////////////////////uXpADAAAACuN/P////////////// ///////////////qoXI4BAAAAA977v/////////////////////////////Ko3Q7BwAAAAZ26/// ///////////////////////////UroNJEwAAABWC9P/////////////////////////////4yaR+ UCAAAEWj////////////////////////////////+dCvjm5PQ5Hh//////////////////////// ///////////03Ma1r9z///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////6MezsN7///////////////////////////////// /+m2iV9BSX7F////////////////////////////////3aVwPQwAACqD5v////////////////// ///////////rpnA0AAAAAABVxf////////////////////////////+9ej4AAAAAAAA8r/////// //////////////////////GSTgoAAAAAAAAsov///////////////////////////8NmIAAAAAAA AAAgm////////////////////////////5N5USIAAAAAAAAbmv////////////////////////// 58KhhVgnAAAAAAAjpP////////////////////////////jSspZpPRUAAABFvf////////////// ////////////////7MysjmtMNCmG7f/////////////////////////////////73Mq0n67b//// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /+7YztT///////////////////////////////////bKon1dQ1Ke/f////////////////////// ////////1aFyRxwAAABSwP/////////////////////////////Qkl0mAAAAAAAjlf////////// /////////////////+qVWhsAAAAAAAAGd/f//////////////////////////7JgIAAAAAAAAAAA YuT/////////////////////////73UoAAAAAAAAAAAAU9f/////////////////////////qysA AAAAAAAAAAAARs3/////////////////////////tQAAAAAAAAAAAAAAPsb///////////////// ////////5RwYCQAAAAAAAAAAO8P//////////////////////////1ZLQCUCAAAAAAAAQs3///// /////////////////////5+ShmxNLAwAAAAAWuT///////////////////////////vn1L6ji29V PiwegP//////////////////////////////////8OHOuaim3P////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////7ebz//////////////////////////// ///////jvp6BZUdd0///////////////////////////////z6F5US0MAAAVjP////////////// //////////////+1fEsbAAAAAAAAXNj//////////////////////////7hrMgAAAAAAAAAAO7j/ ////////////////////////3m0oAAAAAAAAAAAAIaH/////////////////////////lCMAAAAA AAAAAAAADI7/////////////////////////egAAAAAAAAAAAAAAAH////////////////////// ////oAAAAAAAAAAAAAAAAHL/////////////////////////zAAAAAAAAAAAAAAAAGj///////// ////////////////+ysAAAAAAAAAAAAAAGP3/////////////////////////1wAAAAAAAAAAAAA AGHz/////////////////////////5wAAAAAAAAAAAAAAGT3/////////////////////////+g9 MzYsGQMAAAAAAG7///////////////////////////+toJuOgXJgTjorHoj///////////////// //////////////////np18K0qtj///////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////0///////////////////////////////////83L6kinBRhP////////////////// ///////////9zqWBYEAjBwAASMP//////////////////////////+CXaD0WAAAAAAAAHpr///// ////////////////////8INADwAAAAAAAAAAAHf/////////////////////////lSoAAAAAAAAA AAAAAFnp////////////////////////SwAAAAAAAAAAAAAAAEDT//////////////////////// ZgAAAAAAAAAAAAAAAC3B////////////////////////kgAAAAAAAAAAAAAAAB6z//////////// ////////////vQAAAAAAAAAAAAAAABGm////////////////////////6SMAAAAAAAAAAAAAAAeb /////////////////////////08AAAAAAAAAAAAAAACT/////////////////////////38AAAAA AAAAAAAAAACO/////////////////////////7sQAAAAAAAAAAAAAACM//////////////////// //////9NAAAAAAAAAAAAAACM//////////////////////////+mAwAAAAAAAAAAAACN//////// ////////////////////hGlhW11aUUU3KRuK////////////////////////////////8Oje1su+ sqWr//////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////+f////////////////////// ////////////9tzErJN3WJ7/////////////////////////////z6eIbVI5IAYAAHv///////// /////////////////8SAVTIRAAAAAAAAAFPe////////////////////////wFEZAAAAAAAAAAAA AC26////////////////////////TQAAAAAAAAAAAAAAAA2b////////////////////////LAAA AAAAAAAAAAAAAACA////////////////////////XQAAAAAAAAAAAAAAAABp//////////////// ////////iQAAAAAAAAAAAAAAAABX////////////////////////tAAAAAAAAAAAAAAAAABJ9f// ////////////////////3yEAAAAAAAAAAAAAAAA86P///////////////////////0sAAAAAAAAA AAAAAAAx3f///////////////////////3cAAAAAAAAAAAAAAAAp0/////////////////////// /6cGAAAAAAAAAAAAAAAiy////////////////////////988AAAAAAAAAAAAAAAexv////////// //////////////94AAAAAAAAAAAAAAAbwf/////////////////////////OMAAAAAAAAAAAAAAX vP//////////////////////////jwIAAAAAAAAAAAAQs////////////////////////////4JN QDw6ODMqHg8Aov////////////////////////////////vr3M29r56Ljv////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////q0biegF6+//////////// ////////////////5LqZfmRMNB0DABOm/////////////////////////8uDUS4QAAAAAAAAAACH ////////////////////////nToCAAAAAAAAAAAAAABn///////////////////////vGwAAAAAA AAAAAAAAAABH6v//////////////////////IgAAAAAAAAAAAAAAAAAqzv////////////////// ////WQAAAAAAAAAAAAAAAAARtv//////////////////////iQAAAAAAAAAAAAAAAAAAov////// ////////////////tQAAAAAAAAAAAAAAAAAAkf//////////////////////3iUAAAAAAAAAAAAA AAAAhP///////////////////////04AAAAAAAAAAAAAAAAAd////////////////////////3gA AAAAAAAAAAAAAAAAbP///////////////////////6MDAAAAAAAAAAAAAAAAYv////////////// /////////9M0AAAAAAAAAAAAAAAAWv////////////////////////9qAAAAAAAAAAAAAAAAUv// //////////////////////+nHAAAAAAAAAAAAAAASv/////////////////////////4YAAAAAAA AAAAAAAAQP//////////////////////////vjMAAAAAAAAAAAAALvD///////////////////// /////6YgAAAAAAAAAAAAGtv///////////////////////////+5Yk5DPDMyPE9xmf////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////s0LeginViVFJm8v// /////////////////////+OcaUMkCQAAAAAAAAAXvP//////////////////////oj4CAAAAAAAA AAAAAAAAof/////////////////////TBwAAAAAAAAAAAAAAAAAAiP////////////////////// FwAAAAAAAAAAAAAAAAAAbv//////////////////////VgAAAAAAAAAAAAAAAAAAVf////////// ////////////jAAAAAAAAAAAAAAAAAAAPv7/////////////////////uwMAAAAAAAAAAAAAAAAA K+z/////////////////////5S8AAAAAAAAAAAAAAAAAGt3//////////////////////1cAAAAA AAAAAAAAAAAADdH//////////////////////4AAAAAAAAAAAAAAAAAAAcX///////////////// /////6kLAAAAAAAAAAAAAAAAALn//////////////////////9Q1AAAAAAAAAAAAAAAAAK////// //////////////////9mAAAAAAAAAAAAAAAAAKT///////////////////////+bEwAAAAAAAAAA AAAAAJn////////////////////////ZTwAAAAAAAAAAAAAAAIv///////////////////////// lhsAAAAAAAAAAAAAAHn/////////////////////////9W0AAAAAAAAAAAAAAGX///////////// /////////////+FeAAAAAAAAAAATNIL////////////////////////////wbT5XbYSass7u//// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////45tnU0M3L ycjJ4v//////////////////////8qh2X09DOTEpIhwWEAoEMe7////////////////////BJAMA AAAAAAAAAAAAAAAAFdP////////////////////+BwAAAAAAAAAAAAAAAAAAALr///////////// ////////VAAAAAAAAAAAAAAAAAAAAKT/////////////////////lQAAAAAAAAAAAAAAAAAAAJD/ ////////////////////yQ0AAAAAAAAAAAAAAAAAAH3/////////////////////9TwAAAAAAAAA AAAAAAAAAGz//////////////////////2cAAAAAAAAAAAAAAAAAAF7///////////////////// /48AAAAAAAAAAAAAAAAAAFL//////////////////////7cZAAAAAAAAAAAAAAAAAEb///////// /////////////99BAAAAAAAAAAAAAAAAADv///////////////////////9rAAAAAAAAAAAAAAAA AC////////////////////////+bEwAAAAAAAAAAAAAAACL////////////////////////PSAAA AAAAAAAAAAAAABP0////////////////////////hA0AAAAAAAAAAAAAAAHk//////////////// ////////0VEAAAAAAAAAAAAAAADS/////////////////////////641AAAAAAAAAAAAABLH//// //////////////////////+kLgAPIjVIXnaRs9z/////////////////////////////x7XM4ff/ //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////+zSv7ClnZaQi4eDgH59fa////////////////// ////elxFMyQXDQQAAAAAAAAAAEj/////////////////////TQAAAAAAAAAAAAAAAAAAAC7///// ////////////////ngAAAAAAAAAAAAAAAAAAABjz////////////////////2xcAAAAAAAAAAAAA AAAAAAXg/////////////////////0wAAAAAAAAAAAAAAAAAAADQ/////////////////////3oA AAAAAAAAAAAAAAAAAADC/////////////////////6QFAAAAAAAAAAAAAAAAAAC2//////////// /////////8stAAAAAAAAAAAAAAAAAACr//////////////////////JUAAAAAAAAAAAAAAAAAACg //////////////////////98AAAAAAAAAAAAAAAAAACU//////////////////////+lHQAAAAAA AAAAAAAAAACI///////////////////////UTAAAAAAAAAAAAAAAAAB6//////////////////// ////gQsAAAAAAAAAAAAAAABq////////////////////////vkYAAAAAAAAAAAAAAABY//////// /////////////////5AhAAAAAAAAAAAAAABC//////////////////////////F5EAAAAAAQIzdQ bpK8///////////////////////////te2l9kaS50Or///////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////ffy7urn5OTl6e////////// ////////////27Wci350a2NdV1FMR0M/PDuw////////////////////pzchEAEAAAAAAAAAAAAA AACA////////////////////7hwAAAAAAAAAAAAAAAAAAABp/////////////////////1sAAAAA AAAAAAAAAAAAAABW/////////////////////5AAAAAAAAAAAAAAAAAAAABG//////////////// /////70dAAAAAAAAAAAAAAAAAAA3/////////////////////+VHAAAAAAAAAAAAAAAAAAAr//// //////////////////9uAAAAAAAAAAAAAAAAAAAg//////////////////////+TCgAAAAAAAAAA AAAAAAAV//////////////////////+6MQAAAAAAAAAAAAAAAAAI///////////////////////j WgAAAAAAAAAAAAAAAAAA////////////////////////iRMAAAAAAAAAAAAAAAAA+f////////// ////////////vEcAAAAAAAAAAAAAAAAA6f///////////////////////YMZAAAAAAAAAAAAAAAA 1f///////////////////////9NgAAAAAAAAABAmQWGG///////////////////////////BUjVH Wmx/lKrD4///////////////////////////////5NXq/f////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////z4dXLxL24s6+sqaalpqqx/////////////////////4tyYlRKQToz LSciHBYRCwUA+f///////////////////20EAAAAAAAAAAAAAAAAAAAA4v////////////////// /6wAAAAAAAAAAAAAAAAAAAAAz////////////////////9w1AAAAAAAAAAAAAAAAAAAAv/////// //////////////9jAAAAAAAAAAAAAAAAAAAAsv////////////////////+LAQAAAAAAAAAAAAAA AAAAp/////////////////////+xKAAAAAAAAAAAAAAAAAAAnP/////////////////////WTQAA AAAAAAAAAAAAAAAAkf/////////////////////8cgAAAAAAAAAAAAAAAAAAhv////////////// ////////myUAAAAAAAAAAAAAAAAAef//////////////////////x1IAAAAAAAAAAAAAAAAAav// /////////////////////IUeAAAAAAAAAAAAAAAAV////////////////////////8dZAAAAAAAA AAAQKUdqof////////////////////////+oPhEjNEZYbIKbt9j///////////////////////// ////rpywwtbq//////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////+zE sqWclI+KhYJ+e3h3d3h9sf///////////////////85QQTQqIhsVDwkDAAAAAAAAUv////////// //////////9LAAAAAAAAAAAAAAAAAAAAQP////////////////////+AAAAAAAAAAAAAAAAAAAAA MP////////////////////+rHwAAAAAAAAAAAAAAAAAAI//////////////////////TSQAAAAAA AAAAAAAAAAAAGP/////////////////////4bgAAAAAAAAAAAAAAAAAADf////////////////// ////kxsAAAAAAAAAAAAAAAAAAf//////////////////////t0AAAAAAAAAAAAAAAAAAAP////// ////////////////4GkBAAAAAAAAAAAAAAAAAP///////////////////////5UtAAAAAAAAAAAA AAAAA////////////////////////8pfAgAAAAAAAAAKIj9fg/////////////////////////+h PAAOHzBCVmyFocDk///////////////////////////0kXOIm67C2fH///////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////Ts5eHd2tjW1dXX2t/o8/////////////////////+wjYF5cmxoZGFeW1lYWFpeZP// //////////////////+mKh4VDgcBAAAAAAAAAAAAAOj////////////////////UPgAAAAAAAAAA AAAAAAAAANr////////////////////6awAAAAAAAAAAAAAAAAAAAM7///////////////////// kxkAAAAAAAAAAAAAAAAAAMP/////////////////////uD8AAAAAAAAAAAAAAAAAALn///////// ////////////3GMAAAAAAAAAAAAAAAAAAK///////////////////////4geAAAAAAAAAAAAAAAA AKP//////////////////////69HAAAAAAAAAAAAAAAAGav//////////////////////9pyFgAA AAAAAAARKkhoje3///////////////////////+pRwAHFyg7T2Z/m7rd//////////////////// ///////uiltxhJerwtv3////////////////////////////////9dnt//////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////3s/GwLy5trW0tLW4 vMPN2/r/////////////////////jGphW1ZST01KSUdHSEtQWIL/////////////////////lRYK AwAAAAAAAAAAAAAAAEf/////////////////////vD4AAAAAAAAAAAAAAAAAADv///////////// ////////32YAAAAAAAAAAAAAAAAAADH//////////////////////4sgAAAAAAAAAAAAAAAAACb/ /////////////////////65EAAAAAAAAAAAAAAAAABv//////////////////////9NpCgAAAAAA AAAAAAAZPWP///////////////////////aPMgAAAAAAAAskP16Apcr///////////////////// //+9XgcLGy1AVW2HpcXp///////////////////////////3l1Roe46ju9Xy//////////////// ////////////////6cLT5vv///////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////+7uvqKSioKCgoqSorrfD0uT///////////////// ////939VT0tIRURCQkJDRUpRXGv//////////////////////5MiAQAAAAAAAAAAAAAAAAD///// /////////////////7ZKAAAAAAAAAAAAAAAAAAD//////////////////////9luDQAAAAAAAAAA AAAAACj///////////////////////uQMAAAAAAAAAAAAB9DapD///////////////////////+1 VgAAAAAADyZBX4CjyfD////////////////////////ZfSYYKTtQZ4CcvN7///////////////// ////////////rmJqfpKowd37////////////////////////////////8b3H3PL///////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////+9vHw8PDy9fv///////////////// //////////////KtnJiWlpaYm6CnsbvI2ev///////////////////////aHTEdFRENERkhLT1Zg b4PA//////////////////////+fOwAAAAAAAAAAAAAGNGC9//////////////////////++XgMA AAAAAAAHKU10m8T6///////////////////////cgCcAAAQYL0pnh6rP9f////////////////// ///////+oUgrPlJpgp683v//////////////////////////////y31yi6G61PL///////////// /////////////////////8nC3/b///////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////7ubj5Ofq7fT8////////////////////////////////s5SSk5ec oaeywM3d8///////////////////////////n1NHSU9TWV5ugp7A6P////////////////////// ////slcAFi5GX3ubu97/////////////////////////////y288XHWRq8jo//////////////// ////////////////7Z6BobvY9P///////////////////////////////////+LM5/////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////8AAAD/7gAOQWRvYmUAZAAAAAAC/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoL CgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQcHBw0MDRgQEBgUDg4OFBQO Dg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAUCACYAcIE AREAAhEBAxEBBBEA/90ABAA5/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMB AQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJx gRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVG pLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI 2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIx QQVRE2EiBnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUa J2R0VTfyo7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4 SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADgQBAAIRAxEEAAA/APKm KvqnNirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2K uzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2 KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2Kuz//0PKmKvqnNirs2Kuz Yq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2Ku zYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2K uzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2Kuz//0fKmKvqnNirs2KuzYq7Nirs9S/lx 5A8mN5K0e6uNGs7q5urSKaaa4hjmYtIvM7yBj1P+a5n4MUeGyHxvt3trVjWZIxyZIRhOUYxhOWP6 fT/A7JN/gLyN/wBS7pn/AEh2/wDzRl3hR7g6f+Wdb/q2b/lbk/4p2b/AXkb/AKl3TP8ApDg/5owe FHuX+Wdb/q2b/lbk/wCKdm/wF5G/6l3TP+kOD/mjHwo9y/yzrf8AVs3/ACtyf8U7N/gLyN/1Lumf 9IcH/NGPhR7l/lnW/wCrZv8Albk/4p2b/AXkb/qXdM/6Q4P+aMfCj3L/ACzrf9Wzf8rcn/FOzHyD 5G/6l3TP+kOD/mjHwo9yf5Z1v+rZv+VuT/inZ58/PPyhY+XvM0EmnQR2thfQ844ItqPGaOeNOKjd ePH/AGX8zYGaHDKn0/2Q7TnqtORkJnkxy+qX82X0uzm+VPWOzYq7O7f84+eXPL2q6BqcuqaXaX8s d2Eje5gjmZV9NTQF1agrmVpog3YfN/bXX58OeAx5MmMGH+TnKH8X9F2b/nIPy55e0ry/pkul6XaW Esl2Uke2gjhZl9NjQlFWorjqYgVS+xWuz5s8xknkyAQ/yk5T/i/pOzhOYr6Q7Nirs2KuzYq7Nirs 2KuzYq7Nirs2Kuw00jyv5j1lJH0rTLm+SKgkeCJ3VSa0BIFO2SjAnkHE1OvwYKGWcMfF/PkIux+r eUvM+j263OqaVdWVuzCNZZ4mRSxBIWpFK0GJgRzDHTdo6fOeHHkhkl/QkJOqK074UZFzXZsVdmxV 2bFXZsVdmxV2bFXZsVdmxV2bFXZsVdh5p/kjzhqNnHeWGjXlzaS19KeKF2RqGhoQN9xkxjkeQdfm 7V0uKRhPJjhMfwynHidUfd1wDq2h6zo862+q2U1jO680jnRo2K1I5AMBtUZExI5uRp9Xizx4sco5 I/0DxOqPu64BwOQ7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7LVWZgqgliaADcknFSXZIx+XHn4i v+H7/wD6R5P6ZZ4Uu51Z7c0X+rYv9PFwIIqOmEF1a3Npcy2t1E8FzCxSWGQFXVlNCGB3Bysh2OPJ GcRKJ4oy+mTgQRUdMSxZuzYq7Nirs//S8qYq+qc2KuzYq7Nirs2Kuz2N+XP/ACgXl7/tn2//ACbG bPB9AfB+3f8AHs3/AA2f+6dnmzz/AOdPM935w1auozwx291NbwxQSPGgjikZV2B3Puf+IcVzXTkS bL6z2N2VpoaXH6IyMoRnKU4xn6pxH4/487I//ibzJ/1drz/pIl/5qyLtP5P0/wDqeP8A0kP1OyVa X5S/OTVIFuLJNSeB1DJI90YgQfD1JEywYpHo6XUdo9k4ZcMzhEh/tfH/ALiEnYX69ZfmboAB1d9S tEYkLI08jIaEA/GrsvUjvglCUeblaPL2dqf7oYZ/5kf9zwuwl/xN5k/6ut5/0kS/81ZB2H8n6f8A 1PH/AKSH6nZ2v/nHnzjq2ovqGi6lefWVto1ntPWctNRnPqAFjVkBYdvh5fa+zmXpZm6fPfbbsvFi EM2OPBxngycI/d8vR/nfj+c7N/zkvpsDabo2p/F68c0ltt9kpIvPfb7VU+Hf+bHVjcFPsDnPiZMf 8JjHJ/pTw/752cBzEfTHZsVdnof/AJxp/wCUb1b/AJjF/wCTS5maTq+W+3v+MY/+F/792b/nJb/l GtJ/5jT/AMmmx1fRfYL/ABjJ/wAL/wB+HZ54zDfUnZsVdmxV2bFXZsVdmxV2bFXZsVdmxV2elP8A nHL/AJQW5/7aE3/JqHM/S/S+Te3P+OD/AIVD/dZVh/vl/wBVv1rhl+fQB/La+2rSa3I/5GqMOp+l o9if8f8A+Sc/0L88s5r32B2bFXZsVdmxV2bFXZsVdmxV2bFXZsVdmxV2Xirs9j/l8APInl6n/Vut f+TK5tMX0h8J9oP8ezf8Mk0nT6T+vOU/85Of3vlz/VvP1wZjavmHtfYD+7y/1ofdJw+2fkP45w3M R9BbzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2Kuw78kD/nc9A/7aNp/wAn0yUOYcPtD/F8n/C5/wC4 LUn2G+Rz2bm2fn1vPJ/51gD8ztbp/NB/1DRZrM31l9x9mf8AjPxf1f8AfSaTp9J/XkHyp3rebFXZ sVdn/9Pypir6pzYq7Nirs2KuzYq7PY35c/8AKBeXv+2fb/8AJsZs8H0B8H7d/wAezf8ADZ/7p2eU fOP/ACl2uf8AbQuv+TzZrTzfauy/8Vxf8Kx/7iLs6J/zj95Ls9W1S71q+RZrfT+McMLbgyvvUgjo FH83+S3w5kabHZsvK+2nassGOOGB4ZZfVKX9CLs9GZnvlLsDajptjqVlLZX0KXFtMpSSJwCCCKd8 BAOxbtPqJ4ZicDwyi7PIn5heVh5Y813mko3KGMiSAk1PpuKrX/P/AIbNZkhwyp9z7F7R/OaaOXqf q/rRdh3+RmprY/mLYo0ZcXqS2tQacSy8w3TfdKYcJqYdd7X6fxNBM3XhmOT/AHv++dnbvzv0+4vf y41MQDk1uYrhhUD4I5AXO/gvxZl6kXF889ks0cfaEOL+Lih/nSj6XZ5SzXvtLs2Kuz0P/wA40/8A KN6t/wAxi/8AJpczNJ1fLfb3/GMf/C/9+7N/zkt/yjWk/wDMaf8Ak02Or6L7Bf4xk/4X/vw7OBQ6 Xqc8YlgtJpYm+y6RuymhoaEDxzEovpk9RjiaMog/1g7H/oTWf+WC4/5FP/THhLH83h/nw/00XZv0 JrP/ACwXP/Ip/wCmPCV/N4f58P8ATRdm/Qms/wDLBcf8in/pjwlfzeH+fD/TRdgR0eN2jkUo6Eqy sKEEbEEHA3ggixydjcUuzYq7Nirs2Kuz0R+Rl7dWP5XapeWlq99c293cyQ2kf2pGWCIhF67nM3AS IEh8w9q8MMvaUITl4UJQhxT/AJvqyrGNJVJ/lb9a5P8ATEXzZ5Ttj5l0gW7XQ5XOmThjxaOQ8SQw Rt+IcVGXgccfUHmdRM9n6uX5bJxcPpjljw/xfw/zVwJPy7Edxgf/AJVb+Xn/AFYLT/gP7cHgw7m3 /RP2h/qsv9h/xLeb/lVv5ef9WC0/4D+3HwYdy/6J+0P9Vl/sP+Jdm/5Vb+Xn/VgtP+A/tx8GHcv+ iftD/VZf7D/iXZv+VW/l5/1YLT/gP7cfBh3L/on7Q/1WX+w/4l2b/lVv5ef9WC0/4D+3HwYdy/6J +0P9Vl/sP+Jdm/5Vb+Xn/VgtP+A/tx8GHcv+iftD/VZf7D/iXZv+VW/l5/1YLT/gP7cfBh3L/on7 Q/1WX+w/4l2b/lVv5ef9WC0/4D+3HwYdy/6J+0P9Vl/sP+Jdm/5Vb+Xn/VgtP+A/tx8GHcv+iftD /VZf7D/iXZv+VW/l5/1YLT/gP7cfBh3L/on7Q/1WX+w/4l2b/lVv5ef9WC0/4D+3HwIdy/6J+0P9 Vl/sP+JdjvNeraj5W0GzHl7Q5NUEckVqllb8v3UCqd6KHagChF2+02MyYjYI7M02PXZ5nU5fCJBy ccq9c/8ActfZ6UA3NT4nDDWfK3l7X1t31rTortoA3orMORj9ShcChp+yuSlAS5hxdL2pqNIZRwT4 YyP8P8fD9MvWHD+buQK4W/8AKrfy8/6sFp/wH9uR8GHc5f8Aon7Q/wBVl/sP+Jbzf8qt/Lz/AKsF p/wH9uPgw7l/0T9of6rL/Yf8S7N/yq38vP8AqwWn/Af24+DDuX/RP2h/qsv9h/xLs3/Krfy8/wCr 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 1jFK79EzHnLiNvXdn6KOlwRwxJlHH/OcBQU+Z+/fCfIuY7Nirs2Kuz//0fKmKvqnNirs2KuzYq7N irs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7 Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq 7Nirs2KuzYq7Nirs2KuzYq7Nirs2KuzYq7Nirs2Kuz//2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIYCEQASAAEAnAAPAAQABAAEAAQAAAAEAAgAAACYAAAAngAA AJ4AAACeAAAAngAAAJ4AAACeAAAAngAAAJ4AAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAA NgYAADYGAAB2AgAAdgIAAHYCAAB2AgAAdgIAAHYCAAB2AgAAdgIAAHYCAAA2BgAANgYAADYGAAA2 BgAANgYAADYGAAA+AgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYG AAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYA ADYGAAA2BgAAqAAAADYGAAA2BgAAFgAAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAA uAAAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAAGgBAABI AQAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYG AAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYA ADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAA NgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAAA2 BgAANgYAADYGAAA2BgAANgYAADYGAAA2BgAANgYAADYGAACwAwAANgYAAEwAAEDx/wIATAAMEAAA AAAAAAAABwAeBDEESwRHBD0ESwQ5BAAADAAAABJkFAEBABSkyAAYAENKFgBfSAEEYUoWAG1IGQRz SBkEdEgJBAAAAAAAAAAAAAAAAAAAAAAAAEIAQQDy/6EAQgAMDQAAAAAAABAAFQAeBEEEPQQ+BDIE PQQ+BDkEIABIBEAEOAREBEIEIAAwBDEENwQwBEYEMAQAAAAAWABpAPP/swBYAAwNAAAAAAAAMAYP AB4EMQRLBEcEPQQwBE8EIABCBDAEMQQ7BDgERgQwBAAAHAAX9gMAADTWBgABCgNsADTWBgABBQMA AGH2AwAAAgALAAAALgBrAPT/wQAuAAANAAAAAAAAMAYKAB0ENQRCBCAAQQQ/BDgEQQQ6BDAEAAAC AAwAAAAAAFQAmQABAPIAVAAMCRAAICEvADAGDQAiBDUEOgRBBEIEIAAyBEsEPQQ+BEEEOgQ4BAAA DAAPABJk8AABABSkAAAUAENKEABPSgUAUUoFAF5KBQBhShAAQAD+D/L/AQFAAAwBDwAgIS8AMAYK ACAAFwQ9BDAEOgQgABcEPQQwBDoEAAAUAENKEABPSgUAUUoFAF5KBQBhShAAAAAAACYFAAAEAAAe AAAAAP////8AAAAAPQAAAEsAAABNAAAArwAAABgBAAAoAQAAbAEAAJYBAADfAQAACgIAAE0CAAB4 AgAAZAMAAFAEAAByBAAAsQQAANwEAADdBAAAKAUAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAA AACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAA AJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAAAADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAA mAAAAAAwAAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAiAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAACY AAIgADABAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAACIAAwAgAAAAAAAIAAAACAAAAAAAAAAAAAAJgA AiAAMAMAAAAAAACAAAAAgAAAAAAAAAAAAACYAAIgADAEAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAC IAAwBQAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAiAAMAYAAAAAAACAAAAAgAAAAAAAAAAAAACYAAIg ADAHAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAACIAAwCAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAiAA MAAAAAAAAACAAAAAgAAAAAAAAAAAAACYAAIgADAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAmAAAAAAw AAAAAAAAAIAAAACAAAAAAAAAAAAAAJgAAAAAMAAAAAAAAACAAAAAgAAAAAAAAAAAAAEABgAA1AoA AIYaAADCGgAABwAAAAoAAAAOAAAAAAYAAMIaAAAIAAAAAAYAAMIaAAAJAAAADwAA8EwAAAAAAAbw GAAAAAIIAAACAAAAAQAAAAEAAAABAAAAAgAAACMAC/AMAAAAhsEAAAAAxcEAAAAAQAAe8RAAAAD/ /wAAAAD/AICAgAD3AAAQAA8AAvCSAAAAEAAI8AgAAAABAAAAAQQAAA8AA/AwAAAADwAE8CgAAAAB AAnwEAAAAAAAAAAAAAAAAAAAAAAAAAACAArwCAAAAAAEAAAFAAAADwAE8EIAAAASAArwCAAAAAEE AAAADgAAUwAL8B4AAAC/AQAAEADLAQAAAAD/AQAACAAEAwkAAAA/AwEAAQAAABHwBAAAAAEAAAAA AAAAKAAAADwAAABKAAAATAAAACgBAAAoAQAAawEAAGwBAACVAQAAlgEAAN4BAADfAQAACQIAAAoC AABMAgAATQIAAHcCAAB4AgAAYwMAAGQDAABPBAAAUAQAAHEEAAByBAAAsAQAALEEAAAUBQAAJQUA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAClBm4EtAC0AIGBcjQAAAAAAAAAAAAAAAAAACQFAAAkBQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AgAAAAAAAAAAAAVKg1EA8BAACAD8/QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASFgAAAAAKfD/ DwABJFAAAOMEAAD///9/////f////3////9/////f////3////9/YRUiAAAEAAAyAAAAAAAAAAAA AAAAAAAAAAD//xIAAAAAAAAAAAAAAAAAAAADAEMAVgBSAAQAVQBzAGUAcgAAAAAAAAAAAAAAAAAA AAAAAAAAABQAAAAGAAAAAgAAAAAADAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAD+/wAABgECAAAAAAAAAAAAAAAAAAAAAAABAAAA4IWf8vlPaBCrkQgAKyez2TAA AABQAQAAEAAAAAEAAACIAAAAAgAAAJAAAAADAAAAnAAAAAQAAACoAAAABQAAALQAAAAHAAAAwAAA AAgAAADQAAAACQAAAOAAAAASAAAA7AAAAAoAAAAMAQAADAAAABgBAAANAAAAJAEAAA4AAAAwAQAA DwAAADgBAAAQAAAAQAEAABMAAABIAQAAAgAAAOMEAAAeAAAABAAAAAAAAAAeAAAABAAAAAAAAAAe AAAABAAAAENWUgAeAAAABAAAAAAAAAAeAAAACAAAAE5vcm1hbAAAHgAAAAgAAABVc2VyAAAAAB4A AAAEAAAANgAAAB4AAAAYAAAATWljcm9zb2Z0IE9mZmljZSBXb3JkAAAAQAAAAADqVvoAAAAAQAAA AAD2S/62688BQAAAAAAK2aFh7c8BAwAAAAEAAAADAAAAxAAAAAMAAABiBAAAAwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA/v8AAAYBAgAAAAAAAAAAAAAAAAAAAAAAAQAAAALVzdWcLhsQk5cIACss+a4wAAAA7AAAAAwA AAABAAAAaAAAAA8AAABwAAAABQAAAHwAAAAGAAAAhAAAABEAAACMAAAAFwAAAJQAAAALAAAAnAAA ABAAAACkAAAAEwAAAKwAAAAWAAAAtAAAAA0AAAC8AAAADAAAAMkAAAACAAAA4wQAAB4AAAAEAAAA AAAAAAMAAAAJAAAAAwAAAAIAAAADAAAAJAUAAAMAAADmFQsACwAAAAAAAAALAAAAAAAAAAsAAAAA AAAACwAAAAAAAAAeEAAAAQAAAAEAAAAADBAAAAIAAAAeAAAACQAAAM3g5+Lg7ejlAAMAAAABAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAC AAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAAP7/ //8RAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAA AB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAA LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7 AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkA AABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAA AFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAA ZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0 AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIA AACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAA AJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAA nwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACt AAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsA AAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAA AMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA 2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADm AAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQA AAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEA AAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAA EQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAf AQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0B AAAuAQAALwEAADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAA6AQAAOwEA ADwBAAA9AQAAPgEAAD8BAABAAQAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAA SgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABSAQAAUwEAAFQBAABVAQAAVgEAAFcBAABY AQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAABhAQAAYgEAAGMBAABkAQAAZQEAAGYB AABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAbgEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEA AHUBAAB2AQAAdwEAAHgBAAB5AQAAegEAAHsBAAB8AQAAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAA gwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACR AQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8B AACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACmAQAApwEAAKgBAACpAQAAqgEAAKsBAACsAQAArQEA AK4BAACvAQAAsAEAALEBAACyAQAAswEAALQBAAC1AQAAtgEAALcBAAC4AQAAuQEAALoBAAC7AQAA vAEAAL0BAAC+AQAAvwEAAMABAADBAQAAwgEAAMMBAADEAQAAxQEAAMYBAADHAQAAyAEAAMkBAADK AQAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAA1wEAANgB AADZAQAA2gEAANsBAADcAQAA3QEAAN4BAADfAQAA4AEAAOEBAADiAQAA4wEAAOQBAADlAQAA5gEA AOcBAADoAQAA6QEAAOoBAADrAQAA7AEAAO0BAADuAQAA7wEAAPABAADxAQAA8gEAAPMBAAD0AQAA 9QEAAPYBAAD3AQAA+AEAAPkBAAD6AQAA+wEAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAAICAAAD AgAABAIAAAUCAAAGAgAABwIAAAgCAAAJAgAACgIAAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABEC AAASAgAAEwIAABQCAAAVAgAAFgIAABcCAAAYAgAAGQIAABoCAAAbAgAAHAIAAB0CAAAeAgAAHwIA ACACAAAhAgAAIgIAACMCAAAkAgAAJQIAACYCAAAnAgAAKAIAACkCAAAqAgAAKwIAACwCAAAtAgAA LgIAAC8CAAAwAgAAMQIAADICAAAzAgAANAIAADUCAAA2AgAANwIAADgCAAA5AgAAOgIAADsCAAA8 AgAAPQIAAD4CAAA/AgAAQAIAAEECAABCAgAAQwIAAEQCAABFAgAARgIAAEcCAABIAgAASQIAAEoC AABLAgAATAIAAE0CAABOAgAATwIAAFACAABRAgAAUgIAAFMCAABUAgAAVQIAAFYCAABXAgAAWAIA AFkCAABaAgAAWwIAAFwCAABdAgAAXgIAAF8CAABgAgAAYQIAAGICAABjAgAAZAIAAGUCAABmAgAA ZwIAAGgCAABpAgAAagIAAGsCAABsAgAAbQIAAG4CAABvAgAAcAIAAHECAAByAgAAcwIAAHQCAAB1 AgAAdgIAAHcCAAB4AgAAeQIAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAIACAACBAgAAggIAAIMC AACEAgAAhQIAAIYCAACHAgAAiAIAAIkCAACKAgAAiwIAAIwCAACNAgAAjgIAAI8CAACQAgAAkQIA AJICAACTAgAAlAIAAJUCAACWAgAAlwIAAJgCAACZAgAAmgIAAJsCAACcAgAAnQIAAJ4CAACfAgAA oAIAAKECAACiAgAAowIAAKQCAAClAgAApgIAAKcCAACoAgAAqQIAAKoCAACrAgAArAIAAK0CAACu AgAArwIAALACAACxAgAAsgIAALMCAAC0AgAAtQIAALYCAAC3AgAAuAIAALkCAAC6AgAAuwIAALwC AAC9AgAAvgIAAL8CAADAAgAAwQIAAMICAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAADJAgAAygIA AMsCAADMAgAAzQIAAM4CAADPAgAA0AIAANECAADSAgAA0wIAANQCAADVAgAA1gIAANcCAADYAgAA 2QIAANoCAADbAgAA3AIAAN0CAADeAgAA3wIAAOACAADhAgAA4gIAAOMCAADkAgAA5QIAAOYCAADn AgAA6AIAAOkCAADqAgAA6wIAAOwCAADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADzAgAA9AIAAPUC AAD2AgAA9wIAAPgCAAD5AgAA+gIAAPsCAAD8AgAA/QIAAP4CAAD/AgAAAAMAAAEDAAACAwAAAwMA AAQDAAAFAwAABgMAAAcDAAAIAwAACQMAAAoDAAALAwAADAMAAA0DAAAOAwAADwMAABADAAARAwAA EgMAABMDAAAUAwAAFQMAABYDAAAXAwAAGAMAABkDAAAaAwAAGwMAABwDAAAdAwAAHgMAAB8DAAAg AwAAIQMAACIDAAAjAwAAJAMAACUDAAAmAwAAJwMAACgDAAApAwAAKgMAACsDAAAsAwAALQMAAC4D AAAvAwAAMAMAADEDAAAyAwAAMwMAADQDAAA1AwAANgMAADcDAAA4AwAAOQMAADoDAAA7AwAAPAMA AD0DAAA+AwAAPwMAAEADAABBAwAAQgMAAEMDAABEAwAARQMAAEYDAABHAwAASAMAAEkDAABKAwAA SwMAAEwDAABNAwAATgMAAE8DAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAVwMAAFgDAABZ AwAAWgMAAFsDAABcAwAAXQMAAF4DAABfAwAAYAMAAGEDAABiAwAAYwMAAGQDAABlAwAAZgMAAGcD AABoAwAAaQMAAGoDAABrAwAAbAMAAG0DAABuAwAAbwMAAHADAABxAwAAcgMAAHMDAAB0AwAAdQMA AHYDAAB3AwAAeAMAAHkDAAB6AwAAewMAAHwDAAB9AwAAfgMAAH8DAACAAwAAgQMAAIIDAACDAwAA hAMAAIUDAACGAwAAhwMAAIgDAACJAwAAigMAAIsDAACMAwAAjQMAAI4DAACPAwAAkAMAAJEDAACS AwAAkwMAAJQDAACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAACbAwAAnAMAAJ0DAACeAwAAnwMAAKAD AAChAwAAogMAAKMDAACkAwAApQMAAKYDAACnAwAAqAMAAKkDAACqAwAAqwMAAKwDAACtAwAArgMA AK8DAACwAwAAsQMAALIDAACzAwAAtAMAALUDAAC2AwAAtwMAALgDAAC5AwAAugMAALsDAAC8AwAA vQMAAL4DAAC/AwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAAyQMAAMoDAADL AwAAzAMAAM0DAADOAwAAzwMAANADAADRAwAA0gMAANMDAADUAwAA1QMAANYDAADXAwAA2AMAANkD AADaAwAA2wMAANwDAADdAwAA3gMAAN8DAADgAwAA4QMAAOIDAADjAwAA5AMAAOUDAADmAwAA5wMA AOgDAADpAwAA6gMAAOsDAADsAwAA7QMAAO4DAADvAwAA8AMAAPEDAADyAwAA8wMAAPQDAAD1AwAA 9gMAAPcDAAD4AwAA+QMAAPoDAAD7AwAA/AMAAP0DAAD+AwAA/wMAAAAEAAABBAAAAgQAAAMEAAAE BAAABQQAAAYEAAAHBAAACAQAAAkEAAAKBAAACwQAAAwEAAANBAAADgQAAA8EAAAQBAAAEQQAABIE AAATBAAAFAQAABUEAAAWBAAAFwQAABgEAAAZBAAAGgQAABsEAAAcBAAAHQQAAB4EAAAfBAAAIAQA ACEEAAAiBAAAIwQAACQEAAAlBAAAJgQAACcEAAAoBAAAKQQAACoEAAArBAAALAQAAC0EAAAuBAAA LwQAADAEAAAxBAAAMgQAADMEAAA0BAAANQQAADYEAAA3BAAAOAQAADkEAAA6BAAAOwQAADwEAAA9 BAAAPgQAAD8EAABABAAAQQQAAEIEAABDBAAARAQAAEUEAABGBAAARwQAAEgEAABJBAAASgQAAEsE AABMBAAATQQAAE4EAABPBAAAUAQAAFEEAABSBAAAUwQAAFQEAABVBAAAVgQAAFcEAABYBAAAWQQA AFoEAABbBAAAXAQAAF0EAABeBAAAXwQAAGAEAABhBAAAYgQAAGMEAABkBAAAZQQAAGYEAABnBAAA aAQAAGkEAABqBAAAawQAAGwEAABtBAAAbgQAAG8EAABwBAAAcQQAAHIEAABzBAAAdAQAAHUEAAB2 BAAAdwQAAHgEAAB5BAAAegQAAHsEAAB8BAAAfQQAAH4EAAB/BAAAgAQAAIEEAACCBAAAgwQAAIQE AACFBAAAhgQAAIcEAACIBAAAiQQAAIoEAACLBAAAjAQAAI0EAACOBAAAjwQAAJAEAACRBAAAkgQA AJMEAACUBAAAlQQAAP7///+XBAAAmAQAAJkEAACaBAAAmwQAAJwEAACdBAAAngQAAJ8EAACgBAAA /v///6IEAACjBAAApAQAAKUEAACmBAAApwQAAKgEAAD+////qgQAAKsEAACsBAAArQQAAK4EAACv BAAAsAQAAP7////9/////f////3////9/////f////3////9/////f////3////9////vAQAAP7/ ///+/////v////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////UgBvAG8AdAAgAEUAbgB0 AHIAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYABQH///// /////wMAAAAGCQIAAAAAAMAAAAAAAABGAAAAAAAAAAAAAAAAcGzDrWHtzwG+BAAAgAAAAAAAAABE AGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAACgACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ABAAAAB9CgkAAAAAADEAVABhAGIAbABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAOAAIBAQAAAAYAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAlgQAACwVAAAAAAAAVwBvAHIAZABEAG8AYwB1AG0AZQBuAHQAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAgECAAAABQAAAP////8AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALh4AAAAAAAAFAFMAdQBtAG0AYQByAHkA SQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAf////// /////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEEAAAAEAAAAAAAAAUA RABvAGMAdQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAA AAAAAAA4AAIBBAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA qQQAAAAQAAAAAAAAAQBDAG8AbQBwAE8AYgBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAABIAAgD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD+//////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////AQD+/wMKAAD/////BgkCAAAA AADAAAAAAAAARh8AAADE7urz7OXt8iBNaWNyb3NvZnQgT2ZmaWNlIFdvcmQACgAAAE1TV29yZERv YwAQAAAAV29yZC5Eb2N1bWVudC44APQ5snEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ------=_NextPart_000_1192_01CFEE0F.CD5C6BA0-- From mlsemon35@gmail.com Wed Oct 22 09:16: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.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 CA3D67F4E for ; Wed, 22 Oct 2014 09:16:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A93278F8035 for ; Wed, 22 Oct 2014 07:16:56 -0700 (PDT) X-ASG-Debug-ID: 1413987412-04cbb070c814e0c0001-NocioJ Received: from mail-qg0-f41.google.com (mail-qg0-f41.google.com [209.85.192.41]) by cuda.sgi.com with ESMTP id cWovuZes0d2GwDpE (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 22 Oct 2014 07:16:52 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.41 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] Received: by mail-qg0-f41.google.com with SMTP id a108so2626152qge.28 for ; Wed, 22 Oct 2014 07:16:50 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] 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:references :in-reply-to:content-type:content-transfer-encoding; bh=dj7KBoGWkdWhDj35WaEi3LQgG9KVE2u/MugCU8QPqmk=; b=B8nS/YdbKC2GFYOHatBFh900asKin71WQEQtcaYVDmtl/tD/XZFKgBDejahblH92iU bgwEk+eCX9XK87XxINO9zxTs3iR6QcecvnPL1s1kAN9ayIJ5b9atm9qwh400iNqJpGVv tRohhRvksWdPdIlDpq/w3ghBUX+jnRo7b67U6TtMU2JQCkHZz9L/2vefpAIS98HiBm5u 7BlOHLAh100M5WXuigBCDsY3/F/nzL019M8D8wdKNk5qVjQoI+O9lj8gRtWNmJkqyFYx hh0r0r6cEtsc38YxfTqCD6cRDcm2vG9gKr0QiJsAJA3Yz8O/DpZm3yoZrwxk6n+iRmyk tECg== X-Received: by 10.140.42.134 with SMTP id c6mr20531849qga.7.1413987409718; Wed, 22 Oct 2014 07:16:49 -0700 (PDT) Received: from yholen.ds (rrcs-97-76-23-49.se.biz.rr.com. [97.76.23.49]) by mx.google.com with ESMTPSA id g51sm13688121qge.18.2014.10.22.07.16.49 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Oct 2014 07:16:49 -0700 (PDT) Message-ID: <5447BC4C.3050408@gmail.com> Date: Wed, 22 Oct 2014 10:16:44 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: Eric Sandeen , xfs Subject: Re: xfsdump not work in 3.17 References: <543F3C9A.4060603@sandeen.net> X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 In-Reply-To: <543F3C9A.4060603@sandeen.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f41.google.com[209.85.192.41] X-Barracuda-Start-Time: 1413987412 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.10827 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 10/15/14 23:33, Eric Sandeen wrote: > On 10/15/14 9:31 PM, Tommy Wu wrote: >> Hi! >> >> xfsdump 3.1.4 >> xfsprogs 3.2.1 >> linux kerenl 3.17/3.17.1 >> > > ... > >> It just create a small dump file, and if I run the same xfsdump again (or umount the filesystem), it will hang, like: >> >> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz >> /sbin/xfsdump: using file dump (drive_simple) strategy >> /sbin/xfsdump: version 3.1.4 (dump format 3.0) >> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ >> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 >> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 >> /sbin/xfsdump: session label: "" >> /sbin/xfsdump: ino map phase 1: constructing initial dump list >> >> >> switch back to kernel 3.16, the same command work fine. >> > > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 > > addresses the small backup file, and > > [PATCH] xfs: bulkstat doesn't release AGI buffer on error > > (on the list) most likely addresses the hang, I think. > > -Eric Thanks! I'm still looking for that one good recipe to fix xfsdump in my i686 Pentium 4 dungeon here, currently using yesterday morning's git kernel + xfs-oss/for-next. The test dataset is a basic slackware-current setup, regular kernel source, -stable kernel source, on v5-superblock/finobt XFS (mkfs.xfs -m crc=1,finobt=1 ...). The dataset uses about 7 GB of disk space. This letter is half-baked thoughts, only here to express the idea "don't think you're out of the woods yet!" in some primitive manner. The first patch seems to get rid of the earliest xfsdump premature SUCCESS, the one where xfsdump ran for less than 10 seconds and left a dump file of less than 1 MB. BTW, in the commit message and to `git log xfs-oss/for-next`, the commit message for the patch starts "caused a regression in xfs_inumbers" but does not mention which commit caused the regression. With the second patch applied, the dump size increases to about 1 decimal GB before exiting, same size in three different runs. I think I tried the patch "xfs: Check error during inode btree iteration in xfs_bulkstat()"--no other similar patches in my mailing list patchset download-- and xfsdump dumped up to 1.2 decimal GB, same size in two different runs. These patches are being run through xfstests as I work, so there's nothing there to report yet. It was only this morning that I got tar to complete a system backup without asserting in some way (hangcheck timer expires, stack varies), and the last oops got into that uncomfortable xfs_dir3_leaf area. Should this happen again, I'll either post some traces or the output of `xfsdump -v 3 ...` I was rushed into work today and couldn't grab the logs. Should `xfsdump -v 3 ...` report SUCCESS for one code and an error for the second return code, that second code has been "unknown error." I've never run xfsdump at -v 3 before and don't know if that is normal. The rest is still being fleshed out. tar seems to be OK, so long as xfsdump has not been invoked beforehand. tar has not been run enough times to get a true 1:1 correlation on it, though. The current goal is to reconstruct the filesystem and see if all problems magically go away. So far, xfs_repair has reported no errors on this filesystem. Thanks! Michael From hch@lst.de Wed Oct 22 11:29: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=none 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 4ABF27F55 for ; Wed, 22 Oct 2014 11:29:26 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id DAB7AAC009 for ; Wed, 22 Oct 2014 09:29:22 -0700 (PDT) X-ASG-Debug-ID: 1413995359-04bdf038cf16e830001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id cOpkcAVAFESjQdzm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 22 Oct 2014 09:29:21 -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 AF9A313F23; Wed, 22 Oct 2014 18:29:15 +0200 (CEST) Date: Wed, 22 Oct 2014 18:29:15 +0200 From: Christoph Hellwig To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de Subject: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports Message-ID: <20141022162915.GB18443@lst.de> X-ASG-Orig-Subj: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports References: <1413902316-17997-1-git-send-email-jack@suse.cz> <1413902316-17997-3-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413902316-17997-3-git-send-email-jack@suse.cz> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1413995360 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.10829 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 21, 2014 at 04:38:26PM +0200, Jan Kara wrote: > Currently all filesystems supporting VFS quota support user and group > quotas. With introduction of project quotas this is going to change so > make sure filesystem isn't called for quota type it doesn't support by > introduction of a bitmask determining which quota types each filesystem > supports. Why don't you keep this bitmask in the dquot.c instead of pushing it to the caller? So far usage of s_dquot is mostly confined to dquot.c (with a few leaks to the filesystems using it), so keeping it that way seems like a good idea. From jack@suse.cz Wed Oct 22 11:51: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 E6FFF7F57 for ; Wed, 22 Oct 2014 11:51:54 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id D19DA30404E for ; Wed, 22 Oct 2014 09:51:54 -0700 (PDT) X-ASG-Debug-ID: 1413996712-04cb6c2ef915bf70001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id 1coNKIrGPXSblQnv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 22 Oct 2014 09:51:53 -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 A2A27ABA5; Wed, 22 Oct 2014 16:51:51 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id C3A4C81C69; Wed, 22 Oct 2014 18:51:50 +0200 (CEST) Date: Wed, 22 Oct 2014 18:51:50 +0200 From: Jan Kara To: Christoph Hellwig Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports Message-ID: <20141022165150.GA12809@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports References: <1413902316-17997-1-git-send-email-jack@suse.cz> <1413902316-17997-3-git-send-email-jack@suse.cz> <20141022162915.GB18443@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141022162915.GB18443@lst.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1413996712 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.10830 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed 22-10-14 18:29:15, Christoph Hellwig wrote: > On Tue, Oct 21, 2014 at 04:38:26PM +0200, Jan Kara wrote: > > Currently all filesystems supporting VFS quota support user and group > > quotas. With introduction of project quotas this is going to change so > > make sure filesystem isn't called for quota type it doesn't support by > > introduction of a bitmask determining which quota types each filesystem > > supports. > > Why don't you keep this bitmask in the dquot.c instead of pushing it > to the caller? So far usage of s_dquot is mostly confined to dquot.c > (with a few leaks to the filesystems using it), so keeping it that > way seems like a good idea. So there are two reasons: 1) Currently if you call quotactl() with invalid quota type you'll get EINVAL. To maintain this with addition of project quotas you need to check the types early before calling check_quotactl_permission() and other checks. 2) I didn't want filesystem quotactl callbacks to deal with quota types they don't support. Sure each fs could do a type check in the callback but this looked easier. Now I see your point about s_dquot and I can move allowed_types out of s_dquot if that makes you happier. But otherwise what I did still seems as the best solution to me. Honza -- Jan Kara SUSE Labs, CR From kstafford@pageinc.org Wed Oct 22 16:13: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 E0A427F59 for ; Wed, 22 Oct 2014 16:13:03 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 84412AC004 for ; Wed, 22 Oct 2014 14:13:00 -0700 (PDT) X-ASG-Debug-ID: 1414012377-04bdf038cf17ad00001-NocioJ Received: from mail.pageinc.org (mail.pageinc.org [72.54.67.200]) by cuda.sgi.com with ESMTP id 8UbKyk6UXgKQAvlH (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO); Wed, 22 Oct 2014 14:12:57 -0700 (PDT) X-Barracuda-Envelope-From: kstafford@pageinc.org X-Barracuda-Apparent-Source-IP: 72.54.67.200 Received: from SEM0.pageinc.org ([fe80::7d76:980e:191f:f765]) by sem0.pageinc.org ([fe80::7d76:980e:191f:f765%12]) with mapi id 14.01.0438.000; Wed, 22 Oct 2014 17:12:17 -0400 From: Karen Stafford To: "info@web.com" Subject: Helpdesk Support Thread-Topic: Helpdesk Support X-ASG-Orig-Subj: Helpdesk Support Thread-Index: Ac/uPNvkkIwasKqwTzqm3kiPzq+wqQ== Date: Wed, 22 Oct 2014 21:12:17 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [41.66.235.47] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: mail.pageinc.org[72.54.67.200] X-Barracuda-Start-Time: 1414012377 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: onlinebreadband-update.webs.com 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, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10835 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_MISMATCH_TO Envelope rcpt doesn't match header Din e-post har =F6verskridit lagringsgr=E4nsen som skapats. Du kommer inte = l=E4ngre att kunna skicka eller ta emot meddelanden. F=F6r att =E5teraktivera, Klicka p=E5 l=E4nken och fyll i n=F6dv=E4ndig inf= ormation; http://onlinebreadband-update.webs.com/ H=E4nsyn m=E5ste aktiveras i dag f=F6r att regenerera nya ytor. Helpdesk Support From hch@lst.de Thu Oct 23 03:53: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C9B047F51 for ; Thu, 23 Oct 2014 03:53:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4D39FAC004 for ; Thu, 23 Oct 2014 01:53:56 -0700 (PDT) X-ASG-Debug-ID: 1414054433-04cbb070c7170ae0001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id uhxA3ZPeUXkGtB6u (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 01:53:54 -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 3F98E13F2E; Thu, 23 Oct 2014 10:53:50 +0200 (CEST) Date: Thu, 23 Oct 2014 10:53:50 +0200 From: Christoph Hellwig To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , Joel Becker , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk Subject: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports Message-ID: <20141023085349.GA30381@lst.de> X-ASG-Orig-Subj: Re: [PATCH 02/12] quota: Allow each filesystem to specify which quota types it supports References: <1413902316-17997-1-git-send-email-jack@suse.cz> <1413902316-17997-3-git-send-email-jack@suse.cz> <20141022162915.GB18443@lst.de> <20141022165150.GA12809@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141022165150.GA12809@quack.suse.cz> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1414054434 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.10847 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 22, 2014 at 06:51:50PM +0200, Jan Kara wrote: > So there are two reasons: > 1) Currently if you call quotactl() with invalid quota type you'll get > EINVAL. To maintain this with addition of project quotas you need to check > the types early before calling check_quotactl_permission() and other > checks. > > 2) I didn't want filesystem quotactl callbacks to deal with quota types > they don't support. Sure each fs could do a type check in the callback but > this looked easier. > > Now I see your point about s_dquot and I can move allowed_types out of > s_dquot if that makes you happier. But otherwise what I did still seems as > the best solution to me. Moving it out of s_dquot seems very sensible to me. From jlbec@ftp.linux.org.uk Thu Oct 23 05:26: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 25D4F7F55 for ; Thu, 23 Oct 2014 05:26:13 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id D8F718F8049 for ; Thu, 23 Oct 2014 03:26:12 -0700 (PDT) X-ASG-Debug-ID: 1414059969-04bdf038d11a3b40001-NocioJ Received: from ZenIV.linux.org.uk (zeniv.linux.org.uk [195.92.253.2]) by cuda.sgi.com with ESMTP id nBFNzRxZpVUFjov6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 03:26:10 -0700 (PDT) X-Barracuda-Envelope-From: jlbec@ftp.linux.org.uk X-Barracuda-Apparent-Source-IP: 195.92.253.2 Received: from jlbec by ZenIV.linux.org.uk with local (Exim 4.76 #1 (Red Hat Linux)) id 1XhFai-0003ov-4T; Thu, 23 Oct 2014 10:26:00 +0000 Date: Thu, 23 Oct 2014 11:25:57 +0100 From: Joel Becker To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de Subject: Re: [PATCH 09/12] ocfs2: Convert to private i_dquot field Message-ID: <20141023102554.GB5238@localhost> X-ASG-Orig-Subj: Re: [PATCH 09/12] ocfs2: Convert to private i_dquot field Mail-Followup-To: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de References: <1413902316-17997-1-git-send-email-jack@suse.cz> <1413902316-17997-10-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413902316-17997-10-git-send-email-jack@suse.cz> X-Burt-Line: Trees are cool. X-Red-Smith: Ninety feet between bases is perhaps as close as man has ever come to perfection. User-Agent: Mutt/1.5.21 (2010-09-15) Sender: Joel Becker X-Barracuda-Connect: zeniv.linux.org.uk[195.92.253.2] X-Barracuda-Start-Time: 1414059970 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-BRTS-Evidence: jlbec.org X-Barracuda-Spam-Score: 0.00 X-Barracuda-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.10848 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Oct 21, 2014 at 04:38:33PM +0200, Jan Kara wrote: > CC: Mark Fasheh > CC: Joel Becker > CC: ocfs2-devel@oss.oracle.com > Signed-off-by: Jan Kara > --- > fs/ocfs2/inode.h | 4 ++++ > fs/ocfs2/super.c | 10 ++++++++++ > 2 files changed, 14 insertions(+) > > diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h > index a9b76de46047..1bb2e27eaad7 100644 > --- a/fs/ocfs2/inode.h > +++ b/fs/ocfs2/inode.h > @@ -80,6 +80,10 @@ struct ocfs2_inode_info > */ > tid_t i_sync_tid; > tid_t i_datasync_tid; > + > +#ifdef CONFIG_QUOTA > + struct dquot *i_dquot[MAXQUOTAS]; > +#endif > }; > > /* > diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > index 93c85bc745e1..9a97986d54f5 100644 > --- a/fs/ocfs2/super.c > +++ b/fs/ocfs2/super.c > @@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend); > static int ocfs2_enable_quotas(struct ocfs2_super *osb); > static void ocfs2_disable_quotas(struct ocfs2_super *osb); > > +static struct dquot **ocfs2_get_dquots(struct inode *inode) > +{ > + return OCFS2_I(inode)->i_dquot; > +} Call me silly, but given that ocfs2_inode_info->i_dquot; is wrapped in CONFIG_QUOTA, shouldn't this accessor be as well? Is GCC really smart enough to ignore the undefined member because ocfs2_get_dquots() isn't called? Joel > + > static const struct super_operations ocfs2_sops = { > .statfs = ocfs2_statfs, > .alloc_inode = ocfs2_alloc_inode, > @@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = { > .show_options = ocfs2_show_options, > .quota_read = ocfs2_quota_read, > .quota_write = ocfs2_quota_write, > + .get_dquots = ocfs2_get_dquots, > }; > > enum { > @@ -563,6 +569,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) > > oi->i_sync_tid = 0; > oi->i_datasync_tid = 0; > +#ifdef CONFIG_QUOTA > + memset(&oi->i_dquot, 0, sizeof(oi->i_dquot)); > +#endif > > jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); > return &oi->vfs_inode; > @@ -2073,6 +2082,7 @@ static int ocfs2_initialize_super(struct super_block *sb, > sb->s_export_op = &ocfs2_export_ops; > sb->s_qcop = &ocfs2_quotactl_ops; > sb->dq_op = &ocfs2_quota_operations; > + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > sb->s_xattr = ocfs2_xattr_handlers; > sb->s_time_gran = 1; > sb->s_flags |= MS_NOATIME; > -- > 1.8.1.4 > -- "I'm so tired of being tired, Sure as night will follow day. Most things I worry about Never happen anyway." http://www.jlbec.org/ jlbec@evilplan.org From jack@suse.cz Thu Oct 23 07: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=none 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 A57577F59 for ; Thu, 23 Oct 2014 07:05:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9381C304070 for ; Thu, 23 Oct 2014 05:05:37 -0700 (PDT) X-ASG-Debug-ID: 1414065931-04cb6c2efa19b730001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id MmHZu0STDIiYqSbr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 05:05:32 -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 6D150ACC4; Thu, 23 Oct 2014 12:05:30 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 7504A81C69; Thu, 23 Oct 2014 14:05:29 +0200 (CEST) Date: Thu, 23 Oct 2014 14:05:29 +0200 From: Jan Kara To: Joel Becker Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, Dave Chinner , xfs@oss.sgi.com, cluster-devel@redhat.com, Steven Whitehouse , Mark Fasheh , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Jeff Mahoney , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, tytso@mit.edu, viro@zeniv.linux.org.uk, hch@lst.de Subject: Re: [PATCH 09/12] ocfs2: Convert to private i_dquot field Message-ID: <20141023120529.GA20067@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH 09/12] ocfs2: Convert to private i_dquot field References: <1413902316-17997-1-git-send-email-jack@suse.cz> <1413902316-17997-10-git-send-email-jack@suse.cz> <20141023102554.GB5238@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141023102554.GB5238@localhost> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1414065932 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.10850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu 23-10-14 11:25:57, Joel Becker wrote: > On Tue, Oct 21, 2014 at 04:38:33PM +0200, Jan Kara wrote: > > CC: Mark Fasheh > > CC: Joel Becker > > CC: ocfs2-devel@oss.oracle.com > > Signed-off-by: Jan Kara > > --- > > fs/ocfs2/inode.h | 4 ++++ > > fs/ocfs2/super.c | 10 ++++++++++ > > 2 files changed, 14 insertions(+) > > > > diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h > > index a9b76de46047..1bb2e27eaad7 100644 > > --- a/fs/ocfs2/inode.h > > +++ b/fs/ocfs2/inode.h > > @@ -80,6 +80,10 @@ struct ocfs2_inode_info > > */ > > tid_t i_sync_tid; > > tid_t i_datasync_tid; > > + > > +#ifdef CONFIG_QUOTA > > + struct dquot *i_dquot[MAXQUOTAS]; > > +#endif > > }; > > > > /* > > diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > > index 93c85bc745e1..9a97986d54f5 100644 > > --- a/fs/ocfs2/super.c > > +++ b/fs/ocfs2/super.c > > @@ -143,6 +143,11 @@ static int ocfs2_susp_quotas(struct ocfs2_super *osb, int unsuspend); > > static int ocfs2_enable_quotas(struct ocfs2_super *osb); > > static void ocfs2_disable_quotas(struct ocfs2_super *osb); > > > > +static struct dquot **ocfs2_get_dquots(struct inode *inode) > > +{ > > + return OCFS2_I(inode)->i_dquot; > > +} > > Call me silly, but given that ocfs2_inode_info->i_dquot; is wrapped in > CONFIG_QUOTA, shouldn't this accessor be as well? Is GCC really smart > enough to ignore the undefined member because ocfs2_get_dquots() isn't > called? Actually, ocfs2 selects QUOTA so it cannot happen that CONFIG_QUOTA isn't defined for ocfs2. I'll remove the CONFIG_QUOTA checks from ocfs2 patch. Honza > > Joel > > > + > > static const struct super_operations ocfs2_sops = { > > .statfs = ocfs2_statfs, > > .alloc_inode = ocfs2_alloc_inode, > > @@ -155,6 +160,7 @@ static const struct super_operations ocfs2_sops = { > > .show_options = ocfs2_show_options, > > .quota_read = ocfs2_quota_read, > > .quota_write = ocfs2_quota_write, > > + .get_dquots = ocfs2_get_dquots, > > }; > > > > enum { > > @@ -563,6 +569,9 @@ static struct inode *ocfs2_alloc_inode(struct super_block *sb) > > > > oi->i_sync_tid = 0; > > oi->i_datasync_tid = 0; > > +#ifdef CONFIG_QUOTA > > + memset(&oi->i_dquot, 0, sizeof(oi->i_dquot)); > > +#endif > > > > jbd2_journal_init_jbd_inode(&oi->ip_jinode, &oi->vfs_inode); > > return &oi->vfs_inode; > > @@ -2073,6 +2082,7 @@ static int ocfs2_initialize_super(struct super_block *sb, > > sb->s_export_op = &ocfs2_export_ops; > > sb->s_qcop = &ocfs2_quotactl_ops; > > sb->dq_op = &ocfs2_quota_operations; > > + sb_dqopt(sb)->allowed_types = QTYPE_MASK_USR | QTYPE_MASK_GRP; > > sb->s_xattr = ocfs2_xattr_handlers; > > sb->s_time_gran = 1; > > sb->s_flags |= MS_NOATIME; > > -- > > 1.8.1.4 > > > > -- > > "I'm so tired of being tired, > Sure as night will follow day. > Most things I worry about > Never happen anyway." > > http://www.jlbec.org/ > jlbec@evilplan.org -- Jan Kara SUSE Labs, CR From bernd.schubert@fastmail.fm Thu Oct 23 11:20: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 CB09A7F5E for ; Thu, 23 Oct 2014 11:20:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9D0A48F804C for ; Thu, 23 Oct 2014 09:20:44 -0700 (PDT) X-ASG-Debug-ID: 1414081239-04bdf038d12252a0001-ps1ADW Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by cuda.sgi.com with ESMTP id ykD793YgYf5upNQt (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 09:20:39 -0700 (PDT) X-Barracuda-Envelope-From: bernd.schubert@fastmail.fm X-Barracuda-Apparent-Source-IP: 66.111.4.25 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by gateway2.nyi.internal (Postfix) with ESMTP id F2F9B20A44 for ; Thu, 23 Oct 2014 12:20:38 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Thu, 23 Oct 2014 12:20:38 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= x-sasl-enc:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=mesmtp; bh=vuinbmnAgq4zhIA7Fvy3V7VMwOo=; b=QvGmoRs9TLUuG6lmwA /i+pcWqeihUWHMX3Z+H34nMtOvVAsg++z9tmc4F57KU4iJQgX5t2Dp/8G8OW7IQ0 OUbYkmmIDgcs7juTA11mVJ2swYm15yb7SwAEDuCWYydZUYM24FPl/JjpfmPN+6os AeRDh7mHzchuKvmujXQRV3jfI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=vuinbmnAgq4zhIA7Fvy3V7 VMwOo=; b=HVXYM0CqFyHjcG6kWYS2+M7FCBXcXpW6eQbNFDmYWlhc1NTV/idw8d ysDZlbC8KUvbGK+mzC6noiULwIfK9UwvzT3GdMM5eZauLdemrpF7xL2IYr8/f830 AAgx/PahIKA7AH3e29xoYO6OTAMxwKTeWyI0lBACZszuYDUT8MPH4= X-Sasl-enc: LF2EP7ItL/D7cEWotu4GqHIEiAtT15dy3CUqvkJn3uD9 1414081238 Received: from [192.168.1.51] (unknown [109.237.241.80]) by mail.messagingengine.com (Postfix) with ESMTPA id 62F60C00017; Thu, 23 Oct 2014 12:20:38 -0400 (EDT) Message-ID: <54492AD5.3040704@fastmail.fm> Date: Thu, 23 Oct 2014 18:20:37 +0200 From: Bernd Schubert User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Peter Grandi , Linux fs XFS , quanjun hu Subject: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <21574.42382.795064.152229@tree.ty.sabi.co.uk> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: out1-smtp.messagingengine.com[66.111.4.25] X-Barracuda-Start-Time: 1414081239 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: 0.00 X-Barracuda-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.10855 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 10/21/2014 08:27 PM, Peter Grandi wrote: >>> [ ... ] supposed to hold the object storage layer of a BeeFS >>> highly parallel filesystem, and therefore will likely have >>> mostly-random accesses. > >> Where do you get the assumption from that FhGFS/BeeGFS is >> going to do random reads/writes or the application of top of >> it is going to do that? > > In this specific case it is not an assumption, thanks to the > prominent fact that the original poster was testing (locally I > guess) and complaining about concurrent read/writes, which > result in random like arm movement even if each of the read and > write streams are entirely sequential. I even pointed this out, > probably not explicitly enough: > > >> when doing only reading / only writing , the speed is very > >> fast(~1.5G), but when do both the speed is very slow > >> (100M), and high r_await(160) and w_await(200000). The OP is trying to figure out what is going on. Low speed and high latencies are not sufficient information to speculate about the cause. > > BTW the 100MB/s aggregate over 31 drives means around 3MB/s > per drive, which seems pretty good for a RW workload with > mostly-random accesses with high RMW correlation. The op did not provide sufficient information about the IO pattern to know if there is RMW or random access involved. > > Also if this testing was appropriate then it was because the > intended workload was indeed concurrent reads and writes to the > object store. > > It is not a mere assumption in the general case either; it > is both commonly observed and a simple deduction, because of > the nature of distributed filesystems and in particular parallel > HPC ones like Lustre or BeeGFS, but also AFS and even NFS ones. > > * Clients have caches. Therefore most of the locality in the Correct is: Client *might* have caches. Besides of application directio, for BeeGFS the cache type is a configuration option. > (read) access patterns will hopefully be filtered out by the > client cache. This applies (ideally) to any distributed > filesystem. You cannot filter out everything, e.g. random reads of a large file. Local or remote file system does not matter here. > * HPC/parallel servers tend to whave many clients (e.g. for an > it could be 10,000 clients and 500 object storage servers) and > hopefully each client works on a different subset of the data > tree, and distribution of data objects onto servers hopefully > random. > Therefore it is likely that many clients will access with > concurrent read and write many different files on the same > server resulting in many random "hotspots" in each server's > load. If that would be important here there would be no difference between single write and parallel read/write. So irrelevant. > Note that each client could be doing entirely sequential IO to > each file they access, but the concurrent accesses do possibly > widely scattered files will turn that into random IO at the > server level. How does this matter if the op is comparing 1-thread write vs. 2-thread read/write? > > Just about the only case where sequential client workloads don't > become random workloads at the server is when the client > workload is such that only one file is "hot" per server. > > There is an additional issue favouring random access patterns: > > * Typically large fileservers are setup with a lot of storage > because of anticipated lifetime usage, so they start mostly > empty. > * Most filesystems then allocate new data in regular patterns, > often starting from the beginning of available storage, in > an attempt to minimize arm travel time usually (XFS uses > various heuristics, which are somewhat different whether the > option 'inode64' is specified or not). > * Unfortunately as the filetree becomes larger new allocations > have to be made farther away, resulting in longer travel > times and more apparent randomness at the storage server > level. > * Eventually if the object server reaches a steady state where > roughly as much data is deleted and created the free storage > areas will become widely scattered, leading to essentially > random allocation, the more random the more capacity used. All of that is irrelevant if a single write is fast and a parallel read/write is slow. > > Leaving a significant percentage of capacity free, like at > least 10% and more like 20%, greatly increases the chance of > finding free space near to put new data near to existing > "related" data. This increases locality, but only at the > single-stream level; therefore is usually does not help that > much widely shared distributed servers; and in particular does > not apply that much to object stores, because usually they > obscure which data object is related to which data object. > > The above issues are pretty much "network and distributed > filesystems for beginners" notes, but in significant part also > apply to widely shared non network and non distributed servers > on which XFS is often used, so they may be usefully mentioned > in this list. It is lots of text and does not help the op at all. And the claim/speculation that the parallel file system would introduce random access is also wrong. Before anyone can even start to speculate, the op first needs to provide the exact IO pattern and information about /dev/sdc. From pg_mh@mh.to.sabi.co.uk Thu Oct 23 18:01: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 212BD7F60 for ; Thu, 23 Oct 2014 18:01:32 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 10377304051 for ; Thu, 23 Oct 2014 16:01:28 -0700 (PDT) X-ASG-Debug-ID: 1414105285-04cb6c2ef927d9f0001-ps1ADW Received: from honeysuckle.london.02.net (honeysuckle.london.02.net [87.194.255.144]) by cuda.sgi.com with ESMTP id qa2WUDYzvMjuTojD for ; Thu, 23 Oct 2014 16:01:26 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.144 Received: from ty.sabi.co.UK (94.192.123.208) by honeysuckle.london.02.net (8.5.140) id 53BD70B603AFBD3A for xfs@OSS.SGI.com; Fri, 24 Oct 2014 00:26:44 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1XhOhg-0000mR-6X for ; Thu, 23 Oct 2014 21:09:48 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <21577.24715.712978.617220@tree.ty.sabi.co.uk> Date: Thu, 23 Oct 2014 21:09:47 +0100 X-Face: SMJE]JPYVBO-9UR%/8d'mG.F!@.,l@c[f'[%S8'BZIcbQc3/">GrXDwb#;fTRGNmHr^JFb SAptvwWc,0+z+~p~"Gdr4H$(|N(yF(wwCM2bW0~U?HPEE^fkPGx^u[*[yV.gyB!hDOli}EF[\cW*S H&spRGFL}{`bj1TaD^l/"[ msn( /TH#THs{Hpj>)]f> Subject: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <54492AD5.3040704@fastmail.fm> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: honeysuckle.london.02.net[87.194.255.144] X-Barracuda-Start-Time: 1414105286 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.10865 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [ ... ] >>>>> There is a ratio of 31 (thirty one) between 'swidth' and >>>>> 'sunit' and assuming that this reflects the geometry of the >>>>> RAID5 set and given commonly available disk sizes it can be >>>>> guessed that with amazing "bravery" someone has configured a >>>>> RAID5 out of 32 (thirty two) high capacity/low IOPS 3TB >>>>> drives, or something similar. [ ... ] >>>>> if the device name "/data/fhgfs/fhgfs_storage" is >>>>> dedscriptive, this "brave" RAID5 set is supposed to hold the >>>>> object storage layer of a BeeFS highly parallel filesystem, >>>>> and therefore will likely have mostly-random accesses. [ ... ] >>>>> It is notable but not surprising that XFS works well even >>>>> with such a "brave" choice of block storage layer, untainted >>>>> by any "cowardly" consideration of the effects of RMW and >>>>> using drives designed for capacity rather than IOPS. >>>> Also if this testing was appropriate then it was because the >>>> intended workload was indeed concurrent reads and writes to >>>> the object store. >>> Where do you get the assumption from that FhGFS/BeeGFS is >>> going to do random reads/writes or the application of top of >>> it is going to do that? >> In this specific case it is not an assumption, thanks to the >> prominent fact that the original poster was testing (locally I >> guess) and complaining about concurrent read/writes, which >> result in random like arm movement even if each of the read and >> write streams are entirely sequential. [ ... ] > Low speed and high latencies are not sufficient information to > speculate about the cause. It is pleasing that you seem to know at least that by themselves =ABLow speed and high latencies=BB are indeed not sufficient. But in =ABthe specific case=BB what is sufficient to make a good guess is what I wrote, which you seem to have been unable to notice or understand. >> BTW the 100MB/s aggregate over 31 drives means around 3MB/s >> per drive, which seems pretty good for a RW workload with >> mostly-random accesses with high RMW correlation. > The op did not provide sufficient information about the IO > pattern to know if there is RMW or random access involved. The op of =ABthe specific case=BB reported that the XFS filesystem is configured for a 32-wide RAID5 set and that: > when doing only reading / only writing , the speed is very > fast(~1.5G), but when do both the speed is very slow and perhaps your did not notice that; or did not notice or understand that I wrote subsequently, as you seemed to be requesting a detailed explanation of my conclusion, that: >> [ ... ] concurrent read/writes, which result in random like >> arm movement even if each of the read and write streams are >> entirely sequential. [ ... ] Because then there are at least two hotspots, the read one and the write one, except in the very special case that an application is reading and writing the same block each time. Even worse, since in =ABthe specific case=BB we have an "imaginative" 32-wide RAID5 unless the writes are exactly aligned with the large stripes there is going to be a lot of RMW resulting in the arms going back and forth (and even if aligned many RAID implementation still end up doing a fair bit of RMW). Knowing that and that it is a 32-wide RAID5 and the disks are 3TB in size (low IOPS per GB) and that the result is poor for single threaded but reasonable for double threaded, and that XFS in general behaves pretty well should be sufficient to give a reasonable guess: >>>>> This issue should be moved to the 'linux-raid' mailing list >>>>> as from the reported information it has nothing to do with >>>>> XFS. But I am just repeating what you seem to have been unable to read or understand... PS: as to people following this discussions, there can be many reasons why that 31-wide RAID5, which is such a very "brave" setup, is behaving like that on randomish access patterns arising from concurrent read-write, such as initial sync still going on, not so good default settings or scheduling of so many hw (as suggested by the 'sdc' instead of 'md$N') RAID HAs, etc., and some of these interact with how XFS operates, but it is indeed a discussion for the Linux RAID list at least first. From pg_mh@mh.to.sabi.co.uk Thu Oct 23 18:01: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 5812D7F60 for ; Thu, 23 Oct 2014 18:01:34 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id CCD58AC005 for ; Thu, 23 Oct 2014 16:01:30 -0700 (PDT) X-ASG-Debug-ID: 1414105285-04cb6c2efa27d9f0001-ps1ADW Received: from woodbine.london.02.net (woodbine.london.02.net [87.194.255.145]) by cuda.sgi.com with ESMTP id fBt4Gx2RFxaLaVeU for ; Thu, 23 Oct 2014 16:01:25 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.145 Received: from ty.sabi.co.UK (94.192.123.208) by woodbine.london.02.net (8.5.140) id 53BD9B4503BD6A2D for xfs@OSS.SGI.com; Fri, 24 Oct 2014 00:32:22 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1XhRNX-0001FT-9Z for ; Fri, 24 Oct 2014 00:01:11 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <21577.34998.793883.747715@tree.ty.sabi.co.uk> Date: Fri, 24 Oct 2014 00:01:10 +0100 Precedence: air-mail To: Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <54492AD5.3040704@fastmail.fm> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: woodbine.london.02.net[87.194.255.145] X-Barracuda-Start-Time: 1414105285 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.10865 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [ ... ] >>>> [ ... ] if the device name "/data/fhgfs/fhgfs_storage" is >>>> dedscriptive, this "brave" RAID5 set is supposed to hold >>>> the object storage layer of a BeeFS highly parallel >>>> filesystem, and therefore will likely have mostly-random >>>> accesses. [ ... ] >>> Where do you get the assumption from that FhGFS/BeeGFS is >>> going to do random reads/writes or the application of top of >>> it is going to do that? >> It is not a mere assumption in the general case either; it is >> both commonly observed and a simple deduction, because of the >> nature of distributed filesystems and in particular parallel >> HPC ones like Lustre or BeeGFS, but also AFS and even NFS ones. [ ... ] >> * Clients have caches. > Correct is: Client *might* have caches. Besides of application > directio, for BeeGFS the cache type is a configuration option. Perhaps you have missed the explicit qualification =ABin the general case=BB of =ABdistributed filesystems and in particular parallel HPC ones=BB or perhaps you lack familiarity with =ABLustre or BeeGFS, but also AFS and even NFS ones=BB most of which have client caches and usually enabled, and that might justify your inability to consider =ABthe general case=BB. >> Therefore most of the locality in the (read) access patterns >> will hopefully be filtered out by the client cache. This >> applies (ideally) to any distributed filesystem. > You cannot filter out everything, e.g. random reads of a large > file. It is good but somewhat pointless that you can understand the meaning of =ABmost of the locality in the (read) access patterns will hopefully be filtered out by the client cache=BB and agree with it, and supply an example, but unfortunately you seem to have the naive expectation that: >> Local or remote file system does not matter here. It can matter as: * In the local case there is a single cache for all concurrent applications, while in the distributed case there is hopefully a separate cache per node, which segments the references (as well as hopefully providing a lot more cache space). * In the purely local case there is usually just one level of caching, in the distribured case usually there are two levels, often resulting in rather different access patterns to the object stores in the server. So the degree of filtering can be and often is quite different; which is usually quite important because network transfers add a cost. As to these three comments I am perplexed: >> Therefore it is likely that many clients will access with >> concurrent read and write many different files on the same >> server resulting in many random "hotspots" in each server's >> load. > If that would be important here there would be no difference > between single write and parallel read/write. [ ... ] >> each client could be doing entirely sequential IO to each >> file they access, but the concurrent accesses do possibly >> widely scattered files will turn that into random IO at the >> server level. [ ... ] > How does this matter if the op is comparing 1-thread write > vs. 2-thread read/write? >> * Eventually if the object server reaches a steady state >> where roughly as much data is deleted and created the free >> storage areas will become widely scattered, leading to >> essentially random allocation, the more random the more >> capacity used. > All of that is irrelevant if a single write is fast and a > parallel read/write is slow. Because you seem rather confusedm, as my explanation was the answer to this question you asked: >>> Where do you get the assumption from that FhGFS/BeeGFS is >>> going to do random reads/writes or the application of top >>> of it is going to do that? and in it you mention no special case like =AB1-thread write=BB, or =AB2-thread read/write=BB. Also such simple special cases don't happen much in =ABthe object storage layer=BB of any realistic =ABhighly parallel filesystem=BB, which are often large with vast and varied workloads, as I tried to remind you: >> HPC/parallel servers tend to whave many clients (e.g. for >> an it could be 10,000 clients and 500 object storage >> servers) and hopefully each client works on a different >> subset of the data tree, and distribution of data objects >> onto servers hopefully random. Therefore there are likely to be many dozens or even hundreds of threads accessing objects per object store, with every pattern of read and write and to rather unrelated objects, not just 1 or 2 threads and single write or read/write. That's one reason why XFS is so often used for those object stores: it is particularly well suited to highly multithreaded access patterns to many files, as the XFS has benefited from quite a bit of effort in finer grained locking, and XFS uses some mostly effective heuristics to distribute files across the storage it uses in hopefully "best" ways. >> The above issues are pretty much "network and distributed >> filesystems for beginners" notes, > It is lots of text In my original reply I was terse and did not explain every reason why =ABthe object storage layer of a BeeFS highly parallel filesystem=BB is =ABlikely have mostly-random accesses=BB because I assumed it is common knowledge among somewhat skilled readers; but to a point I am also patient with beginners, even those who seem to become confused about which question they themselves asked. Also I am trying to quote context because you seem confused as to what the content of even your questions is. > and does not help the op at all. That seems unfortunately right, as to me you still seem very confused as to the workloads likely experienced by object stores for highly parallel filesystems despite my efforts in trying to answer in detail the question you asked: >>> Where do you get the assumption from that FhGFS/BeeGFS is >>> going to do random reads/writes or the application of top >>> of it is going to do that? At least as I already pointed out my answer to your question is at least somewhat topical for the XFS list, for example by hinting about using less "brave" configurations than 32-disk RAID5 sets. > And the claim/speculation that the parallel file system would > introduce random access is also wrong. As far as I can see it was only who you mentioned that because I discussed just the consequences of the likely access patterns of =ABthe application of top of it=BB part of your question. It seemed strange to me that you would ask why =ABFhGFS/BeeGFS is going to do random reads/writes=BB because filesystems typically don't do =ABread/writes=BB except as a consequence of application requests, so I ignored that other part of your question. From sandeen@redhat.com Thu Oct 23 18:29: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 AE5137F63 for ; Thu, 23 Oct 2014 18:29:17 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4AB8CAC002 for ; Thu, 23 Oct 2014 16:29:16 -0700 (PDT) X-ASG-Debug-ID: 1414106956-04bdf038d13710f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id eX2MFRdh97hVmbR8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 16:29: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-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 s9NNTFZP004920 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 23 Oct 2014 19:29:15 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.rdu2.redhat.com [10.11.146.1]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9NNTELr022553 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Thu, 23 Oct 2014 19:29:15 -0400 Message-ID: <54498F4A.9030207@redhat.com> Date: Thu, 23 Oct 2014 18:29:14 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfsprogs: enable sparse checking Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfsprogs: enable sparse checking 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: 1414106956 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 Enable "make C=1" or "make C=2" to do sparse checking. Blatantly ripped off from djwong's patch in e2fsprogs to do the same. Note, this requires unreleased sparse after v0.5, which enables the CHAR_BIT definition; otherwise it chokes. Signed-off-by: Eric Sandeen --- diff --git a/Makefile b/Makefile index f56aebd..bd0f9ee 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,20 @@ else Q = @ endif +CHECK=sparse +CHECK_OPTS=-Wsparse-all -Wno-transparent-union -Wno-return-void -Wno-undef \ + -Wno-non-pointer-null -D__linux__ +ifeq ("$(C)", "2") + CHECK_CMD=$(CHECK) $(CHECK_OPTS) -Wbitwise -D__CHECK_ENDIAN__ +else + ifeq ("$(C)", "1") + CHECK_CMD=$(CHECK) $(CHECK_OPTS) + else + CHECK_CMD=@true + endif +endif +export CHECK_CMD + MAKEOPTS = --no-print-directory Q=$(Q) TOPDIR = . diff --git a/include/buildrules b/include/buildrules index 399635e..feae376 100644 --- a/include/buildrules +++ b/include/buildrules @@ -41,10 +41,12 @@ $(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS) %.lo: %.c @echo " [CC] $@" $(Q)$(LTCOMPILE) -c $< + $(Q)$(CHECK_CMD) $(CFLAGS) $< else %.o: %.c @echo " [CC] $@" $(Q)$(CC) $(CFLAGS) -c $< + $(Q)$(CHECK_CMD) $(CFLAGS) $< endif From sandeen@redhat.com Thu Oct 23 18:31: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 8FA557F67 for ; Thu, 23 Oct 2014 18:31:59 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7027E304039 for ; Thu, 23 Oct 2014 16:31:56 -0700 (PDT) X-ASG-Debug-ID: 1414107115-04bdf038d2371290001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id hnghjfjfm3bzIn8S (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 16:31:55 -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-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 s9NNVtN9010601 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 23 Oct 2014 19:31:55 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.rdu2.redhat.com [10.11.146.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9NNVrhJ014794 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Thu, 23 Oct 2014 19:31:54 -0400 Message-ID: <54498FE9.4000103@redhat.com> Date: Thu, 23 Oct 2014 18:31:53 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag() Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag() Content-Transfer-Encoding: 7bit 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: 1414107115 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 Fixes a regression introduced by: 88fc730 xfs: use and update the finobt on inode allocation which passed the non-swapped version of agi->agi_newino to xfs_inobt_lookup() Caught by make C=2, ftw! Signed-off-by: Eric Sandeen --- diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c index 5462c54..b20a9ec 100644 --- a/libxfs/xfs_ialloc.c +++ b/libxfs/xfs_ialloc.c @@ -1057,7 +1057,8 @@ xfs_dialloc_ag( * most recently allocated inode. */ if (agi->agi_newino != cpu_to_be32(NULLAGINO)) { - error = xfs_inobt_lookup(cur, agi->agi_newino, + error = xfs_inobt_lookup(cur, + be32_to_cpu(agi->agi_newino), XFS_LOOKUP_EQ, &i); if (error) goto error_cur; From sandeen@redhat.com Thu Oct 23 18:44: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 3C7C07F6F for ; Thu, 23 Oct 2014 18:44:53 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C999AAC003 for ; Thu, 23 Oct 2014 16:44:52 -0700 (PDT) X-ASG-Debug-ID: 1414107891-04cb6c2ef927f100001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id JsVl88TTj5RqwPe7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 16:44:51 -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-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 s9NNioid014944 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 23 Oct 2014 19:44:51 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.rdu2.redhat.com [10.11.146.1]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9NNinem027618 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Thu, 23 Oct 2014 19:44:50 -0400 Message-ID: <544992F1.8050803@redhat.com> Date: Thu, 23 Oct 2014 18:44:49 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfsprogs: fix harmless sparse endian nit Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfsprogs: fix harmless sparse endian nit Content-Transfer-Encoding: 7bit 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: 1414107891 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 h_crc is __le32 but cpu_to_be32() is... __be32. So sparse complains, even though it's harmless. Although sparse is smart about bare 0s, and we could drop the swap, other places explicitly swap to keep things clear (I guess?) so "swap" the 0 with the proper routine. Signed-off-by: Eric Sandeen --- diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c index 9ee89d3..dd8baa6 100644 --- a/libxfs/rdwr.c +++ b/libxfs/rdwr.c @@ -187,7 +187,7 @@ libxfs_log_header( head->h_len = cpu_to_be32(sunit - BBSIZE); else head->h_len = cpu_to_be32(20); - head->h_crc = cpu_to_be32(0); + head->h_crc = cpu_to_le32(0); head->h_prev_block = cpu_to_be32(-1); head->h_num_logops = cpu_to_be32(1); head->h_cycle_data[0] = cpu_to_be32(0xb0c0d0d0); From sandeen@redhat.com Thu Oct 23 18:59: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 85B9D7F6B for ; Thu, 23 Oct 2014 18:59:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2250EAC001 for ; Thu, 23 Oct 2014 16:59:13 -0700 (PDT) X-ASG-Debug-ID: 1414108753-04bdf038d1372090001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id aAmskvs53fkMQYtV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 16:59:13 -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-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 s9NNxCt6031156 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 23 Oct 2014 19:59:12 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.rdu2.redhat.com [10.11.146.1]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9NNxBiV008293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Thu, 23 Oct 2014 19:59:12 -0400 Message-ID: <5449964F.1040504@redhat.com> Date: Thu, 23 Oct 2014 18:59:11 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfsprogs: two more completely harmless sparse nits Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfsprogs: two more completely harmless sparse nits Content-Transfer-Encoding: 7bit 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: 1414108753 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 Signed-off-by: Eric Sandeen --- diff --git a/repair/prefetch.c b/repair/prefetch.c index 65f8456..7ea0d36 100644 --- a/repair/prefetch.c +++ b/repair/prefetch.c @@ -171,7 +171,7 @@ pf_read_bmbt_reclist( struct xfs_buf_map map_array[MAP_ARRAY_SZ]; struct xfs_buf_map *map = map_array; int max_extents = MAP_ARRAY_SZ; - int nmaps = 0;; + int nmaps = 0; unsigned int len = 0; int ret = 0; diff --git a/rtcp/xfs_rtcp.c b/rtcp/xfs_rtcp.c index b81b1e1..5f26a62 100644 --- a/rtcp/xfs_rtcp.c +++ b/rtcp/xfs_rtcp.c @@ -25,7 +25,7 @@ int pflag; char *progname; void -usage() +usage(void) { fprintf(stderr, _("%s [-e extsize] [-p] [-V] source target\n"), progname); exit(2); From wu.tommy@gmail.com Thu Oct 23 20:44: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 373EF7F6F for ; Thu, 23 Oct 2014 20:44:06 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 171848F8033 for ; Thu, 23 Oct 2014 18:44:03 -0700 (PDT) X-ASG-Debug-ID: 1414115040-04cbb070c728e090001-NocioJ Received: from mail-qa0-f49.google.com (mail-qa0-f49.google.com [209.85.216.49]) by cuda.sgi.com with ESMTP id tkEDgWxebNuAiMNP (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 23 Oct 2014 18:44:00 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.49] Received: by mail-qa0-f49.google.com with SMTP id f12so322080qad.8 for ; Thu, 23 Oct 2014 18:44:00 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.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=AxhLSNUqwQjxcLsEfxeQbWDlIZtBuUSUXhay5tyg3Po=; b=Ad2hRWh5jxMy2Dkcbw4FOUjh6PQT0FbX9+JVzK7Ha5bO7EVcXRiGHlWXKH+A4OX55i 7e/a4s5nsOILE/9FWsZbGAkpI8IPdHo7r1HYvLQLY//NZg23b7VDf9747gMHLUxXjON9 DPypwuxhF06FG95wV7l9k8XX8wFeiXVYmsDDLZk/c9jWM/eBrrY83vTIyl5o6IFJQCJ1 faRRsFpxwATb8RuAJf+FDvLH7R3ft6O4O5fyg13rdGKv/GwTMz+6Ft/4zeytxPe4VDYQ De6Mwi2s+dsIHfVtNgfWt1PsFwa2S+FPqO1EX1zR0lBzr6lNCIWFUlAb7fj6Ab14jHVV VhCQ== MIME-Version: 1.0 X-Received: by 10.170.158.66 with SMTP id z63mr1464163ykc.56.1414115039918; Thu, 23 Oct 2014 18:43:59 -0700 (PDT) Received: by 10.60.69.164 with HTTP; Thu, 23 Oct 2014 18:43:59 -0700 (PDT) In-Reply-To: References: <543F3C9A.4060603@sandeen.net> Date: Fri, 24 Oct 2014 09:43:59 +0800 Message-ID: Subject: Re: xfsdump not work in 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 To: Eric Sandeen Cc: xfs Content-Type: multipart/alternative; boundary=001a113a84d8a04163050621504e X-Barracuda-Connect: mail-qa0-f49.google.com[209.85.216.49] X-Barracuda-Start-Time: 1414115040 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10867 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 --001a113a84d8a04163050621504e Content-Type: text/plain; charset=UTF-8 I've some other issue here. The xfsdump work, but xfsrestore can't restore the dump file correctly. Got a lot of message like: /sbin/xfsrestore: NOTE: ino 131 salvaging file, placing in orphanage/7772637.4193481073/resource98761.ini and /sbin/xfsrestore: NOTE: ino 50858443 gen 697595483 not referenced: placing in orphanage Compare the file, some files are not restored. 2014-10-16 14:04 GMT+08:00 Tommy Wu : > sorry, miss the 2nd one. > > after apply both of them, xfsdump work fine now. > > 2014-10-16 13:22 GMT+08:00 Eric Sandeen : > >> On Oct 15, 2014, at 11:14 PM, Tommy Wu wrote: >> >> after apply above patch, >> >> >> Which one? I pointed at 2... Did you apply both? >> >> Eric >> >> the xfsdump will hang after this message: >> >> /sbin/xfsdump: dumping non-directory files >> >> >> 2014-10-16 11:33 GMT+08:00 Eric Sandeen : >> >>> On 10/15/14 9:31 PM, Tommy Wu wrote: >>> > Hi! >>> > >>> > xfsdump 3.1.4 >>> > xfsprogs 3.2.1 >>> > linux kerenl 3.17/3.17.1 >>> > >>> >>> ... >>> >>> > It just create a small dump file, and if I run the same xfsdump >>> again (or umount the filesystem), it will hang, like: >>> > >>> > fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l >>> 0 -o -J -F - /dev/vg/root | gzip > test.gz >>> > /sbin/xfsdump: using file dump (drive_simple) strategy >>> > /sbin/xfsdump: version 3.1.4 (dump format 3.0) >>> > /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ >>> > /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 >>> > /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 >>> > /sbin/xfsdump: session label: "" >>> > /sbin/xfsdump: ino map phase 1: constructing initial dump list >>> > >>> > >>> > switch back to kernel 3.16, the same command work fine. >>> > >>> >>> >>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 >>> >>> addresses the small backup file, and >>> >>> [PATCH] xfs: bulkstat doesn't release AGI buffer on error >>> >>> (on the list) most likely addresses the hang, I think. >>> >>> -Eric >>> >> >> >> >> -- >> >> Tommy Wu >> >> > > > -- > > Tommy Wu > -- Tommy Wu --001a113a84d8a04163050621504e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I've some other issue here.
The xfsdump work, but xfsrestore can't restore the dump file cor= rectly.
Got a lot of message like:
/sbin/xfsrestore: NOTE: ino = 131 salvaging file, placing in orphanage/7772637.4193481073/resource98761.i= ni
and
/sbin/xfsrestore: NOTE: ino 50858443 gen 697595483 not = referenced: placing in orphanage

Compare the file, some files = are not restored.

2014-10-16 14:04 GMT+08:00 Tommy Wu <wu.tommy@gmail.com>= :
sorry, mis= s the 2nd one.

after apply both of them, xfsdump work fine now= .

2014-10-16 13:22 GMT+08:00 Eric Sandeen = <sandeen@sandee= n.net>:
<= div>On Oct 15, 2014, at 11:14 PM, Tommy Wu <wu.tommy@gmail.com> wrote:
after apply above pa= tch,

Which one?=C2=A0 I pointed at = 2... Did you apply both?

E= ric

the xfsdump will hang after this message:

/sbin/xfsdu= mp: dumping non-directory files

2014-10-16 11:33 GMT+08:00 Eric Sandeen <san= deen@sandeen.net>:
On= 10/15/14 9:31 PM, Tommy Wu wrote:
> Hi!
>
>=C2=A0 =C2=A0 xfsdump 3.1.4
>=C2=A0 =C2=A0 xfsprogs 3.2.1
>=C2=A0 =C2=A0 linux kerenl 3.17/3.17.1
>

...

>=C2=A0 =C2=A0 It just create=C2=A0 a small dump file, and if I run the = same xfsdump again (or umount the filesystem), it will hang, like:
>
> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=3Ddebug,media=3Ddebu= g -l 0 -o -J -F - /dev/vg/root | gzip > test.gz
> /sbin/xfsdump: using file dump (drive_simple) strategy
> /sbin/xfsdump: version 3.1.4 (dump format 3.0)
> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/
> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014
> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208
> /sbin/xfsdump: session label: ""
> /sbin/xfsdump: ino map phase 1: constructing initial dump list
>
>
>=C2=A0 =C2=A0 switch back to kernel 3.16, the same command work fine. >

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/= commit/fs/xfs?id=3Da8b1ee8bafc765ebf029d03c5479a69aebff9693

addresses the small backup file, and

[PATCH] xfs: bulkstat doesn't release AGI buffer on error

(on the list) most likely addresses the hang, I think.

-Eric



--

Tommy= Wu



-- =

Tommy Wu



--

Tommy Wu --001a113a84d8a04163050621504e-- From ponce@utm.edu.ec Thu Oct 23 21:27: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=1.2 required=5.0 tests=FREEMAIL_FORGED_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 742537F74 for ; Thu, 23 Oct 2014 21:27:41 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6357A304048 for ; Thu, 23 Oct 2014 19:27:38 -0700 (PDT) X-ASG-Debug-ID: 1414117655-04cbb070c628f8d0001-NocioJ Received: from correo.an.gob.ve (correo.an.gob.ve [190.202.87.219]) by cuda.sgi.com with ESMTP id 0CSCBhVHc84JJIyf; Thu, 23 Oct 2014 19:27:35 -0700 (PDT) X-Barracuda-Envelope-From: ponce@utm.edu.ec X-Barracuda-Apparent-Source-IP: 190.202.87.219 Received: from localhost (localhost.localdomain [127.0.0.1]) by correo.an.gob.ve (Postfix) with ESMTP id 45AB39949B; Thu, 23 Oct 2014 21:39:38 -0430 (VET) X-Virus-Scanned: amavisd-new at an.gob.ve Received: from correo.an.gob.ve ([127.0.0.1]) by localhost (correo.an.gob.ve [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MHY6GeqDY1+W; Thu, 23 Oct 2014 21:39:38 -0430 (VET) Received: from [192.168.43.12] (unknown [41.220.69.156]) by correo.an.gob.ve (Postfix) with ESMTPSA id 58DC79935D; Thu, 23 Oct 2014 21:39:27 -0430 (VET) Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: Please Resend Your Message. To: Me X-ASG-Orig-Subj: Please Resend Your Message. From: "Liliane Bettencourt." Date: Fri, 24 Oct 2014 03:04:56 +0100 Reply-To: hmil@live.in X-Antivirus: avast! (VPS 141023-2, 10/23/2014), Outbound message X-Antivirus-Status: Clean Message-Id: <20141024020927.58DC79935D@correo.an.gob.ve> X-Barracuda-Connect: correo.an.gob.ve[190.202.87.219] X-Barracuda-Start-Time: 1414117655 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.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_SA_TO_FROM_ADDR_MATCH X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10868 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address I, Liliane authenticate this email to you. You can read about me on: fr.wik= ipedia.org/wiki/Liliane_Bettencourt I intend to give to you a portion of my= Net-worth which I have been banking. Click reply for confirmation and more= details. --- This email is free from viruses and malware because avast! Antivirus protec= tion is active. http://www.avast.com From BATV+38b19c94c2f322207d3a+4079+infradead.org+hch@bombadil.srs.infradead.org Fri Oct 24 01:17: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=none 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 290DB7F74 for ; Fri, 24 Oct 2014 01:17:26 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id AC808AC003 for ; Thu, 23 Oct 2014 23:17:22 -0700 (PDT) X-ASG-Debug-ID: 1414131440-04bdf038d2389240001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id uh0ustGmomqHpv6x (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 23 Oct 2014 23:17:20 -0700 (PDT) X-Barracuda-Envelope-From: BATV+38b19c94c2f322207d3a+4079+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 1XhYBa-00043v-T2; Fri, 24 Oct 2014 06:17:18 +0000 Date: Thu, 23 Oct 2014 23:17:18 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking Message-ID: <20141024061718.GA15341@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54498F4A.9030207@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: 1414131440 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.10872 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Thu, Oct 23, 2014 at 06:29:14PM -0500, Eric Sandeen wrote: > Enable "make C=1" or "make C=2" to do sparse checking. > Blatantly ripped off from djwong's patch in e2fsprogs to > do the same. > > Note, this requires unreleased sparse after v0.5, which > enables the CHAR_BIT definition; otherwise it chokes. I'm pretty sure I used to be able to do sparse checks on xfsprogs using CC=cgcc make From info@tech-cable.hk Fri Oct 24 07:27: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=1.4 required=5.0 tests=FREEMAIL_FORGED_REPLYTO, FREEMAIL_REPLYTO_END_DIGIT 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 1656E7F6B for ; Fri, 24 Oct 2014 07:27:48 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E791C30405F for ; Fri, 24 Oct 2014 05:27:47 -0700 (PDT) X-ASG-Debug-ID: 1414153660-04cbb070c72ab2d0001-NocioJ Received: from sslmail.lota.net (mail.lota.net [202.181.165.211]) by cuda.sgi.com with ESMTP id dcmNDDjRtvVFXWw4 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 24 Oct 2014 05:27:42 -0700 (PDT) X-Barracuda-Envelope-From: info@tech-cable.hk X-Barracuda-Apparent-Source-IP: 202.181.165.211 Received: from (192.168.1.211 [192.168.1.211]) by sslmail.lota.net (LOTA NET Mail v10.3) with ASMTP id 201410242026530110; Fri, 24 Oct 2014 20:26:53 +0800 Date: Fri, 24 Oct 2014 13:27:36 +0100 To: undisclosed-recipients:; From: info Subject: Lilian Trade & Marketing, S. A Message-ID: <17920a64509f939718aac0d4eb12b08a@tech-cable.hk> X-ASG-Orig-Subj: Lilian Trade & Marketing, S. A X-Mailer: IceWarp Mailer 10.4.5 X-Priority: 3 Reply-To: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail.lota.net[202.181.165.211] X-Barracuda-Start-Time: 1414153662 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.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.10878 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_SC0_SA620a Custom Rule SA620a 0.20 BSF_SC7_SA298e Custom Rule SA298e =C2=A0Lilian Trade & Marketing, S. A Hello, A business colleague directed your company to us, and we will like to know how you operate your business like your normal delivery time,MOQ, Payment terms and FOB. Can you make export to United Kingdom and Russia ,please contact us with this email below (lilian_smith64@yahoo.com) and send information on your company. Please send catalog also. Lilian Smith UNATIP INVESTMENT 6, Avenue, 4floor ,Pillord building. London ,UK. From sandeen@sandeen.net Fri Oct 24 08:54: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 DB0077F6F for ; Fri, 24 Oct 2014 08:54:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6AB52AC001 for ; Fri, 24 Oct 2014 06:54:06 -0700 (PDT) X-ASG-Debug-ID: 1414158843-04cbb070c52aee50001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 8aC5W7imZKK0aLGP for ; Fri, 24 Oct 2014 06:54:03 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id A60DE63C5FD5; Fri, 24 Oct 2014 08:54:00 -0500 (CDT) Message-ID: <544A59F7.4070601@sandeen.net> Date: Fri, 24 Oct 2014 08:53:59 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Christoph Hellwig , Eric Sandeen CC: xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> <20141024061718.GA15341@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking In-Reply-To: <20141024061718.GA15341@infradead.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414158843 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.10880 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 1:17 AM, Christoph Hellwig wrote: > On Thu, Oct 23, 2014 at 06:29:14PM -0500, Eric Sandeen wrote: >> Enable "make C=1" or "make C=2" to do sparse checking. >> Blatantly ripped off from djwong's patch in e2fsprogs to >> do the same. >> >> Note, this requires unreleased sparse after v0.5, which >> enables the CHAR_BIT definition; otherwise it chokes. > > I'm pretty sure I used to be able to do sparse checks on xfsprogs using > > CC=cgcc make Hm, so you can. Ok, so maybe this is dumb, or is it convenient (to work like it does in the kernel tree?) Thanks, -Eric From BATV+38b19c94c2f322207d3a+4079+infradead.org+hch@bombadil.srs.infradead.org Fri Oct 24 10:41: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 A80097F6D for ; Fri, 24 Oct 2014 10:41:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9640C8F804B for ; Fri, 24 Oct 2014 08:41:02 -0700 (PDT) X-ASG-Debug-ID: 1414165260-04cbb070c52b3d50001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id U28FtAperywSuX7I (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 24 Oct 2014 08:41:01 -0700 (PDT) X-Barracuda-Envelope-From: BATV+38b19c94c2f322207d3a+4079+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 1Xhgz4-0004SX-Kl; Fri, 24 Oct 2014 15:40:58 +0000 Date: Fri, 24 Oct 2014 08:40:58 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: Eric Sandeen , xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking Message-ID: <20141024154058.GA10788@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> <20141024061718.GA15341@infradead.org> <544A59F7.4070601@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544A59F7.4070601@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: bombadil.infradead.org[198.137.202.9] X-Barracuda-Start-Time: 1414165260 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.10881 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 24, 2014 at 08:53:59AM -0500, Eric Sandeen wrote: > Hm, so you can. > > Ok, so maybe this is dumb, or is it convenient (to work like it does > in the kernel tree?) The cgcc way seems easier for userspace, but I don't really have a strong opinion. It's not like your patch prevents me from using CC=cgcc From sandeen@sandeen.net Fri Oct 24 10:48: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 924A77F6D for ; Fri, 24 Oct 2014 10:48:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6F86F8F8039 for ; Fri, 24 Oct 2014 08:48:57 -0700 (PDT) X-ASG-Debug-ID: 1414165736-04cbb070c72b4420001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id F4fMrUpswgyaFVwj for ; Fri, 24 Oct 2014 08:48: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id B3FDE63C5FD5; Fri, 24 Oct 2014 10:48:55 -0500 (CDT) Message-ID: <544A74E7.1060502@sandeen.net> Date: Fri, 24 Oct 2014 10:48:55 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Christoph Hellwig CC: Eric Sandeen , xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> <20141024061718.GA15341@infradead.org> <544A59F7.4070601@sandeen.net> <20141024154058.GA10788@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking In-Reply-To: <20141024154058.GA10788@infradead.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414165736 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.10883 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 10:40 AM, Christoph Hellwig wrote: > strong opinion. It's not like your patch prevents me from using CC=cgcc To get endian checking with your method, you'd need to edit the Makefile to add the -D define, right? Thanks, -Eric From sandeen@redhat.com Fri Oct 24 13:06: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 2865E7F5A for ; Fri, 24 Oct 2014 13:06:16 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 16BC68F8052 for ; Fri, 24 Oct 2014 11:06:13 -0700 (PDT) X-ASG-Debug-ID: 1414173971-04cbb070c82b9980001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id S1M08Pw4EDXEe65o (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 24 Oct 2014 11:06:12 -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-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 s9OI6B8q024688 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 24 Oct 2014 14:06:11 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.rdu2.redhat.com [10.11.146.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9OI69rn012707 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 24 Oct 2014 14:06:10 -0400 Message-ID: <544A9511.70500@redhat.com> Date: Fri, 24 Oct 2014 13:06:09 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfs_io: add sync and syncfs commands Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfs_io: add sync and syncfs commands Content-Transfer-Encoding: 7bit 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: 1414173972 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's no easy way to invoke syncfs from the commandline, as far as I know, so add it to xfs_io to be handy. Add sync while we're at it, just for completeness. Signed-off-by: Eric Sandeen --- diff --git a/configure.ac b/configure.ac index ae17c68..bf0c205 100644 --- a/configure.ac +++ b/configure.ac @@ -111,6 +111,7 @@ AC_HAVE_FALLOCATE AC_HAVE_FIEMAP AC_HAVE_PREADV AC_HAVE_SYNC_FILE_RANGE +AC_HAVE_SYNCFS AC_HAVE_BLKID_TOPO($enable_blkid) AC_HAVE_READDIR diff --git a/include/builddefs.in b/include/builddefs.in index 944bcf6..b8bde5f 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -103,6 +103,7 @@ HAVE_FALLOCATE = @have_fallocate@ HAVE_FIEMAP = @have_fiemap@ HAVE_PREADV = @have_preadv@ HAVE_SYNC_FILE_RANGE = @have_sync_file_range@ +HAVE_SYNCFS = @have_syncfs@ HAVE_READDIR = @have_readdir@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall diff --git a/io/Makefile b/io/Makefile index c16af87..82593a6 100644 --- a/io/Makefile +++ b/io/Makefile @@ -11,7 +11,7 @@ HFILES = init.h io.h CFILES = init.c \ attr.c bmap.c file.c freeze.c fsync.c getrusage.c imap.c link.c \ mmap.c open.c parent.c pread.c prealloc.c pwrite.c seek.c shutdown.c \ - truncate.c + sync.c truncate.c LLDLIBS = $(LIBXCMD) $(LIBHANDLE) LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) @@ -64,6 +64,10 @@ CFILES += sync_file_range.c LCFLAGS += -DHAVE_SYNC_FILE_RANGE endif +ifeq ($(HAVE_SYNCFS),yes) +LCFLAGS += -DHAVE_SYNCFS +endif + ifeq ($(ENABLE_READLINE),yes) LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP) endif diff --git a/io/init.c b/io/init.c index bfc35bf..1b07518 100644 --- a/io/init.c +++ b/io/init.c @@ -80,8 +80,9 @@ init_commands(void) resblks_init(); sendfile_init(); shutdown_init(); - truncate_init(); + sync_init(); sync_range_init(); + truncate_init(); } static int diff --git a/io/io.h b/io/io.h index 1b3bca1..db8b513 100644 --- a/io/io.h +++ b/io/io.h @@ -109,6 +109,7 @@ extern void pwrite_init(void); extern void quit_init(void); extern void seek_init(void); extern void shutdown_init(void); +extern void sync_init(void); extern void truncate_init(void); #ifdef HAVE_FADVISE diff --git a/io/sync.c b/io/sync.c new file mode 100644 index 0000000..a6c6215 --- /dev/null +++ b/io/sync.c @@ -0,0 +1,70 @@ +/* + * 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 +#include +#include "init.h" +#include "io.h" + +static cmdinfo_t sync_cmd; + +static int +sync_f( + int argc, + char **argv) +{ + /* sync can't fail */ + sync(); + return 0; +} + +#ifdef HAVE_SYNCFS +static cmdinfo_t syncfs_cmd; + +static int +syncfs_f( + int argc, + char **argv) +{ + /* syncfs can't fail */ + syncfs(file->fd); + return 0; +} +#endif + +void +sync_init(void) +{ + sync_cmd.name = "sync"; + sync_cmd.cfunc = sync_f; + sync_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; + sync_cmd.oneline = + _("calls sync(2) to flush all in-core filesystem state to disk"); + + add_command(&sync_cmd); + +#ifdef HAVE_SYNCFS + syncfs_cmd.name = "syncfs"; + syncfs_cmd.cfunc = syncfs_f; + syncfs_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; + syncfs_cmd.oneline = + _("calls syncfs(2) to flush all in-core filesystem state to disk"); + + add_command(&syncfs_cmd); +#endif +} diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 index 8267ba0..51182e4 100644 --- a/m4/package_libcdev.m4 +++ b/m4/package_libcdev.m4 @@ -171,6 +171,23 @@ AC_DEFUN([AC_HAVE_SYNC_FILE_RANGE], ]) # +# Check if we have a syncfs libc call (Linux) +# +AC_DEFUN([AC_HAVE_SYNCFS], + [ AC_MSG_CHECKING([for syncfs]) + AC_TRY_LINK([ +#define _GNU_SOURCE +#define _FILE_OFFSET_BITS 64 +#include + ], [ + syncfs(0); + ], have_syncfs=yes + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + AC_SUBST(have_syncfs) + ]) + +# # Check if we have a readdir libc call # AC_DEFUN([AC_HAVE_READDIR], diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8 index e40fbf9..cf27b99 100644 --- a/man/man8/xfs_io.8 +++ b/man/man8/xfs_io.8 @@ -362,6 +362,16 @@ start writeback of dirty data in the given range (SYNC_FILE_RANGE_WRITE). .RE .PD .TP +.B sync +Calls +.BR sync (2) +to flush all filesystems' in-core data to disk. +.TP +.B syncfs +Calls +.BR syncfs (2) +to flush this filesystem's in-core data to disk. +.TP .BI resvsp " offset length" Allocates reserved, unwritten space for part of a file using the XFS_IOC_RESVSP system call described in the From stan@hardwarefreak.com Fri Oct 24 15:11: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 3E68B7F47 for ; Fri, 24 Oct 2014 15:11:28 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1D454304059 for ; Fri, 24 Oct 2014 13:11:24 -0700 (PDT) X-ASG-Debug-ID: 1414181483-04cb6c2efa2be060001-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 BYIpz4wqSGxDO5DU for ; Fri, 24 Oct 2014 13:11:24 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 8920E6C14A for ; Fri, 24 Oct 2014 15:11:23 -0500 (CDT) Message-ID: <544AB289.8010005@hardwarefreak.com> Date: Fri, 24 Oct 2014 15:11:53 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: makefs alignment issue Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: makefs alignment issue Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1414181484 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 Just remade a couple of filesystems and received an alignment msg I don't recall receiving previously: # mkfs.xfs -f -d su=64k,sw=12 /dev/s2d_a1l003 mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 meta-data=/dev/s2d_a1l003 isize=256 agcount=44, agsize=268435440 blks = sectsz=512 attr=2, projid32bit=0 data = bsize=4096 blocks=11709285376, imaxpct=5 = sunit=16 swidth=192 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=521728, version=2 = sectsz=512 sunit=16 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 /dev/s2d_a1l003 is an alias to dm-0 which is a dm-multipath device to a LUN on hardware RAID. The hardware geometry is 64kx 12, 768k. AFAIK no geometry information has been specified for these device mapper devices (someone else's responsibility). Though I assume dm geometry data is the reason for mkfs.xfs throwing this alert. I don't find anything in /sys/devices/virtual/block/dm-0/ indicating geometry. Any ideas how to verify what's going on here and fix it? Thanks, Stan From sandeen@sandeen.net Fri Oct 24 15:14: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 EE5C87F47 for ; Fri, 24 Oct 2014 15:14:57 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id CD6938F8050 for ; Fri, 24 Oct 2014 13:14:54 -0700 (PDT) X-ASG-Debug-ID: 1414181692-04bdf038d13c0390001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id GnqtHUwaZGI2sSRj for ; Fri, 24 Oct 2014 13:14: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 2847263C5FD5; Fri, 24 Oct 2014 15:14:49 -0500 (CDT) Message-ID: <544AB338.2050905@sandeen.net> Date: Fri, 24 Oct 2014 15:14:48 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Stan Hoeppner , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544AB289.8010005@hardwarefreak.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414181692 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.10889 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 3:11 PM, Stan Hoeppner wrote: > Just remade a couple of filesystems and received an alignment msg I > don't recall receiving previously: > > # mkfs.xfs -f -d su=64k,sw=12 /dev/s2d_a1l003 > mkfs.xfs: Specified data stripe width 1536 is not the same as the volume > stripe width 2048 so specified geometry that differs from the underlying device... > meta-data=/dev/s2d_a1l003 isize=256 agcount=44, > agsize=268435440 blks > = sectsz=512 attr=2, projid32bit=0 > data = bsize=4096 blocks=11709285376, imaxpct=5 > = sunit=16 swidth=192 blks > naming =version 2 bsize=4096 ascii-ci=0 > log =internal log bsize=4096 blocks=521728, version=2 > = sectsz=512 sunit=16 blks, lazy-count=1 > realtime =none extsz=4096 blocks=0, rtextents=0 > > > /dev/s2d_a1l003 is an alias to dm-0 which is a dm-multipath device to a > LUN on hardware RAID. The hardware geometry is 64kx 12, 768k. AFAIK no > geometry information has been specified for these device mapper devices > (someone else's responsibility). Though I assume dm geometry data is > the reason for mkfs.xfs throwing this alert. I don't find anything in > /sys/devices/virtual/block/dm-0/ indicating geometry. > > Any ideas how to verify what's going on here and fix it? # blockdev --getiomin --getioopt /dev/s2d_a1l003 The first number, minimum io size, is what is used for sunit The 2nd number, optimal io size, is what is used for swidth Where dm got the geometry, I'm not sure - you'd have to look into how you set up the dm device, and what its defaults are I think. -Eric From david@fromorbit.com Fri Oct 24 16:45: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 26AAE7F37 for ; Fri, 24 Oct 2014 16:45:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B64F0AC009 for ; Fri, 24 Oct 2014 14:45:31 -0700 (PDT) X-ASG-Debug-ID: 1414187129-04bdf038d23c41f0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id c0riDHdypvvb5Z9U for ; Fri, 24 Oct 2014 14:45: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: ArJGADzHSlR5LabzPGdsb2JhbABcgw6BLII2hQeyAwEBAQECBpVDhWoEAgKBBxcBBgEBAQE4O4QDAQEEVhUDCxAIAw4KCRACEw8FJQMHGhOIQMsOAQEBBwEBAQEeGIYNiVABEQEHSQcgB4MGgR4FmwuCUYEyEYM4gy2KBYgMKS9nIAEHF4ElAQEB Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 25 Oct 2014 08:15:28 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xhmfl-0007IY-G5; Sat, 25 Oct 2014 08:45:25 +1100 Date: Sat, 25 Oct 2014 08:45:25 +1100 From: Dave Chinner To: Peter Grandi Cc: Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time Message-ID: <20141024214525.GA4317@dastard> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> <21577.24715.712978.617220@tree.ty.sabi.co.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="tThc/1wpZn/ma/RB" Content-Disposition: inline In-Reply-To: <21577.24715.712978.617220@tree.ty.sabi.co.uk> 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: 1414187129 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.10890 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --tThc/1wpZn/ma/RB Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Oct 23, 2014 at 09:09:47PM +0100, Peter Grandi wrote: > >>> Where do you get the assumption from that FhGFS/BeeGFS is > >>> going to do random reads/writes or the application of top of > >>> it is going to do that? >=20 > >> In this specific case it is not an assumption, thanks to the > >> prominent fact that the original poster was testing (locally I > >> guess) and complaining about concurrent read/writes, which > >> result in random like arm movement even if each of the read and > >> write streams are entirely sequential. >=20 > [ ... ] >=20 > > Low speed and high latencies are not sufficient information to > > speculate about the cause. >=20 > It is pleasing that you seem to know at least that by themselves > =ABLow speed and high latencies=BB are indeed not sufficient. >=20 > But in =ABthe specific case=BB what is sufficient to make a good guess > is what I wrote, which you seem to have been unable to notice or > understand. Peter, I really don't care if you are right or wrong, your response is entirely inappropriate for this forum. Wheaton's Law: "Don't Be a Dick." Bernd is entitled to point out how tenuous your thread of logic is - if he didn't I was going to say exactly the same thing - it is based entirely on a house of assumptions you haven't actually verified. An appropriate response would be to ask the OP to describe their workload and storage in more detail so you can verify which of your asumptions were correct and which weren't, and take the discussion =66rom there. But instead of taking the evidence-based verification path, you've resorted to personal attacks to defend your tenuous logic. That is out of line and not acceptible behaviour. Knowledge is not a cudgel to beat people down with. Nobody really cares how much you know, nor do they need you to try to prove you know more than they do. If you succeed in proving how much of an Expert(tm) you are, then the only thing that people will remember about you is "what a dick that guy is". Unfortunately, Peter, you've made a habit of this behaviour. Every discussion thread you enter ends up with you abusing someone because they dared to either question your assertions or didn't understand what you said precisely. Indeed, I've come to assosicate your name with such behaviour over the past couple of years, to the point where I see your name in a thread and I wonder what will trigger you to abuse someone before I've even read the email. With this email, you've finally reached my Intolerable Dickhead On The Internet Threshold. Given that this is on the XFS mailing list, and I'm the XFS Maintainer it falls to me to draw a line in the sand: such behaviour is not acceptible in this forum. In future, Peter, please do not post to the list if you can't be nice or stay on topic. We don't need you to "help" by abusing people; we get along and solve problems just fine without you. Hence if you can't play nicely with others then please go away and don't come back. -Dave. --=20 Dave Chinner david@fromorbit.com --tThc/1wpZn/ma/RB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBAgAGBQJUSsh0AAoJEK3oKUf0dfodJVIP/3AtghnSkekVnecW1ohKMQJb Ts/SrT1mv7FlrOdPMRctk88zgn8f47i+7b7nyjLXOZNJ/aQfT2V70OKB3C4o1p5q AdSDSBU4h1EY3E3QpL+Jy0Yal1whL5UucLkXsrnoFR490KtZZPpjfJ2qigKB7P7X tXKEo4GLvWbPzZcOngiO7X2T7dvSft/8p+2sdbNBPkgKSI8QxaZmNco0aRpRwPJ8 RbrKO3enlJ9lQK+V8MYgOvk+TWoW6w6xONEa9LSN15yYUID+GX4koo9HRoG3UiX1 yxNDfvUKBLKwGpnjHSI8h2+wjKZW4JZvEcn2rcbAevpS0d06ZYL+irZoSFqazs48 9OtmV0S1mknEyD1r+ga/NtxJZrsjajlvq4Rn1G4jblbMtmtV+oVlg4La4IDfKBIG rXTeYcehp1Pj2e8uj0VV+dgxwXCIwKeEeh8QZ36zb9BkWZZlJpc3TTP4/3iAVF1h hcn+k+FHnM5tawzU3LVxRmbKS+8oyB7F2S1X6wLYt1/1lb/t/MIt7SAAwuGRITlZ H0OM0+sTWzDFfPMwluoBSu6iiEJJae+12klfSfPgvMzamD4mvVvr/cWqHtOWlxT4 X2JsfoCNIklUCMHpd7lvyWpRTTj/ErjFNJH52Hxx7RTjRPTkKWa/8BGyACsBDwFK MAUdgT5xA1cOxh/zcgQs =a4+W -----END PGP SIGNATURE----- --tThc/1wpZn/ma/RB-- From stan@hardwarefreak.com Fri Oct 24 17:07: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 495B97F37 for ; Fri, 24 Oct 2014 17:07:39 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0B47B8F8039 for ; Fri, 24 Oct 2014 15:07:35 -0700 (PDT) X-ASG-Debug-ID: 1414188454-04bdf038cf3c5140001-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 T9AB0K5ADfIl4KUQ for ; Fri, 24 Oct 2014 15:07:34 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id EC0176C0FA; Fri, 24 Oct 2014 17:07:33 -0500 (CDT) Message-ID: <544ACDC4.1070501@hardwarefreak.com> Date: Fri, 24 Oct 2014 17:08:04 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544AB338.2050905@sandeen.net> 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: 1414188454 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 10/24/2014 03:14 PM, Eric Sandeen wrote: > On 10/24/14 3:11 PM, Stan Hoeppner wrote: >> Just remade a couple of filesystems and received an alignment msg I >> don't recall receiving previously: >> >> # mkfs.xfs -f -d su=64k,sw=12 /dev/s2d_a1l003 >> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume >> stripe width 2048 > > so specified geometry that differs from the underlying device... > >> meta-data=/dev/s2d_a1l003 isize=256 agcount=44, >> agsize=268435440 blks >> = sectsz=512 attr=2, projid32bit=0 >> data = bsize=4096 blocks=11709285376, imaxpct=5 >> = sunit=16 swidth=192 blks >> naming =version 2 bsize=4096 ascii-ci=0 >> log =internal log bsize=4096 blocks=521728, version=2 >> = sectsz=512 sunit=16 blks, lazy-count=1 >> realtime =none extsz=4096 blocks=0, rtextents=0 >> >> >> /dev/s2d_a1l003 is an alias to dm-0 which is a dm-multipath device to a >> LUN on hardware RAID. The hardware geometry is 64kx 12, 768k. AFAIK no >> geometry information has been specified for these device mapper devices >> (someone else's responsibility). Though I assume dm geometry data is >> the reason for mkfs.xfs throwing this alert. I don't find anything in >> /sys/devices/virtual/block/dm-0/ indicating geometry. >> >> Any ideas how to verify what's going on here and fix it? > > # blockdev --getiomin --getioopt /dev/s2d_a1l003 > > The first number, minimum io size, is what is used for sunit > The 2nd number, optimal io size, is what is used for swidth > > Where dm got the geometry, I'm not sure - you'd have to look into > how you set up the dm device, and what its defaults are I think. Looks like they're being passed up the stack: # blockdev --getiomin --getioopt /dev/dm-0 512 1048576 # multipath -ll 3600c0ff0003630917954075401000000 dm-0 Tek,DH6554 size=44T features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 9:0:0:3 sdj 8:144 active ready running `-+- policy='round-robin 0' prio=10 status=enabled `- 1:0:0:3 sdf 8:80 active ready running /sys/block/sdj/queue# cat minimum_io_size 512 /sys/block/sdj/queue# cat optimal_io_size 1048576 root@Anguish-ssu-1:/sys/block/sdf/queue# cat minimum_io_size 512 root@Anguish-ssu-1:/sys/block/sdf/queue# cat optimal_io_size 1048576 So it's the presence of a value in optimal_io_size that causes the problem here. My single disk workstation has min but not optimal, as I assume most do. And I don't get this msg when formatting it. It's interesting that mkfs.xfs would use these values given they are static firmware values in most controllers. Thus they don't change when one uses different geometry for different arrays/LUNs... So it seems I can safely ignore this mkfs msg. Thanks, Stan From sandeen@sandeen.net Fri Oct 24 17:19: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 E11C07F37 for ; Fri, 24 Oct 2014 17:19:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id BE5AD8F8049 for ; Fri, 24 Oct 2014 15:19:38 -0700 (PDT) X-ASG-Debug-ID: 1414189176-04cbb070c62c4140001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id Qn4RMLxXxXE0g3F8 for ; Fri, 24 Oct 2014 15:19: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 59D1863C5FD5; Fri, 24 Oct 2014 17:19:36 -0500 (CDT) Message-ID: <544AD077.4080305@sandeen.net> Date: Fri, 24 Oct 2014 17:19:35 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Stan Hoeppner , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544ACDC4.1070501@hardwarefreak.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414189176 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.10891 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 5:08 PM, Stan Hoeppner wrote: > > On 10/24/2014 03:14 PM, Eric Sandeen wrote: ... >>> Any ideas how to verify what's going on here and fix it? >> >> # blockdev --getiomin --getioopt /dev/s2d_a1l003 >> >> The first number, minimum io size, is what is used for sunit >> The 2nd number, optimal io size, is what is used for swidth >> >> Where dm got the geometry, I'm not sure - you'd have to look into >> how you set up the dm device, and what its defaults are I think. > > Looks like they're being passed up the stack: > # blockdev --getiomin --getioopt /dev/dm-0 > 512 > 1048576 > > # multipath -ll > 3600c0ff0003630917954075401000000 dm-0 Tek,DH6554 > size=44T features='0' hwhandler='0' wp=rw > |-+- policy='round-robin 0' prio=50 status=active > | `- 9:0:0:3 sdj 8:144 active ready running > `-+- policy='round-robin 0' prio=10 status=enabled > `- 1:0:0:3 sdf 8:80 active ready running > > /sys/block/sdj/queue# cat minimum_io_size > 512 > /sys/block/sdj/queue# cat optimal_io_size > 1048576 so supposedly a 512 byte stripe unit, and a 1MB width. Hrmph. > root@Anguish-ssu-1:/sys/block/sdf/queue# cat minimum_io_size > 512 > root@Anguish-ssu-1:/sys/block/sdf/queue# cat optimal_io_size > 1048576 > > So it's the presence of a value in optimal_io_size that causes the > problem here. My single disk workstation has min but not optimal, as I > assume most do. And I don't get this msg when formatting it. > > It's interesting that mkfs.xfs would use these values given they are > static firmware values in most controllers. Thus they don't change when > one uses different geometry for different arrays/LUNs... Well, they should change with geometry, but many hardware raids don't advertise anything meaningful. There are some heuristics in mkfs to ignore things that just obviously don't make sense. Perhaps we should ignore anything with a sector-sized "stripe unit". (I'll also ask the dm folks why they set it this way). Dave, any thoughts? > So it seems I can safely ignore this mkfs msg. Probably so, but it'd be nice to get rid of it if we could, either by ignoring sector-sized "stripe units" or changing what dm reports; not sure. -Eric > Thanks, > Stan > From sandeen@sandeen.net Fri Oct 24 17:27: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 CA8117F37 for ; Fri, 24 Oct 2014 17:27:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B8897304039 for ; Fri, 24 Oct 2014 15:27:02 -0700 (PDT) X-ASG-Debug-ID: 1414189621-04cbb070c82c44a0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id Zsb1zvwVLFPUibNY for ; Fri, 24 Oct 2014 15:27:01 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7110963C5FD5; Fri, 24 Oct 2014 17:27:01 -0500 (CDT) Message-ID: <544AD234.3060100@sandeen.net> Date: Fri, 24 Oct 2014 17:27:00 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Stan Hoeppner , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544AD077.4080305@sandeen.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414189621 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.10891 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 5:19 PM, Eric Sandeen wrote: > On 10/24/14 5:08 PM, Stan Hoeppner wrote: >> >> On 10/24/2014 03:14 PM, Eric Sandeen wrote: > > ... > >>>> Any ideas how to verify what's going on here and fix it? >>> >>> # blockdev --getiomin --getioopt /dev/s2d_a1l003 Also, what does it show for the underlying non-multipath device(s)? -Eric From adrianbayford@imail.com Fri Oct 24 20:08: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 C02E37F37 for ; Fri, 24 Oct 2014 20:08:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9E5DB304032 for ; Fri, 24 Oct 2014 18:08:45 -0700 (PDT) X-ASG-Debug-ID: 1414199322-04cb6c2ef92c7d00001-NocioJ Received: from NS6.lumitek.com.tw (lumitek.com.tw [220.130.50.120]) by cuda.sgi.com with ESMTP id EwXXH8g1r5X0vaxa (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO); Fri, 24 Oct 2014 18:08:43 -0700 (PDT) X-Barracuda-Envelope-From: adrianbayford@imail.com X-Barracuda-Apparent-Source-IP: 220.130.50.120 Received: from [197.228.5.207] (8ta-228-5-207.telkomadsl.co.za [197.228.5.207]) (authenticated bits=0) by NS6.lumitek.com.tw (8.14.4/8.14.4) with ESMTP id s9P0v1KY016400; Sat, 25 Oct 2014 08:57:04 +0800 Message-Id: <201410250057.s9P0v1KY016400@NS6.lumitek.com.tw> Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: Re: To: Recipients X-ASG-Orig-Subj: Re: From: "Adrian Bayford" Date: Fri, 24 Oct 2014 17:54:32 -0700 Reply-To: adrianbayords@gmail.com X-yoursite-MailScanner-Information: Please contact the ISP for more information X-yoursite-MailScanner-ID: s9P0v1KY016400 X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: adrianbayford@imail.com X-Barracuda-Connect: lumitek.com.tw[220.130.50.120] X-Barracuda-Start-Time: 1414199323 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.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_SA_TO_FROM_ADDR_MATCH, BSF_SC7_SA298e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10894 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address 0.20 BSF_SC7_SA298e Custom Rule SA298e I am Adrian Bayford from Bayford organization, you have been nominated for = a prize, please reply for more info. --=20 This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. From stan@hardwarefreak.com Fri Oct 24 21:28: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 8EC067F37 for ; Fri, 24 Oct 2014 21:28:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7C59C8F8049 for ; Fri, 24 Oct 2014 19:28:27 -0700 (PDT) X-ASG-Debug-ID: 1414204103-04cbb070c72cbf40001-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 8YNJoiQziqtyRSaQ for ; Fri, 24 Oct 2014 19:28:23 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id D89DE6C0FA; Fri, 24 Oct 2014 21:28:22 -0500 (CDT) Message-ID: <544B0AE5.9090500@hardwarefreak.com> Date: Fri, 24 Oct 2014 21:28:53 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: gather write metrics on multiple files References: <543611CF.6030904@hardwarefreak.com> <543613E7.70508@gmail.com> <54361C04.5090404@hardwarefreak.com> <20141009211339.GD4376@dastard> <544202AE.3000003@hardwarefreak.com> <5442AE9A.7030703@hardwarefreak.com> <20141019222434.GL17506@dastard> <5446F29F.7090406@hardwarefreak.com> X-ASG-Orig-Subj: Re: gather write metrics on multiple files In-Reply-To: <5446F29F.7090406@hardwarefreak.com> 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: 1414204103 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 10/21/2014 06:56 PM, Stan Hoeppner wrote: > > On 10/19/2014 05:24 PM, Dave Chinner wrote: ... >>>> The filesystems were aligned at make time >>>> w/768K stripe width, so each prealloc file should be aligned on >>>> a stripe boundary. >> >> "should be aligned"? You haven't verified they are aligned by using >> with 'xfs_bmap -vp'? > > If I divide the start of the block range by 192 (768k/4k) those files > checked so far return a fractional value. So I assume this means these > files are not stripe aligned. What might cause that given I formatted > with alignment? It seems file alignment isn't a big problem after all as the controllers are doing relatively few small destages, about 1/250th of full stripe destages. And some of these are journal and metadata writes. ... >>> The 350 streams are written to 350 preallocated files in parallel. >> >> And they layout of those files are? If you don't know the physical >> layout of the files and what disks in the storage array they map to, >> then you can't determine what the seek times should be. If you can't >> work out what the seek times should be, then you don't know what the >> stream capacity of the storage should be. Took some time but I worked out a rough map of the files. SG0, SG1, and SG2 are the large, medium, and small file counts respectively. AG SG0 SG1 SG2 AG SG0 SG1 SG2 AG SG0 SG1 SG2 AG SG0 SG1 SG2 0 0 129 520 11 162 132 514 22 160 131 519 33 164 133 522 1 164 129 518 12 160 132 520 23 161 132 518 34 161 130 517 2 164 133 521 13 164 129 522 24 163 131 521 35 162 132 518 3 159 129 518 14 164 130 522 25 162 129 519 36 161 131 518 4 92 257 518 15 163 130 522 26 163 128 520 37 158 131 515 5 91 256 516 16 163 131 521 27 162 130 523 38 0 132 518 6 91 263 519 17 161 130 518 28 161 130 524 39 0 128 523 7 92 261 518 18 165 127 520 29 163 129 517 40 0 131 521 8 91 253 515 19 161 130 517 30 166 129 520 41 0 130 522 9 94 257 451 20 167 128 525 31 162 129 521 42 0 128 517 10 172 129 455 21 164 130 515 32 161 129 515 43 0 131 516 All 3 file sizes are fairly evenly spread across all AGs, and that is a problem. The directory structure is setup so that each group directory has one subdir per stream and multiple files which are written in succession as they fill, and we start with the first file in each directory. SG0 has two streams/subdirs, SG1 has 50, and SG2 has 350. Write stream rates: SG0 2@ 94.0 MB/s, SG1 50@ 2.4 MB/s SG2 350@ 0.14 MB/s This is 357 MB/s aggregate targeted at a 12+1 RAID5 or 12+2 RAID6, the former in this case. In either case we can't maintain this rate. A ~36-45 hour run writes all files once. During this duration we see the controller go into congestion hundreds of times. Wait goes up, bandwidth down, and we drop application buffers because they're on a timer. If we can't write a buffer in X seconds we drop it. The directory/file layout indicates highly variable AG access patterns throughout the run, thus lots of AG-to-AG seeking, thus seeking lots of platter surface all the time. It also indicates large sweeps of the actuators when concurrent file accesses are in low and high numbered AGs. And this tends to explain the relatively stable throughput some of the time with periods of high IO wait and low bandwidth at other times. Too much seek delay with these latter access patterns. I haven't profiled the application to verify which files are written in parallel at a given point in the run, but I think that would be a waste of time given the file/AG distribution we see above. And I don't have enough time left on my contract to do it anyway. I've can attach tree or 'ls -lavR' output if that would help paint a clearer picture of ho the filesystem is organized. Thanks, Stan From stan@hardwarefreak.com Fri Oct 24 22:08: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D024E7F37 for ; Fri, 24 Oct 2014 22:08:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id BDFD48F804B for ; Fri, 24 Oct 2014 20:08:12 -0700 (PDT) X-ASG-Debug-ID: 1414206491-04cbb070c52cd270001-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 LsYi9E24H0SXZGUQ for ; Fri, 24 Oct 2014 20:08:11 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 50AEA6C0FA; Fri, 24 Oct 2014 22:08:11 -0500 (CDT) Message-ID: <544B1439.6060509@hardwarefreak.com> Date: Fri, 24 Oct 2014 22:08:41 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544AD234.3060100@sandeen.net> 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: 1414206491 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 10/24/2014 05:27 PM, Eric Sandeen wrote: > On 10/24/14 5:19 PM, Eric Sandeen wrote: >> On 10/24/14 5:08 PM, Stan Hoeppner wrote: >>> >>> On 10/24/2014 03:14 PM, Eric Sandeen wrote: >> >> ... >> >>>>> Any ideas how to verify what's going on here and fix it? >>>> >>>> # blockdev --getiomin --getioopt /dev/s2d_a1l003 > > Also, what does it show for the underlying non-multipath device(s)? # blockdev --getiomin --getioopt /dev/sdj 512 1048576 # blockdev --getiomin --getioopt /dev/sdf 512 1048576 Cheers, Stan From mlsemon35@gmail.com Sat Oct 25 02:05: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.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 1765C7F51 for ; Sat, 25 Oct 2014 02:05:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id DBBDC304032 for ; Sat, 25 Oct 2014 00:05:27 -0700 (PDT) X-ASG-Debug-ID: 1414220724-04bdf038d13d4eb0001-NocioJ Received: from mail-qa0-f50.google.com (mail-qa0-f50.google.com [209.85.216.50]) by cuda.sgi.com with ESMTP id 2OtNwgwd55Dskk4x (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 25 Oct 2014 00:05:25 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.50 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.50] Received: by mail-qa0-f50.google.com with SMTP id cs9so1863729qab.23 for ; Sat, 25 Oct 2014 00:05:24 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.50] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.50] 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:references :in-reply-to:content-type:content-transfer-encoding; bh=/U7NJRcSqajCxP1Nt1UCw2x83TXpTSHM0uhU68USiPs=; b=zH7+mrn/v3D+3thapJNmAqtQ7VNbWLs9fiXJyCQiv7RjEJQUVda5UCPgfXeDzeDKIx i8uq4GPj4k7Mc/7osV/8adTGtY5wtaGmz3DtL0AD5uGQkPvidPEN32UBMaaaLaf77VcW YdXgP8r80R+V1vYg77f9lVYL0ZLMBaAic/fsHPp3jLRQ9yVtS0ofOqg8flGixzDKyZn3 yuhR/rLwHKK/lWxnIogUUz/fQpSCKiosldMUgB3vm37aqmHVHwqmUCEWpSQc/+UM1T/x 60EAxpIg0jUMib/3gW7JXXfQriCDwz78kibq5GEvkjbnr7gokIOrBS/5nuCqa85G0mQs hBRQ== X-Received: by 10.140.87.67 with SMTP id q61mr12399506qgd.92.1414220724541; Sat, 25 Oct 2014 00:05:24 -0700 (PDT) Received: from yholen.ds (rrcs-97-76-23-49.se.biz.rr.com. [97.76.23.49]) by mx.google.com with ESMTPSA id e9sm6047900qgd.46.2014.10.25.00.05.23 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 25 Oct 2014 00:05:24 -0700 (PDT) Message-ID: <544B4BB3.5030009@gmail.com> Date: Sat, 25 Oct 2014 03:05:23 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Eric Sandeen , xfs Subject: Re: xfsdump not work in 3.17 References: <543F3C9A.4060603@sandeen.net> <5447BC4C.3050408@gmail.com> X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 In-Reply-To: <5447BC4C.3050408@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qa0-f50.google.com[209.85.216.50] X-Barracuda-Start-Time: 1414220725 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.10900 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 10/22/14 10:16, Michael L. Semon wrote: > On 10/15/14 23:33, Eric Sandeen wrote: >> On 10/15/14 9:31 PM, Tommy Wu wrote: >>> Hi! >>> >>> xfsdump 3.1.4 >>> xfsprogs 3.2.1 >>> linux kerenl 3.17/3.17.1 >>> >> >> ... >> >>> It just create a small dump file, and if I run the same xfsdump again (or umount the filesystem), it will hang, like: >>> >>> fw1:/vol/backup/fw1# /sbin/xfsdump -v trace,drive=debug,media=debug -l 0 -o -J -F - /dev/vg/root | gzip > test.gz >>> /sbin/xfsdump: using file dump (drive_simple) strategy >>> /sbin/xfsdump: version 3.1.4 (dump format 3.0) >>> /sbin/xfsdump: level 0 dump of fw1.teatime.com.tw:/ >>> /sbin/xfsdump: dump date: Thu Oct 16 10:30:09 2014 >>> /sbin/xfsdump: session id: b8354300-d54c-4131-b39c-7c0b63968208 >>> /sbin/xfsdump: session label: "" >>> /sbin/xfsdump: ino map phase 1: constructing initial dump list >>> >>> >>> switch back to kernel 3.16, the same command work fine. >>> >> >> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs?id=a8b1ee8bafc765ebf029d03c5479a69aebff9693 >> >> addresses the small backup file, and >> >> [PATCH] xfs: bulkstat doesn't release AGI buffer on error >> >> (on the list) most likely addresses the hang, I think. >> >> -Eric > > Thanks! I'm still looking for that one good recipe to fix xfsdump in my i686 > Pentium 4 dungeon here, currently using yesterday morning's git kernel + > xfs-oss/for-next. The test dataset is a basic slackware-current setup, > regular kernel source, -stable kernel source, on v5-superblock/finobt XFS > (mkfs.xfs -m crc=1,finobt=1 ...). The dataset uses about 7 GB of disk space. > > This letter is half-baked thoughts, only here to express the idea "don't think > you're out of the woods yet!" in some primitive manner. > > The first patch seems to get rid of the earliest xfsdump premature SUCCESS, the > one where xfsdump ran for less than 10 seconds and left a dump file of less than > 1 MB. BTW, in the commit message and to `git log xfs-oss/for-next`, the commit > message for the patch starts "caused a regression in xfs_inumbers" but does not > mention which commit caused the regression. > > With the second patch applied, the dump size increases to about 1 decimal GB > before exiting, same size in three different runs. > > I think I tried the patch "xfs: Check error during inode btree iteration in > xfs_bulkstat()"--no other similar patches in my mailing list patchset download-- > and xfsdump dumped up to 1.2 decimal GB, same size in two different runs. > > These patches are being run through xfstests as I work, so there's nothing > there to report yet. > > It was only this morning that I got tar to complete a system backup without > asserting in some way (hangcheck timer expires, stack varies), and the last > oops got into that uncomfortable xfs_dir3_leaf area. Should this happen > again, I'll either post some traces or the output of `xfsdump -v 3 ...` I was > rushed into work today and couldn't grab the logs. > > Should `xfsdump -v 3 ...` report SUCCESS for one code and an error for the > second return code, that second code has been "unknown error." I've never run > xfsdump at -v 3 before and don't know if that is normal. > > The rest is still being fleshed out. tar seems to be OK, so long as xfsdump > has not been invoked beforehand. tar has not been run enough times to get a > true 1:1 correlation on it, though. The current goal is to reconstruct the > filesystem and see if all problems magically go away. So far, xfs_repair has > reported no errors on this filesystem. > > Thanks! > > Michael > Update: I got a patch to resolve a sync (or merge request) issue lower down in the block layer, so I tried this all again. With tonight's kernel + xfs-oss/for-next and a lot of "-v 3" arguments, it went like this: 1) xfsdump'ed my v5/finobt /. Exit code was SUCCESS, return code was SUCCESS. 2) Did something like `gzip -dc dump.0.gz | xfsrestore -t -`. Exit code was SUCCESS, return code was SUCCESS. 3) Did a `find / -mount -type f -exec md5sum {} \; | tee ~/MD5SUMS` 4) Zeroed /dev/sda4, then made a new FS using `mkfs.xfs -m crc=1,finobt=1 /dev/sda4` # (12 GB) 5) xfsrestore'd the v5/finobt / from another partition. Exit code was SUCCESS, return code was SUCCESS. xfsrestore claimed 19494 directories and 268540 or 298540 files. I thought I read 268540 lines for the MD5SUMS file and 298540 from the xfsrestore output. Eyes must be blurring... 6) Tried to reboot into the v5/finobt /. No /etc/inittab, cannot boot. In fact, if files were restored to /etc, they were nested fairly deeply. 7) From another partition, I ran commands like this: find /mnt/v5xfs -mount -type d | wc -l # 19494 directories find /mnt/v5xfs -mount -type f | wc -l # 118417 files 8) Tried the restore onto a non-XFS filesystem. Still it restored all 19494 directories but only 118417 files. This was somewhat disconcerting to have all that SUCCESS and have it followed by failure. I'm rather puzzled that the backups had different results last time. AFAIK, writes were completing before block issues were fixed, they just took an extremely long time when enough I/O was built up. Anyway, that was an update, and I'll try some tar restore results next time. tar is fairly demonstrative about errors, though. If the backup went OK, then the restore should go OK as well. Good luck! Michael From pg_mh@mh.to.sabi.co.uk Sat Oct 25 06:00: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 0052B7F54 for ; Sat, 25 Oct 2014 06:00:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B4867304039 for ; Sat, 25 Oct 2014 04:00:22 -0700 (PDT) X-ASG-Debug-ID: 1414234820-04bdf038d13d99c0001-ps1ADW Received: from woodbine.london.02.net (woodbine.london.02.net [87.194.255.145]) by cuda.sgi.com with ESMTP id yVmLlBPDrICdMFoE for ; Sat, 25 Oct 2014 04:00:20 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.145 Received: from ty.sabi.co.UK (94.192.123.208) by woodbine.london.02.net (8.5.140) id 53BD9B4503C4A41B for xfs@OSS.SGI.com; Sat, 25 Oct 2014 12:31:29 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1Xhz4w-0002hp-9U for ; Sat, 25 Oct 2014 12:00:14 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <21579.33469.878654.99125@tree.ty.sabi.co.uk> Date: Sat, 25 Oct 2014 12:00:13 +0100 Precedence: air-mail To: Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <20141024214525.GA4317@dastard> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> <21577.24715.712978.617220@tree.ty.sabi.co.uk> <20141024214525.GA4317@dastard> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: woodbine.london.02.net[87.194.255.145] X-Barracuda-Start-Time: 1414234820 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.10904 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- > [ ... ] entitled to point out how tenuous your thread of logic > is - if he didn't I was going to say exactly the same thing You are both entitled to your opinions, but not to have them unchallenged, also when they are bare statements. > based entirely on a house of assumptions you haven't actually > verified. That seems highly imaginative as my guesses that conclusion that: http://oss.sgi.com/archives/xfs/2014-10/msg00335.html > This issue should be moved to the 'linux-raid' mailing list as > from the reported information it has nothing to do with XFS. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D were factually based: http://oss.sgi.com/archives/xfs/2014-10/msg00335.html > There is a ratio of 31 (thirty one) between 'swidth' and > 'sunit' and assuming that this reflects the geometry of the > RAID5 set and given commonly available disk sizes it can be > guessed that with amazing "bravery" someone has configured a > RAID5 out of 32 (thirty two) high capacity/low IOPS 3TB > drives, or something similar. That there is a ratio of 31 is a verified fact, and so is that the reported size of the block device was 100TB. Much of the rest is arithmetic and I indicated that there were was some guesswork involved, mostly assuming that those reported facts were descriptive of the actual configuration. Simply for brevity I did not also point out specifically that the reported facts that =ABhigh r_await(160) and w_await(200000)=BB and the "Subject:" =ABvery high Average Read/Write Request Time=BB contributed to indicating a (big) issue with the storage layer. and that the presumed width of the array of 32 is congruentn with typical enclosure capacities. Another poster went far further in guesswork, and stated what I was describing as guesses instead as obvious facts: http://oss.sgi.com/archives/xfs/2014-10/msg00337.html > As others mentioned this isn't an XFS problem. The problem is that > your RAID geometry doesn't match your workload. Your very wide > parity stripe is apparently causing excessive seeking with your > read+write workload due to read-modify-write operations. and went on to make a whole discussion wholly unrelated to XFS based on that: > To mitigate this, and to increase resiliency, you should > switch to RAID6 with a smaller chunk. If you need maximum > capacity make a single RAID6 array with 16 KiB chunk size. > This will yield a 496 KiB stripe width, increasing the odds > that all writes are a full stripe, and hopefully eliminating > much of the RMW problem. =20 > A better option might be making three 10 drive RAID6 arrays > (two spares) with 32 KiB chunk, 256 KiB stripe width, and > concatenating the 3 arrays with mdadm --linear. The above assumptions and offtopic suggestions have been unquestioned; by myself too, even if I disagree with some of the recommendations, also as I think them premature because we don't know what the requirements really are beyond what can be guessed from =ABthe reported information=BB. That's also why I suggested to continue the discussion on the Linux RAID list. The guess that the filesystem was meant to be an object store is also based on a verified fact: > if the device name "/data/fhgfs/fhgfs_storage" is dedscriptive, > this "brave" RAID5 set is supposed to hold the object storage > layer of a BeeFS Also BP did not initially question my analysis of the 100TB filesystem case, but asked a wholly separate question asking to explain this aside: > the object storage layer of a BeeFS highly parallel filesystem, > and therefore will likely have mostly-random accesses. To that question I provided a reasonable and detailed *technical* explanation, both as to the specific case and in general, and linking it to both the original question by QH and to the list topic which is XFS. As a reminder this thread seems to me to contain 3 distinct even if connected *technical* topics: * Whether the report about the 100TB RAID based XFS filesystem contained evidence indicating an XFS issue or a RAID issue; this was introduced by QH. * Whether concurrent randomish read-writes tend to be the workload observed by object stores in large parallel HPC systems; this was introduced by BP. * Whether concurrent randomish read-write would happen in the use of that specific filesystem as an object store; this was introduced by myself to link QH's original question to BP's new question, because strictly speaking BP's question seemed to me offtopic in the XFS mailing list. Then BP seemed to switch topics again by mentioning 1 and 2 threaded read-write in the context of the general issue of the access patterns of large parallel HPC filesystem object stores, and that seemed strange to me, as I commented, so I ignore it. > appropriate response would be to ask the OP to describe their > workload and storage in more detail Indeed, and I suggested to move the discussion to the Linux RAID mailing list for that purpose, because the evidence quoted above seemed to indicate that a 32-wide RAID5 was involved, as in: > This issue should be moved to the 'linux-raid' mailing list as > from the reported information it has nothing to do with XFS. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D This left free QH to report more information as someone asked to indicate the issue was relevant more to the XFS list than to the Linux RAID list, or to move to the Linux RAID list with more details. Again, the suggestion to continue the discussion in another list that seemed more useful to QH was based on simple inferences based on 3 reported facts: 31 ratio, 100TB size, "fast" single threaded speed vs. slow concurrent read/write speeds (and the concurrent high wait times). You and BP are entitled to think those are not good guesses (just as SH instead took them as good ones) and it would be interesting if you provided substantive reason why the suggestion to continue the discussion in the Linux RAID list was inappropriate, but you haven't contributed any other than your say-so. Also while suggestions have been made to QH to provide more details and/or move the discussion to the Linux RAID list by different people, notably this has not happened yet. From pg_mh@mh.to.sabi.co.uk Sat Oct 25 07:36: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 779257F56 for ; Sat, 25 Oct 2014 07:36:44 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id EA48DAC004 for ; Sat, 25 Oct 2014 05:36:40 -0700 (PDT) X-ASG-Debug-ID: 1414240597-04cb6c2ef92e3440001-ps1ADW Received: from honeysuckle.london.02.net (honeysuckle.london.02.net [87.194.255.144]) by cuda.sgi.com with ESMTP id 2Jg3Qgb9odKANIbC for ; Sat, 25 Oct 2014 05:36:38 -0700 (PDT) X-Barracuda-Envelope-From: pg_mh@mh.to.sabi.co.UK X-Barracuda-Apparent-Source-IP: 87.194.255.144 Received: from ty.sabi.co.UK (94.192.123.208) by honeysuckle.london.02.net (8.5.140) id 53BD70B603B6979E; Sat, 25 Oct 2014 14:02:04 +0100 Received: from from [127.0.0.1] (helo=tree.ty.sabi.co.uk) by ty.sabi.co.UK with esmtp(Exim 4.76 #1) id 1Xi0a7-0002u6-HE; Sat, 25 Oct 2014 13:36:31 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Message-ID: <21579.39245.719113.999373@tree.ty.sabi.co.uk> Date: Sat, 25 Oct 2014 13:36:29 +0100 Precedence: air-mail To: Linux fs XFS Cc: Russell Cattelan Subject: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <20141024214525.GA4317@dastard> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> <21577.24715.712978.617220@tree.ty.sabi.co.uk> <20141024214525.GA4317@dastard> X-Mailer: VM 8.1.0 under 23.3.1 (x86_64-pc-linux-gnu) From: pg@xfs.list.sabi.co.UK (Peter Grandi) X-Disclaimer: This message contains only personal opinions X-Barracuda-Connect: honeysuckle.london.02.net[87.194.255.144] X-Barracuda-Start-Time: 1414240597 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.10905 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Stan Hoeppner: =ABDoing this via subterfuge simply reduces people's level of respect for you=BB =ABIn your 10,000th attempt to generate self gratification by demonstrating your superior knowledge (actually lack thereof) on this list, all you could have possibly achieved here is confusing the OP even further. I find it sad that you've decided to prey on the young, the inexperienced, after realizing the educated began ignoring you long ago.=BB Cristoph Hellwig: =ABhe's made himself a name as not only beeing technically incompetent but also extremly abrasive.=BB =ABBut please stop giving advise taken out of the thin air to people on the lists that might actually believe whatever madness you just dreamed up.=BB Dave Chinner: =ABJust ignore the troll, Stan.=BB =ABBut instead of taking the evidence-based verification path, you've resorted to personal attacks to defend your tenuous logic.=BB =AByou've made a habit of this behaviour. Every discussion thread you enter ends up with you abusing someone because they dared to either question your assertions or didn't understand what you said precisely.=BB =AByou've finally reached my Intolerable Dickhead On The Internet Threshold. Given that this is on the XFS mailing list, and I'm the XFS Maintainer it falls to me to draw a line in the sand: such behaviour is not acceptible in this forum.=BB According to Russel Cattelan (the owner of XFS the mailing list at least in 2012) and "other prominent members of the XFS team" the statements I quoted above are =ABacceptible in this forum=BB: http://oss.sgi.com/archives/xfs/2012-04/threads.html#00051 =AB[ ... ] turning the XFS mailing list in a disreputable vehicle for offtopic and offensive flaming. This to me this looks like mobbing, beause coordinated personal attacks have been done by a small group of people [ ... ]=BB =20 Russell Cattelan: =ABYou must be joking! I'm not about to ban one of the most knowledgeable and productive xfs developers from the email list.=BB =ABWell, if one of these guys post offtopic and malicious rants, I guess that his being an XFS developer should not matter. With being an XFS developer comes also some responsibility to maintain a technical and professional tone in the XFS mailing list, and not to abuse his position. Same for the others.=BB =20 Russel Cattelan: =ABI see nothing particularly offensive about these posts.=BB =ABThey personal attacks about competence and character. They are pure flames, and because they are coordinated they seem to be mobbing. To me, you seem to be expliciting endorsing the use of the XFS mailing list to publish "ad hominem" attacks and mobbing.=BB Russel Cattelan: =ABI can understand you may upset about what Christoph said he has every right to state his opinions on things no matter how much you disagree.=BB =ABBut his opinions are on offtopic "things": the topic of the XFS mailing list is XFS, not people's competence or character, or rants/attacks on people. Some of the links I have sent you contain no technical content, purely personal attacks. How can this be legitimate XFS content?=BB Russell Cattelan: =ABWell I'm afraid I'm going to respectfully disagree. I don't have the full story of everything that happened but none of the post you pointed out are totally off topic. There seems to be some question about what you have said previously about XFS, which to me would seem on topic. I have forwarded your email to Christoph and the other prominent members of the XFS team and if they feel further action is warranted we can revisit the issue. Based on what you have sent I do not feel there is grounds for action.=BB From sandeen@sandeen.net Sat Oct 25 10:51: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 DB8087F58 for ; Sat, 25 Oct 2014 10:51:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 68A9EAC003 for ; Sat, 25 Oct 2014 08:51:26 -0700 (PDT) X-ASG-Debug-ID: 1414252284-04cbb070c82dd4a0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id EfzUS1p40wnt8Dd7 for ; Sat, 25 Oct 2014 08:51:24 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 8CE5263C3E17; Sat, 25 Oct 2014 10:51:23 -0500 (CDT) Message-ID: <544BC6FA.8090101@sandeen.net> Date: Sat, 25 Oct 2014 10:51:22 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Stan Hoeppner , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544B1439.6060509@hardwarefreak.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414252284 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.10909 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/24/14 10:08 PM, Stan Hoeppner wrote: > On 10/24/2014 05:27 PM, Eric Sandeen wrote: >> On 10/24/14 5:19 PM, Eric Sandeen wrote: >>> On 10/24/14 5:08 PM, Stan Hoeppner wrote: >>>> >>>> On 10/24/2014 03:14 PM, Eric Sandeen wrote: >>> >>> ... >>> >>>>>> Any ideas how to verify what's going on here and fix it? >>>>> >>>>> # blockdev --getiomin --getioopt /dev/s2d_a1l003 >> >> Also, what does it show for the underlying non-multipath device(s)? > > # blockdev --getiomin --getioopt /dev/sdj > 512 > 1048576 > # blockdev --getiomin --getioopt /dev/sdf > 512 > 1048576 Ok, so dm multipath is just bubbling up what the device itself is claiming; not dm's doing. I forgot to ask (and you forgot to report...!) what version of xfsprogs you're using.... Currently, blkid_get_topology() in xfsprogs does: /* * Blkid reports the information in terms of bytes, but we want it in * terms of 512 bytes blocks (just to convert it to bytes later..) * * If the reported values are the same as the physical sector size * do not bother to report anything. It will just cause warnings * if people specify larger stripe units or widths manually. */ val = blkid_topology_get_minimum_io_size(tp); if (val > *psectorsize) *sunit = val >> 9; val = blkid_topology_get_optimal_io_size(tp); if (val > *psectorsize) *swidth = val >> 9; so in your case sunit probably wouldn't get set (can you confirm with # blockdev --getpbsz that the physical sector size is also 512?) But the optimal size is > physical sector so swidth gets set. Bleah... can you just collect all of: # blockdev --getpbsz --getss --getiomin --getioopt for your underlying devices, and I'll dig into how xfsprogs is behaving for those values. I have a hunch that we should be ignoring stripe units of 512 even if the "width" claims to be something larger. -Eric From g.fernandez@tbs-education.fr Sat Oct 25 10:57: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.9 required=5.0 tests=HTML_MESSAGE,MISSING_HEADERS 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 924137F5F for ; Sat, 25 Oct 2014 10:57:29 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 601178F8049 for ; Sat, 25 Oct 2014 08:57:29 -0700 (PDT) X-ASG-Debug-ID: 1414252644-04bdf038cf3e0380001-NocioJ Received: from mx.tbs-education.fr (mx.tbs-education.fr [212.99.31.10]) by cuda.sgi.com with ESMTP id mchrNVV1Eiy1Qf2d; Sat, 25 Oct 2014 08:57:25 -0700 (PDT) X-Barracuda-Envelope-From: g.fernandez@tbs-education.fr X-Barracuda-Apparent-Source-IP: 212.99.31.10 Received: from mx.tbs-education.fr (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 678387864C; Sat, 25 Oct 2014 17:57:33 +0200 (CEST) Received: from SP-BDDEXCH-2.DE-Enseignement.local (unknown [192.168.81.58]) by mx.tbs-education.fr (Postfix) with ESMTP id 196D47864A; Sat, 25 Oct 2014 17:57:33 +0200 (CEST) Received: from SP-BDDEXCH-1.DE-Enseignement.local ([fe80::806:957e:5193:d3e5]) by SP-BDDEXCH-2.DE-Enseignement.local ([fe80::d5d3:c6a8:5d96:b652%17]) with mapi id 14.03.0123.003; Sat, 25 Oct 2014 17:57:23 +0200 From: =?iso-8859-1?Q?FERNANDEZ_Genevi=E8ve?= CC: "w.melissa@yahoo.com" , "w.merv@yahoo.com" , "w.mia74@yahoo.com" , "w.rozema@rocmn.nl" , "w.sam.warner@gmail.com" , "w.sandra90@yahoo.com" , "w.sandras@yahoo.com" , "w.taylor@yahoo.com" , "w.taylor_jr@yahoo.com" , "w.tduley@yahoo.com" , "w.vandenbrink@rocmn.nl" , "w.vandervalk@rocmn.nl" , "w.vanessa45@yahoo.com" , "w.vanlaarhoven@rocmn.nl" , "w.vanloon@rocmn.nl" , "w.vaughn16@yahoo.com" , "wade.lawrence@aol.com" , "wade.lowe@msn.com" , "wade.mcbride@cs.com" , "websitevrageneducatie@rocmn.nl" , "wenning@kvsa.nl" , "wesley.lagerwey@knvb.nl" , "wieckowski@mwconstruction.com.pl" , "wieckowski@sil-pro.pl" , "willemjanvanloon@3dprintconsult.nl" , "william@netproteus.net" , "williams@soderhamn.se" , "wina_jozef_keren@yahoo.com" , "www.karami1373@yahoo.com" , "xfs@oss.sgi.com" , "xfs-masters@oss.sgi.com" , "xtremeevents@rocmn.nl" , "y.degrunt@rocmn.nl" , "y.helmich@gmail.com" , "y.hogt@rocmn.nl" , "y.leupen@rocmn.nl" , "yuk.lau@ousd.k12.ca.us" , "yvonne.hogt@award.nl" , "zahrohnuriah@yahoo.com" , "zorgsymposium@rocmn.nl" Subject: Helpdesk support. Thread-Topic: Helpdesk support. X-ASG-Orig-Subj: Helpdesk support. Thread-Index: Ac/wbF0ASadQ+6wsRFaJnAUg7YkFFw== Date: Sat, 25 Oct 2014 15:57:22 +0000 Message-ID: <2593275E85855A4B986E14F386425D59C2873F9B@SP-BDDEXCH-1.DE-Enseignement.local> Accept-Language: fr-FR, en-US Content-Language: fr-FR X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.104.18] Content-Type: multipart/alternative; boundary="_000_2593275E85855A4B986E14F386425D59C2873F9BSPBDDEXCH1DEEns_" MIME-Version: 1.0 X-TM-AS-MML: No X-Barracuda-Connect: mx.tbs-education.fr[212.99.31.10] X-Barracuda-Start-Time: 1414252645 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: caemiseversupgras.webs.com X-Barracuda-Spam-Score: 1.23 X-Barracuda-Spam-Status: No, SCORE=1.23 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MISSING_HEADERS, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10909 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 1.21 MISSING_HEADERS Missing To: header 0.00 HTML_MESSAGE BODY: HTML included in message --_000_2593275E85855A4B986E14F386425D59C2873F9BSPBDDEXCH1DEEns_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Uw e-mail heeft de opslag te beperken gecre=EBerd overschreden. Je zult nie= t langer abl send zijn of berichten ontvangt. Om te activeren, klikt u op de link en in de nodige gegevens in te vullen; http://caemiseversupgras.webs.com/ Overwogen moet worden geactiveerd in de dag om nieuwe oppervlakken te regen= ereren. Helpdesk support. --_000_2593275E85855A4B986E14F386425D59C2873F9BSPBDDEXCH1DEEns_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Uw e-mail heeft de opslag te beperken gecre=EBerd overschreden. Je zult niet = langer abl send zijn of berichten ontvangt.
Om te activeren, klikt u op de link en in de nodige gegevens in te vullen; =
http://caemiseversupgras.web= s.com/
Overwogen moet worden geactiveerd in de dag om nieuwe oppervlakken te regen= ereren.
Helpdesk support.
--_000_2593275E85855A4B986E14F386425D59C2873F9BSPBDDEXCH1DEEns_-- From stan@hardwarefreak.com Sat Oct 25 12:34: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 63CB07F5F for ; Sat, 25 Oct 2014 12:34:51 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id E643EAC003 for ; Sat, 25 Oct 2014 10:34:47 -0700 (PDT) X-ASG-Debug-ID: 1414258486-04cbb070c52dec10001-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 y7m7ZmfrKwM8BKMt for ; Sat, 25 Oct 2014 10:34:46 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id EB7866C0FA; Sat, 25 Oct 2014 12:34:45 -0500 (CDT) Message-ID: <544BDF55.9040804@hardwarefreak.com> Date: Sat, 25 Oct 2014 12:35:17 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> <544BC6FA.8090101@sandeen.net> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <544BC6FA.8090101@sandeen.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1414258486 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 10/25/2014 10:51 AM, Eric Sandeen wrote: > On 10/24/14 10:08 PM, Stan Hoeppner wrote: >> On 10/24/2014 05:27 PM, Eric Sandeen wrote: >>> On 10/24/14 5:19 PM, Eric Sandeen wrote: >>>> On 10/24/14 5:08 PM, Stan Hoeppner wrote: >>>>> >>>>> On 10/24/2014 03:14 PM, Eric Sandeen wrote: >>>> >>>> ... >>>> >>>>>>> Any ideas how to verify what's going on here and fix it? >>>>>> >>>>>> # blockdev --getiomin --getioopt /dev/s2d_a1l003 >>> >>> Also, what does it show for the underlying non-multipath device(s)? >> >> # blockdev --getiomin --getioopt /dev/sdj >> 512 >> 1048576 >> # blockdev --getiomin --getioopt /dev/sdf >> 512 >> 1048576 > > Ok, so dm multipath is just bubbling up what the device itself > is claiming; not dm's doing. > > I forgot to ask (and you forgot to report...!) what version > of xfsprogs you're using.... Sorry Eric, my bad. I should know better after all these years. :( It's old Debian 6.0 IIRC, let's see... # xfs_repair -V xfs_repair version 3.1.4 > Currently, blkid_get_topology() in xfsprogs does: > > /* > * Blkid reports the information in terms of bytes, but we want it in > * terms of 512 bytes blocks (just to convert it to bytes later..) > * > * If the reported values are the same as the physical sector size > * do not bother to report anything. It will just cause warnings > * if people specify larger stripe units or widths manually. > */ > val = blkid_topology_get_minimum_io_size(tp); > if (val > *psectorsize) > *sunit = val >> 9; > val = blkid_topology_get_optimal_io_size(tp); > if (val > *psectorsize) > *swidth = val >> 9; > > so in your case sunit probably wouldn't get set (can you confirm with > # blockdev --getpbsz that the physical sector size is also 512?) # blockdev --getpbsz /dev/dm-0 512 > But the optimal size is > physical sector so swidth gets set. > > Bleah... can you just collect all of: > > # blockdev --getpbsz --getss --getiomin --getioopt # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdj 512 512 512 1048576 # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdh 512 512 512 1048576 > for your underlying devices, and I'll dig into how xfsprogs is behaving for > those values. I have a hunch that we should be ignoring stripe units of 512 > even if the "width" claims to be something larger. Just a hunch? :) If the same interface is used for Linux logical block devices (md, dm, lvm, etc) and hardware RAID, I have a hunch it may be better to determine that, if possible, before doing anything with these values. As you said previously, and I agree 100%, a lot of RAID vendors don't export meaningful information here. In this specific case, I think the RAID engineers are exporting a value, 1 MB, that works best for their cache management, or some other path in their firmware. They're concerned with host interface xfer into the controller, not the IOs on the back end to the disks. They don't see this as an end-to-end deal. In fact, I'd guess most of these folks see their device as performing magic, and it doesn't matter what comes in or goes out either end. "We'll take care of it." I don't know what underlying SCSI command is used for populating optimal_io_size. I'm guessing this has different meaning for different folks. You say optimal_io_size is the same as RAID width. Apply that to this case: hardware RAID 60 LUN, 4 arrays 16+2 RAID6, 256 KB stripe unit, 4096 KB stripe width 16 MB LUN stripe width optimal_io_size = 16 MB Is that an appropriate value for optimal_io_size even if this is the RAID width? I'm not saying it isn't. I don't know. I don't know what other layers of the Linux and RAID firmware stacks are affected by this, nor how they're affected. Thanks, Stan From stan@hardwarefreak.com Sat Oct 25 13:12: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 7A3907F56 for ; Sat, 25 Oct 2014 13:12:22 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 097BEAC007 for ; Sat, 25 Oct 2014 11:12:21 -0700 (PDT) X-ASG-Debug-ID: 1414260737-04cb6c2ef92ec410001-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 outve3t8rOO3ZHSI for ; Sat, 25 Oct 2014 11:12:17 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 536036C0A6 for ; Sat, 25 Oct 2014 13:12:17 -0500 (CDT) Message-ID: <544BE820.6040905@hardwarefreak.com> Date: Sat, 25 Oct 2014 13:12:48 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: file streams allocator behavior Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: file streams allocator behavior Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1414260737 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 I recall reading a while back something about disabling the filestreams allocator, or at least changing its behavior, but I'm unable to find that. What I'm trying to do is use parallel dd w/O_DIRECT to write 44 files in parallel to 44 directories, thus all 44 AGs, in one test, then write 44 files to one dir, one AG, in another test. The purpose of this quick/dirty exercise is to demonstrate throughput differences due to full platter seeking in the former case and localized seeking in the latter case. But of course the problem I'm running into in the single directory case is that the filestreams allocator starts writing all of the 44 files into the appropriate AG, but then begins allocating extents for each file in other AGs. This is of course defeating the purpose of the tests. > /mnt/VOL1/43# for i in `seq 0 43`;do xfs_bmap -v test-$i;done > test-0: > EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL FLAGS > 0: [0..1535]: 92341791520..92341793055 43 (160..1695) 1536 01111 > 1: [1536..3071]: 92341794688..92341796223 43 (3328..4863) 1536 00011 ... > 88: [135168..136703]: 9972480..9974015 0 (9972480..9974015) 1536 00011 > 89: [136704..138239]: 9984768..9986303 0 (9984768..9986303) 1536 00011 ... > 146: [224256..225791]: 2158167552..2158169087 1 (10684032..10685567) 1536 > 147: [225792..227327]: 2158181376..2158182911 1 (10697856..10699391) 1536 ... > 160: [245760..254975]: 10744866688..10744875903 5 (7449088..7458303) 9216 00011 > 161: [254976..256511]: 10744877440..10744878975 5 (7459840..7461375) 1536 00011 ... ... > test-43: > EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL FLAGS > 0: [0..1535]: 92341936000..92341937535 43 (144640..146175) 1536 00011 > 1: [1536..3071]: 92342003584..92342005119 43 (212224..213759) 1536 00011 ... > 69: [105984..107519]: 4303912064..4303913599 2 (8945024..8946559) 1536 00011 > 70: [107520..109055]: 4303922816..4303924351 2 (8955776..8957311) 1536 00011 ... ... > 180: [276480..278015]: 8598943744..8598945279 4 (9009664..9011199) 1536 00011 ... > 181: [278016..279551]: 10744961920..10744963455 5 (7544320..7545855) 1536 00011 > 182: [279552..281087]: 10744968064..10744969599 5 (7550464..7551999) 1536 00011 ... ... Files being created are 1.6 GB. Filesystem is 44 TB. AGs are 1 TB. AGs are 0-43. Directories, /mnt/VOL1/0 - /mnt/VOL1/43. Device is a single RAID5 LUN. How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test? Thanks, Stan From r.scobie@clear.net.nz Sat Oct 25 13:58: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=T_MANY_HDRS_LCASE 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 0BDBA7F69 for ; Sat, 25 Oct 2014 13:58:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EE41F304032 for ; Sat, 25 Oct 2014 11:58:26 -0700 (PDT) X-ASG-Debug-ID: 1414263501-04cbb070c82e02c0001-NocioJ Received: from smtp5.clear.net.nz (smtp5.clear.net.nz [203.97.33.68]) by cuda.sgi.com with ESMTP id 9WcYFOXfyKeArBPv for ; Sat, 25 Oct 2014 11:58:22 -0700 (PDT) X-Barracuda-Envelope-From: r.scobie@clear.net.nz X-Barracuda-Apparent-Source-IP: 203.97.33.68 Received: from mxin2-orange.clear.net.nz (lb2-srcnat.clear.net.nz [203.97.32.237]) by smtp5.clear.net.nz (CLEAR Net Mail) with ESMTP id <0NE000JQUKP8YC10@smtp5.clear.net.nz> for xfs@oss.sgi.com; Sun, 26 Oct 2014 07:58:20 +1300 (NZDT) Received: from 203-167-158-128.dialup.clear.net.nz (HELO [203.167.158.128]) ([203.167.158.128]) by smtpin2.clear.net.nz with ESMTP; Sun, 26 Oct 2014 07:58:19 +1300 Date: Sun, 26 Oct 2014 07:56:47 +1300 From: Richard Scobie Subject: Re: file streams allocator behavior To: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: file streams allocator behavior Message-id: <544BF26F.6000708@clear.net.nz> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/20100101 Firefox/32.0 SeaMonkey/2.29 X-Barracuda-Connect: smtp5.clear.net.nz[203.97.33.68] X-Barracuda-Start-Time: 1414263501 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.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_SC0_MV0613 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10912 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.00 BSF_SC0_MV0613 BSF_SC0_MV0613 Stan Hoeppner said: > How can I disable or change the filestreams behavior so all files go > into the one AG for the single directory test? Hi Stan, Instead of mounting with -o filestreams, would using the chattr flag instead help? See http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html Regards, Richard From stan@hardwarefreak.com Sat Oct 25 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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 4F73E7F77 for ; Sat, 25 Oct 2014 14:30:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1ED4AC004 for ; Sat, 25 Oct 2014 12:30:39 -0700 (PDT) X-ASG-Debug-ID: 1414265435-04bdf038d03e4250001-ps1ADW Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id GiHn3TeH3FtpuWSq for ; Sat, 25 Oct 2014 12:30:35 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 27B6E6C0A6; Sat, 25 Oct 2014 14:30:35 -0500 (CDT) Message-ID: <544BFA7A.2070504@hardwarefreak.com> Date: Sat, 25 Oct 2014 14:31:06 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Peter Grandi , Linux fs XFS Subject: Re: Problem about very high Average Read/Write Request Time References: <20141018143848.3baf3266@galadriel.home> <21571.36364.518119.806191@tree.ty.sabi.co.uk> <5444C122.4080104@fastmail.fm> <21574.42382.795064.152229@tree.ty.sabi.co.uk> <54492AD5.3040704@fastmail.fm> <21577.24715.712978.617220@tree.ty.sabi.co.uk> <20141024214525.GA4317@dastard> <21579.33469.878654.99125@tree.ty.sabi.co.uk> X-ASG-Orig-Subj: Re: Problem about very high Average Read/Write Request Time In-Reply-To: <21579.33469.878654.99125@tree.ty.sabi.co.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1414265435 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 10/25/2014 06:00 AM, Peter Grandi wrote: ... > Another poster went far further in guesswork, and stated what I > was describing as guesses instead as obvious facts: > > http://oss.sgi.com/archives/xfs/2014-10/msg00337.html > > As others mentioned this isn't an XFS problem. The problem is that > > your RAID geometry doesn't match your workload. Your very wide > > parity stripe is apparently causing excessive seeking with your > > read+write workload due to read-modify-write operations. When a parity array's throughput drops 2 orders of magnitude, from ~1.5 GB/s to 100 MB/s, RMW is historically the most likely cause, especially with such a wide stripe. So yes, this is a guess, but an educated one. > and went on to make a whole discussion wholly unrelated to XFS > based on that: > > > To mitigate this, and to increase resiliency, you should > > switch to RAID6 with a smaller chunk. If you need maximum > > capacity make a single RAID6 array with 16 KiB chunk size. > > This will yield a 496 KiB stripe width, increasing the odds > > that all writes are a full stripe, and hopefully eliminating > > much of the RMW problem. > > > A better option might be making three 10 drive RAID6 arrays > > (two spares) with 32 KiB chunk, 256 KiB stripe width, and > > concatenating the 3 arrays with mdadm --linear. XFS is a layer of the Linux IO stack, and none of these layers exist in isolation. If someone using XFS has a problem and it may not be XFS specific, we're still going to lend assistance where we can. > The above assumptions and offtopic suggestions have been > unquestioned; by myself too, even if I disagree with some of the > recommendations, also as I think them premature because we don't > know what the requirements really are beyond what can be guessed > from «the reported information». That's also why I suggested to > continue the discussion on the Linux RAID list. If you haven't noticed Peter, the Chinese guys seem to post once and never come back. I don't know if this is a cultural thing or other, but that's the way they seem to operate. There is rarely interaction with them, no follow ups, no additional information provided. So I tend to give them many ideas on the obvious path to work with in my reply, after asking for additional information, which will likely never arrive. Moving the thread to linux-raid wouldn't help. And I'm sure you know Dave didn't come down on you due to the guesswork in your posts, but because of your delivery style, and attitude and behavior towards others. It seems the latter prompted his critique of the former. Cheers, Stan From stan@hardwarefreak.com Sat Oct 25 16:26: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E36477F3F for ; Sat, 25 Oct 2014 16:26:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C31D08F8049 for ; Sat, 25 Oct 2014 14:26:25 -0700 (PDT) X-ASG-Debug-ID: 1414272383-04cbb070c52e72c0001-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 A8bIq7Y2v6Qvtzri for ; Sat, 25 Oct 2014 14:26:25 -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 [134.64.128.163] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 2E49D6C0A6; Sat, 25 Oct 2014 16:26:23 -0500 (CDT) Message-ID: <544C159E.8010408@hardwarefreak.com> Date: Sat, 25 Oct 2014 16:26:54 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Richard Scobie , xfs@oss.sgi.com Subject: Re: file streams allocator behavior References: <544BF26F.6000708@clear.net.nz> X-ASG-Orig-Subj: Re: file streams allocator behavior In-Reply-To: <544BF26F.6000708@clear.net.nz> 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: 1414272384 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 10/25/2014 01:56 PM, Richard Scobie wrote: > Stan Hoeppner said: > >> How can I disable or change the filestreams behavior so all files go >> into the one AG for the single directory test? > > Hi Stan, > > Instead of mounting with -o filestreams, would using the chattr flag > instead help? > > See > http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html That won't help. That turns it on (if it's not enabled by default these days). I need to turn off the behavior I'm seeing, whether it's due to the filestreams allocator or default inode64. Then again it may not be possible to turn it off... Anyone have other ideas on how to accomplish my goal? Parallel writes to a single AG on the outer platter edge vs the same to all AGs across the entire platter? I'm simply trying to demonstrate the differences in aggregate bandwidth due to the extra seek latency of all AGs case. Thanks, Stan From debbugs@buxtehude.debian.org Sat Oct 25 19:51: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CF1407F4E for ; Sat, 25 Oct 2014 19:51:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id AD35C8F8039 for ; Sat, 25 Oct 2014 17:51:30 -0700 (PDT) X-ASG-Debug-ID: 1414284688-04cb6c2ef930f7f0001-NocioJ Received: from buxtehude.debian.org (buxtehude.debian.org [140.211.166.26]) by cuda.sgi.com with ESMTP id E20F9tzJiavV7RcR (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Sat, 25 Oct 2014 17:51:28 -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 1XiC3H-0007Tg-JX; Sun, 26 Oct 2014 00:51:23 +0000 X-Loop: owner@bugs.debian.org Subject: Bug#766811: spurious library links Reply-To: Marco d'Itri , 766811@bugs.debian.org X-ASG-Orig-Subj: Bug#766811: spurious library links Resent-From: Marco d'Itri Resent-To: debian-bugs-dist@lists.debian.org Resent-Cc: md@linux.it, XFS Development Team X-Loop: owner@bugs.debian.org Resent-Date: Sun, 26 Oct 2014 00:51:18 +0000 Resent-Message-ID: X-Debian-PR-Message: report 766811 X-Debian-PR-Package: xfslibs-dev X-Debian-PR-Keywords: X-Debian-PR-Source: xfsprogs Received: via spool by submit@bugs.debian.org id=B.141428452927228 (code B); Sun, 26 Oct 2014 00:51:18 +0000 Received: (at submit) by bugs.debian.org; 26 Oct 2014 00:48:49 +0000 Received: from attila.bofh.it ([85.94.204.146] ident=postfix) by buxtehude.debian.org with esmtp (Exim 4.80) (envelope-from ) id 1XiC0n-000744-4E for submit@bugs.debian.org; Sun, 26 Oct 2014 00:48:49 +0000 Received: by attila.bofh.it (Postfix, from userid 10) id 166B82E384; Sun, 26 Oct 2014 02:48:46 +0200 (CEST) Received: by bongo.bofh.it (Postfix, from userid 1000) id 762652C26AC; Sun, 26 Oct 2014 02:48:25 +0200 (CEST) Date: Sun, 26 Oct 2014 02:48:25 +0200 From: Marco d'Itri To: Debian Bug Tracking System Message-ID: <20141026004825.GA27863@bongo.bofh.it> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="T4sUOijqQbZv57TR" Content-Disposition: inline X-Reportbug-Version: 6.5.1 User-Agent: Mutt/1.5.23 (2014-03-12) Delivered-To: submit@bugs.debian.org X-Barracuda-Connect: buxtehude.debian.org[140.211.166.26] X-Barracuda-Start-Time: 1414284688 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= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10918 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Package: xfslibs-dev Version: 3.2.1 Severity: normal These links do not appear to have any purpose and should be removed: /lib/libhandle.a -> /usr/lib/libhandle.a /lib/libhandle.la -> /usr/lib/libhandle.la /usr/lib/libhandle.so -> /lib/libhandle.so Also, policy forbids to thip the .la files at all for normal libraries. --=20 ciao, Marco --T4sUOijqQbZv57TR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQGcBAEBCAAGBQJUTETZAAoJECv1pcEixPekDUAL/1ZETnJTeLt6DTKimbHXxsJW gXC5vyI9/x50gPeGZM0QZDeoOqXkmn2NHww24ljtlar7SjyyKcsHVvWQ3e6h2GoW vrfTfpAmsFNlx9QqolFiiLFExJbPVUFLTuINWTzDIPR+UjMlz3k0H1x5adrRbmmX 7KfscCiEVBbo+QSdFFVd3oiBriwsBLPhLxIEVwBOvBKzG5Vx+SIfPIcbS1VMMi3L 895Xj2cq4ZCOMb7bCOFybRUm6lpzK9y5gvkW7JyF56KHCr+wzXqy+NXmv6IbyoA5 G63gITsd9lwZ+f3kTYAFgZvirSVKt30deotZTmo0L8uFjMfvN4RcaeH7JP9pN37k xgKoHeJRYPfI/scpQqNVBrGhrNke9FSbBpZt0qKBUg7NBuuncy4c1c8OUWCxehP5 iVzkTCMHzii1BtqjqiVhuwj6LZTj2hR170O1Sw2uRVFO++YVpyaQWt+zYSZkEptZ 5qQ3RGngc5ddu1V9SxTldZR0RoB/KvGruCzecNewBw== =1jn8 -----END PGP SIGNATURE----- --T4sUOijqQbZv57TR-- From root@krios.tbi.univie.ac.at Sun Oct 26 00:25: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 741247F37 for ; Sun, 26 Oct 2014 00:25:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6234A8F804B for ; Sat, 25 Oct 2014 22:25:10 -0700 (PDT) X-ASG-Debug-ID: 1414301105-04cbb070c52f54a0001-NocioJ Received: from krios.tbi.univie.ac.at (krios.tbi.univie.ac.at [131.130.44.60]) by cuda.sgi.com with ESMTP id 3opdOQ3ey3PqRf5Y for ; Sat, 25 Oct 2014 22:25:05 -0700 (PDT) X-Barracuda-Envelope-From: root@krios.tbi.univie.ac.at X-Barracuda-Apparent-Source-IP: 131.130.44.60 Received: by krios.tbi.univie.ac.at (Postfix) id 48F3E5EC7E; Sun, 26 Oct 2014 06:25:03 +0100 (CET) Delivered-To: root@krios.tbi.univie.ac.at Received: by krios.tbi.univie.ac.at (Postfix, from userid 0) id 38DEC5F268; Sun, 26 Oct 2014 06:25:03 +0100 (CET) From: root@krios.tbi.univie.ac.at (Cron Daemon) To: root@krios.tbi.univie.ac.at Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: Message-Id: <20141026052503.38DEC5F268@krios.tbi.univie.ac.at> Date: Sun, 26 Oct 2014 06:25:03 +0100 (CET) X-Barracuda-Connect: krios.tbi.univie.ac.at[131.130.44.60] X-Barracuda-Start-Time: 1414301105 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.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_MISMATCH_TO, BSF_SC0_SA_TO_FROM_ADDR_MATCH, PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10922 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) 0.50 BSF_SC0_SA_TO_FROM_ADDR_MATCH Sender Address Matches Recipient Address /etc/cron.daily/logrotate: error: error opening /home/git/gitlab/log/application.log: Permission denied error: error opening /home/git/gitlab/log/githost.log: Permission denied error: error opening /home/git/gitlab/log/production.log: Permission denied error: error opening /home/git/gitlab/log/satellites.log: Permission denied error: error opening /home/git/gitlab/log/sidekiq.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stderr.log: Permission denied error: error opening /home/git/gitlab/log/unicorn.stdout.log: Permission denied error: error opening /home/git/gitlab-shell/gitlab-shell.log: Permission denied run-parts: /etc/cron.daily/logrotate exited with return code 1 From bfoster@redhat.com Sun Oct 26 09:26: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E73B57F4E for ; Sun, 26 Oct 2014 09:26:13 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C6A6C8F8033 for ; Sun, 26 Oct 2014 07:26:10 -0700 (PDT) X-ASG-Debug-ID: 1414333569-04bdf038cf4320b0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 1njxEsmtZTPumNLM (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 26 Oct 2014 07:26:09 -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 s9QEQ3pV028793 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 26 Oct 2014 10:26:03 -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 s9QEQ26m032337; Sun, 26 Oct 2014 10:26:03 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id A74F21204CA; Sun, 26 Oct 2014 10:26:01 -0400 (EDT) Date: Sun, 26 Oct 2014 10:26:01 -0400 From: Brian Foster To: Stan Hoeppner Cc: Richard Scobie , xfs@oss.sgi.com Subject: Re: file streams allocator behavior Message-ID: <20141026142559.GA61711@bfoster.bfoster> X-ASG-Orig-Subj: Re: file streams allocator behavior References: <544BF26F.6000708@clear.net.nz> <544C159E.8010408@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544C159E.8010408@hardwarefreak.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: 1414333569 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 Sat, Oct 25, 2014 at 04:26:54PM -0500, Stan Hoeppner wrote: > On 10/25/2014 01:56 PM, Richard Scobie wrote: > > Stan Hoeppner said: > > > >> How can I disable or change the filestreams behavior so all files go > >> into the one AG for the single directory test? > > > > Hi Stan, > > > > Instead of mounting with -o filestreams, would using the chattr flag > > instead help? > > > > See > > http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html > > That won't help. That turns it on (if it's not enabled by default these > days). I need to turn off the behavior I'm seeing, whether it's due to > the filestreams allocator or default inode64. Then again it may not be > possible to turn it off... > > Anyone have other ideas on how to accomplish my goal? Parallel writes > to a single AG on the outer platter edge vs the same to all AGs across > the entire platter? I'm simply trying to demonstrate the differences in > aggregate bandwidth due to the extra seek latency of all AGs case. > What about just preallocating the files? Obviously this removes block allocation contention from your experiment, but it's not clear if that's relevant to your test. If I create a smaller, but analogous fs to yours, I seem to get this behavior from just doing an fallocate of each file in advance. E.g., Create directory 0, fallocate 44 files all of which end up in AG 0. Create directory 1, fallocate 44 files which end up in AG 1, etc. >From there you can do direct I/O overwrites to 44 files across each AG or 44 files in any single AG. Brian > Thanks, > Stan > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From stan@hardwarefreak.com Sun Oct 26 12:26: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 D58A97F4E for ; Sun, 26 Oct 2014 12:26:35 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 64C9AAC002 for ; Sun, 26 Oct 2014 10:26:32 -0700 (PDT) X-ASG-Debug-ID: 1414344387-04cbb070c53b6160001-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 lGfgdCyGhGM8AIS5 for ; Sun, 26 Oct 2014 10:26:28 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 0ECBF6C102; Sun, 26 Oct 2014 12:26:27 -0500 (CDT) Message-ID: <544D2EE1.3080304@hardwarefreak.com> Date: Sun, 26 Oct 2014 12:26:57 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Brian Foster CC: Richard Scobie , xfs@oss.sgi.com Subject: Re: file streams allocator behavior References: <544BF26F.6000708@clear.net.nz> <544C159E.8010408@hardwarefreak.com> <20141026142559.GA61711@bfoster.bfoster> X-ASG-Orig-Subj: Re: file streams allocator behavior In-Reply-To: <20141026142559.GA61711@bfoster.bfoster> 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: 1414344387 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 10/26/2014 09:26 AM, Brian Foster wrote: > On Sat, Oct 25, 2014 at 04:26:54PM -0500, Stan Hoeppner wrote: >> On 10/25/2014 01:56 PM, Richard Scobie wrote: >>> Stan Hoeppner said: >>> >>>> How can I disable or change the filestreams behavior so all files go >>>> into the one AG for the single directory test? >>> >>> Hi Stan, >>> >>> Instead of mounting with -o filestreams, would using the chattr flag >>> instead help? >>> >>> See >>> http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html >> >> That won't help. That turns it on (if it's not enabled by default these >> days). I need to turn off the behavior I'm seeing, whether it's due to >> the filestreams allocator or default inode64. Then again it may not be >> possible to turn it off... >> >> Anyone have other ideas on how to accomplish my goal? Parallel writes >> to a single AG on the outer platter edge vs the same to all AGs across >> the entire platter? I'm simply trying to demonstrate the differences in >> aggregate bandwidth due to the extra seek latency of all AGs case. >> > > What about just preallocating the files? Obviously this removes block > allocation contention from your experiment, but it's not clear if that's > relevant to your test. If I create a smaller, but analogous fs to yours, > I seem to get this behavior from just doing an fallocate of each file in > advance. > > E.g., Create directory 0, fallocate 44 files all of which end up in AG > 0. Create directory 1, fallocate 44 files which end up in AG 1, etc. > From there you can do direct I/O overwrites to 44 files across each AG > or 44 files in any single AG. I figured preallocating would get me what I want but I've never used fallocate, nor dd into fallocated files. Is there anything special required here with dd, or can I simply specify the filename to dd, and make sure bs + count doesn't go beyond EOF? Thanks, Stan From bfoster@redhat.com Sun Oct 26 17:18: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 8C7FC7F4E for ; Sun, 26 Oct 2014 17:18:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4B293304048 for ; Sun, 26 Oct 2014 15:18:50 -0700 (PDT) X-ASG-Debug-ID: 1414361925-04bdf038d1468860001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 5SnwDmnnBpapLSWt (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 26 Oct 2014 15:18: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-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 s9QMIEG5010962 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 26 Oct 2014 18:18:14 -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 s9QMID7F025346; Sun, 26 Oct 2014 18:18:13 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id C32541204CA; Sun, 26 Oct 2014 18:18:11 -0400 (EDT) Date: Sun, 26 Oct 2014 18:18:11 -0400 From: Brian Foster To: Stan Hoeppner Cc: Richard Scobie , xfs@oss.sgi.com Subject: Re: file streams allocator behavior Message-ID: <20141026221811.GA13113@bfoster.bfoster> X-ASG-Orig-Subj: Re: file streams allocator behavior References: <544BF26F.6000708@clear.net.nz> <544C159E.8010408@hardwarefreak.com> <20141026142559.GA61711@bfoster.bfoster> <544D2EE1.3080304@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544D2EE1.3080304@hardwarefreak.com> 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: 1414361925 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 Sun, Oct 26, 2014 at 12:26:57PM -0500, Stan Hoeppner wrote: > > > On 10/26/2014 09:26 AM, Brian Foster wrote: > > On Sat, Oct 25, 2014 at 04:26:54PM -0500, Stan Hoeppner wrote: > >> On 10/25/2014 01:56 PM, Richard Scobie wrote: > >>> Stan Hoeppner said: > >>> > >>>> How can I disable or change the filestreams behavior so all files go > >>>> into the one AG for the single directory test? > >>> > >>> Hi Stan, > >>> > >>> Instead of mounting with -o filestreams, would using the chattr flag > >>> instead help? > >>> > >>> See > >>> http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html > >> > >> That won't help. That turns it on (if it's not enabled by default these > >> days). I need to turn off the behavior I'm seeing, whether it's due to > >> the filestreams allocator or default inode64. Then again it may not be > >> possible to turn it off... > >> > >> Anyone have other ideas on how to accomplish my goal? Parallel writes > >> to a single AG on the outer platter edge vs the same to all AGs across > >> the entire platter? I'm simply trying to demonstrate the differences in > >> aggregate bandwidth due to the extra seek latency of all AGs case. > >> > > > > What about just preallocating the files? Obviously this removes block > > allocation contention from your experiment, but it's not clear if that's > > relevant to your test. If I create a smaller, but analogous fs to yours, > > I seem to get this behavior from just doing an fallocate of each file in > > advance. > > > > E.g., Create directory 0, fallocate 44 files all of which end up in AG > > 0. Create directory 1, fallocate 44 files which end up in AG 1, etc. > > From there you can do direct I/O overwrites to 44 files across each AG > > or 44 files in any single AG. > > I figured preallocating would get me what I want but I've never used > fallocate, nor dd into fallocated files. Is there anything special > required here with dd, or can I simply specify the filename to dd, and > make sure bs + count doesn't go beyond EOF? > Ah, yeah. dd will truncate the file by default iirc, which would free the preallocated blocks and start from scratch. Specify 'conv=notrunc' as part of the command line to get around that. Brian > Thanks, > Stan > From david@fromorbit.com Sun Oct 26 18:43: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 8332A7F4E for ; Sun, 26 Oct 2014 18:43:34 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 463D9304032 for ; Sun, 26 Oct 2014 16:43:31 -0700 (PDT) X-ASG-Debug-ID: 1414367008-04bdf038d2469c20001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 6s0cVtVBysl8E6Yo for ; Sun, 26 Oct 2014 16:43: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: ArQ8AOWFTVR5LabzPGdsb2JhbABcgw6BLIc9sU8GlUeFagQCAoEMFwEGAQEBATg7hAIBAQEDATocIwULCAMYCSUPBSUDBxoTiDgIx2IBAQgCIBiGHIQ8hhgHgy2BHgWdYIEykH2IDCkvgksBAQE Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 27 Oct 2014 10:13:27 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XiXT3-00047p-60; Mon, 27 Oct 2014 10:43:25 +1100 Date: Mon, 27 Oct 2014 10:43:25 +1100 From: Dave Chinner To: Stan Hoeppner Cc: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue Message-ID: <20141026234325.GB6880@dastard> X-ASG-Orig-Subj: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> <544BC6FA.8090101@sandeen.net> <544BDF55.9040804@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544BDF55.9040804@hardwarefreak.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: 1414367008 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.10946 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, Oct 25, 2014 at 12:35:17PM -0500, Stan Hoeppner wrote: > If the same interface is used for Linux logical block devices (md, dm, > lvm, etc) and hardware RAID, I have a hunch it may be better to > determine that, if possible, before doing anything with these values. > As you said previously, and I agree 100%, a lot of RAID vendors don't > export meaningful information here. In this specific case, I think the > RAID engineers are exporting a value, 1 MB, that works best for their > cache management, or some other path in their firmware. They're > concerned with host interface xfer into the controller, not the IOs on > the back end to the disks. They don't see this as an end-to-end deal. > In fact, I'd guess most of these folks see their device as performing > magic, and it doesn't matter what comes in or goes out either end. > "We'll take care of it." Deja vu. This is an isochronous RAID array you are having trouble with, isn't it? FWIW, do your problems go away when you make you hardware LUN width a multiple of the cache segment size? > optimal_io_size. I'm guessing this has different meaning for different > folks. You say optimal_io_size is the same as RAID width. Apply that > to this case: > > hardware RAID 60 LUN, 4 arrays > 16+2 RAID6, 256 KB stripe unit, 4096 KB stripe width > 16 MB LUN stripe width > optimal_io_size = 16 MB > > Is that an appropriate value for optimal_io_size even if this is the > RAID width? I'm not saying it isn't. I don't know. I don't know what > other layers of the Linux and RAID firmware stacks are affected by this, > nor how they're affected. yup, i'd expect minimum = 4MB (i.e stripe unit 4MB so we align to the underlying RAID6 luns) and optimal = 16MB for the stripe width (and so with swalloc we align to the first lun in the RAID0). This should be passed up unchanged through the stack if none of the software layers are doing other geometry modifications (e.g. more raid, thinp, etc). Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 26 18:56: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 4AFE77F4E for ; Sun, 26 Oct 2014 18:56:33 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BEA2FAC001 for ; Sun, 26 Oct 2014 16:56:29 -0700 (PDT) X-ASG-Debug-ID: 1414367786-04cbb070c73c6030001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id wl6SHkp4WKN1R0Hy for ; Sun, 26 Oct 2014 16:56: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: AlRPAKOJTVR5LabzPGdsb2JhbABUCIMOgSyCNoUHsU0BAQaVR4VqBAICgQwXAQYBAQEBODuEAwEBBDocIxAIAxgJJQ8FJQMHGhOIQMd9AQEBAQYCAR8YhhyJflYHgy2BHgWdYJo7KS+CSwEBAQ Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 27 Oct 2014 10:26:25 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XiXfc-00049C-DK; Mon, 27 Oct 2014 10:56:24 +1100 Date: Mon, 27 Oct 2014 10:56:24 +1100 From: Dave Chinner To: Stan Hoeppner Cc: xfs@oss.sgi.com Subject: Re: file streams allocator behavior Message-ID: <20141026235624.GC6880@dastard> X-ASG-Orig-Subj: Re: file streams allocator behavior References: <544BE820.6040905@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544BE820.6040905@hardwarefreak.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: 1414367786 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.10947 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, Oct 25, 2014 at 01:12:48PM -0500, Stan Hoeppner wrote: > I recall reading a while back something about disabling the filestreams > allocator, or at least changing its behavior, but I'm unable to find that. > > What I'm trying to do is use parallel dd w/O_DIRECT to write 44 files in > parallel to 44 directories, thus all 44 AGs, in one test, then write 44 > files to one dir, one AG, in another test. The purpose of this > quick/dirty exercise is to demonstrate throughput differences due to > full platter seeking in the former case and localized seeking in the > latter case. > > But of course the problem I'm running into in the single directory case > is that the filestreams allocator starts writing all of the 44 files > into the appropriate AG, but then begins allocating extents for each > file in other AGs. This is of course defeating the purpose of the tests. That's caused by allocator contention. When you try to write 44 files to the same dir in parallel, they'll all start with the same target AG, but then when one thread is allocating into AG 43 and has the AG locked, a second attempt to allocate to than AG will see the AG locked and so it will move to find the next AG that is not locked. Remember, AGs were not originally designed for confining physical locality - they are designed to allow allocator parallelism. Hence once the file has jumped to a new AG it will try to allocate sequentially from that point onwards in that same AG, until either ENOSPC or further contention. Hence with a workload like this, if the writes continue for long enough each file will end up finding it's own uncontended AG and hence mostly end up contiguous on disk and not getting blocked waiting for allocation on other files. When you have as many writers as there are AGs, however, such a steady state is generally not possible as there will always be files trying to write into the same AG. As it is, filestreams is not designed for this sort of parallel workload. filestreams is designed to separate single threaded streams of IO into different locations, not handle concurrent writes into multiple files in the same directory. As it is, the inode64 will probably demonstrate exactly the same behaviour because it will start by trying to write all the files to the same AG and hence hit allocator contention, too. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Oct 26 20:04: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 A31C97F4E for ; Sun, 26 Oct 2014 20:04:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 91272304032 for ; Sun, 26 Oct 2014 18:04:27 -0700 (PDT) X-ASG-Debug-ID: 1414371865-04cbb070c73c7190001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id bYGYcxVPMPJSof1e for ; Sun, 26 Oct 2014 18:04:25 -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: AsZ1AKGYTVR5LabzPGdsb2JhbABcgw6BLII2hQexTwEBBpVHhWoCAgEBAoEMFwEGAQEBATg7hAIBAQEEJxMcIxAIAw4DAwECAQklDwUlAwcMDhOIQMgqAQEBAQEBBAEBAQEBARwYhhyJcGQHgy2BHgEEnWCBMos5hUSGNIFYKS+BBoFFAQEB Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 27 Oct 2014 11:34:24 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XiYjO-0004IC-A6; Mon, 27 Oct 2014 12:04:22 +1100 Date: Mon, 27 Oct 2014 12:04:22 +1100 From: Dave Chinner To: Jan Kara Cc: Fengguang Wu , Theodore Ts'o , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Subject: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Message-ID: <20141027010422.GA16186@dastard> X-ASG-Orig-Subj: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() References: <20141016100913.GA8140@wfg-t540p.sh.intel.com> <20141016110127.GD6085@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141016110127.GD6085@quack.suse.cz> 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: 1414371865 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.10948 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 16, 2014 at 01:01:27PM +0200, Jan Kara wrote: > From de3426d6495f4b44b14c09b7c7202e9a86d864b9 Mon Sep 17 00:00:00 2001 > From: Jan Kara > Date: Thu, 16 Oct 2014 12:58:42 +0200 > Subject: [PATCH] mm: Remove false WARN_ON from pagecache_isize_extended() > > The WARN_ON checking whether i_mutex is held in > pagecache_isize_extended() was wrong because some filesystems (e.g. > XFS) use different locks for serialization of truncates / writes. So > just remove the check. > > Signed-off-by: Jan Kara > --- > mm/truncate.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/mm/truncate.c b/mm/truncate.c > index 261eaf6e5a19..c646084e5eec 100644 > --- a/mm/truncate.c > +++ b/mm/truncate.c > @@ -755,7 +755,6 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) > struct page *page; > pgoff_t index; > > - WARN_ON(!mutex_is_locked(&inode->i_mutex)); > WARN_ON(to > inode->i_size); > > if (from >= to || bsize == PAGE_CACHE_SIZE) Jan, Have you sent this patch upstream yet? I'm seeing it fire in my testing in 3.18-rc1 kernels, so I was wondering what your plans are for this... Cheers, Dave. -- Dave Chinner david@fromorbit.com From mlsemon35@gmail.com Sun Oct 26 22:03: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 98EA07F4E for ; Sun, 26 Oct 2014 22:03:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 28530AC002 for ; Sun, 26 Oct 2014 20:03:15 -0700 (PDT) X-ASG-Debug-ID: 1414378990-04cbb070c53c8e10001-NocioJ Received: from mail-qc0-f170.google.com (mail-qc0-f170.google.com [209.85.216.170]) by cuda.sgi.com with ESMTP id KWuQ2Lobm4hlDZBn (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 26 Oct 2014 20:03:10 -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 l6so3184299qcy.1 for ; Sun, 26 Oct 2014 20:03:10 -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:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=g/dsU/FzxXJUVWQiZQ9FZRPzxpczRC9b6m3mO7dBlog=; b=deWzavp7Mg7bdy6IQw3AkGWZ/gf7u6Bkl40vI3r1JNEXBYHtp3wsLnJXCWG5rzdY0Y re8vpHMukN1cGEwF62wlM3qdrRuUQEYkvsfbrvnhxoD0pljUx28/fOl/0senPCmnYKqW SOXPJnLB8/ykQyNRhukIWciiL9ddJj8kSkv6GPc4sKx9cdSzEPZyXoOK2Xkv9HLAhwau HTo410ppTw3X+0/kZ1ERgOo6PdikiRAcdguV35hbGmi+2ixB5eMPD4JTvumm35MA4lxH XDA6nNSQh/6pu+/wYt7AYzNLqz73Ipvy+ZhgiWUam1IHn7kNpKPPN+3zLyzyQZIzpzKF /uVg== X-Received: by 10.229.86.194 with SMTP id t2mr28831165qcl.20.1414378990033; Sun, 26 Oct 2014 20:03:10 -0700 (PDT) Received: from yholen.ds (rrcs-97-76-23-49.se.biz.rr.com. [97.76.23.49]) by mx.google.com with ESMTPSA id w9sm10251420qaw.9.2014.10.26.20.03.09 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Oct 2014 20:03:09 -0700 (PDT) Message-ID: <544DB5DA.4000103@gmail.com> Date: Sun, 26 Oct 2014 23:02:50 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Eric Sandeen , xfs Subject: Re: xfsdump not work in 3.17 References: <543F3C9A.4060603@sandeen.net> <5447BC4C.3050408@gmail.com> <544B4BB3.5030009@gmail.com> X-ASG-Orig-Subj: Re: xfsdump not work in 3.17 In-Reply-To: <544B4BB3.5030009@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qc0-f170.google.com[209.85.216.170] X-Barracuda-Start-Time: 1414378990 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.10950 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 OK, I don't know what I did. I reconstructed my v5/finobt / from backup and tried to get xfsdump to fail. It worked fine, so I crashed the PC by letting xfstests run to xfs/014 (schedule() issue). xfsdump still worked. So I ran xfs_repair and xfs_fsr on the filesystem. xfsdump still worked. Thanks for reading! Michael From mlsemon35@gmail.com Sun Oct 26 22:21: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 40C2F7F4E for ; Sun, 26 Oct 2014 22:21:08 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id CCFA7AC003 for ; Sun, 26 Oct 2014 20:21:07 -0700 (PDT) X-ASG-Debug-ID: 1414380065-04bdf038d046d4e0001-NocioJ Received: from mail-qg0-f41.google.com (mail-qg0-f41.google.com [209.85.192.41]) by cuda.sgi.com with ESMTP id 69uejaYZ6zqtLTqA (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 26 Oct 2014 20:21:06 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.41 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] Received: by mail-qg0-f41.google.com with SMTP id q107so1134741qgd.28 for ; Sun, 26 Oct 2014 20:21:05 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.41] 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=CeGnKEaHR/xMcD95YF41/+9W7gxw+5CRU1bscpUALvg=; b=Kgo+p0Sbfktj4d5iVMmsAjhChKOmdPrTCMVnvLclNelNOqNmIoFvX/xR9/H7JayTBM LTxkrGwBuYRAgXDk2ADRoX9qnL8maZLQ9Yz9jK3+83ItfKvKTCBa+ggXl/powisvhXUW yuT3hCmQMPEqflO0eYHNZqthSRTUpWatnR0CJ9rBCqJIP0z7Gbdww3Awb4Jxkw5Lox6O PxIiZRJWfqgIkVwblfyYRJ7Ezljbp+StJ1CLs0m9rujcm7i9sjfPIVsr04lewXDMSCL5 rYmD3YtR6uFzFP/gslPNEbzf60DZ3dYwuUVNsHnEGbjtekcZwhEwg6cqZ1n0Vxq8LJ+N zgFQ== X-Received: by 10.140.109.102 with SMTP id k93mr7484164qgf.83.1414380065602; Sun, 26 Oct 2014 20:21:05 -0700 (PDT) Received: from yholen.ds (rrcs-97-76-23-49.se.biz.rr.com. [97.76.23.49]) by mx.google.com with ESMTPSA id 107sm10188821qgi.19.2014.10.26.20.21.05 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Oct 2014 20:21:05 -0700 (PDT) Message-ID: <544DBA20.5040206@gmail.com> Date: Sun, 26 Oct 2014 23:21:04 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: xfs_setattr_size is mid-stack during log-flooding stack traces Content-Type: text/plain; charset=utf-8; format=flowed X-ASG-Orig-Subj: xfs_setattr_size is mid-stack during log-flooding stack traces Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f41.google.com[209.85.192.41] X-Barracuda-Start-Time: 1414380066 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.10950 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 was having fantastic luck with v5/finobt XFS and kernel 3.18.0-rc1, so I decided to disable quota support and debug support in XFS... [ 0.000000] Linux version 3.18.0-rc1+ (root@kyhorse) (gcc version 4.8.3 (GCC) ) #5 SMP Sun Oct 26 14:43:09 EDT 2014 # i686 Pentium 4, BTW. [ 0.857655] SGI XFS with ACLs, security attributes, no debug enabled Some other debug items were shut off as well. Now, my logs are getting pelted with items that look like this (first trace, on boot): [ 14.549583] XFS (sda1): Mounting V5 Filesystem [ 14.810908] XFS (sda1): Ending clean mount [ 14.826918] mount (155) used greatest stack depth: 6056 bytes left [ 15.139152] rc.S (64) used greatest stack depth: 5948 bytes left [ 29.443780] ------------[ cut here ]------------ [ 29.443801] WARNING: CPU: 0 PID: 387 at mm/truncate.c:758 pagecache_isize_extended+0x124/0x129() [ 29.443809] CPU: 0 PID: 387 Comm: gtk-query-immod Not tainted 3.18.0-rc1+ #5 [ 29.443813] Hardware name: Gateway E-2000 /D845GRG , BIOS RG84510A.15A.0009.P03.020 [ 29.443817] 00000000 00000000 ee1e9e20 c144939c 00000000 ee1e9e50 c1031b03 c154f66c [ 29.443828] 00000000 00000183 c1553739 000002f6 c1098458 c1098458 e849ed54 00000000 [ 29.443838] 00001000 ee1e9e60 c1031bb8 00000009 00000000 ee1e9e98 c1098458 efd69100 [ 29.443848] Call Trace: [ 29.443858] [] dump_stack+0x41/0x52 [ 29.443867] [] warn_slowpath_common+0x6f/0x86 [ 29.443873] [] ? pagecache_isize_extended+0x124/0x129 [ 29.443878] [] ? pagecache_isize_extended+0x124/0x129 [ 29.443884] [] warn_slowpath_null+0x1d/0x1f [ 29.443889] [] pagecache_isize_extended+0x124/0x129 [ 29.443895] [] truncate_setsize+0x37/0x50 [ 29.443902] [] xfs_setattr_size+0x13d/0x3d6 [ 29.443909] [] ? __xfs_get_blocks+0x5ff/0x5ff [ 29.443916] [] xfs_file_fallocate+0x2fe/0x340 [ 29.443922] [] ? kmemleak_free+0x20/0x43 [ 29.443931] [] ? kmem_cache_free+0x76/0xc4 [ 29.443938] [] do_fallocate+0x111/0x18a [ 29.443943] [] SyS_fallocate+0x50/0x70 [ 29.443950] [] syscall_call+0x7/0x7 [ 29.443954] ---[ end trace 281f0f955c16f86c ]--- In an xfstests run, it seemed to start with generic/012 and hit a great many tests after that. The actual BUG_ON is somewhere in mm/truncate.c, though... WARN_ON(!mutex_is_locked(&inode->i_mutex)); Is this an XFS issue at all? Or is there some kind of extra precaution that has to be taken on the XFS side? Feel free to toss me over to mm to ask, "What is this?" Thanks! Michael From sandeen@sandeen.net Mon Oct 27 00:06: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=HTML_MESSAGE,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 B3C667F4E for ; Mon, 27 Oct 2014 00:06:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8474F8F8035 for ; Sun, 26 Oct 2014 22:06:43 -0700 (PDT) X-ASG-Debug-ID: 1414386398-04bdf038d146edb0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id DA3CuWpBJwBbsWR6 for ; Sun, 26 Oct 2014 22:06:38 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from [10.0.0.77] (eric-iphone.sandeen.net [10.0.0.77]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 060926123428; Mon, 27 Oct 2014 00:06:37 -0500 (CDT) References: <544DBA20.5040206@gmail.com> Mime-Version: 1.0 (1.0) In-Reply-To: <544DBA20.5040206@gmail.com> Content-Type: multipart/alternative; boundary=Apple-Mail-8523212C-B8D5-4963-80DD-DA969287C274 Content-Transfer-Encoding: 7bit Message-Id: <310E5304-F3A5-44D4-AB50-2EF041C40949@sandeen.net> Cc: "xfs@oss.sgi.com" X-Mailer: iPhone Mail (11D257) From: Eric Sandeen Subject: Re: xfs_setattr_size is mid-stack during log-flooding stack traces Date: Mon, 27 Oct 2014 00:06:35 -0500 X-ASG-Orig-Subj: Re: xfs_setattr_size is mid-stack during log-flooding stack traces To: "Michael L. Semon" X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414386398 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.82 X-Barracuda-Spam-Status: No, SCORE=0.82 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, HTML_MESSAGE, MAILTO_TO_SPAM_ADDR, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10952 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 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars --Apple-Mail-8523212C-B8D5-4963-80DD-DA969287C274 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable See "[vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_ex= tended+0xdd/0x120()" sent earlier today. -Eric > On Oct 26, 2014, at 10:21 PM, "Michael L. Semon" wro= te: >=20 > Hi! I was having fantastic luck with v5/finobt XFS and kernel > 3.18.0-rc1, so I decided to disable quota support and debug support > in XFS... >=20 > [ 0.000000] Linux version 3.18.0-rc1+ (root@kyhorse) (gcc version 4.8.3= (GCC) ) #5 SMP Sun Oct 26 14:43:09 EDT 2014 > # i686 Pentium 4, BTW. > [ 0.857655] SGI XFS with ACLs, security attributes, no debug enabled >=20 > Some other debug items were shut off as well. >=20 > Now, my logs are getting pelted with items that look like this (first trac= e, > on boot): >=20 > [ 14.549583] XFS (sda1): Mounting V5 Filesystem > [ 14.810908] XFS (sda1): Ending clean mount > [ 14.826918] mount (155) used greatest stack depth: 6056 bytes left > [ 15.139152] rc.S (64) used greatest stack depth: 5948 bytes left > [ 29.443780] ------------[ cut here ]------------ > [ 29.443801] WARNING: CPU: 0 PID: 387 at mm/truncate.c:758 pagecache_isi= ze_extended+0x124/0x129() > [ 29.443809] CPU: 0 PID: 387 Comm: gtk-query-immod Not tainted 3.18.0-rc= 1+ #5 > [ 29.443813] Hardware name: Gateway E-2000 = /D845GRG , BIOS RG84510A.15A.0009.= P03.020 > [ 29.443817] 00000000 00000000 ee1e9e20 c144939c 00000000 ee1e9e50 c103= 1b03 c154f66c > [ 29.443828] 00000000 00000183 c1553739 000002f6 c1098458 c1098458 e849= ed54 00000000 > [ 29.443838] 00001000 ee1e9e60 c1031bb8 00000009 00000000 ee1e9e98 c109= 8458 efd69100 > [ 29.443848] Call Trace: > [ 29.443858] [] dump_stack+0x41/0x52 > [ 29.443867] [] warn_slowpath_common+0x6f/0x86 > [ 29.443873] [] ? pagecache_isize_extended+0x124/0x129 > [ 29.443878] [] ? pagecache_isize_extended+0x124/0x129 > [ 29.443884] [] warn_slowpath_null+0x1d/0x1f > [ 29.443889] [] pagecache_isize_extended+0x124/0x129 > [ 29.443895] [] truncate_setsize+0x37/0x50 > [ 29.443902] [] xfs_setattr_size+0x13d/0x3d6 > [ 29.443909] [] ? __xfs_get_blocks+0x5ff/0x5ff > [ 29.443916] [] xfs_file_fallocate+0x2fe/0x340 > [ 29.443922] [] ? kmemleak_free+0x20/0x43 > [ 29.443931] [] ? kmem_cache_free+0x76/0xc4 > [ 29.443938] [] do_fallocate+0x111/0x18a > [ 29.443943] [] SyS_fallocate+0x50/0x70 > [ 29.443950] [] syscall_call+0x7/0x7 > [ 29.443954] ---[ end trace 281f0f955c16f86c ]--- >=20 > In an xfstests run, it seemed to start with generic/012 and hit a > great many tests after that. The actual BUG_ON is somewhere in > mm/truncate.c, though... >=20 > WARN_ON(!mutex_is_locked(&inode->i_mutex)); >=20 > Is this an XFS issue at all? Or is there some kind of extra > precaution that has to be taken on the XFS side? Feel free to toss > me over to mm to ask, "What is this?" >=20 > Thanks! >=20 > Michael >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs >=20 --Apple-Mail-8523212C-B8D5-4963-80DD-DA969287C274 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
See "[vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758= pagecache_isize_extended+0xdd/0x120()" sent earlier today.


-Eric<= /p>


On Oct 26, 2014, at 10:21 PM, "Mich= ael L. Semon" <mlsemon35@gmail.com= > wrote:

Hi!  = I was having fantastic luck with v5/finobt XFS and kernel
3.= 18.0-rc1, so I decided to disable quota support and debug support
= in XFS...

[    0.00000= 0] Linux version 3.18.0-rc1+ (root@kyhorse) (gcc version 4.8.3 (GCC) ) #5 SM= P Sun Oct 26 14:43:09 EDT 2014
# i686 Pentium 4, BTW.=
[    0.857655] SGI XFS with ACLs, security attribut= es, no debug enabled

Some other debug items= were shut off as well.

Now, my logs are ge= tting pelted with items that look like this (first trace,
on= boot):

[   14.549583] XFS (sda1)= : Mounting V5 Filesystem
[   14.810908] XFS (sda1)= : Ending clean mount
[   14.826918] mount (155) us= ed greatest stack depth: 6056 bytes left
[   15.13= 9152] rc.S (64) used greatest stack depth: 5948 bytes left
[=   29.443780] ------------[ cut here ]------------
[   29.443801] WARNING: CPU: 0 PID: 387 at mm/truncate.c:758 page= cache_isize_extended+0x124/0x129()
[   29.443809] C= PU: 0 PID: 387 Comm: gtk-query-immod Not tainted 3.18.0-rc1+ #5
[   29.443813] Hardware name: Gateway     =             &nbs= p;       E-2000     &= nbsp;            = ;       /D845GRG     =             &nbs= p;      , BIOS RG84510A.15A.0009.P03.020

[   29.443817]  00000000 00000000 ee1e9e20 c144939= c 00000000 ee1e9e50 c1031b03 c154f66c
[   29.44382= 8]  00000000 00000183 c1553739 000002f6 c1098458 c1098458 e849ed54 0000= 0000
[   29.443838]  00001000 ee1e9e60 c1031b= b8 00000009 00000000 ee1e9e98 c1098458 efd69100
[  &nbs= p;29.443848] Call Trace:
[   29.443858]  [<= ;c144939c>] dump_stack+0x41/0x52
[   29.443867]=  [<c1031b03>] warn_slowpath_common+0x6f/0x86
[ &= nbsp; 29.443873]  [<c1098458>] ? pagecache_isize_extended+0x= 124/0x129
[   29.443878]  [<c1098458>] ?= pagecache_isize_extended+0x124/0x129
[   29.44388= 4]  [<c1031bb8>] warn_slowpath_null+0x1d/0x1f
[ &= nbsp; 29.443889]  [<c1098458>] pagecache_isize_extended+0x12= 4/0x129
[   29.443895]  [<c1098494>] tr= uncate_setsize+0x37/0x50
[   29.443902]  [<= ;c117c534>] xfs_setattr_size+0x13d/0x3d6
[   29= .443909]  [<c116a2ed>] ? __xfs_get_blocks+0x5ff/0x5ff
<= span>[   29.443916]  [<c1172c13>] xfs_file_fallocate+0x= 2fe/0x340
[   29.443922]  [<c1444ccc>] ?= kmemleak_free+0x20/0x43
[   29.443931]  [<= ;c10ba00d>] ? kmem_cache_free+0x76/0xc4
[   29.= 443938]  [<c10bd802>] do_fallocate+0x111/0x18a
[ &= nbsp; 29.443943]  [<c10bd8cb>] SyS_fallocate+0x50/0x70
[   29.443950]  [<c144f6ef>] syscall_call+0x= 7/0x7
[   29.443954] ---[ end trace 281f0f955c16f8= 6c ]---

In an xfstests run, it seemed to st= art with generic/012 and hit a
great many tests after that. &= nbsp;The actual BUG_ON is somewhere in
mm/truncate.c, though= ...

      &n= bsp;WARN_ON(!mutex_is_locked(&inode->i_mutex));

Is this an XFS issue at all?  Or is there some kind of extr= a
precaution that has to be taken on the XFS side?  Fee= l free to toss
me over to mm to ask, "What is this?"<= br>
Thanks!

Michael

____________________________________________= ___
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
= --Apple-Mail-8523212C-B8D5-4963-80DD-DA969287C274-- From a.m.abdulla12@g.pl Mon Oct 27 04: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 522B07F4E for ; Mon, 27 Oct 2014 04:02:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E21C8AC001 for ; Mon, 27 Oct 2014 02:02:12 -0700 (PDT) X-ASG-Debug-ID: 1414400530-04bdf038d2474000001-NocioJ Received: from mail.bbc.com ([191.237.128.105]) by cuda.sgi.com with ESMTP id 2XnITeoBmWErPzKt for ; Mon, 27 Oct 2014 02:02:11 -0700 (PDT) X-Barracuda-Envelope-From: a.m.abdulla12@g.pl X-Barracuda-Apparent-Source-IP: 191.237.128.105 Received: from [191.237.128.105] (localhost [IPv6:::1]) by mail.bbc.com (Postfix) with ESMTP id EADCE20BAC; Sun, 26 Oct 2014 09:04:35 +0000 (UTC) Received: from 94.206.119.239 (SquirrelMail authenticated user admin) by 191.237.128.105 with HTTP; Sun, 26 Oct 2014 13:04:36 +0400 Message-ID: <4aa9e6a8e5caaa546b0a1337217a59f4.squirrel@191.237.128.105> Date: Sun, 26 Oct 2014 13:04:36 +0400 Subject: Interesting Business From: "A.M.Abdulla" X-ASG-Orig-Subj: Interesting Business Reply-To: a.m.abdulla11@g.pl User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20141026130436_90862" X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: UNKNOWN[191.237.128.105] X-Barracuda-Start-Time: 1414400530 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.10956 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 ------=_20141026130436_90862 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Greeting, 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.Abdulla ------=_20141026130436_90862 Content-Type: application/pdf; name="Interesting Business.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Interesting Business.pdf" JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDggMCBSL01hcmtJbmZvPDwvTWFya2VkIHRydWU+Pj4+ DQplbmRvYmoNCjIgMCBvYmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4N CmVuZG9iag0KMyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9G b250PDwvRjEgNSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0g Pj4vTWVkaWFCb3hbIDAgMCA2MTIgNzkyXSAvQ29udGVudHMgNCAwIFIvR3JvdXA8PC9UeXBlL0dy b3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDA+ Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM1ODM+Pg0K c3RyZWFtDQp4nK1aWY/bRhJ+N+D/0A+7WBHQtHkf2CCAj4kTx94Eay8Wi2QfKJEzHIzMpodDj/Pv t46+KImSAiyCyBqKrK6u46uvqile/Cq+++7Fh9c/vRHhi/d1fytWbR98/7149ea1ePXp+bMXP0Qi imSYik83z59FIoT/IlHEMoxTUUQh/fL5+bNQ3OLH2+fPflu9DbLVQ3CVrNo2uIpXj0G+uguu0lV/ G0TRalwH/xWf3j1/dg3icQkjNIoKmfkyf1sJ71Zx/eG1EJ7C0VGF91TMq0Km8SXi4ovElakstLSf gqhciTq4iuLV5yAq4Lt4Vff3Afwt4Gq4+gUMcYOGoA+ywbYNSjaOQGOwXcRLuHEz4QXxBr529QZ+ yFZr0eG19gH/aINqJfT9/4Kbevs8GrhtxMuHGmRvSMo1KFTxr7RY/UgiRvwuhdYc7slW4sl4S8uC D89bZkX8/hAUq/YW1KhJoWYUj0G6UqLuxYJLjdXg30hbTQ2DQkG00ORvAj7+8Jckm/IVdWjFq5gt SM+RmXiPtJ87sMgOf6APum+zoGIcFzJJZiq26NSYDczKfAZ5pE7bkwlbsWntLegYrVrO6gj6VLyu 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 lo6rWOZuG/Y8EDrlu9mxETVno31BaKSmeP6GBV1zO9Ets2luNV/cKueMQYMGMTYTOjQkM4nU9v5W Gi+cSAB01kjE3Lse98CIEK5SS3kcWQfwUv2R+fJp+xSVLA0/RvwbCLZJBa7ZjZt1O+x73Ev7+Tzb 1OwzJ0JscnsGgSfWv4qPQbK6fh3wGfP1Jz65RyH/5prPoYhKstv4GEn45zw+NiCRpbmtvp8gQJnx MaePwQrsNI32uv/8g4YCD0tHHEgp47kNz9mbX7TRR+G0MmeqrmPudGPQ4wSKE7lIqtNSZuVc7Mki UF1SBOIslVlxibjo+Bu4+/KAZ1RGHjZ/fk8o+v3XI5va9gRvVYP0Q5+Qj/rY6mWP0/r5CJMPprn+ zKftsxbhT9h8sYxnOLOe7em0jS566TeOK5lcJu+it37jKJd55s0T/HftXKvivxq7+JIzqJbNBZ5W 8KK3w+IwhX8vknfR62FRFcnEzvwANj7Il5tm2gX2gHxhd0Cgynj2+JLroyTBF9r8Ww8U/x9JHY1j DQplbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5 cGUvTmFtZS9GMS9CYXNlRm9udC9UaW1lcyMyME5ldyMyMFJvbWFuL0VuY29kaW5nL1dpbkFuc2lF bmNvZGluZy9Gb250RGVzY3JpcHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTIxL1dp ZHRocyAyOSAwIFI+Pg0KZW5kb2JqDQo2IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0Zv bnROYW1lL1RpbWVzIzIwTmV3IzIwUm9tYW4vRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQg ODkxL0Rlc2NlbnQgLTIxNi9DYXBIZWlnaHQgNjkzL0F2Z1dpZHRoIDQwMS9NYXhXaWR0aCAyNjE0 L0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL0xlYWRpbmcgNDIvU3RlbVYgNDAvRm9udEJCb3hb IC01NjggLTIxNiAyMDQ2IDY5M10gPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvQXV0aG9yKHVzZXIp IC9DcmVhdG9yKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADEAMCkgL0Ny ZWF0aW9uRGF0ZShEOjIwMTQxMDA4MjMyMTQ5KzA0JzAwJykgL01vZERhdGUoRDoyMDE0MTAwODIz MjE0OSswNCcwMCcpIC9Qcm9kdWNlcij+/wBNAGkAYwByAG8AcwBvAGYAdACuACAAVwBvAHIAZAAg ADIAMAAxADApID4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL09ialN0bS9OIDIwL0ZpcnN0 IDEzOC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQyNj4+DQpzdHJlYW0NCnicvVTbSsQwEH0X /If5g2TSNm1BFsQLirgs2wUfxIe4O+4Wu43ELOjfO0lW7IMPtg9C6ZnbOTPNpahAAhZQIKAGlAqw ZD8DrEDJHLAGVRRsQiY1KISsKEEpyCXnM8gLzufMllwGhVagNGjMQZWgNRMqKFkJEcpSQgU1q9fc RnIT7qtybsSP4tKzM7EIhRKWohELsfp8I9F4d1j7q4724u4R5BOIxRayUDObnZ78gYLjKWo8JRtP ycdTivEUPZ5SjqdU4yn1hK2csv0T9h8nHACccALw1yNQfVOM879PFwrClY2gE5QJqgR1BL6zETBB 4qksQZ4gqaikopKKiipPcBxpMMPKES2t9WJpO7o3bxAbhVGpj8lwqUMkrnxSGWTn9OHv6BPwqHzN Ur31JObhddVvfpwVlz7bD9HQ2osbMhtyyQ6cb/u279qemp0JA4bAec8Kxre2P/rOty+Gjeg9WPf6 bO2ruLTrw55nipH3HZFPq31v1s4O/Isdvwf+ZWs6ux0Emq7d0KA29eGyrTN7cd1uD46O3zo/7N8f w682+1nc/9zM05Mvl4WOyg0KZW5kc3RyZWFtDQplbmRvYmoNCjI5IDAgb2JqDQpbIDI1MCAwIDAg MCA1MDAgODMzIDAgMTgwIDMzMyAzMzMgMCAwIDI1MCAzMzMgMjUwIDI3OCA1MDAgNTAwIDUwMCAw IDAgNTAwIDUwMCA1MDAgMCAwIDAgMjc4IDAgMCAwIDAgMCA3MjIgNjY3IDY2NyA3MjIgNjExIDU1 NiA3MjIgNzIyIDMzMyAzODkgNzIyIDYxMSA4ODkgNzIyIDcyMiA1NTYgMCA2NjcgNTU2IDYxMSA3 MjIgMCA5NDQgMCA3MjIgMCAwIDAgMCAwIDAgMCA0NDQgNTAwIDQ0NCA1MDAgNDQ0IDMzMyA1MDAg NTAwIDI3OCAwIDUwMCAyNzggNzc4IDUwMCA1MDAgNTAwIDUwMCAzMzMgMzg5IDI3OCA1MDAgNTAw IDcyMiA1MDAgNTAwXSANCmVuZG9iag0KMzAgMCBvYmoNCjw8L1R5cGUvWFJlZi9TaXplIDMwL1db IDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDcgMCBSL0lEWzwxRTcxOTk4OTExNDYyRjQ0QTBENDMz Q0U1MzkxOTNFMz48MUU3MTk5ODkxMTQ2MkY0NEEwRDQzM0NFNTM5MTkzRTM+XSAvRmlsdGVyL0Zs YXRlRGVjb2RlL0xlbmd0aCAxMDA+Pg0Kc3RyZWFtDQp4nDXNwQ2DQAxE0VkgAUJYWKA4SkgRSNSQ a+pISeljY/zBBz+NNJYlm5yD7SQdbPB1wscZfs74dtIuFVaJGiHBBAOcldkOpvVKAQoooYIb3KGG Blp4QAdP6CHao+Ul/QEkxAjsDQplbmRzdHJlYW0NCmVuZG9iag0KeHJlZg0KMCAzMQ0KMDAwMDAw MDAwOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxMjQgMDAwMDAgbg0KMDAw MDAwMDE4MCAwMDAwMCBuDQowMDAwMDAwNDEwIDAwMDAwIG4NCjAwMDAwMDQwNjggMDAwMDAgbg0K MDAwMDAwNDI0MSAwMDAwMCBuDQowMDAwMDA0NDc5IDAwMDAwIG4NCjAwMDAwMDAwMDkgNjU1MzUg Zg0KMDAwMDAwMDAxMCA2NTUzNSBmDQowMDAwMDAwMDExIDY1NTM1IGYNCjAwMDAwMDAwMTIgNjU1 MzUgZg0KMDAwMDAwMDAxMyA2NTUzNSBmDQowMDAwMDAwMDE0IDY1NTM1IGYNCjAwMDAwMDAwMTUg NjU1MzUgZg0KMDAwMDAwMDAxNiA2NTUzNSBmDQowMDAwMDAwMDE3IDY1NTM1IGYNCjAwMDAwMDAw MTggNjU1MzUgZg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAw MDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAw MDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYN CjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1 IGYNCjAwMDAwMDUyMjQgMDAwMDAgbg0KMDAwMDAwNTU1MyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9T aXplIDMxL1Jvb3QgMSAwIFIvSW5mbyA3IDAgUi9JRFs8MUU3MTk5ODkxMTQ2MkY0NEEwRDQzM0NF NTM5MTkzRTM+PDFFNzE5OTg5MTE0NjJGNDRBMEQ0MzNDRTUzOTE5M0UzPl0gPj4NCnN0YXJ0eHJl Zg0KNTg1Mw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAzMS9Sb290IDEgMCBS L0luZm8gNyAwIFIvSURbPDFFNzE5OTg5MTE0NjJGNDRBMEQ0MzNDRTUzOTE5M0UzPjwxRTcxOTk4 OTExNDYyRjQ0QTBENDMzQ0U1MzkxOTNFMz5dIC9QcmV2IDU4NTMvWFJlZlN0bSA1NTUzPj4NCnN0 YXJ0eHJlZg0KNjYyOA0KJSVFT0Y= ------=_20141026130436_90862-- From BATV+587d97c2a64aac975419+4082+infradead.org+hch@bombadil.srs.infradead.org Mon Oct 27 04:48: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 11B7B7F4E for ; Mon, 27 Oct 2014 04:48:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E2B3F8F8035 for ; Mon, 27 Oct 2014 02:48:04 -0700 (PDT) X-ASG-Debug-ID: 1414403282-04cbb070c73d0320001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id 0vWgB409D9yT6ZWa (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 02:48:02 -0700 (PDT) X-Barracuda-Envelope-From: BATV+587d97c2a64aac975419+4082+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 1Xigu8-0002UH-CQ; Mon, 27 Oct 2014 09:48:00 +0000 Date: Mon, 27 Oct 2014 02:48:00 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: Christoph Hellwig , Eric Sandeen , xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking Message-ID: <20141027094800.GB31604@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> <20141024061718.GA15341@infradead.org> <544A59F7.4070601@sandeen.net> <20141024154058.GA10788@infradead.org> <544A74E7.1060502@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544A74E7.1060502@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: 1414403282 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.10956 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Fri, Oct 24, 2014 at 10:48:55AM -0500, Eric Sandeen wrote: > On 10/24/14 10:40 AM, Christoph Hellwig wrote: > > strong opinion. It's not like your patch prevents me from using CC=cgcc > > To get endian checking with your method, you'd need to edit > the Makefile to add the -D define, right? That's a kernel special, I just did a test run using CC=cgcc and I get endianess warnings: rdwr.c:190:21: warning: incorrect type in assignment (different base types) rdwr.c:190:21: expected restricted __le32 [usertype] h_crc rdwr.c:190:21: got restricted __be32 [usertype] log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 log_misc.c:621:59: warning: cast to restricted __be64 There's also tons of noise that should be easily upgradeable, but let me check latests xfsprogs first.. From jack@suse.cz Mon Oct 27 04:58: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C7E817F4E for ; Mon, 27 Oct 2014 04:58:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A30A88F8033 for ; Mon, 27 Oct 2014 02:58:15 -0700 (PDT) X-ASG-Debug-ID: 1414403892-04bdf038d24753c0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id qGK454pWg64WdXiU (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 02:58:13 -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 A865BAC7E; Mon, 27 Oct 2014 09:58:10 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 9C50A81C69; Mon, 27 Oct 2014 10:58:12 +0100 (CET) Date: Mon, 27 Oct 2014 10:58:12 +0100 From: Jan Kara To: Dave Chinner Cc: Jan Kara , Fengguang Wu , Theodore Ts'o , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Subject: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Message-ID: <20141027095812.GA16093@quack.suse.cz> X-ASG-Orig-Subj: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() References: <20141016100913.GA8140@wfg-t540p.sh.intel.com> <20141016110127.GD6085@quack.suse.cz> <20141027010422.GA16186@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141027010422.GA16186@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1414403893 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.10957 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon 27-10-14 12:04:22, Dave Chinner wrote: > On Thu, Oct 16, 2014 at 01:01:27PM +0200, Jan Kara wrote: > > From de3426d6495f4b44b14c09b7c7202e9a86d864b9 Mon Sep 17 00:00:00 2001 > > From: Jan Kara > > Date: Thu, 16 Oct 2014 12:58:42 +0200 > > Subject: [PATCH] mm: Remove false WARN_ON from pagecache_isize_extended() > > > > The WARN_ON checking whether i_mutex is held in > > pagecache_isize_extended() was wrong because some filesystems (e.g. > > XFS) use different locks for serialization of truncates / writes. So > > just remove the check. > > > > Signed-off-by: Jan Kara > > --- > > mm/truncate.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/mm/truncate.c b/mm/truncate.c > > index 261eaf6e5a19..c646084e5eec 100644 > > --- a/mm/truncate.c > > +++ b/mm/truncate.c > > @@ -755,7 +755,6 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) > > struct page *page; > > pgoff_t index; > > > > - WARN_ON(!mutex_is_locked(&inode->i_mutex)); > > WARN_ON(to > inode->i_size); > > > > if (from >= to || bsize == PAGE_CACHE_SIZE) > > Jan, Have you sent this patch upstream yet? I'm seeing it fire in > my testing in 3.18-rc1 kernels, so I was wondering what your plans > are for this... I did send it but it got lost somewhere. I'll resend it. Honza -- Jan Kara SUSE Labs, CR From bfoster@redhat.com Mon Oct 27 06:26: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 9AB1E7F4E for ; Mon, 27 Oct 2014 06:26:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 288DFAC002 for ; Mon, 27 Oct 2014 04:26:00 -0700 (PDT) X-ASG-Debug-ID: 1414409156-04cb6c2ef938cee0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Y9sZNT5PBeahpBgs (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 04:25:56 -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 s9RBPt0o031121 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 07:25:56 -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 s9RBPt5b031447; Mon, 27 Oct 2014 07:25:55 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 858921204CA; Mon, 27 Oct 2014 07:25:54 -0400 (EDT) Date: Mon, 27 Oct 2014 07:25:54 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag() Message-ID: <20141027112552.GA39598@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag() References: <54498FE9.4000103@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54498FE9.4000103@redhat.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: 1414409156 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, Oct 23, 2014 at 06:31:53PM -0500, Eric Sandeen wrote: > Fixes a regression introduced by: > > 88fc730 xfs: use and update the finobt on inode allocation > > which passed the non-swapped version of agi->agi_newino to > xfs_inobt_lookup() > > Caught by make C=2, ftw! > > Signed-off-by: Eric Sandeen > --- Reviewed-by: Brian Foster > > diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c > index 5462c54..b20a9ec 100644 > --- a/libxfs/xfs_ialloc.c > +++ b/libxfs/xfs_ialloc.c > @@ -1057,7 +1057,8 @@ xfs_dialloc_ag( > * most recently allocated inode. > */ > if (agi->agi_newino != cpu_to_be32(NULLAGINO)) { > - error = xfs_inobt_lookup(cur, agi->agi_newino, > + error = xfs_inobt_lookup(cur, > + be32_to_cpu(agi->agi_newino), > XFS_LOOKUP_EQ, &i); > if (error) > goto error_cur; > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Oct 27 06:26: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 DDB8C7F55 for ; Mon, 27 Oct 2014 06:26:06 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id BCDDD304051 for ; Mon, 27 Oct 2014 04:26:06 -0700 (PDT) X-ASG-Debug-ID: 1414409165-04cbb070c53d25b0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 8qPjDHiuQzBQiIOV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 04:26:05 -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 s9RBQ4aQ031176 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 07:26:05 -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 s9RBQ4YY017393; Mon, 27 Oct 2014 07:26:04 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id C6FCE1204CA; Mon, 27 Oct 2014 07:26:03 -0400 (EDT) Date: Mon, 27 Oct 2014 07:26:03 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfsprogs: fix harmless sparse endian nit Message-ID: <20141027112603.GB39598@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: fix harmless sparse endian nit References: <544992F1.8050803@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544992F1.8050803@redhat.com> 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: 1414409165 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, Oct 23, 2014 at 06:44:49PM -0500, Eric Sandeen wrote: > h_crc is __le32 but cpu_to_be32() is... __be32. So sparse > complains, even though it's harmless. > > Although sparse is smart about bare 0s, and we could > drop the swap, other places explicitly swap to keep > things clear (I guess?) so "swap" the 0 with the proper > routine. > > Signed-off-by: Eric Sandeen > --- Looks good. I agree that the swap helps with clarity. Reviewed-by: Brian Foster > > diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c > index 9ee89d3..dd8baa6 100644 > --- a/libxfs/rdwr.c > +++ b/libxfs/rdwr.c > @@ -187,7 +187,7 @@ libxfs_log_header( > head->h_len = cpu_to_be32(sunit - BBSIZE); > else > head->h_len = cpu_to_be32(20); > - head->h_crc = cpu_to_be32(0); > + head->h_crc = cpu_to_le32(0); > head->h_prev_block = cpu_to_be32(-1); > head->h_num_logops = cpu_to_be32(1); > head->h_cycle_data[0] = cpu_to_be32(0xb0c0d0d0); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Oct 27 06:26: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 0C03B7F59 for ; Mon, 27 Oct 2014 06:26:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id EDE7E304053 for ; Mon, 27 Oct 2014 04:26:12 -0700 (PDT) X-ASG-Debug-ID: 1414409171-04cb6c2efc38cf00001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XHO8781lfmE5ARms (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 04:26: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-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 s9RBQBrK017786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 07:26:11 -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 s9RBQBCD031535; Mon, 27 Oct 2014 07:26:11 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 557201204CA; Mon, 27 Oct 2014 07:26:10 -0400 (EDT) Date: Mon, 27 Oct 2014 07:26:10 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfsprogs: two more completely harmless sparse nits Message-ID: <20141027112609.GC39598@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: two more completely harmless sparse nits References: <5449964F.1040504@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5449964F.1040504@redhat.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: 1414409171 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, Oct 23, 2014 at 06:59:11PM -0500, Eric Sandeen wrote: > Signed-off-by: Eric Sandeen > --- Reviewed-by: Brian Foster > > diff --git a/repair/prefetch.c b/repair/prefetch.c > index 65f8456..7ea0d36 100644 > --- a/repair/prefetch.c > +++ b/repair/prefetch.c > @@ -171,7 +171,7 @@ pf_read_bmbt_reclist( > struct xfs_buf_map map_array[MAP_ARRAY_SZ]; > struct xfs_buf_map *map = map_array; > int max_extents = MAP_ARRAY_SZ; > - int nmaps = 0;; > + int nmaps = 0; > unsigned int len = 0; > int ret = 0; > > diff --git a/rtcp/xfs_rtcp.c b/rtcp/xfs_rtcp.c > index b81b1e1..5f26a62 100644 > --- a/rtcp/xfs_rtcp.c > +++ b/rtcp/xfs_rtcp.c > @@ -25,7 +25,7 @@ int pflag; > char *progname; > > void > -usage() > +usage(void) > { > fprintf(stderr, _("%s [-e extsize] [-p] [-V] source target\n"), progname); > exit(2); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Oct 27 06:43: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 A19217F55 for ; Mon, 27 Oct 2014 06:43:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7EA56304048 for ; Mon, 27 Oct 2014 04:43:30 -0700 (PDT) X-ASG-Debug-ID: 1414410208-04cb6c2efc38d520001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id pq0riPuqO275JSXy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 04:43:29 -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 s9RBhSDS023546 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 07:43:28 -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 s9RBhSUs024290; Mon, 27 Oct 2014 07:43:28 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7D0B71204CA; Mon, 27 Oct 2014 07:43:27 -0400 (EDT) Date: Mon, 27 Oct 2014 07:43:27 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfs_io: add sync and syncfs commands Message-ID: <20141027114327.GD39598@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs_io: add sync and syncfs commands References: <544A9511.70500@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544A9511.70500@redhat.com> 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: 1414410209 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, Oct 24, 2014 at 01:06:09PM -0500, Eric Sandeen wrote: > There's no easy way to invoke syncfs from the commandline, > as far as I know, so add it to xfs_io to be handy. > > Add sync while we're at it, just for completeness. > > Signed-off-by: Eric Sandeen > --- > > diff --git a/configure.ac b/configure.ac > index ae17c68..bf0c205 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -111,6 +111,7 @@ AC_HAVE_FALLOCATE > AC_HAVE_FIEMAP > AC_HAVE_PREADV > AC_HAVE_SYNC_FILE_RANGE > +AC_HAVE_SYNCFS > AC_HAVE_BLKID_TOPO($enable_blkid) > AC_HAVE_READDIR > > diff --git a/include/builddefs.in b/include/builddefs.in > index 944bcf6..b8bde5f 100644 > --- a/include/builddefs.in > +++ b/include/builddefs.in > @@ -103,6 +103,7 @@ HAVE_FALLOCATE = @have_fallocate@ > HAVE_FIEMAP = @have_fiemap@ > HAVE_PREADV = @have_preadv@ > HAVE_SYNC_FILE_RANGE = @have_sync_file_range@ > +HAVE_SYNCFS = @have_syncfs@ > HAVE_READDIR = @have_readdir@ > > GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall > diff --git a/io/Makefile b/io/Makefile > index c16af87..82593a6 100644 > --- a/io/Makefile > +++ b/io/Makefile > @@ -11,7 +11,7 @@ HFILES = init.h io.h > CFILES = init.c \ > attr.c bmap.c file.c freeze.c fsync.c getrusage.c imap.c link.c \ > mmap.c open.c parent.c pread.c prealloc.c pwrite.c seek.c shutdown.c \ > - truncate.c > + sync.c truncate.c > > LLDLIBS = $(LIBXCMD) $(LIBHANDLE) > LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) > @@ -64,6 +64,10 @@ CFILES += sync_file_range.c > LCFLAGS += -DHAVE_SYNC_FILE_RANGE > endif > > +ifeq ($(HAVE_SYNCFS),yes) > +LCFLAGS += -DHAVE_SYNCFS > +endif > + > ifeq ($(ENABLE_READLINE),yes) > LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP) > endif > diff --git a/io/init.c b/io/init.c > index bfc35bf..1b07518 100644 > --- a/io/init.c > +++ b/io/init.c > @@ -80,8 +80,9 @@ init_commands(void) > resblks_init(); > sendfile_init(); > shutdown_init(); > - truncate_init(); > + sync_init(); > sync_range_init(); > + truncate_init(); > } > > static int > diff --git a/io/io.h b/io/io.h > index 1b3bca1..db8b513 100644 > --- a/io/io.h > +++ b/io/io.h > @@ -109,6 +109,7 @@ extern void pwrite_init(void); > extern void quit_init(void); > extern void seek_init(void); > extern void shutdown_init(void); > +extern void sync_init(void); > extern void truncate_init(void); > > #ifdef HAVE_FADVISE > diff --git a/io/sync.c b/io/sync.c > new file mode 100644 > index 0000000..a6c6215 > --- /dev/null > +++ b/io/sync.c > @@ -0,0 +1,70 @@ > +/* > + * 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 > +#include > +#include "init.h" > +#include "io.h" > + > +static cmdinfo_t sync_cmd; > + > +static int > +sync_f( > + int argc, > + char **argv) > +{ > + /* sync can't fail */ > + sync(); > + return 0; > +} > + > +#ifdef HAVE_SYNCFS > +static cmdinfo_t syncfs_cmd; > + > +static int > +syncfs_f( > + int argc, > + char **argv) > +{ > + /* syncfs can't fail */ > + syncfs(file->fd); > + return 0; > +} > +#endif > + > +void > +sync_init(void) > +{ > + sync_cmd.name = "sync"; > + sync_cmd.cfunc = sync_f; > + sync_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; Not a big deal given that we have sync(1), but CMD_NOFILE_OK..? The rest looks good to me. Brian > + sync_cmd.oneline = > + _("calls sync(2) to flush all in-core filesystem state to disk"); > + > + add_command(&sync_cmd); > + > +#ifdef HAVE_SYNCFS > + syncfs_cmd.name = "syncfs"; > + syncfs_cmd.cfunc = syncfs_f; > + syncfs_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; > + syncfs_cmd.oneline = > + _("calls syncfs(2) to flush all in-core filesystem state to disk"); > + > + add_command(&syncfs_cmd); > +#endif > +} > diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 > index 8267ba0..51182e4 100644 > --- a/m4/package_libcdev.m4 > +++ b/m4/package_libcdev.m4 > @@ -171,6 +171,23 @@ AC_DEFUN([AC_HAVE_SYNC_FILE_RANGE], > ]) > > # > +# Check if we have a syncfs libc call (Linux) > +# > +AC_DEFUN([AC_HAVE_SYNCFS], > + [ AC_MSG_CHECKING([for syncfs]) > + AC_TRY_LINK([ > +#define _GNU_SOURCE > +#define _FILE_OFFSET_BITS 64 > +#include > + ], [ > + syncfs(0); > + ], have_syncfs=yes > + AC_MSG_RESULT(yes), > + AC_MSG_RESULT(no)) > + AC_SUBST(have_syncfs) > + ]) > + > +# > # Check if we have a readdir libc call > # > AC_DEFUN([AC_HAVE_READDIR], > diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8 > index e40fbf9..cf27b99 100644 > --- a/man/man8/xfs_io.8 > +++ b/man/man8/xfs_io.8 > @@ -362,6 +362,16 @@ start writeback of dirty data in the given range (SYNC_FILE_RANGE_WRITE). > .RE > .PD > .TP > +.B sync > +Calls > +.BR sync (2) > +to flush all filesystems' in-core data to disk. > +.TP > +.B syncfs > +Calls > +.BR syncfs (2) > +to flush this filesystem's in-core data to disk. > +.TP > .BI resvsp " offset length" > Allocates reserved, unwritten space for part of a file using the > XFS_IOC_RESVSP system call described in the > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Mon Oct 27 08:25: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 043C47F56 for ; Mon, 27 Oct 2014 08:25:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D75408F8035 for ; Mon, 27 Oct 2014 06:25:25 -0700 (PDT) X-ASG-Debug-ID: 1414416323-04cbb070c63d4f50001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 5uzmQjEBoAlLL1PT for ; Mon, 27 Oct 2014 06:25: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id F148363D5B31; Mon, 27 Oct 2014 08:25:22 -0500 (CDT) Message-ID: <544E47C1.5070906@sandeen.net> Date: Mon, 27 Oct 2014 08:25:21 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Christoph Hellwig CC: Eric Sandeen , xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> <20141024061718.GA15341@infradead.org> <544A59F7.4070601@sandeen.net> <20141024154058.GA10788@infradead.org> <544A74E7.1060502@sandeen.net> <20141027094800.GB31604@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking In-Reply-To: <20141027094800.GB31604@infradead.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414416323 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.10960 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/27/14 4:48 AM, Christoph Hellwig wrote: > On Fri, Oct 24, 2014 at 10:48:55AM -0500, Eric Sandeen wrote: >> On 10/24/14 10:40 AM, Christoph Hellwig wrote: >>> strong opinion. It's not like your patch prevents me from using CC=cgcc >> >> To get endian checking with your method, you'd need to edit >> the Makefile to add the -D define, right? > > That's a kernel special, I just did a test run using CC=cgcc and I get > endianess warnings: > > rdwr.c:190:21: warning: incorrect type in assignment (different base types) > rdwr.c:190:21: expected restricted __le32 [usertype] h_crc > rdwr.c:190:21: got restricted __be32 [usertype] Oh, without an extra define? Hrm. Ok I guess I need to read up on what enables it. I did send a couple patches to fix some of these. Sorry, didn't do it in a series: [PATCH] xfsprogs: fix endian mishap in xfs_dialloc_ag() [PATCH] xfsprogs: fix harmless sparse endian nit -Eric From sandeen@redhat.com Mon Oct 27 10:56: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 AD7747F5F for ; Mon, 27 Oct 2014 10:56:47 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8CD92304032 for ; Mon, 27 Oct 2014 08:56:47 -0700 (PDT) X-ASG-Debug-ID: 1414425403-04cb6c2efb397a70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id aslIyT2IOKFLiuhB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 08:56:43 -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-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 s9RFugSW005335 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 11:56:42 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9RFufs7005530 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 27 Oct 2014 11:56:42 -0400 Message-ID: <544E6B39.9040309@redhat.com> Date: Mon, 27 Oct 2014 10:56:41 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Brian Foster CC: xfs-oss Subject: Re: [PATCH] xfs_io: add sync and syncfs commands References: <544A9511.70500@redhat.com> <20141027114327.GD39598@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs_io: add sync and syncfs commands In-Reply-To: <20141027114327.GD39598@bfoster.bfoster> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit 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: 1414425403 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 10/27/14 6:43 AM, Brian Foster wrote: > On Fri, Oct 24, 2014 at 01:06:09PM -0500, Eric Sandeen wrote: ... >> +void >> +sync_init(void) >> +{ >> + sync_cmd.name = "sync"; >> + sync_cmd.cfunc = sync_f; >> + sync_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; > > Not a big deal given that we have sync(1), but CMD_NOFILE_OK..? > > The rest looks good to me. > > Brian Ah, good eye, thanks. Will send V2. -Eric From sandeen@sandeen.net Mon Oct 27 13: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 A883B7F63 for ; Mon, 27 Oct 2014 13:50:12 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 377FDAC008 for ; Mon, 27 Oct 2014 11:50:08 -0700 (PDT) X-ASG-Debug-ID: 1414435807-04cb6c2efa3a12e0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id gWcdQmXERtLOJMkx for ; Mon, 27 Oct 2014 11:50:07 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id E385663B97E2; Mon, 27 Oct 2014 13:50:06 -0500 (CDT) Message-ID: <544E93DD.2010706@sandeen.net> Date: Mon, 27 Oct 2014 13:50:05 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Eric Sandeen , xfs-oss Subject: Re: [PATCH] xfsprogs: enable sparse checking References: <54498F4A.9030207@redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfsprogs: enable sparse checking In-Reply-To: <54498F4A.9030207@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414435807 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.10968 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/23/14 6:29 PM, Eric Sandeen wrote: > Enable "make C=1" or "make C=2" to do sparse checking. > Blatantly ripped off from djwong's patch in e2fsprogs to > do the same. > > Note, this requires unreleased sparse after v0.5, which > enables the CHAR_BIT definition; otherwise it chokes. Ok, NAK to this one I guess, hch has sufficiently pointed out that I don't quite know what I'm doing here ;) -Eric From sandeen@sandeen.net Mon Oct 27 13:55: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 5BD4B7F63 for ; Mon, 27 Oct 2014 13:55:28 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id CEB84AC007 for ; Mon, 27 Oct 2014 11:55:27 -0700 (PDT) X-ASG-Debug-ID: 1414436125-04cb6c2efb3a16e0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id v7KSIfBhoWnDuYVS for ; Mon, 27 Oct 2014 11:55:25 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id D82A763B97E2; Mon, 27 Oct 2014 13:55:24 -0500 (CDT) Message-ID: <544E951B.9030600@sandeen.net> Date: Mon, 27 Oct 2014 13:55:23 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Eric Sandeen , xfs-oss Subject: [PATCH V2] xfs_io: add sync and syncfs commands References: <544A9511.70500@redhat.com> X-ASG-Orig-Subj: [PATCH V2] xfs_io: add sync and syncfs commands In-Reply-To: <544A9511.70500@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414436125 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.10968 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- There's no easy way to invoke syncfs from the commandline, as far as I know, so add it to xfs_io to be handy. Add sync while we're at it, just for completeness. Signed-off-by: Eric Sandeen --- V2: sync doesn't need to have a file open diff --git a/io/Makefile b/io/Makefile index c16af87..82593a6 100644 --- a/io/Makefile +++ b/io/Makefile @@ -11,7 +11,7 @@ HFILES = init.h io.h CFILES = init.c \ attr.c bmap.c file.c freeze.c fsync.c getrusage.c imap.c link.c \ mmap.c open.c parent.c pread.c prealloc.c pwrite.c seek.c shutdown.c \ - truncate.c + sync.c truncate.c LLDLIBS = $(LIBXCMD) $(LIBHANDLE) LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) @@ -64,6 +64,10 @@ CFILES += sync_file_range.c LCFLAGS += -DHAVE_SYNC_FILE_RANGE endif +ifeq ($(HAVE_SYNCFS),yes) +LCFLAGS += -DHAVE_SYNCFS +endif + ifeq ($(ENABLE_READLINE),yes) LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP) endif diff --git a/io/init.c b/io/init.c index bfc35bf..1b07518 100644 --- a/io/init.c +++ b/io/init.c @@ -80,8 +80,9 @@ init_commands(void) resblks_init(); sendfile_init(); shutdown_init(); - truncate_init(); + sync_init(); sync_range_init(); + truncate_init(); } static int diff --git a/io/io.h b/io/io.h index 1b3bca1..db8b513 100644 --- a/io/io.h +++ b/io/io.h @@ -109,6 +109,7 @@ extern void pwrite_init(void); extern void quit_init(void); extern void seek_init(void); extern void shutdown_init(void); +extern void sync_init(void); extern void truncate_init(void); #ifdef HAVE_FADVISE diff --git a/io/sync.c b/io/sync.c new file mode 100644 index 0000000..683899b --- /dev/null +++ b/io/sync.c @@ -0,0 +1,70 @@ +/* + * 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 +#include +#include "init.h" +#include "io.h" + +static cmdinfo_t sync_cmd; + +static int +sync_f( + int argc, + char **argv) +{ + /* sync can't fail */ + sync(); + return 0; +} + +#ifdef HAVE_SYNCFS +static cmdinfo_t syncfs_cmd; + +static int +syncfs_f( + int argc, + char **argv) +{ + /* syncfs can't fail */ + syncfs(file->fd); + return 0; +} +#endif + +void +sync_init(void) +{ + sync_cmd.name = "sync"; + sync_cmd.cfunc = sync_f; + sync_cmd.flags = CMD_NOMAP_OK | CMD_NOFILE_OK | CMD_FOREIGN_OK; + sync_cmd.oneline = + _("calls sync(2) to flush all in-core filesystem state to disk"); + + add_command(&sync_cmd); + +#ifdef HAVE_SYNCFS + syncfs_cmd.name = "syncfs"; + syncfs_cmd.cfunc = syncfs_f; + syncfs_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; + syncfs_cmd.oneline = + _("calls syncfs(2) to flush all in-core filesystem state to disk"); + + add_command(&syncfs_cmd); +#endif +} diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 index 8267ba0..919ae0a 100644 --- a/m4/package_libcdev.m4 +++ b/m4/package_libcdev.m4 @@ -171,6 +171,23 @@ AC_DEFUN([AC_HAVE_SYNC_FILE_RANGE], ]) # +# Check if we have a syncfs libc call (Linux) +# +AC_DEFUN([AC_HAVE_SYNCFS], + [ AC_MSG_CHECKING([for syncfs]) + AC_TRY_LINK([ +#define _GNU_SOURCE +#define _FILE_OFFSET_BITS 64 +#include + ], [ + syncfs(0); + ], have_sync_fs=yes + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + AC_SUBST(have_syncfs) + ]) + +# # Check if we have a readdir libc call # AC_DEFUN([AC_HAVE_READDIR], diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8 index e40fbf9..cf27b99 100644 --- a/man/man8/xfs_io.8 +++ b/man/man8/xfs_io.8 @@ -362,6 +362,16 @@ start writeback of dirty data in the given range (SYNC_FILE_RANGE_WRITE). .RE .PD .TP +.B sync +Calls +.BR sync (2) +to flush all filesystems' in-core data to disk. +.TP +.B syncfs +Calls +.BR syncfs (2) +to flush this filesystem's in-core data to disk. +.TP .BI resvsp " offset length" Allocates reserved, unwritten space for part of a file using the XFS_IOC_RESVSP system call described in the From david@fromorbit.com Mon Oct 27 16: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=none 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 A36857F75 for ; Mon, 27 Oct 2014 16:05:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 330C8AC006 for ; Mon, 27 Oct 2014 14:05:29 -0700 (PDT) X-ASG-Debug-ID: 1414443926-04cb6c2efc3a7f20001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id MHLFI0tNTdrOgy2g for ; Mon, 27 Oct 2014 14:05: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: AtGFAB+yTlR5LabzPGdsb2JhbABcgw6BLII2hQeyGAaVR4VqAgIBAQKBGRcBBgEBAQE4O4QCAQEBBCcTHCMQCAMOAwMBAgEJJQ8FJQMHDA4TiEDLegEBAQEBAQQBAQEBAQEcGIYciXBkB4MtgR4BBJ1ggTKLOYVEhjSBWCkvgQaBRQEBAQ Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 28 Oct 2014 07:35:25 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XirTf-0007Uu-4i; Tue, 28 Oct 2014 08:05:23 +1100 Date: Tue, 28 Oct 2014 08:05:23 +1100 From: Dave Chinner To: Jan Kara Cc: Fengguang Wu , Theodore Ts'o , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Subject: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() Message-ID: <20141027210523.GD6880@dastard> X-ASG-Orig-Subj: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() References: <20141016100913.GA8140@wfg-t540p.sh.intel.com> <20141016110127.GD6085@quack.suse.cz> <20141027010422.GA16186@dastard> <20141027095812.GA16093@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141027095812.GA16093@quack.suse.cz> 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: 1414443926 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.10970 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 27, 2014 at 10:58:12AM +0100, Jan Kara wrote: > On Mon 27-10-14 12:04:22, Dave Chinner wrote: > > On Thu, Oct 16, 2014 at 01:01:27PM +0200, Jan Kara wrote: > > > From de3426d6495f4b44b14c09b7c7202e9a86d864b9 Mon Sep 17 00:00:00 2001 > > > From: Jan Kara > > > Date: Thu, 16 Oct 2014 12:58:42 +0200 > > > Subject: [PATCH] mm: Remove false WARN_ON from pagecache_isize_extended() > > > > > > The WARN_ON checking whether i_mutex is held in > > > pagecache_isize_extended() was wrong because some filesystems (e.g. > > > XFS) use different locks for serialization of truncates / writes. So > > > just remove the check. > > > > > > Signed-off-by: Jan Kara > > > --- > > > mm/truncate.c | 1 - > > > 1 file changed, 1 deletion(-) > > > > > > diff --git a/mm/truncate.c b/mm/truncate.c > > > index 261eaf6e5a19..c646084e5eec 100644 > > > --- a/mm/truncate.c > > > +++ b/mm/truncate.c > > > @@ -755,7 +755,6 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) > > > struct page *page; > > > pgoff_t index; > > > > > > - WARN_ON(!mutex_is_locked(&inode->i_mutex)); > > > WARN_ON(to > inode->i_size); > > > > > > if (from >= to || bsize == PAGE_CACHE_SIZE) > > > > Jan, Have you sent this patch upstream yet? I'm seeing it fire in > > my testing in 3.18-rc1 kernels, so I was wondering what your plans > > are for this... > I did send it but it got lost somewhere. I'll resend it. If it comes to it, I can push it through the XFS tree - I've got a few patches I need to send for -rc3... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bfoster@redhat.com Mon Oct 27 16:50: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 C5F387F7E for ; Mon, 27 Oct 2014 16:50:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 53F66AC007 for ; Mon, 27 Oct 2014 14:50:39 -0700 (PDT) X-ASG-Debug-ID: 1414446636-04cb6c2efb3a9a50001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6LWBKYdPGoF8DM1X (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 14:50: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-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 s9RLoaGU031700 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 27 Oct 2014 17:50:36 -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 s9RLoZjf024633; Mon, 27 Oct 2014 17:50:36 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 6AE811204CA; Mon, 27 Oct 2014 17:50:34 -0400 (EDT) Date: Mon, 27 Oct 2014 17:50:34 -0400 From: Brian Foster To: Eric Sandeen Cc: Eric Sandeen , xfs-oss Subject: Re: [PATCH V2] xfs_io: add sync and syncfs commands Message-ID: <20141027215033.GA62546@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH V2] xfs_io: add sync and syncfs commands References: <544A9511.70500@redhat.com> <544E951B.9030600@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544E951B.9030600@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: 1414446637 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, Oct 27, 2014 at 01:55:23PM -0500, Eric Sandeen wrote: > There's no easy way to invoke syncfs from the commandline, > as far as I know, so add it to xfs_io to be handy. > > Add sync while we're at it, just for completeness. > > Signed-off-by: Eric Sandeen > --- Looks good to me. Reviewed-by: Brian Foster > > V2: sync doesn't need to have a file open > > diff --git a/io/Makefile b/io/Makefile > index c16af87..82593a6 100644 > --- a/io/Makefile > +++ b/io/Makefile > @@ -11,7 +11,7 @@ HFILES = init.h io.h > CFILES = init.c \ > attr.c bmap.c file.c freeze.c fsync.c getrusage.c imap.c link.c \ > mmap.c open.c parent.c pread.c prealloc.c pwrite.c seek.c shutdown.c \ > - truncate.c > + sync.c truncate.c > > LLDLIBS = $(LIBXCMD) $(LIBHANDLE) > LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) > @@ -64,6 +64,10 @@ CFILES += sync_file_range.c > LCFLAGS += -DHAVE_SYNC_FILE_RANGE > endif > > +ifeq ($(HAVE_SYNCFS),yes) > +LCFLAGS += -DHAVE_SYNCFS > +endif > + > ifeq ($(ENABLE_READLINE),yes) > LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP) > endif > diff --git a/io/init.c b/io/init.c > index bfc35bf..1b07518 100644 > --- a/io/init.c > +++ b/io/init.c > @@ -80,8 +80,9 @@ init_commands(void) > resblks_init(); > sendfile_init(); > shutdown_init(); > - truncate_init(); > + sync_init(); > sync_range_init(); > + truncate_init(); > } > > static int > diff --git a/io/io.h b/io/io.h > index 1b3bca1..db8b513 100644 > --- a/io/io.h > +++ b/io/io.h > @@ -109,6 +109,7 @@ extern void pwrite_init(void); > extern void quit_init(void); > extern void seek_init(void); > extern void shutdown_init(void); > +extern void sync_init(void); > extern void truncate_init(void); > > #ifdef HAVE_FADVISE > diff --git a/io/sync.c b/io/sync.c > new file mode 100644 > index 0000000..683899b > --- /dev/null > +++ b/io/sync.c > @@ -0,0 +1,70 @@ > +/* > + * 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 > +#include > +#include "init.h" > +#include "io.h" > + > +static cmdinfo_t sync_cmd; > + > +static int > +sync_f( > + int argc, > + char **argv) > +{ > + /* sync can't fail */ > + sync(); > + return 0; > +} > + > +#ifdef HAVE_SYNCFS > +static cmdinfo_t syncfs_cmd; > + > +static int > +syncfs_f( > + int argc, > + char **argv) > +{ > + /* syncfs can't fail */ > + syncfs(file->fd); > + return 0; > +} > +#endif > + > +void > +sync_init(void) > +{ > + sync_cmd.name = "sync"; > + sync_cmd.cfunc = sync_f; > + sync_cmd.flags = CMD_NOMAP_OK | CMD_NOFILE_OK | CMD_FOREIGN_OK; > + sync_cmd.oneline = > + _("calls sync(2) to flush all in-core filesystem state to disk"); > + > + add_command(&sync_cmd); > + > +#ifdef HAVE_SYNCFS > + syncfs_cmd.name = "syncfs"; > + syncfs_cmd.cfunc = syncfs_f; > + syncfs_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK; > + syncfs_cmd.oneline = > + _("calls syncfs(2) to flush all in-core filesystem state to disk"); > + > + add_command(&syncfs_cmd); > +#endif > +} > diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 > index 8267ba0..919ae0a 100644 > --- a/m4/package_libcdev.m4 > +++ b/m4/package_libcdev.m4 > @@ -171,6 +171,23 @@ AC_DEFUN([AC_HAVE_SYNC_FILE_RANGE], > ]) > > # > +# Check if we have a syncfs libc call (Linux) > +# > +AC_DEFUN([AC_HAVE_SYNCFS], > + [ AC_MSG_CHECKING([for syncfs]) > + AC_TRY_LINK([ > +#define _GNU_SOURCE > +#define _FILE_OFFSET_BITS 64 > +#include > + ], [ > + syncfs(0); > + ], have_sync_fs=yes > + AC_MSG_RESULT(yes), > + AC_MSG_RESULT(no)) > + AC_SUBST(have_syncfs) > + ]) > + > +# > # Check if we have a readdir libc call > # > AC_DEFUN([AC_HAVE_READDIR], > diff --git a/man/man8/xfs_io.8 b/man/man8/xfs_io.8 > index e40fbf9..cf27b99 100644 > --- a/man/man8/xfs_io.8 > +++ b/man/man8/xfs_io.8 > @@ -362,6 +362,16 @@ start writeback of dirty data in the given range (SYNC_FILE_RANGE_WRITE). > .RE > .PD > .TP > +.B sync > +Calls > +.BR sync (2) > +to flush all filesystems' in-core data to disk. > +.TP > +.B syncfs > +Calls > +.BR syncfs (2) > +to flush this filesystem's in-core data to disk. > +.TP > .BI resvsp " offset length" > Allocates reserved, unwritten space for part of a file using the > XFS_IOC_RESVSP system call described in the > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From anonymous@awd1.activplatform.co.uk Mon Oct 27 17:47: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=4.6 required=5.0 tests=DATE_IN_PAST_03_06, HTML_IMAGE_RATIO_06,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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 0EBBE7F85 for ; Mon, 27 Oct 2014 17:47:47 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EFE508F8033 for ; Mon, 27 Oct 2014 15:47:46 -0700 (PDT) X-ASG-Debug-ID: 1414450062-04cbb070c53f0810001-NocioJ Received: from awd1.activplatform.co.uk (awd1.activplatform.co.uk [159.253.210.8]) by cuda.sgi.com with ESMTP id hEQEJXIzM9mDHiW4 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 15:47:43 -0700 (PDT) X-Barracuda-Envelope-From: anonymous@awd1.activplatform.co.uk X-Barracuda-Apparent-Source-IP: 159.253.210.8 Received: (qmail 29573 invoked by uid 48); 27 Oct 2014 19:22:41 +0000 Date: 27 Oct 2014 19:22:41 +0000 Message-ID: <20141027192241.29570.qmail@awd1.activplatform.co.uk> To: xfs@oss.sgi.com Subject: Update Your Account Apple. From: Apple X-ASG-Orig-Subj: Update Your Account Apple. Reply-To: MIME-Version: 1.0 Content-Type: text/html Content-Transfer-Encoding: 8bit X-Barracuda-Connect: awd1.activplatform.co.uk[159.253.210.8] X-Barracuda-Start-Time: 1414450063 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: afvoerputje.nl 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=DATE_IN_PAST_03_06, DATE_IN_PAST_03_06_2, HTML_IMAGE_RATIO_06, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10973 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 DATE_IN_PAST_03_06 Date: is 3 to 6 hours before Received: date 0.00 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area 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 1.08 DATE_IN_PAST_03_06_2 DATE_IN_PAST_03_06_2


Hi,

We inform you that your Apple ID expires in less than 48 hours.

It is imperative to conduct an audit of your information is present, otherwise your ID will be destroyed.
Just click the link below and log in with your Apple ID and password.
Check now.

This is an automatically generated message. Thank you not to answer. If you need help, please visit the website Support.

Cordialement,
L'Assistance client Apple
From stan@hardwarefreak.com Mon Oct 27 18:03: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 090E97F8B for ; Mon, 27 Oct 2014 18:03:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7BC29AC006 for ; Mon, 27 Oct 2014 16:03:34 -0700 (PDT) X-ASG-Debug-ID: 1414451012-04cb6c2ef93ac340001-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 sHh9YpAcN74VtOhk for ; Mon, 27 Oct 2014 16:03:33 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id A34CA6C0FA; Mon, 27 Oct 2014 18:03:32 -0500 (CDT) Message-ID: <544ECF65.8090806@hardwarefreak.com> Date: Mon, 27 Oct 2014 18:04:05 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> <544BC6FA.8090101@sandeen.net> <544BDF55.9040804@hardwarefreak.com> <20141026234325.GB6880@dastard> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <20141026234325.GB6880@dastard> 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: 1414451012 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 10/26/2014 06:43 PM, Dave Chinner wrote: > On Sat, Oct 25, 2014 at 12:35:17PM -0500, Stan Hoeppner wrote: >> If the same interface is used for Linux logical block devices (md, dm, >> lvm, etc) and hardware RAID, I have a hunch it may be better to >> determine that, if possible, before doing anything with these values. >> As you said previously, and I agree 100%, a lot of RAID vendors don't >> export meaningful information here. In this specific case, I think the >> RAID engineers are exporting a value, 1 MB, that works best for their >> cache management, or some other path in their firmware. They're >> concerned with host interface xfer into the controller, not the IOs on >> the back end to the disks. They don't see this as an end-to-end deal. >> In fact, I'd guess most of these folks see their device as performing >> magic, and it doesn't matter what comes in or goes out either end. >> "We'll take care of it." > > Deja vu. This is an isochronous RAID array you are having trouble > with, isn't it? I don't believe so. I'm pretty sure the parity rotates; i.e. standard RAID5/6. > FWIW, do your problems go away when you make you hardware LUN width > a multiple of the cache segment size? Hadn't tried it. And I don't have the opportunity now as my contract has ended. However the problems we were having weren't related to controller issues but excessive seeking. I mentioned this in that (rather lengthy) previous reply. >> optimal_io_size. I'm guessing this has different meaning for different >> folks. You say optimal_io_size is the same as RAID width. Apply that >> to this case: >> >> hardware RAID 60 LUN, 4 arrays >> 16+2 RAID6, 256 KB stripe unit, 4096 KB stripe width >> 16 MB LUN stripe width >> optimal_io_size = 16 MB >> >> Is that an appropriate value for optimal_io_size even if this is the >> RAID width? I'm not saying it isn't. I don't know. I don't know what >> other layers of the Linux and RAID firmware stacks are affected by this, >> nor how they're affected. > > yup, i'd expect minimum = 4MB (i.e stripe unit 4MB so we align to > the underlying RAID6 luns) and optimal = 16MB for the stripe width > (and so with swalloc we align to the first lun in the RAID0). At minimum 4MB how does that affect journal writes which will be much smaller, especially with a large file streaming workload, for which this setup is appropriate? Isn't the minimum a hard setting? I.e. we can never do an IO less than 4MB? Do other layers of the stack use this variable? Are they expecting values this large? > This should be passed up unchanged through the stack if none of the > software layers are doing other geometry modifications (e.g. more > raid, thinp, etc). I agree, if RAID vendors all did the right thing... Stan From stan@hardwarefreak.com Mon Oct 27 18:23: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 C94707F92 for ; Mon, 27 Oct 2014 18:23:55 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 547C4AC006 for ; Mon, 27 Oct 2014 16:23:55 -0700 (PDT) X-ASG-Debug-ID: 1414452233-04cbb070c73f1a30001-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 xqCekCOydQJwalAU for ; Mon, 27 Oct 2014 16:23:54 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id BE6956C0FA; Mon, 27 Oct 2014 18:23:53 -0500 (CDT) Message-ID: <544ED42A.2090108@hardwarefreak.com> Date: Mon, 27 Oct 2014 18:24:26 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: file streams allocator behavior References: <544BE820.6040905@hardwarefreak.com> <20141026235624.GC6880@dastard> X-ASG-Orig-Subj: Re: file streams allocator behavior In-Reply-To: <20141026235624.GC6880@dastard> 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: 1414452233 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 10/26/2014 06:56 PM, Dave Chinner wrote: > On Sat, Oct 25, 2014 at 01:12:48PM -0500, Stan Hoeppner wrote: >> I recall reading a while back something about disabling the filestreams >> allocator, or at least changing its behavior, but I'm unable to find that. >> >> What I'm trying to do is use parallel dd w/O_DIRECT to write 44 files in >> parallel to 44 directories, thus all 44 AGs, in one test, then write 44 >> files to one dir, one AG, in another test. The purpose of this >> quick/dirty exercise is to demonstrate throughput differences due to >> full platter seeking in the former case and localized seeking in the >> latter case. >> >> But of course the problem I'm running into in the single directory case >> is that the filestreams allocator starts writing all of the 44 files >> into the appropriate AG, but then begins allocating extents for each >> file in other AGs. This is of course defeating the purpose of the tests. > > That's caused by allocator contention. When you try to write 44 > files to the same dir in parallel, they'll all start with the same > target AG, but then when one thread is allocating into AG 43 and has > the AG locked, a second attempt to allocate to than AG will see the > AG locked and so it will move to find the next AG that is not > locked. That's what I suspected given what I was seeing. > Remember, AGs were not originally designed for confining physical > locality - they are designed to allow allocator parallelism. Hence Right. But they sure do come in handy when used this way with preallocated files. I suspect we'll make heavy use of this when they have me back to implement my recommendations. > once the file has jumped to a new AG it will try to allocate > sequentially from that point onwards in that same AG, until either > ENOSPC or further contention. > > Hence with a workload like this, if the writes continue for long > enough each file will end up finding it's own uncontended AG and > hence mostly end up contiguous on disk and not getting blocked > waiting for allocation on other files. When you have as many writers > as there are AGs, however, such a steady state is generally not > possible as there will always be files trying to write into the same > AG. Yep. That's exactly what xfs_bmap was showing. Some files had extents in 3-4 AGs, some in 8 or more AGs. > As it is, filestreams is not designed for this sort of parallel > workload. filestreams is designed to separate single threaded > streams of IO into different locations, not handle concurrent writes > into multiple files in the same directory. Right. I incorrectly refered to the filestreams allocator as I didn't know of the inode64 congestion control mechanism at that time. I simply had recalled one of your emails where you and Christoph were discussing mods to the filestreams allocator, and the file pattern to the AGs looked familiar. > As it is, the inode64 will probably demonstrate exactly the same > behaviour because it will start by trying to write all the files to > the same AG and hence hit allocator contention, too. I was using the inode64 allocator, and yes, it did. Brian saved my bacon as I wanted to use preallocated files but didn't know exactly how. I knew all their extents would be in the AG I wanted them in, given the way I intended to do it. And doing this demonstrated what I anticipated. Writing 2GB into each of 132 files with 132 parallel dd processes with O_DIRECT, 264GB total, I achieved: AG0 only 1377 MB/s AGs 0-43 767 MB/s Due to the nature of the application, we should be able to distribute the files in such a manner that only 1 or 2 adjacent AGs are being accesses concurrently. This will greatly reduce head seeking, increasing throughput, as demonstrated above. All thanks to the allocation group architecture of XFS. We'd not be able to do this with any other filesystem AFAIK. Thanks, Stan From david@fromorbit.com Mon Oct 27 19:33: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 5B9E07F99 for ; Mon, 27 Oct 2014 19:33:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4A3E8304032 for ; Mon, 27 Oct 2014 17:33:30 -0700 (PDT) X-ASG-Debug-ID: 1414456406-04cb6c2ef93aeb30001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id aGo8w7LdnjXe7Yr3 for ; Mon, 27 Oct 2014 17:33: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: AgNbANbjTlR5LabzPGdsb2JhbABcgw6BLII2hQeyLgaVR4VqBAICgRcXAQYBAQEBODuEAgEBAQMBOhwZChAIAxgJJQ8FJQMHGhOIOAjLPwEBAQEGAgEfGIYchDyGGAeDLYEeBZ1ggTKQfYgMKS+CSwEBAQ Received: from ppp121-45-166-243.lns20.syd6.internode.on.net (HELO dastard) ([121.45.166.243]) by ipmail06.adl6.internode.on.net with ESMTP; 28 Oct 2014 11:02:21 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xiuhv-0007yL-5y; Tue, 28 Oct 2014 11:32:19 +1100 Date: Tue, 28 Oct 2014 11:32:19 +1100 From: Dave Chinner To: Stan Hoeppner Cc: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue Message-ID: <20141028003219.GC16186@dastard> X-ASG-Orig-Subj: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> <544BC6FA.8090101@sandeen.net> <544BDF55.9040804@hardwarefreak.com> <20141026234325.GB6880@dastard> <544ECF65.8090806@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544ECF65.8090806@hardwarefreak.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: 1414456407 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.10976 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 27, 2014 at 06:04:05PM -0500, Stan Hoeppner wrote: > On 10/26/2014 06:43 PM, Dave Chinner wrote: > > On Sat, Oct 25, 2014 at 12:35:17PM -0500, Stan Hoeppner wrote: > >> If the same interface is used for Linux logical block devices (md, dm, > >> lvm, etc) and hardware RAID, I have a hunch it may be better to > >> determine that, if possible, before doing anything with these values. > >> As you said previously, and I agree 100%, a lot of RAID vendors don't > >> export meaningful information here. In this specific case, I think the > >> RAID engineers are exporting a value, 1 MB, that works best for their > >> cache management, or some other path in their firmware. They're > >> concerned with host interface xfer into the controller, not the IOs on > >> the back end to the disks. They don't see this as an end-to-end deal. > >> In fact, I'd guess most of these folks see their device as performing > >> magic, and it doesn't matter what comes in or goes out either end. > >> "We'll take care of it." > > > > Deja vu. This is an isochronous RAID array you are having trouble > > with, isn't it? > > I don't believe so. I'm pretty sure the parity rotates; i.e. standard > RAID5/6. The location of parity doesn't dtermine that it is isochronous in behaviour or not. Often RAID5/6 is marketing speak for "single/dual parity", not the type of redundancy that is implemented in the hardware ;) > > FWIW, do your problems go away when you make you hardware LUN width > > a multiple of the cache segment size? > > Hadn't tried it. And I don't have the opportunity now as my contract > has ended. However the problems we were having weren't related to > controller issues but excessive seeking. I mentioned this in that > (rather lengthy) previous reply. Right, but if you had a 768k stripe width and a 1MB cache segment size, a cache segment operation would require two stripe widths to be operated on, and only one would be a whole stripe width. hence the possibility of doing more IOs than are necessary to populate or write back cache segments. i.e. it's a potential reason for why the back end disks didn't have anywhere near the expected seek capability they were supposed to have.... > >> optimal_io_size. I'm guessing this has different meaning for different > >> folks. You say optimal_io_size is the same as RAID width. Apply that > >> to this case: > >> > >> hardware RAID 60 LUN, 4 arrays > >> 16+2 RAID6, 256 KB stripe unit, 4096 KB stripe width > >> 16 MB LUN stripe width > >> optimal_io_size = 16 MB > >> > >> Is that an appropriate value for optimal_io_size even if this is the > >> RAID width? I'm not saying it isn't. I don't know. I don't know what > >> other layers of the Linux and RAID firmware stacks are affected by this, > >> nor how they're affected. > > > > yup, i'd expect minimum = 4MB (i.e stripe unit 4MB so we align to > > the underlying RAID6 luns) and optimal = 16MB for the stripe width > > (and so with swalloc we align to the first lun in the RAID0). > > At minimum 4MB how does that affect journal writes which will be much > smaller, especially with a large file streaming workload, for which this > setup is appropriate? Isn't the minimum a hard setting? I.e. we can > never do an IO less than 4MB? Do other layers of the stack use this > variable? Are they expecting values this large? No, "minimum_io_size" is for "minimum *efficient* IO size" not the smallest supported IO size. The smallest supported IO sizes and atomic IO sizes are defined by hw_sector_size, physical_block_size and logical_block_size. Cheers, Dave. -- Dave Chinner david@fromorbit.com From jencce.kernel@gmail.com Mon Oct 27 20: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=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 CA5F07F9F for ; Mon, 27 Oct 2014 20: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 B8EAA304032 for ; Mon, 27 Oct 2014 18:14:33 -0700 (PDT) X-ASG-Debug-ID: 1414458867-04cb6c2efc3b03b0001-NocioJ Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com [209.85.217.180]) by cuda.sgi.com with ESMTP id eW3J86tY5tJUGDyw (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 27 Oct 2014 18:14:28 -0700 (PDT) X-Barracuda-Envelope-From: jencce.kernel@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.217.180 X-Barracuda-IPDD: Level1 [gmail.com/209.85.217.180] Received: by mail-lb0-f180.google.com with SMTP id z12so3306487lbi.11 for ; Mon, 27 Oct 2014 18:14:27 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.217.180] X-Barracuda-IPDD: Level1 [gmail.com/209.85.217.180] 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=RyfzVFwHpGgwk7Co3ujjuDceZxLvzxAPG5J0UD8QBMg=; b=ATRo+LxCWjHGLYF6+p2Irwk+j6WRDwV12Y9QTCT1Ti1f46phHqMrZBFgOPddUSCLxK w06V8+A6d3vZbxbUnfXRmqmM1IS9hJv1M+rOktvQ1tTH3lFxaFoJV890AbMKHWXcvcrQ 9DUMZmgST4CQ2kMt/0c/LVj4skqK+46Cli1i/eHRvnwLWPeX9O5T6wH1ZZlgNhBa5znc 0sTWg6QfU8rnTZb3fBBXg1NkoRh5Q4OWaUqLl/Z37Iy87cn69a+mp3ef9Hn9GLUW3tQl YJuu6i5CMLOZtw7c3U6f101NjmdlFkEvz3EiN5uyszG391fpXU64WNK96KwTAKBRydbe du/A== MIME-Version: 1.0 X-Received: by 10.112.221.226 with SMTP id qh2mr80302lbc.5.1414458867389; Mon, 27 Oct 2014 18:14:27 -0700 (PDT) Received: by 10.152.7.197 with HTTP; Mon, 27 Oct 2014 18:14:27 -0700 (PDT) In-Reply-To: <20141027210523.GD6880@dastard> References: <20141016100913.GA8140@wfg-t540p.sh.intel.com> <20141016110127.GD6085@quack.suse.cz> <20141027010422.GA16186@dastard> <20141027095812.GA16093@quack.suse.cz> <20141027210523.GD6880@dastard> Date: Tue, 28 Oct 2014 09:14:27 +0800 Message-ID: Subject: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() From: Xiong Zhou X-ASG-Orig-Subj: Re: [vfs] WARNING: CPU: 3 PID: 2339 at mm/truncate.c:758 pagecache_isize_extended+0xdd/0x120() To: Dave Chinner Cc: Jan Kara , Fengguang Wu , "Theodore Ts'o" , LKML , lkp@01.org, "xfs@oss.sgi.com" , Linux-Fsdevel Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-lb0-f180.google.com[209.85.217.180] X-Barracuda-Start-Time: 1414458868 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.10976 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 still in rc2 ------------[ cut here ]------------ WARNING: CPU: 0 PID: 18152 at mm/truncate.c:758 pagecache_isize_extended+0xfd/0x110() Modules linked in: btrfs xor zlib_deflate raid6_pq ntfs fuse x86_pkg_temp_thermal wmi radeon e1000e ttm CPU: 0 PID: 18152 Comm: Cache I/O Tainted: G W 3.18.0-rc2 #1 Hardware name: Hewlett-Packard HP Compaq Elite 8300 MT/3397, BIOS K01 v02.05 05/07/2012 0000000000000009 ffff8800d1b3bd38 ffffffff81863216 0000000000000000 0000000000000000 ffff8800d1b3bd78 ffffffff8105046c ffffea0002e0b600 0000000000001000 ffff8800bb9a49a8 0000000000000000 0000000000031ada Call Trace: [] dump_stack+0x46/0x58 [] warn_slowpath_common+0x7c/0xa0 [] warn_slowpath_null+0x15/0x20 [] pagecache_isize_extended+0xfd/0x110 [] ? __xfs_get_blocks+0x4d0/0x4d0 [] truncate_setsize+0x22/0x40 [] xfs_setattr_size+0x10b/0x3c0 [] ? xfs_trans_commit+0x13e/0x220 [] xfs_file_fallocate+0x2e7/0x300 [] ? __sb_start_write+0x44/0xd0 [] do_fallocate+0x12a/0x1d0 [] SyS_fallocate+0x43/0x70 [] system_call_fastpath+0x12/0x17 ---[ end trace abf71ba1f4096942 ]--- 2014-10-28 5:05 GMT+08:00 Dave Chinner : > On Mon, Oct 27, 2014 at 10:58:12AM +0100, Jan Kara wrote: >> On Mon 27-10-14 12:04:22, Dave Chinner wrote: >> > On Thu, Oct 16, 2014 at 01:01:27PM +0200, Jan Kara wrote: >> > > From de3426d6495f4b44b14c09b7c7202e9a86d864b9 Mon Sep 17 00:00:00 2001 >> > > From: Jan Kara >> > > Date: Thu, 16 Oct 2014 12:58:42 +0200 >> > > Subject: [PATCH] mm: Remove false WARN_ON from pagecache_isize_extended() >> > > >> > > The WARN_ON checking whether i_mutex is held in >> > > pagecache_isize_extended() was wrong because some filesystems (e.g. >> > > XFS) use different locks for serialization of truncates / writes. So >> > > just remove the check. >> > > >> > > Signed-off-by: Jan Kara >> > > --- >> > > mm/truncate.c | 1 - >> > > 1 file changed, 1 deletion(-) >> > > >> > > diff --git a/mm/truncate.c b/mm/truncate.c >> > > index 261eaf6e5a19..c646084e5eec 100644 >> > > --- a/mm/truncate.c >> > > +++ b/mm/truncate.c >> > > @@ -755,7 +755,6 @@ void pagecache_isize_extended(struct inode *inode, loff_t from, loff_t to) >> > > struct page *page; >> > > pgoff_t index; >> > > >> > > - WARN_ON(!mutex_is_locked(&inode->i_mutex)); >> > > WARN_ON(to > inode->i_size); >> > > >> > > if (from >= to || bsize == PAGE_CACHE_SIZE) >> > >> > Jan, Have you sent this patch upstream yet? I'm seeing it fire in >> > my testing in 3.18-rc1 kernels, so I was wondering what your plans >> > are for this... >> I did send it but it got lost somewhere. I'll resend it. > > If it comes to it, I can push it through the XFS tree - I've got a > few patches I need to send for -rc3... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ From anonymous@awd1.activplatform.co.uk Tue Oct 28 00:04: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=3.9 required=5.0 tests=DATE_IN_PAST_06_12, HTML_IMAGE_RATIO_06,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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 75FD27F89 for ; Tue, 28 Oct 2014 00:04:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 63BA78F8033 for ; Mon, 27 Oct 2014 22:04:52 -0700 (PDT) X-ASG-Debug-ID: 1414472688-04cb6c2ef93c5060001-NocioJ Received: from awd1.activplatform.co.uk (awd1.activplatform.co.uk [159.253.210.8]) by cuda.sgi.com with ESMTP id olLFryMDv3r5UfRE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 22:04:49 -0700 (PDT) X-Barracuda-Envelope-From: anonymous@awd1.activplatform.co.uk X-Barracuda-Apparent-Source-IP: 159.253.210.8 Received: (qmail 10068 invoked by uid 48); 27 Oct 2014 22:29:10 +0000 Date: 27 Oct 2014 22:29:10 +0000 Message-ID: <20141027222910.10065.qmail@awd1.activplatform.co.uk> To: xfs@oss.sgi.com Subject: Update Your Account Apple. From: Apple X-ASG-Orig-Subj: Update Your Account Apple. Reply-To: MIME-Version: 1.0 Content-Type: text/html Content-Transfer-Encoding: 8bit X-Barracuda-Connect: awd1.activplatform.co.uk[159.253.210.8] X-Barracuda-Start-Time: 1414472689 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: 1ba6bd08056625f7a23644d028945971-3432-htm X-Barracuda-Spam-Score: 2.17 X-Barracuda-Spam-Status: No, SCORE=2.17 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_IMAGE_RATIO_06, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10981 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 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area 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 1.10 DATE_IN_PAST_06_12_2 DATE_IN_PAST_06_12_2


Hi,

We inform you that your Apple ID expires in less than 48 hours.

It is imperative to conduct an audit of your information is present, otherwise your ID will be destroyed.
Just click the link below and log in with your Apple ID and password.
Check now.

This is an automatically generated message. Thank you not to answer. If you need help, please visit the website Support.

Cordialement,
L'Assistance client Apple
From anonymous@awd1.activplatform.co.uk Tue Oct 28 00: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=3.9 required=5.0 tests=DATE_IN_PAST_06_12, HTML_IMAGE_RATIO_06,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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C88497F90 for ; Tue, 28 Oct 2014 00:15:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 46B63AC00A for ; Mon, 27 Oct 2014 22:15:28 -0700 (PDT) X-ASG-Debug-ID: 1414473322-04cbb070c5407120001-NocioJ Received: from awd1.activplatform.co.uk (awd1.activplatform.co.uk [159.253.210.8]) by cuda.sgi.com with ESMTP id DrdRvCpC4w4ta8II (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 27 Oct 2014 22:15:23 -0700 (PDT) X-Barracuda-Envelope-From: anonymous@awd1.activplatform.co.uk X-Barracuda-Apparent-Source-IP: 159.253.210.8 Received: (qmail 23435 invoked by uid 48); 27 Oct 2014 22:34:44 +0000 Date: 27 Oct 2014 22:34:44 +0000 Message-ID: <20141027223444.23432.qmail@awd1.activplatform.co.uk> To: xfs@oss.sgi.com Subject: Update Your Apple Account. From: Apple X-ASG-Orig-Subj: Update Your Apple Account. Reply-To: MIME-Version: 1.0 Content-Type: text/html Content-Transfer-Encoding: 8bit X-Barracuda-Connect: awd1.activplatform.co.uk[159.253.210.8] X-Barracuda-Start-Time: 1414473323 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: 1ba6bd08056625f7a23644d028945971-3432-htm X-Barracuda-Spam-Score: 2.17 X-Barracuda-Spam-Status: No, SCORE=2.17 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_IMAGE_RATIO_06, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10981 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 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area 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 1.10 DATE_IN_PAST_06_12_2 DATE_IN_PAST_06_12_2


Hi,

We inform you that your Apple ID expires in less than 48 hours.

It is imperative to conduct an audit of your information is present, otherwise your ID will be destroyed.
Just click the link below and log in with your Apple ID and password.
Check now.

This is an automatically generated message. Thank you not to answer. If you need help, please visit the website Support.

Cordialement,
L'Assistance client Apple
From bounces@newsletter.my Tue Oct 28 03: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=0.0 required=5.0 tests=RCVD_NUMERIC_HELO 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 59A737F6D for ; Tue, 28 Oct 2014 03:36:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3829930404E for ; Tue, 28 Oct 2014 01:36:02 -0700 (PDT) X-ASG-Debug-ID: 1414485358-04bdf038cf4b3be0001-NocioJ Received: from smtp-89.newsletter.my (smtp-89.newsletter.my [210.1.224.89]) by cuda.sgi.com with ESMTP id 9At2QbM9E9YjA6IB for ; Tue, 28 Oct 2014 01:35:59 -0700 (PDT) X-Barracuda-Envelope-From: bounces@newsletter.my X-Barracuda-Apparent-Source-IP: 210.1.224.89 Received: from e.newsletter.my/ (smtp-83.newsletter.my [210.1.224.83]) by smtp-89.newsletter.my (Postfix) with ESMTP id 742C381799 for ; Tue, 28 Oct 2014 16:35:58 +0800 (MYT) Received: from 202.43.101.30 [202.43.101.30] by e.newsletter.my with HTTP; Tue, 28 Oct 2014 16:35:57 +0800 Date: Tue, 28 Oct 2014 16:35:58 +0800 To: xfs@oss.sgi.com From: eVOX Newsletter Reply-To: eVOX Newsletter Subject: New Generation Of PABX System For Enterprise Message-ID: X-ASG-Orig-Subj: New Generation Of PABX System For Enterprise X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.8 X-MessageID: 49 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: bounces@newsletter.my List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: smtp-89.newsletter.my[210.1.224.89] X-Barracuda-Start-Time: 1414485359 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=RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10984 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO This message was sent to xfs@oss.sgi.com by sales@evox.my To change your details and to choose which lists to be subscribed to, visit your personal preferences page From bounces@newsletter.my Tue Oct 28 03: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=2.8 required=5.0 tests=HTML_IMAGE_ONLY_24, HTML_MESSAGE,RCVD_NUMERIC_HELO 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 4E84F7F6D for ; Tue, 28 Oct 2014 03:39:54 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3A46B304048 for ; Tue, 28 Oct 2014 01:39:54 -0700 (PDT) X-ASG-Debug-ID: 1414485583-04cb6c2ef93ccfe0001-NocioJ Received: from smtp-87.newsletter.my (smtp-87.newsletter.my [210.1.224.87]) by cuda.sgi.com with ESMTP id GFbrnpebnGFwZefP for ; Tue, 28 Oct 2014 01:39:46 -0700 (PDT) X-Barracuda-Envelope-From: bounces@newsletter.my X-Barracuda-Apparent-Source-IP: 210.1.224.87 Received: from e.newsletter.my/ (smtp-83.newsletter.my [210.1.224.83]) by smtp-87.newsletter.my (Postfix) with ESMTP id 0E5358160A for ; Tue, 28 Oct 2014 16:39:43 +0800 (MYT) Received: from 222.73.24.83 [222.73.24.83] by e.newsletter.my with HTTP; Tue, 28 Oct 2014 16:39:42 +0800 Date: Tue, 28 Oct 2014 16:39:43 +0800 To: xfs@oss.sgi.com From: "e.newsletter.my" Reply-To: "e.newsletter.my" Subject: [notify] Change of List-Membership details Message-ID: <2f470e99ca7b7ba65820289626b7f9cc@e.newsletter.my> X-ASG-Orig-Subj: [notify] Change of List-Membership details X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.8 X-MessageID: systemmessage X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: bounces@newsletter.my List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_2f470e99ca7b7ba65820289626b7f9cc" X-Barracuda-Connect: smtp-87.newsletter.my[210.1.224.87] X-Barracuda-Start-Time: 1414485583 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.54 X-Barracuda-Spam-Status: No, SCORE=2.54 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_IMAGE_ONLY_24, HTML_IMAGE_ONLY_24_2, HTML_MESSAGE, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.10984 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO 0.00 HTML_IMAGE_ONLY_24 BODY: HTML: images with 2000-2400 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 1.28 HTML_IMAGE_ONLY_24_2 HTML: images with 2000-2400 bytes of words 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO --b1_2f470e99ca7b7ba65820289626b7f9cc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 This message is to inform you of a change of your details on our=0Anewsle= tter database You are currently member of the following newsletters: =20 No Lists =20 =20 Please Note: when updating your details, your email address has changed. A message has been sent to your new email address with a URL to confirm this change. Please visit this website to activate your membership. =20 =20 The information on our system for you is as follows: =20 Email address : zenglg.jy@cn.fujitsu.com Send HTML email : No =20 If this is not correct, please update your information at the following= =0Alocation: =20 =0Ahttp://e.newsletter.my/lists/?p=3Dpreferences&uid=3Dd405c7a9aedfa1ffdcd= cf9dd2f168c8d =20 Thank you =20 =20 --b1_2f470e99ca7b7ba65820289626b7f9cc Content-Type: multipart/related; boundary="b2_2f470e99ca7b7ba65820289626b7f9cc" --b2_2f470e99ca7b7ba65820289626b7f9cc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

=0A
[notify] Change= of List-Membership details=0A

=0A
=0A This me= ssage is to inform you of a change of your details on our newsletter databa= se
=0A
=0A You are currently member of the following newsletters= :
=0A
=0A No Lists
=0A
=0A
=0A Please Note= : when updating your details, your email address has changed.
=0A
=0A A message has been sent to your new email address with a URL
=0A= to confirm this change. Please visit this website to activate
=0A y= our membership.
=0A
=0A
=0A The information on our syst= em for you is as follows:
=0A
=0A Email address : zenglg.jy@cn= .fujitsu.com
=0ASend HTML email : No
=0A
=0A
=0A If = this is not correct, please update your information at the following locati= on:
=0A
=0A http://e.newsletter.my/lists= /?p=3Dpreferences&uid=3Dd405c7a9aedfa1ffdcdcf9dd2f168c8d
=0A
=0A Thank you
=0A
=0A
=0A

3D"powered

=0A
=0A
--b2_2f470e99ca7b7ba65820289626b7f9cc Content-Type: image/png; name="powerphplist.png" Content-Transfer-Encoding: base64 Content-ID: <5feee20bda9c6a2820962b290b7043e0> Content-Disposition: inline; filename="powerphplist.png" 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 RK5CYII= --b2_2f470e99ca7b7ba65820289626b7f9cc-- --b1_2f470e99ca7b7ba65820289626b7f9cc-- From jan.kokoska@gmail.com Tue Oct 28 10:38: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,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 9DC897F6D for ; Tue, 28 Oct 2014 10:38:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 896F88F8050 for ; Tue, 28 Oct 2014 08:38:43 -0700 (PDT) X-ASG-Debug-ID: 1414510721-04cb6c2ef93dfe40001-NocioJ Received: from mail-qc0-f181.google.com (mail-qc0-f181.google.com [209.85.216.181]) by cuda.sgi.com with ESMTP id Aqv5sgcCK9J46bcM (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 08:38:42 -0700 (PDT) X-Barracuda-Envelope-From: jan.kokoska@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.181] Received: by mail-qc0-f181.google.com with SMTP id w7so739947qcr.12 for ; Tue, 28 Oct 2014 08:38:41 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=TO5umNx1n3eQCia0WmApgogM6tND+LMcntfS4XD19+s=; b=ycSPnE/WUBCCHWZuefr1Vg21PDdM9I8Rm9TKa6MoEHb3zBUvnj9jKWiEGomTBDtCkY t9nftelbCEuLsNHCW9GjliGUOo1Nz/WQp+Th3GWHsxSrPlXGrlvVjucEC7nwBOgOtvrI MhqyMg4W/PHR1evGj8fbczdK+n3V17V7+79PGc/xvWtP8X9bFuLC3D6k3WK5TFEazbM3 PIkL7B3CYU/ONXU/XkuU3DfKtOVx11fmtNL+MY2qxOJJ3KlZZ1/Z90uMUwgGWW0jkBPG nU5gFTlWUhus4m6TKrjuWX6e09vbwKJrnkVwvTJBwSpmPwQ5IMCwNWij+sqQdd+FPLqy 8S5Q== MIME-Version: 1.0 X-Received: by 10.224.66.200 with SMTP id o8mr6313279qai.88.1414510699914; Tue, 28 Oct 2014 08:38:19 -0700 (PDT) Sender: jan.kokoska@gmail.com Received: by 10.140.30.2 with HTTP; Tue, 28 Oct 2014 08:38:19 -0700 (PDT) Date: Tue, 28 Oct 2014 16:38:19 +0100 X-Google-Sender-Auth: tpxvHWK-ZT-wqlNBZFIlLAeCt34 Message-ID: Subject: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel From: Jan Kokoska X-ASG-Orig-Subj: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel To: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=001a11c2beb0d04fb905067d6fd9 X-Barracuda-Connect: mail-qc0-f181.google.com[209.85.216.181] X-Barracuda-Start-Time: 1414510721 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.10991 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 --001a11c2beb0d04fb905067d6fd9 Content-Type: multipart/alternative; boundary=001a11c2beb0d04fac05067d6fd7 --001a11c2beb0d04fac05067d6fd7 Content-Type: text/plain; charset=UTF-8 Hi, I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel on several amd64 machines by different manufacturers (HP and Supermicro) and different RAID cards (HP and Areca). I've started seeing kernel crashes in October, as per the netconsole logs attached, on two of the machines (one HP, one Supermicro). The traces look quite similar, the machine in question cannot write anything to its own filesystem when this happens so the logs are made over the network. The XFS filesystem is not root (that's ext4), but one for data (OS containers), on both machines. When I run xfs_check and xfs_repair on the filesystem after the kernel crash & reboot, no issue is ever found. This may very well have nothing to do with XFS kernel code you wrote and maintain, but in that case, could you, from looking at the traces, tell me whether it maybe looks like something issue related to vm/paging just ending up in XFS related code path? I'm happy to test any suggestions/fixes for this if it is XFS related. Thank you, -- Jan Kokoska Glow Internet s.r.o. --001a11c2beb0d04fac05067d6fd7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I'm running OpenVZ (= OS container) kernel variant of RHEL6 kernel on
several amd64 mac= hines by different manufacturers (HP and Supermicro)
and differen= t RAID cards (HP and Areca).

I've started seei= ng kernel crashes in October, as per the netconsole
logs attached= , on two of the machines (one HP, one Supermicro). The
traces loo= k quite similar, the machine in question cannot write
anything to= its own filesystem when this happens so the logs are made
over t= he network. The XFS filesystem is not root (that's ext4), but
one for data (OS containers), on both machines. When I run xfs_check
=
and xfs_repair on the filesystem after the kernel crash & reboot, = no
issue is ever found.

This may very we= ll have nothing to do with XFS kernel code you wrote
and maintain= , but in that case, could you, from looking at the traces,
tell m= e whether it maybe looks like something issue related to
vm/pagin= g just ending up in XFS related code path?

I'm= happy to test any suggestions/fixes for this if it is XFS related.

Thank you,
--=C2=A0
Jan Kokoska
Glo= w Internet s.r.o.
--001a11c2beb0d04fac05067d6fd7-- --001a11c2beb0d04fb905067d6fd9 Content-Type: text/plain; charset=US-ASCII; name="corylus_crash1.txt" Content-Disposition: attachment; filename="corylus_crash1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1tf3xkg0 WzIyNzU1NDIwLjc1ODcyMV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsy Mjc1NTQyMC43NTg4MDddIGtlcm5lbCBCVUcgYXQgZnMveGZzL2xpbnV4LTIuNi94ZnNfYW9wcy5j Ojg2IQpbMjI3NTU0MjAuNzU4ODg0XSBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIApbMjI3NTU0 MjAuNzU4OTY1XSBsYXN0IHN5c2ZzIGZpbGU6IC9zeXMvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6 MDA6MDIuMi8wMDAwOjAyOjAwLjAvaG9zdDIvdWV2ZW50ClsyMjc1NTQyMC43NTkxMDhdIENQVSAy IApbMjI3NTU0MjAuNzU5MTE2XSBNb2R1bGVzIGxpbmtlZCBpbjogbmV0Y29uc29sZSBjb25maWdm cyBidHJmcyhUKSBsem9fY29tcHJlc3MgbHpvX2RlY29tcHJlc3MgemxpYl9kZWZsYXRlIHZmYXQg bXNkb3MgZmF0IHJlaXNlcmZzIGV4dDMgamJkIGV4dDIgdnpldGhkZXYgdnpuZXRkZXYgcGlvX25m cyBwaW9fZGlyZWN0IHBmbXRfcmF3IHBmbXRfcGxvb3AxIHBsb29wIHNpbWZzIHZ6cnN0IHZ6Y3B0 IHZ6aW9saW1pdCB2emRxdW90YSB2em1vbiB2emRldiB4dF9zdGF0ZSB4dF9sZW5ndGggeHRfaGwg eHRfdGNwbXNzIHh0X1RDUE1TUyB4dF9tdWx0aXBvcnQgeHRfCmxpbWl0IHh0X2RzY3AgaXB0X1JF SkVDVCB2emV2ZW50IG5mc2QgbmZzIG5mc19hY2wgYXV0aF9ycGNnc3MgZnNjYWNoZSBsb2NrZCBz dW5ycGMgaXB2NiB4ZnMgaXB0YWJsZV9uYXQgbmZfbmF0IG5mX2Nvbm50cmFja19pcHY0IG5mX2Rl ZnJhZ19pcHY0IG5mX2Nvbm50cmFjayBpcHRhYmxlX21hbmdsZSBpcHRhYmxlX2ZpbHRlciBpcF90 YWJsZXMgdHVuIGZ1c2Ugc25kX3Bjc3Agc25kX3BjbSBzbmRfcGFnZV9hbGxvYyBzbmRfdGltZXIg c25kIGlUQ09fd2R0IHNvdW5kY29yZSBpVENPX3ZlbmRvcl9zdXBwb3J0IGhwd2R0IHNlcmlvX3Jh dyBocGlsbyBwb3dlcl8KbWV0ZXIgaW9hdGRtYSBkY2Egc2hwY2hwIGV4dDQgamJkMiBtYmNhY2hl IHNyX21vZCBjZHJvbSBhdGFfZ2VuZXJpYyBzZF9tb2QgY3JjX3QxMGRpZiBzZyBwYXRhX2FjcGkg dXNiX3N0b3JhZ2UgYXRhX3BpaXggaHBzYSB0ZzMgYmUybmV0IFtsYXN0IHVubG9hZGVkOiBzY3Np X3dhaXRfc2Nhbl0KWzIyNzU1NDIwLjc2MDM4NF0gClsyMjc1NTQyMC43NjA0NTVdIFBpZDogMTAw LCBjb21tOiBrc3dhcGQwIHZlaWQ6IDAgVGFpbnRlZDogRyAgICAgICAgIEMgLS0tLS0tLS0tLS0t LS0tICBUIDIuNi4zMi1vcGVudnotYW1kNjQgIzEgMDQyc3RhYjA4NF8yMCBIUCBQcm9MaWFudCBE TDM4MHAgR2VuOApbMjI3NTU0MjAuNzYwNjA1XSBSSVA6IDAwMTA6WzxmZmZmZmZmZmEwMjc1Yjhk Pl0gIFs8ZmZmZmZmZmZhMDI3NWI4ZD5dIHhmc19jb3VudF9wYWdlX3N0YXRlKzB4NWQvMHg3MCBb eGZzXQpbMjI3NTU0MjAuNzYwNzg2XSBSU1A6IDAwMTg6ZmZmZjg4MDQzYzNmYjcwMCAgRUZMQUdT OiAwMDAxMDI0NgpbMjI3NTU0MjAuNzYwODYwXSBSQVg6IDAwNDAwMDAwMDAwNjAwMDkgUkJYOiBm ZmZmODgwNDNjM2Q0ZGIwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApbMjI3NTU0MjAuNzYwOTk3XSBS RFg6IGZmZmY4ODA0M2MzZmI3OTggUlNJOiBmZmZmODgwNDNjM2ZiNzljIFJESTogZmZmZmVhMDAw YWUzMDMwMApbMjI3NTU0MjAuNzYxMTM1XSBSQlA6IGZmZmY4ODA0M2MzZmI3MDAgUjA4OiAwMDAw MDAwMDAwMDAwMDQwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApbMjI3NTU0MjAuNzYxMjc0XSBSMTA6 IDAwMDAwMDAwMDAwMDAwMDAgUjExOiA3ZmZmZmZmZmZmZmZmZmZmIFIxMjogMDAwMDAwMDAwMDAw MDAwMApbMjI3NTU0MjAuNzYyNzU2XSBSMTM6IGZmZmZlYTAwMGFlMzAzMDAgUjE0OiBmZmZmZWEw MDBhZTMwMzAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMApbMjI3NTU0MjAuNzYyODkwXSBGUzogIDAw MDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDAzOTQ4MDAwMCgwMDAwKSBrbmxHUzowMDAw MDAwMDAwMDAwMDAwClsyMjc1NTQyMC43NjMwMjVdIENTOiAgMDAxMCBEUzogMDAxOCBFUzogMDAx OCBDUjA6IDAwMDAwMDAwODAwNTAwM2IKWzIyNzU1NDIwLjc2MzA5OV0gQ1IyOiAwMDAwMDAwMDE5 MGU2MDAwIENSMzogMDAwMDAwMDNjNzc1MTAwMCBDUjQ6IDAwMDAwMDAwMDAwNDA3ZTAKWzIyNzU1 NDIwLjc2MzIzMl0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBE UjI6IDAwMDAwMDAwMDAwMDAwMDAKWzIyNzU1NDIwLjc2MzM2OV0gRFIzOiAwMDAwMDAwMDAwMDAw MDAwIERSNjogMDAwMDAwMDBmZmZmMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKWzIyNzU1NDIw Ljc2MzUwOF0gUHJvY2VzcyBrc3dhcGQwIChwaWQ6IDEwMCwgdmVpZDogMCwgdGhyZWFkaW5mbyBm ZmZmODgwNDNjM2ZhMDAwLCB0YXNrIGZmZmY4ODA0M2MzZDRkYjApClsyMjc1NTQyMC43NjM2NTFd IFN0YWNrOgpbMjI3NTU0MjAuNzYzNzIwXSAgZmZmZjg4MDQzYzNmYjdkMCBmZmZmZmZmZmEwMjc3 MzIyIDAwMDAwMDAwMDAwMDAwMDggMDAwMDAwMDAwMDAwMDAwMQpbMjI3NTU0MjAuNzYzODEzXSA8 ZD4gMDAwMDAwMDEwMDAwMDAwMSBmZmZmZWEwMDA0ZDA4ZDAwIDAwMDAwMDAwMDAwMDAwMDEgMDAw MDAwMDA0MDAwMDAwMApbMjI3NTU0MjAuNzYzOTc0XSA8ZD4gZmZmZjg4MDQzYzNmYjdlMCAwMDAw MDAwMDAwMDAxMDAwIGZmZmY4ODAwYWU1MWY4ODAgMDAwMDAwMDM4MTE0NzMyOApbMjI3NTU0MjAu NzY0MTk4XSBDYWxsIFRyYWNlOgpbMjI3NTU0MjAuNzY0MjkwXSAgWzxmZmZmZmZmZmEwMjc3MzIy Pl0geGZzX3ZtX3dyaXRlcGFnZSsweDcyLzB4NTkwIFt4ZnNdClsyMjc1NTQyMC43NjQzNjhdICBb PGZmZmZmZmZmODExNGMzZmI+XSBULjExNzUrMHgxMmIvMHgzMDAKWzIyNzU1NDIwLjc2NDQ0M10g IFs8ZmZmZmZmZmY4MTE0ZDM4OD5dIFQuMTE3NCsweDY5OC8weGE4MApbMjI3NTU0MjAuNzY0NTE4 XSAgWzxmZmZmZmZmZjgxMTRiYmY4Pl0gPyBpc29sYXRlX2xydV9wYWdlcysweDExOC8weDFmMApb MjI3NTU0MjAuNzY0NTk0XSAgWzxmZmZmZmZmZjgxMTRkYWU3Pl0gc2hyaW5rX2luYWN0aXZlX2xp c3QrMHgzNzcvMHg5ZjAKWzIyNzU1NDIwLjc2NDY2OV0gIFs8ZmZmZmZmZmY4MTE0OWIwNj5dID8g X19wYWdldmVjX3JlbGVhc2UrMHgyNi8weDQwClsyMjc1NTQyMC43NjQ3NDVdICBbPGZmZmZmZmZm ODExNGI4Zjg+XSA/IG1vdmVfYWN0aXZlX3BhZ2VzX3RvX2xydSsweDFhOC8weDFmMApbMjI3NTU0 MjAuNzY0ODIxXSAgWzxmZmZmZmZmZjgxMTRjMDkzPl0gPyBzaHJpbmtfYWN0aXZlX2xpc3QrMHgy YzMvMHgzOTAKWzIyNzU1NDIwLjc2NDg5OF0gIFs8ZmZmZmZmZmY4MTE0NTc5YT5dID8gZGV0ZXJt aW5lX2RpcnR5YWJsZV9tZW1vcnkrMHgxYS8weDMwClsyMjc1NTQyMC43NjQ5NzNdICBbPGZmZmZm ZmZmODExNGU1ODA+XSBzaHJpbmtfbHJ1dmVjKzB4NDIwLzB4NjAwClsyMjc1NTQyMC43NjUwNDhd ICBbPGZmZmZmZmZmODExNGU5Mzc+XSBzaHJpbmtfem9uZSsweDFkNy8weDQwMApbMjI3NTU0MjAu NzY1MTIyXSAgWzxmZmZmZmZmZjgxMTRmOTEzPl0gYmFsYW5jZV9wZ2RhdCsweDllMy8weGI2MApb MjI3NTU0MjAuNzY1MTk5XSAgWzxmZmZmZmZmZjgxMTVhYjAwPl0gPyByZWZyZXNoX3pvbmVfc3Rh dF90aHJlc2hvbGRzKzB4MC8weGMwClsyMjc1NTQyMC43NjUyNzVdICBbPGZmZmZmZmZmODExNGZj MGY+XSBrc3dhcGQrMHgxN2YvMHg0MDAKWzIyNzU1NDIwLjc2NTM1NF0gIFs8ZmZmZmZmZmY4MTA5 ZGE5MD5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDQwClsyMjc1NTQyMC43NjU0 MzBdICBbPGZmZmZmZmZmODExNGZhOTA+XSA/IGtzd2FwZCsweDAvMHg0MDAKWzIyNzU1NDIwLjc2 NTUwNF0gIFs8ZmZmZmZmZmY4MTA5ZDRiNj5dIGt0aHJlYWQrMHg5Ni8weGEwClsyMjc1NTQyMC43 NjU1ODBdICBbPGZmZmZmZmZmODEwMGMxYWE+XSBjaGlsZF9yaXArMHhhLzB4MjAKWzIyNzU1NDIw Ljc2NTY1NV0gIFs8ZmZmZmZmZmY4MTA5ZDQyMD5dID8ga3RocmVhZCsweDAvMHhhMApbMjI3NTU0 MjAuNzY1NzI3XSAgWzxmZmZmZmZmZjgxMDBjMWEwPl0gPyBjaGlsZF9yaXArMHgwLzB4MjAKWzIy NzU1NDIwLjc2NTgwMF0gQ29kZTogPDBmPiAKWzIyNzU1NDIwLjc2NjMwNV0gUklQICBbPGZmZmZm ZmZmYTAyNzViOGQ+XSB4ZnNfY291bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzIyNzU1 NDIwLjc2NjQwNF0gIFJTUCA8ZmZmZjg4MDQzYzNmYjcwMD4KWzIyNzU1NDIwLjc2Njg2Ml0gLS0t WyBlbmQgdHJhY2UgYmZlMGEwMzI3NTk3MjkwOSBdLS0tClsyMjc1NTQyMC43NjY5ODZdIEtlcm5l bCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24KWzIyNzU1NDIwLjc2NzExMF0g UGlkOiAxMDAsIGNvbW06IGtzd2FwZDAgdmVpZDogMCBUYWludGVkOiBHICAgICAgRCAgQyAtLS0t LS0tLS0tLS0tLS0gIFQgMi42LjMyLW9wZW52ei1hbWQ2NCAjMQpbMjI3NTU0MjAuNzY3Mjk5XSBD YWxsIFRyYWNlOgpbMjI3NTU0MjAuNzY3NDIzXSAgWzxmZmZmZmZmZjgxNTE4MmNkPl0gPyBwYW5p YysweGE3LzB4MTZmClsyMjc1NTQyMC43Njc1NDhdICBbPGZmZmZmZmZmODE1MWNjODQ+XSA/IG9v cHNfZW5kKzB4ZTQvMHgxMDAKWzIyNzU1NDIwLjc2NzY3M10gIFs8ZmZmZmZmZmY4MTAwZjI5Yj5d ID8gZGllKzB4NWIvMHg5MApbMjI3NTU0MjAuNzY3Nzk3XSAgWzxmZmZmZmZmZjgxNTFjNGE0Pl0g PyBkb190cmFwKzB4YzQvMHgxNzAKWzIyNzU1NDIwLjc2NzkyMl0gIFs8ZmZmZmZmZmY4MTAwY2Vh NT5dID8gZG9faW52YWxpZF9vcCsweDk1LzB4YjAKWzIyNzU1NDIwLjc2ODA2Nl0gIFs8ZmZmZmZm ZmZhMDI3NWI4ZD5dID8geGZzX2NvdW50X3BhZ2Vfc3RhdGUrMHg1ZC8weDcwIFt4ZnNdClsyMjc1 NTQyMC43NjgxOTZdICBbPGZmZmZmZmZmODEyNjYwZjM+XSA/IHN1Ym1pdF9iaW8rMHhmMy8weDFh MApbMjI3NTU0MjAuNzY4MzIwXSAgWzxmZmZmZmZmZjgxMDBiZjNiPl0gPyBpbnZhbGlkX29wKzB4 MWIvMHgyMApbMjI3NTU0MjAuNzY4NDYyXSAgWzxmZmZmZmZmZmEwMjc1YjhkPl0gPyB4ZnNfY291 bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzIyNzU1NDIwLjc2ODYwNF0gIFs8ZmZmZmZm ZmZhMDI3NzMyMj5dID8geGZzX3ZtX3dyaXRlcGFnZSsweDcyLzB4NTkwIFt4ZnNdClsyMjc1NTQy MC43Njg3MzJdICBbPGZmZmZmZmZmODExNGMzZmI+XSA/IFQuMTE3NSsweDEyYi8weDMwMApbMjI3 NTU0MjAuNzY4ODU3XSAgWzxmZmZmZmZmZjgxMTRkMzg4Pl0gPyBULjExNzQrMHg2OTgvMHhhODAK WzIyNzU1NDIwLjc2ODk3OV0gIFs8ZmZmZmZmZmY4MTE0YmJmOD5dID8gaXNvbGF0ZV9scnVfcGFn ZXMrMHgxMTgvMHgxZjAKWzIyNzU1NDIwLjc2OTEwM10gIFs8ZmZmZmZmZmY4MTE0ZGFlNz5dID8g c2hyaW5rX2luYWN0aXZlX2xpc3QrMHgzNzcvMHg5ZjAKWzIyNzU1NDIwLjc2OTIyNl0gIFs8ZmZm ZmZmZmY4MTE0OWIwNj5dID8gX19wYWdldmVjX3JlbGVhc2UrMHgyNi8weDQwClsyMjc1NTQyMC43 NjkzNDldICBbPGZmZmZmZmZmODExNGI4Zjg+XSA/IG1vdmVfYWN0aXZlX3BhZ2VzX3RvX2xydSsw eDFhOC8weDFmMApbMjI3NTU0MjAuNzY5NDc3XSAgWzxmZmZmZmZmZjgxMTRjMDkzPl0gPyBzaHJp bmtfYWN0aXZlX2xpc3QrMHgyYzMvMHgzOTAKWzIyNzU1NDIwLjc2OTYwNF0gIFs8ZmZmZmZmZmY4 MTE0NTc5YT5dID8gZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkrMHgxYS8weDMwClsyMjc1NTQy MC43Njk3MjldICBbPGZmZmZmZmZmODExNGU1ODA+XSA/IHNocmlua19scnV2ZWMrMHg0MjAvMHg2 MDAKWzIyNzU1NDIwLjc2OTg1Ml0gIFs8ZmZmZmZmZmY4MTE0ZTkzNz5dID8gc2hyaW5rX3pvbmUr MHgxZDcvMHg0MDAKWzIyNzU1NDIwLjc2OTk3Nl0gIFs8ZmZmZmZmZmY4MTE0ZjkxMz5dID8gYmFs YW5jZV9wZ2RhdCsweDllMy8weGI2MApbMjI3NTU0MjAuNzcwMTA1XSAgWzxmZmZmZmZmZjgxMTVh YjAwPl0gPyByZWZyZXNoX3pvbmVfc3RhdF90aHJlc2hvbGRzKzB4MC8weGMwClsyMjc1NTQyMC43 NzAyMjldICBbPGZmZmZmZmZmODExNGZjMGY+XSA/IGtzd2FwZCsweDE3Zi8weDQwMApbMjI3NTU0 MjAuNzcwMzU1XSAgWzxmZmZmZmZmZjgxMDlkYTkwPl0gPyBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rp b24rMHgwLzB4NDAKWzIyNzU1NDIwLjc3MDQ3Nl0gIFs8ZmZmZmZmZmY4MTE0ZmE5MD5dID8ga3N3 YXBkKzB4MC8weDQwMApbMjI3NTU0MjAuNzcwNTk4XSAgWzxmZmZmZmZmZjgxMDlkNGI2Pl0gPyBr dGhyZWFkKzB4OTYvMHhhMApbMjI3NTU0MjAuNzcwNzIwXSAgWzxmZmZmZmZmZjgxMDBjMWFhPl0g PyBjaGlsZF9yaXArMHhhLzB4MjAKWzIyNzU1NDIwLjc3MDg0M10gIFs8ZmZmZmZmZmY4MTA5ZDQy MD5dID8ga3RocmVhZCsweDAvMHhhMApbMjI3NTU0MjAuNzcwOTYyXSAgWzxmZmZmZmZmZjgxMDBj MWEwPl0gPyBjaGlsZF9yaXArMHgwLzB4MjAKWzIyNzU1NDIwLjc3MTEzNl0gLS0tLS0tLS0tLS0t WyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsyMjc1NTQyMC43NzEyNTddIFdBUk5JTkc6IGF0IGFy Y2gveDg2L2tlcm5lbC9zbXAuYzoxMTcgbmF0aXZlX3NtcF9zZW5kX3Jlc2NoZWR1bGUrMHg1Yy8w eDYwKCkgKFRhaW50ZWQ6IEcgICAgICBEICBDIC0tLS0tLS0tLS0tLS0tLSAgVCkKWzIyNzU1NDIw Ljc3MTQ0MV0gSGFyZHdhcmUgbmFtZTogUHJvTGlhbnQgREwzODBwIEdlbjgKWzIyNzU1NDIwLjc3 MTU1OF0gTW9kdWxlcyBsaW5rZWQgaW46IG5ldGNvbnNvbGUgY29uZmlnZnMgYnRyZnMoVCkgbHpv X2NvbXByZXNzIGx6b19kZWNvbXByZXNzIHpsaWJfZGVmbGF0ZSB2ZmF0IG1zZG9zIGZhdCByZWlz ZXJmcyBleHQzIGpiZCBleHQyIHZ6ZXRoZGV2IHZ6bmV0ZGV2IHBpb19uZnMgcGlvX2RpcmVjdCBw Zm10X3JhdyBwZm10X3Bsb29wMSBwbG9vcCBzaW1mcyB2enJzdCB2emNwdCB2emlvbGltaXQgdnpk cXVvdGEgdnptb24gdnpkZXYgeHRfc3RhdGUgeHRfbGVuZ3RoIHh0X2hsIHh0X3RjcG1zcyB4dF9U Q1BNU1MgeHRfbXVsdGlwb3J0IHh0X2xpbWl0IHh0X2RzY3AgaXB0X1JFSkVDVCB2emV2ZW50IG5m c2QgbmZzIG5mc19hY2wgYXV0aF9ycGNnc3MgZnNjYWNoZSBsb2NrZCBzdW5ycGMgaXB2NiB4ZnMg aXB0YWJsZV9uYXQgbmZfbmF0IG5mX2Nvbm50cmFja19pcHY0IG5mX2RlZnJhZ19pcHY0IG5mX2Nv bm50cmFjayBpcHRhYmxlX21hbmdsZSBpcHRhYmxlX2ZpbHRlciBpcF90YWJsZXMgdHVuIGZ1c2Ug c25kX3Bjc3Agc25kX3BjbSBzbmRfcGFnZV9hbGxvYyBzbmRfdGltZXIgc25kIGlUQ09fd2R0IHNv dW5kY29yZSBpVENPX3ZlbmRvcl9zdXBwb3J0IGhwd2R0IHNlcmlvX3JhdyBocGlsbyBwb3dlcl9t ZXRlciBpb2F0ZG1hIGRjYSBzaHBjaHAgZXh0NCBqYmQyIG1iY2FjaGUgc3JfbW9kIGNkcm9tIGF0 YV9nZW5lcmljIHNkX21vZCBjcmNfdDEwZGlmIHNnIHBhdGFfYWNwaSB1c2Jfc3RvcmFnZSBhdGFf cGlpeCBocHNhIHRnMyBiZTJuZXQgW2xhc3QgdW5sb2FkZWQ6IHNjc2lfd2FpdF9zY2FuXQpbMjI3 NTU0MjAuNzc3Mjk4XSBQaWQ6IDEwMCwgY29tbToga3N3YXBkMCB2ZWlkOiAwIFRhaW50ZWQ6IEcg ICAgICBEICBDIC0tLS0tLS0tLS0tLS0tLSAgVCAyLjYuMzItb3BlbnZ6LWFtZDY0ICMxClsyMjc1 NTQyMC43Nzc0OTFdIENhbGwgVHJhY2U6ClsyMjc1NTQyMC43Nzc2MTFdICA8SVJRPiAgWzxmZmZm ZmZmZjgxMDcxOWI4Pl0gPyB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDg4LzB4YzAKWzIyNzU1NDIw Ljc3Nzc5Nl0gIFs8ZmZmZmZmZmY4MTA3MWEwYT5dID8gd2Fybl9zbG93cGF0aF9udWxsKzB4MWEv MHgyMApbMjI3NTU0MjAuNzc3OTIyXSAgWzxmZmZmZmZmZjgxMDJlNDFjPl0gPyBuYXRpdmVfc21w X3NlbmRfcmVzY2hlZHVsZSsweDVjLzB4NjAKWzIyNzU1NDIwLjc3ODA1MV0gIFs8ZmZmZmZmZmY4 MTA1YmVhMD5dID8gc2NoZWR1bGVyX3RpY2srMHgyMTAvMHgyNzAKWzIyNzU1NDIwLjc3ODE3N10g IFs8ZmZmZmZmZmY4MTBhZWZjMD5dID8gdGlja19zY2hlZF90aW1lcisweDAvMHhjMApbMjI3NTU0 MjAuNzc4MzAzXSAgWzxmZmZmZmZmZjgxMDg0YzZlPl0gPyB1cGRhdGVfcHJvY2Vzc190aW1lcysw eDZlLzB4OTAKWzIyNzU1NDIwLjc3ODQyN10gIFs8ZmZmZmZmZmY4MTBhZjAyNj5dID8gdGlja19z Y2hlZF90aW1lcisweDY2LzB4YzAKWzIyNzU1NDIwLjc3ODU1NF0gIFs8ZmZmZmZmZmY4MTBhMjFj ZT5dID8gX19ydW5faHJ0aW1lcisweDhlLzB4MWQwClsyMjc1NTQyMC43Nzg2ODFdICBbPGZmZmZm ZmZmODEwYThmNGY+XSA/IGt0aW1lX2dldF91cGRhdGVfb2Zmc2V0cysweDRmLzB4ZDAKWzIyNzU1 NDIwLjc3ODgwOV0gIFs8ZmZmZmZmZmY4MTBhMjU2Nj5dID8gaHJ0aW1lcl9pbnRlcnJ1cHQrMHhl Ni8weDI2MApbMjI3NTU0MjAuNzc4OTM3XSAgWzxmZmZmZmZmZjgxNTIyODNiPl0gPyBzbXBfYXBp Y190aW1lcl9pbnRlcnJ1cHQrMHg2Yi8weDliClsyMjc1NTQyMC43NzkwNjRdICBbPGZmZmZmZmZm ODEwMGJjNTM+XSA/IGFwaWNfdGltZXJfaW50ZXJydXB0KzB4MTMvMHgyMApbMjI3NTU0MjAuNzc5 MTkxXSAgPEVPST4gIFs8ZmZmZmZmZmY4MTUxODM3Mj5dID8gcGFuaWMrMHgxNGMvMHgxNmYKWzIy NzU1NDIwLjc3OTM3Ml0gIFs8ZmZmZmZmZmY4MTUxODJmZj5dID8gcGFuaWMrMHhkOS8weDE2Zgpb MjI3NTU0MjAuNzc5NDk3XSAgWzxmZmZmZmZmZjgxNTFjYzg0Pl0gPyBvb3BzX2VuZCsweGU0LzB4 MTAwClsyMjc1NTQyMC43Nzk2MjJdICBbPGZmZmZmZmZmODEwMGYyOWI+XSA/IGRpZSsweDViLzB4 OTAKWzIyNzU1NDIwLjc3OTc0Nl0gIFs8ZmZmZmZmZmY4MTUxYzRhND5dID8gZG9fdHJhcCsweGM0 LzB4MTcwClsyMjc1NTQyMC43Nzk4NzBdICBbPGZmZmZmZmZmODEwMGNlYTU+XSA/IGRvX2ludmFs aWRfb3ArMHg5NS8weGIwClsyMjc1NTQyMC43ODAwMTNdICBbPGZmZmZmZmZmYTAyNzViOGQ+XSA/ IHhmc19jb3VudF9wYWdlX3N0YXRlKzB4NWQvMHg3MCBbeGZzXQpbMjI3NTU0MjAuNzgwMTQwXSAg WzxmZmZmZmZmZjgxMjY2MGYzPl0gPyBzdWJtaXRfYmlvKzB4ZjMvMHgxYTAKWzIyNzU1NDIwLjc4 MDI2Ml0gIFs8ZmZmZmZmZmY4MTAwYmYzYj5dID8gaW52YWxpZF9vcCsweDFiLzB4MjAKWzIyNzU1 NDIwLjc4MDQwMF0gIFs8ZmZmZmZmZmZhMDI3NWI4ZD5dID8geGZzX2NvdW50X3BhZ2Vfc3RhdGUr MHg1ZC8weDcwIFt4ZnNdClsyMjc1NTQyMC43ODA1NDFdICBbPGZmZmZmZmZmYTAyNzczMjI+XSA/ IHhmc192bV93cml0ZXBhZ2UrMHg3Mi8weDU5MCBbeGZzXQpbMjI3NTU0MjAuNzgwNjY4XSAgWzxm ZmZmZmZmZjgxMTRjM2ZiPl0gPyBULjExNzUrMHgxMmIvMHgzMDAKWzIyNzU1NDIwLjc4MDc5NF0g IFs8ZmZmZmZmZmY4MTE0ZDM4OD5dID8gVC4xMTc0KzB4Njk4LzB4YTgwClsyMjc1NTQyMC43ODA5 MTldICBbPGZmZmZmZmZmODExNGJiZjg+XSA/IGlzb2xhdGVfbHJ1X3BhZ2VzKzB4MTE4LzB4MWYw ClsyMjc1NTQyMC43ODEwNDVdICBbPGZmZmZmZmZmODExNGRhZTc+XSA/IHNocmlua19pbmFjdGl2 ZV9saXN0KzB4Mzc3LzB4OWYwClsyMjc1NTQyMC43ODExNzFdICBbPGZmZmZmZmZmODExNDliMDY+ XSA/IF9fcGFnZXZlY19yZWxlYXNlKzB4MjYvMHg0MApbMjI3NTU0MjAuNzgxMjk5XSAgWzxmZmZm ZmZmZjgxMTRiOGY4Pl0gPyBtb3ZlX2FjdGl2ZV9wYWdlc190b19scnUrMHgxYTgvMHgxZjAKWzIy NzU1NDIwLjc4MTQyNl0gIFs8ZmZmZmZmZmY4MTE0YzA5Mz5dID8gc2hyaW5rX2FjdGl2ZV9saXN0 KzB4MmMzLzB4MzkwClsyMjc1NTQyMC43ODE1NTRdICBbPGZmZmZmZmZmODExNDU3OWE+XSA/IGRl dGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KzB4MWEvMHgzMApbMjI3NTU0MjAuNzgxNjgwXSAgWzxm ZmZmZmZmZjgxMTRlNTgwPl0gPyBzaHJpbmtfbHJ1dmVjKzB4NDIwLzB4NjAwClsyMjc1NTQyMC43 ODE4MDRdICBbPGZmZmZmZmZmODExNGU5Mzc+XSA/IHNocmlua196b25lKzB4MWQ3LzB4NDAwClsy Mjc1NTQyMC43ODE5MzJdICBbPGZmZmZmZmZmODExNGY5MTM+XSA/IGJhbGFuY2VfcGdkYXQrMHg5 ZTMvMHhiNjAKWzIyNzU1NDIwLjc4MjA1OV0gIFs8ZmZmZmZmZmY4MTE1YWIwMD5dID8gcmVmcmVz aF96b25lX3N0YXRfdGhyZXNob2xkcysweDAvMHhjMApbMjI3NTU0MjAuNzgyMTg2XSAgWzxmZmZm ZmZmZjgxMTRmYzBmPl0gPyBrc3dhcGQrMHgxN2YvMHg0MDAKWzIyNzU1NDIwLjc4MjMxMV0gIFs8 ZmZmZmZmZmY4MTA5ZGE5MD5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDQwClsy Mjc1NTQyMC43ODI0MzddICBbPGZmZmZmZmZmODExNGZhOTA+XSA/IGtzd2FwZCsweDAvMHg0MDAK WzIyNzU1NDIwLjc4MjU2Ml0gIFs8ZmZmZmZmZmY4MTA5ZDRiNj5dID8ga3RocmVhZCsweDk2LzB4 YTAKWzIyNzU1NDIwLjc4MjY4Nl0gIFs8ZmZmZmZmZmY4MTAwYzFhYT5dID8gY2hpbGRfcmlwKzB4 YS8weDIwClsyMjc1NTQyMC43ODI4MTJdICBbPGZmZmZmZmZmODEwOWQ0MjA+XSA/IGt0aHJlYWQr MHgwLzB4YTAKWzIyNzU1NDIwLjc4MzE3NF0gIFs8ZmZmZmZmZmY4MTAwYzFhMD5dID8gY2hpbGRf cmlwKzB4MC8weDIwClsyMjc1NTQyMC43ODMyOTldIC0tLVsgZW5kIHRyYWNlIGJmZTBhMDMyNzU5 NzI5MGEgXS0tLQo= --001a11c2beb0d04fb905067d6fd9 Content-Type: text/plain; charset=US-ASCII; name="musa_crash1.txt" Content-Disposition: attachment; filename="musa_crash1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1tf41zz1 WzYwOTYyODcuNTM2NTY1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzYw OTYyODcuNTM2NTkwXSBrZXJuZWwgQlVHIGF0IGZzL3hmcy9saW51eC0yLjYveGZzX2FvcHMuYzo4 NiEKWzYwOTYyODcuNTM2NjA3XSBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIApbNjA5NjI4Ny41 MzY2MzBdIGxhc3Qgc3lzZnMgZmlsZTogL3N5cy9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDox ZS4wLzAwMDA6MDE6MDMuMC9jbGFzcwpbNjA5NjI4Ny41MzY2NTFdIENQVSAxMiAKWzYwOTYyODcu NTM2NjYwXSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoVCkgbHpvX2NvbXByZXNzIGx6b19kZWNv bXByZXNzIHpsaWJfZGVmbGF0ZSB2ZmF0IG1zZG9zIGZhdCByZWlzZXJmcyBleHQzIGpiZCBleHQy IHZ6ZXRoZGV2IHZ6bmV0ZGV2IHBpb19uZnMgcGlvX2RpcmVjdCBwZm10X3JhdyBwZm10X3Bsb29w MSBwbG9vcCBzaW1mcyB2enJzdCB2emNwdCB2emlvbGltaXQgdnpkcXVvdGEgdnptb24gdnpkZXYg eHRfc3RhdGUgeHRfbGVuZ3RoIHh0X2hsIHh0X3RjcG1zcyB4dF9UQ1BNU1MgeHRfbXVsdGlwb3J0 IHh0X2xpbWl0IHh0X2RzY3AgaXB0X1JFSkVDVCB2emV2ZW50IG5mc2QgbmZzIG5mc19hY2wgYXV0 aF9ycGNnc3MgZnNjYWNoZSBsb2NrZCBzdW5ycGMgaXB2NiB4ZnMgbmV0Y29uc29sZSBjb25maWdm cyBtYXg2NjUwIGlwdGFibGVfbmF0IG5mX25hdCBuZl9jb25udHJhY2tfaXB2NCBuZl9kZWZyYWdf aXB2NCBuZl9jb25udHJhY2sgaXB0YWJsZV9tYW5nbGUgaXB0YWJsZV9maWx0ZXIgaXBfdGFibGVz IHR1biBmdXNlIGxwIHBhcnBvcnQgc25kX3Bjc3Agc25kX3BjbSBzbmRfcGFnZV9hbGxvYyBpVENP X3dkdCBpVENPX3ZlbmRvcl9zdXBwb3J0IGkyY19pODAxIHNuZF90aW1lciBzbmQgbHBjX2ljaCBp N2NvcmVfZWRhYyBzb3VuZGNvcmUgaTJjX2NvcmUgbWZkX2NvcmUgaW9hdGRtYSBkY2EgZWRhY19j b3JlIGV4dDQgamJkMiBtYmNhY2hlIHNyX21vZCBzZF9tb2QgY2Ryb20gc2cgY3JjX3QxMGRpZiBh dGFfZ2VuZXJpYyBlMTAwMGUgcGF0YV9hY3BpIHB0cCBhdGFfcGlpeCBwcHNfY29yZSBhcmNtc3Ig W2xhc3QgdW5sb2FkZWQ6IHNjc2lfd2FpdF9zY2FuXQpbNjA5NjI4Ny41Mzc4ODFdIApbNjA5NjI4 Ny41Mzc5NjVdIFBpZDogMTgxLCBjb21tOiBrc3dhcGQwIHZlaWQ6IDAgVGFpbnRlZDogRyAgICAg ICAgICAgLS0tLS0tLS0tLS0tLS0tICBUIDIuNi4zMi1vcGVudnotMDQyc3RhYjA5Mi4zLWFtZDY0 ICMxIDA0MnN0YWIwOTJfMyBTdXBlcm1pY3JvIFg4RFQ2L1g4RFQ2Cls2MDk2Mjg3LjUzODE1N10g UklQOiAwMDEwOls8ZmZmZmZmZmZhMDJjOGUwZD5dICBbPGZmZmZmZmZmYTAyYzhlMGQ+XSB4ZnNf Y291bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzYwOTYyODcuNTM4Mzc2XSBSU1A6IDAw MDA6ZmZmZjg4MDYzODQzNTdlMCAgRUZMQUdTOiAwMDAxMDI0NgpbNjA5NjI4Ny41Mzg0NjVdIFJB WDogMDA0MDAwMDAwMDA2MDAwOSBSQlg6IGZmZmY4ODA2Mzg0MmU1MDAgUkNYOiAwMDAwMDAwMDAw MDAwMDAwCls2MDk2Mjg3LjUzODYyOV0gUkRYOiBmZmZmODgwNjM4NDM1ODc4IFJTSTogZmZmZjg4 MDYzODQzNTg3YyBSREk6IGZmZmZlYTAwMTJhZmI2MDAKWzYwOTYyODcuNTM4NzkzXSBSQlA6IGZm ZmY4ODA2Mzg0MzU3ZTAgUjA4OiAwMDAwMDAwMDAwMDAwMDQ0IFIwOTogMDAwMDAwMDAwMDAwMDAw MQpbNjA5NjI4Ny41Mzg5NTZdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAw MDAwMDAgUjEyOiBmZmZmZWEwMDEyYWZiNjAwCls2MDk2Mjg3LjUzOTEyMV0gUjEzOiAwMDAwMDAw MDAwMDAwMDAwIFIxNDogZmZmZmVhMDAxMmFmYjYwMCBSMTU6IGZmZmY4ODA2Mzg0MzVhMDAKWzYw OTYyODcuNTM5Mjg2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDA0MTkw MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCls2MDk2Mjg3LjUzOTQ1NF0gQ1M6ICAw MDEwIERTOiAwMDE4IEVTOiAwMDE4IENSMDogMDAwMDAwMDA4MDA1MDAzYgpbNjA5NjI4Ny41Mzk1 NDNdIENSMjogMDAwMDAwMDAxZGQyNTczMCBDUjM6IDAwMDAwMDAwMDFhODUwMDAgQ1I0OiAwMDAw MDAwMDAwMDAwN2UwCls2MDk2Mjg3LjUzOTcwNl0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTog MDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKWzYwOTYyODcuNTM5ODcxXSBE UjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmYwZmYwIERSNzogMDAwMDAwMDAw MDAwMDQwMApbNjA5NjI4Ny41NDAwMzRdIFByb2Nlc3Mga3N3YXBkMCAocGlkOiAxODEsIHZlaWQ6 IDAsIHRocmVhZGluZm8gZmZmZjg4MDYzODQzNDAwMCwgdGFzayBmZmZmODgwNjM4NDJlNTAwKQpb NjA5NjI4Ny41NDAyMDBdIFN0YWNrOgpbNjA5NjI4Ny41NDAyODJdICBmZmZmODgwNjM4NDM1OGIw IGZmZmZmZmZmYTAyY2E1YTIgZmZmZjg4MDYzODQzNThjMCBmZmZmODgwM2MyM2UzMGMwCls2MDk2 Mjg3LjU0MDM4OF0gPGQ+IDAwMDA3ZjAzMzFjMzEwMDAgMDAwMDAwMDBmZmZmZmZmZiAwMDAwMDAw MDM4NDM1ODQwIGZmZmZmZmZmODEwNGY5OTAKWzYwOTYyODcuNTQwNTc4XSA8ZD4gZmZmZjg4MDNj MjNlMzBjMCBmZmZmODgwNjM4NDM1OGMwIGZmZmY4ODA2Mzg0MzVhMTggZmZmZjg4MDUzZmMzNTM4 MApbNjA5NjI4Ny41NDA4NDNdIENhbGwgVHJhY2U6Cls2MDk2Mjg3LjU0MDk1M10gIFs8ZmZmZmZm ZmZhMDJjYTVhMj5dIHhmc192bV93cml0ZXBhZ2UrMHg3Mi8weDU4MCBbeGZzXQpbNjA5NjI4Ny41 NDEwNDldICBbPGZmZmZmZmZmODEwNGY5OTA+XSA/IHB0ZXBfY2xlYXJfZmx1c2hfeW91bmcrMHg1 MC8weDcwCls2MDk2Mjg3LjU0MTE0Ml0gIFs8ZmZmZmZmZmY4MTE3NzYwND5dID8gcGFnZV9yZWZl cmVuY2VkX29uZSsweGE0LzB4MjAwCls2MDk2Mjg3LjU0MTIzNF0gIFs8ZmZmZmZmZmY4MTI5MmIw Nj5dID8gcHJpb190cmVlX25leHQrMHgyMDYvMHgyNDAKWzYwOTYyODcuNTQxMzI2XSAgWzxmZmZm ZmZmZjgxMTUyOTZiPl0gVC4xMTg1KzB4MTJiLzB4MmYwCls2MDk2Mjg3LjU0MTQxNl0gIFs8ZmZm ZmZmZmY4MTE1NDI1ZD5dIFQuMTE4MysweDdjZC8weGFmMApbNjA5NjI4Ny41NDE1MDZdICBbPGZm ZmZmZmZmODExNTQ5MGU+XSBzaHJpbmtfaW5hY3RpdmVfbGlzdCsweDM4ZS8weGM5MApbNjA5NjI4 Ny41NDE1OTddICBbPGZmZmZmZmZmODExNTM0ZmY+XSA/IG1vdmVfYWN0aXZlX3BhZ2VzX3RvX2xy dSsweDJhZi8weDQ5MApbNjA5NjI4Ny41NDE2OTRdICBbPGZmZmZmZmZmODExNTU2MzA+XSBzaHJp bmtfbHJ1dmVjKzB4NDIwLzB4NjAwCls2MDk2Mjg3LjU0MTc5MF0gIFs8ZmZmZmZmZmY4MTE1NTll Nz5dIHNocmlua196b25lKzB4MWQ3LzB4NDAwCls2MDk2Mjg3LjU0MTg4NF0gIFs8ZmZmZmZmZmY4 MTE1NmIxMz5dIGJhbGFuY2VfcGdkYXQrMHg5ZTMvMHhiNjAKWzYwOTYyODcuNTQxOTc4XSAgWzxm ZmZmZmZmZjgxMTU2ZTBmPl0ga3N3YXBkKzB4MTdmLzB4M2YwCls2MDk2Mjg3LjU0MjA3Nl0gIFs8 ZmZmZmZmZmY4MTBhMmNjMD5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDQwCls2 MDk2Mjg3LjU0MjE3M10gIFs8ZmZmZmZmZmY4MTE1NmM5MD5dID8ga3N3YXBkKzB4MC8weDNmMApb NjA5NjI4Ny41NDIyNjZdICBbPGZmZmZmZmZmODEwYTI2YTY+XSBrdGhyZWFkKzB4OTYvMHhhMApb NjA5NjI4Ny41NDIzNTldICBbPGZmZmZmZmZmODEwMGMzNGE+XSBjaGlsZF9yaXArMHhhLzB4MjAK WzYwOTYyODcuNTQyNDUyXSAgWzxmZmZmZmZmZjgxMGEyNjEwPl0gPyBrdGhyZWFkKzB4MC8weGEw Cls2MDk2Mjg3LjU0MjU0NV0gIFs8ZmZmZmZmZmY4MTAwYzM0MD5dID8gY2hpbGRfcmlwKzB4MC8w eDIwCls2MDk2Mjg3LjU0MjYzNV0gQ29kZTogPDBmPiAKWzYwOTYyODcuNTQzMTk3XSBSSVAgIFs8 ZmZmZmZmZmZhMDJjOGUwZD5dIHhmc19jb3VudF9wYWdlX3N0YXRlKzB4NWQvMHg3MCBbeGZzXQpb NjA5NjI4Ny41NDMzMjVdICBSU1AgPGZmZmY4ODA2Mzg0MzU3ZTA+Cls2MDk2Mjg3LjU0Mzk3Ml0g VGFpbnRpbmcga2VybmVsIHdpdGggZmxhZyAweDcKWzYwOTYyODcuNTQ0MTMyXSBQaWQ6IDE4MSwg Y29tbToga3N3YXBkMCB2ZWlkOiAwIFRhaW50ZWQ6IEcgICAgICAgICAgIC0tLS0tLS0tLS0tLS0t LSAgVCAyLjYuMzItb3BlbnZ6LTA0MnN0YWIwOTIuMy1hbWQ2NCAjMQpbNjA5NjI4Ny41NDQzNzld IENhbGwgVHJhY2U6Cls2MDk2Mjg3LjU0NDUzNV0gIFs8ZmZmZmZmZmY4MTA3NjQ2MT5dID8gYWRk X3RhaW50KzB4NzEvMHg4MApbNjA5NjI4Ny41NDQ2OTddICBbPGZmZmZmZmZmODE1MzY0NzQ+XSA/ IG9vcHNfZW5kKzB4NTQvMHgxMDAKWzYwOTYyODcuNTQ0ODYxXSAgWzxmZmZmZmZmZjgxMDExNTJi Pl0gPyBkaWUrMHg1Yi8weDkwCls2MDk2Mjg3LjU0NTAyMl0gIFs8ZmZmZmZmZmY4MTUzNWQyND5d ID8gZG9fdHJhcCsweGM0LzB4MTcwCls2MDk2Mjg3LjU0NTE4NF0gIFs8ZmZmZmZmZmY4MTAwZDBl NT5dID8gZG9faW52YWxpZF9vcCsweDk1LzB4YjAKWzYwOTYyODcuNTQ1MzcwXSAgWzxmZmZmZmZm ZmEwMmM4ZTBkPl0gPyB4ZnNfY291bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzYwOTYy ODcuNTQ1NTM3XSAgWzxmZmZmZmZmZjgxMjcyOWFhPl0gPyBibGtfcXVldWVfYmlvKzB4NDlhLzB4 NjEwCls2MDk2Mjg3LjU0NTY5N10gIFs8ZmZmZmZmZmY4MTAwYzBkYj5dID8gaW52YWxpZF9vcCsw eDFiLzB4MjAKWzYwOTYyODcuNTQ1ODg0XSAgWzxmZmZmZmZmZmEwMmM4ZTBkPl0gPyB4ZnNfY291 bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzYwOTYyODcuNTQ2MDcyXSAgWzxmZmZmZmZm ZmEwMmNhNWEyPl0gPyB4ZnNfdm1fd3JpdGVwYWdlKzB4NzIvMHg1ODAgW3hmc10KWzYwOTYyODcu NTQ2MjM2XSAgWzxmZmZmZmZmZjgxMDRmOTkwPl0gPyBwdGVwX2NsZWFyX2ZsdXNoX3lvdW5nKzB4 NTAvMHg3MApbNjA5NjI4Ny41NDYzOTddICBbPGZmZmZmZmZmODExNzc2MDQ+XSA/IHBhZ2VfcmVm ZXJlbmNlZF9vbmUrMHhhNC8weDIwMApbNjA5NjI4Ny41NDY1NTZdICBbPGZmZmZmZmZmODEyOTJi MDY+XSA/IHByaW9fdHJlZV9uZXh0KzB4MjA2LzB4MjQwCls2MDk2Mjg3LjU0NjcxN10gIFs8ZmZm ZmZmZmY4MTE1Mjk2Yj5dID8gVC4xMTg1KzB4MTJiLzB4MmYwCls2MDk2Mjg3LjU0Njg3NV0gIFs8 ZmZmZmZmZmY4MTE1NDI1ZD5dID8gVC4xMTgzKzB4N2NkLzB4YWYwCls2MDk2Mjg3LjU0NzAzNF0g IFs8ZmZmZmZmZmY4MTE1NDkwZT5dID8gc2hyaW5rX2luYWN0aXZlX2xpc3QrMHgzOGUvMHhjOTAK WzYwOTYyODcuNTQ3MTk1XSAgWzxmZmZmZmZmZjgxMTUzNGZmPl0gPyBtb3ZlX2FjdGl2ZV9wYWdl c190b19scnUrMHgyYWYvMHg0OTAKWzYwOTYyODcuNTQ3MzU3XSAgWzxmZmZmZmZmZjgxMTU1NjMw Pl0gPyBzaHJpbmtfbHJ1dmVjKzB4NDIwLzB4NjAwCls2MDk2Mjg3LjU0NzUxN10gIFs8ZmZmZmZm ZmY4MTE1NTllNz5dID8gc2hyaW5rX3pvbmUrMHgxZDcvMHg0MDAKWzYwOTYyODcuNTQ3Njc4XSAg WzxmZmZmZmZmZjgxMTU2YjEzPl0gPyBiYWxhbmNlX3BnZGF0KzB4OWUzLzB4YjYwCls2MDk2Mjg3 LjU0NzgzOV0gIFs8ZmZmZmZmZmY4MTE1NmUwZj5dID8ga3N3YXBkKzB4MTdmLzB4M2YwCls2MDk2 Mjg3LjU0Nzk5OV0gIFs8ZmZmZmZmZmY4MTBhMmNjMD5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0 aW9uKzB4MC8weDQwCls2MDk2Mjg3LjU0ODE2MV0gIFs8ZmZmZmZmZmY4MTE1NmM5MD5dID8ga3N3 YXBkKzB4MC8weDNmMApbNjA5NjI4Ny41NDgzMjBdICBbPGZmZmZmZmZmODEwYTI2YTY+XSA/IGt0 aHJlYWQrMHg5Ni8weGEwCls2MDk2Mjg3LjU0ODQ3OF0gIFs8ZmZmZmZmZmY4MTAwYzM0YT5dID8g Y2hpbGRfcmlwKzB4YS8weDIwCls2MDk2Mjg3LjU0ODYzN10gIFs8ZmZmZmZmZmY4MTBhMjYxMD5d ID8ga3RocmVhZCsweDAvMHhhMApbNjA5NjI4Ny41NDg3OTNdICBbPGZmZmZmZmZmODEwMGMzNDA+ XSA/IGNoaWxkX3JpcCsweDAvMHgyMApbNjA5NjI4Ny41NTE5ODZdICBbPGZmZmZmZmZmODExNTQy NWQ+XSA/IFQuMTE4MysweDdjZC8weGFmMApbNjA5NjI4Ny41NTM1ODNdICBbPGZmZmZmZmZmODEx NTQ5MGU+XSA/IHNocmlua19pbmFjdGl2ZV9saXN0KzB4MzhlLzB4YzkwCls2MDk2Mjg3LjU1Mzc0 N10gIFs8ZmZmZmZmZmY4MTE1MzRmZj5dID8gbW92ZV9hY3RpdmVfcGFnZXNfdG9fbHJ1KzB4MmFm LzB4NDkwCls2MDk2Mjg3LjU1MzkxMF0gIFs8ZmZmZmZmZmY4MTE1NTYzMD5dID8gc2hyaW5rX2xy dXZlYysweDQyMC8weDYwMApbNjA5NjI4Ny41NTQwNzFdICBbPGZmZmZmZmZmODExNTU5ZTc+XSA/ IHNocmlua196b25lKzB4MWQ3LzB4NDAwCls2MDk2Mjg3LjU1NDIzMl0gIFs8ZmZmZmZmZmY4MTE1 NmIxMz5dID8gYmFsYW5jZV9wZ2RhdCsweDllMy8weGI2MApbNjA5NjI4Ny41NTQzOTNdICBbPGZm ZmZmZmZmODExNTZlMGY+XSA/IGtzd2FwZCsweDE3Zi8weDNmMApbNjA5NjI4Ny41NTQ1NTNdICBb PGZmZmZmZmZmODEwYTJjYzA+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHg0MApb NjA5NjI4Ny41NTQ3MTVdICBbPGZmZmZmZmZmODExNTZjOTA+XSA/IGtzd2FwZCsweDAvMHgzZjAK WzYwOTYyODcuNTU0ODc0XSAgWzxmZmZmZmZmZjgxMGEyNmE2Pl0gPyBrdGhyZWFkKzB4OTYvMHhh MApbNjA5NjI4Ny41NTUwMzRdICBbPGZmZmZmZmZmODEwMGMzNGE+XSA/IGNoaWxkX3JpcCsweGEv MHgyMApbNjA5NjI4Ny41NTUxOTNdICBbPGZmZmZmZmZmODEwYTI2MTA+XSA/IGt0aHJlYWQrMHgw LzB4YTAKWzYwOTYyODcuNTU1MzUwXSAgWzxmZmZmZmZmZjgxMDBjMzQwPl0gPyBjaGlsZF9yaXAr MHgwLzB4MjAK --001a11c2beb0d04fb905067d6fd9 Content-Type: text/plain; charset=US-ASCII; name="musa_crash2.txt" Content-Disposition: attachment; filename="musa_crash2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1tf495k2 WzEyMTQwOTkuNjg4MTU4XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWzEy MTQwOTkuNjg4MTg0XSBrZXJuZWwgQlVHIGF0IGZzL3hmcy9saW51eC0yLjYveGZzX2FvcHMuYzo4 NiEKWzEyMTQwOTkuNjg4MjM5XSBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIApbMTIxNDA5OS42 ODgyNjNdIGxhc3Qgc3lzZnMgZmlsZTogL3N5cy9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDox ZS4wLzAwMDA6MDE6MDMuMC9jbGFzcwpbMTIxNDA5OS42ODg0NDRdIENQVSAxMyAKWzEyMTQwOTku Njg4NDU1XSBNb2R1bGVzIGxpbmtlZCBpbjogYnRyZnMoVCkgbHpvX2NvbXByZXNzIGx6b19kZWNv bXByZXNzIHpsaWJfZGVmbGF0ZSB2ZmF0IG1zZG9zIGZhdCByZWlzZXJmcyBleHQzIGpiZCBleHQy IHZ6ZXRoZGV2IHZ6bmV0ZGV2IHBpb19uZnMgcGlvX2RpcmVjdCBwZm10X3JhdyBwZm10X3Bsb29w MSBwbG9vcCBzaW1mcyB2enJzdCB2emNwdCB2emlvbGltaXQgdnpkcXVvdGEgdnptb24gdnpkZXYg eHRfc3RhdGUgeHRfbGVuZ3RoIHh0X2hsIHh0X3RjcG1zcyB4dF9UQ1BNU1MgeHRfbXVsdGlwb3J0 IHh0X2xpbWl0IHh0X2RzY3AgaXB0X1JFSkVDVCB2emV2ZW50IG5mc2QgbmZzIG5mc19hY2wgYXV0 aF9ycGNnc3MgZnNjYWNoZSBsb2NrZCBzdW5ycGMgaXB2NiB4ZnMgbmV0Y29uc29sZSBjb25maWdm cyBtYXg2NjUwIGlwdGFibGVfbmF0IG5mX25hdCBuZl9jb25udHJhY2tfaXB2NCBuZl9kZWZyYWdf aXB2NCBuZl9jb25udHJhY2sgaXB0YWJsZV9tYW5nbGUgaXB0YWJsZV9maWx0ZXIgaXBfdGFibGVz IHR1biBmdXNlIGxwIHBhcnBvcnQgc25kX3Bjc3AgaVRDT193ZHQgc25kX3BjbSBzbmRfcGFnZV9h bGxvYyBpVENPX3ZlbmRvcl9zdXBwb3J0IHNuZF90aW1lciBzbmQgaTdjb3JlX2VkYWMgaTJjX2k4 MDEgbHBjX2ljaCBzb3VuZGNvcmUgaW9hdGRtYSBkY2EgaTJjX2NvcmUgZWRhY19jb3JlIG1mZF9j b3JlIGV4dDQgamJkMiBtYmNhY2hlIHNyX21vZCBjZHJvbSBzZF9tb2QgY3JjX3QxMGRpZiBzZyBh dGFfZ2VuZXJpYyBwYXRhX2FjcGkgZTEwMDBlIHB0cCBhdGFfcGlpeCBwcHNfY29yZSBhcmNtc3Ig W2xhc3QgdW5sb2FkZWQ6IHNjc2lfd2FpdF9zY2FuXQpbMTIxNDA5OS42ODk4NzVdIApbMTIxNDA5 OS42ODk5NTZdIFBpZDogMTEwOCwgY29tbTogZmx1c2gtODowIHZlaWQ6IDAgVGFpbnRlZDogRyAg ICAgICAgICAgLS0tLS0tLS0tLS0tLS0tICBUIDIuNi4zMi1vcGVudnotMDQyc3RhYjA5Mi4zLWFt ZDY0ICMxIDA0MnN0YWIwOTJfMyBTdXBlcm1pY3JvIFg4RFQ2L1g4RFQ2ClsxMjE0MDk5LjY5MDE3 NF0gUklQOiAwMDEwOls8ZmZmZmZmZmZhMDJiNmUwZD5dICBbPGZmZmZmZmZmYTAyYjZlMGQ+XSB4 ZnNfY291bnRfcGFnZV9zdGF0ZSsweDVkLzB4NzAgW3hmc10KWzEyMTQwOTkuNjkwMzY2XSBSU1A6 IDAwMTg6ZmZmZjg4MDYzMjI1ZDkxMCAgRUZMQUdTOiAwMDAxMDI0NgpbMTIxNDA5OS42OTA0NjJd IFJBWDogMDA0MDAwMDAwMDAyMDAyOSBSQlg6IGZmZmY4ODA2MzY0ODBjNzAgUkNYOiAwMDAwMDAw MGZmZmZmZmQ4ClsxMjE0MDk5LjY5MDYxMF0gUkRYOiBmZmZmODgwNjMyMjVkOWE4IFJTSTogZmZm Zjg4MDYzMjI1ZDlhYyBSREk6IGZmZmZlYTAwMGQ2ZGYyYzAKWzEyMTQwOTkuNjkwNzYwXSBSQlA6 IGZmZmY4ODA2MzIyNWQ5MTAgUjA4OiAwMDAwMDAwMDAwMDAwMDVhIFIwOTogMDAwMDAwMDAwMDgw MDAwMApbMTIxNDA5OS42OTA5MTFdIFIxMDogMDAwMDAwMDAwMDAwMDAwOCBSMTE6IDAwMDAwMDAw MmUzZjg5MjggUjEyOiBmZmZmZWEwMDBkNmRmMmMwClsxMjE0MDk5LjY5MTA2Ml0gUjEzOiAwMDAw MDAwMDAwMDAwMDAwIFIxNDogZmZmZjg4MDYzMjI1ZGFkMCBSMTU6IDAwMDAwMDAwMDAwMDAwMGUK WzEyMTQwOTkuNjkxMjEwXSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4MDA0 MTk0MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClsxMjE0MDk5LjY5MTM2MF0gQ1M6 ICAwMDEwIERTOiAwMDE4IEVTOiAwMDE4IENSMDogMDAwMDAwMDA4MDA1MDAzYgpbMTIxNDA5OS42 OTE0NTVdIENSMjogMDAwMDdmNTk2MWU3NDAwMCBDUjM6IDAwMDAwMDA2MmI0NGUwMDAgQ1I0OiAw MDAwMDAwMDAwMDAwN2UwClsxMjE0MDk5LjY5MTYwNV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERS MTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKWzEyMTQwOTkuNjkxNzU1 XSBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmYwZmYwIERSNzogMDAwMDAw MDAwMDAwMDQwMApbMTIxNDA5OS42OTE4ODFdIFByb2Nlc3MgZmx1c2gtODowIChwaWQ6IDExMDgs IHZlaWQ6IDAsIHRocmVhZGluZm8gZmZmZjg4MDYzMjI1YzAwMCwgdGFzayBmZmZmODgwNjM2NDgw YzcwKQpbMTIxNDA5OS42OTIwMDhdIFN0YWNrOgpbMTIxNDA5OS42OTIwNjhdICBmZmZmODgwNjMy MjVkOWUwIGZmZmZmZmZmYTAyYjg1YTIgZmZmZjg4MDYzMjI1ZGE4MCBmZmZmODgwNDAwMDAwMDAx ClsxMjE0MDk5LjY5MjE1MV0gPGQ+IDAwMDAwMDAxMzIyNWQ5ODAgZmZmZmVhMDAwNjE3N2IwMCAw MDAwMDAwMTAwMDAwMDAwIDAwMDAwMDAwNDAwMDAwMDAKWzEyMTQwOTkuNjkyMjkyXSA8ZD4gMDAw MDAwMDAwMDAwMTAwMCBmZmZmODgwNjMyMjVkY2YwIDAwMDAwMDAwMDVkMDFlMzAgMDAwMDAwMDMz NjU5ODc0MApbMTIxNDA5OS42OTI0OTJdIENhbGwgVHJhY2U6ClsxMjE0MDk5LjY5MjU4NF0gIFs8 ZmZmZmZmZmZhMDJiODVhMj5dIHhmc192bV93cml0ZXBhZ2UrMHg3Mi8weDU4MCBbeGZzXQpbMTIx NDA5OS42OTI2NjJdICBbPGZmZmZmZmZmODExNGJmMTc+XSBfX3dyaXRlcGFnZSsweDE3LzB4NDAK WzEyMTQwOTkuNjkyNzMxXSAgWzxmZmZmZmZmZjgxMTRjZDY0Pl0gd3JpdGVfY2FjaGVfcGFnZXMr MHgyMTQvMHg0YTAKWzEyMTQwOTkuNjkyODAyXSAgWzxmZmZmZmZmZjgxMTRlYjA1Pl0gPyBwYWdl dmVjX2xvb2t1cF90YWcrMHgyNS8weDQwClsxMjE0MDk5LjY5Mjg3M10gIFs8ZmZmZmZmZmY4MTE0 YmYwMD5dID8gX193cml0ZXBhZ2UrMHgwLzB4NDAKWzEyMTQwOTkuNjkyOTQyXSAgWzxmZmZmZmZm ZjgxMTRkMDE0Pl0gZ2VuZXJpY193cml0ZXBhZ2VzKzB4MjQvMHgzMApbMTIxNDA5OS42OTMwMzdd ICBbPGZmZmZmZmZmYTAyYjdhM2Q+XSB4ZnNfdm1fd3JpdGVwYWdlcysweDVkLzB4ODAgW3hmc10K WzEyMTQwOTkuNjkzMTA3XSAgWzxmZmZmZmZmZjgxMTRkMDQxPl0gZG9fd3JpdGVwYWdlcysweDIx LzB4NDAKWzEyMTQwOTkuNjkzMTgwXSAgWzxmZmZmZmZmZjgxMWRjZWQ5Pl0gX193cml0ZWJhY2tf c2luZ2xlX2lub2RlKzB4YTkvMHgyYjAKWzEyMTQwOTkuNjkzMjUxXSAgWzxmZmZmZmZmZjgxMWRk MTYzPl0gd3JpdGViYWNrX3NpbmdsZV9pbm9kZSsweDgzLzB4YzAKWzEyMTQwOTkuNjkzMzIzXSAg WzxmZmZmZmZmZjgxMWNiNjUwPl0gPyBpcHV0KzB4MzAvMHg3MApbMTIxNDA5OS42OTMzOTBdICBb PGZmZmZmZmZmODExZGQzZjg+XSB3cml0ZWJhY2tfc2JfaW5vZGVzKzB4ZDgvMHgxYjAKWzEyMTQw OTkuNjkzNDU5XSAgWzxmZmZmZmZmZjgxMWRkNWU4Pl0gd3JpdGViYWNrX2lub2Rlc193YisweDEx OC8weDE3MApbMTIxNDA5OS42OTM1MzBdICBbPGZmZmZmZmZmODExZGQ5ODM+XSB3Yl93cml0ZWJh Y2srMHgzNDMvMHg0NjAKWzEyMTQwOTkuNjkzNTk5XSAgWzxmZmZmZmZmZjgxMWRkYzU1Pl0gd2Jf ZG9fd3JpdGViYWNrKzB4MWI1LzB4MjYwClsxMjE0MDk5LjY5MzY2OV0gIFs8ZmZmZmZmZmY4MTFk ZGQ5OD5dIGJkaV93cml0ZWJhY2tfdGFzaysweDk4LzB4MWUwClsxMjE0MDk5LjY5Mzc0MV0gIFs8 ZmZmZmZmZmY4MTE2MzI2MD5dID8gYmRpX3N0YXJ0X2ZuKzB4MC8weDExMApbMTIxNDA5OS42OTM4 MTFdICBbPGZmZmZmZmZmODExNjMyNjA+XSA/IGJkaV9zdGFydF9mbisweDAvMHgxMTAKWzEyMTQw OTkuNjkzODgyXSAgWzxmZmZmZmZmZjgxMTYzMmY1Pl0gYmRpX3N0YXJ0X2ZuKzB4OTUvMHgxMTAK WzEyMTQwOTkuNjkzOTU0XSAgWzxmZmZmZmZmZjgxMTYzMjYwPl0gPyBiZGlfc3RhcnRfZm4rMHgw LzB4MTEwClsxMjE0MDk5LjY5NDAzNV0gIFs8ZmZmZmZmZmY4MTBhMjZhNj5dIGt0aHJlYWQrMHg5 Ni8weGEwClsxMjE0MDk5LjY5NDEwOF0gIFs8ZmZmZmZmZmY4MTAwYzM0YT5dIGNoaWxkX3JpcCsw eGEvMHgyMApbMTIxNDA5OS42OTQxODFdICBbPGZmZmZmZmZmODEwYTI2MTA+XSA/IGt0aHJlYWQr MHgwLzB4YTAKWzEyMTQwOTkuNjk0MjUyXSAgWzxmZmZmZmZmZjgxMDBjMzQwPl0gPyBjaGlsZF9y aXArMHgwLzB4MjAKWzEyMTQwOTkuNjk0MzIxXSBDb2RlOiA8MGY+IApbMTIxNDA5OS42OTQ3MzBd IFJJUCAgWzxmZmZmZmZmZmEwMmI2ZTBkPl0geGZzX2NvdW50X3BhZ2Vfc3RhdGUrMHg1ZC8weDcw IFt4ZnNdClsxMjE0MDk5LjY5NDgzMV0gIFJTUCA8ZmZmZjg4MDYzMjI1ZDkxMD4KWzEyMTQwOTku Njk1MjE3XSBUYWludGluZyBrZXJuZWwgd2l0aCBmbGFnIDB4NwpbMTIxNDA5OS42OTUzMjRdIFBp ZDogMTEwOCwgY29tbTogZmx1c2gtODowIHZlaWQ6IDAgVGFpbnRlZDogRyAgICAgICAgICAgLS0t LS0tLS0tLS0tLS0tICBUIDIuNi4zMi1vcGVudnotMDQyc3RhYjA5Mi4zLWFtZDY0ICMxClsxMjE0 MDk5LjY5NTQ5N10gQ2FsbCBUcmFjZToKWzEyMTQwOTkuNjk1NjA0XSAgWzxmZmZmZmZmZjgxMDc2 NDYxPl0gPyBhZGRfdGFpbnQrMHg3MS8weDgwClsxMjE0MDk5LjY5NTcxNV0gIFs8ZmZmZmZmZmY4 MTUzNjQ3ND5dID8gb29wc19lbmQrMHg1NC8weDEwMApbMTIxNDA5OS42OTU4MjZdICBbPGZmZmZm ZmZmODEwMTE1MmI+XSA/IGRpZSsweDViLzB4OTAKWzEyMTQwOTkuNjk1OTM0XSAgWzxmZmZmZmZm ZjgxNTM1ZDI0Pl0gPyBkb190cmFwKzB4YzQvMHgxNzAKWzEyMTQwOTkuNjk2MDQ0XSAgWzxmZmZm ZmZmZjgxMDBkMGU1Pl0gPyBkb19pbnZhbGlkX29wKzB4OTUvMHhiMApbMTIxNDA5OS42OTYxNzhd ICBbPGZmZmZmZmZmYTAyYjZlMGQ+XSA/IHhmc19jb3VudF9wYWdlX3N0YXRlKzB4NWQvMHg3MCBb eGZzXQpbMTIxNDA5OS42OTYyOTNdICBbPGZmZmZmZmZmODEyNzE5NjM+XSA/IHN1Ym1pdF9iaW8r MHg4My8weDE5MApbMTIxNDA5OS42OTY0MDJdICBbPGZmZmZmZmZmODEwMGMwZGI+XSA/IGludmFs aWRfb3ArMHgxYi8weDIwClsxMjE0MDk5LjY5NjUzNl0gIFs8ZmZmZmZmZmZhMDJiNmUwZD5dID8g eGZzX2NvdW50X3BhZ2Vfc3RhdGUrMHg1ZC8weDcwIFt4ZnNdClsxMjE0MDk5LjY5NjY3Ml0gIFs8 ZmZmZmZmZmZhMDJiODVhMj5dID8geGZzX3ZtX3dyaXRlcGFnZSsweDcyLzB4NTgwIFt4ZnNdClsx MjE0MDk5LjY5Njc4NV0gIFs8ZmZmZmZmZmY4MTE0YmYxNz5dID8gX193cml0ZXBhZ2UrMHgxNy8w eDQwClsxMjE0MDk5LjY5Njg5M10gIFs8ZmZmZmZmZmY4MTE0Y2Q2ND5dID8gd3JpdGVfY2FjaGVf cGFnZXMrMHgyMTQvMHg0YTAKWzEyMTQwOTkuNjk3MDAzXSAgWzxmZmZmZmZmZjgxMTRlYjA1Pl0g PyBwYWdldmVjX2xvb2t1cF90YWcrMHgyNS8weDQwClsxMjE0MDk5LjY5NzExM10gIFs8ZmZmZmZm ZmY4MTE0YmYwMD5dID8gX193cml0ZXBhZ2UrMHgwLzB4NDAKWzEyMTQwOTkuNjk3MjIzXSAgWzxm ZmZmZmZmZjgxMTRkMDE0Pl0gPyBnZW5lcmljX3dyaXRlcGFnZXMrMHgyNC8weDMwClsxMjE0MDk5 LjY5NzM1OV0gIFs8ZmZmZmZmZmZhMDJiN2EzZD5dID8geGZzX3ZtX3dyaXRlcGFnZXMrMHg1ZC8w eDgwIFt4ZnNdClsxMjE0MDk5LjY5NzQ2OV0gIFs8ZmZmZmZmZmY4MTE0ZDA0MT5dID8gZG9fd3Jp dGVwYWdlcysweDIxLzB4NDAKWzEyMTQwOTkuNjk3NTc4XSAgWzxmZmZmZmZmZjgxMWRjZWQ5Pl0g PyBfX3dyaXRlYmFja19zaW5nbGVfaW5vZGUrMHhhOS8weDJiMApbMTIxNDA5OS42OTc2ODldICBb PGZmZmZmZmZmODExZGQxNjM+XSA/IHdyaXRlYmFja19zaW5nbGVfaW5vZGUrMHg4My8weGMwClsx MjE0MDk5LjY5NzgwMF0gIFs8ZmZmZmZmZmY4MTFjYjY1MD5dID8gaXB1dCsweDMwLzB4NzAKWzEy MTQwOTkuNjk3OTA4XSAgWzxmZmZmZmZmZjgxMWRkM2Y4Pl0gPyB3cml0ZWJhY2tfc2JfaW5vZGVz KzB4ZDgvMHgxYjAK --001a11c2beb0d04fb905067d6fd9-- From spelic@shiftmail.org Tue Oct 28 11:19: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 5AC5D7F6F for ; Tue, 28 Oct 2014 11:19:17 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 488808F8064 for ; Tue, 28 Oct 2014 09:19:14 -0700 (PDT) X-ASG-Debug-ID: 1414513152-04cb6c2efc3e25f0001-NocioJ Received: from srv2.trombetti.net (srv2.trombetti.net [65.254.53.252]) by cuda.sgi.com with ESMTP id vnZbOPp33xW1LKzJ for ; Tue, 28 Oct 2014 09:19:13 -0700 (PDT) X-Barracuda-Envelope-From: spelic@shiftmail.org X-Barracuda-Apparent-Source-IP: 65.254.53.252 Received: from localhost (localhost [127.0.0.1]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: SASL) by srv2.trombetti.net (Postfix) with ESMTPSA id 7AB9C3135C for ; Tue, 28 Oct 2014 12:34:09 -0400 (EDT) Message-ID: <544FC202.1000200@shiftmail.org> Date: Tue, 28 Oct 2014 17:19:14 +0100 From: Spelic User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: XFS shrinking planned? Content-Type: text/plain; charset=UTF-8; format=flowed X-ASG-Orig-Subj: XFS shrinking planned? Content-Transfer-Encoding: 7bit X-Barracuda-Connect: srv2.trombetti.net[65.254.53.252] X-Barracuda-Start-Time: 1414513152 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.10992 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello all, XFS is such a good high performance filesystem, kudos for that. However for large filesystems (which are mainly those that require high performance) the ability to shrink would be really needed. People usually do not have double the space so to move files to a smaller XFS filesystem, and the inability of XFS to shrink forbids major reorganizations of the storage systems. Currently, for that reason I use ext4. Performance is still decent and flexibility is higher due to the ability to shrink, but I would use XFS if it could shrink. I suppose shrinking ability is not even planned, is it? Thank you S. From stan@hardwarefreak.com Tue Oct 28 11:54: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 6B6AF7F73 for ; Tue, 28 Oct 2014 11:54:35 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 47823304048 for ; Tue, 28 Oct 2014 09:54:34 -0700 (PDT) X-ASG-Debug-ID: 1414515273-04cbb070c8428d40001-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 2RL2tmGGXAQ96xX2 for ; Tue, 28 Oct 2014 09:54:33 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 4ADE16C0FA; Tue, 28 Oct 2014 11:54:33 -0500 (CDT) Message-ID: <544FCA6A.5060206@hardwarefreak.com> Date: Tue, 28 Oct 2014 11:55:06 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Dave Chinner CC: Eric Sandeen , xfs@oss.sgi.com Subject: Re: makefs alignment issue References: <544AB289.8010005@hardwarefreak.com> <544AB338.2050905@sandeen.net> <544ACDC4.1070501@hardwarefreak.com> <544AD077.4080305@sandeen.net> <544AD234.3060100@sandeen.net> <544B1439.6060509@hardwarefreak.com> <544BC6FA.8090101@sandeen.net> <544BDF55.9040804@hardwarefreak.com> <20141026234325.GB6880@dastard> <544ECF65.8090806@hardwarefreak.com> <20141028003219.GC16186@dastard> X-ASG-Orig-Subj: Re: makefs alignment issue In-Reply-To: <20141028003219.GC16186@dastard> 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: 1414515273 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 10/27/2014 07:32 PM, Dave Chinner wrote: > On Mon, Oct 27, 2014 at 06:04:05PM -0500, Stan Hoeppner wrote: >> On 10/26/2014 06:43 PM, Dave Chinner wrote: >>> On Sat, Oct 25, 2014 at 12:35:17PM -0500, Stan Hoeppner wrote: >>>> If the same interface is used for Linux logical block devices (md, dm, >>>> lvm, etc) and hardware RAID, I have a hunch it may be better to >>>> determine that, if possible, before doing anything with these values. >>>> As you said previously, and I agree 100%, a lot of RAID vendors don't >>>> export meaningful information here. In this specific case, I think the >>>> RAID engineers are exporting a value, 1 MB, that works best for their >>>> cache management, or some other path in their firmware. They're >>>> concerned with host interface xfer into the controller, not the IOs on >>>> the back end to the disks. They don't see this as an end-to-end deal. >>>> In fact, I'd guess most of these folks see their device as performing >>>> magic, and it doesn't matter what comes in or goes out either end. >>>> "We'll take care of it." >>> >>> Deja vu. This is an isochronous RAID array you are having trouble >>> with, isn't it? >> >> I don't believe so. I'm pretty sure the parity rotates; i.e. standard >> RAID5/6. > > The location of parity doesn't dtermine that it is isochronous in > behaviour or not. Often RAID5/6 is marketing speak for "single/dual > parity", not the type of redundancy that is implemented in the > hardware ;) Yea, I know. It's the lack of buffering/blocking that makes it isochronous. Above I was referring to something you said last year: http://oss.sgi.com/archives/xfs/2013-06/msg00981.html "And at the other end of the scale, isochronous RAID arrays tend to have dedicated parity disks so that data read and write behaviour is deterministic and therefore predictable from a high level...." >>> FWIW, do your problems go away when you make you hardware LUN width >>> a multiple of the cache segment size? >> >> Hadn't tried it. And I don't have the opportunity now as my contract >> has ended. However the problems we were having weren't related to >> controller issues but excessive seeking. I mentioned this in that >> (rather lengthy) previous reply. > > Right, but if you had a 768k stripe width and a 1MB cache segment > size, a cache segment operation would require two stripe widths to > be operated on, and only one would be a whole stripe width. hence > the possibility of doing more IOs than are necessary to populate > or write back cache segments. i.e. it's a potential reason for > why the back end disks didn't have anywhere near the expected seek > capability they were supposed to have.... That's a very good point. And would be performance suicide for a vendor pushing 224 drive arrays packed w/7.2 drives. I don't think that's what's happening here though, as testing with 132 parallel dd threads shows 1375 MB/s to the outer most AG. Peak single thread buffered dd write is ~1500 - 1800 MB/s depending on file size, etc. So with the right parallel workload we can achieve pretty close t peak LUN throughput. >>>> optimal_io_size. I'm guessing this has different meaning for different >>>> folks. You say optimal_io_size is the same as RAID width. Apply that >>>> to this case: >>>> >>>> hardware RAID 60 LUN, 4 arrays >>>> 16+2 RAID6, 256 KB stripe unit, 4096 KB stripe width >>>> 16 MB LUN stripe width >>>> optimal_io_size = 16 MB >>>> >>>> Is that an appropriate value for optimal_io_size even if this is the >>>> RAID width? I'm not saying it isn't. I don't know. I don't know what >>>> other layers of the Linux and RAID firmware stacks are affected by this, >>>> nor how they're affected. >>> >>> yup, i'd expect minimum = 4MB (i.e stripe unit 4MB so we align to >>> the underlying RAID6 luns) and optimal = 16MB for the stripe width >>> (and so with swalloc we align to the first lun in the RAID0). >> >> At minimum 4MB how does that affect journal writes which will be much >> smaller, especially with a large file streaming workload, for which this >> setup is appropriate? Isn't the minimum a hard setting? I.e. we can >> never do an IO less than 4MB? Do other layers of the stack use this >> variable? Are they expecting values this large? > > No, "minimum_io_size" is for "minimum *efficient* IO size" not the > smallest supported IO size. The smallest supported IO sizes and > atomic IO sizes are defined by hw_sector_size, > physical_block_size and logical_block_size. Ok got it. So this value is a performance hint. So would it be better for RAID vendors to simply populate these values with zeros instead of values that don't match the LUN geometry, as is the case with the arrays I've been working with? BTW, where/how are these values obtained? Are they returned to a SCSI inquiry? If so, which SCSI command? Thanks, Stan From sandeen@redhat.com Tue Oct 28 12:35: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 68E947F76 for ; Tue, 28 Oct 2014 12:35:39 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 39D1A304039 for ; Tue, 28 Oct 2014 10:35:36 -0700 (PDT) X-ASG-Debug-ID: 1414517734-04bdf038d24cff70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YsaF8p9URODY191G (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 28 Oct 2014 10:35:35 -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-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 s9SHZVbL020824 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 28 Oct 2014 13:35:31 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9SHZTmv011969 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 28 Oct 2014 13:35:30 -0400 Message-ID: <544FD3E1.1060000@redhat.com> Date: Tue, 28 Oct 2014 12:35:29 -0500 From: Eric Sandeen MIME-Version: 1.0 To: xfs-oss , Stan Hoeppner Subject: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size Content-Transfer-Encoding: 7bit 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: 1414517735 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 Today, this geometry: # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd 512 512 512 1048576 will result in a warning at mkfs time, like this: # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 because our geometry discovery thinks it looks like a valid striping setup which the commandline is overriding. However, a stripe unit of 512 really isn't indicative of a proper stripe geometry. Prior to this patch, we reset only sunit *or* swidth, if either was equal to physical block size, but not necessarily both. Change the heuristic so that if either the discovered sunit or the discovered swidth is physical block size, we reset *both* to zero and ignore the geom completely. While we're at it, don't pass &dummy in for multiple arguments to blkid_get_topology(); that'll mean that inside the function, the last assignment wins, and could lead to unexpected results. Reported-by: Stan Hoeppner Signed-off-by: Eric Sandeen --- diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 4546e35..a0fed31 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -410,21 +410,27 @@ static void blkid_get_topology( *lsectorsize = val; val = blkid_topology_get_physical_sector_size(tp); *psectorsize = val; + val = blkid_topology_get_minimum_io_size(tp); + *sunit = val; + val = blkid_topology_get_optimal_io_size(tp); + *swidth = val; /* - * Blkid reports the information in terms of bytes, but we want it in - * terms of 512 bytes blocks (just to convert it to bytes later..) - * * If the reported values are the same as the physical sector size - * do not bother to report anything. It will just cause warnings + * do not bother to report anything. It will only cause warnings * if people specify larger stripe units or widths manually. */ - val = blkid_topology_get_minimum_io_size(tp); - if (val > *psectorsize) - *sunit = val >> 9; - val = blkid_topology_get_optimal_io_size(tp); - if (val > *psectorsize) - *swidth = val >> 9; + if (*sunit == *psectorsize || *swidth == *psectorsize) { + *sunit = 0; + *swidth = 0; + } + + /* + * Blkid reports the information in terms of bytes, but we want it in + * terms of 512 bytes blocks (only to convert it to bytes later..) + */ + *sunit = *sunit >> 9; + *swidth = *swidth >> 9; if (blkid_topology_get_alignment_offset(tp) != 0) { fprintf(stderr, @@ -484,10 +490,10 @@ static void get_topology( } if (xi->rtname && !xi->risfile) { - int dummy; + int sunit, lsectorsize, psectorsize; - blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth, - &dummy, &dummy, force_overwrite); + blkid_get_topology(xi->rtname, &sunit, &ft->rtswidth, + &lsectorsize, &psectorsize, force_overwrite); } } #else /* ENABLE_BLKID */ From sandeen@sandeen.net Tue Oct 28 12:38: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 7648D7F76 for ; Tue, 28 Oct 2014 12:38:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6450E8F804C for ; Tue, 28 Oct 2014 10:38:08 -0700 (PDT) X-ASG-Debug-ID: 1414517887-04cbb070c542c380001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id KOpqxfj6SJdqvtBM for ; Tue, 28 Oct 2014 10:38:07 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id A8EEA63C3E14; Tue, 28 Oct 2014 12:38:06 -0500 (CDT) Message-ID: <544FD47D.8020409@sandeen.net> Date: Tue, 28 Oct 2014 12:38:05 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Eric Sandeen , xfs-oss , Stan Hoeppner Subject: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered References: <544FD3E1.1060000@redhat.com> X-ASG-Orig-Subj: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered In-Reply-To: <544FD3E1.1060000@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414517887 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.10995 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Today, users doing a bare mkfs on storage with a large default stripe size may be surprised to get this warning: log stripe unit (%d bytes) is too large (maximum is 256KiB log stripe unit adjusted to 32KiB through no fault of their own. The fallback is appropriate and harmless, and there's no need to warn about this in the defaults case. However, we keep the warning if a large log stripe unit was specified by the user on the commandline. Signed-off-by: Eric Sandeen --- diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index a0fed31..66711cb 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -946,6 +946,8 @@ main( int logversion; int lvflag; int lsflag; + int lsuflag; + int lsunitflag; int lsectorlog; int lsectorsize; int lslflag; @@ -1004,7 +1006,7 @@ main( sectorsize = lsectorsize = XFS_MIN_SECTORSIZE; agsize = daflag = dasize = dblocks = 0; ilflag = imflag = ipflag = isflag = 0; - liflag = laflag = lsflag = ldflag = lvflag = 0; + liflag = laflag = lsflag = lsuflag = lsunitflag = ldflag = lvflag = 0; loginternal = 1; logversion = 2; logagno = logblocks = rtblocks = rtextblocks = 0; @@ -1400,6 +1402,7 @@ main( respec('l', lopts, L_SU); lsu = cvtnum( blocksize, sectorsize, value); + lsuflag = 1; break; case L_SUNIT: if (!value || *value == '\0') @@ -1412,6 +1415,7 @@ main( usage(); } lsunit = cvtnum(0, 0, value); + lsunitflag = 1; break; case L_NAME: case L_DEV: @@ -2379,11 +2383,15 @@ an AG size that is one stripe unit smaller, for example %llu.\n"), } if (logversion == 2 && (lsunit * blocksize) > 256 * 1024) { - fprintf(stderr, + /* Warn only if specified on commandline */ + if (lsuflag || lsunitflag) { + fprintf(stderr, _("log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"), - (lsunit * blocksize)); + (lsunit * blocksize)); + fprintf(stderr, + _("log stripe unit adjusted to 32KiB\n")); + } lsunit = (32 * 1024) >> blocklog; - fprintf(stderr, _("log stripe unit adjusted to 32KiB\n")); } min_logblocks = max_trans_res(crcs_enabled, dirversion, From sandeen@sandeen.net Tue Oct 28 12:39: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 E3C6D7F76 for ; Tue, 28 Oct 2014 12:39:18 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 71E1CAC007 for ; Tue, 28 Oct 2014 10:39:15 -0700 (PDT) X-ASG-Debug-ID: 1414517953-04cb6c2efc3e85f0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id BvtioNvmLG5AdV40 for ; Tue, 28 Oct 2014 10:39:13 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 65F6763C3E14; Tue, 28 Oct 2014 12:39:13 -0500 (CDT) Message-ID: <544FD4C1.4020004@sandeen.net> Date: Tue, 28 Oct 2014 12:39:13 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Spelic , xfs@oss.sgi.com Subject: Re: XFS shrinking planned? References: <544FC202.1000200@shiftmail.org> X-ASG-Orig-Subj: Re: XFS shrinking planned? In-Reply-To: <544FC202.1000200@shiftmail.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414517953 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.10995 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 11:19 AM, Spelic wrote: > Hello all, > XFS is such a good high performance filesystem, kudos for that. > > However for large filesystems (which are mainly those that require high performance) the ability to shrink would be really needed. People usually do not have double the space so to move files to a smaller XFS filesystem, and the inability of XFS to shrink forbids major reorganizations of the storage systems. > > Currently, for that reason I use ext4. Performance is still decent and flexibility is higher due to the ability to shrink, but I would use XFS if it could shrink. > > I suppose shrinking ability is not even planned, is it? Not formally planned, there are bits and pieces out there (i.e. the inode mover) which are part of what it might take to achieve a shrinker. Another option, rather than fs shrinking, is to use the dm-thinp target, which would allow you to allocate a large-but-sparse block device, create a very large filesystem on that, and add or remove storage as needed. (At least I think you can remove it...!) -Eric > Thank you > S. From sandeen@sandeen.net Tue Oct 28 12:42: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 D2D647F7C for ; Tue, 28 Oct 2014 12:42:18 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5F94AAC008 for ; Tue, 28 Oct 2014 10:42:18 -0700 (PDT) X-ASG-Debug-ID: 1414518136-04cbb070c642c5f0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id MHvY7UyW2wNa6qUK for ; Tue, 28 Oct 2014 10:42: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 4F2A163C3E14; Tue, 28 Oct 2014 12:42:16 -0500 (CDT) Message-ID: <544FD577.9040605@sandeen.net> Date: Tue, 28 Oct 2014 12:42:15 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Jan Kokoska , xfs@oss.sgi.com Subject: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel References: X-ASG-Orig-Subj: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414518136 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.10995 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 10:38 AM, Jan Kokoska wrote: > Hi, > > I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel on ... for which we have no source code? ;) I don't know what's in "2.6.32-openvz-amd64" so can't help much. What is at line 86 of xfs_aops.c in that kernel? -Eric > several amd64 machines by different manufacturers (HP and Supermicro) > and different RAID cards (HP and Areca). > > I've started seeing kernel crashes in October, as per the netconsole > logs attached, on two of the machines (one HP, one Supermicro). The > traces look quite similar, the machine in question cannot write > anything to its own filesystem when this happens so the logs are made > over the network. The XFS filesystem is not root (that's ext4), but > one for data (OS containers), on both machines. When I run xfs_check > and xfs_repair on the filesystem after the kernel crash & reboot, no > issue is ever found. > > This may very well have nothing to do with XFS kernel code you wrote > and maintain, but in that case, could you, from looking at the traces, > tell me whether it maybe looks like something issue related to > vm/paging just ending up in XFS related code path? > > I'm happy to test any suggestions/fixes for this if it is XFS related. > > Thank you, > -- > Jan Kokoska > Glow Internet s.r.o. > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From stefanrin@gmail.com Tue Oct 28 15:02: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=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 714D97F37 for ; Tue, 28 Oct 2014 15:02:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0D235AC008 for ; Tue, 28 Oct 2014 13:01:59 -0700 (PDT) X-ASG-Debug-ID: 1414526517-04cb6c2efc3f2ab0001-NocioJ Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by cuda.sgi.com with ESMTP id 5BODOjevPKG6ZGJ1 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 13:01:58 -0700 (PDT) X-Barracuda-Envelope-From: stefanrin@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.172 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.172] Received: by mail-wi0-f172.google.com with SMTP id d1so6904029wiv.17 for ; Tue, 28 Oct 2014 13:01:56 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.172] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.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=dEIw8LVrXVrvngdjj85uxqYcef1zcC91WMhLMlCYr4Q=; b=wKETiZKsfilCHwI71azXCwuvasaeh1z1o7ZG8RpLUryLPqHpZ74/FLnMPa0Cmh3umF QlUUyQkcQ9qW+qxC4MF1a3X44EO53vWpfort052Q3/q63KGoHFvQWQfTdHgY3CQC/Fgn S32Iz0ZtvZ93IkBAAloCWyFh4Bv9gUFhkwYa5yabvQg+Rq9z8Uv/e6EcTSr/uPy/HZ5f DTLM1LbWqQPnFPx7jQz0SS77wYS1XXYS0b+xjPngAHkyAYP69vdEh0EPaPgFIDfHce7/ gXoiS8YbX/fLhXi6UGjBLcY4cqX57X3LS73AtZZxBL/Nvi4eo3L7kMkgJ3bSs8nlYpRt 2PlQ== MIME-Version: 1.0 X-Received: by 10.180.74.76 with SMTP id r12mr14659263wiv.6.1414526516620; Tue, 28 Oct 2014 13:01:56 -0700 (PDT) Received: by 10.194.80.161 with HTTP; Tue, 28 Oct 2014 13:01:56 -0700 (PDT) In-Reply-To: <544FD577.9040605@sandeen.net> References: <544FD577.9040605@sandeen.net> Date: Tue, 28 Oct 2014 21:01:56 +0100 Message-ID: Subject: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel From: Stefan Ring X-ASG-Orig-Subj: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel To: Eric Sandeen Cc: Jan Kokoska , Linux fs XFS Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-wi0-f172.google.com[209.85.212.172] X-Barracuda-Start-Time: 1414526517 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.11001 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, Oct 28, 2014 at 6:42 PM, Eric Sandeen wrote: > On 10/28/14 10:38 AM, Jan Kokoska wrote: >> Hi, >> >> I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel on > > ... for which we have no source code? ;) > > I don't know what's in "2.6.32-openvz-amd64" so can't help much. > > What is at line 86 of xfs_aops.c in that kernel? >From my quick investigation, it would seem to be the line "bh = head = page_buffers(page);" of xfs_count_page_state. From sandeen@sandeen.net Tue Oct 28 15:06: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7BF267F37 for ; Tue, 28 Oct 2014 15:06:51 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5A3BC8F8049 for ; Tue, 28 Oct 2014 13:06:48 -0700 (PDT) X-ASG-Debug-ID: 1414526806-04cb6c2efc3f2fd0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id zkNYLKzvHMoID1im for ; Tue, 28 Oct 2014 13:06:46 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 0FEF563C5F3A; Tue, 28 Oct 2014 15:06:45 -0500 (CDT) Message-ID: <544FF755.1010705@sandeen.net> Date: Tue, 28 Oct 2014 15:06:45 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Stefan Ring CC: Jan Kokoska , Linux fs XFS Subject: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel References: <544FD577.9040605@sandeen.net> X-ASG-Orig-Subj: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414526806 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.11001 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 3:01 PM, Stefan Ring wrote: > On Tue, Oct 28, 2014 at 6:42 PM, Eric Sandeen wrote: >> On 10/28/14 10:38 AM, Jan Kokoska wrote: >>> Hi, >>> >>> I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel on >> >> ... for which we have no source code? ;) >> >> I don't know what's in "2.6.32-openvz-amd64" so can't help much. >> >> What is at line 86 of xfs_aops.c in that kernel? > > From my quick investigation, it would seem to be the line "bh = head = > page_buffers(page);" of xfs_count_page_state. Yes, I think you're right, but my point is this is a kernel which we don't maintain. Anyway, I don't know for sure offhand what this could be; upstream ef5d437f71afdf4afdbab99213add99f4b1318fd looks related, but TBH I'm not sure if it's specific to S390. -Eric From david@fromorbit.com Tue Oct 28 19:23: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 BE6C17F37 for ; Tue, 28 Oct 2014 19:23:01 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8EE968F8035 for ; Tue, 28 Oct 2014 17:22:58 -0700 (PDT) X-ASG-Debug-ID: 1414542175-04bdf038d04e9e80001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id z4CMAtCBLrvgdhXU for ; Tue, 28 Oct 2014 17:22:56 -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: AgdfAAMyUFR5LbBUPGdsb2JhbABcgw6BLIc9sxsGlUeFagICAQECgR0XAQEBAQEGAQEBATg7hAMBAQQ6HCMQCAMOCgklDwUlAwcaE4hAxTUBAQEBBgEBAQEeGIYdilQHgy2BHgWdZ4Eyg0mHc4Imiy8pL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 10:52:55 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjH2L-00041M-A0; Wed, 29 Oct 2014 11:22:53 +1100 Date: Wed, 29 Oct 2014 11:22:53 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141029002253.GE16186@dastard> X-ASG-Orig-Subj: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates References: <1413824781-10733-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413824781-10733-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: 1414542175 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.11007 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Oct 20, 2014 at 01:06:21PM -0400, Brian Foster wrote: > The zero range operation is analogous to fallocate with the exception of > converting the range to zeroes. E.g., it attempts to allocate zeroed > blocks over the range specified by the caller. The XFS implementation > kills all delalloc blocks currently over the aligned range, converts the > range to allocated zero blocks (unwritten extents) and handles the > partial pages at the ends of the range by sending writes through the > pagecache. > > The current implementation suffers from several problems associated with > inode size. If the aligned range covers an extending I/O, said I/O is > discarded and an inode size update from a previous write never makes it > to disk. Further, if an unaligned zero range extends beyond eof, the > page write induced for the partial end page can itself increase the > inode size, even if the zero range request is not supposed to update > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > The latter behavior not only incorrectly increases the inode size, but > can lead to stray delalloc blocks on the inode. Typically, post-eof > preallocation blocks are either truncated on release or inode eviction > or explicitly written to by xfs_zero_eof() on natural file size > extension. If the inode size increases due to zero range, however, > associated blocks leak into the address space having never been > converted or mapped to pagecache pages. A direct I/O to such an > uncovered range cannot convert the extent via writeback and will BUG(). > For example: > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > ... > $ xfs_io -d -c "pread 128k 128k" > > > If the entire delalloc extent happens to not have page coverage > whatsoever (e.g., delalloc conversion couldn't find a large enough free > space extent), even a full file writeback won't convert what's left of > the extent and we'll assert on inode eviction. > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > Use the existing hole punch and prealloc mechanisms as primitives for > zero range. This implementation is not efficient nor ideal as we > writeback dirty data over the range and remove existing extents rather > than convert to unwrittern. The former writeback, however, is currently > the only mechanism available to ensure consistency between pagecache and > extent state. Even a pagecache truncate/delalloc punch prior to hole > punch has lead to inconsistencies due to racing with writeback. > > This provides a consistent, correct implementation of zero range that > survives fsstress/fsx testing without assert failures. The > implementation can be optimized from this point forward once the > fundamental issue of pagecache and delalloc extent state consistency is > addressed. > > Signed-off-by: Brian Foster > --- > > v5: > - Further simplify to eliminate delalloc block punch. This now causes xfs/053 to fail, probably because it changes the behaviour to actually write the file and hence change EOF. Can you please check that this is working correctly, and if so submit patches to change xfs/053 to expect the file size to change and contain the correct data? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Oct 28 20:25: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 6F4177F37 for ; Tue, 28 Oct 2014 20:25:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4FAEE8F8035 for ; Tue, 28 Oct 2014 18:25:07 -0700 (PDT) X-ASG-Debug-ID: 1414545901-04cbb070c8446de0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id J3uv3Nn1fOa4fDOR for ; Tue, 28 Oct 2014 18:25:01 -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: AgdfAH1BUFR5LbBUPGdsb2JhbABcgw6BLIc9sxwGlUeFagICAQECgR0XAQEBAQEGAQEBATg7hAMBAQQ6HCMQCAMOCgklDwUlAwcaE4hAxSkBAQEBBgEBAQEeGIYdilQHgy2BHgWdZ4Eyg0mHc4Imiy8pL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 11:54:13 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjHzf-00048Z-9A; Wed, 29 Oct 2014 12:24:11 +1100 Date: Wed, 29 Oct 2014 12:24:11 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141029012411.GF16186@dastard> X-ASG-Orig-Subj: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates References: <1413824781-10733-1-git-send-email-bfoster@redhat.com> <20141029002253.GE16186@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029002253.GE16186@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: 1414545901 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.11008 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 11:22:53AM +1100, Dave Chinner wrote: > On Mon, Oct 20, 2014 at 01:06:21PM -0400, Brian Foster wrote: > > The zero range operation is analogous to fallocate with the exception of > > converting the range to zeroes. E.g., it attempts to allocate zeroed > > blocks over the range specified by the caller. The XFS implementation > > kills all delalloc blocks currently over the aligned range, converts the > > range to allocated zero blocks (unwritten extents) and handles the > > partial pages at the ends of the range by sending writes through the > > pagecache. > > > > The current implementation suffers from several problems associated with > > inode size. If the aligned range covers an extending I/O, said I/O is > > discarded and an inode size update from a previous write never makes it > > to disk. Further, if an unaligned zero range extends beyond eof, the > > page write induced for the partial end page can itself increase the > > inode size, even if the zero range request is not supposed to update > > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > > > The latter behavior not only incorrectly increases the inode size, but > > can lead to stray delalloc blocks on the inode. Typically, post-eof > > preallocation blocks are either truncated on release or inode eviction > > or explicitly written to by xfs_zero_eof() on natural file size > > extension. If the inode size increases due to zero range, however, > > associated blocks leak into the address space having never been > > converted or mapped to pagecache pages. A direct I/O to such an > > uncovered range cannot convert the extent via writeback and will BUG(). > > For example: > > > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > > ... > > $ xfs_io -d -c "pread 128k 128k" > > > > > > If the entire delalloc extent happens to not have page coverage > > whatsoever (e.g., delalloc conversion couldn't find a large enough free > > space extent), even a full file writeback won't convert what's left of > > the extent and we'll assert on inode eviction. > > > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > > Use the existing hole punch and prealloc mechanisms as primitives for > > zero range. This implementation is not efficient nor ideal as we > > writeback dirty data over the range and remove existing extents rather > > than convert to unwrittern. The former writeback, however, is currently > > the only mechanism available to ensure consistency between pagecache and > > extent state. Even a pagecache truncate/delalloc punch prior to hole > > punch has lead to inconsistencies due to racing with writeback. > > > > This provides a consistent, correct implementation of zero range that > > survives fsstress/fsx testing without assert failures. The > > implementation can be optimized from this point forward once the > > fundamental issue of pagecache and delalloc extent state consistency is > > addressed. > > > > Signed-off-by: Brian Foster > > --- > > > > v5: > > - Further simplify to eliminate delalloc block punch. > > This now causes xfs/053 to fail, probably because it changes the > behaviour to actually write the file and hence change EOF. Can you > please check that this is working correctly, and if so submit > patches to change xfs/053 to expect the file size to change > and contain the correct data? Hmm, it appears that I tested the wrong "old kernel" when checking for regression. 3.18-rc2 also fails, so we need fixes for the xfs/053 test, not this patch.... -Dave. -- Dave Chinner david@fromorbit.com From dgc@oss.sgi.com Tue Oct 28 20:32: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=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 DB1B37F3F; Tue, 28 Oct 2014 20:32:51 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. v3.18-rc2 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 52addcf9d6669fa439387610bc65c92fa0980cef X-Git-Newrev: cac7f2429872d3733dc3f9915857b1691da2eb2f Message-Id: <20141029013251.DB1B37F3F@oss.sgi.com> Date: Tue, 28 Oct 2014 20:32:51 -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 d3dc366 Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block 6889e78 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next a8b1ee8 xfs: fix agno increment in xfs_inumbers() loop 5217793 xfs: xfs_iflush_done checks the wrong log item callback da5f109 xfs: flush the range before zero range conversion 07d0868 xfs: restore buffer_head unwritten bit on ioend cancel 5cca3f6 xfs: check for null dquot in xfs_quota_calc_throttle() 04dd1a0 xfs: fix crc field handling in xfs_sb_to/from_disk 6ee49a2 xfs: don't send null bp to xfs_trans_brelse() ce57bcf xfs: check for inode size overflow in xfs_new_eof() a872703 xfs: only set extent size hint when asked 9336e3a xfs: project id inheritance is a directory only flag e076b0f xfs: kill time.h b1d6cc0 xfs: compat_xfs_bstat does not have forkoff 75e58ce Merge branch 'xfs-buf-iosubmit' into for-next 8c15612 xfs: simplify xfs_zero_remaining_bytes ba37267 xfs: check xfs_buf_read_uncached returns correctly 595bff7 xfs: introduce xfs_buf_submit[_wait] 8b13197 xfs: kill xfs_bioerror_relse 2718775 xfs: xfs_bioerror can die. 8dac392 xfs: kill xfs_bdstrat_cb 61be9c5 xfs: rework xfs_buf_bio_endio error handling e8aaba9 xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality e11bb80 xfs: synchronous buffer IO needs a reference cf53e99 xfs: Don't use xfs_buf_iowait in the delwri buffer code a870fe6d xfs: force the log before shutting down bd438f8 Merge branch 'xfs-sparse-fixes' into for-next b972d07 xfs: annotate user variables passed as void e3aed1a xfs: xfs_kset should be static bf1ed38 xfs: xfs_qm_dquot_isolate needs locking annotations for sparse e68ed77 xfs: fix use of agi_newino in finobt lookup 2f43bbd Merge branch 'xfs-trans-recover-cleanup' into for-next b818cca xfs: refactor recovery transaction start handling 7656066 xfs: reorganise transaction recovery item code 88b863d xfs: fix double free in xlog_recover_commit_trans e9131e5 xfs: recovery of XLOG_UNMOUNT_TRANS leaks memory eeb1168 xfs: refactor xlog_recover_process_data() 33044dc Merge branch 'xfs-misc-fixes-for-3.18-2' into for-next 2ebff7b xfs: flush entire last page of old EOF on truncate up 7abbb8f xfs: xfs_swap_extent_flush can be static 02cc187 xfs: xfs_buf_write_fail_rl_state can be static ea95961 xfs: xfs_rtget_summary can be static e3cf179 xfs: remove second xfs_quota.h inclusion in xfs_icache.c fb04013 xfs: don't ASSERT on corrupt ftype 8af3dcd xfs: xlog_cil_force_lsn doesn't always wait correctly f6d31f4 Merge branch 'xfs-shift-extents-rework' into for-next 8b5279e xfs: only writeback and truncate pages for the freed range f71721d xfs: writeback and inval. file range to be shifted by collapse a979bdf xfs: refactor single extent shift into xfs_bmse_shift_one() helper ddb19e3 xfs: refactor shift-by-merge into xfs_bmse_merge() helper 2c845f5 xfs: track collapse via file offset rather than extent index 0d085a5 xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly 6d11fb4 Merge branch 'for-linus' into for-3.18/core a4241ae Merge branch 'xfs-misc-fixes-for-3.18-1' into for-next ab6978c xfs: remove rbpp check from xfs_rtmodify_summary_int afabfd3 xfs: combine xfs_rtmodify_summary and xfs_rtget_summary b16ed7c xfs: combine xfs_dir_canenter into xfs_dir_createname 94f3cad xfs: check resblks before calling xfs_dir_canenter 970fd3f xfs: deduplicate xlog_do_recovery_pass() 59f9c00 xfs: lseek: the "whence" argument is called "whence" 49c6959 xfs: combine xfs_seek_hole & xfs_seek_data 2e22717 xfs: export log_recovery_delay to delay mount time log recovery 65b6573 xfs: add debug sysfs attribute set e1b0572 xfs: add a few more verifier tests 8018ec0 xfs: mark all internal workqueues as freezable ff9ea32 block, bdi: an active gendisk always has a request_queue associated with it 41b9d72 xfs: trim eofblocks before collapse range 1669a8c xfs: xfs_file_collapse_range is delalloc challenged ca446d8 xfs: don't log inode unless extent shift makes extent modifications 7d4ea3c xfs: use ranged writeback and invalidation for direct IO 834ffca xfs: don't zero partial page cache pages during O_DIRECT writes 85e584d xfs: don't zero partial page cache pages during O_DIRECT writes 22e757a xfs: don't dirty buffers beyond EOF from 52addcf9d6669fa439387610bc65c92fa0980cef (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 d3dc366bbaf07c125561e90d6da4bb147741101a Merge: 511c41d e19a8a0 Author: Linus Torvalds Date: Sat Oct 18 11:53:51 2014 -0700 Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block Pull core block layer changes from Jens Axboe: "This is the core block IO pull request for 3.18. Apart from the new and improved flush machinery for blk-mq, this is all mostly bug fixes and cleanups. - blk-mq timeout updates and fixes from Christoph. - Removal of REQ_END, also from Christoph. We pass it through the ->queue_rq() hook for blk-mq instead, freeing up one of the request bits. The space was overly tight on 32-bit, so Martin also killed REQ_KERNEL since it's no longer used. - blk integrity updates and fixes from Martin and Gu Zheng. - Update to the flush machinery for blk-mq from Ming Lei. Now we have a per hardware context flush request, which both cleans up the code should scale better for flush intensive workloads on blk-mq. - Improve the error printing, from Rob Elliott. - Backing device improvements and cleanups from Tejun. - Fixup of a misplaced rq_complete() tracepoint from Hannes. - Make blk_get_request() return error pointers, fixing up issues where we NULL deref when a device goes bad or missing. From Joe Lawrence. - Prep work for drastically reducing the memory consumption of dm devices from Junichi Nomura. This allows creating clone bio sets without preallocating a lot of memory. - Fix a blk-mq hang on certain combinations of queue depths and hardware queues from me. - Limit memory consumption for blk-mq devices for crash dump scenarios and drivers that use crazy high depths (certain SCSI shared tag setups). We now just use a single queue and limited depth for that" * 'for-3.18/core' of git://git.kernel.dk/linux-block: (58 commits) block: Remove REQ_KERNEL blk-mq: allocate cpumask on the home node bio-integrity: remove the needless fail handle of bip_slab creating block: include func name in __get_request prints block: make blk_update_request print prefix match ratelimited prefix blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio block: fix alignment_offset math that assumes io_min is a power-of-2 blk-mq: Make bt_clear_tag() easier to read blk-mq: fix potential hang if rolling wakeup depth is too high block: add bioset_create_nobvec() block: use bio_clone_fast() in blk_rq_prep_clone() block: misplaced rq_complete tracepoint sd: Honor block layer integrity handling flags block: Replace strnicmp with strncasecmp block: Add T10 Protection Information functions block: Don't merge requests if integrity flags differ block: Integrity checksum flag block: Relocate bio integrity flags block: Add a disk flag to block integrity profile block: Add prefix to block integrity profile flags ... commit 6d11fb454b161a4565c57be6f1c5527235741003 Merge: b207892 8b95741 Author: Jens Axboe Date: Mon Sep 22 11:57:32 2014 -0600 Merge branch 'for-linus' into for-3.18/core Moving patches from for-linus to 3.18 instead, pull in this changes that will go to Linus today. commit ff9ea323816dc1c8ac7144afd4eab3ac97704430 Author: Tejun Heo Date: Mon Sep 8 08:03:56 2014 +0900 block, bdi: an active gendisk always has a request_queue associated with it bdev_get_queue() returns the request_queue associated with the specified block_device. blk_get_backing_dev_info() makes use of bdev_get_queue() to determine the associated bdi given a block_device. All the callers of bdev_get_queue() including blk_get_backing_dev_info() assume that bdev_get_queue() may return NULL and implement NULL handling; however, bdev_get_queue() requires the passed in block_device is opened and attached to its gendisk. Because an active gendisk always has a valid request_queue associated with it, bdev_get_queue() can never return NULL and neither can blk_get_backing_dev_info(). Make it clear that neither of the two functions can return NULL and remove NULL handling from all the callers. Signed-off-by: Tejun Heo Cc: Chris Mason Cc: Dave Chinner Signed-off-by: Jens Axboe ----------------------------------------------------------------------- Summary of changes: fs/xfs/kmem.c | 1 - fs/xfs/libxfs/xfs_alloc.c | 4 + fs/xfs/libxfs/xfs_bmap.c | 371 +++++++++++++++-------- fs/xfs/libxfs/xfs_bmap.h | 7 +- fs/xfs/libxfs/xfs_da_btree.c | 3 +- fs/xfs/libxfs/xfs_da_format.c | 1 - fs/xfs/libxfs/xfs_dir2.c | 67 +--- fs/xfs/libxfs/xfs_dir2.h | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 7 +- fs/xfs/libxfs/xfs_rtbitmap.c | 49 ++- fs/xfs/libxfs/xfs_sb.c | 7 + fs/xfs/time.h | 36 --- fs/xfs/xfs_aops.c | 84 ++++- fs/xfs/xfs_bmap_util.c | 120 ++++---- fs/xfs/xfs_buf.c | 357 +++++++++++----------- fs/xfs/xfs_buf.h | 15 +- fs/xfs/xfs_buf_item.c | 10 +- fs/xfs/xfs_file.c | 205 +++++-------- fs/xfs/xfs_fsops.c | 11 +- fs/xfs/xfs_globals.c | 4 + fs/xfs/xfs_icache.c | 1 - fs/xfs/xfs_inode.c | 34 ++- fs/xfs/xfs_inode.h | 2 +- fs/xfs/xfs_inode_item.c | 2 +- fs/xfs/xfs_ioctl.c | 28 +- fs/xfs/xfs_ioctl32.c | 2 + fs/xfs/xfs_ioctl32.h | 3 +- fs/xfs/xfs_iomap.c | 4 +- fs/xfs/xfs_iops.c | 30 ++ fs/xfs/xfs_itable.c | 3 +- fs/xfs/xfs_linux.h | 6 +- fs/xfs/xfs_log.c | 59 ++-- fs/xfs/xfs_log_cil.c | 47 ++- fs/xfs/xfs_log_recover.c | 689 ++++++++++++++++++++++-------------------- fs/xfs/xfs_mount.c | 58 ++-- fs/xfs/xfs_mru_cache.c | 3 +- fs/xfs/xfs_qm.c | 1 + fs/xfs/xfs_rtalloc.c | 85 +----- fs/xfs/xfs_rtalloc.h | 4 + fs/xfs/xfs_super.c | 39 ++- fs/xfs/xfs_symlink.c | 8 +- fs/xfs/xfs_sysctl.h | 5 + fs/xfs/xfs_sysfs.c | 74 +++++ fs/xfs/xfs_sysfs.h | 1 + fs/xfs/xfs_trace.h | 3 +- fs/xfs/xfs_trans_buf.c | 16 +- fs/xfs/xfs_trans_inode.c | 2 +- 47 files changed, 1399 insertions(+), 1171 deletions(-) delete mode 100644 fs/xfs/time.h hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Tue Oct 28 20:33: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=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 B043E29DFA; Tue, 28 Oct 2014 20:33:57 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-fixes-for-3.18-rc3, created. v3.18-rc2-4-gbae0989 X-Git-Refname: refs/heads/xfs-fixes-for-3.18-rc3 X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: bae09893f6a5260c7030499ddfd0911899ae3d0c Message-Id: <20141029013357.B043E29DFA@oss.sgi.com> Date: Tue, 28 Oct 2014 20:33:57 -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-fixes-for-3.18-rc3 has been created at bae09893f6a5260c7030499ddfd0911899ae3d0c (commit) - Log ----------------------------------------------------------------- commit bae09893f6a5260c7030499ddfd0911899ae3d0c Author: Brian Foster Date: Wed Oct 29 11:20:27 2014 +1100 xfs: rework zero range to prevent invalid i_size updates The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Use the existing hole punch and prealloc mechanisms as primitives for zero range. This implementation is not efficient nor ideal as we writeback dirty data over the range and remove existing extents rather than convert to unwrittern. The former writeback, however, is currently the only mechanism available to ensure consistency between pagecache and extent state. Even a pagecache truncate/delalloc punch prior to hole punch has lead to inconsistencies due to racing with writeback. This provides a consistent, correct implementation of zero range that survives fsstress/fsx testing without assert failures. The implementation can be optimized from this point forward once the fundamental issue of pagecache and delalloc extent state consistency is addressed. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit e9c5e12104c38d1d381a789ddefca2bfef99a8da Author: Jan Kara Date: Wed Oct 29 11:19:27 2014 +1100 mm: Remove false WARN_ON from pagecache_isize_extended() The WARN_ON checking whether i_mutex is held in pagecache_isize_extended() was wrong because some filesystems (e.g. XFS) use different locks for serialization of truncates / writes. So just remove the check. Signed-off-by: Jan Kara Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 3f7bc307d477036177a86334dd02a95981b34ecc Author: Jan Kara Date: Wed Oct 29 11:19:22 2014 +1100 xfs: Check error during inode btree iteration in xfs_bulkstat() xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In case of specific fs corruption that could result in xfs_bulkstat() entering an infinite loop because we would be looping over the same chunk over and over again. Fix the problem by checking the return value and terminating the loop properly. Coverity-id: 1231338 cc: Signed-off-by: Jan Kara Reviewed-by: Jie Liu Signed-off-by: Dave Chinner commit a6bbce54efa9145dbcf3029c885549f7ebc40a3b Author: Dave Chinner Date: Wed Oct 29 08:22:18 2014 +1100 xfs: bulkstat doesn't release AGI buffer on error The recent refactoring of the bulkstat code left a small landmine in the code. If a inobt read fails, then the tree walk is aborted and returns without releasing the AGI buffer or freeing the cursor. This can lead to a subsequent bulkstat call hanging trying to grab the AGI buffer again. cc: Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Reviewed-by: Eric Sandeen Signed-off-by: Dave Chinner ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Tue Oct 28 20:34: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=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 4ADA229DFB; Tue, 28 Oct 2014 20:34:13 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. v3.18-rc2-4-gbae0989 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: 6889e783cd68b79f8330ad4d10a2571c67c3f7df X-Git-Newrev: bae09893f6a5260c7030499ddfd0911899ae3d0c Message-Id: <20141029013413.4ADA229DFB@oss.sgi.com> Date: Tue, 28 Oct 2014 20:34:13 -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 bae0989 xfs: rework zero range to prevent invalid i_size updates 3f7bc30 xfs: Check error during inode btree iteration in xfs_bulkstat() a6bbce5 xfs: bulkstat doesn't release AGI buffer on error d3dc366 Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block 6d11fb4 Merge branch 'for-linus' into for-3.18/core ff9ea32 block, bdi: an active gendisk always has a request_queue associated with it from 6889e783cd68b79f8330ad4d10a2571c67c3f7df (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 bae09893f6a5260c7030499ddfd0911899ae3d0c Author: Brian Foster Date: Wed Oct 29 11:20:27 2014 +1100 xfs: rework zero range to prevent invalid i_size updates The zero range operation is analogous to fallocate with the exception of converting the range to zeroes. E.g., it attempts to allocate zeroed blocks over the range specified by the caller. The XFS implementation kills all delalloc blocks currently over the aligned range, converts the range to allocated zero blocks (unwritten extents) and handles the partial pages at the ends of the range by sending writes through the pagecache. The current implementation suffers from several problems associated with inode size. If the aligned range covers an extending I/O, said I/O is discarded and an inode size update from a previous write never makes it to disk. Further, if an unaligned zero range extends beyond eof, the page write induced for the partial end page can itself increase the inode size, even if the zero range request is not supposed to update i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). The latter behavior not only incorrectly increases the inode size, but can lead to stray delalloc blocks on the inode. Typically, post-eof preallocation blocks are either truncated on release or inode eviction or explicitly written to by xfs_zero_eof() on natural file size extension. If the inode size increases due to zero range, however, associated blocks leak into the address space having never been converted or mapped to pagecache pages. A direct I/O to such an uncovered range cannot convert the extent via writeback and will BUG(). For example: $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" ... $ xfs_io -d -c "pread 128k 128k" If the entire delalloc extent happens to not have page coverage whatsoever (e.g., delalloc conversion couldn't find a large enough free space extent), even a full file writeback won't convert what's left of the extent and we'll assert on inode eviction. Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. Use the existing hole punch and prealloc mechanisms as primitives for zero range. This implementation is not efficient nor ideal as we writeback dirty data over the range and remove existing extents rather than convert to unwrittern. The former writeback, however, is currently the only mechanism available to ensure consistency between pagecache and extent state. Even a pagecache truncate/delalloc punch prior to hole punch has lead to inconsistencies due to racing with writeback. This provides a consistent, correct implementation of zero range that survives fsstress/fsx testing without assert failures. The implementation can be optimized from this point forward once the fundamental issue of pagecache and delalloc extent state consistency is addressed. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 3f7bc307d477036177a86334dd02a95981b34ecc Author: Jan Kara Date: Wed Oct 29 11:19:22 2014 +1100 xfs: Check error during inode btree iteration in xfs_bulkstat() xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In case of specific fs corruption that could result in xfs_bulkstat() entering an infinite loop because we would be looping over the same chunk over and over again. Fix the problem by checking the return value and terminating the loop properly. Coverity-id: 1231338 cc: Signed-off-by: Jan Kara Reviewed-by: Jie Liu Signed-off-by: Dave Chinner commit a6bbce54efa9145dbcf3029c885549f7ebc40a3b Author: Dave Chinner Date: Wed Oct 29 08:22:18 2014 +1100 xfs: bulkstat doesn't release AGI buffer on error The recent refactoring of the bulkstat code left a small landmine in the code. If a inobt read fails, then the tree walk is aborted and returns without releasing the AGI buffer or freeing the cursor. This can lead to a subsequent bulkstat call hanging trying to grab the AGI buffer again. cc: Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Reviewed-by: Eric Sandeen Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_bmap_util.c | 72 ++++++++++++++------------------------------------ fs/xfs/xfs_buf.c | 2 -- fs/xfs/xfs_itable.c | 20 +++++++++----- 3 files changed, 34 insertions(+), 60 deletions(-) hooks/post-receive -- XFS development tree From dave@fromorbit.com Tue Oct 28 22:09: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 F0EAD7F37 for ; Tue, 28 Oct 2014 22:09:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9C652AC007 for ; Tue, 28 Oct 2014 20:09:14 -0700 (PDT) X-ASG-Debug-ID: 1414552150-04bdf038cf4f01f0002-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id w5syKdv6YVCOGIKr for ; Tue, 28 Oct 2014 20:09:13 -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: Ak0PAPVYUFR5LbBUPGdsb2JhbABcgw6BLIc9sx8GnFYXAQEBAQEGAQEBATg7hAMBBScvIxAIGDE5AwcUGYhAxT6GNYpxhDUFhi2kKIsQAYJEKS+CSwEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 13:39:09 +1030 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1XjJdD-0004Ny-Cn; Wed, 29 Oct 2014 14:09:07 +1100 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1XjJdD-0003Ir-Bq; Wed, 29 Oct 2014 14:09:07 +1100 From: Dave Chinner To: xfs@oss.sgi.com Cc: bvowk@box.com Subject: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors Date: Wed, 29 Oct 2014 14:09:03 +1100 X-ASG-Orig-Subj: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors Message-Id: <1414552144-12627-2-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1414552144-12627-1-git-send-email-david@fromorbit.com> References: <1414552144-12627-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1414552151 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.11010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner Obviously hasn't been used for quite some time, so fix the build problems and make it useful again. Signed-off-by: Dave Chinner --- repair/phase5.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/repair/phase5.c b/repair/phase5.c index e82eeb7..d6d3c6d 100644 --- a/repair/phase5.c +++ b/repair/phase5.c @@ -362,10 +362,6 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, extent_tree_node_t *ext_ptr; int level; #ifdef XR_BLD_FREE_TRACE - int old_state; - int state = XR_E_BAD_STATE; -#endif -#ifdef XR_BLD_FREE_TRACE fprintf(stderr, "in init_freespace_cursor, agno = %d\n", agno); #endif @@ -1292,8 +1288,8 @@ build_agf_agfl(xfs_mount_t *mp, memset(agf, 0, mp->m_sb.sb_sectsize); #ifdef XR_BLD_FREE_TRACE - fprintf(stderr, "agf = 0x%x, agf_buf->b_un.b_addr = 0x%x\n", - (__psint_t) agf, (__psint_t) agf_buf->b_un.b_addr); + fprintf(stderr, "agf = 0x%p, agf_buf->b_addr = 0x%p\n", + agf, agf_buf->b_addr); #endif /* @@ -1452,7 +1448,7 @@ build_agf_agfl(xfs_mount_t *mp, } #ifdef XR_BLD_FREE_TRACE - fprintf(stderr, "wrote agf for ag %u, error = %d\n", agno, error); + fprintf(stderr, "wrote agf for ag %u\n", agno); #endif } @@ -1707,11 +1703,10 @@ phase5(xfs_mount_t *mp) #ifdef XR_BLD_FREE_TRACE fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n", xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0), - xfs_inobt_maxrecs(mp->m_sb.sb_blocksize, 0) / 2 - ); + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2); fprintf(stderr, "inobt level 0 (leaf), maxrec = %d, minrec = %d\n", - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1), - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1) / 2); + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1), + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2); fprintf(stderr, "xr inobt level 0 (leaf), maxrec = %d\n", XR_INOBT_BLOCK_MAXRECS(mp, 0)); fprintf(stderr, "xr inobt level 1 (int), maxrec = %d\n", -- 2.0.0 From dave@fromorbit.com Tue Oct 28 22:09: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 4688129DFA for ; Tue, 28 Oct 2014 22:09:17 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id D7222AC00C for ; Tue, 28 Oct 2014 20:09:13 -0700 (PDT) X-ASG-Debug-ID: 1414552150-04bdf038cf4f01f0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id TZ7H4TCGAnxjTXYp for ; Tue, 28 Oct 2014 20:09:10 -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: AicPAPVYUFR5LbBUPGdsb2JhbABcgw6IabMfBpxWFwEBAQEBBgEBAQE4O4RfIxiBAgMHiG3FPoY1inGENQW1ZQEBCAIBgjgpgnoBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 13:39:09 +1030 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1XjJdD-0004Nx-CA; Wed, 29 Oct 2014 14:09:07 +1100 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1XjJdD-0003Io-BE; Wed, 29 Oct 2014 14:09:07 +1100 From: Dave Chinner To: xfs@oss.sgi.com Cc: bvowk@box.com Subject: [PATCH 0/2] repair: fix AGFL rebuild problem Date: Wed, 29 Oct 2014 14:09:02 +1100 X-ASG-Orig-Subj: [PATCH 0/2] repair: fix AGFL rebuild problem Message-Id: <1414552144-12627-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: 1414552150 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.11010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi folks, The following two patches fix a repair rebuild issue that was reported to me. xfs_repair would appear to succeed, but subsequent runs would report a freespace mismatch and then on mount trigger a corruption error on the first allocation from AG 0. The problem as that the AGFL was not being correctly rebuilt due to a very particular freespace pattern in AG 0 which required free blocks in the AGFL to populate an empty AGFL. reapir silently ignored this error, so it triggered allocation corruption errors when the same AGFL fixup attempt failed on a mounted filesystem. The fix is relatively straight forward, as is the fixes to the tracing code that I had to make before i could track down the issue. -Dave. From dave@fromorbit.com Tue Oct 28 22:09: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 4B14A29DFB for ; Tue, 28 Oct 2014 22:09:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BD5D6AC00B for ; Tue, 28 Oct 2014 20:09:16 -0700 (PDT) X-ASG-Debug-ID: 1414552153-04cbb070c744a440001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id nNiAoYDpXqYCvoBY for ; Tue, 28 Oct 2014 20:09:13 -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: AlYPAPVYUFR5LbBUPGdsb2JhbABcgw5UWIc9sw0SBpNiiHQXAQEBAQEGAQEBATg7hAMBBScgDx4FEAgYMTkDBxQZiEC1T49vhjWPJgWWVYkAlhABgkQpL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 13:39:09 +1030 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1XjJdD-0004Nz-DJ; Wed, 29 Oct 2014 14:09:07 +1100 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1XjJdD-0003Iw-CR; Wed, 29 Oct 2014 14:09:07 +1100 From: Dave Chinner To: xfs@oss.sgi.com Cc: bvowk@box.com Subject: [PATCH 2/2] repair: AGFL rebuild fails if btree split required Date: Wed, 29 Oct 2014 14:09:04 +1100 X-ASG-Orig-Subj: [PATCH 2/2] repair: AGFL rebuild fails if btree split required Message-Id: <1414552144-12627-3-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1414552144-12627-1-git-send-email-david@fromorbit.com> References: <1414552144-12627-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1414552153 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.11010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner In phase 5 we rebuild the freelist btrees, the AGF and the AGFL from all the free space information we have gathered and resolved during pahses 3 and 4. If the freespace information is laid out just right, we end up having to allocate free space for the AGFL blocks. If the size of the free space we allocate from is larger than the space we need, then we have to insert the remainder back into the freespace btree. For the by-size tree, this means we are likely to be removing a record from one leaf, and then inserting the remainder - a smaller size - into another leaf. The issue is that the leaf blocks to the left of the original leaf block we removed the extent record from are full and hence require a split to insert the new record. That, of course, requires a free block in the AGFL to allocate from, and now we have a chicken and egg situation: there are no free blocks in the AGFL because we are setting it up. As a result, setting up the free list silently fails, leaving the freespace btrees in an inconsistent state and the AGFL in question empty. When the filesystem is next mounted, the first allocation from that AGF results in attempting to fix the AGFL, and it then does exactly the same thing as the repair code, fails to allocate a block during the split and fails. This results in an immediate shutdown because the transaction doing the allocation is dirty by this stage. The fix for the problem is to make repair handle rebulding the btree differently. If we leave ispace for a couple of records in each btree leaf and node, there is never a need for a split to occur when initially setting up the AGFL. This results in repair doing the right thing, and hence the runtime problems after mount don't occur. Further, add error checking the the AGFL setup code and abort repair if we have a failure to correctly set up the AGFL so we catch this problem at repair time, not mount time... Reported-by: Barkley Vowk Signed-off-by: Dave Chinner --- repair/phase5.c | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/repair/phase5.c b/repair/phase5.c index d6d3c6d..3d58936 100644 --- a/repair/phase5.c +++ b/repair/phase5.c @@ -335,11 +335,22 @@ finish_cursor(bt_status_t *curs) } /* + * We need to leave some free records in the tree for the corner case of + * setting up the AGFL. This may require allocation of blocks, and as + * such can require insertion of new records into the tree (e.g. moving + * a record in the by-count tree when a long extent is shortened). If we + * pack the records into the leaves with no slack space, this requires a + * leaf split to occur and a block to be allocated from the free list. + * If we don't have any blocks on the free list (because we are setting + * it up!), then we fail, and the filesystem will fail with the same + * failure at runtime. Hence leave a couple of records slack space in + * each block to allow immediate modification of the tree without + * requiring splits to be done. + * * XXX(hch): any reason we don't just look at mp->m_alloc_mxr? */ #define XR_ALLOC_BLOCK_MAXRECS(mp, level) \ - xfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, \ - (level) == 0) + (xfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, (level) == 0) - 2) /* * this calculates a freespace cursor for an ag. @@ -361,10 +372,6 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_stat_level_t *p_lptr; extent_tree_node_t *ext_ptr; int level; -#ifdef XR_BLD_FREE_TRACE - fprintf(stderr, - "in init_freespace_cursor, agno = %d\n", agno); -#endif num_extents = *extents; extents_used = 0; @@ -385,6 +392,13 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, lptr->num_recs_tot = num_extents; level = 1; +#ifdef XR_BLD_FREE_TRACE + fprintf(stderr, "%s 0 %d %d %d %d\n", __func__, + lptr->num_blocks, + lptr->num_recs_pb, + lptr->modulo, + lptr->num_recs_tot); +#endif /* * if we need more levels, set them up. # of records * per level is the # of blocks in the level below it @@ -402,6 +416,14 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, lptr->num_recs_pb = p_lptr->num_blocks / lptr->num_blocks; lptr->num_recs_tot = p_lptr->num_blocks; +#ifdef XR_BLD_FREE_TRACE + fprintf(stderr, "%s %d %d %d %d %d\n", __func__, + level, + lptr->num_blocks, + lptr->num_recs_pb, + lptr->modulo, + lptr->num_recs_tot); +#endif } } @@ -546,8 +568,7 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, lptr = &btree_curs->level[level]; p_lptr = &btree_curs->level[level-1]; lptr->num_blocks = howmany(p_lptr->num_blocks, - XR_ALLOC_BLOCK_MAXRECS(mp, - level)); + XR_ALLOC_BLOCK_MAXRECS(mp, level)); lptr->modulo = p_lptr->num_blocks % lptr->num_blocks; lptr->num_recs_pb = p_lptr->num_blocks @@ -1434,6 +1455,7 @@ build_agf_agfl(xfs_mount_t *mp, xfs_alloc_arg_t args; xfs_trans_t *tp; struct xfs_trans_res tres = {0}; + int error; memset(&args, 0, sizeof(args)); args.tp = tp = libxfs_trans_alloc(mp, 0); @@ -1442,8 +1464,12 @@ build_agf_agfl(xfs_mount_t *mp, args.alignment = 1; args.pag = xfs_perag_get(mp,agno); libxfs_trans_reserve(tp, &tres, XFS_MIN_FREELIST(agf, mp), 0); - libxfs_alloc_fix_freelist(&args, 0); + error = libxfs_alloc_fix_freelist(&args, 0); xfs_perag_put(args.pag); + if (error) { + do_error(_("failed to fix AGFL on AG %d, error %d\n"), + agno, error); + } libxfs_trans_commit(tp, 0); } -- 2.0.0 From sandeen@sandeen.net Tue Oct 28 23:03: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 83F4B7F37 for ; Tue, 28 Oct 2014 23:03:47 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 71E6D304032 for ; Tue, 28 Oct 2014 21:03:44 -0700 (PDT) X-ASG-Debug-ID: 1414555419-04cbb070c544c030001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id avz0DpXiNG9mUjnW for ; Tue, 28 Oct 2014 21:03: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 37FDF63C5F3A; Tue, 28 Oct 2014 23:03:39 -0500 (CDT) Message-ID: <54506719.5080008@sandeen.net> Date: Tue, 28 Oct 2014 23:03:37 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Dave Chinner , xfs@oss.sgi.com CC: bvowk@box.com Subject: Re: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors References: <1414552144-12627-1-git-send-email-david@fromorbit.com> <1414552144-12627-2-git-send-email-david@fromorbit.com> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors In-Reply-To: <1414552144-12627-2-git-send-email-david@fromorbit.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414555419 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.11011 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 10:09 PM, Dave Chinner wrote: > From: Dave Chinner > > Obviously hasn't been used for quite some time, so fix the > build problems and make it useful again. > > Signed-off-by: Dave Chinner Reviewed-by: Eric Sandeen > --- > repair/phase5.c | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/repair/phase5.c b/repair/phase5.c > index e82eeb7..d6d3c6d 100644 > --- a/repair/phase5.c > +++ b/repair/phase5.c > @@ -362,10 +362,6 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > extent_tree_node_t *ext_ptr; > int level; > #ifdef XR_BLD_FREE_TRACE > - int old_state; > - int state = XR_E_BAD_STATE; > -#endif > -#ifdef XR_BLD_FREE_TRACE > fprintf(stderr, > "in init_freespace_cursor, agno = %d\n", agno); > #endif > @@ -1292,8 +1288,8 @@ build_agf_agfl(xfs_mount_t *mp, > memset(agf, 0, mp->m_sb.sb_sectsize); > > #ifdef XR_BLD_FREE_TRACE > - fprintf(stderr, "agf = 0x%x, agf_buf->b_un.b_addr = 0x%x\n", > - (__psint_t) agf, (__psint_t) agf_buf->b_un.b_addr); > + fprintf(stderr, "agf = 0x%p, agf_buf->b_addr = 0x%p\n", > + agf, agf_buf->b_addr); > #endif > > /* > @@ -1452,7 +1448,7 @@ build_agf_agfl(xfs_mount_t *mp, > } > > #ifdef XR_BLD_FREE_TRACE > - fprintf(stderr, "wrote agf for ag %u, error = %d\n", agno, error); > + fprintf(stderr, "wrote agf for ag %u\n", agno); > #endif > } > > @@ -1707,11 +1703,10 @@ phase5(xfs_mount_t *mp) > #ifdef XR_BLD_FREE_TRACE > fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n", > xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0), > - xfs_inobt_maxrecs(mp->m_sb.sb_blocksize, 0) / 2 > - ); > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2); > fprintf(stderr, "inobt level 0 (leaf), maxrec = %d, minrec = %d\n", > - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1), > - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1) / 2); > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1), > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2); > fprintf(stderr, "xr inobt level 0 (leaf), maxrec = %d\n", > XR_INOBT_BLOCK_MAXRECS(mp, 0)); > fprintf(stderr, "xr inobt level 1 (int), maxrec = %d\n", > From wu.tommy@gmail.com Tue Oct 28 23:06: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=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 34DCB7F37 for ; Tue, 28 Oct 2014 23:06:15 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2123430404E for ; Tue, 28 Oct 2014 21:06:15 -0700 (PDT) X-ASG-Debug-ID: 1414555570-04cb6c2efc4090c0001-NocioJ Received: from mail-ob0-f175.google.com (mail-ob0-f175.google.com [209.85.214.175]) by cuda.sgi.com with ESMTP id uw5C2ozGqd0ckHG2 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 21:06:11 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.175 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] Received: by mail-ob0-f175.google.com with SMTP id wm4so1757269obc.20 for ; Tue, 28 Oct 2014 21:06:10 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] 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=01gjs5Empvf0CRxoPsSnnZJcqj+9pglQ87aVDbbyzA0=; b=v6g2R6rNY9FpVivRf3hfAz+tzNrMNtgWMuL5GUQC8ZOm9gVnnOsH3b1PLb1fNiVPep Ssxg7dH1rg8ofrDw8kKHJyhTBod/pIxXNPtpIRwDUtzKiZCKHUyjoLyZSZ1B0MxQxFFL VVg/GACif/CLM2O+V9P1Dz0XAhvaFlnx4w/mTgfB+2QsJmlqELdyMrveV6dfLArMUasP gqTf8h5/aXN/yCVDIqyzQeVVjhUBbLB7JP3r7r+ritkfhR/2zvAAZCQnuNtZrWhb/0vz vNKw7qtpMgqZlPiuCyFaisJi2ql+HG0GK0YJyR8Otz6pbUbC9vz2ugrtsyGDvUqnGYGX N2jQ== MIME-Version: 1.0 X-Received: by 10.202.83.76 with SMTP id h73mr6127361oib.1.1414555570723; Tue, 28 Oct 2014 21:06:10 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Tue, 28 Oct 2014 21:06:10 -0700 (PDT) Date: Wed, 29 Oct 2014 12:06:10 +0800 Message-ID: Subject: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: xfs Content-Type: multipart/alternative; boundary=001a113d37664ee00c050687e241 X-Barracuda-Connect: mail-ob0-f175.google.com[209.85.214.175] X-Barracuda-Start-Time: 1414555571 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.11011 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 --001a113d37664ee00c050687e241 Content-Type: text/plain; charset=UTF-8 kernel 3.17.0 (same command in kernel 3.16.x work fine) xfsdump 3.1.4 xfsprogs 3.2.1 test case: 1. create a new filesystem in LVM lvcreate -L 5G -n test vg mkfs.xfs -f /dev/vg/test mount /dev/vg/test /mnt/x 2. extract linux-3.17.tar.xz to the new filesystem cd /mnt/x tar Jxvf /usr/src/linux-3.17.tar.xz 3. backup the filesystem xfsdump -l 0 -o -p 300 -J -F -M test -L test - /mnt/x | /bin/gzip -qv > /vol/test.xfsdump.gz 4. test the dump file, it show a lots of NOTE, and it said restore status is SUCCESS. cat /vol/test.xfsdump.gz | gzip -dqv | xfsrestore -p 300 -J -t - | grep "^/sbin/xfsrestore:" /sbin/xfsrestore: using file dump (drive_simple) strategy /sbin/xfsrestore: version 3.1.4 (dump format 3.0) /sbin/xfsrestore: searching media for dump /sbin/xfsrestore: examining media file 0 /sbin/xfsrestore: dump description: /sbin/xfsrestore: hostname: mail.teatime.com.tw /sbin/xfsrestore: mount point: /mnt/x /sbin/xfsrestore: volume: /dev/mapper/vg-test /sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014 /sbin/xfsrestore: level: 0 /sbin/xfsrestore: session label: "test" /sbin/xfsrestore: media label: "test" /sbin/xfsrestore: file system id: d757277d-5167-4cdb-975d-c64b2f94a47e /sbin/xfsrestore: session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb /sbin/xfsrestore: media id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5 /sbin/xfsrestore: searching media for directory dump /sbin/xfsrestore: reading directories /sbin/xfsrestore: 2035 directories and 33045 entries processed /sbin/xfsrestore: directory post-processing /sbin/xfsrestore: reading non-directory files /sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/143.0/Makefile /sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in orphanage/143.0/bayer.png.b64 /sbin/xfsrestore: NOTE: ino 146 salvaging file, placing in orphanage/143.0/constraints.png.b64 /sbin/xfsrestore: NOTE: ino 147 salvaging file, placing in orphanage/143.0/crop.gif.b64 /sbin/xfsrestore: NOTE: ino 148 salvaging file, placing in orphanage/143.0/dvbstb.png.b64 /sbin/xfsrestore: NOTE: ino 149 salvaging file, placing in orphanage/143.0/fieldseq_bt.gif.b64 /sbin/xfsrestore: NOTE: ino 150 salvaging file, placing in orphanage/143.0/fieldseq_tb.gif.b64 .... skip it.... /sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing in orphanage /sbin/xfsrestore: table of contents display complete: 3 seconds elapsed /sbin/xfsrestore: Restore Status: SUCCESS 5. restore it, show a lots of NOTE, and resotre status is SUCCESS, but... compare them, it's different. cat test.xfsdump.gz | gzip -dqv | xfsrestore -p 300 -J - /vol/x/ /sbin/xfsrestore: using file dump (drive_simple) strategy /sbin/xfsrestore: version 3.1.4 (dump format 3.0) /sbin/xfsrestore: searching media for dump /sbin/xfsrestore: examining media file 0 /sbin/xfsrestore: dump description: /sbin/xfsrestore: hostname: mail.teatime.com.tw /sbin/xfsrestore: mount point: /mnt/x /sbin/xfsrestore: volume: /dev/mapper/vg-test /sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014 /sbin/xfsrestore: level: 0 /sbin/xfsrestore: session label: "test" /sbin/xfsrestore: media label: "test" /sbin/xfsrestore: file system id: d757277d-5167-4cdb-975d-c64b2f94a47e /sbin/xfsrestore: session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb /sbin/xfsrestore: media id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5 /sbin/xfsrestore: searching media for directory dump /sbin/xfsrestore: reading directories /sbin/xfsrestore: 2035 directories and 33045 entries processed /sbin/xfsrestore: directory post-processing /sbin/xfsrestore: restoring non-directory files /sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/143.0/Makefile /sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in orphanage/143.0/bayer.png.b64 /sbin/xfsrestore: NOTE: ino 146 salvaging file, placing in orphanage/143.0/constraints.png.b64 .... skip it.... /sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing in orphanage /sbin/xfsrestore: WARNING: unable to rmdir /vol/x//orphanage: Directory not empty /sbin/xfsrestore: restore complete: 3 seconds elapsed /sbin/xfsrestore: Restore Status: SUCCESS -- Tommy Wu --001a113d37664ee00c050687e241 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

kernel 3.17.0 (same command in kernel 3.16.x work fine= )
xfsdump 3.1.4
xfsprogs 3.2.1

test case:
1. create a new f= ilesystem in LVM

lvcreate -L 5G -n test vg
mkfs.xfs -f /dev/vg/te= st
mount /dev/vg/test /mnt/x

2. extract linux-3.17.tar.xz to the = new filesystem

cd /mnt/x
tar Jxvf /usr/src/linux-3.17.tar.xz
<= br>3. backup the filesystem

xfsdump -l 0 -o -p 300 -J -F -M test -L = test - /mnt/x | /bin/gzip -qv > /vol/test.xfsdump.gz

4. test the = dump file, it show a lots of NOTE, and it said restore status is SUCCESS.
cat /vol/test.xfsdump.gz | gzip -dqv | xfsrestore -p 300 -J -t - | gr= ep "^/sbin/xfsrestore:"
/sbin/xfsrestore: using file dump (dri= ve_simple) strategy
/sbin/xfsrestore: version 3.1.4 (dump format 3.0)/sbin/xfsrestore: searching media for dump
/sbin/xfsrestore: examining = media file 0
/sbin/xfsrestore: dump description:
/sbin/xfsrestore: ho= stname: mail.teatime.com.tw
/= sbin/xfsrestore: mount point: /mnt/x
/sbin/xfsrestore: volume: /dev/mapp= er/vg-test
/sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014
/= sbin/xfsrestore: level: 0
/sbin/xfsrestore: session label: "test&qu= ot;
/sbin/xfsrestore: media label: "test"
/sbin/xfsrestore:= file system id: d757277d-5167-4cdb-975d-c64b2f94a47e
/sbin/xfsrestore: = session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb
/sbin/xfsrestore: media= id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5
/sbin/xfsrestore: searching me= dia for directory dump
/sbin/xfsrestore: reading directories
/sbin/xf= srestore: 2035 directories and 33045 entries processed
/sbin/xfsrestore:= directory post-processing
/sbin/xfsrestore: reading non-directory files=
/sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/14= 3.0/Makefile
/sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in = orphanage/143.0/bayer.png.b64
/sbin/xfsrestore: NOTE: ino 146 salvaging = file, placing in orphanage/143.0/constraints.png.b64
/sbin/xfsrestore: N= OTE: ino 147 salvaging file, placing in orphanage/143.0/crop.gif.b64
/sb= in/xfsrestore: NOTE: ino 148 salvaging file, placing in orphanage/143.0/dvb= stb.png.b64
/sbin/xfsrestore: NOTE: ino 149 salvaging file, placing in o= rphanage/143.0/fieldseq_bt.gif.b64
/sbin/xfsrestore: NOTE: ino 150 salva= ging file, placing in orphanage/143.0/fieldseq_tb.gif.b64
.... skip it..= ..
/sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: p= lacing in orphanage
/sbin/xfsrestore: table of contents display complete= : 3 seconds elapsed
/sbin/xfsrestore: Restore Status: SUCCESS

5. = restore it, show a lots of NOTE, and resotre status is SUCCESS, but... comp= are them, it's different.

cat test.xfsdump.gz | gzip -dqv | xfsr= estore -p 300 -J - /vol/x/
/sbin/xfsrestore: using file dump (drive_simp= le) strategy
/sbin/xfsrestore: version 3.1.4 (dump format 3.0)
/sbin/= xfsrestore: searching media for dump
/sbin/xfsrestore: examining media f= ile 0
/sbin/xfsrestore: dump description:
/sbin/xfsrestore: hostname:= mail.teatime.com.tw
/sbin/xf= srestore: mount point: /mnt/x
/sbin/xfsrestore: volume: /dev/mapper/vg-t= est
/sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014
/sbin/xf= srestore: level: 0
/sbin/xfsrestore: session label: "test"
= /sbin/xfsrestore: media label: "test"
/sbin/xfsrestore: file s= ystem id: d757277d-5167-4cdb-975d-c64b2f94a47e
/sbin/xfsrestore: session= id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb
/sbin/xfsrestore: media id: 2e= b2ff54-1838-47b2-a8d5-5f520deaf5f5
/sbin/xfsrestore: searching media for= directory dump
/sbin/xfsrestore: reading directories
/sbin/xfsrestor= e: 2035 directories and 33045 entries processed
/sbin/xfsrestore: direct= ory post-processing
/sbin/xfsrestore: restoring non-directory files
/= sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/143.0/M= akefile
/sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in orpha= nage/143.0/bayer.png.b64
/sbin/xfsrestore: NOTE: ino 146 salvaging file,= placing in orphanage/143.0/constraints.png.b64
.... skip it....
/sbi= n/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing in = orphanage
/sbin/xfsrestore: WARNING: unable to rmdir /vol/x//orphanage: = Directory not empty
/sbin/xfsrestore: restore complete: 3 seconds elapse= d
/sbin/xfsrestore: Restore Status: SUCCESS


-- =

Tommy Wu
--001a113d37664ee00c050687e241-- From sandeen@sandeen.net Tue Oct 28 23:09: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 2E5277F37 for ; Tue, 28 Oct 2014 23:09:23 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1A4A6304032 for ; Tue, 28 Oct 2014 21:09:22 -0700 (PDT) X-ASG-Debug-ID: 1414555761-04cbb070c644c2c0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id mnaImkQ7PM3UFDAv for ; Tue, 28 Oct 2014 21:09:21 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7D1DB63C5F3A; Tue, 28 Oct 2014 23:09:20 -0500 (CDT) Message-ID: <5450686F.9070307@sandeen.net> Date: Tue, 28 Oct 2014 23:09:19 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Tommy Wu , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414555761 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.11011 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 11:06 PM, Tommy Wu wrote: > > kernel 3.17.0 (same command in kernel 3.16.x work fine) > xfsdump 3.1.4 > xfsprogs 3.2.1 > > test case: > 1. create a new filesystem in LVM > > lvcreate -L 5G -n test vg > mkfs.xfs -f /dev/vg/test > mount /dev/vg/test /mnt/x > > 2. extract linux-3.17.tar.xz to the new filesystem > > cd /mnt/x > tar Jxvf /usr/src/linux-3.17.tar.xz > > 3. backup the filesystem > > xfsdump -l 0 -o -p 300 -J -F -M test -L test - /mnt/x | /bin/gzip -qv > /vol/test.xfsdump.gz > > 4. test the dump file, it show a lots of NOTE, and it said restore status is SUCCESS. Is this not the same bug we already discussed in your prior email, "xfsdump not work in 3.17" ? Are you testing with or without those bugfixes? -Eric > cat /vol/test.xfsdump.gz | gzip -dqv | xfsrestore -p 300 -J -t - | grep "^/sbin/xfsrestore:" > /sbin/xfsrestore: using file dump (drive_simple) strategy > /sbin/xfsrestore: version 3.1.4 (dump format 3.0) > /sbin/xfsrestore: searching media for dump > /sbin/xfsrestore: examining media file 0 > /sbin/xfsrestore: dump description: > /sbin/xfsrestore: hostname: mail.teatime.com.tw > /sbin/xfsrestore: mount point: /mnt/x > /sbin/xfsrestore: volume: /dev/mapper/vg-test > /sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014 > /sbin/xfsrestore: level: 0 > /sbin/xfsrestore: session label: "test" > /sbin/xfsrestore: media label: "test" > /sbin/xfsrestore: file system id: d757277d-5167-4cdb-975d-c64b2f94a47e > /sbin/xfsrestore: session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb > /sbin/xfsrestore: media id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5 > /sbin/xfsrestore: searching media for directory dump > /sbin/xfsrestore: reading directories > /sbin/xfsrestore: 2035 directories and 33045 entries processed > /sbin/xfsrestore: directory post-processing > /sbin/xfsrestore: reading non-directory files > /sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/143.0/Makefile > /sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in orphanage/143.0/bayer.png.b64 > /sbin/xfsrestore: NOTE: ino 146 salvaging file, placing in orphanage/143.0/constraints.png.b64 > /sbin/xfsrestore: NOTE: ino 147 salvaging file, placing in orphanage/143.0/crop.gif.b64 > /sbin/xfsrestore: NOTE: ino 148 salvaging file, placing in orphanage/143.0/dvbstb.png.b64 > /sbin/xfsrestore: NOTE: ino 149 salvaging file, placing in orphanage/143.0/fieldseq_bt.gif.b64 > /sbin/xfsrestore: NOTE: ino 150 salvaging file, placing in orphanage/143.0/fieldseq_tb.gif.b64 > .... skip it.... > /sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing in orphanage > /sbin/xfsrestore: table of contents display complete: 3 seconds elapsed > /sbin/xfsrestore: Restore Status: SUCCESS > > 5. restore it, show a lots of NOTE, and resotre status is SUCCESS, but... compare them, it's different. > > cat test.xfsdump.gz | gzip -dqv | xfsrestore -p 300 -J - /vol/x/ > /sbin/xfsrestore: using file dump (drive_simple) strategy > /sbin/xfsrestore: version 3.1.4 (dump format 3.0) > /sbin/xfsrestore: searching media for dump > /sbin/xfsrestore: examining media file 0 > /sbin/xfsrestore: dump description: > /sbin/xfsrestore: hostname: mail.teatime.com.tw > /sbin/xfsrestore: mount point: /mnt/x > /sbin/xfsrestore: volume: /dev/mapper/vg-test > /sbin/xfsrestore: session time: Wed Oct 29 11:45:54 2014 > /sbin/xfsrestore: level: 0 > /sbin/xfsrestore: session label: "test" > /sbin/xfsrestore: media label: "test" > /sbin/xfsrestore: file system id: d757277d-5167-4cdb-975d-c64b2f94a47e > /sbin/xfsrestore: session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb > /sbin/xfsrestore: media id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5 > /sbin/xfsrestore: searching media for directory dump > /sbin/xfsrestore: reading directories > /sbin/xfsrestore: 2035 directories and 33045 entries processed > /sbin/xfsrestore: directory post-processing > /sbin/xfsrestore: restoring non-directory files > /sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in orphanage/143.0/Makefile > /sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in orphanage/143.0/bayer.png.b64 > /sbin/xfsrestore: NOTE: ino 146 salvaging file, placing in orphanage/143.0/constraints.png.b64 > .... skip it.... > /sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing in orphanage > /sbin/xfsrestore: WARNING: unable to rmdir /vol/x//orphanage: Directory not empty > /sbin/xfsrestore: restore complete: 3 seconds elapsed > /sbin/xfsrestore: Restore Status: SUCCESS > > > -- > > Tommy Wu > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From wu.tommy@gmail.com Tue Oct 28 23:27: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 81AC87F37 for ; Tue, 28 Oct 2014 23:27:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6F5358F8033 for ; Tue, 28 Oct 2014 21:27:07 -0700 (PDT) X-ASG-Debug-ID: 1414556825-04cbb070c844cb70001-NocioJ Received: from mail-ob0-f176.google.com (mail-ob0-f176.google.com [209.85.214.176]) by cuda.sgi.com with ESMTP id 8Wyb9dFd7MOGNLqW (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 21:27:06 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.176 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] Received: by mail-ob0-f176.google.com with SMTP id va2so1753865obc.35 for ; Tue, 28 Oct 2014 21:27:05 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] 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=UCclhYLQp5a4SWsQw1puJVUp719UQ9nUoy32tsWWwnw=; b=NkZjXTnqYIFrTCoxrWW0YAFWQnMQGcOD/02O2V77iHqNg3FoH4py9NY5L0ggwjuaVi 78tRY8G3IuX9jF9bT4BRp1sHL9Jr7Rk9zMCQ1xlbzU/sjEWx6kiJI83DljcPCB3eTkdd Ki9AUp0sQV8BSj4JpVtRbpQzT9mapkCuG0qkO8rNUW2vxf7nuTS3R10xHXMF7sMIh60a j6VlQbMJS/1FvSZsohFf6r7BeJJtpoZ1yEX41HIB4MShpjuJcys3ja/AdgGTs6zgU5SN nkgvHLi8kgqAftEpAk5w8WD//1qXKbM3wmVLlAs+5ToFZi7hx/2qFHPJ2axHhfeYahTy pYCg== MIME-Version: 1.0 X-Received: by 10.202.203.149 with SMTP id b143mr207247oig.60.1414556825741; Tue, 28 Oct 2014 21:27:05 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Tue, 28 Oct 2014 21:27:05 -0700 (PDT) In-Reply-To: <5450686F.9070307@sandeen.net> References: <5450686F.9070307@sandeen.net> Date: Wed, 29 Oct 2014 12:27:05 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Eric Sandeen Cc: xfs Content-Type: multipart/alternative; boundary=001a1134fcba1ceef00506882d09 X-Barracuda-Connect: mail-ob0-f176.google.com[209.85.214.176] X-Barracuda-Start-Time: 1414556826 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11011 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 --001a1134fcba1ceef00506882d09 Content-Type: text/plain; charset=UTF-8 In "xfsdump not work in 3.17", after apply the 2 patches, xfsdump work (won't hang). But xfsrestore can't restore the dump correctly (like the case in this email). Is other patch I miss? I check the thread in Archive again, I don't see any patch about the xfsrestore issue. 2014-10-29 12:09 GMT+08:00 Eric Sandeen : > > Is this not the same bug we already discussed in your prior email, > "xfsdump not work in 3.17" ? Are you testing with or without those > bugfixes? > > > -- Tommy Wu --001a1134fcba1ceef00506882d09 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
In "xfsdump not work in 3.17", after a= pply the 2 patches, xfsdump work (won't hang).
But xfsrestore = can't restore the dump correctly (like the case in this email).

=
Is other patch I miss?=C2=A0 I check the thread in Archive again, I d= on't see any patch about the xfsrestore issue.

2014-10-29 12:09 GMT+08= :00 Eric Sandeen <sandeen@sandeen.net>:

Is this not the same bug we already discussed in your prior email, "xfsdump not work in 3.17" ?=C2=A0 Are you testing with or withou= t those bugfixes?





--

Tommy Wu
--001a1134fcba1ceef00506882d09-- From sandeen@sandeen.net Tue Oct 28 23:28: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 4882A7F37 for ; Tue, 28 Oct 2014 23:28:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 192548F8033 for ; Tue, 28 Oct 2014 21:28:11 -0700 (PDT) X-ASG-Debug-ID: 1414556890-04bdf038d04f32c0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id fYc1974HKGkjM21U for ; Tue, 28 Oct 2014 21:28:10 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 408D363C5F3A; Tue, 28 Oct 2014 23:28:10 -0500 (CDT) Message-ID: <54506CD9.90403@sandeen.net> Date: Tue, 28 Oct 2014 23:28:09 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Tommy Wu CC: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <5450686F.9070307@sandeen.net> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414556890 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.11011 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/28/14 11:27 PM, Tommy Wu wrote: > In "xfsdump not work in 3.17", after apply the 2 patches, xfsdump work (won't hang). > But xfsrestore can't restore the dump correctly (like the case in this email). > > Is other patch I miss? I check the thread in Archive again, I don't see any patch about the xfsrestore issue. Was the dump you are restoring created with those 2 patches in place? Or was it created with the stock/unpatched 3.17 kernel? -Eric From wu.tommy@gmail.com Tue Oct 28 23:30: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,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 9F7E57F37 for ; Tue, 28 Oct 2014 23:30:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5EEDF304039 for ; Tue, 28 Oct 2014 21:30:35 -0700 (PDT) X-ASG-Debug-ID: 1414557033-04bdf038d14f3410001-NocioJ Received: from mail-ob0-f175.google.com (mail-ob0-f175.google.com [209.85.214.175]) by cuda.sgi.com with ESMTP id FP6wc46ljOlkgl9i (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 21:30:33 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.175 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] Received: by mail-ob0-f175.google.com with SMTP id wm4so1771030obc.34 for ; Tue, 28 Oct 2014 21:30:33 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.175] 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=OdqidAvqgmfYrxxqGn+Vk+W1TdmrmQK1neq7x/5VBOM=; b=cgUtjxzEPNkSOFdA8Xzrff0M5c9gRPqg28pduaj9RGrZvmXUx3eR9j8m85fMTHhKvp ovin3a19YHctmlkqS/LUrkzLudYzMWKJ8oy30ngEK/zsVZbjTIl4NgCE+j2YQZZ9L1AX 19b3pWN55w9AMqqCbGocew09mSxiRxIIzV1wsBH8shvZlt+zhyt6JuVAygHwLyAgE5bp OBNz0yJ5kyFFG4HjSfyX+V9w8aOchyqVlkb0E+RYh3dxYqrcofHpWWx+yoggdFqVR0gw 7LFi9KUH59QcFcXIZoVn0JTDKuI9JPBSaFYI8IfzyEf9SEsiEGRv1SxFyjvaxmJFd1PQ mhtA== MIME-Version: 1.0 X-Received: by 10.182.112.233 with SMTP id it9mr6499868obb.8.1414557033446; Tue, 28 Oct 2014 21:30:33 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Tue, 28 Oct 2014 21:30:33 -0700 (PDT) In-Reply-To: <54506CD9.90403@sandeen.net> References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> Date: Wed, 29 Oct 2014 12:30:33 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Eric Sandeen Cc: xfs Content-Type: multipart/alternative; boundary=089e0149cc0c7e41c20506883930 X-Barracuda-Connect: mail-ob0-f175.google.com[209.85.214.175] X-Barracuda-Start-Time: 1414557033 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.11011 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 --089e0149cc0c7e41c20506883930 Content-Type: text/plain; charset=UTF-8 both dump and restore with those 2 patches. 2014-10-29 12:28 GMT+08:00 Eric Sandeen : > On 10/28/14 11:27 PM, Tommy Wu wrote: > > In "xfsdump not work in 3.17", after apply the 2 patches, xfsdump work > (won't hang). > > But xfsrestore can't restore the dump correctly (like the case in this > email). > > > > Is other patch I miss? I check the thread in Archive again, I don't see > any patch about the xfsrestore issue. > > Was the dump you are restoring created with those 2 patches in place? Or > was > it created with the stock/unpatched 3.17 kernel? > > -Eric > -- Tommy Wu --089e0149cc0c7e41c20506883930 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
both dump and restore with those 2 patches.

2014-10-29 12:28 GMT+0= 8:00 Eric Sandeen <sandeen@sandeen.net>:
On 10/28/14 11:27 PM, Tommy Wu wrote:
> In "xfsdump not work in 3.17", after apply the 2 patches, xf= sdump work (won't hang).
> But xfsrestore can't restore the dump correctly (like the case in = this email).
>
> Is other patch I miss?=C2=A0 I check the thread in Archive again, I do= n't see any patch about the xfsrestore issue.

Was the dump you are restoring created with those 2 patches in place= ?=C2=A0 Or was
it created with the stock/unpatched 3.17 kernel?

-Eric



--

Tommy Wu
--089e0149cc0c7e41c20506883930-- From david@fromorbit.com Tue Oct 28 23:40: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 6236A7F37 for ; Tue, 28 Oct 2014 23:40:58 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4C314304032 for ; Tue, 28 Oct 2014 21:40:57 -0700 (PDT) X-ASG-Debug-ID: 1414557655-04cb6c2ef940a0e0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id s5igGcxwGnZ61oSo for ; Tue, 28 Oct 2014 21:40:55 -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: AuUgAG1vUFR5LbBUPGdsb2JhbABcgw5UWLpNDQEBAQEBBpNmgWWFagQCAoEbFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQMUUAQsgGIYdhm2DZweESwEEllWHEppFKS+CSwEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 15:10:19 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjL3R-0004a1-6A; Wed, 29 Oct 2014 15:40:17 +1100 Date: Wed, 29 Oct 2014 15:40:17 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029044017.GG16186@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> 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: 1414557655 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.11011 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 12:30:33PM +0800, Tommy Wu wrote: > both dump and restore with those 2 patches. Can you try the xfs-fixes-for-3.18-rc3 branch I pushed out this morning to the upstream git repo here: git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@redhat.com Tue Oct 28 23:58: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 E52627F37 for ; Tue, 28 Oct 2014 23:58:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id C3344304032 for ; Tue, 28 Oct 2014 21:58:45 -0700 (PDT) X-ASG-Debug-ID: 1414558724-04bdf038d24f4070001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id qGrVrztkmd9Wn6n1 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 28 Oct 2014 21:58:44 -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 s9T4wiqN032597 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 00:58:44 -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 s9T4wgo6011765 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 29 Oct 2014 00:58:43 -0400 Message-ID: <54507402.4000600@redhat.com> Date: Tue, 28 Oct 2014 23:58:42 -0500 From: Eric Sandeen MIME-Version: 1.0 To: fstests@vger.kernel.org, xfs-oss Subject: [PATCH] xfs/068: fix expected output file for proper restore output Content-Type: text/plain; charset=utf-8 X-ASG-Orig-Subj: [PATCH] xfs/068: fix expected output file for proper restore output 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: 1414558724 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 Oh my, I did a very bad thing - I wrote a new test to check for xfsdump regressions, but did not create the .out file with a known-good kernel. This matches output from older, stable kernels, and is the proper expected output. Sorry about that! Signed-off-by: Eric Sandeen --- diff --git a/tests/xfs/068.out b/tests/xfs/068.out index c270c66..2196eee 100644 --- a/tests/xfs/068.out +++ b/tests/xfs/068.out @@ -22,7 +22,7 @@ xfsrestore: session id: ID xfsrestore: media ID: ID xfsrestore: searching media for directory dump xfsrestore: reading directories -xfsrestore: 486 directories and 1590 entries processed +xfsrestore: 495 directories and 1593 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: SECS seconds elapsed From wu.tommy@gmail.com Wed Oct 29 01:46: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=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 CE0597F3F for ; Wed, 29 Oct 2014 01:46:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9E9A8304032 for ; Tue, 28 Oct 2014 23:46:38 -0700 (PDT) X-ASG-Debug-ID: 1414565193-04bdf038d24f7720001-NocioJ Received: from mail-oi0-f42.google.com (mail-oi0-f42.google.com [209.85.218.42]) by cuda.sgi.com with ESMTP id oVGNbzaOnS5TKmNX (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 28 Oct 2014 23:46:33 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.42 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] Received: by mail-oi0-f42.google.com with SMTP id a3so1204460oib.1 for ; Tue, 28 Oct 2014 23:46:33 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] 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=4M+pJU79klXZTeF30T6K9Rl6lbuPhTxPW+1JRt8HHyg=; b=xtTZ/27Q1oYKsDPes4+XNAXs+nPWZZJFs7dWZjMtwBa0vu6yYuUeiqybFchRo4zGMB S06aNbBq2Clsy2IMSxFiu05qGfzh2635/aN0xEK7fS+Y4E5fqaIEH9Ycp7/6Lhu0GwNh n0u7oGO7Y8Dp3oRDItOQe/Ao2ltZsb+zJxCyBROL+uZeFnJW1MEV62VYgAlg7lCnKTVg DqIomuvdKBzSHkNdpCNhrjSQvguxjd5dD61bGGCWrqYtf+8PsRkL3zUy1ghGdtiXGqJR nFui2jjUKvugB0bgbVpug8gUfRWCrwd0KPlvZrw4X7+ZxckimvfLCa9dIV5RWOrSRdZd U0Bg== MIME-Version: 1.0 X-Received: by 10.182.241.195 with SMTP id wk3mr7078302obc.33.1414565193141; Tue, 28 Oct 2014 23:46:33 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Tue, 28 Oct 2014 23:46:33 -0700 (PDT) In-Reply-To: <20141029044017.GG16186@dastard> References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> Date: Wed, 29 Oct 2014 14:46:33 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: Eric Sandeen , xfs Content-Type: multipart/alternative; boundary=089e01634b7ed954bc05068a1f6f X-Barracuda-Connect: mail-oi0-f42.google.com[209.85.218.42] X-Barracuda-Start-Time: 1414565193 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.11013 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 --089e01634b7ed954bc05068a1f6f Content-Type: text/plain; charset=UTF-8 it will hang after this message (the kernel in above git repo): /sbin/xfsdump: dumping non-directory files console show the below message every 2 minutes: [ 480.387308] INFO: task xfsdump:2717 blocked for more than 120 seconds. 2014-10-29 12:40 GMT+08:00 Dave Chinner : > On Wed, Oct 29, 2014 at 12:30:33PM +0800, Tommy Wu wrote: > > both dump and restore with those 2 patches. > > Can you try the xfs-fixes-for-3.18-rc3 branch I pushed out this > morning to the upstream git repo here: > > git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --089e01634b7ed954bc05068a1f6f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
it will hang after this message (the kernel in a= bove git repo):

/sbin/xfsdump: dumping non-directory files

console show the below message every 2 minutes:
[=C2=A0 480.38= 7308] INFO: task xfsdump:2717 blocked for more than 120 seconds.



2014-10-29 12:40 GMT+08:00 Dave Chinner <<= a href=3D"mailto:david@fromorbit.com" target=3D"_blank">david@fromorbit.com= >:
On Wed,= Oct 29, 2014 at 12:30:33PM +0800, Tommy Wu wrote:
> both dump and restore with those 2 patches.

Can you try the xfs-fixes-for-3.18-rc3 branch I pushed out this
morning to the upstream git repo here:

git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux= -xfs.git

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--089e01634b7ed954bc05068a1f6f-- From david@fromorbit.com Wed Oct 29 02:51: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 75D717F3F for ; Wed, 29 Oct 2014 02:51:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 63561304048 for ; Wed, 29 Oct 2014 00:51:43 -0700 (PDT) X-ASG-Debug-ID: 1414569097-04cb6c2efb40fd00001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id jGMhLnhWdOf243qF for ; Wed, 29 Oct 2014 00:51: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: ApMgAPubUFR5LbBUPGdsb2JhbABcgw6BLLpFAQEBAQEGlUuFagQCAoEWFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQMVDAQEIAgEfGIYdhm2DZweDLYEeAQSdZ4EykQSIDykvgksBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 18:21:36 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjO2Y-0004yi-P6; Wed, 29 Oct 2014 18:51:34 +1100 Date: Wed, 29 Oct 2014 18:51:34 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029075134.GB13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@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: 1414569097 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.11015 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 02:46:33PM +0800, Tommy Wu wrote: > it will hang after this message (the kernel in above git repo): > > /sbin/xfsdump: dumping non-directory files > > console show the below message every 2 minutes: > [ 480.387308] INFO: task xfsdump:2717 blocked for more than 120 seconds. I think there might be something else wrong with your system. What's the stack trace associated with that? If there's none, what's the output of 'echo w > /proc/sysrq-trigger' in dmesg? Cheers, Dave. -- Dave Chinner david@fromorbit.com From wu.tommy@gmail.com Wed Oct 29 04:04: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A352D7F3F for ; Wed, 29 Oct 2014 04:04:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 90D288F8035 for ; Wed, 29 Oct 2014 02:03:59 -0700 (PDT) X-ASG-Debug-ID: 1414573437-04cb6c2efa411b30001-NocioJ Received: from mail-oi0-f48.google.com (mail-oi0-f48.google.com [209.85.218.48]) by cuda.sgi.com with ESMTP id BJmBCn7Ampsd1aXN (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 02:03:57 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.48 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.48] Received: by mail-oi0-f48.google.com with SMTP id x69so1937270oia.21 for ; Wed, 29 Oct 2014 02:03:57 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.48] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.48] 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=qXbWQwbnfMKmybtBl6jsm48UpDUpotVsb5CJUsUumqY=; b=CB//PlvDy6r8FsydX665GR7ruEGn1n1iRDWS02bWPlDS/eB4DlSzCGegWickiUihTY urVIX0VL3Hd3TPlPtwI1EvbAAQ7KB1SCy0IV44Soc6G7usmCc0XSdGrOVmEEu9rfTXgy 5UIP/uHFIQbv0FI1QSrnkrm7lMr7IA5Che368Yfsfe+RD809KdsncEUJ+djoWNQZaZv0 BYYTuh/tnV+Bp4RrJ3cQEU5dgWLEtIPsHC9p8Ao/d7pD5BOfGX9TAPNed5GoyWDgdE6r a74yo/9RClI2U2szja1MCbPCyDrHri2+fznYdGkF+aDlyfzR+yc6sBIQLp2vc0HHom3O kLBg== MIME-Version: 1.0 X-Received: by 10.60.123.18 with SMTP id lw18mr7761333oeb.7.1414573437190; Wed, 29 Oct 2014 02:03:57 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Wed, 29 Oct 2014 02:03:57 -0700 (PDT) In-Reply-To: <20141029075134.GB13323@dastard> References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> Date: Wed, 29 Oct 2014 17:03:57 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: Eric Sandeen , xfs Content-Type: multipart/alternative; boundary=047d7b5d42643b891e05068c0b74 X-Barracuda-Connect: mail-oi0-f48.google.com[209.85.218.48] X-Barracuda-Start-Time: 1414573437 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.11016 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 --047d7b5d42643b891e05068c0b74 Content-Type: text/plain; charset=UTF-8 Oct 29 17:01:58 mail kernel: [ 360.367165] INFO: task xfsdump:2549 blocked for more than 120 seconds. Oct 29 17:01:58 mail kernel: [ 360.367182] Tainted: G O 3.18.0-rc2-1029 #1 Oct 29 17:01:58 mail kernel: [ 360.367195] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Oct 29 17:01:58 mail kernel: [ 360.367211] xfsdump D 0000000000000000 0 2549 2265 0x00000000 Oct 29 17:01:58 mail kernel: [ 360.367229] ffff8808110b8190 0000000000000082 ffff8807eb0e4800 ffff8807fa527fd8 Oct 29 17:01:58 mail kernel: [ 360.367248] ffff8808110b8190 000000000000a000 0000000000000296 000000007a9966c4 Oct 29 17:01:58 mail kernel: [ 360.367266] ffff8807fa557800 000000007a9966c4 ffff8807eb0e4800 7fffffffffffffff Oct 29 17:01:58 mail kernel: [ 360.367285] Call Trace: Oct 29 17:01:58 mail kernel: [ 360.367296] [] ? schedule_timeout+0x15d/0x1b0 Oct 29 17:01:58 mail kernel: [ 360.367310] [] ? __down+0x65/0xb0 Oct 29 17:01:58 mail kernel: [ 360.367322] [] ? down+0x3d/0x60 Oct 29 17:01:58 mail kernel: [ 360.367359] [] ? xfs_buf_lock+0x1d/0x40 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367378] [] ? _xfs_buf_find+0x195/0x270 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367398] [] ? xfs_buf_get_map+0x21/0x120 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367418] [] ? xfs_buf_read_map+0x1e/0xc0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367438] [] ? xfs_trans_read_buf_map+0x10b/0x300 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367459] [] ? xfs_read_agi+0x80/0xb0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367478] [] ? xfs_ialloc_read_agi+0x11/0x70 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367499] [] ? xfs_bulkstat+0x192/0x530 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367517] [] ? xfs_bulkstat_one_int+0x2e0/0x2e0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367538] [] ? xfs_ioc_bulkstat+0xe2/0x1c0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367558] [] ? xfs_file_ioctl+0x7f8/0xab0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367577] [] ? xfs_iunlock+0x3c/0x80 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367596] [] ? xfs_free_eofblocks+0xd5/0x2a0 [xfs] Oct 29 17:01:58 mail kernel: [ 360.367611] [] ? list_lru_add+0x64/0x100 Oct 29 17:01:58 mail kernel: [ 360.367625] [] ? do_vfs_ioctl+0x2e0/0x4c0 Oct 29 17:01:58 mail kernel: [ 360.367638] [] ? task_work_run+0xb4/0xf0 Oct 29 17:01:58 mail kernel: [ 360.367651] [] ? SyS_ioctl+0x79/0x90 Oct 29 17:01:58 mail kernel: [ 360.367662] [] ? int_signal+0x12/0x17 Oct 29 17:01:58 mail kernel: [ 360.367674] [] ? system_call_fastpath+0x16/0x1b [ 418.302083] SysRq : Show Blocked State [ 418.302096] task PC stack pid father [ 418.302127] xfsdump D 0000000000000000 0 2549 2265 0x00000000 [ 418.302144] ffff8808110b8190 0000000000000082 ffff8807eb0e4800 ffff8807fa527fd8 [ 418.302163] ffff8808110b8190 000000000000a000 0000000000000296 000000007a9966c4 [ 418.302181] ffff8807fa557800 000000007a9966c4 ffff8807eb0e4800 7fffffffffffffff [ 418.302200] Call Trace: [ 418.302210] [] ? schedule_timeout+0x15d/0x1b0 [ 418.302224] [] ? __down+0x65/0xb0 [ 418.302237] [] ? down+0x3d/0x60 [ 418.302715] [] ? xfs_buf_lock+0x1d/0x40 [xfs] [ 418.303160] [] ? _xfs_buf_find+0x195/0x270 [xfs] [ 418.303585] [] ? xfs_buf_get_map+0x21/0x120 [xfs] [ 418.304007] [] ? xfs_buf_read_map+0x1e/0xc0 [xfs] [ 418.304421] [] ? xfs_trans_read_buf_map+0x10b/0x300 [xfs] [ 418.304837] [] ? xfs_read_agi+0x80/0xb0 [xfs] [ 418.305250] [] ? xfs_ialloc_read_agi+0x11/0x70 [xfs] [ 418.305664] [] ? xfs_bulkstat+0x192/0x530 [xfs] [ 418.306078] [] ? xfs_bulkstat_one_int+0x2e0/0x2e0 [xfs] [ 418.306492] [] ? xfs_ioc_bulkstat+0xe2/0x1c0 [xfs] [ 418.306939] [] ? xfs_file_ioctl+0x7f8/0xab0 [xfs] [ 418.307350] [] ? xfs_iunlock+0x3c/0x80 [xfs] [ 418.307754] [] ? xfs_free_eofblocks+0xd5/0x2a0 [xfs] [ 418.308163] [] ? list_lru_add+0x64/0x100 [ 418.308567] [] ? do_vfs_ioctl+0x2e0/0x4c0 [ 418.308961] [] ? task_work_run+0xb4/0xf0 [ 418.309352] [] ? SyS_ioctl+0x79/0x90 [ 418.309734] [] ? int_signal+0x12/0x17 [ 418.310113] [] ? system_call_fastpath+0x16/0x1b 2014-10-29 15:51 GMT+08:00 Dave Chinner : > On Wed, Oct 29, 2014 at 02:46:33PM +0800, Tommy Wu wrote: > > it will hang after this message (the kernel in above git repo): > > > > /sbin/xfsdump: dumping non-directory files > > > > console show the below message every 2 minutes: > > [ 480.387308] INFO: task xfsdump:2717 blocked for more than 120 seconds. > > I think there might be something else wrong with your system. > > What's the stack trace associated with that? If there's none, > what's the output of 'echo w > /proc/sysrq-trigger' in dmesg? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --047d7b5d42643b891e05068c0b74 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367165] INFO: tas= k xfsdump:2549 blocked for more than 120 seconds.
Oct 29 17:01:58 mail k= ernel: [=C2=A0 360.367182]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Tainted: G= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 O=C2=A0=C2=A0 = 3.18.0-rc2-1029 #1
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367195] &quo= t;echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this m= essage.
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367211] xfsdump=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 D 0000000000000000=C2=A0=C2=A0= =C2=A0=C2=A0 0=C2=A0 2549=C2=A0=C2=A0 2265 0x00000000
Oct 29 17:01:58 ma= il kernel: [=C2=A0 360.367229]=C2=A0 ffff8808110b8190 0000000000000082 ffff= 8807eb0e4800 ffff8807fa527fd8
Oct 29 17:01:58 mail kernel: [=C2=A0 360.3= 67248]=C2=A0 ffff8808110b8190 000000000000a000 0000000000000296 000000007a9= 966c4
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367266]=C2=A0 ffff8807fa5= 57800 000000007a9966c4 ffff8807eb0e4800 7fffffffffffffff
Oct 29 17:01:58= mail kernel: [=C2=A0 360.367285] Call Trace:
Oct 29 17:01:58 mail kerne= l: [=C2=A0 360.367296]=C2=A0 [<ffffffff814106ad>] ? schedule_timeout+= 0x15d/0x1b0
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367310]=C2=A0 [<= ffffffff8140f835>] ? __down+0x65/0xb0
Oct 29 17:01:58 mail kernel: [= =C2=A0 360.367322]=C2=A0 [<ffffffff8107e09d>] ? down+0x3d/0x60
Oct= 29 17:01:58 mail kernel: [=C2=A0 360.367359]=C2=A0 [<ffffffffa03637bd&g= t;] ? xfs_buf_lock+0x1d/0x40 [xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 = 360.367378]=C2=A0 [<ffffffffa0363975>] ? _xfs_buf_find+0x195/0x270 [x= fs]
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367398]=C2=A0 [<ffffffff= a0363a71>] ? xfs_buf_get_map+0x21/0x120 [xfs]
Oct 29 17:01:58 mail ke= rnel: [=C2=A0 360.367418]=C2=A0 [<ffffffffa03640ce>] ? xfs_buf_read_m= ap+0x1e/0xc0 [xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367438]=C2= =A0 [<ffffffffa038c9db>] ? xfs_trans_read_buf_map+0x10b/0x300 [xfs]Oct 29 17:01:58 mail kernel: [=C2=A0 360.367459]=C2=A0 [<ffffffffa0354= 440>] ? xfs_read_agi+0x80/0xb0 [xfs]
Oct 29 17:01:58 mail kernel: [= =C2=A0 360.367478]=C2=A0 [<ffffffffa0354481>] ? xfs_ialloc_read_agi+0= x11/0x70 [xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367499]=C2=A0 [&= lt;ffffffffa0376532>] ? xfs_bulkstat+0x192/0x530 [xfs]
Oct 29 17:01:5= 8 mail kernel: [=C2=A0 360.367517]=C2=A0 [<ffffffffa03761e0>] ? xfs_b= ulkstat_one_int+0x2e0/0x2e0 [xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 3= 60.367538]=C2=A0 [<ffffffffa036bda2>] ? xfs_ioc_bulkstat+0xe2/0x1c0 [= xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367558]=C2=A0 [<fffffff= fa036e518>] ? xfs_file_ioctl+0x7f8/0xab0 [xfs]
Oct 29 17:01:58 mail k= ernel: [=C2=A0 360.367577]=C2=A0 [<ffffffffa037221c>] ? xfs_iunlock+0= x3c/0x80 [xfs]
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367596]=C2=A0 [&= lt;ffffffffa0360ed5>] ? xfs_free_eofblocks+0xd5/0x2a0 [xfs]
Oct 29 17= :01:58 mail kernel: [=C2=A0 360.367611]=C2=A0 [<ffffffff810f6834>] ? = list_lru_add+0x64/0x100
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367625]= =C2=A0 [<ffffffff81152800>] ? do_vfs_ioctl+0x2e0/0x4c0
Oct 29 17:0= 1:58 mail kernel: [=C2=A0 360.367638]=C2=A0 [<ffffffff8105e3d4>] ? ta= sk_work_run+0xb4/0xf0
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367651]= =C2=A0 [<ffffffff81152a59>] ? SyS_ioctl+0x79/0x90
Oct 29 17:01:58 = mail kernel: [=C2=A0 360.367662]=C2=A0 [<ffffffff814119e0>] ? int_sig= nal+0x12/0x17
Oct 29 17:01:58 mail kernel: [=C2=A0 360.367674]=C2=A0 [&l= t;ffffffff81411796>] ? system_call_fastpath+0x16/0x1b

[=C2=A0 418= .302083] SysRq : Show Blocked State
[=C2=A0 418.302096]=C2=A0=C2=A0 task= =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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PC stack=C2= =A0=C2=A0 pid father
[=C2=A0 418.302127] xfsdump=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 D 0000000000000000=C2=A0=C2=A0=C2=A0=C2=A0 0=C2=A0= 2549=C2=A0=C2=A0 2265 0x00000000
[=C2=A0 418.302144]=C2=A0 ffff8808110b= 8190 0000000000000082 ffff8807eb0e4800 ffff8807fa527fd8
[=C2=A0 418.3021= 63]=C2=A0 ffff8808110b8190 000000000000a000 0000000000000296 000000007a9966= c4
[=C2=A0 418.302181]=C2=A0 ffff8807fa557800 000000007a9966c4 ffff8807e= b0e4800 7fffffffffffffff
[=C2=A0 418.302200] Call Trace:
[=C2=A0 418.= 302210]=C2=A0 [<ffffffff814106ad>] ? schedule_timeout+0x15d/0x1b0
= [=C2=A0 418.302224]=C2=A0 [<ffffffff8140f835>] ? __down+0x65/0xb0
= [=C2=A0 418.302237]=C2=A0 [<ffffffff8107e09d>] ? down+0x3d/0x60
[= =C2=A0 418.302715]=C2=A0 [<ffffffffa03637bd>] ? xfs_buf_lock+0x1d/0x4= 0 [xfs]
[=C2=A0 418.303160]=C2=A0 [<ffffffffa0363975>] ? _xfs_buf_= find+0x195/0x270 [xfs]
[=C2=A0 418.303585]=C2=A0 [<ffffffffa0363a71&g= t;] ? xfs_buf_get_map+0x21/0x120 [xfs]
[=C2=A0 418.304007]=C2=A0 [<ff= ffffffa03640ce>] ? xfs_buf_read_map+0x1e/0xc0 [xfs]
[=C2=A0 418.30442= 1]=C2=A0 [<ffffffffa038c9db>] ? xfs_trans_read_buf_map+0x10b/0x300 [x= fs]
[=C2=A0 418.304837]=C2=A0 [<ffffffffa0354440>] ? xfs_read_agi+= 0x80/0xb0 [xfs]
[=C2=A0 418.305250]=C2=A0 [<ffffffffa0354481>] ? x= fs_ialloc_read_agi+0x11/0x70 [xfs]
[=C2=A0 418.305664]=C2=A0 [<ffffff= ffa0376532>] ? xfs_bulkstat+0x192/0x530 [xfs]
[=C2=A0 418.306078]=C2= =A0 [<ffffffffa03761e0>] ? xfs_bulkstat_one_int+0x2e0/0x2e0 [xfs]
= [=C2=A0 418.306492]=C2=A0 [<ffffffffa036bda2>] ? xfs_ioc_bulkstat+0xe= 2/0x1c0 [xfs]
[=C2=A0 418.306939]=C2=A0 [<ffffffffa036e518>] ? xfs= _file_ioctl+0x7f8/0xab0 [xfs]
[=C2=A0 418.307350]=C2=A0 [<ffffffffa03= 7221c>] ? xfs_iunlock+0x3c/0x80 [xfs]
[=C2=A0 418.307754]=C2=A0 [<= ffffffffa0360ed5>] ? xfs_free_eofblocks+0xd5/0x2a0 [xfs]
[=C2=A0 418.= 308163]=C2=A0 [<ffffffff810f6834>] ? list_lru_add+0x64/0x100
[=C2= =A0 418.308567]=C2=A0 [<ffffffff81152800>] ? do_vfs_ioctl+0x2e0/0x4c0=
[=C2=A0 418.308961]=C2=A0 [<ffffffff8105e3d4>] ? task_work_run+0x= b4/0xf0
[=C2=A0 418.309352]=C2=A0 [<ffffffff81152a59>] ? SyS_ioctl= +0x79/0x90
[=C2=A0 418.309734]=C2=A0 [<ffffffff814119e0>] ? int_si= gnal+0x12/0x17
[=C2=A0 418.310113]=C2=A0 [<ffffffff81411796>] ? sy= stem_call_fastpath+0x16/0x1b


2014-10-29 15:51 GMT+08:00 Dave Chinner <da= vid@fromorbit.com>:
On Wed, Oct 29, 2014 at 02:46:33PM +0800, Tommy Wu wrote:
> it will hang after this message (the kernel in above git repo):
>
> /sbin/xfsdump: dumping non-directory files
>
> console show the below message every 2 minutes:
> [=C2=A0 480.387308] INFO: task xfsdump:2717 blocked for more than 120 = seconds.

I think there might be something else wrong with your system.

What's the stack trace associated with that? If there's none,
what's the output of 'echo w > /proc/sysrq-trigger' in dmesg= ?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--047d7b5d42643b891e05068c0b74-- From wu.tommy@gmail.com Wed Oct 29 04:22: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=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 3679F7F3F for ; Wed, 29 Oct 2014 04:22:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 241CD304039 for ; Wed, 29 Oct 2014 02:21:57 -0700 (PDT) X-ASG-Debug-ID: 1414574512-04cbb070c74555c0001-NocioJ Received: from mail-ob0-f171.google.com (mail-ob0-f171.google.com [209.85.214.171]) by cuda.sgi.com with ESMTP id B6NFtgzK5ccbtssd (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 02:21:52 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.171 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.171] Received: by mail-ob0-f171.google.com with SMTP id wp18so2038124obc.2 for ; Wed, 29 Oct 2014 02:21:52 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.171] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.171] 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=0hRSA4DhT1KWp3/RGfL/P5NpBCTKb7R8S+Yd6GhSJZs=; b=EhKNvBF693+R83NC+jb3O+SOKwlHqYIE8wYJ9w7PgqM8VbW725gUaUI/fDQaEBKt2o bJnwjtTqlDVhOA5cRORBGcCw2oXW3IUFeSlR2iPP46aF7eSqQ4eceWhC3iaRD/66xshS cBNeQs9DJSo8aEiFiH6MI+NEpzjcqegv0t6lQsd5w88wbJM36Js/OeeprsHfaSbCJwU6 j7++ZVZ+oP5Z78p45V7SqfDd54Y8A3o8LosB6js+f/dzIgevexfV/zujpm9m0QR916oJ gah/y58DaJMxCf4EyigVD3HHkPhwUogwbwSgTkRYiVhTA55bt/giayEN4IbUBmCIWKoX 02VA== MIME-Version: 1.0 X-Received: by 10.202.228.6 with SMTP id b6mr794297oih.71.1414574512289; Wed, 29 Oct 2014 02:21:52 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Wed, 29 Oct 2014 02:21:52 -0700 (PDT) In-Reply-To: <20141029075134.GB13323@dastard> References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> Date: Wed, 29 Oct 2014 17:21:52 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: Eric Sandeen , xfs Content-Type: multipart/alternative; boundary=001a1141c712503dd405068c4bc5 X-Barracuda-Connect: mail-ob0-f171.google.com[209.85.214.171] X-Barracuda-Start-Time: 1414574512 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11016 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 --001a1141c712503dd405068c4bc5 Content-Type: text/plain; charset=UTF-8 Same testing in same machine (just different kernel). 3.18-rc2: xfsdump will hang (the test.xfsdump.gz size stop around 57M) 3.17.1 (with 2 patches): xfsdump generate the dump file, but xfsrestore can't restore all files from the dump file. I think the dump is corrupted, can't restore it also in kernel 3.16.5. 3.16.5: everything work fine. 2014-10-29 15:51 GMT+08:00 Dave Chinner : > On Wed, Oct 29, 2014 at 02:46:33PM +0800, Tommy Wu wrote: > > it will hang after this message (the kernel in above git repo): > > > > /sbin/xfsdump: dumping non-directory files > > > > console show the below message every 2 minutes: > > [ 480.387308] INFO: task xfsdump:2717 blocked for more than 120 seconds. > > I think there might be something else wrong with your system. > > What's the stack trace associated with that? If there's none, > what's the output of 'echo w > /proc/sysrq-trigger' in dmesg? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --001a1141c712503dd405068c4bc5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Same testing in same machine (just different kernel).=

3.18-rc2:
xfsdump will hang (the test.xfsdump.gz size= stop around 57M)

3.17.1 (with 2 patches):
xfsdump ge= nerate the dump file, but xfsrestore can't restore all files from the d= ump file.
I think the dump is corrupted, can't restore it= also in kernel 3.16.5.

3.16.5:
everything work fine.
<= div>

2014-10-29 15:51 GMT+08:00 Dave Chinner <david@fromorbit.com><= /span>:
On Wed, Oct 29, = 2014 at 02:46:33PM +0800, Tommy Wu wrote:
> it will hang after this message (the kernel in above git repo):
>
> /sbin/xfsdump: dumping non-directory files
>
> console show the below message every 2 minutes:
> [=C2=A0 480.387308] INFO: task xfsdump:2717 blocked for more than 120 = seconds.

I think there might be something else wrong with your system.

What's the stack trace associated with that? If there's none,
what's the output of 'echo w > /proc/sysrq-trigger' in dmesg= ?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--001a1141c712503dd405068c4bc5-- From spelic@shiftmail.org Wed Oct 29 04:37: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 21A8D7F3F for ; Wed, 29 Oct 2014 04:37:36 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id AED48AC00C for ; Wed, 29 Oct 2014 02:37:35 -0700 (PDT) X-ASG-Debug-ID: 1414575454-04bdf038d24fc420001-NocioJ Received: from srv2.trombetti.net (srv2.trombetti.net [65.254.53.252]) by cuda.sgi.com with ESMTP id QdXSCYVqtBJ7nFDb for ; Wed, 29 Oct 2014 02:37:34 -0700 (PDT) X-Barracuda-Envelope-From: spelic@shiftmail.org X-Barracuda-Apparent-Source-IP: 65.254.53.252 Received: from localhost (localhost [127.0.0.1]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: SASL) by srv2.trombetti.net (Postfix) with ESMTPSA id 8137B3135C; Wed, 29 Oct 2014 05:52:35 -0400 (EDT) Message-ID: <5450B560.6000208@shiftmail.org> Date: Wed, 29 Oct 2014 10:37:36 +0100 From: Spelic User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Eric Sandeen , Spelic , xfs@oss.sgi.com Subject: Re: XFS shrinking planned? References: <544FC202.1000200@shiftmail.org> <544FD4C1.4020004@sandeen.net> X-ASG-Orig-Subj: Re: XFS shrinking planned? In-Reply-To: <544FD4C1.4020004@sandeen.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: srv2.trombetti.net[65.254.53.252] X-Barracuda-Start-Time: 1414575454 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.11016 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 28/10/2014 18:39, Eric Sandeen wrote: > Not formally planned, there are bits and pieces out there (i.e. the inode > mover) which are part of what it might take to achieve a shrinker. > > Another option, rather than fs shrinking, is to use the dm-thinp target, which > would allow you to allocate a large-but-sparse block device, create a very > large filesystem on that, and add or remove storage as needed. > (At least I think you can remove it...!) > > -Eric Thanks for your reply Eric Interesting technique, but for enforcing a maximum size (smaller than the very large allocated thin device) I would have to rely on quotas, which probably decreases performance. Then using thinp would mess up all the disk layout, basically replacing the XFS allocator, which most likely would decrease performances significantly. And then the thinp code itself is a medium performance thing and I don't think it can keep up with XFS performances, so that would presumably be a hard bottleneck. All this would result in a performance almost certainly lower than ext4. Thanks S. From zenglg.jy@cn.fujitsu.com Wed Oct 29 04: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 A239B7F3F for ; Wed, 29 Oct 2014 04:47:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6F6198F8037 for ; Wed, 29 Oct 2014 02:47:40 -0700 (PDT) X-ASG-Debug-ID: 1414576057-04bdf038d04fc800001-NocioJ Received: from heian.cn.fujitsu.com (cn.fujitsu.com [59.151.112.132]) by cuda.sgi.com with ESMTP id 5iCLzG1MT3M1V7ko for ; Wed, 29 Oct 2014 02:47:38 -0700 (PDT) X-Barracuda-Envelope-From: zenglg.jy@cn.fujitsu.com X-Barracuda-Apparent-Source-IP: 59.151.112.132 X-IronPort-AV: E=Sophos;i="5.04,808,1406563200"; d="scan'208";a="42533837" Received: from unknown (HELO edo.cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 29 Oct 2014 17:44:28 +0800 Received: from G08CNEXCHPEKD01.g08.fujitsu.local (localhost.localdomain [127.0.0.1]) by edo.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id s9T9lTPW022284 for ; Wed, 29 Oct 2014 17:47:29 +0800 Received: from [10.167.222.57] (10.167.222.57) by G08CNEXCHPEKD01.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server id 14.3.181.6; Wed, 29 Oct 2014 17:47:46 +0800 Message-ID: <1414575977.17402.3.camel@G08JYZSD130126.localdomain> Subject: [Question]: xfstests test generic/233 failure From: Zeng Linggang X-ASG-Orig-Subj: [Question]: xfstests test generic/233 failure To: Date: Wed, 29 Oct 2014 17:46:17 +0800 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.2 (3.10.2-2.fc20) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.167.222.57] X-Barracuda-Connect: cn.fujitsu.com[59.151.112.132] X-Barracuda-Start-Time: 1414576058 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.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=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11016 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words Hello, When I take XFS filesystem as test target, the case generic/233 often fails in my test machines (RHEL7.0GA: 3.10.0-123) with output like this: generic/233 [failed, exit status 1] - output mismatch (see /var/lib/xfstests/results//generic/233.out.bad) --- tests/generic/233.out 2014-10-22 14:17:06.239461640 +0800 +++ results/generic/233.out.bad 2014-10-23 14:39:48.210480319 +0800 @@ -4,4 +4,7 @@ seed = S Comparing user usage -Comparing group usage +4c4 +< #1001 -- 31348 32000 32000 772 1000 1000 +--- +> #1001 -- 31144 32000 32000 772 1000 1000 ... generic/231 and generic/270 also have the similar quota accounting mismatch. Could anyone give me some hints about it? Thanks, Zeng From jan.kokoska@gmail.com Wed Oct 29 05:00: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B261A7F3F for ; Wed, 29 Oct 2014 05:00:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8C6A78F8035 for ; Wed, 29 Oct 2014 03:00:05 -0700 (PDT) X-ASG-Debug-ID: 1414576802-04cbb070c6456370001-NocioJ Received: from mail-qc0-f171.google.com (mail-qc0-f171.google.com [209.85.216.171]) by cuda.sgi.com with ESMTP id 3dKePUlSQpOYS2ZK (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 03:00:02 -0700 (PDT) X-Barracuda-Envelope-From: jan.kokoska@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.171 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.171] Received: by mail-qc0-f171.google.com with SMTP id m20so2078554qcx.30 for ; Wed, 29 Oct 2014 03:00:02 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.171] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.171] 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=eZXZP/l1f9gy5CfRLAbrPhM/XcZSwdnY8h5aPjxFSFA=; b=lU0TGhJjew5dbwC8v2WANmDe7ZLvtPM8J08EtOw936jTuE+dUAbcngi4WV8AkuTlAH qF4uy1/Dn+3fa9PJ2BNOIbeuQdP4tnu0zm1OYaQBvFrw+wCo6XO5jO/zBIlb+KGx8lBO 1iJmLTKNg+HziSyXnA5McA6Iw2Hg+2Jp0uw4laX2IcaKr8IDDfscDJciorW5a8aoK0tC g9E23yjLMxAGWxFoLBNwQcbIfYIDXoJNI+V9TuNasutQwDXVcMHp09cAT12fVN1sU/4I lfnkFmOiJhJDjwt+7pL96Nbf/qgO1+MB/76fsiRbYPCfZAIS4LHw71I3AkgV9MCV2/9O YM+g== MIME-Version: 1.0 X-Received: by 10.224.66.200 with SMTP id o8mr14200101qai.88.1414576802431; Wed, 29 Oct 2014 03:00:02 -0700 (PDT) Sender: jan.kokoska@gmail.com Received: by 10.140.30.2 with HTTP; Wed, 29 Oct 2014 03:00:02 -0700 (PDT) In-Reply-To: <544FD577.9040605@sandeen.net> References: <544FD577.9040605@sandeen.net> Date: Wed, 29 Oct 2014 11:00:02 +0100 X-Google-Sender-Auth: cqlKcW8bz8abMmgMbdHElXQXX0E Message-ID: Subject: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel From: Jan Kokoska X-ASG-Orig-Subj: Re: Kernel crashes with trace ending in XFS code on RHEL6 variant kernel To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11c2beb0d112b405068cd30f X-Barracuda-Connect: mail-qc0-f171.google.com[209.85.216.171] X-Barracuda-Start-Time: 1414576802 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11017 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 --001a11c2beb0d112b405068cd30f Content-Type: text/plain; charset=UTF-8 Hi Eric, On 28 October 2014 18:42, Eric Sandeen wrote: > On 10/28/14 10:38 AM, Jan Kokoska wrote: > > Hi, > > > > I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel on > > ... for which we have no source code? ;) > Right, I'm sorry, the source code patch on vanilla kernel is linked from http://openvz.org/Download/kernel/rhel6/042stab084.20 and http://openvz.org/Download/kernel/rhel6/042stab092.3 for the two kernel versions. xfs.aops.c differs a bit between the older and the newer version (released 6 months apart), but both kernels crash. 1031,1032c1031,1034 < * Just skip the page if it is fully outside i_size, e.g. due < * to a truncate operation that is in progress. --- > * Skip the page if it is fully outside i_size, e.g. due to a > * truncate operation that is in progress. We must redirty the > * page so that reclaim stops reclaiming it. Otherwise > * xfs_vm_releasepage() is called on it and gets confused. 1034,1037c1036,1037 < if (page->index >= end_index + 1 || offset_into_page == 0) { < unlock_page(page); < return 0; < } --- > if (page->index >= end_index + 1 || offset_into_page == 0) > goto redirty; OpenVZ devs unfortunately don't publish their git tree anymore. > I don't know what's in "2.6.32-openvz-amd64" so can't help much. > > What is at line 86 of xfs_aops.c in that kernel? > Stefan is right in that it's the line bh = head = page_buffers(page); from xfs_count_page_state() Eric, thanks for the pointer to ef5d437f71afdf4afdbab99213add99f4b1318fd, I'll raise it with OpenVZ devs or with RHEL so the bug trickles downstream to OpenVZ. I simply didn't know how much difference there may be between XFS parts of the kernel trees that you maintain and that are e.g. in RHEL and thought it could be a generally occurring bug. Also wanted to get in touch with the mailing list as I've been using XFS mostly happily for a decade. Jan > > -Eric > > > several amd64 machines by different manufacturers (HP and Supermicro) > > and different RAID cards (HP and Areca). > > > > I've started seeing kernel crashes in October, as per the netconsole > > logs attached, on two of the machines (one HP, one Supermicro). The > > traces look quite similar, the machine in question cannot write > > anything to its own filesystem when this happens so the logs are made > > over the network. The XFS filesystem is not root (that's ext4), but > > one for data (OS containers), on both machines. When I run xfs_check > > and xfs_repair on the filesystem after the kernel crash & reboot, no > > issue is ever found. > > > > This may very well have nothing to do with XFS kernel code you wrote > > and maintain, but in that case, could you, from looking at the traces, > > tell me whether it maybe looks like something issue related to > > vm/paging just ending up in XFS related code path? > > > > I'm happy to test any suggestions/fixes for this if it is XFS related. > > > > Thank you, > > -- > > Jan Kokoska > > Glow Internet s.r.o. > > > > > > _______________________________________________ > > 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 > -- S pozdravem Jan Kokoska Glow Internet s.r.o. --001a11c2beb0d112b405068cd30f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Eric,

On 28 October 2014 18:42, Eric Sandeen <sandeen@sandeen.net<= /a>> wrote:
On 10/28/14 10:38 AM, Jan K= okoska wrote:
> Hi,
>
> I'm running OpenVZ (OS container) kernel variant of RHEL6 kernel o= n

... for which we have no source code? ;)

Right, I'm sorry, the source code patch on vanilla kernel is l= inked from
and
for the two kernel versions.

xfs.aops.c differs a bit between the older and the = newer version (released 6 months apart), but both kernels crash.=C2=A0

1031,1032c1031,1034
< * Just skip the page if it is f= ully outside i_size, e.g. due
< * to a truncate operation that is in progress.
=
---
> * Skip the page if it is fully outside i_size, e.g. due to a
&g= t; * truncate operatio= n that is in progress. We must redirty the
> * page so that reclaim stops reclaiming= it. Otherwise
> = * xfs_vm_releasepage() is called on it and gets confused.
1034,1037c1036,1037
< if (page->index >=3D end_index + 1 || offset_into_page = =3D=3D 0) {
< unlock_page(page);
< return 0;
< }
---
> if (page->index >=3D end_index + 1 || offs= et_into_page =3D=3D 0)
> goto redirty;

OpenVZ d= evs unfortunately don't publish their git tree anymore.

<= /div>

I don't know what's in "2.6.32-openvz-amd64" so can't= help much.

What is at line 86 of xfs_aops.c in that kernel?

<= /div>
Stefan is right in that it's the line
bh =3D head = =3D page_buffers(page);
from=C2=A0
xfs_count_page_s= tate()

Eric, thanks for the pointer to=C2=A0ef= 5d437f71afdf4afdbab99213add99f4b1318fd, I'll raise it with OpenVZ devs = or with RHEL so the bug trickles downstream to OpenVZ. I simply didn't = know how much difference there may be between XFS parts of the kernel trees= that you maintain and that are e.g. in RHEL and thought it could be a gene= rally occurring bug. Also wanted to get in touch with the mailing list as I= 've been using XFS mostly happily for a decade.

Jan
=C2=A0

-Eric

> several amd64 machines by different manufacturers (HP and Supermicro)<= br> > and different RAID cards (HP and Areca).
>
> I've started seeing kernel crashes in October, as per the netconso= le
> logs attached, on two of the machines (one HP, one Supermicro). The > traces look quite similar, the machine in question cannot write
> anything to its own filesystem when this happens so the logs are made<= br> > over the network. The XFS filesystem is not root (that's ext4), bu= t
> one for data (OS containers), on both machines. When I run xfs_check > and xfs_repair on the filesystem after the kernel crash & reboot, = no
> issue is ever found.
>
> This may very well have nothing to do with XFS kernel code you wrote > and maintain, but in that case, could you, from looking at the traces,=
> tell me whether it maybe looks like something issue related to
> vm/paging just ending up in XFS related code path?
>
> I'm happy to test any suggestions/fixes for this if it is XFS rela= ted.
>
> Thank you,
> --
> Jan Kokoska
> Glow Internet s.r.o.
>
>
> _______________________________________________
> 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



--
S pozdravem<= br>
Jan Kokoska
Glow Internet s.r.o.
--001a11c2beb0d112b405068cd30f-- From dgc@oss.sgi.com Wed Oct 29 05:32: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=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 E549E7F47; Wed, 29 Oct 2014 05:32:18 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. v3.18-rc2-5-g31692c5 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: bae09893f6a5260c7030499ddfd0911899ae3d0c X-Git-Newrev: 31692c5fe617d28d8099a9308d345e26f3e22dca Message-Id: <20141029103218.E549E7F47@oss.sgi.com> Date: Wed, 29 Oct 2014 05:32:18 -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 31692c5 xfs: bulkstat needs to delete cursor at end of AG from bae09893f6a5260c7030499ddfd0911899ae3d0c (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 31692c5fe617d28d8099a9308d345e26f3e22dca Author: Dave Chinner Date: Wed Oct 29 21:22:39 2014 +1100 xfs: bulkstat needs to delete cursor at end of AG Colliding bug fixes meant one fix breaks from the bulkstat loop ("xfs: Check error during inode btree iteration in xfs_bulkstat()") when in fact it should do what the other patch did introduced and jump to the del_cursor label ("xfs: bulkstat doesn't release AGI buffer on error"). Failure to do so causes the end of AG detection to hang on a locked AGI. Reported by: Tommy Wu Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_itable.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Wed Oct 29 05:32: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=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 BAE887F54; Wed, 29 Oct 2014 05:32:32 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-fixes-for-3.18-rc3, updated. v3.18-rc2-5-g31692c5 X-Git-Refname: refs/heads/xfs-fixes-for-3.18-rc3 X-Git-Reftype: branch X-Git-Oldrev: bae09893f6a5260c7030499ddfd0911899ae3d0c X-Git-Newrev: 31692c5fe617d28d8099a9308d345e26f3e22dca Message-Id: <20141029103232.BAE887F54@oss.sgi.com> Date: Wed, 29 Oct 2014 05:32:32 -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-fixes-for-3.18-rc3 has been updated 31692c5 xfs: bulkstat needs to delete cursor at end of AG from bae09893f6a5260c7030499ddfd0911899ae3d0c (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 31692c5fe617d28d8099a9308d345e26f3e22dca Author: Dave Chinner Date: Wed Oct 29 21:22:39 2014 +1100 xfs: bulkstat needs to delete cursor at end of AG Colliding bug fixes meant one fix breaks from the bulkstat loop ("xfs: Check error during inode btree iteration in xfs_bulkstat()") when in fact it should do what the other patch did introduced and jump to the del_cursor label ("xfs: bulkstat doesn't release AGI buffer on error"). Failure to do so causes the end of AG detection to hang on a locked AGI. Reported by: Tommy Wu Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_itable.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- XFS development tree From david@fromorbit.com Wed Oct 29 05:34: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 8B9107F47 for ; Wed, 29 Oct 2014 05:34:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 18C19AC00C for ; Wed, 29 Oct 2014 03:34:00 -0700 (PDT) X-ASG-Debug-ID: 1414578837-04cbb070c6457030001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id Oj5HbWrIan0jNE3Z for ; Wed, 29 Oct 2014 03:33:58 -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: ApMgALjBUFR5LbBUPGdsb2JhbABcgw6BLLpBAQEBAQEGlUuFagQCAoEYFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQMVdAQsgGIYdhm2DZweESwWPbY16mkUpL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 21:03:57 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjQZf-0005S5-Br; Wed, 29 Oct 2014 21:33:55 +1100 Date: Wed, 29 Oct 2014 21:33:55 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029103355.GI16186@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@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: 1414578837 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.11017 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 05:21:52PM +0800, Tommy Wu wrote: > Same testing in same machine (just different kernel). > > 3.18-rc2: > xfsdump will hang (the test.xfsdump.gz size stop around 57M) Ugh, colliding fixes to the bulkstat code. pull again from the xfs-fixes-for-3.18-rc3 branch and the hang should be fixed. /me wonders why the new dump xfstest didn't pick this up Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 29 05:37: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 D06717F47 for ; Wed, 29 Oct 2014 05:37:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 67A4FAC008 for ; Wed, 29 Oct 2014 03:37:09 -0700 (PDT) X-ASG-Debug-ID: 1414579026-04cbb070c6457130001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 6qZbiHgHFYPfGIXX for ; Wed, 29 Oct 2014 03:37:07 -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: ApMgAOHCUFR5LbBUPGdsb2JhbABcgw6BLLpBAQEBAQEGlUuFagQCAoEYFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDGAklDwUlAwcaE4hAxWABAQEBBgEBAQEeGIYdigdNB4RLBZ1nmkUpL4EHgUQBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 21:06:37 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjQcG-0005Ss-FF; Wed, 29 Oct 2014 21:36:36 +1100 Date: Wed, 29 Oct 2014 21:36:36 +1100 From: Dave Chinner To: Zeng Linggang Cc: xfs@oss.sgi.com Subject: Re: [Question]: xfstests test generic/233 failure Message-ID: <20141029103636.GJ16186@dastard> X-ASG-Orig-Subj: Re: [Question]: xfstests test generic/233 failure References: <1414575977.17402.3.camel@G08JYZSD130126.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1414575977.17402.3.camel@G08JYZSD130126.localdomain> 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: 1414579026 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.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=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11017 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words On Wed, Oct 29, 2014 at 05:46:17PM +0800, Zeng Linggang wrote: > Hello, > > When I take XFS filesystem as test target, the case generic/233 often > fails in my test machines (RHEL7.0GA: 3.10.0-123) with output like this: > generic/233 [failed, exit status 1] - output mismatch (see > /var/lib/xfstests/results//generic/233.out.bad) > --- tests/generic/233.out 2014-10-22 14:17:06.239461640 +0800 > +++ results/generic/233.out.bad 2014-10-23 14:39:48.210480319 +0800 > @@ -4,4 +4,7 @@ > seed = S > Comparing user usage > -Comparing group usage > +4c4 > +< #1001 -- 31348 32000 32000 772 1000 1000 > +--- > +> #1001 -- 31144 32000 32000 772 1000 1000 > ... > generic/231 and generic/270 also have the similar quota accounting mismatch. fsstress can result in different file and directory layouts, hence result in different amounts of metadata in the filesystem. Metadata is also accounted to quotas (e.g. to the user who owns the directory) and so even if data usage is identical the metadata can still vary. I see these test give small variations quite frequently, but they are are usually only quite small (a handful of blocks) so I've never really worried about it too much. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 29 05:43: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 3150F7F3F for ; Wed, 29 Oct 2014 05:43:11 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1E98E8F8049 for ; Wed, 29 Oct 2014 03:43:08 -0700 (PDT) X-ASG-Debug-ID: 1414579385-04cbb070c74573b0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id cP8o4mFNGBWV8SQq for ; Wed, 29 Oct 2014 03:43: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: ApMgAETEUFR5LbBUPGdsb2JhbABcgw6BLLpBAQEBAQEGlUuFagQCAoEYFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQMVhAQEIAgEfGIYdhm2DZweDLYEeAQSdZ5pFKS+CSwEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl6.internode.on.net with ESMTP; 29 Oct 2014 21:13:05 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjQiW-0005UX-9j; Wed, 29 Oct 2014 21:43:04 +1100 Date: Wed, 29 Oct 2014 21:43:04 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029104304.GC13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> <20141029103355.GI16186@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029103355.GI16186@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: 1414579385 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.11017 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 09:33:55PM +1100, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 05:21:52PM +0800, Tommy Wu wrote: > > Same testing in same machine (just different kernel). > > > > 3.18-rc2: > > xfsdump will hang (the test.xfsdump.gz size stop around 57M) > > Ugh, colliding fixes to the bulkstat code. pull again from > the xfs-fixes-for-3.18-rc3 branch and the hang should be fixed. Ugh, I forgot the stable tag on the new commit, so I'm going to have to rebase that branch before it's ready to send to Linus. I'll do it in the morning when I'm more awake. Cheers, Dave. -- Dave Chinner david@fromorbit.com From wu.tommy@gmail.com Wed Oct 29 07:32: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 0D5267F3F for ; Wed, 29 Oct 2014 07:32:57 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id EF1D78F8033 for ; Wed, 29 Oct 2014 05:32:53 -0700 (PDT) X-ASG-Debug-ID: 1414585972-04cb6c2ef9417310001-NocioJ Received: from mail-oi0-f42.google.com (mail-oi0-f42.google.com [209.85.218.42]) by cuda.sgi.com with ESMTP id oFuWtkS0nbwK81Fk (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 05:32:53 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.42 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] Received: by mail-oi0-f42.google.com with SMTP id a3so1564871oib.15 for ; Wed, 29 Oct 2014 05:32:52 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.42] 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=J/enI3gWvcpIJ0P8qKjLJ/W9kNAXcpyELNv/r3neYNQ=; b=Eo3pTQBfiDCFcgxQUpVR7VsHm64ddeLIuBI2t0a6hrH6tSLNeLS1q+BhF8onOCYxsQ do8qaLDXFUJPWPltQriyqNViN6kSk2xXQQ59XKiiHgf36bGQXZ5fMNPVkYlY+U3/XqDG BSXq9ktdDWx3XVZjZ+/7SyhGhgreZQtQ2/E9ZV1RKYJfigwmq5Bg9Bw2iS8CgBjxAhcS Ipx9IthhU3KDOL99KShvJeq/i9nj8TL1/wNxifPc8tKyBS2u/vRcnmnO29Xr+DDP5SXg 8RXU+eTHCKwOQ8kg02rgci3TZfrb5cbDIIsA8n7gs6xj/ZzqiwzlAOJDq7KjRBzmJcTH E0pQ== MIME-Version: 1.0 X-Received: by 10.202.216.11 with SMTP id p11mr8008437oig.47.1414585972536; Wed, 29 Oct 2014 05:32:52 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Wed, 29 Oct 2014 05:32:52 -0700 (PDT) In-Reply-To: <20141029104304.GC13323@dastard> References: <5450686F.9070307@sandeen.net> <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> <20141029103355.GI16186@dastard> <20141029104304.GC13323@dastard> Date: Wed, 29 Oct 2014 20:32:52 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: Eric Sandeen , xfs Content-Type: multipart/alternative; boundary=001a113d2eae65bcd405068ef64c X-Barracuda-Connect: mail-oi0-f42.google.com[209.85.218.42] X-Barracuda-Start-Time: 1414585972 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.11019 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 --001a113d2eae65bcd405068ef64c Content-Type: text/plain; charset=UTF-8 Does it just fix the hang issue or fix the dump corrupted issue? I just clone the git repo and checkout xfs-fixes-for-3.18-rc3, build it again. Now, xfsdump won't hang, but still can't restore the dump file correctly. The result just same as kernel 3.17.1. 2014-10-29 18:43 GMT+08:00 Dave Chinner : > On Wed, Oct 29, 2014 at 09:33:55PM +1100, Dave Chinner wrote: > > On Wed, Oct 29, 2014 at 05:21:52PM +0800, Tommy Wu wrote: > > > Same testing in same machine (just different kernel). > > > > > > 3.18-rc2: > > > xfsdump will hang (the test.xfsdump.gz size stop around 57M) > > > > Ugh, colliding fixes to the bulkstat code. pull again from > > the xfs-fixes-for-3.18-rc3 branch and the hang should be fixed. > > Ugh, I forgot the stable tag on the new commit, so I'm going to have > to rebase that branch before it's ready to send to Linus. I'll do > it in the morning when I'm more awake. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --001a113d2eae65bcd405068ef64c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Does it just fix the hang issue or fix the = dump corrupted issue?

I just clone the git repo and checkout x= fs-fixes-for-3.18-rc3, build it again.
Now, xfsdump won't hang= , but still can't restore the dump file correctly.
The result = just same as kernel 3.17.1.


2014-10-29 18:43 GMT+08:00 Dave Chinner <david= @fromorbit.com>:
On Wed, Oct 29, 2014 at 09:33:55PM +1100, Dave Chinner wrote:
> On Wed, Oct 29, 2014 at 05:21:52PM +0800, Tommy Wu wrote:
> > Same testing in same machine (just different kernel).
> >
> > 3.18-rc2:
> > xfsdump will hang (the test.xfsdump.gz size stop around 57M)
>
> Ugh, colliding fixes to the bulkstat code. pull again from
> the xfs-fixes-for-3.18-rc3 branch and the hang should be fixed.

Ugh, I forgot the stable tag on the new commit, so I'm going to = have
to rebase that branch before it's ready to send to Linus. I'll do it in the morning when I'm more awake.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--001a113d2eae65bcd405068ef64c-- From petrovich1970@rogerscorvette.com Wed Oct 29 07:38: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=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 2C0467F47 for ; Wed, 29 Oct 2014 07:38:36 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 71A81AC008 for ; Wed, 29 Oct 2014 05:38:32 -0700 (PDT) X-ASG-Debug-ID: 1414586308-04cbb070c745a420001-NocioJ Received: from mail.globalnet.zp.ua (mx.globalnet.zp.ua [192.162.140.5]) by cuda.sgi.com with ESMTP id XA3TAU6QJWBp9oEx for ; Wed, 29 Oct 2014 05:38:29 -0700 (PDT) X-Barracuda-Envelope-From: petrovich1970@rogerscorvette.com X-Barracuda-Apparent-Source-IP: 192.162.140.5 Received: from [201.221.132.83] (account alex HELO 201-221-132-83.telebucaramanga.net.co) by mail.globalnet.zp.ua (CommuniGate Pro SMTP 5.3.2) with ESMTPA id 3682366; Wed, 29 Oct 2014 10:12:05 +0200 Message-ID: <5F5AECBFB46044F72B2E67ED6983D9E2@maegaj> From: =?windows-1251?B?yuDE8M7iyOo=?= To: , , , Subject: =?windows-1251?B?6O3x8vDz6vbo/yDv7iDi5eTl7ej+IPLw8+Tu?= =?windows-1251?B?4vv1IOrt6Obl6g==?= Date: Wed, 29 Oct 2014 09:12:02 +0100 X-ASG-Orig-Subj: =?windows-1251?B?6O3x8vDz6vbo/yDv7iDi5eTl7ej+IPLw8+Tu?= =?windows-1251?B?4vv1IOrt6Obl6g==?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_06F2_01CFF358.66C0B290" X-Priority: 3 X-Barracuda-Connect: mx.globalnet.zp.ua[192.162.140.5] X-Barracuda-Start-Time: 1414586308 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_TG035a, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11019 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_06F2_01CFF358.66C0B290 Content-Type: multipart/alternative; boundary="----=_NextPart_001_06F3_01CFF358.66C0B290" ------=_NextPart_001_06F3_01CFF358.66C0B290 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: quoted-printable =EF=EE=F0=FF=E4=EE=EA =F3=E2=EE=EB=FC=ED=E5=ED=E8=FF =F0=E0=E1=EE=F2=ED=E8= =EA=EE=E2 ------=_NextPart_001_06F3_01CFF358.66C0B290 Content-Type: text/html; charset="windows-1251" Content-Transfer-Encoding: quoted-printable
=EF=EE=F0=FF=E4=EE=EA =F3=E2=EE=EB=FC=ED=E5=ED=E8=FF =F0=E0=E1=EE=F2= =ED=E8=EA=EE=E2
------=_NextPart_001_06F3_01CFF358.66C0B290-- ------=_NextPart_000_06F2_01CFF358.66C0B290 Content-Type: image/png; name="=?windows-1251?B?7vTu8Ozr5e3o5SDy8PPk7uL79SDu8u3u+OXt?= =?windows-1251?B?6Okg7+4g0sog0NQucG5n?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?windows-1251?B?7vTu8Ozr5e3o5SDy8PPk7uL79SDu8u3u+OXt?= =?windows-1251?B?6Okg7+4g0sog0NQucG5n?=" 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 vZkbqv7u790V/OZ2m/nF/tu1zPu/Pz4eh34Lt8f7ur9LTpXkb21tozTkq5gpkvRfjyLTmkWtztU6 r77PaS+dGTn1hNs8hygtxF8AJcrroBQvdsmpGbXfi2xtm2mt6N5sY8ZmYHa88er0JHagKY+8Fz3I eldrdRi/EmvflTLItZSmk4AprereSSkQT3g9ABv+tcnpNWYazlNUNRxvhF6A1/a3b/LRHb93u18q VmaPjr82R/CM+fjw1U2F738GPcT1hz+yffKLfzFW3Qsw4+63tNmjnKorWqByzMKXf1G4Q0z6Fme9 ZdJ83n6Lea+eVBfX58p0f3+Ky0A5mWomiM5m+7hBvU/iPR/oRb0iMWytWjwsQRchRvVowrbkFHrt 3kTmJg/klG4fhMfADNIlp1Qik+coQ4rZkEFW3cy1rOyaSOvRNtJvPF3a+5dfP/UorO4j346XblHq nnL9/lfTW/cPvt3+/a9adf3+F8Yh2a9+9uWn1zvZr//9+ufu0mfz0SNehvqpdY/8NMXvv7JpdDll m43fK6dKCRCJUZeGQEJ5Gcx8PfOi+QdnnZO36cqVrEJOic3/KZhM4nGJjQ8zTLkQiIxmOQ+2jSm/ 4iiP5VTQ11t1QKO5UfMkk3JqWl0gnoq7M5pJS72BGeRalp5r0vN0falgiTj71AFfvvxT37Svbj09 F6pSLX/JWyAUlSkgriP/6UlF3Xv9WDaXcurznqo/X9761sXI//7yvW9++ffff452OdSpws8WXl+z Ljh+9cdPifY31wbX2+HNn1/+/hNOk8zFzq8590WZR2u/+uXVjH9Rj5L62a+z10mbJr2rQf1XXyCn epOGyM/1yHEiqvPYlHPEUDoRBSWmOVe9fD2RmCsz0bv8+Jp5kVNPnINdYQZTEE9BWIstWn6NNUS8 T/S7Xa9kdmbyLxuhGjMbvisj1OsSg/eOk0QUJJ3hGeR6E/qjcF7+cflAmfjpOiianqSw8KdrxoVz Lele7PzV9XEDV+3y8fHHy/9n7tn5l99eGl8fVXD57zeVEZfP/Qmx1eRpyanffnz8+8fH7z4+/uur L1++86Mv33Dujfvj45zp40Nqkw8lsX/zly/fq46jPMP+8VtfytMJrjrJioe6b1mv8MVfbndCPbe8 HqF9/0df/iyfF3HvupfICaKuTs51s2auDhqXNGXmn2a2Kb0ySTtTNXTaLCMHfyrHybZZSZfs9M32 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 ------=_NextPart_000_06F2_01CFF358.66C0B290-- From findustry_rodina@pop.jaring.my Wed Oct 29 07:38: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=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 50E287F47 for ; Wed, 29 Oct 2014 07:38:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2F303304039 for ; Wed, 29 Oct 2014 05:38:33 -0700 (PDT) X-ASG-Debug-ID: 1414586308-04cbb070c745a420002-NocioJ Received: from mail.globalnet.zp.ua (mx.globalnet.zp.ua [192.162.140.5]) by cuda.sgi.com with ESMTP id vAW7NU0YMUBMVbTO for ; Wed, 29 Oct 2014 05:38:31 -0700 (PDT) X-Barracuda-Envelope-From: findustry_rodina@pop.jaring.my X-Barracuda-Apparent-Source-IP: 192.162.140.5 Received: from [116.55.19.208] (account alex HELO 208.19.55.116.broad.km.yn.dynamic.163data.com.cn) by mail.globalnet.zp.ua (CommuniGate Pro SMTP 5.3.2) with ESMTPA id 3687211; Wed, 29 Oct 2014 12:11:54 +0200 Message-ID: From: =?utf-8?B?0J/QvtGA0Y/QtNC+0Log0YDQsNC30YDQsNCx0L7RgtC6?= =?utf-8?B?0Lgg0Lgg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDQtNC1?= =?utf-8?B?0LrQu9Cw0YDQsNGG0LjQuCDQv9C+0LbQsNGA0L3QvtC5?= =?utf-8?B?INCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC4=?= To: , , , Subject: =?utf-8?B?0JjRgdGC0L7Rh9C90LjQutC4INC30LDQttC40LPQsNC9?= =?utf-8?B?0LjRjyDQs9C+0YDRjtGH0LXQuSDRgdGA0LXQtNGLINCy?= =?utf-8?B?INGB0LjRgdGC0LXQvNCw0YUg0LLQtdC90YLQuNC70Y/R?= =?utf-8?B?htC40Lgu?= Date: Wed, 29 Oct 2014 11:12:09 +0100 X-ASG-Orig-Subj: =?utf-8?B?0JjRgdGC0L7Rh9C90LjQutC4INC30LDQttC40LPQsNC9?= =?utf-8?B?0LjRjyDQs9C+0YDRjtGH0LXQuSDRgdGA0LXQtNGLINCy?= =?utf-8?B?INGB0LjRgdGC0LXQvNCw0YUg0LLQtdC90YLQuNC70Y/R?= =?utf-8?B?htC40Lgu?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0468_01CFF369.2ECE4760" X-Priority: 3 X-Barracuda-Connect: mx.globalnet.zp.ua[192.162.140.5] X-Barracuda-Start-Time: 1414586311 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.26 X-Barracuda-Spam-Status: No, SCORE=1.26 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_TG035a, HTML_MESSAGE, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11019 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 BSF_SC0_TG035a Message contains invalid style definition 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO This is a multi-part message in MIME format. ------=_NextPart_000_0468_01CFF369.2ECE4760 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0469_01CFF369.2ECE4760" ------=_NextPart_001_0469_01CFF369.2ECE4760 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable =D0=92=D0=BD=D0=B8=D0=BC=D0=B0=D0=BD=D0=B8=D1=8E =D0=BE=D1=82=D0=B2=D0=B5= =D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 =D0=BB=D0=B8=D1=86= ! =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0= =D0=BD=D0=B8=D1=8F =D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE=D0=B9 =D0=B1= =D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8! =D0=9F=D1=80=D0=B8=D0=B3=D0=BB=D0=B0=D1=88=D0=B0=D0=B5=D0=BC =D0=BD=D0=B0= =D1=81=D0=B5=D0=BC=D0=B8=D0=BD=D0=B0=D1=80, =D0=B3=D0=B4=D0=B5 =D0=B1=D1= =83=D0=B4=D1=83=D1=82 =D1=80=D0=B0=D1=81=D1=81=D0=BC=D0=BE=D1=82=D1=80=D0= =B5=D0=BD=D1=8B =D1=82=D0=B5=D0=BC=D1=8B, =D1=81=D0=B2=D1=8F=D0=B7=D0=B0=D0= =BD=D0=BD=D1=8B=D0=B5 =D1=81 =D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=BE=D0= =BC =D0=BF=D1=80=D0=BE=D1=82=D0=B8=D0=B2=D0=BE=D0=BF=D0=BE=D0=B6=D0=B0=D1= =80=D0=BD=D0=BE=D0=B9 =D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0= =BE=D1=81=D1=82=D0=B8 =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1= =82=D0=B2=D1=83=D1=8E=D1=89=D0=B5=D0=B9 =D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1= =82=D0=BD=D0=BE=D0=B9 =D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0= =B0=D1=86=D0=B8=D0=B8: - =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F =D1=82=D0=B5= =D1=85=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D1=85 =D1=80=D0=B5=D0=B3= =D0=BB=D0=B0=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2;=20 - =D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA =D0=BF=D0=BE=D0=B4=D0=B3=D0=BE= =D1=82=D0=BE=D0=B2=D0=BA=D0=B8 =D0=BA =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80= =D0=BA=D0=B5 =D0=BF=D0=BE=D0=B6=D0=BD=D0=B0=D0=B4=D0=B7=D0=BE=D1=80=D0=B0= =D0=B8 =D1=83=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5 =D0=B7= =D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B9;=20 - =D0=BF=D1=80=D0=B8=D0=BA=D0=BB=D0=B0=D0=B4=D0=BD=D1=8B=D0=B5 =D0=B2=D0=BE= =D0=BF=D1=80=D0=BE=D1=81=D1=8B =D1=81 =D0=BF=D1=80=D0=BE=D1=82=D0=B8=D0=B2= =D0=BE=D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE=D0=B9 =D0=B7=D0=B0=D1=89= =D0=B8=D1=82=D0=BE=D0=B9 =D0=B8 =D0=B0=D1=83=D0=B4=D0=B8=D1=82=D0=BE=D0=BC= =D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE=D0=B9 =D0=B1=D0=B5=D0=B7=D0=BE= =D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8. =D0=92 =D1=80=D0=B0=D0=BC=D0=BA=D0=B0=D1=85 =D1=81=D0=B5=D0=BC=D0=B8=D0=BD= =D0=B0=D1=80=D0=B0 =D0=92=D1=8B =D1=82=D0=B0=D0=BA=D0=B6=D0=B5 =D1=81=D0=BC= =D0=BE=D0=B6=D0=B5=D1=82=D0=B5 =D0=BF=D1=80=D0=BE=D0=B9=D1=82=D0=B8 =D0=BF= =D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83 =D0=B7=D0=BD=D0=B0=D0=BD=D0=B8= =D0=B9 =D0=BF=D0=BE =D0=BA=D1=83=D1=80=D1=81=D1=83 "=D0=BF=D0=BE=D0=B6=D0= =B0=D1=80=D0=BD=D0=BE-=D1=82=D0=B5=D1=85=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0= =BA=D0=B8=D0=B9 =D0=BC=D0=B8=D0=BD=D0=B8=D0=BC=D1=83=D0=BC". =D0=94=D0=BB=D1=8F =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86= =D0=B8=D0=B8 =D0=BD=D1=83=D0=B6=D0=BD=D0=BE =D1=83=D0=BA=D0=B0=D0=B7=D0=B0= =D1=82=D1=8C =D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD= =D0=B8=D0=B5 =D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8= =D0=B8 =D0=B8 =D0=BA=D0=BE=D0=BB-=D0=B2=D0=BE =D1=83=D1=87=D0=B0=D1=81=D1= =82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2. =D0=9A=D0=BE=D0=BD=D1=82=D0=B0=D0=BA=D1=82=D1=8B =D0=B4=D0=BB=D1=8F =D1=80= =D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8 + =D0=BF=D1=80= =D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0 =D0=BC=D0=B5=D1=80=D0=BE=D0=BF= =D1=80=D0=B8=D1=8F=D1=82=D0=B8=D1=8F - =D0=92=D0=9E =D0=92=D0=9B=D0=9E=D0= =96=D0=95=D0=9D=D0=98=D0=98. ------=_NextPart_001_0469_01CFF369.2ECE4760 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
=D0=92=D0=BD=D0=B8=D0=BC=D0=B0=D0=BD=D0=B8=D1=8E =D0=BE=D1=82=D0=B2=D0= =B5=D1=82=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D1=85 =D0=BB=D0=B8=D1= =86! =D0=9D=D0=BE=D0=B2=D1=8B=D0=B5 =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0= =B0=D0=BD=D0=B8=D1=8F =D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE=D0=B9 =D0= =B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8!
 
=D0=9F=D1=80=D0=B8=D0=B3=D0=BB=D0=B0=D1=88=D0=B0=D0=B5=D0=BC =D0=BD=D0= =B0 =D1=81=D0=B5=D0=BC=D0=B8=D0=BD=D0=B0=D1=80, =D0=B3=D0=B4=D0=B5 =D0=B1= =D1=83=D0=B4=D1=83=D1=82 =D1=80=D0=B0=D1=81=D1=81=D0=BC=D0=BE=D1=82=D1=80= =D0=B5=D0=BD=D1=8B =D1=82=D0=B5=D0=BC=D1=8B, =D1=81=D0=B2=D1=8F=D0=B7=D0=B0= =D0=BD=D0=BD=D1=8B=D0=B5 =D1=81 =D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=BE= =D0=BC=20 =D0=BF=D1=80=D0=BE=D1=82=D0=B8=D0=B2=D0=BE=D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0= =BD=D0=BE=D0=B9 =D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1= =81=D1=82=D0=B8 =D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0= =B2=D1=83=D1=8E=D1=89=D0=B5=D0=B9 =D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0= =BD=D0=BE=D0=B9 =D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1= =86=D0=B8=D0=B8:
 
- =D1=82=D1=80=D0=B5=D0=B1=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F =D1=82= =D0=B5=D1=85=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D1=85 =D1=80=D0=B5= =D0=B3=D0=BB=D0=B0=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2;
- =D0=BF=D0=BE= =D1=80=D1=8F=D0=B4=D0=BE=D0=BA =D0=BF=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE= =D0=B2=D0=BA=D0=B8 =D0=BA =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B5= =20 =D0=BF=D0=BE=D0=B6=D0=BD=D0=B0=D0=B4=D0=B7=D0=BE=D1=80=D0=B0 =D0=B8 =D1=83= =D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5 =D0=B7=D0=B0=D0=BC= =D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B9;
- =D0=BF=D1=80=D0=B8=D0=BA=D0=BB= =D0=B0=D0=B4=D0=BD=D1=8B=D0=B5 =D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D1=8B= =D1=81 =D0=BF=D1=80=D0=BE=D1=82=D0=B8=D0=B2=D0=BE=D0=BF=D0=BE=D0=B6=D0=B0= =D1=80=D0=BD=D0=BE=D0=B9=20 =D0=B7=D0=B0=D1=89=D0=B8=D1=82=D0=BE=D0=B9 =D0=B8 =D0=B0=D1=83=D0=B4=D0=B8= =D1=82=D0=BE=D0=BC =D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE=D0=B9 =D0=B1= =D0=B5=D0=B7=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8.
 
=D0=92 =D1=80=D0=B0=D0=BC=D0=BA=D0=B0=D1=85 =D1=81=D0=B5=D0=BC=D0=B8= =D0=BD=D0=B0=D1=80=D0=B0 =D0=92=D1=8B =D1=82=D0=B0=D0=BA=D0=B6=D0=B5 =D1=81= =D0=BC=D0=BE=D0=B6=D0=B5=D1=82=D0=B5 =D0=BF=D1=80=D0=BE=D0=B9=D1=82=D0=B8= =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83 =D0=B7=D0=BD=D0=B0=D0=BD= =D0=B8=D0=B9 =D0=BF=D0=BE =D0=BA=D1=83=D1=80=D1=81=D1=83=20 "=D0=BF=D0=BE=D0=B6=D0=B0=D1=80=D0=BD=D0=BE-=D1=82=D0=B5=D1=85=D0=BD=D0=B8= =D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B9 =D0=BC=D0=B8=D0=BD=D0=B8=D0=BC=D1=83= =D0=BC".
 
=D0=94=D0=BB=D1=8F =D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1= =86=D0=B8=D0=B8 =D0=BD=D1=83=D0=B6=D0=BD=D0=BE =D1=83=D0=BA=D0=B0=D0=B7=D0= =B0=D1=82=D1=8C =D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0= =BD=D0=B8=D0=B5 =D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0= =B8=D0=B8 =D0=B8 =D0=BA=D0=BE=D0=BB-=D0=B2=D0=BE=20 =D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2.
=D0=9A=D0= =BE=D0=BD=D1=82=D0=B0=D0=BA=D1=82=D1=8B =D0=B4=D0=BB=D1=8F =D1=80=D0=B5=D0= =B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8 + =D0=BF=D1=80=D0=BE=D0= =B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0 =D0=BC=D0=B5=D1=80=D0=BE=D0=BF=D1=80=D0= =B8=D1=8F=D1=82=D0=B8=D1=8F - =D0=92=D0=9E=20 =D0=92=D0=9B=D0=9E=D0=96=D0=95=D0=9D=D0=98=D0=98.
------=_NextPart_001_0469_01CFF369.2ECE4760-- ------=_NextPart_000_0468_01CFF369.2ECE4760 Content-Type: application/octet-stream; name="=?utf-8?B?0LrQvtC90YLQsNC60YLRiyDQtNC70Y8g0YDQtdCz0LjR?= =?utf-8?B?gdGC0YDQsNGG0LjQuC5yYXI=?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?B?0LrQvtC90YLQsNC60YLRiyDQtNC70Y8g0YDQtdCz0LjR?= =?utf-8?B?gdGC0YDQsNGG0LjQuC5yYXI=?=" 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 4KPt0R/PiEQYDfb0MuWf+fTYn/xAxD17AEAHAA== ------=_NextPart_000_0468_01CFF369.2ECE4760-- From sandeen@sandeen.net Wed Oct 29 08:03: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 95D867F3F for ; Wed, 29 Oct 2014 08:03:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 42192AC007 for ; Wed, 29 Oct 2014 06:03:14 -0700 (PDT) X-ASG-Debug-ID: 1414587789-04bdf038cf502440001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id uWHHs1Uc83JAjPQs for ; Wed, 29 Oct 2014 06:03:09 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 0383F63C3E14; Wed, 29 Oct 2014 08:03:08 -0500 (CDT) Message-ID: <5450E58B.10106@sandeen.net> Date: Wed, 29 Oct 2014 08:03:07 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Spelic , xfs@oss.sgi.com Subject: Re: XFS shrinking planned? References: <544FC202.1000200@shiftmail.org> <544FD4C1.4020004@sandeen.net> <5450B560.6000208@shiftmail.org> X-ASG-Orig-Subj: Re: XFS shrinking planned? In-Reply-To: <5450B560.6000208@shiftmail.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414587789 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.11020 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/29/14 4:37 AM, Spelic wrote: > On 28/10/2014 18:39, Eric Sandeen wrote: >> Not formally planned, there are bits and pieces out there (i.e. the inode >> mover) which are part of what it might take to achieve a shrinker. >> >> Another option, rather than fs shrinking, is to use the dm-thinp target, which >> would allow you to allocate a large-but-sparse block device, create a very >> large filesystem on that, and add or remove storage as needed. >> (At least I think you can remove it...!) >> >> -Eric > > Thanks for your reply Eric > > Interesting technique, but for enforcing a maximum size (smaller than > the very large allocated thin device) I would have to rely on quotas, > which probably decreases performance. "probably" > Then using thinp would mess up > all the disk layout, basically replacing the XFS allocator, which > most likely would decrease performances significantly. "most likely" > And then the > thinp code itself is a medium performance thing and I don't think it > can keep up with XFS performances, so that would presumably be a hard > bottleneck. "presumably" > All this would result in a performance almost certainly > lower than ext4. "almost certainly..." All possibilities, but possibly also worth testing to find out. ;) It's true that today the thinp allocator will impact XFS allocation patterns to some degree. Anyway, shrink has been on the radar for years, it's just never really been a priority. It might happen some day... -Eric > Thanks > S. > From bfoster@redhat.com Wed Oct 29 11:37: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 3728B7F3F for ; Wed, 29 Oct 2014 11:37:17 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 083C1304032 for ; Wed, 29 Oct 2014 09:37:13 -0700 (PDT) X-ASG-Debug-ID: 1414600632-04bdf038cf50bc90001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id L6CajFQpiw3i4VH7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 09:37: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-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 s9TGb3Mk028545 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 12:37:04 -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 s9TGb2gT021604; Wed, 29 Oct 2014 12:37:03 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 9C00A1204CA; Wed, 29 Oct 2014 12:37:01 -0400 (EDT) Date: Wed, 29 Oct 2014 12:37:01 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates Message-ID: <20141029163701.GA14410@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v5] xfs: rework zero range to prevent invalid i_size updates References: <1413824781-10733-1-git-send-email-bfoster@redhat.com> <20141029002253.GE16186@dastard> <20141029012411.GF16186@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029012411.GF16186@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: 1414600632 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, Oct 29, 2014 at 12:24:11PM +1100, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 11:22:53AM +1100, Dave Chinner wrote: > > On Mon, Oct 20, 2014 at 01:06:21PM -0400, Brian Foster wrote: > > > The zero range operation is analogous to fallocate with the exception of > > > converting the range to zeroes. E.g., it attempts to allocate zeroed > > > blocks over the range specified by the caller. The XFS implementation > > > kills all delalloc blocks currently over the aligned range, converts the > > > range to allocated zero blocks (unwritten extents) and handles the > > > partial pages at the ends of the range by sending writes through the > > > pagecache. > > > > > > The current implementation suffers from several problems associated with > > > inode size. If the aligned range covers an extending I/O, said I/O is > > > discarded and an inode size update from a previous write never makes it > > > to disk. Further, if an unaligned zero range extends beyond eof, the > > > page write induced for the partial end page can itself increase the > > > inode size, even if the zero range request is not supposed to update > > > i_size (via KEEP_SIZE, similar to an fallocate beyond EOF). > > > > > > The latter behavior not only incorrectly increases the inode size, but > > > can lead to stray delalloc blocks on the inode. Typically, post-eof > > > preallocation blocks are either truncated on release or inode eviction > > > or explicitly written to by xfs_zero_eof() on natural file size > > > extension. If the inode size increases due to zero range, however, > > > associated blocks leak into the address space having never been > > > converted or mapped to pagecache pages. A direct I/O to such an > > > uncovered range cannot convert the extent via writeback and will BUG(). > > > For example: > > > > > > $ xfs_io -fc "pwrite 0 128k" -c "fzero -k 1m 54321" > > > ... > > > $ xfs_io -d -c "pread 128k 128k" > > > > > > > > > If the entire delalloc extent happens to not have page coverage > > > whatsoever (e.g., delalloc conversion couldn't find a large enough free > > > space extent), even a full file writeback won't convert what's left of > > > the extent and we'll assert on inode eviction. > > > > > > Rework xfs_zero_file_space() to avoid buffered I/O for partial pages. > > > Use the existing hole punch and prealloc mechanisms as primitives for > > > zero range. This implementation is not efficient nor ideal as we > > > writeback dirty data over the range and remove existing extents rather > > > than convert to unwrittern. The former writeback, however, is currently > > > the only mechanism available to ensure consistency between pagecache and > > > extent state. Even a pagecache truncate/delalloc punch prior to hole > > > punch has lead to inconsistencies due to racing with writeback. > > > > > > This provides a consistent, correct implementation of zero range that > > > survives fsstress/fsx testing without assert failures. The > > > implementation can be optimized from this point forward once the > > > fundamental issue of pagecache and delalloc extent state consistency is > > > addressed. > > > > > > Signed-off-by: Brian Foster > > > --- > > > > > > v5: > > > - Further simplify to eliminate delalloc block punch. > > > > This now causes xfs/053 to fail, probably because it changes the > > behaviour to actually write the file and hence change EOF. Can you > > please check that this is working correctly, and if so submit > > patches to change xfs/053 to expect the file size to change > > and contain the correct data? > > Hmm, it appears that I tested the wrong "old kernel" when checking > for regression. 3.18-rc2 also fails, so we need fixes for the > xfs/053 test, not this patch.... > It's not clear to me what you mean by fixes for the xfs/053 test... xfs/053 was intended to emphasize the partial writeback of an extent leading to stale data exposure problem. We had a chat a while ago about the possibility of stale data exposure after a crash at just the right time between delalloc extent conversion and writeback. That test was intended to expose that problem in sort of a hacky way by virtue of the partial writeback that might occur due to file allocation operations. Hole punch happens to expose this problem, fzero is now allocated via hole punch and thus exposes it as well. I think I called this out as a side effect in one of the previous versions of this patch. As far as xfs/053 goes, it just uses falloc operations to reproduce the stale data problem. Now that I think of it, I could look into using something like sync_file_range() to reproduce in xfs/053 instead. Either way, I would expect xfs/053 to fail as such until we address the general extent conversion/writeback problem. I sent the test at the time as I simply happened to come across it and wanted to make sure the test case wasn't lost (as opposed to it being any kind of regression test for fzero). Brian > -Dave. > -- > Dave Chinner > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From gartim@gmail.com Wed Oct 29 12:19: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CA4A27F3F for ; Wed, 29 Oct 2014 12:19:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id B840F8F8033 for ; Wed, 29 Oct 2014 10:19:37 -0700 (PDT) X-ASG-Debug-ID: 1414603176-04cb6c2ef94230a0001-NocioJ Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) by cuda.sgi.com with ESMTP id S7vHfNfNwoI6ZFkh (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 10:19:36 -0700 (PDT) X-Barracuda-Envelope-From: gartim@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 o8so2648843qcw.38 for ; Wed, 29 Oct 2014 10:19:36 -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:date:message-id:subject:from:to:cc:content-type; bh=4mH8Mi3MAQXPqNPXgnFYpuExCBxe3LpKJRIr+eLuqnM=; b=FsPTFYGYaZksYpKICT3xUaus+8k/wwz2aJ2IUY/7dd3YIgkYzqjaRrPU5KZRadl+Yk sQkp8Ioudw9+G74N7Dv5msw4ieHpqV/FmKG4YCfzBQ9K9795tPBXSHzffEgEGg/EIBY/ N37ZZuJpsdlC3i8xYI775B+KrvcTrs7LBtIcjXhWdDAec6fsHHk2d/E8mI5xBksFk6EM FbgB/nBsnsD3rHRcSuBYP6UHBnORS+frpZpK0uClCXwR5n1q4mY5zOyeSR52psunNKis hLqdiCex4QwxDZGr6f2YnP9dAmNWUOdt+/+yMCQGheXNXSssJczRtRA0anrzgOgjr0/2 TEsg== MIME-Version: 1.0 X-Received: by 10.140.31.9 with SMTP id e9mr17023847qge.4.1414603176021; Wed, 29 Oct 2014 10:19:36 -0700 (PDT) Received: by 10.96.79.193 with HTTP; Wed, 29 Oct 2014 10:19:35 -0700 (PDT) Date: Wed, 29 Oct 2014 10:19:35 -0700 Message-ID: Subject: xfs fs on lvm, failed drive. From: Gary Artim X-ASG-Orig-Subj: xfs fs on lvm, failed drive. To: xfs@oss.sgi.com Cc: Gary Artim Content-Type: multipart/alternative; boundary=001a113a9ab6ce1670050692f74a X-Barracuda-Connect: mail-qc0-f179.google.com[209.85.216.179] X-Barracuda-Start-Time: 1414603176 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.11026 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 --001a113a9ab6ce1670050692f74a Content-Type: text/plain; charset=ISO-8859-1 Hi...wondering if there is anyway I can salvage a directory on the lvm volume that is xfs? thanks of any help, assembled: parted /dev/sdx mklabel gpt mkpart primary xfs 1 -1 (sometime xfs doesnt work until the xfsprogs are installed and reboot) set 1 lvm on do this for each drive. pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 vgcreate backup /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 lvcreate -L 9T -n backuplv backup mkfs.xfs -L backuplv /dev/mapper/backup-backuplv /dev/mapper/backup-backuplv /xfs xfs (in fstab) failed drive: /dev/sdc1 --001a113a9ab6ce1670050692f74a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi...wondering if there is anyway I can sa= lvage a directory on the lvm volume that is xfs? thanks of any help, assemb= led:

parted /dev/sdx
mklabel gpt
mkpart primary xfs 1 -1 (some= time xfs doesnt work until the xfsprogs are installed and reboot)
set 1 = lvm on

do this for each drive.
pvcreate /dev/sdb1 /dev/sdc1 /dev/= sdd1 /dev/sde1
vgcreate backup /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1lvcreate -L 9T -n backuplv backup
mkfs.xfs -L backuplv /dev/mapper/bac= kup-backuplv
/dev/mapper/backup-backuplv /xfs xfs=A0=A0 (in fstab)
failed drive:
/dev/sdc1

--001a113a9ab6ce1670050692f74a-- From bfoster@redhat.com Wed Oct 29 12:35: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 832167F3F for ; Wed, 29 Oct 2014 12:35:52 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 62318304039 for ; Wed, 29 Oct 2014 10:35:49 -0700 (PDT) X-ASG-Debug-ID: 1414604147-04bdf038d250eea0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 7cfdkCeVeIencI5m (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 10:35:48 -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 s9THZk3K029062 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 29 Oct 2014 13:35:47 -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 s9TGcSTo015903 for ; Wed, 29 Oct 2014 12:38:28 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 3A5701204CA; Wed, 29 Oct 2014 12:38:27 -0400 (EDT) Date: Wed, 29 Oct 2014 12:38:27 -0400 From: Brian Foster To: xfs@oss.sgi.com Subject: Re: [PATCH 0/2] fix up indlen reservations on extent split Message-ID: <20141029163826.GB14410@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 0/2] fix up indlen reservations on extent split References: <1413323955-19976-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413323955-19976-1-git-send-email-bfoster@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: 1414604147 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 Tue, Oct 14, 2014 at 05:59:13PM -0400, Brian Foster wrote: > Hi all, > > Here's a couple patches to fix up the indirect block reservation > problem when splitting delalloc extents, described in more detail in the > patch 2 commit log. > > This runs through xfstests without any explosions and quiets down > generic/033 when used in combination with the zero range rework (current > for-next includes the writeback on zero range workaround that also > prevents generic/033 asserts). > > Brian > > v1: > - xfs_bunmapi() code into independent patch. > - Refactor fix into separate helper function. > rfc: http://oss.sgi.com/archives/xfs/2014-09/msg00337.html > ping? > Brian Foster (2): > xfs: update icsb freeblocks counter after extent deletion > xfs: borrow indirect blocks from freed extent when available > > fs/xfs/libxfs/xfs_bmap.c | 159 ++++++++++++++++++++++++++++++++++------------- > 1 file changed, 116 insertions(+), 43 deletions(-) > > -- > 1.8.3.1 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From stan@hardwarefreak.com Wed Oct 29 13:17: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 2125E7F3F for ; Wed, 29 Oct 2014 13:17:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id E632330404E for ; Wed, 29 Oct 2014 11:17:39 -0700 (PDT) X-ASG-Debug-ID: 1414606658-04bdf038d05110e0001-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 1E5Ei6h7vZ82JXGe for ; Wed, 29 Oct 2014 11:17: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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 1C8856C115; Wed, 29 Oct 2014 13:17:38 -0500 (CDT) Message-ID: <54512F62.2080303@hardwarefreak.com> Date: Wed, 29 Oct 2014 13:18:10 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Gary Artim , xfs@oss.sgi.com Subject: Re: xfs fs on lvm, failed drive. References: X-ASG-Orig-Subj: Re: xfs fs on lvm, failed drive. 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: 1414606658 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 10/29/2014 12:19 PM, Gary Artim wrote: > Hi...wondering if there is anyway I can salvage a directory on the lvm > volume that is xfs? thanks of any help, assembled: > > parted /dev/sdx > mklabel gpt > mkpart primary xfs 1 -1 (sometime xfs doesnt work until the xfsprogs are > installed and reboot) > set 1 lvm on > > do this for each drive. > pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 > vgcreate backup /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 > lvcreate -L 9T -n backuplv backup > mkfs.xfs -L backuplv /dev/mapper/backup-backuplv > /dev/mapper/backup-backuplv /xfs xfs (in fstab) > > failed drive: > /dev/sdc1 You've created an XFS filesystem atop a concatenation of non-redundant drives so this condition should not be unexpected. It's not a directory you want to salvage, but the files within it. If they reside on sdc1 you're out of luck without using data recovery tools. If they reside on sdb1, sdd1, or sde1, then running xfs_repair might make the FS mountable and get you access to them again. That's assuming LVM is still running with one drive gone, or will still assemble the concatenation with one drive missing. I don't use LVM. Cheers, Stan From bvowk@box.com Wed Oct 29 13:23: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=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 3150E7F3F for ; Wed, 29 Oct 2014 13:23:09 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1655A8F8035 for ; Wed, 29 Oct 2014 11:23:09 -0700 (PDT) X-ASG-Debug-ID: 1414606987-04cbb070c846a4f0001-NocioJ Received: from mail-qc0-f174.google.com (mail-qc0-f174.google.com [209.85.216.174]) by cuda.sgi.com with ESMTP id ppFCcfGUzg1CfACI (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 11:23:07 -0700 (PDT) X-Barracuda-Envelope-From: bvowk@box.com X-Barracuda-Apparent-Source-IP: 209.85.216.174 Received: by mail-qc0-f174.google.com with SMTP id r5so2826388qcx.19 for ; Wed, 29 Oct 2014 11:23:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=box.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=9pxx0UHPJvs3La8rSpBJbW5AViaK+QbLBw/SxAmBJBY=; b=XVF/wezqF/Cbv9gnXJrBh9jsDhlvj6iHBoGVinezswvdysx+f8TMo71d/PkQRfBFAi aEnFUrwJD1/NuvazYN1twOSvzf30zCu7u21z0ddWq4QP+ttdP7I3ElBxTnNR2ZTRgydU ucDVJ+P8fgRDTlV/89LfWQl+IPUrN8+1gcTsM= 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=9pxx0UHPJvs3La8rSpBJbW5AViaK+QbLBw/SxAmBJBY=; b=GLKTNb7HJeC1sh5Zi2YXrxNdqSTAVM24e+UdZQ1Feibk4I0MDmJXCmZHlUUfJTVOBl JZzxQLTgPKKj3zH7A3PQsHmeiQ7gDZGtantnIba/4LyWGppx8I1grc2BxKUQ+oAD+Y2K iwgnepwc6g9KLKMwKt7g5VUQPoKv0EgvxHC2oCSdcaFSWcWwF9wVvXYvt6z4PRg8gyEs 77NufiXmCOXwedBSSD1wvvoTpoky3Ar7ih8OTsoUYut3cFsyXzj5ZrCEPu/tm1QPUW5W iztOOxur+wHzRqWorryV48NXL0QjbAzNrG/laRUPExfLDsR7MsRb6U+HNDN1uxllz2rr WABw== X-Gm-Message-State: ALoCoQn85NwpUIpdprBi5AJXZoy4Vx4sVx/hQzjBcKXGjKE+i6ItEiVmVakochI4LU1I8l0vOawY MIME-Version: 1.0 X-Received: by 10.140.83.203 with SMTP id j69mr17629729qgd.89.1414606987030; Wed, 29 Oct 2014 11:23:07 -0700 (PDT) Received: by 10.229.134.140 with HTTP; Wed, 29 Oct 2014 11:23:06 -0700 (PDT) In-Reply-To: <1414552144-12627-1-git-send-email-david@fromorbit.com> References: <1414552144-12627-1-git-send-email-david@fromorbit.com> Date: Wed, 29 Oct 2014 11:23:06 -0700 Message-ID: Subject: Re: [PATCH 0/2] repair: fix AGFL rebuild problem From: Barkley Vowk X-ASG-Orig-Subj: Re: [PATCH 0/2] repair: fix AGFL rebuild problem To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11c11ed8f58bb8050693da48 X-Barracuda-Connect: mail-qc0-f174.google.com[209.85.216.174] X-Barracuda-Start-Time: 1414606987 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11028 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 --001a11c11ed8f58bb8050693da48 Content-Type: text/plain; charset=UTF-8 These patches fixed my issue. Thanks. On Tue, Oct 28, 2014 at 8:09 PM, Dave Chinner wrote: > Hi folks, > > The following two patches fix a repair rebuild issue that was > reported to me. xfs_repair would appear to succeed, but subsequent > runs would report a freespace mismatch and then on mount trigger > a corruption error on the first allocation from AG 0. > > The problem as that the AGFL was not being correctly rebuilt due to > a very particular freespace pattern in AG 0 which required free > blocks in the AGFL to populate an empty AGFL. reapir silently > ignored this error, so it triggered allocation corruption errors > when the same AGFL fixup attempt failed on a mounted filesystem. > > The fix is relatively straight forward, as is the fixes to the > tracing code that I had to make before i could track down the issue. > > -Dave. > > --001a11c11ed8f58bb8050693da48 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
These patches fixed my issue.=C2=A0

Tha= nks.=C2=A0

On Tue, Oct 28, 2014 at 8:09 PM, Dave Chinner <david@fromorbit.com<= /a>> wrote:
Hi folks,

The following two patches fix a repair rebuild issue that was
reported to me. xfs_repair would appear to succeed, but subsequent
runs would report a freespace mismatch and then on mount trigger
a corruption error on the first allocation from AG 0.

The problem as that the AGFL was not being correctly rebuilt due to
a very particular freespace pattern in AG 0 which required free
blocks in the AGFL to populate an empty AGFL. reapir silently
ignored this error, so it triggered allocation corruption errors
when the same AGFL fixup attempt failed on a mounted filesystem.

The fix is relatively straight forward, as is the fixes to the
tracing code that I had to make before i could track down the issue.

-Dave.


--001a11c11ed8f58bb8050693da48-- From bfoster@redhat.com Wed Oct 29 13:37: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 4F8CC7F3F for ; Wed, 29 Oct 2014 13:37:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3C5C5304032 for ; Wed, 29 Oct 2014 11:37:30 -0700 (PDT) X-ASG-Debug-ID: 1414607848-04cb6c2efb4271a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 4yAoVZ6SKUME1G8j (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 11:37:29 -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 s9TIbPsI021059 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 14:37:25 -0400 Received: from bfoster.laptop (vpn-59-62.rdu2.redhat.com [10.10.59.62]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9TIbMOn028129 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Wed, 29 Oct 2014 14:37:24 -0400 Date: Wed, 29 Oct 2014 14:37:22 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss , Stan Hoeppner Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size Message-ID: <20141029183721.GA4226@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544FD3E1.1060000@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: 1414607849 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 Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: > Today, this geometry: > > # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 > # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd > 512 > 512 > 512 > 1048576 > > will result in a warning at mkfs time, like this: > > # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd > mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 > > because our geometry discovery thinks it looks like a > valid striping setup which the commandline is overriding. > However, a stripe unit of 512 really isn't indicative of > a proper stripe geometry. > So the assumption is that the storage reports a non-physical block size for minimum and optimal I/O sizes for geometry detection. There was a real world scenario of this, right? Any idea of the configuration details (e.g., raid layout) that resulted in an increased optimal I/O size but not minimum I/O size? This seems reasonable to me and the code looks fine, save a trailing whitespace instance below. I'm just curious if there are any weird corner cases where there's value in the reported optimal I/O size or the real world situation was just noise. > Prior to this patch, we reset only sunit *or* swidth, > if either was equal to physical block size, but not > necessarily both. > > Change the heuristic so that if either the discovered > sunit or the discovered swidth is physical block size, > we reset *both* to zero and ignore the geom completely. > > While we're at it, don't pass &dummy in for multiple > arguments to blkid_get_topology(); that'll mean that > inside the function, the last assignment wins, and could > lead to unexpected results. > > Reported-by: Stan Hoeppner > Signed-off-by: Eric Sandeen > --- > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index 4546e35..a0fed31 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -410,21 +410,27 @@ static void blkid_get_topology( > *lsectorsize = val; > val = blkid_topology_get_physical_sector_size(tp); > *psectorsize = val; > + val = blkid_topology_get_minimum_io_size(tp); > + *sunit = val; > + val = blkid_topology_get_optimal_io_size(tp); > + *swidth = val; > > /* > - * Blkid reports the information in terms of bytes, but we want it in > - * terms of 512 bytes blocks (just to convert it to bytes later..) > - * > * If the reported values are the same as the physical sector size > - * do not bother to report anything. It will just cause warnings > + * do not bother to report anything. It will only cause warnings > * if people specify larger stripe units or widths manually. > */ > - val = blkid_topology_get_minimum_io_size(tp); > - if (val > *psectorsize) > - *sunit = val >> 9; > - val = blkid_topology_get_optimal_io_size(tp); > - if (val > *psectorsize) > - *swidth = val >> 9; > + if (*sunit == *psectorsize || *swidth == *psectorsize) { > + *sunit = 0; > + *swidth = 0; > + } > + > + /* > + * Blkid reports the information in terms of bytes, but we want it in > + * terms of 512 bytes blocks (only to convert it to bytes later..) > + */ > + *sunit = *sunit >> 9; > + *swidth = *swidth >> 9; Trailing whitespace here. Brian > > if (blkid_topology_get_alignment_offset(tp) != 0) { > fprintf(stderr, > @@ -484,10 +490,10 @@ static void get_topology( > } > > if (xi->rtname && !xi->risfile) { > - int dummy; > + int sunit, lsectorsize, psectorsize; > > - blkid_get_topology(xi->rtname, &dummy, &ft->rtswidth, > - &dummy, &dummy, force_overwrite); > + blkid_get_topology(xi->rtname, &sunit, &ft->rtswidth, > + &lsectorsize, &psectorsize, force_overwrite); > } > } > #else /* ENABLE_BLKID */ > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Wed Oct 29 13:38: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 E95437F3F for ; Wed, 29 Oct 2014 13:38:48 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A141D8F804C for ; Wed, 29 Oct 2014 11:38:48 -0700 (PDT) X-ASG-Debug-ID: 1414607927-04bdf038cf512570001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Hwq4MhKT20khJYJv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 11:38:47 -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 s9TIckGp002000 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 14:38:46 -0400 Received: from bfoster.laptop (vpn-59-62.rdu2.redhat.com [10.10.59.62]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9TIcgQi028922 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Wed, 29 Oct 2014 14:38:45 -0400 Date: Wed, 29 Oct 2014 14:38:42 -0400 From: Brian Foster To: Eric Sandeen Cc: Eric Sandeen , xfs-oss , Stan Hoeppner Subject: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered Message-ID: <20141029183841.GB4226@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered References: <544FD3E1.1060000@redhat.com> <544FD47D.8020409@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <544FD47D.8020409@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: 1414607927 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 Tue, Oct 28, 2014 at 12:38:05PM -0500, Eric Sandeen wrote: > Today, users doing a bare mkfs on storage with a large default > stripe size may be surprised to get this warning: > > log stripe unit (%d bytes) is too large (maximum is 256KiB > log stripe unit adjusted to 32KiB > > through no fault of their own. The fallback is appropriate > and harmless, and there's no need to warn about this in the > defaults case. > > However, we keep the warning if a large log stripe unit was > specified by the user on the commandline. > > Signed-off-by: Eric Sandeen > --- > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index a0fed31..66711cb 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -946,6 +946,8 @@ main( > int logversion; > int lvflag; > int lsflag; > + int lsuflag; > + int lsunitflag; > int lsectorlog; > int lsectorsize; > int lslflag; > @@ -1004,7 +1006,7 @@ main( > sectorsize = lsectorsize = XFS_MIN_SECTORSIZE; > agsize = daflag = dasize = dblocks = 0; > ilflag = imflag = ipflag = isflag = 0; > - liflag = laflag = lsflag = ldflag = lvflag = 0; > + liflag = laflag = lsflag = lsuflag = lsunitflag = ldflag = lvflag = 0; > loginternal = 1; > logversion = 2; > logagno = logblocks = rtblocks = rtextblocks = 0; > @@ -1400,6 +1402,7 @@ main( > respec('l', lopts, L_SU); > lsu = cvtnum( > blocksize, sectorsize, value); > + lsuflag = 1; > break; > case L_SUNIT: > if (!value || *value == '\0') > @@ -1412,6 +1415,7 @@ main( > usage(); > } > lsunit = cvtnum(0, 0, value); > + lsunitflag = 1; > break; > case L_NAME: > case L_DEV: > @@ -2379,11 +2383,15 @@ an AG size that is one stripe unit smaller, for example %llu.\n"), > } > > if (logversion == 2 && (lsunit * blocksize) > 256 * 1024) { > - fprintf(stderr, > + /* Warn only if specified on commandline */ > + if (lsuflag || lsunitflag) { > + fprintf(stderr, > _("log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"), > - (lsunit * blocksize)); > + (lsunit * blocksize)); > + fprintf(stderr, > + _("log stripe unit adjusted to 32KiB\n")); > + } Right above this particular hunk we have the possibility of lsunit inheriting a value from dsunit. If the latter is specified by the user, we don't print the message for an arguably user-specified lsunit. Hmm, do we care about that case? Brian > lsunit = (32 * 1024) >> blocklog; > - fprintf(stderr, _("log stripe unit adjusted to 32KiB\n")); > } > > min_logblocks = max_trans_res(crcs_enabled, dirversion, > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Wed Oct 29 13:45: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 4381F7F3F for ; Wed, 29 Oct 2014 13:45:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 20C268F8037 for ; Wed, 29 Oct 2014 11:45:43 -0700 (PDT) X-ASG-Debug-ID: 1414608341-04bdf038d1512ae0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id jFDZ85bAthhNmGtG for ; Wed, 29 Oct 2014 11:45:42 -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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 401B365CF279; Wed, 29 Oct 2014 13:45:41 -0500 (CDT) Message-ID: <545135D4.6010908@sandeen.net> Date: Wed, 29 Oct 2014 13:45:40 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Brian Foster CC: Eric Sandeen , Stan Hoeppner , xfs-oss Subject: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered References: <544FD3E1.1060000@redhat.com> <544FD47D.8020409@sandeen.net> <20141029183841.GB4226@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered In-Reply-To: <20141029183841.GB4226@bfoster.laptop> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414608341 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.11028 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/29/14 1:38 PM, Brian Foster wrote: > On Tue, Oct 28, 2014 at 12:38:05PM -0500, Eric Sandeen wrote: >> Today, users doing a bare mkfs on storage with a large default >> stripe size may be surprised to get this warning: >> >> log stripe unit (%d bytes) is too large (maximum is 256KiB >> log stripe unit adjusted to 32KiB >> >> through no fault of their own. The fallback is appropriate >> and harmless, and there's no need to warn about this in the >> defaults case. >> >> However, we keep the warning if a large log stripe unit was >> specified by the user on the commandline. >> >> Signed-off-by: Eric Sandeen >> --- ... >> @@ -2379,11 +2383,15 @@ an AG size that is one stripe unit smaller, for example %llu.\n"), >> } >> >> if (logversion == 2 && (lsunit * blocksize) > 256 * 1024) { >> - fprintf(stderr, >> + /* Warn only if specified on commandline */ >> + if (lsuflag || lsunitflag) { >> + fprintf(stderr, >> _("log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"), >> - (lsunit * blocksize)); >> + (lsunit * blocksize)); >> + fprintf(stderr, >> + _("log stripe unit adjusted to 32KiB\n")); >> + } > > Right above this particular hunk we have the possibility of lsunit > inheriting a value from dsunit. If the latter is specified by the user, > we don't print the message for an arguably user-specified lsunit. Hmm, > do we care about that case? I don't think we do care. I think we only care if the user manually specified a log stripe unit and we're changing what they asked for. I'd put "inheritance" in the "using default behaviors" case, and not warn about it. -Eric From sandeen@sandeen.net Wed Oct 29 13:47: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 0860D7F47 for ; Wed, 29 Oct 2014 13:47:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9A96AAC001 for ; Wed, 29 Oct 2014 11:47:26 -0700 (PDT) X-ASG-Debug-ID: 1414608437-04cb6c2efc4278b0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id HqCg6RsLWpYG97L7 for ; Wed, 29 Oct 2014 11:47: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id DED5E65CF279; Wed, 29 Oct 2014 13:47:17 -0500 (CDT) Message-ID: <54513635.7050703@sandeen.net> Date: Wed, 29 Oct 2014 13:47:17 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Brian Foster , Eric Sandeen CC: Stan Hoeppner , xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size In-Reply-To: <20141029183721.GA4226@bfoster.laptop> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414608437 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.11029 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/29/14 1:37 PM, Brian Foster wrote: > On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: >> Today, this geometry: >> >> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 >> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd >> 512 >> 512 >> 512 >> 1048576 >> >> will result in a warning at mkfs time, like this: >> >> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd >> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 >> >> because our geometry discovery thinks it looks like a >> valid striping setup which the commandline is overriding. >> However, a stripe unit of 512 really isn't indicative of >> a proper stripe geometry. >> > > So the assumption is that the storage reports a non-physical block size > for minimum and optimal I/O sizes for geometry detection. There was a > real world scenario of this, right? Any idea of the configuration > details (e.g., raid layout) that resulted in an increased optimal I/O > size but not minimum I/O size? Stan? :) > This seems reasonable to me and the code looks fine, save a trailing > whitespace instance below. Doh! >:( ;) thanks. > I'm just curious if there are any weird > corner cases where there's value in the reported optimal I/O size or the > real world situation was just noise. yeah, hard to know - How *would* you use it? -Eric From gartim@gmail.com Wed Oct 29 13:54: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E53177F4E for ; Wed, 29 Oct 2014 13:54:27 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D0F028F8037 for ; Wed, 29 Oct 2014 11:54:27 -0700 (PDT) X-ASG-Debug-ID: 1414608866-04cbb070c546bd70001-NocioJ Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by cuda.sgi.com with ESMTP id UfxXeTrFb1WIrnMX (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 29 Oct 2014 11:54:26 -0700 (PDT) X-Barracuda-Envelope-From: gartim@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.42 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.42] Received: by mail-qg0-f42.google.com with SMTP id i50so1844770qgf.15 for ; Wed, 29 Oct 2014 11:54:26 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.42] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.42] 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=kQHeSPfyvoT5o+sZKIL969O2cPvZUDxS2Eycu/Mk8F4=; b=pdo8Nmp+bzBGM0aaUol/I6jSt8xDLk0v5zdqPrw1HShLDjy43qvPj9PeLaM6O96JZn NYSero2ydy3lK4AeGb91Xa9eHlF6YDQBuCGhvgSMvwmYMh/RnoCukZZzFQbUmO7vxT4Q pN7WleGFSNJvaWqTyau2NG162FyX/0N6exbJjyo1sTtvAadnf3MRnYp+eagf6g9dcyjH d1HLtLQpPjtCoZvEnfXIZ87ulnc8bM7OjIKMyOlUBv+5e3ewf9APvftvHesGBTnSiPCy IYjshACDtyYyFdUQ+sUXZyom/6QJiAJrTa6B8C9FPpq5xxOsn8Vzbs1l5ybs6AjMMLlH pKXg== MIME-Version: 1.0 X-Received: by 10.140.18.204 with SMTP id 70mr17457605qgf.74.1414608866335; Wed, 29 Oct 2014 11:54:26 -0700 (PDT) Received: by 10.96.79.193 with HTTP; Wed, 29 Oct 2014 11:54:26 -0700 (PDT) In-Reply-To: <54512F62.2080303@hardwarefreak.com> References: <54512F62.2080303@hardwarefreak.com> Date: Wed, 29 Oct 2014 11:54:26 -0700 Message-ID: Subject: Re: xfs fs on lvm, failed drive. From: Gary Artim X-ASG-Orig-Subj: Re: xfs fs on lvm, failed drive. To: Stan Hoeppner Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11355afef966ed0506944a7e X-Barracuda-Connect: mail-qg0-f42.google.com[209.85.192.42] X-Barracuda-Start-Time: 1414608866 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11029 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 --001a11355afef966ed0506944a7e Content-Type: text/plain; charset=ISO-8859-1 will try running xfs_repair...been trouble using lvm. thanks! On Wed, Oct 29, 2014 at 11:18 AM, Stan Hoeppner wrote: > On 10/29/2014 12:19 PM, Gary Artim wrote: > > Hi...wondering if there is anyway I can salvage a directory on the lvm > > volume that is xfs? thanks of any help, assembled: > > > > parted /dev/sdx > > mklabel gpt > > mkpart primary xfs 1 -1 (sometime xfs doesnt work until the xfsprogs are > > installed and reboot) > > set 1 lvm on > > > > do this for each drive. > > pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 > > vgcreate backup /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 > > lvcreate -L 9T -n backuplv backup > > mkfs.xfs -L backuplv /dev/mapper/backup-backuplv > > /dev/mapper/backup-backuplv /xfs xfs (in fstab) > > > > failed drive: > > /dev/sdc1 > > You've created an XFS filesystem atop a concatenation of non-redundant > drives so this condition should not be unexpected. It's not a directory > you want to salvage, but the files within it. If they reside on sdc1 > you're out of luck without using data recovery tools. If they reside on > sdb1, sdd1, or sde1, then running xfs_repair might make the FS mountable > and get you access to them again. > > That's assuming LVM is still running with one drive gone, or will still > assemble the concatenation with one drive missing. I don't use LVM. > > Cheers, > Stan > --001a11355afef966ed0506944a7e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
will try running xfs_repair...been troubl= e using lvm. thanks!

On Wed, Oct 29, 2014 at 11:18 AM, Stan Hoeppner <s= tan@hardwarefreak.com> wrote:
On 10/29/2014 12:19 PM, Gary Art= im wrote:
> Hi...wondering if there is anyway I can salvage a directory on the lvm=
> volume that is xfs? thanks of any help, assembled:
>
> parted /dev/sdx
> mklabel gpt
> mkpart primary xfs 1 -1 (sometime xfs doesnt work until the xfsprogs a= re
> installed and reboot)
> set 1 lvm on
>
> do this for each drive.
> pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
> vgcreate backup /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
> lvcreate -L 9T -n backuplv backup
> mkfs.xfs -L backuplv /dev/mapper/backup-backuplv
> /dev/mapper/backup-backuplv /xfs xfs=A0 =A0(in fstab)
>
> failed drive:
> /dev/sdc1

You've created an XFS filesystem atop a concatenation of no= n-redundant
drives so this condition should not be unexpected.=A0 It's not a direct= ory
you want to salvage, but the files within it.=A0 If they reside on sdc1
you're out of luck without using data recovery tools.=A0 If they reside= on
sdb1, sdd1, or sde1, then running xfs_repair might make the FS mountable and get you access to them again.

That's assuming LVM is still running with one drive gone, or will still=
assemble the concatenation with one drive missing.=A0 I don't use LVM.<= br>
Cheers,
Stan

--001a11355afef966ed0506944a7e-- From bfoster@redhat.com Wed Oct 29 14: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DDB737F3F for ; Wed, 29 Oct 2014 14:25:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5E3F9AC005 for ; Wed, 29 Oct 2014 12:25:05 -0700 (PDT) X-ASG-Debug-ID: 1414610703-04cb6c2efa4294a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 383gOTCsb6HqKX4d (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 12:25: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-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 s9TJOwm3016512 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 15:24:58 -0400 Received: from bfoster.laptop (vpn-58-217.rdu2.redhat.com [10.10.58.217]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9TJOsO6015781 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Wed, 29 Oct 2014 15:24:57 -0400 Date: Wed, 29 Oct 2014 15:24:53 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com, bvowk@box.com Subject: Re: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors Message-ID: <20141029192453.GA2084@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: fix XR_BLD_FREE_TRACE compilation errors References: <1414552144-12627-1-git-send-email-david@fromorbit.com> <1414552144-12627-2-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1414552144-12627-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.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1414610703 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 Wed, Oct 29, 2014 at 02:09:03PM +1100, Dave Chinner wrote: > From: Dave Chinner > > Obviously hasn't been used for quite some time, so fix the > build problems and make it useful again. > > Signed-off-by: Dave Chinner > --- Reviewed-by: Brian Foster > repair/phase5.c | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/repair/phase5.c b/repair/phase5.c > index e82eeb7..d6d3c6d 100644 > --- a/repair/phase5.c > +++ b/repair/phase5.c > @@ -362,10 +362,6 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > extent_tree_node_t *ext_ptr; > int level; > #ifdef XR_BLD_FREE_TRACE > - int old_state; > - int state = XR_E_BAD_STATE; > -#endif > -#ifdef XR_BLD_FREE_TRACE > fprintf(stderr, > "in init_freespace_cursor, agno = %d\n", agno); > #endif > @@ -1292,8 +1288,8 @@ build_agf_agfl(xfs_mount_t *mp, > memset(agf, 0, mp->m_sb.sb_sectsize); > > #ifdef XR_BLD_FREE_TRACE > - fprintf(stderr, "agf = 0x%x, agf_buf->b_un.b_addr = 0x%x\n", > - (__psint_t) agf, (__psint_t) agf_buf->b_un.b_addr); > + fprintf(stderr, "agf = 0x%p, agf_buf->b_addr = 0x%p\n", > + agf, agf_buf->b_addr); > #endif > > /* > @@ -1452,7 +1448,7 @@ build_agf_agfl(xfs_mount_t *mp, > } > > #ifdef XR_BLD_FREE_TRACE > - fprintf(stderr, "wrote agf for ag %u, error = %d\n", agno, error); > + fprintf(stderr, "wrote agf for ag %u\n", agno); > #endif > } > > @@ -1707,11 +1703,10 @@ phase5(xfs_mount_t *mp) > #ifdef XR_BLD_FREE_TRACE > fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n", > xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0), > - xfs_inobt_maxrecs(mp->m_sb.sb_blocksize, 0) / 2 > - ); > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2); > fprintf(stderr, "inobt level 0 (leaf), maxrec = %d, minrec = %d\n", > - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1), > - xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, xfs_inobt, 1) / 2); > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1), > + xfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2); > fprintf(stderr, "xr inobt level 0 (leaf), maxrec = %d\n", > XR_INOBT_BLOCK_MAXRECS(mp, 0)); > fprintf(stderr, "xr inobt level 1 (int), maxrec = %d\n", > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Wed Oct 29 14:26: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 607E57F3F for ; Wed, 29 Oct 2014 14:26:21 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1C3AAC007 for ; Wed, 29 Oct 2014 12:26:20 -0700 (PDT) X-ASG-Debug-ID: 1414610778-04cbb070c646d4f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ErlwFQeAXD3BWERd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 12:26: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-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 s9TJQEXY016838 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 15:26:15 -0400 Received: from bfoster.laptop (vpn-58-217.rdu2.redhat.com [10.10.58.217]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9TJQAml012980 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Wed, 29 Oct 2014 15:26:13 -0400 Date: Wed, 29 Oct 2014 15:26:10 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com, bvowk@box.com Subject: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required Message-ID: <20141029192609.GB2084@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required References: <1414552144-12627-1-git-send-email-david@fromorbit.com> <1414552144-12627-3-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1414552144-12627-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.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1414610779 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, Oct 29, 2014 at 02:09:04PM +1100, Dave Chinner wrote: > From: Dave Chinner > > In phase 5 we rebuild the freelist btrees, the AGF and the AGFL from > all the free space information we have gathered and resolved during > pahses 3 and 4. If the freespace information is laid out just right, > we end up having to allocate free space for the AGFL blocks. > > If the size of the free space we allocate from is larger than the > space we need, then we have to insert the remainder back into the > freespace btree. For the by-size tree, this means we are likely to > be removing a record from one leaf, and then inserting the remainder > - a smaller size - into another leaf. > > The issue is that the leaf blocks to the left of the original leaf > block we removed the extent record from are full and hence require a > split to insert the new record. That, of course, requires a free > block in the AGFL to allocate from, and now we have a chicken and > egg situation: there are no free blocks in the AGFL because we are > setting it up. > > As a result, setting up the free list silently fails, leaving the > freespace btrees in an inconsistent state and the AGFL in question > empty. When the filesystem is next mounted, the first allocation > from that AGF results in attempting to fix the AGFL, and it then > does exactly the same thing as the repair code, fails to allocate a > block during the split and fails. This results in an immediate > shutdown because the transaction doing the allocation is dirty by > this stage. > > The fix for the problem is to make repair handle rebulding the btree > differently. If we leave ispace for a couple of records in each > btree leaf and node, there is never a need for a split to occur when > initially setting up the AGFL. This results in repair doing the > right thing, and hence the runtime problems after mount don't occur. > Further, add error checking the the AGFL setup code and abort repair > if we have a failure to correctly set up the AGFL so we catch this > problem at repair time, not mount time... > Interesting problem, thanks for the breakdown. I suppose the only interesting side effect is that the alloc btrees might require a bit more space after repair than before. I wonder if we need to take that into consideration here for certain cases. E.g., does this have ramifications for running repair on a clean, but completely full fs, or should that be generally handled by the existence of reserved blocks? A couple minor nits below... > Reported-by: Barkley Vowk > Signed-off-by: Dave Chinner > --- > repair/phase5.c | 44 +++++++++++++++++++++++++++++++++++--------- > 1 file changed, 35 insertions(+), 9 deletions(-) > > diff --git a/repair/phase5.c b/repair/phase5.c > index d6d3c6d..3d58936 100644 > --- a/repair/phase5.c > +++ b/repair/phase5.c > @@ -335,11 +335,22 @@ finish_cursor(bt_status_t *curs) > } > > /* > + * We need to leave some free records in the tree for the corner case of > + * setting up the AGFL. This may require allocation of blocks, and as > + * such can require insertion of new records into the tree (e.g. moving > + * a record in the by-count tree when a long extent is shortened). If we > + * pack the records into the leaves with no slack space, this requires a > + * leaf split to occur and a block to be allocated from the free list. > + * If we don't have any blocks on the free list (because we are setting > + * it up!), then we fail, and the filesystem will fail with the same > + * failure at runtime. Hence leave a couple of records slack space in > + * each block to allow immediate modification of the tree without > + * requiring splits to be done. > + * > * XXX(hch): any reason we don't just look at mp->m_alloc_mxr? I guess we could kill this comment now. ;) > */ > #define XR_ALLOC_BLOCK_MAXRECS(mp, level) \ > - xfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, \ > - (level) == 0) > + (xfs_allocbt_maxrecs((mp), (mp)->m_sb.sb_blocksize, (level) == 0) - 2) > > /* > * this calculates a freespace cursor for an ag. > @@ -361,10 +372,6 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > bt_stat_level_t *p_lptr; > extent_tree_node_t *ext_ptr; > int level; > -#ifdef XR_BLD_FREE_TRACE > - fprintf(stderr, > - "in init_freespace_cursor, agno = %d\n", agno); > -#endif > > num_extents = *extents; > extents_used = 0; > @@ -385,6 +392,13 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > lptr->num_recs_tot = num_extents; > level = 1; > > +#ifdef XR_BLD_FREE_TRACE > + fprintf(stderr, "%s 0 %d %d %d %d\n", __func__, What's the 0 for? Brian > + lptr->num_blocks, > + lptr->num_recs_pb, > + lptr->modulo, > + lptr->num_recs_tot); > +#endif > /* > * if we need more levels, set them up. # of records > * per level is the # of blocks in the level below it > @@ -402,6 +416,14 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > lptr->num_recs_pb = p_lptr->num_blocks > / lptr->num_blocks; > lptr->num_recs_tot = p_lptr->num_blocks; > +#ifdef XR_BLD_FREE_TRACE > + fprintf(stderr, "%s %d %d %d %d %d\n", __func__, > + level, > + lptr->num_blocks, > + lptr->num_recs_pb, > + lptr->modulo, > + lptr->num_recs_tot); > +#endif > } > } > > @@ -546,8 +568,7 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > lptr = &btree_curs->level[level]; > p_lptr = &btree_curs->level[level-1]; > lptr->num_blocks = howmany(p_lptr->num_blocks, > - XR_ALLOC_BLOCK_MAXRECS(mp, > - level)); > + XR_ALLOC_BLOCK_MAXRECS(mp, level)); > lptr->modulo = p_lptr->num_blocks > % lptr->num_blocks; > lptr->num_recs_pb = p_lptr->num_blocks > @@ -1434,6 +1455,7 @@ build_agf_agfl(xfs_mount_t *mp, > xfs_alloc_arg_t args; > xfs_trans_t *tp; > struct xfs_trans_res tres = {0}; > + int error; > > memset(&args, 0, sizeof(args)); > args.tp = tp = libxfs_trans_alloc(mp, 0); > @@ -1442,8 +1464,12 @@ build_agf_agfl(xfs_mount_t *mp, > args.alignment = 1; > args.pag = xfs_perag_get(mp,agno); > libxfs_trans_reserve(tp, &tres, XFS_MIN_FREELIST(agf, mp), 0); > - libxfs_alloc_fix_freelist(&args, 0); > + error = libxfs_alloc_fix_freelist(&args, 0); > xfs_perag_put(args.pag); > + if (error) { > + do_error(_("failed to fix AGFL on AG %d, error %d\n"), > + agno, error); > + } > libxfs_trans_commit(tp, 0); > } > > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From david@fromorbit.com Wed Oct 29 14:50: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D8FB37F3F for ; Wed, 29 Oct 2014 14:50:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B7DCA8F804C for ; Wed, 29 Oct 2014 12:50:12 -0700 (PDT) X-ASG-Debug-ID: 1414612209-04cbb070c546e560001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id OSo8Eh1o5FTB7gNo for ; Wed, 29 Oct 2014 12:50:10 -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: Am84AM1DUVR5LbBUPGdsb2JhbABcgw6BLII2hQeyZgEBAQEBAQaVU4VnAwQCAoEdFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQMgtAQEIAgEfGIYehnKDaAeDLYEeAQSPbo17mk0pL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Oct 2014 06:20:09 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjZFu-000711-Rs; Thu, 30 Oct 2014 06:50:06 +1100 Date: Thu, 30 Oct 2014 06:50:06 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029195006.GD13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> <20141029103355.GI16186@dastard> <20141029104304.GC13323@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: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1414612210 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.11030 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 08:32:52PM +0800, Tommy Wu wrote: > Does it just fix the hang issue or fix the dump corrupted issue? The hang. -Dave. -- Dave Chinner david@fromorbit.com From bfoster@redhat.com Wed Oct 29 14: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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 6F1977F3F for ; Wed, 29 Oct 2014 14:57:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id EC9A2AC001 for ; Wed, 29 Oct 2014 12:57:44 -0700 (PDT) X-ASG-Debug-ID: 1414612663-04cbb070c746ea30001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id rRNj2tL1r2iThIp0 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Oct 2014 12:57: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-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 s9TJvfPc003924 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 29 Oct 2014 15:57:41 -0400 Received: from bfoster.laptop (vpn-58-217.rdu2.redhat.com [10.10.58.217]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9TJvbPH004794 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Wed, 29 Oct 2014 15:57:39 -0400 Date: Wed, 29 Oct 2014 15:57:36 -0400 From: Brian Foster To: Eric Sandeen Cc: Eric Sandeen , Stan Hoeppner , xfs-oss Subject: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered Message-ID: <20141029195736.GC2084@bfoster.laptop> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: don't warn about log sunit size if it was auto-discovered References: <544FD3E1.1060000@redhat.com> <544FD47D.8020409@sandeen.net> <20141029183841.GB4226@bfoster.laptop> <545135D4.6010908@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <545135D4.6010908@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: 1414612663 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, Oct 29, 2014 at 01:45:40PM -0500, Eric Sandeen wrote: > On 10/29/14 1:38 PM, Brian Foster wrote: > > On Tue, Oct 28, 2014 at 12:38:05PM -0500, Eric Sandeen wrote: > >> Today, users doing a bare mkfs on storage with a large default > >> stripe size may be surprised to get this warning: > >> > >> log stripe unit (%d bytes) is too large (maximum is 256KiB > >> log stripe unit adjusted to 32KiB > >> > >> through no fault of their own. The fallback is appropriate > >> and harmless, and there's no need to warn about this in the > >> defaults case. > >> > >> However, we keep the warning if a large log stripe unit was > >> specified by the user on the commandline. > >> > >> Signed-off-by: Eric Sandeen > >> --- > ... > > >> @@ -2379,11 +2383,15 @@ an AG size that is one stripe unit smaller, for example %llu.\n"), > >> } > >> > >> if (logversion == 2 && (lsunit * blocksize) > 256 * 1024) { > >> - fprintf(stderr, > >> + /* Warn only if specified on commandline */ > >> + if (lsuflag || lsunitflag) { > >> + fprintf(stderr, > >> _("log stripe unit (%d bytes) is too large (maximum is 256KiB)\n"), > >> - (lsunit * blocksize)); > >> + (lsunit * blocksize)); > >> + fprintf(stderr, > >> + _("log stripe unit adjusted to 32KiB\n")); > >> + } > > > > Right above this particular hunk we have the possibility of lsunit > > inheriting a value from dsunit. If the latter is specified by the user, > > we don't print the message for an arguably user-specified lsunit. Hmm, > > do we care about that case? > > I don't think we do care. I think we only care if the user manually > specified a log stripe unit and we're changing what they asked for. > > I'd put "inheritance" in the "using default behaviors" case, and not > warn about it. > Ok, sounds sane. I was thinking there might be some utility to the message for people with larger auto-detected stripe units, but we print the geometry anyways and those users are clearly Ok with default settings (Dave points out that 32k is the default). The code looks Ok to me: Reviewed-by: Brian Foster > -Eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From david@fromorbit.com Wed Oct 29 15:03: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 201127F3F for ; Wed, 29 Oct 2014 15:03:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0D2AB304032 for ; Wed, 29 Oct 2014 13:02:57 -0700 (PDT) X-ASG-Debug-ID: 1414612975-04cb6c2efc42adc0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id 7jhPFchF29EytWk8 for ; Wed, 29 Oct 2014 13:02:55 -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: AsAsABZHUVR5LbBUPGdsb2JhbABcgw5UWII2t2EMAQEBAQEBBpN2gV2FaAIEAgKBHRcBAQEBAQYBAQEBODuEAwEBBDocIxAIAw4KCSUPBSUDBxoTiEAOyCQBAQEHAgEfGIYeiD2CHQeDLYEeBZZXhxKaTSkvAYJKAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Oct 2014 06:32:54 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjZSI-00073w-2X; Thu, 30 Oct 2014 07:02:54 +1100 Date: Thu, 30 Oct 2014 07:02:54 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 0/2] fix up indlen reservations on extent split Message-ID: <20141029200254.GF13323@dastard> X-ASG-Orig-Subj: Re: [PATCH 0/2] fix up indlen reservations on extent split References: <1413323955-19976-1-git-send-email-bfoster@redhat.com> <20141029163826.GB14410@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029163826.GB14410@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: 1414612975 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.11030 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 12:38:27PM -0400, Brian Foster wrote: > On Tue, Oct 14, 2014 at 05:59:13PM -0400, Brian Foster wrote: > > Hi all, > > > > Here's a couple patches to fix up the indirect block reservation > > problem when splitting delalloc extents, described in more detail in the > > patch 2 commit log. > > > > This runs through xfstests without any explosions and quiets down > > generic/033 when used in combination with the zero range rework (current > > for-next includes the writeback on zero range workaround that also > > prevents generic/033 asserts). > > > > Brian > > > > v1: > > - xfs_bunmapi() code into independent patch. > > - Refactor fix into separate helper function. > > rfc: http://oss.sgi.com/archives/xfs/2014-09/msg00337.html > > > > ping? In my list of things to look at once I've got the bulkstat problems sorted out. -Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 29 15:04: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 694B77F3F for ; Wed, 29 Oct 2014 15:04:54 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 467FC304048 for ; Wed, 29 Oct 2014 13:04:54 -0700 (PDT) X-ASG-Debug-ID: 1414613091-04cbb070c546efa0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id yc1wsYjYngahbMEA for ; Wed, 29 Oct 2014 13:04:51 -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: AllZAPNFUVR5LbBUPGdsb2JhbABcgw6BLII2hQeyZgEBAQEBAQaVU4VqAgIBAQKBHRcBAQEBAQYBAQEBODuEAgEBAQMBJxMNDx4FEAgDDgcDCSUPBSUDBxoTiDgIuGiPSwEBAQEBBQEBAQEeGIYeiloHgy2BHgWdaZpNKS+CSwEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Oct 2014 06:29:40 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjZP9-00072V-AN; Thu, 30 Oct 2014 06:59:39 +1100 Date: Thu, 30 Oct 2014 06:59:39 +1100 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com, bvowk@box.com Subject: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required Message-ID: <20141029195939.GE13323@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required References: <1414552144-12627-1-git-send-email-david@fromorbit.com> <1414552144-12627-3-git-send-email-david@fromorbit.com> <20141029192609.GB2084@bfoster.laptop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029192609.GB2084@bfoster.laptop> 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: 1414613091 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.11030 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 03:26:10PM -0400, Brian Foster wrote: > On Wed, Oct 29, 2014 at 02:09:04PM +1100, Dave Chinner wrote: > > From: Dave Chinner > > > > In phase 5 we rebuild the freelist btrees, the AGF and the AGFL from > > all the free space information we have gathered and resolved during > > pahses 3 and 4. If the freespace information is laid out just right, > > we end up having to allocate free space for the AGFL blocks. > > > > If the size of the free space we allocate from is larger than the > > space we need, then we have to insert the remainder back into the > > freespace btree. For the by-size tree, this means we are likely to > > be removing a record from one leaf, and then inserting the remainder > > - a smaller size - into another leaf. > > > > The issue is that the leaf blocks to the left of the original leaf > > block we removed the extent record from are full and hence require a > > split to insert the new record. That, of course, requires a free > > block in the AGFL to allocate from, and now we have a chicken and > > egg situation: there are no free blocks in the AGFL because we are > > setting it up. > > > > As a result, setting up the free list silently fails, leaving the > > freespace btrees in an inconsistent state and the AGFL in question > > empty. When the filesystem is next mounted, the first allocation > > from that AGF results in attempting to fix the AGFL, and it then > > does exactly the same thing as the repair code, fails to allocate a > > block during the split and fails. This results in an immediate > > shutdown because the transaction doing the allocation is dirty by > > this stage. > > > > The fix for the problem is to make repair handle rebulding the btree > > differently. If we leave ispace for a couple of records in each > > btree leaf and node, there is never a need for a split to occur when > > initially setting up the AGFL. This results in repair doing the > > right thing, and hence the runtime problems after mount don't occur. > > Further, add error checking the the AGFL setup code and abort repair > > if we have a failure to correctly set up the AGFL so we catch this > > problem at repair time, not mount time... > > > > Interesting problem, thanks for the breakdown. I suppose the only > interesting side effect is that the alloc btrees might require a bit > more space after repair than before. I wonder if we need to take that > into consideration here for certain cases. E.g., does this have > ramifications for running repair on a clean, but completely full fs, or > should that be generally handled by the existence of reserved blocks? In general, it shouldn't be an issue. It is extremely rare for a free space btree to be entirely compact - it currently only happens when repair runs, and the first insert at each leaf triggers splits and so after a short runtime will no longer be compact. Hence it is almost always going to be the case that the btree is smaller after repair than it was before.... I can see that it might cause an issue at maximally sized filesystems with worst case free space fragmentation, but given the runtime of repair of such a filesystem is probably measured in months and in hundreds of petabytes of RAM I'm not really concerned about that right now. > > A couple minor nits below... > > > Reported-by: Barkley Vowk > > Signed-off-by: Dave Chinner > > --- > > repair/phase5.c | 44 +++++++++++++++++++++++++++++++++++--------- > > 1 file changed, 35 insertions(+), 9 deletions(-) > > > > diff --git a/repair/phase5.c b/repair/phase5.c > > index d6d3c6d..3d58936 100644 > > --- a/repair/phase5.c > > +++ b/repair/phase5.c > > @@ -335,11 +335,22 @@ finish_cursor(bt_status_t *curs) > > } > > > > /* > > + * We need to leave some free records in the tree for the corner case of > > + * setting up the AGFL. This may require allocation of blocks, and as > > + * such can require insertion of new records into the tree (e.g. moving > > + * a record in the by-count tree when a long extent is shortened). If we > > + * pack the records into the leaves with no slack space, this requires a > > + * leaf split to occur and a block to be allocated from the free list. > > + * If we don't have any blocks on the free list (because we are setting > > + * it up!), then we fail, and the filesystem will fail with the same > > + * failure at runtime. Hence leave a couple of records slack space in > > + * each block to allow immediate modification of the tree without > > + * requiring splits to be done. > > + * > > * XXX(hch): any reason we don't just look at mp->m_alloc_mxr? > > I guess we could kill this comment now. ;) Comment is still valid. I only fixed the bug - I didn't look into why we aren't using mp->m_alloc_mxr instead of calculating the max records value from first principles... > > @@ -385,6 +392,13 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > > lptr->num_recs_tot = num_extents; > > level = 1; > > > > +#ifdef XR_BLD_FREE_TRACE > > + fprintf(stderr, "%s 0 %d %d %d %d\n", __func__, > > What's the 0 for? The btree level. 0 == leaf.... .... > > @@ -402,6 +416,14 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > > lptr->num_recs_pb = p_lptr->num_blocks > > / lptr->num_blocks; > > lptr->num_recs_tot = p_lptr->num_blocks; > > +#ifdef XR_BLD_FREE_TRACE > > + fprintf(stderr, "%s %d %d %d %d %d\n", __func__, > > + level, > > + lptr->num_blocks, And as you can see in this hunk as we set up the nodes the level is printed so we can see the config of each level as it is set up. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 29 15:53: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 482D37F3F for ; Wed, 29 Oct 2014 15:53:00 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 360528F8037 for ; Wed, 29 Oct 2014 13:52:59 -0700 (PDT) X-ASG-Debug-ID: 1414615975-04cb6c2efa42d540001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id wjCgAVqf23UkDW9B for ; Wed, 29 Oct 2014 13:52:55 -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: AtxuAAdTUVR5LbBUPGdsb2JhbABCGoMOVFiCNotJrBgMAQEBAQEBBpN4gVuFagQCAoEdFwEBAQEBBgEBAQE4O4QDAQEEOhwjEAgDEAgJJQ8FJQMHGhOIQA44x2MsGIYehnKDaAeESwWWV4cSgTKRBogVKS8BgkoBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Oct 2014 07:22:54 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1XjaEe-0007FI-T6; Thu, 30 Oct 2014 07:52:52 +1100 Date: Thu, 30 Oct 2014 07:52:52 +1100 From: Dave Chinner To: Tommy Wu Cc: Eric Sandeen , xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029205252.GG13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <54506CD9.90403@sandeen.net> <20141029044017.GG16186@dastard> <20141029075134.GB13323@dastard> <20141029103355.GI16186@dastard> <20141029104304.GC13323@dastard> <20141029195006.GD13323@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029195006.GD13323@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: 1414615975 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.11031 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 On Thu, Oct 30, 2014 at 06:50:06AM +1100, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 08:32:52PM +0800, Tommy Wu wrote: > > Does it just fix the hang issue or fix the dump corrupted issue? > > The hang. FWIW, can you run xfs_repair -n on your filesystem and post the output? Can you also run a full dump and restore and post the *entire* output of both? Also, all the other information noted here would be useful: http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Oct 29 16:26: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 B4DAF7F3F for ; Wed, 29 Oct 2014 16:26:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A29058F8039 for ; Wed, 29 Oct 2014 14:26:01 -0700 (PDT) X-ASG-Debug-ID: 1414617958-04cb6c2efb42ed70001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id ZCrG9er4qs1lnKkt for ; Wed, 29 Oct 2014 14:25:59 -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: AmY4AA1aUVR5LbBUPGdsb2JhbABcgw6BLII2hQeyZwEBAQEBAQaVU4VqBAICgR0XAQEBAQEGAQEBATg7hAMBAQQ6HCMQCAMQCAklDwUlAwcaE4hAyC8BAQEHAiAYhh6GcoNoB4RLBZ1pmk0pL4JLAQEB Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Oct 2014 07:55:58 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xjake-0007L0-4V; Thu, 30 Oct 2014 08:25:56 +1100 Date: Thu, 30 Oct 2014 08:25:56 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141029212556.GH13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 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: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1414617958 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.11031 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Oct 29, 2014 at 12:06:10PM +0800, Tommy Wu wrote: > /sbin/xfsrestore: session id: 6f114712-6fb6-4f35-a2f3-30ca1a0af5bb > /sbin/xfsrestore: media id: 2eb2ff54-1838-47b2-a8d5-5f520deaf5f5 > /sbin/xfsrestore: searching media for directory dump > /sbin/xfsrestore: reading directories > /sbin/xfsrestore: 2035 directories and 33045 entries processed > /sbin/xfsrestore: directory post-processing > /sbin/xfsrestore: reading non-directory files > /sbin/xfsrestore: NOTE: ino 144 salvaging file, placing in > orphanage/143.0/Makefile > /sbin/xfsrestore: NOTE: ino 145 salvaging file, placing in > orphanage/143.0/bayer.png.b64 ..... > .... skip it.... > /sbin/xfsrestore: NOTE: ino 50363235 gen 1622742662 not referenced: placing > in orphanage FWIW, this can be expected behaviour if you run xfsdump on a live filesystem. From the DIAGNOSTICS section of the xfsdump man page: The message ``xfsdump: WARNING: unable to open directory: ino N: Invalid argument'' can occur with filesystems which are actively being modified while xfsdump is running. This can happen to either directory or regular file inodes - affected files will not end up in the dump, files below affected directories will be placed in the orphanage directory by xfsrestore. This is exactly what you are seeing - files being placed in the orphanage on restore because they appear to have no parent directory inode referencing them. IOWs, you're likely seeing the effect of the filesystem changing while you are running xfsdump, not a bug in xfsdump or xfs_restore. Cheers, Dave. -- Dave Chinner david@fromorbit.com From stan@hardwarefreak.com Wed Oct 29 16: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 788A17F3F for ; Wed, 29 Oct 2014 16:37:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 470F68F8049 for ; Wed, 29 Oct 2014 14:37:49 -0700 (PDT) X-ASG-Debug-ID: 1414618668-04bdf038d051b2b0001-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 kBf5DV2bpFj0fSGV for ; Wed, 29 Oct 2014 14:37:48 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id 8BD3E6C119; Wed, 29 Oct 2014 16:37:48 -0500 (CDT) Message-ID: <54515E4E.8010500@hardwarefreak.com> Date: Wed, 29 Oct 2014 16:38:22 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Eric Sandeen , Brian Foster , Eric Sandeen CC: xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> <54513635.7050703@sandeen.net> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size In-Reply-To: <54513635.7050703@sandeen.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1414618668 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 10/29/2014 01:47 PM, Eric Sandeen wrote: > On 10/29/14 1:37 PM, Brian Foster wrote: >> On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: >>> Today, this geometry: >>> >>> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 >>> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd >>> 512 >>> 512 >>> 512 >>> 1048576 >>> >>> will result in a warning at mkfs time, like this: >>> >>> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd >>> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 >>> >>> because our geometry discovery thinks it looks like a >>> valid striping setup which the commandline is overriding. >>> However, a stripe unit of 512 really isn't indicative of >>> a proper stripe geometry. >>> >> >> So the assumption is that the storage reports a non-physical block size >> for minimum and optimal I/O sizes for geometry detection. There was a >> real world scenario of this, right? Any idea of the configuration >> details (e.g., raid layout) that resulted in an increased optimal I/O >> size but not minimum I/O size? > > Stan? :) Yeah, it was pretty much what you pasted sans the log su, and it was a device-mapper device: # mkfs.xfs -d su=64k,sw=12 /dev/dm-0 -- Stan From web113@chester.kundenserver42.de Wed Oct 29 19: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=2.2 required=5.0 tests=HTML_MESSAGE,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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DB5FD7F3F for ; Wed, 29 Oct 2014 19: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 492A0AC004 for ; Wed, 29 Oct 2014 17:02:00 -0700 (PDT) X-ASG-Debug-ID: 1414627316-04cbb070c8478550001-NocioJ Received: from chester-mail.kundenserver42.de (chester-mail.kundenserver42.de [109.234.218.131]) by cuda.sgi.com with ESMTP id fgtBflH1icKMjYKu for ; Wed, 29 Oct 2014 17:01:57 -0700 (PDT) X-Barracuda-Envelope-From: web113@chester.kundenserver42.de X-Barracuda-Apparent-Source-IP: 109.234.218.131 Received: by chester-mail.kundenserver42.de (Postfix, from userid 723) id AA641D6B669; Thu, 30 Oct 2014 00:55:39 +0100 (CET) To: xfs@oss.sgi.com Subject: T/T payment From: marian-hsbc X-ASG-Orig-Subj: T/T payment Reply-To: MIME-Version: 1.0 Content-Type: text/html Content-Transfer-Encoding: 8bit Message-Id: <20141029235539.AA641D6B669@chester-mail.kundenserver42.de> Date: Thu, 30 Oct 2014 00:55:39 +0100 (CET) X-Barracuda-Connect: chester-mail.kundenserver42.de[109.234.218.131] X-Barracuda-Start-Time: 1414627316 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.11034 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 New Page 1

Hello,

Please find swift copy below of T/T payment to your account
for our order, kindly confirm and do the needful as soon as
possible, I will send you our forwarder's contact details in
my next mail.


Regards,
Kelly Hu
Cisco Trading Co.
Tel: 00509876123

> Date: thu, 30 october 2014 07:36:52 +0000
> To: kellyhu@manager.in.th
> Subject: TELEX TRANSFER SLIP
> From: marian-hsbc@hsbc.ae

HSBC INTER-BANK SETTLEMENT SYSTEM

Presenting Bank: HSBC BANK UAE, 057150000
Cash Letter Collection Type: Telex Transfer
Bundle Collection Type: MT 103
Payment Reference: Payment for Goods

Thank you and best regards,

Marian Jin | Fund Transfer Unit | HSBC UAE
Direct Line |
04 3291909 | Cell: 04 3399283
HSBC Bank Middle East Limited
''view Online''

1 attachments (total 53.9 KB)
"Download all as zip''
From zenglg.jy@cn.fujitsu.com Wed Oct 29 20:39: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 888D97F3F for ; Wed, 29 Oct 2014 20:39:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 27362AC001 for ; Wed, 29 Oct 2014 18:39:09 -0700 (PDT) X-ASG-Debug-ID: 1414633144-04cbb070c547adc0001-NocioJ Received: from heian.cn.fujitsu.com (cn.fujitsu.com [59.151.112.132]) by cuda.sgi.com with ESMTP id eP9A39bWzO0kcnsT for ; Wed, 29 Oct 2014 18:39:06 -0700 (PDT) X-Barracuda-Envelope-From: zenglg.jy@cn.fujitsu.com X-Barracuda-Apparent-Source-IP: 59.151.112.132 X-IronPort-AV: E=Sophos;i="5.04,814,1406563200"; d="scan'208";a="42574393" Received: from unknown (HELO edo.cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 30 Oct 2014 09:35:54 +0800 Received: from G08CNEXCHPEKD01.g08.fujitsu.local (localhost.localdomain [127.0.0.1]) by edo.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id s9U1ctni027475; Thu, 30 Oct 2014 09:38:55 +0800 Received: from [10.167.222.57] (10.167.222.57) by G08CNEXCHPEKD01.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP Server id 14.3.181.6; Thu, 30 Oct 2014 09:39:13 +0800 Message-ID: <1414633063.17402.6.camel@G08JYZSD130126.localdomain> Subject: Re: [Question]: xfstests test generic/233 failure From: Zeng Linggang X-ASG-Orig-Subj: Re: [Question]: xfstests test generic/233 failure To: Dave Chinner CC: Date: Thu, 30 Oct 2014 09:37:43 +0800 In-Reply-To: <20141029103636.GJ16186@dastard> References: <1414575977.17402.3.camel@G08JYZSD130126.localdomain> <20141029103636.GJ16186@dastard> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.2 (3.10.2-2.fc20) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.167.222.57] X-Barracuda-Connect: cn.fujitsu.com[59.151.112.132] X-Barracuda-Start-Time: 1414633145 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.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=MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11036 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words On Wed, 2014-10-29 at 21:36 +1100, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 05:46:17PM +0800, Zeng Linggang wrote: > > Hello, > > > > Comparing user usage > > -Comparing group usage > > +4c4 > > +< #1001 -- 31348 32000 32000 772 1000 1000 > > +--- > > +> #1001 -- 31144 32000 32000 772 1000 1000 > > ... > > generic/231 and generic/270 also have the similar quota accounting mismatch. > > fsstress can result in different file and directory layouts, hence > result in different amounts of metadata in the filesystem. Metadata > is also accounted to quotas (e.g. to the user who owns the > directory) and so even if data usage is identical the metadata can > still vary. > > I see these test give small variations quite frequently, but they > are are usually only quite small (a handful of blocks) so I've never > really worried about it too much. > Yep, it make me more clearer. And thank you very much. Best regards, Zeng > Cheers, > > Dave. From david@fromorbit.com Thu Oct 30 00:03: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 C929C7F3F for ; Thu, 30 Oct 2014 00:03:15 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id B79ED304032 for ; Wed, 29 Oct 2014 22:03:12 -0700 (PDT) X-ASG-Debug-ID: 1414645389-04cb6c2efc43d840001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id ggnHQkIjP8lC0mlh for ; Wed, 29 Oct 2014 22:03:10 -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: AiMuANfFUVR5LbBUPGdsb2JhbABcgw6BLIc9sygBAQEBAQEGlV6FagQCAoEcFwEBAQEBBgEBAQE4O4QCAQEBAwE6HCMFCwgDEAgJJQ8FJQMHGhOIOAjHdwELIBiGHoZygwYRAVAHhEsFnWmBMoNKjTyGBiCBbikvgQ+BPAEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl2.internode.on.net with ESMTP; 30 Oct 2014 15:33:08 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xjht4-0008ON-9u; Thu, 30 Oct 2014 16:03:06 +1100 Date: Thu, 30 Oct 2014 16:03:06 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141030050306.GI13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@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.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1414645389 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.11040 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 30, 2014 at 11:07:21AM +0800, Tommy Wu wrote: > I just create a x86-64 VM (using VirtualBox 4.3.18, under windows 8). > Install Debian jessie on it. Create a test partition in LVM for testing. > (so I think it's not hardware issue here) > > test procedure: > 1. mkfs.xfs the 1st partition in LVM > 2. mount the 1st partition > 3. extract linux-3.17.tar.xz to the partition > 4. xfsdump the 1st partition > 5. mkfs.xfs the 2nd partition in LVM > 6. mount the 2nd partition > 7. xfsrestore the dump file to 2nd partition > 8. compare the file/directory in 2 partitions. Partition sizes are roughly a 5GB source and 10GB destination. So there's this many files in the fs: > xfsrestore: 3054 directories and 50556 entries processed OK, so on 3.18-rc2: > root@debian:/mnt/xfsdump# mount /dev/debian/xfsrestore /mnt/xfsrestore > root@debian:/mnt/xfsdump# cd /mnt/xfsrestore/ > root@debian:/mnt/xfsrestore# xfsdump -l 0 -o -p 300 -J -F -M test -L test - > /mnt/xfsdump | gzip -qv > /mnt/xfsrestore/xfsdump.gz .... > xfsdump: media file size 575648352 bytes > xfsdump: dump size (non-dir files) : 560258760 bytes These are a handful of bytes different. > xfsdump: dump complete: 21 seconds elapsed > xfsdump: Dump Status: SUCCESS > 78.5% > root@debian:/mnt/xfsrestore# ls -la > total 120680 > drwxr-xr-x 2 root root 23 Oct 30 10:48 . > drwxr-xr-x 4 root root 4096 Oct 30 10:37 .. > -rw-r--r-- 1 root root 123569739 Oct 30 10:48 xfsdump.gz > root@debian:/mnt/xfsrestore# cat /mnt/xfsrestore/xfsdump.gz | gzip -dqv | > xfsrestore -p 300 -J -t - | grep xfsrestore and the test shows: > xfsrestore: reading directories > xfsrestore: 2035 directories and 33045 entries processed A thousand less directories and 20000 less files, which doesn't make much sense for a dump that has a few bytes difference in size. So, I've done almost exactly the same test locally (I used the 3.18-rc2 tarball) and on both the upstream 3.18-rc2 kernel and my current xfs-fixes-for-3.18-rc3 branch I can't reproduce your problem: $ find /mnt/test -type d |wc -l 3080 $ find /mnt/test |wc -l 51068 $ zcat dump.gz | sudo xfsrestore -p 300 -J - . |grep xfsrestore ..... xfsrestore: reading directories xfsrestore: 3080 directories and 51068 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 7 seconds elapsed xfsrestore: Restore Status: SUCCESS $ find /mnt/scratch -type d |wc -l 3080 $ find /mnt/scratch |wc -l 51069 $ ls /mnt/scratch dump.gz linux-3.18-rc2 $ Which shows that it's working just fine. I've tried cold cache dumps. I've tried crc enabled filesystems, I've tried a bunch of random permutations, but I cannot get dump/restore to do what you are seeing it do. Whatever problem you are seeing is specific to your system. Hmmm - can you run 'ldd xfsdump' and 'ldd xfsrestore' and paste the output for me? Can you also please run a full test again on a kernel built from the current xfs-fixes-for-3.18-rc3 branch, with full dump/restore debug enabled and send me the output? i.e. $ xfsdump -v debug ... and $ xfsrestore -v debug,tree=nitty ... They ar going to produce a lot of output, so please capture it to files rather than trying to cut/paste output to an email. Cheers, Dave. -- Dave Chinner david@fromorbit.com From wu.tommy@gmail.com Thu Oct 30 03:39: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,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 181657F3F for ; Thu, 30 Oct 2014 03:39:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EBA948F8035 for ; Thu, 30 Oct 2014 01:39:06 -0700 (PDT) X-ASG-Debug-ID: 1414658341-04cbb070c748fab0001-NocioJ Received: from mail-ob0-f176.google.com (mail-ob0-f176.google.com [209.85.214.176]) by cuda.sgi.com with ESMTP id u5BUtDFkAkA2qNL1 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 01:39:01 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.176 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] Received: by mail-ob0-f176.google.com with SMTP id va2so3758844obc.35 for ; Thu, 30 Oct 2014 01:39:01 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.176] 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=w9Ic2LgTTgg13YzRQcygC4XjIefkEBh8gmZy381JM/4=; b=LTTNyDFC5D7NwbYbC2w8WFmnXn1hjSYywVFI6wWvUi6fL15ElAd+oPNtwBx9yDwiC4 zXgKrDhBlg/NRlLLZKomdRX34b568J50S+CvlZKZqhVlTjxvx2jyfj/WM7v1tWAasD6x 23LKEaATg4/xPw8/swBVMq4SJACHsPim4utyae7rCrZ7PS8dCZQKFy8zah0gkoqHvvUg B8OLQD9sTKL+oV5CHtUVkoKgQCLs9cvQoNIP7yYEIueS92Wix8odqWDSLy72tTp1A0o5 aYf5Mz69LtElAgCA6K3w0byMBvesDYXXCc37xHZXgoDprrh6jvaSSmA1CSmkKTKs++A4 zHaw== MIME-Version: 1.0 X-Received: by 10.60.178.144 with SMTP id cy16mr489434oec.60.1414658341512; Thu, 30 Oct 2014 01:39:01 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 01:39:01 -0700 (PDT) In-Reply-To: <20141030050306.GI13323@dastard> References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> Date: Thu, 30 Oct 2014 16:39:01 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=089e01176417eccfab05069fcf5b X-Barracuda-Connect: mail-ob0-f176.google.com[209.85.214.176] X-Barracuda-Start-Time: 1414658341 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11043 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 --089e01176417eccfab05069fcf5b Content-Type: text/plain; charset=UTF-8 I'm confusing now... in the test VM and one of my machine, rebuild xfsdump/xfsprogs will make the test work. In one of my machine, still got error. fw1:/vol/backup/x# ldd /sbin/xfsdump linux-vdso.so.1 (0x00007fff3f7fe000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f8c2bf9d000) libhandle.so.1 => /lib/libhandle.so.1 (0x00007f8c2bd99000) libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f8c2bb93000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8c2b976000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8c2b5cd000) /lib64/ld-linux-x86-64.so.2 (0x00007f8c2c1b5000) fw1:/vol/backup/x# ldd /sbin/xfsrestore linux-vdso.so.1 (0x00007fffcee8d000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007ff53d507000) libhandle.so.1 => /lib/libhandle.so.1 (0x00007ff53d303000) libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007ff53d0fd000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff53cee0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff53cb37000) /lib64/ld-linux-x86-64.so.2 (0x00007ff53d71f000) the xfsdump command I use: xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump /mnt/backup > xfsdump.log the log: https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ the xfsrestore command I use: xfsrestore -v debug,tree=nitty -p 300 -J -f test.xfsdump /vol/backup/x/ > xfsrestore.log the log: https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI 2014-10-30 13:03 GMT+08:00 Dave Chinner : > On Thu, Oct 30, 2014 at 11:07:21AM +0800, Tommy Wu wrote: > > I just create a x86-64 VM (using VirtualBox 4.3.18, under windows 8). > > Install Debian jessie on it. Create a test partition in LVM for testing. > > (so I think it's not hardware issue here) > > > > test procedure: > > 1. mkfs.xfs the 1st partition in LVM > > 2. mount the 1st partition > > 3. extract linux-3.17.tar.xz to the partition > > 4. xfsdump the 1st partition > > 5. mkfs.xfs the 2nd partition in LVM > > 6. mount the 2nd partition > > 7. xfsrestore the dump file to 2nd partition > > 8. compare the file/directory in 2 partitions. > > Partition sizes are roughly a 5GB source and 10GB destination. > > So there's this many files in the fs: > > > xfsrestore: 3054 directories and 50556 entries processed > > OK, so on 3.18-rc2: > > > root@debian:/mnt/xfsdump# mount /dev/debian/xfsrestore /mnt/xfsrestore > > root@debian:/mnt/xfsdump# cd /mnt/xfsrestore/ > > root@debian:/mnt/xfsrestore# xfsdump -l 0 -o -p 300 -J -F -M test -L > test - > > /mnt/xfsdump | gzip -qv > /mnt/xfsrestore/xfsdump.gz > .... > > xfsdump: media file size 575648352 bytes > > xfsdump: dump size (non-dir files) : 560258760 bytes > > These are a handful of bytes different. > > > xfsdump: dump complete: 21 seconds elapsed > > xfsdump: Dump Status: SUCCESS > > 78.5% > > root@debian:/mnt/xfsrestore# ls -la > > total 120680 > > drwxr-xr-x 2 root root 23 Oct 30 10:48 . > > drwxr-xr-x 4 root root 4096 Oct 30 10:37 .. > > -rw-r--r-- 1 root root 123569739 Oct 30 10:48 xfsdump.gz > > root@debian:/mnt/xfsrestore# cat /mnt/xfsrestore/xfsdump.gz | gzip -dqv > | > > xfsrestore -p 300 -J -t - | grep xfsrestore > > and the test shows: > > > xfsrestore: reading directories > > xfsrestore: 2035 directories and 33045 entries processed > > A thousand less directories and 20000 less files, which doesn't make > much sense for a dump that has a few bytes difference in size. > > So, I've done almost exactly the same test locally (I used the > 3.18-rc2 tarball) and on both the upstream 3.18-rc2 kernel and my > current xfs-fixes-for-3.18-rc3 branch I can't reproduce your > problem: > > $ find /mnt/test -type d |wc -l > 3080 > $ find /mnt/test |wc -l > 51068 > $ zcat dump.gz | sudo xfsrestore -p 300 -J - . |grep xfsrestore > ..... > xfsrestore: reading directories > xfsrestore: 3080 directories and 51068 entries processed > xfsrestore: directory post-processing > xfsrestore: restoring non-directory files > xfsrestore: restore complete: 7 seconds elapsed > xfsrestore: Restore Status: SUCCESS > $ find /mnt/scratch -type d |wc -l > 3080 > $ find /mnt/scratch |wc -l > 51069 > $ ls /mnt/scratch > dump.gz linux-3.18-rc2 > $ > > Which shows that it's working just fine. I've tried cold cache > dumps. I've tried crc enabled filesystems, I've tried a bunch of > random permutations, but I cannot get dump/restore to do what you > are seeing it do. Whatever problem you are seeing is specific to > your system. > > Hmmm - can you run 'ldd xfsdump' and 'ldd xfsrestore' and paste the > output for me? > > Can you also please run a full test again on a kernel built from the > current xfs-fixes-for-3.18-rc3 branch, with full dump/restore debug > enabled and send me the output? i.e. > > $ xfsdump -v debug ... > > and > > $ xfsrestore -v debug,tree=nitty ... > > They ar going to produce a lot of output, so please capture it to > files rather than trying to cut/paste output to an email. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --089e01176417eccfab05069fcf5b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I'm confusing now...

<= /div>
in the test VM and one of my machine, rebuild xfsdump/xfsprogs wi= ll make the test work.

In one of my machine, still = got error.

fw1:/vol/backup/x# ldd /sbin/xfsdump
=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 linux-vdso.so.1 (0x00007fff3f7fe000)
=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libuuid.so.1 =3D> /lib/x86_64-linux= -gnu/libuuid.so.1 (0x00007f8c2bf9d000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 libhandle.so.1 =3D> /lib/libhandle.so.1 (0x00007f8c2bd99000)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libattr.so.1 =3D> /lib/x86_= 64-linux-gnu/libattr.so.1 (0x00007f8c2bb93000)
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread= .so.0 (0x00007f8c2b976000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li= bc.so.6 =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8c2b5cd000)
=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /lib64/ld-linux-x86-64.so.2 (0x0000= 7f8c2c1b5000)
fw1:/vol/backup/x# ldd /sbin/xfsrestore
=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 linux-vdso.so.1 (0x00007fffcee8d000)
=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libuuid.so.1 =3D> /lib/x86_64-linux= -gnu/libuuid.so.1 (0x00007ff53d507000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 libhandle.so.1 =3D> /lib/libhandle.so.1 (0x00007ff53d303000)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libattr.so.1 =3D> /lib/x86_= 64-linux-gnu/libattr.so.1 (0x00007ff53d0fd000)
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread= .so.0 (0x00007ff53cee0000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li= bc.so.6 =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff53cb37000)
=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /lib64/ld-linux-x86-64.so.2 (0x0000= 7ff53d71f000)

the xfsdump command I use:
xfsdump -v debug -= l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump /mnt/backup > xfsdum= p.log
the log: https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5Uy= Riqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ

the xfsrestore command I= use:
xfsrestore -v debug,tree=3Dnitty -p 300 -J -f test.xfsdump /vol/ba= ckup/x/ > xfsrestore.log
the log: https://mega.co.nz= /#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI



2014-10-30 13:03 GMT+08:00 Dave Chi= nner <david@fromorbit.com>:
On Thu, Oct 30, 2014 at 11:07:21AM +0800, Tommy Wu wro= te:
> I just create a x86-64 VM (using VirtualBox 4.3.18, under windows 8).<= br> > Install Debian jessie on it. Create a test partition in LVM for testin= g.
> (so I think it's not hardware issue here)
>
> test procedure:
> 1. mkfs.xfs the 1st partition in LVM
> 2. mount=C2=A0 the 1st partition
> 3. extract linux-3.17.tar.xz to the partition
> 4. xfsdump the 1st partition
> 5. mkfs.xfs the 2nd partition in LVM
> 6. mount the 2nd partition
> 7. xfsrestore the dump file to 2nd partition
> 8. compare the file/directory in 2 partitions.

Partition sizes are roughly a 5GB source and 10GB destination.

So there's this many files in the fs:

> xfsrestore: 3054 directories and 50556 entries processed

OK, so on 3.18-rc2:

> root@debian:/mnt/xfsdump# mount /dev/debian/xfsrestore /mnt/xfsrestore=
> root@debian:/mnt/xfsdump# cd /mnt/xfsrestore/
> root@debian:/mnt/xfsrestore# xfsdump -l 0 -o -p 300 -J -F -M test -L t= est -
> /mnt/xfsdump | gzip -qv > /mnt/xfsrestore/xfsdump.gz
....
> xfsdump: media file size 575648352 bytes
> xfsdump: dump size (non-dir files) : 560258760 bytes

These are a handful of bytes different.

> xfsdump: dump complete: 21 seconds elapsed
> xfsdump: Dump Status: SUCCESS
>=C2=A0 78.5%
> root@debian:/mnt/xfsrestore# ls -la
> total 120680
> drwxr-xr-x 2 root root=C2=A0 =C2=A0 =C2=A0 =C2=A0 23 Oct 30 10:48 . > drwxr-xr-x 4 root root=C2=A0 =C2=A0 =C2=A0 4096 Oct 30 10:37 ..
> -rw-r--r-- 1 root root 123569739 Oct 30 10:48 xfsdump.gz
> root@debian:/mnt/xfsrestore# cat /mnt/xfsrestore/xfsdump.gz | gzip -dq= v |
> xfsrestore -p 300 -J -t - | grep xfsrestore

and the test shows:

> xfsrestore: reading directories
> xfsrestore: 2035 directories and 33045 entries processed

A thousand less directories and 20000 less files, which doesn't = make
much sense for a dump that has a few bytes difference in size.

So, I've done almost exactly the same test locally (I used the
3.18-rc2 tarball) and on both the upstream 3.18-rc2 kernel and my
current xfs-fixes-for-3.18-rc3 branch I can't reproduce your
problem:

$=C2=A0 find /mnt/test -type d |wc -l
3080
$=C2=A0 find /mnt/test=C2=A0 |wc -l
51068
$ zcat dump.gz | sudo xfsrestore -p 300 -J - . |grep xfsrestore
.....
xfsrestore: reading directories
xfsrestore: 3080 directories and 51068 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 7 seconds elapsed
xfsrestore: Restore Status: SUCCESS
$ find /mnt/scratch -type d |wc -l
3080
$ find /mnt/scratch |wc -l
51069
$ ls /mnt/scratch
dump.gz=C2=A0 linux-3.18-rc2
$

Which shows that it's working just fine.=C2=A0 I've tried cold cach= e
dumps. I've tried crc enabled filesystems, I've tried a bunch of random permutations, but I cannot get dump/restore to do what you
are seeing it do. Whatever problem you are seeing is specific to
your system.

Hmmm - can you run 'ldd xfsdump' and 'ldd xfsrestore' and p= aste the
output for me?

Can you also please run a full test again on a kernel built from the
current xfs-fixes-for-3.18-rc3 branch, with full dump/restore debug
enabled and send me the output? i.e.

$ xfsdump -v debug ...

and

$ xfsrestore -v debug,tree=3Dnitty ...

They ar going to produce a lot of output, so please capture it to
files rather than trying to cut/paste output to an email.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--089e01176417eccfab05069fcf5b-- From i@umidress.com Thu Oct 30 05:27: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=2.2 required=5.0 tests=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 C4E737F3F for ; Thu, 30 Oct 2014 05:27:19 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id DC0B2AC004 for ; Thu, 30 Oct 2014 03:27:15 -0700 (PDT) X-ASG-Debug-ID: 1414664808-04cb6c2efc447b50001-NocioJ Received: from email.sunsky-online.com (email.sunsky-online.com [211.154.150.138]) by cuda.sgi.com with SMTP id HP0zbTGSbkZncQae for ; Thu, 30 Oct 2014 03:26:49 -0700 (PDT) X-Barracuda-Envelope-From: i@umidress.com X-Barracuda-Apparent-Source-IP: 211.154.150.138 Received: from king-d54908d89e ([127.0.0.1]) (envelope-sender ) by 127.0.0.1 with ESMTP for ; Thu, 30 Oct 2014 18:26:48 +0800 Message-ID: <8253090.1414664808250.JavaMail.Administrator@king-d54908d89e> Date: Thu, 30 Oct 2014 18:26:47 +0800 (CST) From: UMIdress To: xfs@oss.sgi.com Subject: New Arrivals Fashion Dresses and Clothing MIME-Version: 1.0 X-ASG-Orig-Subj: New Arrivals Fashion Dresses and Clothing Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: email.sunsky-online.com[211.154.150.138] X-Barracuda-Start-Time: 1414664809 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.11045 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 =09 =20 =09=09 =09=09=09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09 =09=09=09 =09=09=09=09 =09=09=09=09=09 =09=09=09=09 =09=09=09 =09=09=09=09 =09=09 =09=09=09=09=09 =09=09 =09=09=09 =09=09 =09=09 =09
=09=09=09=09 =09 =09=09 =09 =09 =09=09 =09
=09=09=09 =09=09=09=09Thanks for visiting UMIdress
=09=09=09=09If you do not wish to receive any more emails, =09=09=09=09click here =09=09=09=09! =09=09=09
=09=09
=09=09=09
=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09=09 =09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09English =09=09=09=09=09=09=09=09=09=09   |   =09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=D0=A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9 =09=09=09=09=09=09=09=09=09=09   |   =09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Italiano =09=09=09=09=09=09=09=09=09=09   |   =09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Espa=C3=B1ol =09=09=09=09=09=09=09=09=09=09   |   =09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=E7=AE=80=E4=BD=93 =09=09=09=09=09=09=09=09=09=09   |   =09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09=E7=B9=81=E9=AB=94 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09= =09=09=09 =09=09=09=09=09=09
=09=09=09=09=09
=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09= =09 =09=09=09=09=09=09=09 =09=09=09=09=09=09
=20 =09=09=09=09=09=09=09NEW ARRIVALS  |   =09 =09=09 = =09=09=09DRESSES =09=09=09=09   |   = =09=09 =09 = =09=09 =09=09=09TOPS =09=09=09=09   |   = =09=09 =09 = =09=09 =09=09=09BOTTOMS =09=09=09=09   |   = =09=09 =09 = =09=09 =09=09=09JEWELRY =09=09=09=09   |   = =09=09 =09 = =09=09 =09=09=09ACCESSORIES =09=09=09=09 = =09=09 =09 =09=09=09=09=09=09=09 =09=09=09=09=09=09
=09 =09=09=09=09 =09=09=09
=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Women's Dresses =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Sleeveless Round Neck Leopard Sexy Dress =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.32 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.53 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Sexy Round Neck Hollow Lace Bodycon Bottoming Dress= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.56 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$3.81 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Sleeveless Cartoon Printed Pleated Dress =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.15 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$4.27 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"M= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Magenta Portrait Pattern Long Sleeve Dress =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.70 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"P= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Pink Fashion V Neck Color Block Splicing Halter Sleeveless Chiffo= n Dress =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.94 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"Deep =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Deep V-neck Sleeveless Bodycon Dress(Black) =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.68 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"L= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Ladies Sexy Lace Perspective Round Neck Bodycon Dress(Beige) =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.41 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Long Sleeve Baroque Print Dress =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$17.56 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Women's Tops =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Red Simple Ladies Color Bat Sleeve Loose Chiffon T-shirt =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.53 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Blue Simple Solid Color Round Neck High Quality with Velvet Bodyc= on Bottoming T-shirt =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.24 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Lace Splicing Bat Sleeve Loose Knit T-shirt =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$4.48 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Beige Fashion Round Neck Geometric Diamond Pattern Pullover Botto= ming Sweater =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$4.74 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"G= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Green Ladies Solid Color Lapel Causal Windbreaker =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.92 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Personality Round Neck Long Sleeve Geometric Patter= n Hoodie =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.65 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Suit Collar Double Breasted Black and White Plaid W= indbreaker =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.94 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"Black =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Personality Lapel Epaulets Bodycon PU Leather Coat = =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$24.63 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$16.73 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Women's Bottoms =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Slim Elastic Warm Pants =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$1.30 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Fashion Stretch Leggings =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.47 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Elastic Tie Dyed Bodycon Denim Pants =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$8.06 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.20 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09=3D"Black =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Lace Splicing Polka Dot Bodycon Skirt =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$10.05 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.82 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"Pri= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Printed Bodycon Seven Point Pencil Pants =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.92 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"O= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Occupation Pencil Leggings =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$9.84 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"W= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09White Fashion PU Leather Pants =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.67 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"Simp= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Simple High Waist Bodycon Jeans =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$14.64 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09Swimwear =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Sexy Fashion Personality Print Camisole Bikini Smock =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.06 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$3.76 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Blue Sexy Fashion Lines Splicing Fluorescent Color Bikini Swimwea= r =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.57 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.44 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Dark Blue Sexy Fashion Solid Color Hollow Halter Strap One-piece = Swimwear =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.92 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Ladies Rhinestone Starfish Pattern Purple Halter Suit-tops Pink U= nderwear Bikini Swimwear =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.41 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Sexy Lingeries =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Sexy Lace Three Point Type Bandage Conjoined Sexy Lingerie = =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$4.74 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09White Sexy Solid Color Lace Splicing Sexy Lingerie Set =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.95 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Sexy Simple Color Block Conjoined Navy Uniform =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.10 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.95 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Red Sexy Solid Color G-string Lace Splicing Halter Garter =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$17.90 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$9.11 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Women's Shoes =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Casual Long Cylinder Martin Boots =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.69 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.29 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Magenta Fashion Lycra Net Ventilation Color Candy Rubber Sole Cas= ual Shoes =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$10.33 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Brown Fashion Personality Stiletto Heels Pointed Leopard Shoes =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$11.48 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"G= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Grey Simple Color Block Low Bandage Climbing Causal Shoes =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$12.69 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Bags & Handbags =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Dark Red Vintage Fashion Solid Color Handbag =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$8.81 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$5.66 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Blue Fashion Personality Solid Color Rivet Handbag =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$6.65 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Individuality Splicing Single Shoulder Bag =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$7.86 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09White Simple PU Leather Handbag =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$13.42 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09 =09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09Accessories =09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09VIEW MORE
=09
=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Black Fashion Ladies Flowers Pattern Splicing Bow Causal Warm Spo= rts Glove =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$1.72 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Blue Simple Ladies Solid Color Soft Beading Warm Glove =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$4.00 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Pink Ladies Solid Color Tassel Overlength Scarf & Cape =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.00 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Yellow Fashion Ladies Solid Color Tassel Overlength Scarf & C= ape =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$2.93 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Fashion Thermal Color Camouflage Earmuffs(Random Delivery) =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$0.22 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Opal Crystal Ring =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$1.84 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$1.14 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Fashion Multicolor Lens Toad Sunglasses =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$1.80 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09 =09=09=09=09=09=09= =09=09 =09=09=09=09=09=09=09=093D"Pi= =09=09=09=09=09=09=09 =09=09=09=09=09=09=09 =
=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09=09=09Pink Makeup Brush Set =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09= =09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09= =20 =09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09= =09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$15.58 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09$8.01 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09 =09=09= =09=09=09=09=09=09=09=09=09=09=09=09=09=09 = =09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09Buy Now
=09=09=09=09=09=09=09=09=09=09=09=09
=09=09=09=09=09=09=09=09
=09=09=09
=09=09=09=09 =09=09=09=09=09 =09=09=09=09
=09=09=09=09 =09=09=09=09=092014 UMIdress.com. All Rights Reserved=20 Home  | &n= bsp; Unsubscribe =09=09=09=09=09=09
=09=09=09=09
=09=09=09=09=09
=09=09=09=09=09Thank you for reading this let= ter.

PLEASE NOTE:

This email was sent to: xfs@oss.sgi.com
=09=09=09=09=09UMiDress.com was one of the web's first online stores . Base= d in China,UMiDress offers the lastest street style dresses ,coats, boots &= amp;more. The product prices in the email are for your reference = and the actual prices may vary according to different destination countries= .

If you have any questions or want to get prompt and = fast after-sale service, please visit our=20 =09=09=09=09=09=09 =09=09=09=09=09=09=09Help Center =09=09=09=09=09=09.

TEL=EF=BC=9A+86-755-83035355
Shenzhen Office=EF=BC=9A8/F, No.614 Building, Bagua 1st= Road , Futian District, Shenzhen ,China

=09=09=09=09
=09=09 =09=09=09
From wu.tommy@gmail.com Thu Oct 30 05:39: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 6242C7F3F for ; Thu, 30 Oct 2014 05:39:58 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0C3D8AC004 for ; Thu, 30 Oct 2014 03:39:57 -0700 (PDT) X-ASG-Debug-ID: 1414665595-04bdf038d05360d0001-NocioJ Received: from mail-oi0-f44.google.com (mail-oi0-f44.google.com [209.85.218.44]) by cuda.sgi.com with ESMTP id raU8q9GTnv3zWSiv (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 03:39:56 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.44 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.44] Received: by mail-oi0-f44.google.com with SMTP id h136so3777087oig.31 for ; Thu, 30 Oct 2014 03:39:55 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.44] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.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=apNHGJ8dDoYFtrrboOsqSISn581cozYMFaUcl+HPuys=; b=Ho0mTNiQBDlSDAf7zVgrQ4Zn6Rak5GcSS7emfwylcuaxCSkk0tL91k/37/btesfR6J FeARgg4n308p7GP2N/JOuzDFI565ix2C6v0uRxW1yPYt+psElr1KN3wn6sI8AqKuI/+C OQqDwMI4J6QJXRQMUxSdcadVnE7DmC/1QOpGmbpGgU6qDA+1gWKQu5bArjgIs9w+jdaM oTfArLu8qSSbcxy0Wf1SHS0YXWS4igThayUfSATDFQkJQ2EfOY5g9XvF4LxA20dxdSM6 owaaqp54F/fl6auj6AyHPss/SMLWs5uPg+sYKvy0xgZ3Re3W4sS74OcmIyzb2MeWBPMA cmWg== MIME-Version: 1.0 X-Received: by 10.202.54.194 with SMTP id d185mr946919oia.77.1414665595675; Thu, 30 Oct 2014 03:39:55 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 03:39:55 -0700 (PDT) In-Reply-To: References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> Date: Thu, 30 Oct 2014 18:39:55 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=001a113cd0a04e6a440506a18008 X-Barracuda-Connect: mail-oi0-f44.google.com[209.85.218.44] X-Barracuda-Start-Time: 1414665596 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.11045 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 --001a113cd0a04e6a440506a18008 Content-Type: text/plain; charset=UTF-8 It' look like no help after rebuild xfsdump/xfsprogs, it still got the same error for some case. 2014-10-30 16:39 GMT+08:00 Tommy Wu : > I'm confusing now... > > in the test VM and one of my machine, rebuild xfsdump/xfsprogs will make > the test work. > > In one of my machine, still got error. > > fw1:/vol/backup/x# ldd /sbin/xfsdump > linux-vdso.so.1 (0x00007fff3f7fe000) > libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 > (0x00007f8c2bf9d000) > libhandle.so.1 => /lib/libhandle.so.1 (0x00007f8c2bd99000) > libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 > (0x00007f8c2bb93000) > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 > (0x00007f8c2b976000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8c2b5cd000) > /lib64/ld-linux-x86-64.so.2 (0x00007f8c2c1b5000) > fw1:/vol/backup/x# ldd /sbin/xfsrestore > linux-vdso.so.1 (0x00007fffcee8d000) > libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 > (0x00007ff53d507000) > libhandle.so.1 => /lib/libhandle.so.1 (0x00007ff53d303000) > libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 > (0x00007ff53d0fd000) > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 > (0x00007ff53cee0000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff53cb37000) > /lib64/ld-linux-x86-64.so.2 (0x00007ff53d71f000) > > the xfsdump command I use: > xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump > /mnt/backup > xfsdump.log > the log: > https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ > > the xfsrestore command I use: > xfsrestore -v debug,tree=nitty -p 300 -J -f test.xfsdump /vol/backup/x/ > > xfsrestore.log > the log: > https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI > > > > 2014-10-30 13:03 GMT+08:00 Dave Chinner : > >> On Thu, Oct 30, 2014 at 11:07:21AM +0800, Tommy Wu wrote: >> > I just create a x86-64 VM (using VirtualBox 4.3.18, under windows 8). >> > Install Debian jessie on it. Create a test partition in LVM for testing. >> > (so I think it's not hardware issue here) >> > >> > test procedure: >> > 1. mkfs.xfs the 1st partition in LVM >> > 2. mount the 1st partition >> > 3. extract linux-3.17.tar.xz to the partition >> > 4. xfsdump the 1st partition >> > 5. mkfs.xfs the 2nd partition in LVM >> > 6. mount the 2nd partition >> > 7. xfsrestore the dump file to 2nd partition >> > 8. compare the file/directory in 2 partitions. >> >> Partition sizes are roughly a 5GB source and 10GB destination. >> >> So there's this many files in the fs: >> >> > xfsrestore: 3054 directories and 50556 entries processed >> >> OK, so on 3.18-rc2: >> >> > root@debian:/mnt/xfsdump# mount /dev/debian/xfsrestore /mnt/xfsrestore >> > root@debian:/mnt/xfsdump# cd /mnt/xfsrestore/ >> > root@debian:/mnt/xfsrestore# xfsdump -l 0 -o -p 300 -J -F -M test -L >> test - >> > /mnt/xfsdump | gzip -qv > /mnt/xfsrestore/xfsdump.gz >> .... >> > xfsdump: media file size 575648352 bytes >> > xfsdump: dump size (non-dir files) : 560258760 bytes >> >> These are a handful of bytes different. >> >> > xfsdump: dump complete: 21 seconds elapsed >> > xfsdump: Dump Status: SUCCESS >> > 78.5% >> > root@debian:/mnt/xfsrestore# ls -la >> > total 120680 >> > drwxr-xr-x 2 root root 23 Oct 30 10:48 . >> > drwxr-xr-x 4 root root 4096 Oct 30 10:37 .. >> > -rw-r--r-- 1 root root 123569739 Oct 30 10:48 xfsdump.gz >> > root@debian:/mnt/xfsrestore# cat /mnt/xfsrestore/xfsdump.gz | gzip >> -dqv | >> > xfsrestore -p 300 -J -t - | grep xfsrestore >> >> and the test shows: >> >> > xfsrestore: reading directories >> > xfsrestore: 2035 directories and 33045 entries processed >> >> A thousand less directories and 20000 less files, which doesn't make >> much sense for a dump that has a few bytes difference in size. >> >> So, I've done almost exactly the same test locally (I used the >> 3.18-rc2 tarball) and on both the upstream 3.18-rc2 kernel and my >> current xfs-fixes-for-3.18-rc3 branch I can't reproduce your >> problem: >> >> $ find /mnt/test -type d |wc -l >> 3080 >> $ find /mnt/test |wc -l >> 51068 >> $ zcat dump.gz | sudo xfsrestore -p 300 -J - . |grep xfsrestore >> ..... >> xfsrestore: reading directories >> xfsrestore: 3080 directories and 51068 entries processed >> xfsrestore: directory post-processing >> xfsrestore: restoring non-directory files >> xfsrestore: restore complete: 7 seconds elapsed >> xfsrestore: Restore Status: SUCCESS >> $ find /mnt/scratch -type d |wc -l >> 3080 >> $ find /mnt/scratch |wc -l >> 51069 >> $ ls /mnt/scratch >> dump.gz linux-3.18-rc2 >> $ >> >> Which shows that it's working just fine. I've tried cold cache >> dumps. I've tried crc enabled filesystems, I've tried a bunch of >> random permutations, but I cannot get dump/restore to do what you >> are seeing it do. Whatever problem you are seeing is specific to >> your system. >> >> Hmmm - can you run 'ldd xfsdump' and 'ldd xfsrestore' and paste the >> output for me? >> >> Can you also please run a full test again on a kernel built from the >> current xfs-fixes-for-3.18-rc3 branch, with full dump/restore debug >> enabled and send me the output? i.e. >> >> $ xfsdump -v debug ... >> >> and >> >> $ xfsrestore -v debug,tree=nitty ... >> >> They ar going to produce a lot of output, so please capture it to >> files rather than trying to cut/paste output to an email. >> >> Cheers, >> >> Dave. >> -- >> Dave Chinner >> david@fromorbit.com >> > > > > -- > > Tommy Wu > -- Tommy Wu --001a113cd0a04e6a440506a18008 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
It' look like no help after rebuild xfsdump/xfsprogs, = it still got the same error for some case.

2014-10-30 16:39 GMT+08:00 Tommy Wu <w= u.tommy@gmail.com>:
I'm confusing now...

in the test VM and one of my machine, rebuild xfsdump/xfsprogs will make= the test work.

In one of my machine, still got err= or.

fw1:/vol/backup/x# ldd /sbin/xfsdump
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 linux-vdso.so.1 (0x00007fff3f7fe000)
=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 libuuid.so.1 =3D> /lib/x86_64-linux-gnu/libu= uid.so.1 (0x00007f8c2bf9d000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= libhandle.so.1 =3D> /lib/libhandle.so.1 (0x00007f8c2bd99000)
=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libattr.so.1 =3D> /lib/x86_64-linux= -gnu/libattr.so.1 (0x00007f8c2bb93000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread.so.0 (0x= 00007f8c2b976000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libc.so.6 = =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8c2b5cd000)
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /lib64/ld-linux-x86-64.so.2 (0x00007f8c2c= 1b5000)
fw1:/vol/backup/x# ldd /sbin/xfsrestore
=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 linux-vdso.so.1 (0x00007fffcee8d000)
=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libuuid.so.1 =3D> /lib/x86_64-linux-gnu/l= ibuuid.so.1 (0x00007ff53d507000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 libhandle.so.1 =3D> /lib/libhandle.so.1 (0x00007ff53d303000)
=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libattr.so.1 =3D> /lib/x86_64-li= nux-gnu/libattr.so.1 (0x00007ff53d0fd000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread.so.0 = (0x00007ff53cee0000)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libc.so.= 6 =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff53cb37000)
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /lib64/ld-linux-x86-64.so.2 (0x00007ff53d= 71f000)

the xfsdump command I use:
xfsdump -v debug -l 0 -o= -p 300 -J -F -M test -L test -f test.xfsdump /mnt/backup > xfsdump.log<= br>
the log: https://mega.co.nz/#!xIhTjD6= Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ

the xfsresto= re command I use:
xfsrestore -v debug,tree=3Dnitty -p 300 -J -f test.xfs= dump /vol/backup/x/ > xfsrestore.log
the log: https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar= 5MZhNzGbYI


=

2014-10-30 13:03 GMT+08:00 Dave Chinner <david@fromorb= it.com>:
On Thu, Oct = 30, 2014 at 11:07:21AM +0800, Tommy Wu wrote:
> I just create a x86-64 VM (using VirtualBox 4.3.18, under windows 8).<= br> > Install Debian jessie on it. Create a test partition in LVM for testin= g.
> (so I think it's not hardware issue here)
>
> test procedure:
> 1. mkfs.xfs the 1st partition in LVM
> 2. mount=C2=A0 the 1st partition
> 3. extract linux-3.17.tar.xz to the partition
> 4. xfsdump the 1st partition
> 5. mkfs.xfs the 2nd partition in LVM
> 6. mount the 2nd partition
> 7. xfsrestore the dump file to 2nd partition
> 8. compare the file/directory in 2 partitions.

Partition sizes are roughly a 5GB source and 10GB destination.

So there's this many files in the fs:

> xfsrestore: 3054 directories and 50556 entries processed

OK, so on 3.18-rc2:

> root@debian:/mnt/xfsdump# mount /dev/debian/xfsrestore /mnt/xfsrestore=
> root@debian:/mnt/xfsdump# cd /mnt/xfsrestore/
> root@debian:/mnt/xfsrestore# xfsdump -l 0 -o -p 300 -J -F -M test -L t= est -
> /mnt/xfsdump | gzip -qv > /mnt/xfsrestore/xfsdump.gz
....
> xfsdump: media file size 575648352 bytes
> xfsdump: dump size (non-dir files) : 560258760 bytes

These are a handful of bytes different.

> xfsdump: dump complete: 21 seconds elapsed
> xfsdump: Dump Status: SUCCESS
>=C2=A0 78.5%
> root@debian:/mnt/xfsrestore# ls -la
> total 120680
> drwxr-xr-x 2 root root=C2=A0 =C2=A0 =C2=A0 =C2=A0 23 Oct 30 10:48 . > drwxr-xr-x 4 root root=C2=A0 =C2=A0 =C2=A0 4096 Oct 30 10:37 ..
> -rw-r--r-- 1 root root 123569739 Oct 30 10:48 xfsdump.gz
> root@debian:/mnt/xfsrestore# cat /mnt/xfsrestore/xfsdump.gz | gzip -dq= v |
> xfsrestore -p 300 -J -t - | grep xfsrestore

and the test shows:

> xfsrestore: reading directories
> xfsrestore: 2035 directories and 33045 entries processed

A thousand less directories and 20000 less files, which doesn't = make
much sense for a dump that has a few bytes difference in size.

So, I've done almost exactly the same test locally (I used the
3.18-rc2 tarball) and on both the upstream 3.18-rc2 kernel and my
current xfs-fixes-for-3.18-rc3 branch I can't reproduce your
problem:

$=C2=A0 find /mnt/test -type d |wc -l
3080
$=C2=A0 find /mnt/test=C2=A0 |wc -l
51068
$ zcat dump.gz | sudo xfsrestore -p 300 -J - . |grep xfsrestore
.....
xfsrestore: reading directories
xfsrestore: 3080 directories and 51068 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 7 seconds elapsed
xfsrestore: Restore Status: SUCCESS
$ find /mnt/scratch -type d |wc -l
3080
$ find /mnt/scratch |wc -l
51069
$ ls /mnt/scratch
dump.gz=C2=A0 linux-3.18-rc2
$

Which shows that it's working just fine.=C2=A0 I've tried cold cach= e
dumps. I've tried crc enabled filesystems, I've tried a bunch of random permutations, but I cannot get dump/restore to do what you
are seeing it do. Whatever problem you are seeing is specific to
your system.

Hmmm - can you run 'ldd xfsdump' and 'ldd xfsrestore' and p= aste the
output for me?

Can you also please run a full test again on a kernel built from the
current xfs-fixes-for-3.18-rc3 branch, with full dump/restore debug
enabled and send me the output? i.e.

$ xfsdump -v debug ...

and

$ xfsrestore -v debug,tree=3Dnitty ...

They ar going to produce a lot of output, so please capture it to
files rather than trying to cut/paste output to an email.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.co= m



--

Tommy Wu



--

Tommy Wu
--001a113cd0a04e6a440506a18008-- From bfoster@redhat.com Thu Oct 30 06:46: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 92D477F3F for ; Thu, 30 Oct 2014 06:46:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3C25BAC004 for ; Thu, 30 Oct 2014 04:46:11 -0700 (PDT) X-ASG-Debug-ID: 1414669570-04bdf038cf537ea0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id t928khS2zfvXLgdG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 30 Oct 2014 04:46:10 -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 s9UBk73Q007776 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 30 Oct 2014 07:46:07 -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 s9UBk6e1000909; Thu, 30 Oct 2014 07:46:06 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id A3BB01204CA; Thu, 30 Oct 2014 07:46:05 -0400 (EDT) Date: Thu, 30 Oct 2014 07:46:05 -0400 From: Brian Foster To: Stan Hoeppner Cc: Eric Sandeen , Eric Sandeen , xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size Message-ID: <20141030114605.GA5914@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> <54513635.7050703@sandeen.net> <54515E4E.8010500@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54515E4E.8010500@hardwarefreak.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: 1414669570 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, Oct 29, 2014 at 04:38:22PM -0500, Stan Hoeppner wrote: > On 10/29/2014 01:47 PM, Eric Sandeen wrote: > > On 10/29/14 1:37 PM, Brian Foster wrote: > >> On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: > >>> Today, this geometry: > >>> > >>> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 > >>> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd > >>> 512 > >>> 512 > >>> 512 > >>> 1048576 > >>> > >>> will result in a warning at mkfs time, like this: > >>> > >>> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd > >>> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 > >>> > >>> because our geometry discovery thinks it looks like a > >>> valid striping setup which the commandline is overriding. > >>> However, a stripe unit of 512 really isn't indicative of > >>> a proper stripe geometry. > >>> > >> > >> So the assumption is that the storage reports a non-physical block size > >> for minimum and optimal I/O sizes for geometry detection. There was a > >> real world scenario of this, right? Any idea of the configuration > >> details (e.g., raid layout) that resulted in an increased optimal I/O > >> size but not minimum I/O size? > > > > Stan? :) > > Yeah, it was pretty much what you pasted sans the log su, and it was a > device-mapper device: > > # mkfs.xfs -d su=64k,sw=12 /dev/dm-0 > What kind of device is dm-0? I use linear devices regularly and I don't see any special optimal I/O size reported: # blockdev --getpbsz --getiomin --getioopt --getbsz /dev/mapper/test-scratch 512 512 0 4096 Brian > -- > Stan > > > From 999olukianova@pact.net Thu Oct 30 07:22:14 2014 Return-Path: <999olukianova@pact.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=FROM_STARTS_WITH_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 A69A87F3F for ; Thu, 30 Oct 2014 07:22:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id EE7C6AC001 for ; Thu, 30 Oct 2014 05:22:09 -0700 (PDT) X-ASG-Debug-ID: 1414671723-04cb6c2efb44b220001-NocioJ Received: from mail.globalnet.zp.ua ([192.162.140.5]) by cuda.sgi.com with ESMTP id KTrW4c91tQFedMkn for ; Thu, 30 Oct 2014 05:22:03 -0700 (PDT) X-Barracuda-Envelope-From: 999olukianova@pact.net X-Barracuda-Apparent-Source-IP: 192.162.140.5 Received: from [193.238.111.14] (account alex HELO Unknown) by mail.globalnet.zp.ua (CommuniGate Pro SMTP 5.3.2) with ESMTPA id 3710302; Thu, 30 Oct 2014 10:56:26 +0200 Message-ID: <7376C093984C68EB37327BF17538F134@pgntwb> From: =?koi8-r?B?8tXLz9fPxMnUxczYINPM1dbC2SDCxdrP0MHTzs/T1Mk=?= <999olukianova@pact.net> To: , , , Subject: =?koi8-r?B?8M/Mz9bFzsnFIM8g0M/E0sHaxMXMxc7J0cgg8+I=?= Date: Thu, 30 Oct 2014 09:56:39 +0100 X-ASG-Orig-Subj: =?koi8-r?B?8M/Mz9bFzsnFIM8g0M/E0sHaxMXMxc7J0cgg8+I=?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_1C21_01CFF427.CCF27F60" X-Priority: 3 X-Barracuda-Connect: UNKNOWN[192.162.140.5] X-Barracuda-Start-Time: 1414671723 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_TG035a, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11047 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_1C21_01CFF427.CCF27F60 Content-Type: multipart/alternative; boundary="----=_NextPart_001_1C22_01CFF427.CCF27F60" ------=_NextPart_001_1C22_01CFF427.CCF27F60 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: base64 9yDP1MTFzCDQxdLTz87BzMENCg0K9yDTzNXWwtUgwsXaz9DB087P09TJDQoNCvLVy8/Xz8TJ1MXM wA0K ------=_NextPart_001_1C22_01CFF427.CCF27F60 Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MIHhtbG5zOm8gPSAidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6 b2ZmaWNlIj48SEVBRD4NCjxNRVRBIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1rb2k4LXIi IGh0dHAtZXF1aXY9Q29udGVudC1UeXBlPg0KPE1FVEEgbmFtZT1HRU5FUkFUT1IgY29udGVudD0i TVNIVE1MIDguMDAuNjAwMS4yMzU4OCI+DQo8U1RZTEU+PC9TVFlMRT4NCjwvSEVBRD4NCjxCT0RZ IGJnQ29sb3I9I2ZmZmZmZj4NCjxESVY+9yDP1MTFzCDQxdLTz87BzME8L0RJVj4NCjxESVY+Jm5i c3A7PC9ESVY+DQo8RElWPvcg08zV1sLVIMLF2s/QwdPOz9PUyTwvRElWPg0KPERJVj4mbmJzcDs8 L0RJVj4NCjxESVY+8tXLz9fPxMnUxczAPEJSPjwvRElWPjwvQk9EWT48L0hUTUw+DQo= ------=_NextPart_001_1C22_01CFF427.CCF27F60-- ------=_NextPart_000_1C21_01CFF427.CCF27F60 Content-Type: application/octet-stream; name="info14.docx" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="info14.docx" UEsDBBQABgAIAAAAIQB80x17ewEAAIYFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0 VMtOwzAQvCPxD5GvKHHLASHUtAceR6hE+QDX3qQGv2S7r79nk7ZRKWkqUXqJFK9ndma89mC00ipZ gA/Smpz0sx5JwHArpClz8jF5Se9JEiIzgilrICdrCGQ0vL4aTNYOQoJoE3Iyi9E9UBr4DDQLmXVg sFJYr1nEX19Sx/gXK4He9np3lFsTwcQ0VhxkOHiCgs1VTJ5XuLxR4kxJksfNvqpVTqSu8NU6bUV8 OmiH1IV2jAcVDtow55TkLGIedGHEgZd06yNDZL0nzKQLN2j2iKqq8tPHfoMt7g0PwEsByZj5+Mo0 uqVL6wUVls81JpV107TotEUhOTT4is15yyEEPFmtsqaimTQ7/Ud1hLhWEP5fxYa3qz3qHHvrAsXY zu4P1XwJEClG4cBHCc3RHbcOMWJklzC/Ze6yX09BxFsFtP72z86gpjnZssCbN2FTBWf3+zV5DfVJ EUuYvl8s/T3yLiHN/HHr/xDG7rmo0C1TR+tXdPgNAAD//wMAUEsDBBQABgAIAAAAIQAekRq38wAA AE4CAAALAAgCX3JlbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjJLbSgNBDIbvBd9hyH032woi0tneSKF3IusDhJns AXcOzKTavr2jILpQ217m9OfLT9abg5vUO6c8Bq9hWdWg2JtgR99reG23iwdQWchbmoJnDUfOsGlu b9YvPJGUoTyMMaui4rOGQSQ+ImYzsKNchci+VLqQHEkJU4+RzBv1jKu6vsf0VwOamabaWQ1pZ+9A tcdYNl/WDl03Gn4KZu/Yy4kVyAdhb9kuYipsScZyjWop9SwabDDPJZ2RYqwKNuBpotX1RP9fi46F LAmhCYnP83x1nANaXg902aJ5x687HyFZLBZ9e/tDg7MvaD4BAAD//wMAUEsDBBQABgAIAAAAIQBP meROGgEAADoEAAAcAAgBd29yZC9fcmVscy9kb2N1bWVudC54bWwucmVscyCiBAEooAABAAAAAAAA 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 AQAAACQBAACsAQAACAAIAAgAQ2Fub24AQ2Fub24gTUY0MDEwIFNlcmllcwBAQg8AECcAAEBCDwAQ JwAAQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTQ6MDU6MjMgMTQ6NTU6MjMAAAAJAACQ BwAEAAAAMAAyAASQAgAUAAAAlgEAAAGRBwAEAAAAAQIDAACgBwAEAAAAMAAxAAGgAwABAAAAAQAA AAKgBAABAAAAPgEAAAOgBAABAAAAdQAAAACjBwABAAAAAgAAAAOkAwABAAAAAAAAAAAAAAAyADAA MQA0ADoAMAA1ADoAMgAzAAAABgADAQMAAQAAAAYAAAAaAQUAAQAAAPoBAAAbAQUAAQAAAAICAAAo AQMAAQAAAAIAAAABAgQAAQAAAAoCAAACAgQAAQAAAPYGAAAAAAAASAAAAAEAAABIAAAAAQAAAP/Y /+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUY ExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4O FBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAA7 AKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEB AQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGB MgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NG J5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1 AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1Sj F2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oA DAMBAAIRAxEAPwD1VJJJJSkkkklKSSSSUpJJMZjTUpKWc9rSATqeB35Df+/JyQBJ0A7qFdTWFzvp Pf8AScef6o/dY39xTIBEESDyElLpJKFttdTDZYdrW8n46Af2klM0kOuxzy4OaWFpjxBkbkRJSkkk klKSSSSUpJJJJT//0PVVVf1HFbY6phdfazR1dLS8g/uPcz2VO/417FaVCnFzcFgqxHMvxWCK6LfY 9gH5leRW13qVtb9D1qvW/wBLlpBSUX5rz7MXYP8AhrGtPP8AwAyU2zqrna3UVs8G1ue7/Pdaxv8A 4Eo/tRlcjLouxSPznM3s/revj+tWxv8Ax3pKxj5WLktL8a5l7QYLq3B4B+LCUfopEcXJdBOZa2OQ xtQB/rb6rP8AopOwGPBD7rzOhi1zP/PRr2/2VaSSsqarenY7Zh9+uuuRcfLvakMHHI0fcQCR/P3f B3+FVpVOlBw6bil53WOqY+x2ur3DfY73e73WOcgpQ6bjgHbZeCe/2i4/dvtcl9hsbPp5l7J8Sx// AJ+rsRMjMox9HkusILmVMBdY6OfTqb73LH6R12978r9rtdhOYWGqm017vePV2UVUze/0q31Ms9Tf +m9XZ/o63ASo19VOmaOpsH6PKY8+FtU/c6mynb/m2Kndf1H7U318Zt1OIA8+hZBfa+WVj0r21M31 N/wLsn/D0Wf6Nal91VFTrbnbWNiTyZJ2ta1o9z3vcdjGN+m9UumsN9mRk3MFb/XcW1clsMroY+3l vrvpZ+Z/NV2+l/pEgepA/l/dUzxc3HD3V27qMm1291dzSyTA9lb/AOZu9OtrWfoLLPoK8mc1rmlr gHNPIOoVZ2PbSN2GQI/wDyfTPkz6TqP5Pp/ov+BQU2klCqz1K2v2uYXCSx30gf3XRubuapoKUkkk kpSSSSSn/9H1VJJJJSlXvwMLJO6+hj39nlo3DSPbZ9NqsJJKah6cGmaMi+g+VnqD5MyhkMb/AGWp hV1Rk7ciq0dm2VlrvnbVYG/+AK4kjZU1fXz2D9Jiizn+ZsBOn8nIGM33f8Yqrjjssc99mXjMe4l1 UO9MH853qtZZ6LXfyL661qJJA0pqYdvTSXDDsre4n9IWvDnk/S/Sul1m73fnomRh4+SxzbG+5wA9 RujxtPqV7bB7v0dg9Rinbj49wi6plggj3tDtDyPcg/s7HAio2UayPTe5oB/4vd6X9j00tFL04LWW Nuutfk3Mn07LdvtmfoMpZTU1212z1PT9XYo24Ljkface51Fhne36VbzDWb7avbusaxmzdvU/Qymy a8kmeBaxrgIHb0vQf/nPSnPbptqs0+ludXJ/qbb9v+ekN1MBX1XeJyKNmsxQ8H+TH605P9lynauz LGnX+bZWBH/XK7nf9JT9fIBIOM8xwWOYQf8APfWnGU0kh1djC3mWE/ca97Xf2Utf2qXoobTvIc57 rHb7HuiS4NbVMNDWN9lbPoNRUAZuLw6wMMboeCwgfym2bXNU2ZGPYS2u1jyIkNcCdeOEqO6kiSSS ClJJJJKf/9L1VJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkJ+Nj2O3WVMe7xc0E/iipJKa 7sHFJBa01wIHpOdX/wCeXMS+z3sk05DvJtoD2j7vTt/zrlYSTvVWv4/sUiossew+o3ZY07XASWyO 7HODdzUVJJNU/wD/2f/tEOZQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAFxwBWgADGyVHHAFaAAMb JUccAgAAAoAAADhCSU0EJQAAAAAAENk4OdNQRRY/rdNBb7PVRrk4QklNBDoAAAAAAK8AAAAQAAAA AQAAAAAAC3ByaW50T3V0cHV0AAAABAAAAABQc3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAA AABJbWcgAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wAAAAAC3ByaW50ZXJOYW1lVEVYVAAAAB0AQwBh AG4AbwBuACAATQBGADQAMAAxADAAIABTAGUAcgBpAGUAcwAgAFUARgBSAEkASQAgAEwAVAAAADhC SU0EOwAAAAABsgAAABAAAAABAAAAAAAScHJpbnRPdXRwdXRPcHRpb25zAAAAEgAAAABDcHRuYm9v bAAAAAAAQ2xicmJvb2wAAAAAAFJnc01ib29sAAAAAABDcm5DYm9vbAAAAAAAQ250Q2Jvb2wAAAAA AExibHNib29sAAAAAABOZ3R2Ym9vbAAAAAAARW1sRGJvb2wAAAAAAEludHJib29sAAAAAABCY2tn T2JqYwAAAAEAAAAAAABSR0JDAAAAAwAAAABSZCAgZG91YkBv4AAAAAAAAAAAAEdybiBkb3ViQG/g AAAAAAAAAAAAQmwgIGRvdWJAb+AAAAAAAAAAAABCcmRUVW50RiNSbHQAAAAAAAAAAAAAAABCbGQg VW50RiNSbHQAAAAAAAAAAAAAAABSc2x0VW50RiNQeGxAWQAAAAAAAAAAAAp2ZWN0b3JEYXRhYm9v bAEAAAAAUGdQc2VudW0AAAAAUGdQcwAAAABQZ1BDAAAAAExlZnRVbnRGI1JsdAAAAAAAAAAAAAAA AFRvcCBVbnRGI1JsdAAAAAAAAAAAAAAAAFNjbCBVbnRGI1ByY0BZAAAAAAAAOEJJTQPtAAAAAAAQ AGQAAAABAAIAZAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQPyAAAAAAAKAAD/ //////8AADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAA AAABADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEA L2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklN A/gAAAAAAHAAAP////////////////////////////8D6AAAAAD///////////////////////// ////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////// //8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAAAIAADhCSU0EMAAAAAAAAQEAOEJJTQQtAAAA AAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklN BBoAAAAAA0MAAAAGAAAAAAAAAAAAAAB1AAABPgAAAAcEQQQwBDIEOAQ9BD4EMgAAAAEAAAAAAAAA AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABPgAAAHUAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA AAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAA AAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAHUAAAAAUmdo dGxvbmcAAAE+AAAABnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAAABIAAAAHc2xp Y2VJRGxvbmcAAAAAAAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAADEVTbGljZU9y aWdpbgAAAA1hdXRvR2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUAAAAASW1nIAAA AAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9u ZwAAAAAAAAAAQnRvbWxvbmcAAAB1AAAAAFJnaHRsb25nAAABPgAAAAN1cmxURVhUAAAAAQAAAAAA AG51bGxURVhUAAAAAQAAAAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQAAAABAAAAAAAO Y2VsbFRleHRJc0hUTUxib29sAQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9yekFsaWduZW51 bQAAAA9FU2xpY2VIb3J6QWxpZ24AAAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVtAAAAD0VTbGlj ZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0NvbG9y VHlwZQAAAABOb25lAAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAAAAAA AAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhCSU0EKAAAAAAA DAAAAAI/8AAAAAAAADhCSU0EFAAAAAAABAAAAAI4QklNBAwAAAAABxIAAAABAAAAoAAAADsAAAHg AABuoAAABvYAGAAB/9j/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJ CQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwB DQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwMDP/AABEIADsAoAMBIgACEQEDEQH/3QAEAAr/xAE/AAABBQEBAQEBAQAAAAAAAAADAAEC BAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQAC EQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2 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 AAAAAAAAOEJJTQ+hAAAAAAAcbWZyaQAAAAIAAAAQAAAAAQAAAAAAAAABAAAAADhCSU0EBgAAAAAA BwABAQEAAQEA/+ESbGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2lu PSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4 PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0 Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0 dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0 aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8i IHhtbG5zOmNycz0iaHR0cDovL25zLmFkb2JlLmNvbS9jYW1lcmEtcmF3LXNldHRpbmdzLzEuMC8i IHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1s bnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0 cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9i ZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9u cy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0i QWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxNC0wNS0yM1Qx NDo1NToyMyswNDowMCIgeG1wOkNyZWF0ZURhdGU9IjAwMDIiIHhtcDpNZXRhZGF0YURhdGU9IjIw MTQtMDUtMjNUMTQ6NTU6MjMrMDQ6MDAiIGNyczpBbHJlYWR5QXBwbGllZD0iVHJ1ZSIgcGhvdG9z aG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4x IiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUJFOUI4 QTM2OEUyRTMxMTk0NkVCMTU0M0FGNDJCNkMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MThF OUI4QTM2OEUyRTMxMTk0NkVCMTU0M0FGNDJCNkMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0i eG1wLmRpZDoxOEU5QjhBMzY4RTJFMzExOTQ2RUIxNTQzQUY0MkI2QyI+IDx4bXBNTTpIaXN0b3J5 PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlE PSJ4bXAuaWlkOjE4RTlCOEEzNjhFMkUzMTE5NDZFQjE1NDNBRjQyQjZDIiBzdEV2dDp3aGVuPSIy MDE0LTA1LTIzVDE0OjU0OjQwKzA0OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90 b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rp b249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBpbWFnZS9qcGVnIHRvIGFwcGxp Y2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2 ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL2pwZWcgdG8gYXBwbGlj YXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQi IHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MTlFOUI4QTM2OEUyRTMxMTk0NkVCMTU0M0FGNDJC NkMiIHN0RXZ0OndoZW49IjIwMTQtMDUtMjNUMTQ6NTQ6NDArMDQ6MDAiIHN0RXZ0OnNvZnR3YXJl QWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8 cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MUFF OUI4QTM2OEUyRTMxMTk0NkVCMTU0M0FGNDJCNkMiIHN0RXZ0OndoZW49IjIwMTQtMDUtMjNUMTQ6 NTU6MjMrMDQ6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2lu ZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVk IiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3Ag dG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFy YW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0 byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFu Y2VJRD0ieG1wLmlpZDoxQkU5QjhBMzY4RTJFMzExOTQ2RUIxNTQzQUY0MkI2QyIgc3RFdnQ6d2hl bj0iMjAxNC0wNS0yM1QxNDo1NToyMyswNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUg UGhvdG9zaG9wIENTNSBXaW5kb3dzIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94 bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlp ZDoxQUU5QjhBMzY4RTJFMzExOTQ2RUIxNTQzQUY0MkI2QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1w LmRpZDoxOEU5QjhBMzY4RTJFMzExOTQ2RUIxNTQzQUY0MkI2QyIgc3RSZWY6b3JpZ2luYWxEb2N1 bWVudElEPSJ4bXAuZGlkOjE4RTlCOEEzNjhFMkUzMTE5NDZFQjE1NDNBRjQyQjZDIi8+IDwvcmRm OkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAg 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 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gxY SUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNG VAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3 dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAA ABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD +AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD AAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFu eQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2 LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFla IAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBo dHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5 NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5 NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIu MQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1ye AAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABF AEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA 1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGD AYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnEC egKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOu A7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsF OgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcH BxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJ OglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8O mw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJ EegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYV eBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlr GZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd 7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKv It0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9wo DSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz 8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0 OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpB rEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZR UFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4 WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi 8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xX bK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52 m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yM Y4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfg mEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+ak VqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDq sWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1 zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba +9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ 6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5 x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAhQWRvYmUAZIAAAAABAwAQAwIDBgAAAAAAAAAAAAAA AP/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwM/8IAEQgAdQE+AwEiAAIRAQMRAf/EAMQAAQACAwEBAQAAAAAA AAAAAAAECAECBQMGBwEBAQEBAAAAAAAAAAAAAAAAAAECAxAAAQQCAAUEAwEAAAAAAAAAAQIDBAUA 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 cC54bWxQSwUGAAAAAA0ADQBIAwAAdosAAAAA ------=_NextPart_000_1C21_01CFF427.CCF27F60-- From bfoster@redhat.com Thu Oct 30 08:43: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 21A257F3F for ; Thu, 30 Oct 2014 08:43:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id F2A228F8035 for ; Thu, 30 Oct 2014 06:42:59 -0700 (PDT) X-ASG-Debug-ID: 1414676578-04cb6c2ef944d910001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id aTceVLuNYGvbQnFf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 30 Oct 2014 06:42: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-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 s9UDgtu5022789 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 30 Oct 2014 09:42:55 -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 s9UDgrsc007606; Thu, 30 Oct 2014 09:42:54 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id CB70D1204CA; Thu, 30 Oct 2014 09:42:52 -0400 (EDT) Date: Thu, 30 Oct 2014 09:42:52 -0400 From: Brian Foster To: Dave Chinner Cc: bvowk@box.com, xfs@oss.sgi.com Subject: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required Message-ID: <20141030134252.GB5914@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2] repair: AGFL rebuild fails if btree split required References: <1414552144-12627-1-git-send-email-david@fromorbit.com> <1414552144-12627-3-git-send-email-david@fromorbit.com> <20141029192609.GB2084@bfoster.laptop> <20141029195939.GE13323@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141029195939.GE13323@dastard> 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: 1414676578 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, Oct 30, 2014 at 06:59:39AM +1100, Dave Chinner wrote: > On Wed, Oct 29, 2014 at 03:26:10PM -0400, Brian Foster wrote: > > On Wed, Oct 29, 2014 at 02:09:04PM +1100, Dave Chinner wrote: > > > From: Dave Chinner > > > > > > In phase 5 we rebuild the freelist btrees, the AGF and the AGFL from > > > all the free space information we have gathered and resolved during > > > pahses 3 and 4. If the freespace information is laid out just right, > > > we end up having to allocate free space for the AGFL blocks. > > > > > > If the size of the free space we allocate from is larger than the > > > space we need, then we have to insert the remainder back into the > > > freespace btree. For the by-size tree, this means we are likely to > > > be removing a record from one leaf, and then inserting the remainder > > > - a smaller size - into another leaf. > > > > > > The issue is that the leaf blocks to the left of the original leaf > > > block we removed the extent record from are full and hence require a > > > split to insert the new record. That, of course, requires a free > > > block in the AGFL to allocate from, and now we have a chicken and > > > egg situation: there are no free blocks in the AGFL because we are > > > setting it up. > > > > > > As a result, setting up the free list silently fails, leaving the > > > freespace btrees in an inconsistent state and the AGFL in question > > > empty. When the filesystem is next mounted, the first allocation > > > from that AGF results in attempting to fix the AGFL, and it then > > > does exactly the same thing as the repair code, fails to allocate a > > > block during the split and fails. This results in an immediate > > > shutdown because the transaction doing the allocation is dirty by > > > this stage. > > > > > > The fix for the problem is to make repair handle rebulding the btree > > > differently. If we leave ispace for a couple of records in each > > > btree leaf and node, there is never a need for a split to occur when > > > initially setting up the AGFL. This results in repair doing the > > > right thing, and hence the runtime problems after mount don't occur. > > > Further, add error checking the the AGFL setup code and abort repair > > > if we have a failure to correctly set up the AGFL so we catch this > > > problem at repair time, not mount time... > > > > > > > Interesting problem, thanks for the breakdown. I suppose the only > > interesting side effect is that the alloc btrees might require a bit > > more space after repair than before. I wonder if we need to take that > > into consideration here for certain cases. E.g., does this have > > ramifications for running repair on a clean, but completely full fs, or > > should that be generally handled by the existence of reserved blocks? > > In general, it shouldn't be an issue. It is extremely rare for a > free space btree to be entirely compact - it currently only happens > when repair runs, and the first insert at each leaf triggers splits > and so after a short runtime will no longer be compact. Hence it is > almost always going to be the case that the btree is smaller after > repair than it was before.... > > I can see that it might cause an issue at maximally sized > filesystems with worst case free space fragmentation, but given the > runtime of repair of such a filesystem is probably measured in > months and in hundreds of petabytes of RAM I'm not really concerned > about that right now. > I was more thinking about an fs close to ENOSPC than the overall size of the fs. Now that I think about it again, the free space is going to be related to the size of the trees so it's probably not an issue (e.g., more records in the tree, the more free space in the fs). More specifically, I see that we build up a reserve of blocks for each tree in advance in calculate_freespace_cursor() based on the number of records. That pretty much handles the general issue of the size of the metadata changing due to repair as we'll fail if there isn't enough space. All that said (and as discussed on irc), this isn't quite how I would expect to address this problem. The general algorithm for allocbt reconstruction is to calculate the blocks required for the tree based on the number of records, reserve that many blocks out of the in-core block allocation metadata, reconstruct the tree in its entirety into the buffers associated with those blocks and finally write out the buffers to disk. After the tree has been constructed, remaining extra blocks are spilled over into the agfl. Extra blocks (over reservation) seems to only occur when it is expected that the blocks allocated for the btree change the geometry of the tree from what is expected without considering said btree blocks. I would think that if we're going to potentially do an allocation to fixup the agfl, it probably makes sense to seed the agfl similar to how the btree in general is constructed from in-core metadata. The current risk here is that we don't seem to handle overestimation well. Whatever blocks are left are fit into the agfl and remaining blocks beyond that are lost. The trees have been written by the time build_agf_agfl() is called and we do go right ahead and do allocations for the agfl, so it seems like we should be able to free those extra blocks just the same (this would need to be confirmed, as I could be missing something) and eliminate that (independent) problem entirely. So with that, there is certainly more to it than giving slack to the btree leaf blocks and thus at best this is work for another day. This solution seems fine to me: Reviewed-by: Brian Foster Brian > > > > A couple minor nits below... > > > > > Reported-by: Barkley Vowk > > > Signed-off-by: Dave Chinner > > > --- > > > repair/phase5.c | 44 +++++++++++++++++++++++++++++++++++--------- > > > 1 file changed, 35 insertions(+), 9 deletions(-) > > > > > > diff --git a/repair/phase5.c b/repair/phase5.c > > > index d6d3c6d..3d58936 100644 > > > --- a/repair/phase5.c > > > +++ b/repair/phase5.c > > > @@ -335,11 +335,22 @@ finish_cursor(bt_status_t *curs) > > > } > > > > > > /* > > > + * We need to leave some free records in the tree for the corner case of > > > + * setting up the AGFL. This may require allocation of blocks, and as > > > + * such can require insertion of new records into the tree (e.g. moving > > > + * a record in the by-count tree when a long extent is shortened). If we > > > + * pack the records into the leaves with no slack space, this requires a > > > + * leaf split to occur and a block to be allocated from the free list. > > > + * If we don't have any blocks on the free list (because we are setting > > > + * it up!), then we fail, and the filesystem will fail with the same > > > + * failure at runtime. Hence leave a couple of records slack space in > > > + * each block to allow immediate modification of the tree without > > > + * requiring splits to be done. > > > + * > > > * XXX(hch): any reason we don't just look at mp->m_alloc_mxr? > > > > I guess we could kill this comment now. ;) > > Comment is still valid. I only fixed the bug - I didn't look into > why we aren't using mp->m_alloc_mxr instead of calculating the max > records value from first principles... > > > > @@ -385,6 +392,13 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > > > lptr->num_recs_tot = num_extents; > > > level = 1; > > > > > > +#ifdef XR_BLD_FREE_TRACE > > > + fprintf(stderr, "%s 0 %d %d %d %d\n", __func__, > > > > What's the 0 for? > > The btree level. 0 == leaf.... > > .... > > > @@ -402,6 +416,14 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, > > > lptr->num_recs_pb = p_lptr->num_blocks > > > / lptr->num_blocks; > > > lptr->num_recs_tot = p_lptr->num_blocks; > > > +#ifdef XR_BLD_FREE_TRACE > > > + fprintf(stderr, "%s %d %d %d %d %d\n", __func__, > > > + level, > > > + lptr->num_blocks, > > And as you can see in this hunk as we set up the nodes the level > is printed so we can see the config of each level as it is set up. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From stan@hardwarefreak.com Thu Oct 30 14:14: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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 3FA917F3F for ; Thu, 30 Oct 2014 14:14:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2DE668F8033 for ; Thu, 30 Oct 2014 12:14:45 -0700 (PDT) X-ASG-Debug-ID: 1414696483-04cb6c2efb45d9e0001-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 zygeTmjTHyKZbweV for ; Thu, 30 Oct 2014 12:14:43 -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 [134.64.128.94] (unknown [192.65.45.20]) by greer.hardwarefreak.com (Postfix) with ESMTPA id BCCA36C0E7; Thu, 30 Oct 2014 14:14:42 -0500 (CDT) Message-ID: <54528E44.5090406@hardwarefreak.com> Date: Thu, 30 Oct 2014 14:15:16 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Brian Foster CC: Eric Sandeen , Eric Sandeen , xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> <54513635.7050703@sandeen.net> <54515E4E.8010500@hardwarefreak.com> <20141030114605.GA5914@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size In-Reply-To: <20141030114605.GA5914@bfoster.bfoster> 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: 1414696483 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 10/30/2014 06:46 AM, Brian Foster wrote: > On Wed, Oct 29, 2014 at 04:38:22PM -0500, Stan Hoeppner wrote: >> On 10/29/2014 01:47 PM, Eric Sandeen wrote: >>> On 10/29/14 1:37 PM, Brian Foster wrote: >>>> On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: >>>>> Today, this geometry: >>>>> >>>>> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 >>>>> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd >>>>> 512 >>>>> 512 >>>>> 512 >>>>> 1048576 >>>>> >>>>> will result in a warning at mkfs time, like this: >>>>> >>>>> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd >>>>> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 >>>>> >>>>> because our geometry discovery thinks it looks like a >>>>> valid striping setup which the commandline is overriding. >>>>> However, a stripe unit of 512 really isn't indicative of >>>>> a proper stripe geometry. >>>>> >>>> >>>> So the assumption is that the storage reports a non-physical block size >>>> for minimum and optimal I/O sizes for geometry detection. There was a >>>> real world scenario of this, right? Any idea of the configuration >>>> details (e.g., raid layout) that resulted in an increased optimal I/O >>>> size but not minimum I/O size? >>> >>> Stan? :) >> >> Yeah, it was pretty much what you pasted sans the log su, and it was a >> device-mapper device: >> >> # mkfs.xfs -d su=64k,sw=12 /dev/dm-0 >> > > What kind of device is dm-0? I use linear devices regularly and I don't > see any special optimal I/O size reported: It's a dm-multipath device. I pasted details up thread. Here, again: # multipath -ll 3600c0ff0003630917954075401000000 dm-0 Tek,DH6554 size=44T features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=50 status=active | `- 9:0:0:3 sdj 8:144 active ready running `-+- policy='round-robin 0' prio=10 status=enabled `- 1:0:0:3 sdf 8:80 active ready running # blockdev --getpbsz --getss --getiomin --getioopt /dev/dm-0 512 512 512 1048576 # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdj 512 512 512 1048576 # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdf 512 512 512 1048576 Cheers, Stan From bfoster@redhat.com Thu Oct 30 14:50: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 B3A787F3F for ; Thu, 30 Oct 2014 14:50:52 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8FEA58F8033 for ; Thu, 30 Oct 2014 12:50:52 -0700 (PDT) X-ASG-Debug-ID: 1414698650-04cb6c2efc45f240001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id FRt395Fbe1EXUFcs (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 30 Oct 2014 12:50: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-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 s9UJomTD021761 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 30 Oct 2014 15:50:48 -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 s9UJom14021499; Thu, 30 Oct 2014 15:50:48 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id BAAA21204CA; Thu, 30 Oct 2014 15:50:46 -0400 (EDT) Date: Thu, 30 Oct 2014 15:50:46 -0400 From: Brian Foster To: Stan Hoeppner Cc: Eric Sandeen , Eric Sandeen , xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size Message-ID: <20141030195046.GA48724@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> <54513635.7050703@sandeen.net> <54515E4E.8010500@hardwarefreak.com> <20141030114605.GA5914@bfoster.bfoster> <54528E44.5090406@hardwarefreak.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54528E44.5090406@hardwarefreak.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: 1414698651 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, Oct 30, 2014 at 02:15:16PM -0500, Stan Hoeppner wrote: > On 10/30/2014 06:46 AM, Brian Foster wrote: > > On Wed, Oct 29, 2014 at 04:38:22PM -0500, Stan Hoeppner wrote: > >> On 10/29/2014 01:47 PM, Eric Sandeen wrote: > >>> On 10/29/14 1:37 PM, Brian Foster wrote: > >>>> On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: > >>>>> Today, this geometry: > >>>>> > >>>>> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 > >>>>> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd > >>>>> 512 > >>>>> 512 > >>>>> 512 > >>>>> 1048576 > >>>>> > >>>>> will result in a warning at mkfs time, like this: > >>>>> > >>>>> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd > >>>>> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 > >>>>> > >>>>> because our geometry discovery thinks it looks like a > >>>>> valid striping setup which the commandline is overriding. > >>>>> However, a stripe unit of 512 really isn't indicative of > >>>>> a proper stripe geometry. > >>>>> > >>>> > >>>> So the assumption is that the storage reports a non-physical block size > >>>> for minimum and optimal I/O sizes for geometry detection. There was a > >>>> real world scenario of this, right? Any idea of the configuration > >>>> details (e.g., raid layout) that resulted in an increased optimal I/O > >>>> size but not minimum I/O size? > >>> > >>> Stan? :) > >> > >> Yeah, it was pretty much what you pasted sans the log su, and it was a > >> device-mapper device: > >> > >> # mkfs.xfs -d su=64k,sw=12 /dev/dm-0 > >> > > > > What kind of device is dm-0? I use linear devices regularly and I don't > > see any special optimal I/O size reported: > > It's a dm-multipath device. I pasted details up thread. Here, again: > Oh, I see. So this is just getting passed up from the lower level scsi devices. On a quick look, this data appears to come from the device via the "block limits VPD." Apparently that should be accessible via something like this (0xb0 from sd_read_block_limits()): # sg_inq --page=0xb0 /dev/sdx ... but I don't have a device around that likes that command. It would be interesting to know what makes the underlying device set optimal I/O size as such, but that's just curiosity at this point. :) Brian > # multipath -ll > 3600c0ff0003630917954075401000000 dm-0 Tek,DH6554 > size=44T features='0' hwhandler='0' wp=rw > |-+- policy='round-robin 0' prio=50 status=active > | `- 9:0:0:3 sdj 8:144 active ready running > `-+- policy='round-robin 0' prio=10 status=enabled > `- 1:0:0:3 sdf 8:80 active ready running > > > # blockdev --getpbsz --getss --getiomin --getioopt /dev/dm-0 > 512 > 512 > 512 > 1048576 > > # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdj > 512 > 512 > 512 > 1048576 > > # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdf > 512 > 512 > 512 > 1048576 > > > > Cheers, > Stan > From stan@hardwarefreak.com Thu Oct 30 15:15: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 62A3D7F3F for ; Thu, 30 Oct 2014 15:15:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 50929304032 for ; Thu, 30 Oct 2014 13:15:08 -0700 (PDT) X-ASG-Debug-ID: 1414700107-04cb6c2efb460400001-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 Z92dPrUWz44GbYPm for ; Thu, 30 Oct 2014 13:15:07 -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] (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by greer.hardwarefreak.com (Postfix) with ESMTPA id E94886C18B; Thu, 30 Oct 2014 15:15:06 -0500 (CDT) Message-ID: <54529C6D.5090705@hardwarefreak.com> Date: Thu, 30 Oct 2014 15:15:41 -0500 From: Stan Hoeppner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.7.0 MIME-Version: 1.0 To: Brian Foster CC: Eric Sandeen , Eric Sandeen , xfs-oss Subject: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size References: <544FD3E1.1060000@redhat.com> <20141029183721.GA4226@bfoster.laptop> <54513635.7050703@sandeen.net> <54515E4E.8010500@hardwarefreak.com> <20141030114605.GA5914@bfoster.bfoster> <54528E44.5090406@hardwarefreak.com> <20141030195046.GA48724@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: ignore stripe geom if sunit or swidth == physical sector size In-Reply-To: <20141030195046.GA48724@bfoster.bfoster> 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: 1414700107 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 10/30/2014 02:50 PM, Brian Foster wrote: > On Thu, Oct 30, 2014 at 02:15:16PM -0500, Stan Hoeppner wrote: >> On 10/30/2014 06:46 AM, Brian Foster wrote: >>> On Wed, Oct 29, 2014 at 04:38:22PM -0500, Stan Hoeppner wrote: >>>> On 10/29/2014 01:47 PM, Eric Sandeen wrote: >>>>> On 10/29/14 1:37 PM, Brian Foster wrote: >>>>>> On Tue, Oct 28, 2014 at 12:35:29PM -0500, Eric Sandeen wrote: >>>>>>> Today, this geometry: >>>>>>> >>>>>>> # modprobe scsi_debug opt_blks=2048 dev_size_mb=2048 >>>>>>> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdd >>>>>>> 512 >>>>>>> 512 >>>>>>> 512 >>>>>>> 1048576 >>>>>>> >>>>>>> will result in a warning at mkfs time, like this: >>>>>>> >>>>>>> # mkfs.xfs -f -d su=64k,sw=12 -l su=64k /dev/sdd >>>>>>> mkfs.xfs: Specified data stripe width 1536 is not the same as the volume stripe width 2048 >>>>>>> >>>>>>> because our geometry discovery thinks it looks like a >>>>>>> valid striping setup which the commandline is overriding. >>>>>>> However, a stripe unit of 512 really isn't indicative of >>>>>>> a proper stripe geometry. >>>>>>> >>>>>> >>>>>> So the assumption is that the storage reports a non-physical block size >>>>>> for minimum and optimal I/O sizes for geometry detection. There was a >>>>>> real world scenario of this, right? Any idea of the configuration >>>>>> details (e.g., raid layout) that resulted in an increased optimal I/O >>>>>> size but not minimum I/O size? >>>>> >>>>> Stan? :) >>>> >>>> Yeah, it was pretty much what you pasted sans the log su, and it was a >>>> device-mapper device: >>>> >>>> # mkfs.xfs -d su=64k,sw=12 /dev/dm-0 >>>> >>> >>> What kind of device is dm-0? I use linear devices regularly and I don't >>> see any special optimal I/O size reported: >> >> It's a dm-multipath device. I pasted details up thread. Here, again: >> > > Oh, I see. So this is just getting passed up from the lower level scsi > devices. On a quick look, this data appears to come from the device via > the "block limits VPD." Apparently that should be accessible via > something like this (0xb0 from sd_read_block_limits()): > > # sg_inq --page=0xb0 /dev/sdx > > ... but I don't have a device around that likes that command. It would > be interesting to know what makes the underlying device set optimal I/O > size as such, but that's just curiosity at this point. :) The device isn't setting it. It's global. Any LUN of any RAID level reports the same parms. So apparently it's hard coded in the firmware. I informed our field engineer at the vendor of this issue, and the fact it prompted a patch to XFS, but haven't received a response. An educated guess is that they want to see 1 MiB IOs entering the controller regardless of the stripe geometry of the back end LUN. Could be lots of reasons for this, valid or not. However, given it advertises a minimum optimal IO size of 512 bytes this seems counterintuitive. Thanks, Stan > Brian > >> # multipath -ll >> 3600c0ff0003630917954075401000000 dm-0 Tek,DH6554 >> size=44T features='0' hwhandler='0' wp=rw >> |-+- policy='round-robin 0' prio=50 status=active >> | `- 9:0:0:3 sdj 8:144 active ready running >> `-+- policy='round-robin 0' prio=10 status=enabled >> `- 1:0:0:3 sdf 8:80 active ready running >> >> >> # blockdev --getpbsz --getss --getiomin --getioopt /dev/dm-0 >> 512 >> 512 >> 512 >> 1048576 >> >> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdj >> 512 >> 512 >> 512 >> 1048576 >> >> # blockdev --getpbsz --getss --getiomin --getioopt /dev/sdf >> 512 >> 512 >> 512 >> 1048576 >> >> >> >> Cheers, >> Stan >> > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From david@fromorbit.com Thu Oct 30 18: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 (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 6E94A7F3F for ; Thu, 30 Oct 2014 18:18:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5A574304051 for ; Thu, 30 Oct 2014 16:18:29 -0700 (PDT) X-ASG-Debug-ID: 1414711107-04cb6c2efa4678f0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id iAoAKlUxEcTKDLro for ; Thu, 30 Oct 2014 16:18:27 -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: AkswAIXGUlR5LbBUPGdsb2JhbABcgw5UWII2txsBAQEBAQEGk0SBW4VqBAICgSUXAQEBAQEGAQEBATg7hAIBAQEDATocIwULCAMQCAklDwUlAwcaE4g4CA7KVgEBAQcCARsEGIYehnGCfWsHhEsFllqHFZpRKS+CSwEBAQ Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl2.internode.on.net with ESMTP; 31 Oct 2014 09:35:00 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xjym1-0002kz-MY; Fri, 31 Oct 2014 10:04:57 +1100 Date: Fri, 31 Oct 2014 10:04:57 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141030230457.GK13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@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.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1414711107 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.11060 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Oct 30, 2014 at 04:39:01PM +0800, Tommy Wu wrote: > I'm confusing now... > > in the test VM and one of my machine, rebuild xfsdump/xfsprogs will make > the test work. I know why, too. > the xfsdump command I use: > xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump > /mnt/backup > xfsdump.log > the log: > https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ This indicates the bulkstat on the dump side was terminated prematurely. > the xfsrestore command I use: > xfsrestore -v debug,tree=nitty -p 300 -J -f test.xfsdump /vol/backup/x/ > > xfsrestore.log > the log: > https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI And the errors in the restore side are because there are missing directory inodes in the dump, hence orphaning occurs. It might take me a little while to come up with a fix - I've noticed a few things that I need to check out in more detail in tracking this down.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 30 19:21: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 098E57F3F for ; Thu, 30 Oct 2014 19:21:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9A50FAC001 for ; Thu, 30 Oct 2014 17:21:11 -0700 (PDT) X-ASG-Debug-ID: 1414714868-04bdf038cf557f30001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id mzfPSrtjo3RQylon for ; Thu, 30 Oct 2014 17:21:09 -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: AlhOAMzUUlR5LbBUPGdsb2JhbABcgw5UWII2txsBAQEBAQEGk0SBW4VqAgIBAQKBJBcBAQEBAQYBAQEBODuEAgEBAQQnExwjEAgDEAUDCSUPBQ0YAwcaE4gsAxEOw3UNhjoBAQEBBgIBGwQYhh6GcYEugU9rB4RLBZZahERBghCBMhGNVUKKdykvgksBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail06.adl2.internode.on.net with ESMTP; 31 Oct 2014 10:39:56 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xjzms-0002tW-RE; Fri, 31 Oct 2014 11:09:54 +1100 Date: Fri, 31 Oct 2014 11:09:54 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141031000954.GL13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141030230457.GK13323@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: 1414714869 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.11061 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 31, 2014 at 10:04:57AM +1100, Dave Chinner wrote: > On Thu, Oct 30, 2014 at 04:39:01PM +0800, Tommy Wu wrote: > > I'm confusing now... > > > > in the test VM and one of my machine, rebuild xfsdump/xfsprogs will make > > the test work. > > I know why, too. > > > the xfsdump command I use: > > xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump > > /mnt/backup > xfsdump.log > > the log: > > https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ > > This indicates the bulkstat on the dump side was terminated > prematurely. > > > the xfsrestore command I use: > > xfsrestore -v debug,tree=nitty -p 300 -J -f test.xfsdump /vol/backup/x/ > > > xfsrestore.log > > the log: > > https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI > > And the errors in the restore side are because there are missing > directory inodes in the dump, hence orphaning occurs. > > It might take me a little while to come up with a fix - I've noticed > a few things that I need to check out in more detail in tracking > this down.... Can you try this patch? Cheers, Dave. -- Dave Chinner david@fromorbit.com xfs: handle munged bulkstat cookies correctly From: Dave Chinner xfsdump munges the last inode cookie that bulkstat passes to userspace so subsequent calls can restart at the last inode that bulkstat parsed. xfsdump thinks that it needs to decrement the cookie so that it catches the last inode, and this affects the tree search initialisation code. By decrementing the lastino cookie, the restart inode number can point to non-existent inode number. In 3.16, bulkstat would simply increment the cookie until it either found the next valid inode or the end of the AG, at which point it would just continue on as though nothing had happened. This is a relatively difficult situation to contrive so is extremely hard to test for, but is likely to occur fairly frequently in the real world. The current code, however, treats a cookie that points off into the weeds as invalid and returns a error. This has the effect of causing xfsdump to think it has reached the end of the bulkstat scan, and so if it's cookie munging happens just wrong it will cause incomplete dumps to occur. These dumps still have all the file data in them, just he directory structure is broken and so restore will end up with lots and lots of files in the orphanage (i.e. lost+found). IOWs, we broke xfsdump in a nasty, subtle way that users don't notice until they restore a dump. To fix this, restore the old behaviour of incrementing the inode number derived from the cookie when we fail to find a matching inode record. cc: stable@vger.kernel.org Reported-by: Tommy Wu Signed-off-by: Dave Chinner --- fs/xfs/xfs_itable.c | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 7765ff7..dcc0c99 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -208,6 +208,15 @@ xfs_bulkstat_ichunk_ra( * 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. + * + * If this is the first lookup in a bulkstat call, we have to be careful about + * the agino that is passed - it may not point to a valid inode record. xfsdump, + * in particular, screws with the lastino cookie between bulkstat calls and so + * can point it off into the weeds. Hence we can't return an error here if + * the agino doesn't point to the correct inode chunk. The previous code simply + * incremented agino and tried again. This will work for xfsdump as the next + * lookup will either find the correct chunk or the end of the AG, so let's just + * keep doing that. */ STATIC int xfs_bulkstat_grab_ichunk( @@ -226,7 +235,7 @@ xfs_bulkstat_grab_ichunk( return error; if (!stat) { *icount = 0; - return error; + return 0; } /* Get the record, should always work */ @@ -236,8 +245,11 @@ xfs_bulkstat_grab_ichunk( 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 -EINVAL; + if (irec->ir_startino + XFS_INODES_PER_CHUNK <= agino) { + /* oops, someone is feeding us garbage! */ + *icount = -1; + return 0; + } idx = agino - irec->ir_startino + 1; if (idx < XFS_INODES_PER_CHUNK && @@ -428,6 +440,17 @@ xfs_bulkstat( error = xfs_bulkstat_grab_ichunk(cur, agino, &icount, &r); if (error) goto del_cursor; + if (icount < 0) { + /* + * A pox be cast over xfsdump! + * + * No record containing agino was found. Bump + * it, try again until we find a chunk or fall + * off the end of the AG. + */ + agino++; + goto del_cursor; + } if (icount) { irbp->ir_startino = r.ir_startino; irbp->ir_freecount = r.ir_freecount; @@ -435,14 +458,17 @@ xfs_bulkstat( irbp++; agino = r.ir_startino + XFS_INODES_PER_CHUNK; } + /* Increment to the next record */ error = xfs_btree_increment(cur, 0, &tmp); } else { /* Start of ag. Lookup the first inode chunk */ error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); } - if (error) + if (error || tmp == 0) { + end_of_ag = 1; goto del_cursor; + } /* * Loop through inode btree records in this ag, From wu.tommy@gmail.com Thu Oct 30 20:51: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,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 081C17F3F for ; Thu, 30 Oct 2014 20:51:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7A875AC005 for ; Thu, 30 Oct 2014 18:51:29 -0700 (PDT) X-ASG-Debug-ID: 1414720287-04cbb070c74b7330001-NocioJ Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by cuda.sgi.com with ESMTP id F3j9MkCcQqSEpvUM (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 18:51:27 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] Received: by mail-oi0-f49.google.com with SMTP id u20so4919189oif.22 for ; Thu, 30 Oct 2014 18:51:27 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.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=JSD0grupeqhN0YvCNKlyeYXMs5jHZFKYrliBn9pYoIE=; b=EnBK+uYgap4EkU8AN6pNuzG3PpXfiN1Qfpwj0yjGujaIN1JFK0f6LnNBoSgNTN06zE HXnUpfllbeQJ5rMRwLI/fsvbwuKWATsvJ9dyAUGKwBHGGiErUfDq8lk8iMnDed1wvY4Y QA7JfydpBmqPNFKA6kbmYSRyU6RU4PqN/hSHAqvw7JVrGdC4YlBnHGX9FTBys5qdraA7 F7qKea+w/+4i6GE+O+reRxoxletEg5kYEoXWPGxPGuu6tmmWL/42rRSsOhzqrb1iJuxg hbTl7Lk4qodyxXKogTLRieVRb9Dz33TluyoY6MTzPda+4MZYqwhHVsYe44RLg1MpdsI4 WEJA== MIME-Version: 1.0 X-Received: by 10.202.7.21 with SMTP id 21mr16517441oih.6.1414720287129; Thu, 30 Oct 2014 18:51:27 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 18:51:27 -0700 (PDT) In-Reply-To: <20141031000954.GL13323@dastard> References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> Date: Fri, 31 Oct 2014 09:51:27 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=001a113d10462bf6090506ae3c33 X-Barracuda-Connect: mail-oi0-f49.google.com[209.85.218.49] X-Barracuda-Start-Time: 1414720287 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11063 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 --001a113d10462bf6090506ae3c33 Content-Type: text/plain; charset=UTF-8 After apply this patch, xfsdump will hang again. the log for xfsdump: https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. 2014-10-31 8:09 GMT+08:00 Dave Chinner : > On Fri, Oct 31, 2014 at 10:04:57AM +1100, Dave Chinner wrote: > > On Thu, Oct 30, 2014 at 04:39:01PM +0800, Tommy Wu wrote: > > > I'm confusing now... > > > > > > in the test VM and one of my machine, rebuild xfsdump/xfsprogs will > make > > > the test work. > > > > I know why, too. > > > > > the xfsdump command I use: > > > xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfsdump > > > /mnt/backup > xfsdump.log > > > the log: > > > > https://mega.co.nz/#!xIhTjD6Y!Gwp_ilW5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ > > > > This indicates the bulkstat on the dump side was terminated > > prematurely. > > > > > the xfsrestore command I use: > > > xfsrestore -v debug,tree=nitty -p 300 -J -f test.xfsdump > /vol/backup/x/ > > > > xfsrestore.log > > > the log: > > > > https://mega.co.nz/#!oZIFWQST!VUY90EZ8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI > > > > And the errors in the restore side are because there are missing > > directory inodes in the dump, hence orphaning occurs. > > > > It might take me a little while to come up with a fix - I've noticed > > a few things that I need to check out in more detail in tracking > > this down.... > > Can you try this patch? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > > xfs: handle munged bulkstat cookies correctly > > From: Dave Chinner > > xfsdump munges the last inode cookie that bulkstat passes to > userspace so subsequent calls can restart at the last inode that > bulkstat parsed. xfsdump thinks that it needs to decrement the > cookie so that it catches the last inode, and this affects the > tree search initialisation code. > > By decrementing the lastino cookie, the restart inode number can > point to non-existent inode number. In 3.16, bulkstat would simply > increment the cookie until it either found the next valid inode or > the end of the AG, at which point it would just continue on as > though nothing had happened. This is a relatively difficult > situation to contrive so is extremely hard to test for, but is > likely to occur fairly frequently in the real world. > > The current code, however, treats a cookie that points off into the > weeds as invalid and returns a error. This has the effect of causing > xfsdump to think it has reached the end of the bulkstat scan, and so > if it's cookie munging happens just wrong it will cause incomplete > dumps to occur. These dumps still have all the file data in them, > just he directory structure is broken and so restore will end up > with lots and lots of files in the orphanage (i.e. lost+found). > > IOWs, we broke xfsdump in a nasty, subtle way that users don't > notice until they restore a dump. > > To fix this, restore the old behaviour of incrementing the inode > number derived from the cookie when we fail to find a matching inode > record. > > cc: stable@vger.kernel.org > Reported-by: Tommy Wu > Signed-off-by: Dave Chinner > --- > fs/xfs/xfs_itable.c | 34 ++++++++++++++++++++++++++++++---- > 1 file changed, 30 insertions(+), 4 deletions(-) > > diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c > index 7765ff7..dcc0c99 100644 > --- a/fs/xfs/xfs_itable.c > +++ b/fs/xfs/xfs_itable.c > @@ -208,6 +208,15 @@ xfs_bulkstat_ichunk_ra( > * 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. > + * > + * If this is the first lookup in a bulkstat call, we have to be careful > about > + * the agino that is passed - it may not point to a valid inode record. > xfsdump, > + * in particular, screws with the lastino cookie between bulkstat calls > and so > + * can point it off into the weeds. Hence we can't return an error here if > + * the agino doesn't point to the correct inode chunk. The previous code > simply > + * incremented agino and tried again. This will work for xfsdump as the > next > + * lookup will either find the correct chunk or the end of the AG, so > let's just > + * keep doing that. > */ > STATIC int > xfs_bulkstat_grab_ichunk( > @@ -226,7 +235,7 @@ xfs_bulkstat_grab_ichunk( > return error; > if (!stat) { > *icount = 0; > - return error; > + return 0; > } > > /* Get the record, should always work */ > @@ -236,8 +245,11 @@ xfs_bulkstat_grab_ichunk( > 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 -EINVAL; > + if (irec->ir_startino + XFS_INODES_PER_CHUNK <= agino) { > + /* oops, someone is feeding us garbage! */ > + *icount = -1; > + return 0; > + } > > idx = agino - irec->ir_startino + 1; > if (idx < XFS_INODES_PER_CHUNK && > @@ -428,6 +440,17 @@ xfs_bulkstat( > error = xfs_bulkstat_grab_ichunk(cur, agino, > &icount, &r); > if (error) > goto del_cursor; > + if (icount < 0) { > + /* > + * A pox be cast over xfsdump! > + * > + * No record containing agino was found. > Bump > + * it, try again until we find a chunk or > fall > + * off the end of the AG. > + */ > + agino++; > + goto del_cursor; > + } > if (icount) { > irbp->ir_startino = r.ir_startino; > irbp->ir_freecount = r.ir_freecount; > @@ -435,14 +458,17 @@ xfs_bulkstat( > irbp++; > agino = r.ir_startino + > XFS_INODES_PER_CHUNK; > } > + > /* Increment to the next record */ > error = xfs_btree_increment(cur, 0, &tmp); > } else { > /* Start of ag. Lookup the first inode chunk */ > error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, > &tmp); > } > - if (error) > + if (error || tmp == 0) { > + end_of_ag = 1; > goto del_cursor; > + } > > /* > * Loop through inode btree records in this ag, > -- Tommy Wu --001a113d10462bf6090506ae3c33 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
After apply this patch, xfsdump will hang again.=

the log for xfsdump:
https://mega.co.nz/#!tUgz3= QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds

But 'e= cho w > /proc/sysrq-trigger' no any blocked task in dmesg.


2014-10-31 8:= 09 GMT+08:00 Dave Chinner <david@fromorbit.com>:
On Fri, Oc= t 31, 2014 at 10:04:57AM +1100, Dave Chinner wrote:
> On Thu, Oct 30, 2014 at 04:39:01PM +0800, Tommy Wu wrote:
> > I'm confusing now...
> >
> > in the test VM and one of my machine, rebuild xfsdump/xfsprogs wi= ll make
> > the test work.
>
> I know why, too.
>
> > the xfsdump command I use:
> > xfsdump -v debug -l 0 -o -p 300 -J -F -M test -L test -f test.xfs= dump
> > /mnt/backup > xfsdump.log
> > the log:
> > https://mega.co.nz/#!xIhTjD6Y!Gwp_il= W5UyRiqn2DSxPTHM0TH5qBghMlKXAmHoWk2iQ
>
> This indicates the bulkstat on the dump side was terminated
> prematurely.
>
> > the xfsrestore command I use:
> > xfsrestore -v debug,tree=3Dnitty -p 300 -J -f test.xfsdump /vol/b= ackup/x/ >
> > xfsrestore.log
> > the log:
> > https://mega.co.nz/#!oZIFWQST!VUY90E= Z8XvZDYy9GwF5mqtQVtWNW90Sar5MZhNzGbYI
>
> And the errors in the restore side are because there are missing
> directory inodes in the dump, hence orphaning occurs.
>
> It might take me a little while to come up with a fix - I've notic= ed
> a few things that I need to check out in more detail in tracking
> this down....

Can you try this patch?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com

xfs: handle munged bulkstat cookies correctly

From: Dave Chinner <dchinner@redh= at.com>

xfsdump munges the last inode cookie that bulkstat passes to
userspace so subsequent calls can restart at the last inode that
bulkstat parsed. xfsdump thinks that it needs to decrement the
cookie so that it catches the last inode, and this affects the
tree search initialisation code.

By decrementing the lastino cookie, the restart inode number can
point to non-existent inode number. In 3.16, bulkstat would simply
increment the cookie until it either found the next valid inode or
the end of the AG, at which point it would just continue on as
though nothing had happened. This is a relatively difficult
situation to contrive so is extremely hard to test for, but is
likely to occur fairly frequently in the real world.

The current code, however, treats a cookie that points off into the
weeds as invalid and returns a error. This has the effect of causing
xfsdump to think it has reached the end of the bulkstat scan, and so
if it's cookie munging happens just wrong it will cause incomplete
dumps to occur. These dumps still have all the file data in them,
just he directory structure is broken and so restore will end up
with lots and lots of files in the orphanage (i.e. lost+found).

IOWs, we broke xfsdump in a nasty, subtle way that users don't
notice until they restore a dump.

To fix this, restore the old behaviour of incrementing the inode
number derived from the cookie when we fail to find a matching inode
record.

cc: stable@vger.kernel.org Reported-by: Tommy Wu <wu.tommy@gm= ail.com>
Signed-off-by: Dave Chinner <dchi= nner@redhat.com>
---
=C2=A0fs/xfs/xfs_itable.c | 34 ++++++++++++++++++++++++++++++----
=C2=A01 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index 7765ff7..dcc0c99 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -208,6 +208,15 @@ xfs_bulkstat_ichunk_ra(
=C2=A0 * if we found the chunk.=C2=A0 If the inode was not the last in the = chunk and there
=C2=A0 * are some left allocated, update the data for the pointed-to record= as well as
=C2=A0 * return the count of grabbed inodes.
+ *
+ * If this is the first lookup in a bulkstat call, we have to be careful a= bout
+ * the agino that is passed - it may not point to a valid inode record. xf= sdump,
+ * in particular, screws with the lastino cookie between bulkstat calls an= d so
+ * can point it off into the weeds. Hence we can't return an error her= e if
+ * the agino doesn't point to the correct inode chunk. The previous co= de simply
+ * incremented agino and tried again. This will work for xfsdump as the ne= xt
+ * lookup will either find the correct chunk or the end of the AG, so let&= #39;s just
+ * keep doing that.
=C2=A0 */
=C2=A0STATIC int
=C2=A0xfs_bulkstat_grab_ichunk(
@@ -226,7 +235,7 @@ xfs_bulkstat_grab_ichunk(
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return error;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!stat) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *icount =3D 0;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return error;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return 0;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Get the record, should always work */
@@ -236,8 +245,11 @@ xfs_bulkstat_grab_ichunk(
=C2=A0 =C2=A0 =C2=A0 =C2=A0 XFS_WANT_CORRUPTED_RETURN(stat =3D=3D 1);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Check if the record contains the inode in re= quest */
-=C2=A0 =C2=A0 =C2=A0 =C2=A0if (irec->ir_startino + XFS_INODES_PER_CHUNK= <=3D agino)
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return -EINVAL;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (irec->ir_startino + XFS_INODES_PER_CHUNK= <=3D agino) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* oops, someone is= feeding us garbage! */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*icount =3D -1;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return 0;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0}

=C2=A0 =C2=A0 =C2=A0 =C2=A0 idx =3D agino - irec->ir_startino + 1;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (idx < XFS_INODES_PER_CHUNK && @@ -428,6 +440,17 @@ xfs_bulkstat(
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 error =3D xfs_bulkstat_grab_ichunk(cur, agino, &icount, &= ;r);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 if (error)
=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 =C2=A0 goto del_cursor;
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0if (icount < 0) {
+=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 =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 =C2=A0 =C2=A0 * A pox be cast over xfsdump!
+=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 =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 =C2=A0 =C2=A0 * No record containing agino was fou= nd.=C2=A0 Bump
+=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 =C2=A0 * it, try again until we find a chun= k or fall
+=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 =C2=A0 * off the end of the AG.
+=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 =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 =C2=A0 =C2=A0agino++;
+=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 =C2=A0goto del_cursor;
+=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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 if (icount) {
=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 =C2=A0 irbp->ir_startino =3D r.ir_starti= no;
=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 =C2=A0 irbp->ir_freecount =3D r.ir_freec= ount;
@@ -435,14 +458,17 @@ xfs_bulkstat(
=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 =C2=A0 irbp++;
=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 =C2=A0 agino =3D r.ir_startino + XFS_INODES= _PER_CHUNK;
=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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 /* Increment to the next record */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 error =3D xfs_btree_increment(cur, 0, &tmp);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 /* Start of ag.=C2=A0 Lookup the first inode chunk */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 error =3D xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp);
=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 =C2=A0if (error)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (error || tmp = =3D=3D 0) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0end_of_ag =3D 1;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 goto del_cursor;
+=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 =C2=A0 /*
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Loop throug= h inode btree records in this ag,



--

Tommy Wu
--001a113d10462bf6090506ae3c33-- From david@fromorbit.com Thu Oct 30 22:49: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 3F3687F3F for ; Thu, 30 Oct 2014 22:49:53 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1E47B30404E for ; Thu, 30 Oct 2014 20:49:52 -0700 (PDT) X-ASG-Debug-ID: 1414727379-04bdf038d255e5e0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id JTfo0d2OMD5ejZRD for ; Thu, 30 Oct 2014 20:49: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: AsErAEYGU1R5LbBU/2dsb2JhbABcgw5UWII2tx0BAQEBAQEGk0SBW4VqBAICgRsXAQEBAQF9hAMBAQQ6HCMQCAMQCAklDwUlAyETiEAOyh8BAQgCARsEGIYehnGDaAeESwWWWocVlkWEDCkvgksBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail07.adl2.internode.on.net with ESMTP; 31 Oct 2014 14:19:38 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xk3DJ-0003Mo-ID; Fri, 31 Oct 2014 14:49:25 +1100 Date: Fri, 31 Oct 2014 14:49:25 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141031034925.GM13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@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: 1414727379 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.11065 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > After apply this patch, xfsdump will hang again. > > the log for xfsdump: > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. echo l > /proc/sysrq-trigger echo t > /proc/sysrq-trigger -Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Oct 30 23:25: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 C96F77F3F for ; Thu, 30 Oct 2014 23:25:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id A6566304039 for ; Thu, 30 Oct 2014 21:25:27 -0700 (PDT) X-ASG-Debug-ID: 1414729525-04bdf038d155f4f0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id Bqo9wsGgGHDoExzn for ; Thu, 30 Oct 2014 21:25: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: AsErAHgOU1R5LbBU/2dsb2JhbABcgw5UWII2tx0BAQEBAQEGk0SBW4VqBAICgRsXAQEBAQF9hAMBAQQ6HCMQCAMQCAklDwUlAyETiEAOygUBAQgCARsEGIYehnGDaAeESwWWWocVlkWEDCkvgksBAQE Received: from ppp121-45-176-84.lns20.syd7.internode.on.net (HELO dastard) ([121.45.176.84]) by ipmail07.adl2.internode.on.net with ESMTP; 31 Oct 2014 14:55:25 +1030 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Xk3lv-0003RQ-Lq; Fri, 31 Oct 2014 15:25:11 +1100 Date: Fri, 31 Oct 2014 15:25:11 +1100 From: Dave Chinner To: Tommy Wu Cc: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 Message-ID: <20141031042511.GN13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> <20141031034925.GM13323@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141031034925.GM13323@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: 1414729525 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.11065 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Oct 31, 2014 at 02:49:25PM +1100, Dave Chinner wrote: > On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > > After apply this patch, xfsdump will hang again. > > > > the log for xfsdump: > > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. > > echo l > /proc/sysrq-trigger > echo t > /proc/sysrq-trigger Also, I just cannot reproduce a hung dump or a broken restore, so can you take an unobfuscated metadump of the source filesystem (i.e. the one you are running dump on) so I can try on an exact image of the filesystem you are having troubles on? Cheers, Dave. -- Dave Chinner david@fromorbit.com From wu.tommy@gmail.com Thu Oct 30 23:40: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=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 (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 3F1E77F3F for ; Thu, 30 Oct 2014 23:40:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2D6BD8F8035 for ; Thu, 30 Oct 2014 21:40:36 -0700 (PDT) X-ASG-Debug-ID: 1414730434-04cb6c2efb4706b0001-NocioJ Received: from mail-oi0-f44.google.com (mail-oi0-f44.google.com [209.85.218.44]) by cuda.sgi.com with ESMTP id q0Jc1srC5ZD8EQiP (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 21:40:34 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.44 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.44] Received: by mail-oi0-f44.google.com with SMTP id h136so5144941oig.31 for ; Thu, 30 Oct 2014 21:40:34 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.44] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.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=5O5ZKdsDws93mSoEqZnft8TqRkPmKQC0mnNLDxc8Z2w=; b=a5m51qFCUBawEKHnUb5m1EdkE9vynSotkMciRLtwJ9aZaxT10N6+xoOpiEE6eeoKqn eVtwWmaaikmNsjL4Yz3Xl3C6LXi8yuJTaO8cDHAhtYLmhGb7ya/3nvr881qRhJ0SUfMf yj7LEjIUWFa/AmJgyCXxGTyQSttQzcNgRNfVLp/7hOZ6BFE42o0UmfBefsCSTx23XaAI Sgrz2v3MVqp50D1We+VuWSByoDAmSd3ggXN6aYxXlA5bjmLipbYbJmZSsW4VC4gtI6nm wcqNCRXxD6XboyEbzjP5kDOt/L6SSLkEZlMs+SCWkX0RZlYuUBXYkIEEsSqO3jUSrWIV XFXA== MIME-Version: 1.0 X-Received: by 10.60.178.229 with SMTP id db5mr18242043oec.28.1414730433890; Thu, 30 Oct 2014 21:40:33 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 21:40:33 -0700 (PDT) In-Reply-To: <20141031034925.GM13323@dastard> References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> <20141031034925.GM13323@dastard> Date: Fri, 31 Oct 2014 12:40:33 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=089e01183f78f717450506b09830 X-Barracuda-Connect: mail-oi0-f44.google.com[209.85.218.44] X-Barracuda-Start-Time: 1414730434 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.11065 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 --089e01183f78f717450506b09830 Content-Type: text/plain; charset=UTF-8 the dmesg log: https://mega.co.nz/#!VIgnQYbK!cC0l8WKOtgJkmi0pCbpJf9mm357nzi0fpV0extUmbC0 2014-10-31 11:49 GMT+08:00 Dave Chinner : > On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > > After apply this patch, xfsdump will hang again. > > > > the log for xfsdump: > > > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. > > echo l > /proc/sysrq-trigger > echo t > /proc/sysrq-trigger > > -Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --089e01183f78f717450506b09830 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

the dmesg log:
https://mega.c= o.nz/#!VIgnQYbK!cC0l8WKOtgJkmi0pCbpJf9mm357nzi0fpV0extUmbC0

2014-10-31 11:49 GMT= +08:00 Dave Chinner <david@fromorbit.com>:
On Fri, Oct 31, 2014= at 09:51:27AM +0800, Tommy Wu wrote:
> After apply this patch, xfsdump will hang again.
>
> the log for xfsdump:
> https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lY= Cg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds
>
> But 'echo w > /proc/sysrq-trigger' no any blocked task in d= mesg.

echo l > /proc/sysrq-trigger
echo t > /proc/sysrq-trigger

-Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--089e01183f78f717450506b09830-- From wu.tommy@gmail.com Thu Oct 30 23:42: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,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 E738C7F3F for ; Thu, 30 Oct 2014 23:42:47 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id C291A304039 for ; Thu, 30 Oct 2014 21:42:47 -0700 (PDT) X-ASG-Debug-ID: 1414730566-04cbb070c84bc3a0001-NocioJ Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by cuda.sgi.com with ESMTP id PEdMtOg1FHsPx1gI (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 21:42:46 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.218.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] Received: by mail-oi0-f49.google.com with SMTP id u20so5070944oif.36 for ; Thu, 30 Oct 2014 21:42:46 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.218.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=4ACWvwKYX1NxLaeE+dj7gL1u9UiZTFHxnBwlG5LK7Ec=; b=xNnBuh/ro6dROn58Likwaw/j2GGegfqoAshN6oR15uyK7VhUbjBBlzGAnz+rbkph/C b8B8Y1shXZe8PYHD7fV44+g2l35cS+z4UUnC4TQjvnDAuFmkCLt0N193JldPZ2ntTlhn UcKLt1x1CtGCJObMHKD1PP9ELGub8UrUgGF9KzNgCKTg2r9JYWokchUQ3dSfWvbSX7od Yfy7cqDjV6Tjj2NeFlXuDbYq1p9+dRLF2luy5aFpAObaf7DlklO1g//fyrrslc1kR4gY lHxHLJ2Dxn+TVz2mnG7dWwPDuB3OmRovEANH1jedgiU8wQ5pCdjmkcLLhnQLK2oLSB+8 24/g== MIME-Version: 1.0 X-Received: by 10.202.86.82 with SMTP id k79mr16547250oib.58.1414730566139; Thu, 30 Oct 2014 21:42:46 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 21:42:46 -0700 (PDT) In-Reply-To: <20141031042511.GN13323@dastard> References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> <20141031034925.GM13323@dastard> <20141031042511.GN13323@dastard> Date: Fri, 31 Oct 2014 12:42:46 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=001a113df3fad905040506b0a098 X-Barracuda-Connect: mail-oi0-f49.google.com[209.85.218.49] X-Barracuda-Start-Time: 1414730566 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, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11065 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 --001a113df3fad905040506b0a098 Content-Type: text/plain; charset=UTF-8 dump whole filesystem? I'll try dd later. 2014-10-31 12:25 GMT+08:00 Dave Chinner : > On Fri, Oct 31, 2014 at 02:49:25PM +1100, Dave Chinner wrote: > > On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > > > After apply this patch, xfsdump will hang again. > > > > > > the log for xfsdump: > > > > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > > > > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. > > > > echo l > /proc/sysrq-trigger > > echo t > /proc/sysrq-trigger > > Also, I just cannot reproduce a hung dump or a broken restore, > so can you take an unobfuscated metadump of the source filesystem > (i.e. the one you are running dump on) so I can try on an exact > image of the filesystem you are having troubles on? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --001a113df3fad905040506b0a098 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
dump whole filesystem?
I'll try dd = later.

2014-10-31 12:25 GMT+08:00 Dave Chinner <david@fromorbit.com&g= t;:
On Fri, Oct 3= 1, 2014 at 02:49:25PM +1100, Dave Chinner wrote:
> On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote:
> > After apply this patch, xfsdump will hang again.
> >
> > the log for xfsdump:
> > https://mega.co.nz/#!tUgz3QrC!q7Ix53= sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds
> >
> > But 'echo w > /proc/sysrq-trigger' no any blocked task= in dmesg.
>
> echo l > /proc/sysrq-trigger
> echo t > /proc/sysrq-trigger

Also, I just cannot reproduce a hung dump or a broken restore,
so can you take an unobfuscated metadump of the source filesystem
(i.e. the one you are running dump on) so I can try on an exact
image of the filesystem you are having troubles on?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--001a113df3fad905040506b0a098-- From sandeen@sandeen.net Thu Oct 30 23:55: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 7DAFB7F3F for ; Thu, 30 Oct 2014 23:55:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6AC068F8033 for ; Thu, 30 Oct 2014 21:55:55 -0700 (PDT) X-ASG-Debug-ID: 1414731353-04cb6c2efb470ce0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id tVTsMtWJFtXXnASR for ; Thu, 30 Oct 2014 21:55: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.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 83B9B613565B; Thu, 30 Oct 2014 23:55:52 -0500 (CDT) Message-ID: <54531657.3080307@sandeen.net> Date: Thu, 30 Oct 2014 23:55:51 -0500 From: Eric Sandeen MIME-Version: 1.0 To: Tommy Wu , Dave Chinner CC: xfs Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> <20141031034925.GM13323@dastard> <20141031042511.GN13323@dastard> X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1414731353 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.11066 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 10/30/14 11:42 PM, Tommy Wu wrote: > dump whole filesystem? > I'll try dd later. no, use xfs_metadump -o, compress & send it (or a link to it) to Dave on a private channel. -Eric > 2014-10-31 12:25 GMT+08:00 Dave Chinner >: > > On Fri, Oct 31, 2014 at 02:49:25PM +1100, Dave Chinner wrote: > > On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > > > After apply this patch, xfsdump will hang again. > > > > > > the log for xfsdump: > > > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > > > > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. > > > > echo l > /proc/sysrq-trigger > > echo t > /proc/sysrq-trigger > > Also, I just cannot reproduce a hung dump or a broken restore, > so can you take an unobfuscated metadump of the source filesystem > (i.e. the one you are running dump on) so I can try on an exact > image of the filesystem you are having troubles on? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > > > > > -- > > Tommy Wu > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From wu.tommy@gmail.com Fri Oct 31 00:40: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=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 (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id AE56C7F3F for ; Fri, 31 Oct 2014 00:40:12 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2BF7EAC004 for ; Thu, 30 Oct 2014 22:40:09 -0700 (PDT) X-ASG-Debug-ID: 1414734006-04cb6c2ef9471f20001-NocioJ Received: from mail-ob0-f173.google.com (mail-ob0-f173.google.com [209.85.214.173]) by cuda.sgi.com with ESMTP id cD8xHMDnsNGIlPdf (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 30 Oct 2014 22:40:07 -0700 (PDT) X-Barracuda-Envelope-From: wu.tommy@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.173 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.173] Received: by mail-ob0-f173.google.com with SMTP id wn1so5366180obc.18 for ; Thu, 30 Oct 2014 22:40:06 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.173] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.173] 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=PcUFrcKhPAm/g39NW37AH9QJ6ac/APtPoUCQcDVv568=; b=NkmqLyDZyhI2hShZBs8PlKEwSdTQEGQNDB6lhn7a0rnd8XFxFiJW/AInCcUdJlZ8PA IacYIvRtfJx5p3UCv0yhfTEiglZd2bhTZGoS1UMyaLYJfaS1H0rqTSRO/hBtJ8YV37ZH F8apgT3keACFv/qT2jq082aicrkuS4tRAONJdMdwinBq0UUTKvr+ycenigX9foZhyVdv sGlwpqVR7GWb1rBY4o9RijHnbKaeD8SUINwziMeUzN3jwa5w1P8Z6xFcfr1+voy+nwFj iIgDst3CFnPlxUSRRIt4PaIzrT9wlazrHM1k8raoXZS04u8GFEVa170EvFZRKDg51DIC dekg== MIME-Version: 1.0 X-Received: by 10.202.170.21 with SMTP id t21mr17459785oie.5.1414734006868; Thu, 30 Oct 2014 22:40:06 -0700 (PDT) Received: by 10.60.51.8 with HTTP; Thu, 30 Oct 2014 22:40:06 -0700 (PDT) In-Reply-To: <20141031042511.GN13323@dastard> References: <20141029212556.GH13323@dastard> <20141030050306.GI13323@dastard> <20141030230457.GK13323@dastard> <20141031000954.GL13323@dastard> <20141031034925.GM13323@dastard> <20141031042511.GN13323@dastard> Date: Fri, 31 Oct 2014 13:40:06 +0800 Message-ID: Subject: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 From: Tommy Wu X-ASG-Orig-Subj: Re: xfsrestore report SUCCESS but not restore all files in kernel 3.17 To: Dave Chinner Cc: xfs Content-Type: multipart/alternative; boundary=001a113cdf64ee626b0506b16d5c X-Barracuda-Connect: mail-ob0-f173.google.com[209.85.214.173] X-Barracuda-Start-Time: 1414734007 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.11066 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 --001a113cdf64ee626b0506b16d5c Content-Type: text/plain; charset=UTF-8 metadump (it's just a test partition with linux 3.17 source code): https://mega.co.nz/#!FQImhABD!8D6A0ZtXmGPhpm2gtrMBej6xPS5pKF-WM4MZxfGPbD0 2014-10-31 12:25 GMT+08:00 Dave Chinner : > On Fri, Oct 31, 2014 at 02:49:25PM +1100, Dave Chinner wrote: > > On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote: > > > After apply this patch, xfsdump will hang again. > > > > > > the log for xfsdump: > > > > https://mega.co.nz/#!tUgz3QrC!q7Ix53sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds > > > > > > But 'echo w > /proc/sysrq-trigger' no any blocked task in dmesg. > > > > echo l > /proc/sysrq-trigger > > echo t > /proc/sysrq-trigger > > Also, I just cannot reproduce a hung dump or a broken restore, > so can you take an unobfuscated metadump of the source filesystem > (i.e. the one you are running dump on) so I can try on an exact > image of the filesystem you are having troubles on? > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > -- Tommy Wu --001a113cdf64ee626b0506b16d5c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
metadump (it's just a test partition with linux 3.17 s= ource code):
https://mega.co.nz/#!FQImhABD!8D6A0ZtXmGPhpm2gtr= MBej6xPS5pKF-WM4MZxfGPbD0

2014-10-31 12:25 GMT+08:00 Dave Chinner <david@fro= morbit.com>:
On Fri, Oct 31, 2014 at 02:49:25PM +1100, Dave Chinner wrote:
> On Fri, Oct 31, 2014 at 09:51:27AM +0800, Tommy Wu wrote:
> > After apply this patch, xfsdump will hang again.
> >
> > the log for xfsdump:
> > https://mega.co.nz/#!tUgz3QrC!q7Ix53= sl9lYCg0iKRHjgOqF0tZJAVKHBNz0OHWof-ds
> >
> > But 'echo w > /proc/sysrq-trigger' no any blocked task= in dmesg.
>
> echo l > /proc/sysrq-trigger
> echo t > /proc/sysrq-trigger

Also, I just cannot reproduce a hung dump or a broken restore,
so can you take an unobfuscated metadump of the source filesystem
(i.e. the one you are running dump on) so I can try on an exact
image of the filesystem you are having troubles on?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com



--

Tommy Wu
--001a113cdf64ee626b0506b16d5c-- From drissamamboe@outlook.com Fri Oct 31 08: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=3.6 required=5.0 tests=DRUGS_MUSCLE,FREEMAIL_FROM, FREEMAIL_REPLYTO,HTML_MESSAGE,LOTS_OF_MONEY,US_DOLLARS_3 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 2F8E27F3F for ; Fri, 31 Oct 2014 08:05:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 00A268F8033 for ; Fri, 31 Oct 2014 06:05:00 -0700 (PDT) X-ASG-Debug-ID: 1414760696-04bdf038cf56fbd0001-NocioJ Received: from BLU004-OMC1S13.hotmail.com (blu004-omc1s13.hotmail.com [65.55.116.24]) by cuda.sgi.com with ESMTP id 0Nbj4dzaaJ7QsIdO (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 31 Oct 2014 06:04:57 -0700 (PDT) X-Barracuda-Envelope-From: drissamamboe@outlook.com X-Barracuda-Apparent-Source-IP: 65.55.116.24 Received: from BLU182-W24 ([65.55.116.7]) by BLU004-OMC1S13.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Fri, 31 Oct 2014 06:04:56 -0700 X-TMN: [B4KuHLpB1Gj1Glt+MStHSgPALpm7vyHn] X-Originating-Email: [drissamamboe@outlook.com] Message-ID: Content-Type: multipart/alternative; boundary="_13c92bf4-3e41-4ea0-a353-e4f92389234f_" Reply-To: From: Drissa Mambo Subject: Dr Mrs Drissa Mambo Date: Fri, 31 Oct 2014 14:04:56 +0100 X-ASG-Orig-Subj: Dr Mrs Drissa Mambo Importance: Normal MIME-Version: 1.0 X-OriginalArrivalTime: 31 Oct 2014 13:04:56.0676 (UTC) FILETIME=[44EB7240:01CFF50B] X-Barracuda-Connect: blu004-omc1s13.hotmail.com[65.55.116.24] X-Barracuda-Start-Time: 1414760697 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.38 X-Barracuda-Spam-Status: No, SCORE=1.38 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DRUGS_MUSCLE, HTML_MESSAGE, MISSING_HEADERS, TO_CC_NONE, US_DOLLARS_3 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11074 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.21 MISSING_HEADERS Missing To: header 0.17 US_DOLLARS_3 BODY: Mentions millions of $ ($NN,NNN,NNN.NN) 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 TO_CC_NONE No To: or Cc: header 0.00 DRUGS_MUSCLE Refers to a muscle relaxant To: undisclosed-recipients:; --_13c92bf4-3e41-4ea0-a353-e4f92389234f_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Dr Mrs Drissa Mambo. Diretor do Projeto de Implementa=E7=E3o Africano Anglo= -Gold Corporation Abidjan Cote Divoire=20 Bom dia!=20 Eu sou o Dr Mrs Drissa Mambo=2C Diretor do Projeto de Implementa=E7=E3o c= om Africano Anglo-Gold Corporation aqui em Abidjan=2C Cote Divoire e membro= do Conselho de Administra=E7=E3o propostas de contrato (CTB) da corpora=E7= =E3o acima.=20 O seu endere=E7o estimado foi introduzido de forma confi=E1vel para mim=2C = da C=E2mara de Com=E9rcio e Ind=FAstria na minha busca por um=2C indiv=EDdu= o / empresa confi=E1vel que pode lidar com uma transa=E7=E3o estritamente c= onfidencial=2C que envolve a transfer=EAncia de uma quantia razo=E1vel de d= inheiro para uma conta no estrangeiro. A quantidade de dinheiro envolvido = =E9 de R $ 35.000.000=2C00 (trinta e cinco milh=F5es Grandes Sterlings Libr= a esterlina).=20 Esse dinheiro j=E1 foi extra=EDdo de v=E1rios contratos celebrados por essa= empresa=2C como resultado de superfaturamento=2C idealizado pelos funcion= =E1rios em causa envolvidas=2C este foi elaborado para representar o pagame= nto final de um contrato que foi executado para esta corpora=E7=E3o h=E1 al= guns anos atr=E1s =2C o dinheiro agora est=E1 flutuando na conta provis=F3r= ia do Banco Atlantique aqui na capital econ=F4mica da Costa do Marfim aguar= dando reclama=E7=E3o de qualquer s=F3cio estrangeiro com o qual o status qu= e hoje quero que voc=EA continue.=20 Agora =E9 o melhor per=EDodo para consumar este fundo=2C seguindo a diretri= z presidencial para todos parasit=E1ria para resolver todas as d=EDvidas pa= ra com os empreiteiros locais e estrangeiros? Na minha =FAltima reuni=E3o c= om os funcion=E1rios envolvidos=2C foi acordado por unanimidade que 30% da = soma total ser=E1 dada a voc=EA=2C 60% ser=E1 para n=F3s=2C enquanto 10% se= r=E1 usado para liquidar todas as despesas que ser=E3o incorridas no proces= samento de esta transfer=EAncia.=20 Garanto-vos que esta opera=E7=E3o =E9 de risco de 100% gratuito=2C conclu= =EDmos todos os arranjos para proteger os interesses de todos os envolvidos= =2C assim como todas as modalidades para o sucesso da transfer=EAncia deste= fundo foram elaborados com o Minist=E9rio das Finan=E7as eo Banco Atlantiq= ue aqui em Abidjan =2C Costa do Marfim para facilitar o envio deste fundo p= ara a sua conta designada no prazo de 72 horas ap=F3s o seu pedido foi apro= vado.=20 No entanto=2C eu gostaria de acreditar que voc=EA =E9 honesto o suficiente = e n=E3o levantar=E1 qualquer atitude receio em qualquer aspecto da transa= =E7=E3o=2C mais importante=2C que voc=EA vai manter essa transa=E7=E3o muit= o confidencial=2C de modo a n=E3o manchar a confian=E7a depositada sobre es= ses funcion=E1rios pela Governo.=20 Se esta proposta for de seu interesse=2C em seguida=2C entre em contato com= igo imediatamente atrav=E9s de minhas informa=E7=F5es acima.=20 Por favor=2C trate essas informa=E7=F5es como confidenciais.=20 Obrigado.=20 Atenciosamente=2C=20 Dr Mrs Drissa MamboImplementa=E7=E3o Diretor do Projeto. Marfinense Anglo G= old Corporation = --_13c92bf4-3e41-4ea0-a353-e4f92389234f_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Dr Mrs Drissa Mambo. = =3B
Diretor do Projeto de Implementa=E7=E3o =3B
Afr= icano Anglo-Gold Corporation =3B
Abidjan Cote Divoire =3B=


 =3B Bom dia! =3B

 =3B Eu sou o Dr Mrs Drissa Mambo=2C Diretor do Projet= o de Implementa=E7=E3o com Africano Anglo-Gold Corporation aqui em Abidjan= =2C Cote Divoire e membro do Conselho de Administra=E7=E3o propostas de con= trato (CTB) da corpora=E7=E3o acima. =3B

O seu= endere=E7o estimado foi introduzido de forma confi=E1vel para mim=2C da C= =E2mara de Com=E9rcio e Ind=FAstria na minha busca por um=2C indiv=EDduo / = empresa confi=E1vel que pode lidar com uma transa=E7=E3o estritamente confi= dencial=2C que envolve a transfer=EAncia de uma quantia razo=E1vel de dinhe= iro para uma conta no estrangeiro. A quantidade de dinheiro envolvido =E9 d= e R $ 35.000.000=2C00 (trinta e cinco milh=F5es Grandes Sterlings Libra est= erlina). =3B

Esse dinheiro j=E1 foi extra=EDdo= de v=E1rios contratos celebrados por essa empresa=2C como resultado de sup= erfaturamento=2C idealizado pelos funcion=E1rios em causa envolvidas=2C est= e foi elaborado para representar o pagamento final de um contrato que foi e= xecutado para esta corpora=E7=E3o h=E1 alguns anos atr=E1s =2C o dinheiro a= gora est=E1 flutuando na conta provis=F3ria do Banco Atlantique aqui na cap= ital econ=F4mica da Costa do Marfim aguardando reclama=E7=E3o de qualquer s= =F3cio estrangeiro com o qual o status que hoje quero que voc=EA continue.&= nbsp=3B

Agora =E9 o melhor per=EDodo para consumar= este fundo=2C seguindo a diretriz presidencial para todos parasit=E1ria pa= ra resolver todas as d=EDvidas para com os empreiteiros locais e estrangeir= os? Na minha =FAltima reuni=E3o com os funcion=E1rios envolvidos=2C foi aco= rdado por unanimidade que 30% da soma total ser=E1 dada a voc=EA=2C 60% ser= =E1 para n=F3s=2C enquanto 10% ser=E1 usado para liquidar todas as despesas= que ser=E3o incorridas no processamento de esta transfer=EAncia. =3B

Garanto-vos que esta opera=E7=E3o =E9 de risco de 1= 00% gratuito=2C conclu=EDmos todos os arranjos para proteger os interesses = de todos os envolvidos=2C assim como todas as modalidades para o sucesso da= transfer=EAncia deste fundo foram elaborados com o Minist=E9rio das Finan= =E7as eo Banco Atlantique aqui em Abidjan =2C Costa do Marfim para facilita= r o envio deste fundo para a sua conta designada no prazo de 72 horas ap=F3= s o seu pedido foi aprovado. =3B

No entanto=2C= eu gostaria de acreditar que voc=EA =E9 honesto o suficiente e n=E3o levan= tar=E1 qualquer atitude receio em qualquer aspecto da transa=E7=E3o=2C mais= importante=2C que voc=EA vai manter essa transa=E7=E3o muito confidencial= =2C de modo a n=E3o manchar a confian=E7a depositada sobre esses funcion=E1= rios pela Governo. =3B

Se esta proposta for de= seu interesse=2C em seguida=2C entre em contato comigo imediatamente atrav= =E9s de minhas informa=E7=F5es acima. =3B

Por = favor=2C trate essas informa=E7=F5es como confidenciais. =3B
=
 =3B Obrigado. =3B

Atencios= amente=2C =3B

Dr Mrs Drissa Mambo
Im= plementa=E7=E3o Diretor do Projeto. =3B
Marfinense Anglo Gold= Corporation
= --_13c92bf4-3e41-4ea0-a353-e4f92389234f_-- From bfoster@redhat.com Fri Oct 31 11:34: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 783BB7F3F for ; Fri, 31 Oct 2014 11:34:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 664E78F8033 for ; Fri, 31 Oct 2014 09:34:35 -0700 (PDT) X-ASG-Debug-ID: 1414773273-04cbb070c64d8050001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 0brdHcBRDe0U5EW2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 31 Oct 2014 09:34:34 -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 s9VGYXM1012670 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Fri, 31 Oct 2014 12:34: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 s9VGYWgp020338 for ; Fri, 31 Oct 2014 12:34:32 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 3534E1204CA; Fri, 31 Oct 2014 12:34:31 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH] xfs: move global xfslogd workqueue to per-mount Date: Fri, 31 Oct 2014 12:34:31 -0400 X-ASG-Orig-Subj: [PATCH] xfs: move global xfslogd workqueue to per-mount Message-Id: <1414773271-48598-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: 1414773274 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 The xfslogd workqueue is a global, single-job workqueue for buffer ioend processing. This means we allow for a single work item at a time for all possible XFS mounts on a system. fsstress testing in loopback XFS over XFS configurations has reproduced xfslogd deadlocks due to the single threaded nature of the queue and dependencies introduced between the separate XFS instances by online discard (-o discard). Discard over a loopback device converts the discard request to a hole punch (fallocate) on the underlying file. Online discard requests are issued synchronously and from xfslogd context in XFS, hence the xfslogd workqueue is blocked in the upper fs waiting on a hole punch request to be servied in the lower fs. If the lower fs issues I/O that depends on xfslogd to complete, both filesystems end up hung indefinitely. This is reproduced reliabily by generic/013 on XFS->loop->XFS test devices with the '-o discard' mount option. Further, docker implementations appear to use this kind of configuration for container instance filesystems by default (container fs->dm-> loop->base fs) and therefore are subject to this deadlock when running on XFS. Replace the global xfslogd workqueue with a per-mount variant. This guarantees each mount access to a single worker and prevents deadlocks due to inter-fs dependencies introduced by discard. Signed-off-by: Brian Foster --- Hi all, Thoughts? An alternative was to increase max jobs on the existing workqueue, but this seems more in line with how we manage workqueues these days. Brian fs/xfs/xfs_buf.c | 13 ++----------- fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_super.c | 11 ++++++++++- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 24b4ebe..758bc2e 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -44,8 +44,6 @@ static kmem_zone_t *xfs_buf_zone; -static struct workqueue_struct *xfslogd_workqueue; - #ifdef XFS_BUF_LOCK_TRACKING # define XB_SET_OWNER(bp) ((bp)->b_last_holder = current->pid) # define XB_CLEAR_OWNER(bp) ((bp)->b_last_holder = -1) @@ -1053,7 +1051,8 @@ xfs_buf_ioend_async( struct xfs_buf *bp) { INIT_WORK(&bp->b_iodone_work, xfs_buf_ioend_work); - queue_work(xfslogd_workqueue, &bp->b_iodone_work); + queue_work(bp->b_target->bt_mount->m_xfslogd_workqueue, + &bp->b_iodone_work); } void @@ -1882,15 +1881,8 @@ xfs_buf_init(void) if (!xfs_buf_zone) goto out; - xfslogd_workqueue = alloc_workqueue("xfslogd", - WQ_MEM_RECLAIM | WQ_HIGHPRI | WQ_FREEZABLE, 1); - if (!xfslogd_workqueue) - goto out_free_buf_zone; - return 0; - out_free_buf_zone: - kmem_zone_destroy(xfs_buf_zone); out: return -ENOMEM; } @@ -1898,6 +1890,5 @@ xfs_buf_init(void) void xfs_buf_terminate(void) { - destroy_workqueue(xfslogd_workqueue); kmem_zone_destroy(xfs_buf_zone); } diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index b0447c8..664a92b 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -168,6 +168,7 @@ typedef struct xfs_mount { /* low free space thresholds */ struct xfs_kobj m_kobj; + struct workqueue_struct *m_xfslogd_workqueue; struct workqueue_struct *m_data_workqueue; struct workqueue_struct *m_unwritten_workqueue; struct workqueue_struct *m_cil_workqueue; diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 9f622fe..b85385c 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -842,10 +842,16 @@ STATIC int xfs_init_mount_workqueues( struct xfs_mount *mp) { + mp->m_xfslogd_workqueue = alloc_workqueue("xfslogd/%s", + WQ_MEM_RECLAIM|WQ_HIGHPRI|WQ_FREEZABLE, 1, + mp->m_fsname); + if (!mp->m_xfslogd_workqueue) + goto out; + mp->m_data_workqueue = alloc_workqueue("xfs-data/%s", WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname); if (!mp->m_data_workqueue) - goto out; + goto out_destroy_xfslogd; mp->m_unwritten_workqueue = alloc_workqueue("xfs-conv/%s", WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname); @@ -884,6 +890,8 @@ out_destroy_unwritten: destroy_workqueue(mp->m_unwritten_workqueue); out_destroy_data_iodone_queue: destroy_workqueue(mp->m_data_workqueue); +out_destroy_xfslogd: + destroy_workqueue(mp->m_xfslogd_workqueue); out: return -ENOMEM; } @@ -898,6 +906,7 @@ xfs_destroy_mount_workqueues( destroy_workqueue(mp->m_cil_workqueue); destroy_workqueue(mp->m_data_workqueue); destroy_workqueue(mp->m_unwritten_workqueue); + destroy_workqueue(mp->m_xfslogd_workqueue); } /* -- 1.8.3.1 From birch@sale.jewelrywordpress.com Fri Oct 31 11:40: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=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_BASE64_BLANKS,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 096487F3F for ; Fri, 31 Oct 2014 11:40:37 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id A8A31AC004 for ; Fri, 31 Oct 2014 09:40:33 -0700 (PDT) X-ASG-Debug-ID: 1414773630-04bdf038d0579c80001-NocioJ Received: from sale.jewelrywordpress.com ([118.99.17.152]) by cuda.sgi.com with ESMTP id GqycS4UlYY8peNhB for ; Fri, 31 Oct 2014 09:40:31 -0700 (PDT) X-Barracuda-Envelope-From: birch@sale.jewelrywordpress.com X-Barracuda-Apparent-Source-IP: 118.99.17.152 Received: from fopraw (unknown [113.92.172.225]) by sale.jewelrywordpress.com (Postfix - sale.jewelrywordpress.com) with ESMTPA id 071607461EE for ; Fri, 31 Oct 2014 17:19:45 +0800 (HKT) Sender: birch@sale.jewelrywordpress.com Date: Fri, 31 Oct 2014 17:17:19 +0800 From: "Aimee" To: Subject: Prototype & Production Foam Molds Message-ID: <20141031171725755668@sale.jewelrywordpress.com> X-ASG-Orig-Subj: Prototype & Production Foam Molds Mime-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 X-Barracuda-Connect: UNKNOWN[118.99.17.152] X-Barracuda-Start-Time: 1414773630 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.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, HTML_MESSAGE, MIME_BASE64_BLANKS, MIME_HTML_ONLY, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11077 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 0.00 MIME_BASE64_BLANKS RAW: Extra blank lines in base64 encoding 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0 Zi04IiBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZT4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRl bnQ9Ik1TSFRNTCAxMC4wMC45MjAwLjE3MDI4Ij48L0hFQUQ+DQo8Qk9EWT4NCjxQPjxwPkhlbGxv IERlYXIsPGJyPiAgPGJyPiAgR2xhZCB0byBsZWFybiB5b3UncmUgb24gdGhlIG1hcmtldCBvZiBw bGFzdGljIG1vbGQuwqA8L3A+PHA+V2Ugc3BlY2lhbGl6ZSBpbiB0aGlzIGZpZWxkIGZvciAyMCB5 ZWFycy48YnI+ICAxMDAgd29ya2VycywgMjB5ZWFycyBleHBlcmllbmNlLCAxMHllYXJzJyB2ZW5k b3Igb2YgV2FsLU1hcnQsIElTTyBjZXJ0aWZpY2F0ZWQsIG9uZS1ob3VyIHJlYWNoIFNoZW56aGVu IHBvcnQgb3IgSEssIHRoaXMgaXMgaG93IHdlIGtlZXAgZ29vZCBxdWFsaXR5IGFuZCBjb21wZXRp dGl2ZSBwcmljZXMgZm9yIGdsb2JhbCB2YWx1ZWQgY3VzdG9tZXJzLjwvcD48cD5PdXIgbWFpbiBt b2xkcyBjb3ZlciBBdXRvIHBhcnRzLCBlbGVjdHJvbmljIGFjY2Vzc29yaWVzLCBob21lIGFwcGxp YW5jZXMsIGRhaWx5IG5lY2Vzc2l0aWVzLCBtZWRpY2FsIGNvbXBvbmVudCBwYXJ0LCBmb29kIHBh Y2thZ2UgYW5kIG91dGRvb3IgbGlnaHRpbmcuPC9wPjxwPk91ciBjdXN0b21lciBiYXNlIHJhbmdl cyBmcm9tIHNtYWxsIGluZGl2aWR1YWwgaW52ZW50b3JzIHRvIHdlbGwtZXN0YWJsaXNoZWQgZm9y dHVuZSA1MDAgY29tcGFuaWVzLjwvcD48cD5JZiBhbnkgcHJvZHVjdHMgb3Igc2VydmljZSBtZWV0 IHlvdXIgZGVtYW5kLCBwbGVhc2UgZmVlbCBmcmVlIHRvIGNvbnRhY3QgdXMuIENvbXBhbnkgcHJv ZmlsZSBjYW4gYmUgcHJvdmlkZWQgaWYgeW91IGFyZSBpbnRlcmVzdGluZy48L3A+PHA+V2UncmUg c3VyZSB5b3VyIGFueSBpbnF1aXJ5IG9yIHJlcXVpcmVtZW50IHdpbGwgZ2V0IHByb21wdCBhdHRl bnRpb24uwqA8L3A+PHA+QmVzdCByZWdhcmRzLDxicj4gIEFpbWVlPC9wPjxwID5HcmVlbsKgVml0 YWxpdHnCoEluZHVzdHJ5wqBDby4sTHRkLiA8L3A+PHA+VGVsOsKgKzg2LTc1NS0yNjgyNTM1MsKg PC9wPjxwPkZheDrCoCs4Ni03NTUtMjY2ODk2NTTCoDwvcD48cCA+RS1tYWlsOiAgPGEgaHJlZj0i bWFpbHRvOmd2bW9sZC4xMDBAZ21haWwuY29tIj5ndm1vbGQuMTAwQGdtYWlsLmNvbTwvYT48L3A+ PHAgPldlYjogPGEgaHJlZj0iaHR0cDovL3d3dy5ndi1tb2xkLmNvbS8iPnd3dy5ndi1tb2xkLmNv bTwvYT48L3A+PC9QPjwvQk9EWT48L0hUTUw+DQo= From blaine@sale.jewelrywordpress.com Fri Oct 31 22:14: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=4.2 required=5.0 tests=DEAR_SOMETHING,FREEMAIL_FROM, HTML_MESSAGE,MIME_BASE64_BLANKS,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 16C1E7F3F for ; Fri, 31 Oct 2014 22:14:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id E83FA304039 for ; Fri, 31 Oct 2014 20:14:13 -0700 (PDT) X-ASG-Debug-ID: 1414811651-04bdf038d15912c0001-NocioJ Received: from sale.jewelrywordpress.com ([118.99.17.152]) by cuda.sgi.com with ESMTP id G6hFpbhv7udaHSOK for ; Fri, 31 Oct 2014 20:14:11 -0700 (PDT) X-Barracuda-Envelope-From: blaine@sale.jewelrywordpress.com X-Barracuda-Apparent-Source-IP: 118.99.17.152 Received: from ofatcacj (unknown [113.92.172.225]) by sale.jewelrywordpress.com (Postfix - sale.jewelrywordpress.com) with ESMTPA id 58A76684F9A for ; Fri, 31 Oct 2014 15:27:35 +0800 (HKT) Sender: blaine@sale.jewelrywordpress.com Date: Fri, 31 Oct 2014 15:25:05 +0800 From: "Aimee" To: Subject: mold-making partner GVI Message-ID: <20141031152515078805@sale.jewelrywordpress.com> X-ASG-Orig-Subj: mold-making partner GVI Mime-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 X-Barracuda-Connect: UNKNOWN[118.99.17.152] X-Barracuda-Start-Time: 1414811651 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.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, HTML_MESSAGE, MIME_BASE64_BLANKS, MIME_HTML_ONLY, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.11095 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 0.00 MIME_BASE64_BLANKS RAW: Extra blank lines in base64 encoding 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0 Zi04IiBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZT4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRl bnQ9Ik1TSFRNTCAxMC4wMC45MjAwLjE3MDI4Ij48L0hFQUQ+DQo8Qk9EWT4NCjxQPjxwPkRlYXIg U2lyIG9yIE1hZGFtLDwvcD48cD5HbGFkIHRvIGxlYXJuIHRoYXQgeW91J3JlwqBvbiB0aGUgbWFy a2V0IGZvciBwbGFzdGljIG1vbGRzLjxicj4gIEdWLU1vdWxkIGlzIGEgbG9uZy1zdGFuZGluZ8Kg bW91bGQgbWFrZXIgd2l0aCBJU085MDAxIENlcnRpZmljYXRlZCAmYW1wOyBvdmVyIDIwIHllYXJz IHJpY2ggZXhwZXJpZW5jZS48YnI+ICBUaGlzIGlzIEFpbWVlIGZyb20gQ2hpbmVzZSBHcmVlbiBW aXRhbGl0eSBJbmR1c3RyeSBjb21wYW55IHdoaWNoIGVuZ2FnZWQgaW46PGJyPiAgMS4gUGxhc3Rp YyBpbmplY3Rpb24gbW9sZCBkZXNpZ248YnI+ICAyLiBDdXN0b20gbW9sZCBjb25zdHJ1Y3Rpb248 YnI+ICAzLiBNb2xkIGZsb3cgYW5hbHlzaXM8YnI+ICA0LiBNb2xkIHJlcGFpcjxicj4gIDYuIEVu Z2luZWVyaW5nIGNoYW5nZXM8YnI+ICA3LiBSYXBpZCBwcm90b3R5cGluZzxicj4gIDguIEN1c3Rv bSBtYWNoaW5pbmcgb2YgbWV0YWwgYW5kIHBsYXN0aWMgcGFydHM8YnI+ICA5LiBXaXJlIEVETSBt YWNoaW5pbmc8YnI+ICBJZiB5b3UgYXJlIG5vdCBmYW1pbGlhciB3aXRoIG91ciBjb21wYW55IGFu ZCB5b3VyIGZpcnN0IGNvbnRhY3Qgd2l0aCB1cyBpcyBvbmxpbmUsIHdlIHdvdWxkIGJlIHBsZWFz ZWQgdG8gaGVhciBmcm9tIHlvdSE8YnI+ICBQbGVhc2Ugc2VuZCB1cyAzRC8yRCBkcmF3aW5ncyBv ciBzYW1wbGVzIGlmIHlvdSBoYXZlIGFueSBuZWVkc++8jHdlIHdpbGwgcXVvdGUgZm9yIGZyZWUg d2l0aCBhIHNvdW5kIHByaWNlLiA8YnI+ICBLaW5kIFJlZ2FyZHM8YnI+ICBBaW1lZTwvcD48cCA+ R3JlZW7CoFZpdGFsaXR5wqBJbmR1c3RyecKgQ28uLEx0ZC4gPC9wPjxwPlRlbDrCoCs4Ni03NTUt MjY4MjUzNTLCoDwvcD48cD5GYXg6wqArODYtNzU1LTI2Njg5NjU0wqA8L3A+PHAgPkUtbWFpbDog IDxhIGhyZWY9Im1haWx0bzpndm1vbGQuMTAwQGdtYWlsLmNvbSI+Z3Ztb2xkLjEwMEBnbWFpbC5j b208L2E+PC9wPjxwID5XZWI6IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ3YtbW9sZC5jb20vIj53d3cu Z3YtbW9sZC5jb208L2E+PC9wPjwvUD48L0JPRFk+PC9IVE1MPg0K