On Thu, Nov 17, 2011 at 02:30:04AM -0500, Christoph Hellwig wrote:
> On Thu, Nov 17, 2011 at 10:15:17AM +1100, Dave Chinner wrote:
> > On Tue, Nov 15, 2011 at 03:14:08PM -0500, Christoph Hellwig wrote:
> > > With Dmitry fsstress updates I've seen very reproducible crashes in
> > > xfs_attr_shortform_remove because xfs_attr_shortform_bytesfit claims that
> > > the attributes would not fit inline into the inode after removing an
> > > attribute. It turns out that we were operating on an inode with lots
> > > of delalloc extents, and thus an if_bytes values for the data fork that
> > > is larger than biggest possible on-disk storage for it which utterly
> > > confuses the code near the end of xfs_attr_shortform_bytesfit.
> > We have a test that stresses allocated extents vs attributes in the
> > xfs_fsr swapext test (227), but that does not take into account
> > delalloc extents. It sounds like it would be relatively easy to
> > write a regression test for this particular case - create a file
> > with a bunch of attributes, then create a number of delalloc data
> > extents, then remove the attributes to trigger the condition in
> > xfs_attr_shortform_remove()....
> Test 117 with Dmitries new fsstress changes hit it 100% reliably
> xfstests: freeze fsstress options for 117'th
> I was planning on adding a copy of the test using an explicit
> combination of fsstress seeds that reproduce the issue.
FYI, Test 117 also hit it for me after I backed off 'freeze fsstress
options'. Are you still planning on adding a copy of the test with the
seeds in question?