Ignore:
Timestamp:
Apr 16, 2017, 3:07:01 PM (5 weeks ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/fs/xfs/xfs_aops.c

    r25370 r31869  
    154154                           0, 1, _THIS_IP_);
    155155
     156        /* we abort the update if there was an IO error */
     157        if (ioend->io_error) {
     158                xfs_trans_cancel(tp, 0);
     159                return ioend->io_error;
     160        }
     161
    156162        xfs_ilock(ip, XFS_ILOCK_EXCL);
    157163        isize = xfs_new_eof(ip, ioend->io_offset + ioend->io_size);
     
    209215                goto done;
    210216        }
    211         if (ioend->io_error)
    212                 goto done;
    213217
    214218        /*
    215219         * For unwritten extents we need to issue transactions to convert a
    216220         * range to normal written extens after the data I/O has finished.
     221         * Detecting and handling completion IO errors is done individually
     222         * for each case as different cleanup operations need to be performed
     223         * on error.
    217224         */
    218225        if (ioend->io_type == XFS_IO_UNWRITTEN) {
     226                if (ioend->io_error)
     227                        goto done;
    219228                error = xfs_iomap_write_unwritten(ip, ioend->io_offset,
    220229                                                  ioend->io_size);
Note: See TracChangeset for help on using the changeset viewer.