Hello, I ran into another panic "current transaction too big to flush" while using snapshots on a 500GB filesystem. This occured when I removed the snapshot file, and what's worse, it happens also when the kernel replays the log after reboot. With more instrumentation in vfs_wapbl.c I found this stack trace at the time the log overflows: wapbl_add_buf bdwrite bwrite ffs_snapblkfree fss_blkfree ffs_wapbl_sync_metadata wapbl_flush wapbl_begin ufs_inactive VOP_INACTIVE vrelel ffs_wapbl_replay_finish ffs_wapbl_start ffs_mountfs ffs_mount VFS_MOUNT ...
to me it looks like the usual way of cutting the transaction in smaller pieces won't work because we're already in wapbl_begin(). Also I wonder if it's OK for wapbl_flush() to cause more data to be added to the log. Any idea ? -- Manuel Bouyer <[email protected]> NetBSD: 26 ans d'experience feront toujours la difference --
