aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/linux-2.6/xfs_aops.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index 9083357f9e44..99628508cb11 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -932,6 +932,9 @@ xfs_aops_discard_page(
932 if (!xfs_is_delayed_page(page, IOMAP_DELAY)) 932 if (!xfs_is_delayed_page(page, IOMAP_DELAY))
933 goto out_invalidate; 933 goto out_invalidate;
934 934
935 if (XFS_FORCED_SHUTDOWN(ip->i_mount))
936 goto out_invalidate;
937
935 xfs_fs_cmn_err(CE_ALERT, ip->i_mount, 938 xfs_fs_cmn_err(CE_ALERT, ip->i_mount,
936 "page discard on page %p, inode 0x%llx, offset %llu.", 939 "page discard on page %p, inode 0x%llx, offset %llu.",
937 page, ip->i_ino, offset); 940 page, ip->i_ino, offset);
@@ -964,8 +967,10 @@ xfs_aops_discard_page(
964 967
965 if (error) { 968 if (error) {
966 /* something screwed, just bail */ 969 /* something screwed, just bail */
967 xfs_fs_cmn_err(CE_ALERT, ip->i_mount, 970 if (!XFS_FORCED_SHUTDOWN(ip->i_mount)) {
968 "page discard failed delalloc mapping lookup."); 971 xfs_fs_cmn_err(CE_ALERT, ip->i_mount,
972 "page discard failed delalloc mapping lookup.");
973 }
969 break; 974 break;
970 } 975 }
971 if (!nimaps) { 976 if (!nimaps) {
@@ -991,8 +996,10 @@ xfs_aops_discard_page(
991 ASSERT(!flist.xbf_count && !flist.xbf_first); 996 ASSERT(!flist.xbf_count && !flist.xbf_first);
992 if (error) { 997 if (error) {
993 /* something screwed, just bail */ 998 /* something screwed, just bail */
994 xfs_fs_cmn_err(CE_ALERT, ip->i_mount, 999 if (!XFS_FORCED_SHUTDOWN(ip->i_mount)) {
1000 xfs_fs_cmn_err(CE_ALERT, ip->i_mount,
995 "page discard unable to remove delalloc mapping."); 1001 "page discard unable to remove delalloc mapping.");
1002 }
996 break; 1003 break;
997 } 1004 }
998next_buffer: 1005next_buffer: