diff options
author | Christoph Hellwig <hch@infradead.org> | 2013-12-07 00:30:17 +0400 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2013-12-19 02:08:46 +0400 |
commit | eef334e5776c8ef547ada4cec17549929fe590b4 (patch) | |
tree | cf6d3e90b0923494d9201c134e89dd5122cece98 /fs/xfs/xfs_inode_fork.c | |
parent | 568d994e9f53657cb6b3e9c95a83c130d36f83c9 (diff) | |
download | linux-eef334e5776c8ef547ada4cec17549929fe590b4.tar.xz |
xfs: assert that we hold the ilock for extent map access
Make sure that xfs_bmapi_read has the ilock held in some way, and that
xfs_bmapi_write, xfs_bmapi_delay, xfs_bunmapi and xfs_iread_extents are
called with the ilock held exclusively.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_inode_fork.c')
-rw-r--r-- | fs/xfs/xfs_inode_fork.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c index cfee14a83cfe..e16985e1c2fd 100644 --- a/fs/xfs/xfs_inode_fork.c +++ b/fs/xfs/xfs_inode_fork.c @@ -431,6 +431,8 @@ xfs_iread_extents( xfs_ifork_t *ifp; xfs_extnum_t nextents; + ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); + if (unlikely(XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE)) { XFS_ERROR_REPORT("xfs_iread_extents", XFS_ERRLEVEL_LOW, ip->i_mount); |