diff options
-rw-r--r-- | fs/xfs/xfs_fsops.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index ee2cefbd5df8..d7658b7dcdbd 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -301,7 +301,7 @@ xfs_growfs_data( struct xfs_mount *mp, struct xfs_growfs_data *in) { - int error = 0; + int error; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -309,8 +309,10 @@ xfs_growfs_data( return -EWOULDBLOCK; /* we can't grow the data section when an internal RT section exists */ - if (in->newblocks != mp->m_sb.sb_dblocks && mp->m_sb.sb_rtstart) - return -EINVAL; + if (in->newblocks != mp->m_sb.sb_dblocks && mp->m_sb.sb_rtstart) { + error = -EINVAL; + goto out_error; + } /* update imaxpct separately to the physical grow of the filesystem */ if (in->imaxpct != mp->m_sb.sb_imax_pct) { |