Fix mmap(2)/write(2)/read(2) deadlock
[zfs.git] / module / zfs / zfs_vnops.c
index dd9f4d9..262c1ed 100644 (file)
@@ -3838,7 +3838,6 @@ zfs_putpage(struct page *page, struct writeback_control *wbc, void *data)
        struct inode         *ip      = mapping->host;
        znode_t              *zp      = ITOZ(ip);
        zfs_sb_t             *zsb     = ITOZSB(ip);
-       rl_t                 *rl;
        u_offset_t           io_off;
        size_t               io_len;
        size_t               len;
@@ -3850,11 +3849,8 @@ zfs_putpage(struct page *page, struct writeback_control *wbc, void *data)
        ZFS_ENTER(zsb);
        ZFS_VERIFY_ZP(zp);
 
-       rl = zfs_range_lock(zp, io_off, io_len, RL_WRITER);
-
        if (io_off > zp->z_size) {
                /* past end of file */
-               zfs_range_unlock(rl);
                ZFS_EXIT(zsb);
                return (0);
        }
@@ -3862,7 +3858,6 @@ zfs_putpage(struct page *page, struct writeback_control *wbc, void *data)
        len = MIN(io_len, P2ROUNDUP(zp->z_size, PAGESIZE) - io_off);
 
        error = zfs_putapage(ip, page, io_off, len);
-       zfs_range_unlock(rl);
 
        if (zsb->z_os->os_sync == ZFS_SYNC_ALWAYS)
                zil_commit(zsb->z_log, zp->z_id);