diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index f22bebf8f513..b6ad370fab3d 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -333,10 +333,11 @@ xfs_finish_flags( | |||
333 | 333 | ||
334 | /* Fail a mount where the logbuf is smaller then the log stripe */ | 334 | /* Fail a mount where the logbuf is smaller then the log stripe */ |
335 | if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { | 335 | if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { |
336 | if ((ap->logbufsize == -1) && | 336 | if ((ap->logbufsize <= 0) && |
337 | (mp->m_sb.sb_logsunit > XLOG_BIG_RECORD_BSIZE)) { | 337 | (mp->m_sb.sb_logsunit > XLOG_BIG_RECORD_BSIZE)) { |
338 | mp->m_logbsize = mp->m_sb.sb_logsunit; | 338 | mp->m_logbsize = mp->m_sb.sb_logsunit; |
339 | } else if (ap->logbufsize < mp->m_sb.sb_logsunit) { | 339 | } else if (ap->logbufsize > 0 && |
340 | ap->logbufsize < mp->m_sb.sb_logsunit) { | ||
340 | cmn_err(CE_WARN, | 341 | cmn_err(CE_WARN, |
341 | "XFS: logbuf size must be greater than or equal to log stripe size"); | 342 | "XFS: logbuf size must be greater than or equal to log stripe size"); |
342 | return XFS_ERROR(EINVAL); | 343 | return XFS_ERROR(EINVAL); |