diff --git a/kmod/src/data.c b/kmod/src/data.c index 08e5fc09..1e4aa2a4 100644 --- a/kmod/src/data.c +++ b/kmod/src/data.c @@ -558,7 +558,7 @@ static int scoutfs_get_block(struct inode *inode, sector_t iblock, u64 offset; int ret; - WARN_ON_ONCE(create && !inode_is_locked(inode)); + WARN_ON_ONCE(create && !rwsem_is_locked(&si->extent_sem)); /* make sure caller holds a cluster lock */ lock = scoutfs_per_task_get(&si->pt_data_lock); @@ -1915,7 +1915,6 @@ static int scoutfs_data_page_mkwrite(struct vm_area_struct *vma, int err; sb_start_pagefault(sb); - inode_lock(inode); down_write(&si->extent_sem); retry: @@ -2008,7 +2007,6 @@ static int scoutfs_data_page_mkwrite(struct vm_area_struct *vma, scoutfs_per_task_del(&si->pt_data_lock, &pt_ent); scoutfs_unlock(sb, lock, SCOUTFS_LOCK_WRITE); up_write(&si->extent_sem); - inode_unlock(inode); if (scoutfs_data_wait_found(&dw)) { ret = scoutfs_data_wait(inode, &dw); if (ret == 0)