Signed-off-by: Christoph Hellwig <hch@xxxxxx> Index: xfs/fs/xfs/xfs_bmap_util.c =================================================================== --- xfs.orig/fs/xfs/xfs_bmap_util.c 2013-12-05 11:37:57.791685284 +0100 +++ xfs/fs/xfs/xfs_bmap_util.c 2013-12-05 11:39:43.599683113 +0100 @@ -1147,6 +1147,7 @@ xfs_zero_remaining_bytes( xfs_mount_t *mp = ip->i_mount; int nimap; int error = 0; + uint lock_mode; /* * Avoid doing I/O beyond eof - it's not necessary @@ -1159,11 +1160,15 @@ xfs_zero_remaining_bytes( if (endoff > XFS_ISIZE(ip)) endoff = XFS_ISIZE(ip); + lock_mode = xfs_ilock_map_shared(ip); + bp = xfs_buf_get_uncached(XFS_IS_REALTIME_INODE(ip) ? mp->m_rtdev_targp : mp->m_ddev_targp, BTOBB(mp->m_sb.sb_blocksize), 0); - if (!bp) - return XFS_ERROR(ENOMEM); + if (!bp) { + error = XFS_ERROR(ENOMEM); + goto out_unlock; + } xfs_buf_unlock(bp); @@ -1209,6 +1214,8 @@ xfs_zero_remaining_bytes( } } xfs_buf_free(bp); +out_unlock: + xfs_iunlock_map_shared(ip, lock_mode); return error; } _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs