Commit bad96266 authored by Dave Chinner's avatar Dave Chinner

Merge branch 'xfs-misc-fixes-for-3.20-4' into for-next

parents 17907362 e9892d3c
...@@ -287,9 +287,9 @@ The following sysctls are available for the XFS filesystem: ...@@ -287,9 +287,9 @@ The following sysctls are available for the XFS filesystem:
XFS_ERRLEVEL_LOW: 1 XFS_ERRLEVEL_LOW: 1
XFS_ERRLEVEL_HIGH: 5 XFS_ERRLEVEL_HIGH: 5
fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127) fs.xfs.panic_mask (Min: 0 Default: 0 Max: 255)
Causes certain error conditions to call BUG(). Value is a bitmask; Causes certain error conditions to call BUG(). Value is a bitmask;
AND together the tags which represent errors which should cause panics: OR together the tags which represent errors which should cause panics:
XFS_NO_PTAG 0 XFS_NO_PTAG 0
XFS_PTAG_IFLUSH 0x00000001 XFS_PTAG_IFLUSH 0x00000001
...@@ -299,6 +299,7 @@ The following sysctls are available for the XFS filesystem: ...@@ -299,6 +299,7 @@ The following sysctls are available for the XFS filesystem:
XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010 XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010
XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 XFS_PTAG_SHUTDOWN_IOERROR 0x00000020
XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040
XFS_PTAG_FSBLOCK_ZERO 0x00000080
This option is intended for debugging only. This option is intended for debugging only.
......
...@@ -488,6 +488,7 @@ xfs_growfs_data_private( ...@@ -488,6 +488,7 @@ xfs_growfs_data_private(
xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, nfree); xfs_trans_mod_sb(tp, XFS_TRANS_SB_FDBLOCKS, nfree);
if (dpct) if (dpct)
xfs_trans_mod_sb(tp, XFS_TRANS_SB_IMAXPCT, dpct); xfs_trans_mod_sb(tp, XFS_TRANS_SB_IMAXPCT, dpct);
xfs_trans_set_sync(tp);
error = xfs_trans_commit(tp, 0); error = xfs_trans_commit(tp, 0);
if (error) if (error)
return error; return error;
......
...@@ -1086,7 +1086,7 @@ xfs_ioctl_setattr_get_trans( ...@@ -1086,7 +1086,7 @@ xfs_ioctl_setattr_get_trans(
* to half the AG size to avoid alignment extending the extent beyond the * to half the AG size to avoid alignment extending the extent beyond the
* limits of the AG. * limits of the AG.
*/ */
int static int
xfs_ioctl_setattr_check_extsize( xfs_ioctl_setattr_check_extsize(
struct xfs_inode *ip, struct xfs_inode *ip,
struct fsxattr *fa) struct fsxattr *fa)
...@@ -1129,7 +1129,7 @@ xfs_ioctl_setattr_check_extsize( ...@@ -1129,7 +1129,7 @@ xfs_ioctl_setattr_check_extsize(
return 0; return 0;
} }
int static int
xfs_ioctl_setattr_check_projid( xfs_ioctl_setattr_check_projid(
struct xfs_inode *ip, struct xfs_inode *ip,
struct fsxattr *fa) struct fsxattr *fa)
......
...@@ -1111,6 +1111,11 @@ xfs_fs_statfs( ...@@ -1111,6 +1111,11 @@ xfs_fs_statfs(
statp->f_files, statp->f_files,
mp->m_maxicount); mp->m_maxicount);
/* If sb_icount overshot maxicount, report actual allocation */
statp->f_files = max_t(typeof(statp->f_files),
statp->f_files,
sbp->sb_icount);
/* make sure statp->f_ffree does not underflow */ /* make sure statp->f_ffree does not underflow */
ffree = statp->f_files - (sbp->sb_icount - sbp->sb_ifree); ffree = statp->f_files - (sbp->sb_icount - sbp->sb_ifree);
statp->f_ffree = max_t(__int64_t, ffree, 0); statp->f_ffree = max_t(__int64_t, ffree, 0);
......
...@@ -327,9 +327,10 @@ xfs_trans_read_buf_map( ...@@ -327,9 +327,10 @@ xfs_trans_read_buf_map(
return -EIO; return -EIO;
} }
if (tp) if (tp) {
_xfs_trans_bjoin(tp, bp, 1); _xfs_trans_bjoin(tp, bp, 1);
trace_xfs_trans_read_buf(bp->b_fspriv); trace_xfs_trans_read_buf(bp->b_fspriv);
}
*bpp = bp; *bpp = bp;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment