public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* xfs_getbmap assert
@ 2011-11-07 10:30 Christoph Hellwig
  2011-11-07 20:15 ` Dave Chinner
  0 siblings, 1 reply; 5+ messages in thread
From: Christoph Hellwig @ 2011-11-07 10:30 UTC (permalink / raw)
  To: xfs

With Dmitris fsstress updates I can hit the following assert fairly
regularly:

[11904.943956] XFS: Assertion failed: ((iflags & BMV_IF_DELALLOC) != 0) ||
(map[i].br_startblock != DELAYSTARTBLOCK), file:
/home/hch/work/linux-2.6/fs/xfs/xfs_bmap.c, line: 5604

which means we get an delalloc extent back from FIEMAP/GETBMAP despite
asking for a flush beforehand.  While we hold the iolock over the call
and thus exclude new buffered writers from appearing that doesn't
prevent shared writeable mmaps from creating new delalloc extents.

I don't think this actually is a real issue, and a workaround would
be extremly hard.  For now I've just remove the assert in my tree:


Index: xfs/fs/xfs/xfs_bmap.c
===================================================================
--- xfs.orig/fs/xfs/xfs_bmap.c	2011-11-05 09:02:24.410021945 +0100
+++ xfs/fs/xfs/xfs_bmap.c	2011-11-05 09:03:54.036494235 +0100
@@ -5600,8 +5600,6 @@ xfs_getbmap(
 				XFS_FSB_TO_BB(mp, map[i].br_blockcount);
 			out[cur_ext].bmv_unused1 = 0;
 			out[cur_ext].bmv_unused2 = 0;
-			ASSERT(((iflags & BMV_IF_DELALLOC) != 0) ||
-			      (map[i].br_startblock != DELAYSTARTBLOCK));
                         if (map[i].br_startblock == HOLESTARTBLOCK &&
 			    whichfork == XFS_ATTR_FORK) {
 				/* came to the end of attribute fork */

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-11-15 20:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-07 10:30 xfs_getbmap assert Christoph Hellwig
2011-11-07 20:15 ` Dave Chinner
2011-11-14 20:05   ` Christoph Hellwig
2011-11-15 20:02     ` Dave Chinner
2011-11-15 20:07       ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox