On Wed, Mar 07, 2018 at 05:33:48PM -0600, Eric Sandeen wrote: > Now that unlinked inode recovery is done outside of > log recovery, there is no need to dirty the log on > snapshots just to handle unlinked inodes. This means > that readonly snapshots can be mounted without requiring > -o ro,norecovery to avoid the log replay that can't happen > on a readonly block device. > > (unlinked inodes will just hang out in the agi buckets until > the next writable mount) FWIW I put these two in a test kernel to see what would happen and generic/311 failures popped up. It looked like the _check_scratch_fs found incorrect block counts on the snapshot(?) --D > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 93588ea..5669525 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -1419,9 +1419,10 @@ struct proc_xfs_info { > > /* > * Second stage of a freeze. The data is already frozen so we only > - * need to take care of the metadata. Once that's done sync the superblock > - * to the log to dirty it in case of a crash while frozen. This ensures that we > - * will recover the unlinked inode lists on the next mount. > + * need to take care of the metadata. > + * Any unlinked inode lists will remain at this point, and be recovered > + * on the next writable mount if we crash while frozen, or create > + * a snapshot from the frozen filesystem. > */ > STATIC int > xfs_fs_freeze( > @@ -1431,7 +1432,7 @@ struct proc_xfs_info { > > xfs_save_resvblks(mp); > xfs_quiesce_attr(mp); > - return xfs_sync_sb(mp, true); > + return 0; > } > > STATIC int > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html