On Mon, Mar 05, 2012 at 05:01:09PM +0100, Jan Kara wrote: > Generic code now blocks all writers from standard write paths. So we block all > writers coming from ioctl and replace blocking of transactions on frozen > filesystem with a debugging check. As a bonus, we get a protection of ioctl > against racing remount read-only. We also convert xfs_file_aio_write() to a > non-racy freeze protection. .... > diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c > index 329b06a..6468a2a 100644 > --- a/fs/xfs/xfs_trans.c > +++ b/fs/xfs/xfs_trans.c > @@ -577,7 +577,6 @@ xfs_trans_alloc( > xfs_mount_t *mp, > uint type) > { > - xfs_wait_for_freeze(mp, SB_FREEZE_TRANS); > return _xfs_trans_alloc(mp, type, KM_SLEEP); > } So what is there to stop internal XFS threads from starting transactions when the filesystem is frozen? Previously this SB_FREEZE_TRANS would guarantee even internal fucntions would get stopped, but now there's nothing? I do beleive that ext4 has the same problem (the issue reported with the lazy inode init background thread), and I can see that any other filesystem that can make modifications via internal triggers will see the same problem - freeze doesn't block them any more... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs