diff options
-rw-r--r-- | fs/xfs/xfs_inode.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index ca074ee01d06..2bc22790d65a 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -2883,7 +2883,7 @@ xfs_iextents_copy( | |||
2883 | * format indicates the current state of the fork. | 2883 | * format indicates the current state of the fork. |
2884 | */ | 2884 | */ |
2885 | /*ARGSUSED*/ | 2885 | /*ARGSUSED*/ |
2886 | STATIC int | 2886 | STATIC void |
2887 | xfs_iflush_fork( | 2887 | xfs_iflush_fork( |
2888 | xfs_inode_t *ip, | 2888 | xfs_inode_t *ip, |
2889 | xfs_dinode_t *dip, | 2889 | xfs_dinode_t *dip, |
@@ -2904,16 +2904,16 @@ xfs_iflush_fork( | |||
2904 | static const short extflag[2] = | 2904 | static const short extflag[2] = |
2905 | { XFS_ILOG_DEXT, XFS_ILOG_AEXT }; | 2905 | { XFS_ILOG_DEXT, XFS_ILOG_AEXT }; |
2906 | 2906 | ||
2907 | if (iip == NULL) | 2907 | if (!iip) |
2908 | return 0; | 2908 | return; |
2909 | ifp = XFS_IFORK_PTR(ip, whichfork); | 2909 | ifp = XFS_IFORK_PTR(ip, whichfork); |
2910 | /* | 2910 | /* |
2911 | * This can happen if we gave up in iformat in an error path, | 2911 | * This can happen if we gave up in iformat in an error path, |
2912 | * for the attribute fork. | 2912 | * for the attribute fork. |
2913 | */ | 2913 | */ |
2914 | if (ifp == NULL) { | 2914 | if (!ifp) { |
2915 | ASSERT(whichfork == XFS_ATTR_FORK); | 2915 | ASSERT(whichfork == XFS_ATTR_FORK); |
2916 | return 0; | 2916 | return; |
2917 | } | 2917 | } |
2918 | cp = XFS_DFORK_PTR(dip, whichfork); | 2918 | cp = XFS_DFORK_PTR(dip, whichfork); |
2919 | mp = ip->i_mount; | 2919 | mp = ip->i_mount; |
@@ -2974,8 +2974,6 @@ xfs_iflush_fork( | |||
2974 | ASSERT(0); | 2974 | ASSERT(0); |
2975 | break; | 2975 | break; |
2976 | } | 2976 | } |
2977 | |||
2978 | return 0; | ||
2979 | } | 2977 | } |
2980 | 2978 | ||
2981 | STATIC int | 2979 | STATIC int |
@@ -3452,16 +3450,9 @@ xfs_iflush_int( | |||
3452 | } | 3450 | } |
3453 | } | 3451 | } |
3454 | 3452 | ||
3455 | if (xfs_iflush_fork(ip, dip, iip, XFS_DATA_FORK, bp) == EFSCORRUPTED) { | 3453 | xfs_iflush_fork(ip, dip, iip, XFS_DATA_FORK, bp); |
3456 | goto corrupt_out; | 3454 | if (XFS_IFORK_Q(ip)) |
3457 | } | 3455 | xfs_iflush_fork(ip, dip, iip, XFS_ATTR_FORK, bp); |
3458 | |||
3459 | if (XFS_IFORK_Q(ip)) { | ||
3460 | /* | ||
3461 | * The only error from xfs_iflush_fork is on the data fork. | ||
3462 | */ | ||
3463 | (void) xfs_iflush_fork(ip, dip, iip, XFS_ATTR_FORK, bp); | ||
3464 | } | ||
3465 | xfs_inobp_check(mp, bp); | 3456 | xfs_inobp_check(mp, bp); |
3466 | 3457 | ||
3467 | /* | 3458 | /* |