Home
last modified time | relevance | path

Searched refs:i_rwsem (Results 1 – 23 of 23) sorted by relevance

/Linux-v4.19/fs/nfs/
Dio.c47 down_read(&inode->i_rwsem); in nfs_start_io_read()
50 up_read(&inode->i_rwsem); in nfs_start_io_read()
52 down_write(&inode->i_rwsem); in nfs_start_io_read()
54 downgrade_write(&inode->i_rwsem); in nfs_start_io_read()
67 up_read(&inode->i_rwsem); in nfs_end_io_read()
80 down_write(&inode->i_rwsem); in nfs_start_io_write()
94 up_write(&inode->i_rwsem); in nfs_end_io_write()
127 down_read(&inode->i_rwsem); in nfs_start_io_direct()
130 up_read(&inode->i_rwsem); in nfs_start_io_direct()
132 down_write(&inode->i_rwsem); in nfs_start_io_direct()
[all …]
/Linux-v4.19/Documentation/filesystems/
Ddirectory-locking2 kinds of locks - per-inode (->i_rwsem) and per-filesystem
5 When taking the i_rwsem on multiple non-directory objects, we
49 All ->i_rwsem are taken exclusive. Again, we might get away with locking
84 Thus all processes are blocked on ->i_rwsem.
DLocking71 i_rwsem(inode)
94 Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_rwsem
113 i_rwsem(inode)
219 PageLocked(page) i_rwsem
483 ->iterate() is called with i_rwsem exclusive.
485 ->iterate_shared() is called with i_rwsem at least shared.
Dgfs2-glocks.txt103 1. i_rwsem (if required)
Dporting540 ->i_mutex is replaced with ->i_rwsem now. inode_lock() et.al. work as
/Linux-v4.19/fs/xfs/
Dxfs_inode.c186 down_write_nested(&VFS_I(ip)->i_rwsem, in xfs_ilock()
189 down_read_nested(&VFS_I(ip)->i_rwsem, in xfs_ilock()
237 if (!down_write_trylock(&VFS_I(ip)->i_rwsem)) in xfs_ilock_nowait()
240 if (!down_read_trylock(&VFS_I(ip)->i_rwsem)) in xfs_ilock_nowait()
268 up_write(&VFS_I(ip)->i_rwsem); in xfs_ilock_nowait()
270 up_read(&VFS_I(ip)->i_rwsem); in xfs_ilock_nowait()
307 up_write(&VFS_I(ip)->i_rwsem); in xfs_iunlock()
309 up_read(&VFS_I(ip)->i_rwsem); in xfs_iunlock()
342 downgrade_write(&VFS_I(ip)->i_rwsem); in xfs_ilock_demote()
368 lockdep_is_held_type(&VFS_I(ip)->i_rwsem, 0); in xfs_isilocked()
[all …]
Dxfs_icache.c450 ASSERT(!rwsem_is_locked(&inode->i_rwsem)); in xfs_iget_cache_hit()
451 init_rwsem(&inode->i_rwsem); in xfs_iget_cache_hit()
Dxfs_iops.c1282 lockdep_set_class(&inode->i_rwsem, in xfs_setup_inode()
Dxfs_super.c948 ASSERT(!rwsem_is_locked(&inode->i_rwsem)); in xfs_fs_destroy_inode()
/Linux-v4.19/include/linux/
Dfs.h634 struct rw_semaphore i_rwsem; member
738 down_write(&inode->i_rwsem); in inode_lock()
743 up_write(&inode->i_rwsem); in inode_unlock()
748 down_read(&inode->i_rwsem); in inode_lock_shared()
753 up_read(&inode->i_rwsem); in inode_unlock_shared()
758 return down_write_trylock(&inode->i_rwsem); in inode_trylock()
763 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared()
768 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked()
773 down_write_nested(&inode->i_rwsem, subclass); in inode_lock_nested()
778 down_read_nested(&inode->i_rwsem, subclass); in inode_lock_shared_nested()
/Linux-v4.19/fs/
Dreaddir.c41 res = down_read_killable(&inode->i_rwsem); in iterate_dir()
43 res = down_write_killable(&inode->i_rwsem); in iterate_dir()
Dinode.c173 init_rwsem(&inode->i_rwsem); in inode_init_always()
174 lockdep_set_class(&inode->i_rwsem, &sb->s_type->i_mutex_key); in inode_init_always()
946 if (lockdep_match_class(&inode->i_rwsem, &type->i_mutex_key)) { in lockdep_annotate_inode_mutex_key()
951 init_rwsem(&inode->i_rwsem); in lockdep_annotate_inode_mutex_key()
952 lockdep_set_class(&inode->i_rwsem, in lockdep_annotate_inode_mutex_key()
Ddax.c1300 lockdep_assert_held_exclusive(&inode->i_rwsem); in dax_iomap_rw()
1303 lockdep_assert_held(&inode->i_rwsem); in dax_iomap_rw()
Diomap.c1771 lockdep_assert_held(&inode->i_rwsem); in iomap_dio_rw()
Ddcache.c2886 m2 = &alias->d_parent->d_inode->i_rwsem; in __d_unalias()
/Linux-v4.19/fs/configfs/
Dinode.c159 lockdep_set_class(&inode->i_rwsem, in configfs_set_inode_lock_class()
/Linux-v4.19/fs/overlayfs/
Dinode.c542 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_dir_key[depth]); in ovl_lockdep_annotate_inode_mutex_key()
544 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_key[depth]); in ovl_lockdep_annotate_inode_mutex_key()
Dreaddir.c279 err = down_write_killable(&dir->d_inode->i_rwsem); in ovl_check_whiteouts()
/Linux-v4.19/fs/gfs2/
Dops_fstype.c812 lockdep_set_class(&sdp->sd_quota_inode->i_rwsem, in init_inodes()
/Linux-v4.19/fs/ocfs2/
Dinode.c261 lockdep_set_class(&inode->i_rwsem, in ocfs2_init_locked_inode()
/Linux-v4.19/fs/btrfs/
Ddelayed-inode.c1636 downgrade_write(&inode->i_rwsem); in btrfs_readdir_put_delayed_items()
Dioctl.c944 error = down_write_killable_nested(&dir->i_rwsem, I_MUTEX_PARENT); in btrfs_mksubvol()
2844 err = down_write_killable_nested(&dir->i_rwsem, I_MUTEX_PARENT); in btrfs_ioctl_snap_destroy()
/Linux-v4.19/fs/ext4/
Dxattr.c124 lockdep_set_subclass(&ea_inode->i_rwsem, 1); in ext4_xattr_inode_set_class()