diff options
| -rw-r--r-- | fs/xfs/xfs_trans.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index e040af120b69..524f543c5b82 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c | |||
| @@ -258,7 +258,12 @@ xfs_trans_alloc( | |||
| 258 | if (!(flags & XFS_TRANS_NO_WRITECOUNT)) | 258 | if (!(flags & XFS_TRANS_NO_WRITECOUNT)) |
| 259 | sb_start_intwrite(mp->m_super); | 259 | sb_start_intwrite(mp->m_super); |
| 260 | 260 | ||
| 261 | WARN_ON(mp->m_super->s_writers.frozen == SB_FREEZE_COMPLETE); | 261 | /* |
| 262 | * Zero-reservation ("empty") transactions can't modify anything, so | ||
| 263 | * they're allowed to run while we're frozen. | ||
| 264 | */ | ||
| 265 | WARN_ON(resp->tr_logres > 0 && | ||
| 266 | mp->m_super->s_writers.frozen == SB_FREEZE_COMPLETE); | ||
| 262 | atomic_inc(&mp->m_active_trans); | 267 | atomic_inc(&mp->m_active_trans); |
| 263 | 268 | ||
| 264 | tp = kmem_zone_zalloc(xfs_trans_zone, | 269 | tp = kmem_zone_zalloc(xfs_trans_zone, |
