xfs: skip all of xfs_file_release when shut down
There is no point in trying to free post-EOF blocks when the file system is shutdown, as it will just error out ASAP. Instead return instantly when xfs_file_release is called on a shut down file system. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
parent
98e44e2bc0
commit
c741d79c1a
@ -1187,8 +1187,11 @@ xfs_file_release(
|
|||||||
struct xfs_inode *ip = XFS_I(inode);
|
struct xfs_inode *ip = XFS_I(inode);
|
||||||
struct xfs_mount *mp = ip->i_mount;
|
struct xfs_mount *mp = ip->i_mount;
|
||||||
|
|
||||||
/* If this is a read-only mount, don't generate I/O */
|
/*
|
||||||
if (xfs_is_readonly(mp))
|
* If this is a read-only mount or the file system has been shut down,
|
||||||
|
* don't generate I/O.
|
||||||
|
*/
|
||||||
|
if (xfs_is_readonly(mp) || xfs_is_shutdown(mp))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1200,8 +1203,7 @@ xfs_file_release(
|
|||||||
* is significantly reducing the time window where we'd otherwise be
|
* is significantly reducing the time window where we'd otherwise be
|
||||||
* exposed to that problem.
|
* exposed to that problem.
|
||||||
*/
|
*/
|
||||||
if (!xfs_is_shutdown(mp) &&
|
if (xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED)) {
|
||||||
xfs_iflags_test_and_clear(ip, XFS_ITRUNCATED)) {
|
|
||||||
xfs_iflags_clear(ip, XFS_IDIRTY_RELEASE);
|
xfs_iflags_clear(ip, XFS_IDIRTY_RELEASE);
|
||||||
if (ip->i_delayed_blks > 0)
|
if (ip->i_delayed_blks > 0)
|
||||||
filemap_flush(inode->i_mapping);
|
filemap_flush(inode->i_mapping);
|
||||||
|
Loading…
Reference in New Issue
Block a user