/kernel/linux/linux-5.10/fs/ceph/ |
H A D | io.c | 21 /* Call with exclusively locked inode->i_rwsem */ 24 lockdep_assert_held_write(&inode->i_rwsem); in ceph_block_o_direct() 41 * and holds a shared lock on inode->i_rwsem to ensure that the flag 48 * inode->i_rwsem, meaning that those are serialised w.r.t. the reads. 56 down_read(&inode->i_rwsem); in ceph_start_io_read() 59 up_read(&inode->i_rwsem); in ceph_start_io_read() 61 down_write(&inode->i_rwsem); in ceph_start_io_read() 63 downgrade_write(&inode->i_rwsem); in ceph_start_io_read() 71 * lock on inode->i_rwsem. 76 up_read(&inode->i_rwsem); in ceph_end_io_read() [all...] |
/kernel/linux/linux-6.6/fs/ceph/ |
H A D | io.c | 21 /* Call with exclusively locked inode->i_rwsem */ 24 lockdep_assert_held_write(&inode->i_rwsem); in ceph_block_o_direct() 41 * and holds a shared lock on inode->i_rwsem to ensure that the flag 48 * inode->i_rwsem, meaning that those are serialised w.r.t. the reads. 56 down_read(&inode->i_rwsem); in ceph_start_io_read() 59 up_read(&inode->i_rwsem); in ceph_start_io_read() 61 down_write(&inode->i_rwsem); in ceph_start_io_read() 63 downgrade_write(&inode->i_rwsem); in ceph_start_io_read() 71 * lock on inode->i_rwsem. 76 up_read(&inode->i_rwsem); in ceph_end_io_read() [all...] |
/kernel/linux/linux-5.10/fs/nfs/ |
H A D | io.c | 17 /* Call with exclusively locked inode->i_rwsem */ 33 * and holds a shared lock on inode->i_rwsem to ensure that the flag 40 * inode->i_rwsem, meaning that those are serialised w.r.t. the reads. 47 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() 62 * lock on inode->i_rwsem. 67 up_read(&inode->i_rwsem); in nfs_end_io_read() 80 down_write(&inode->i_rwsem); in nfs_start_io_write() [all...] |
/kernel/linux/linux-6.6/fs/nfs/ |
H A D | io.c | 17 /* Call with exclusively locked inode->i_rwsem */ 33 * and holds a shared lock on inode->i_rwsem to ensure that the flag 40 * inode->i_rwsem, meaning that those are serialised w.r.t. the reads. 47 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() 62 * lock on inode->i_rwsem. 67 up_read(&inode->i_rwsem); in nfs_end_io_read() 80 down_write(&inode->i_rwsem); in nfs_start_io_write() [all...] |
/kernel/linux/linux-6.6/fs/ |
H A D | readdir.c | 55 up_read(&inode->i_rwsem); in wrap_directory_iterator() 56 down_write(&inode->i_rwsem); in wrap_directory_iterator() 69 downgrade_write(&inode->i_rwsem); in wrap_directory_iterator() 99 res = down_read_killable(&inode->i_rwsem); in iterate_dir()
|
H A D | inode.c | 198 init_rwsem(&inode->i_rwsem); in inode_init_always() 199 lockdep_set_class(&inode->i_rwsem, &sb->s_type->i_mutex_key); in inode_init_always() 1046 if (lockdep_match_class(&inode->i_rwsem, &type->i_mutex_key)) { in lockdep_annotate_inode_mutex_key() 1051 init_rwsem(&inode->i_rwsem); in lockdep_annotate_inode_mutex_key() 1052 lockdep_set_class(&inode->i_rwsem, in lockdep_annotate_inode_mutex_key()
|
H A D | dax.c | 1564 lockdep_assert_held_write(&iomi.inode->i_rwsem); in dax_iomap_rw() 1567 lockdep_assert_held(&iomi.inode->i_rwsem); in dax_iomap_rw()
|
/kernel/linux/linux-6.6/fs/orangefs/ |
H A D | file.c | 329 down_read(&file_inode(iocb->ki_filp)->i_rwsem); in orangefs_file_read_iter() 336 up_read(&file_inode(iocb->ki_filp)->i_rwsem); in orangefs_file_read_iter() 349 down_read(&inode->i_rwsem); in orangefs_file_splice_read() 356 up_read(&inode->i_rwsem); in orangefs_file_splice_read()
|
/kernel/linux/linux-6.6/fs/xfs/scrub/ |
H A D | xfile.c | 95 lockdep_set_class(&inode->i_rwsem, &xfile_i_mutex_key); in xfile_create() 115 lockdep_set_class(&inode->i_rwsem, &inode->i_sb->s_type->i_mutex_key); in xfile_destroy()
|
/kernel/linux/linux-5.10/fs/xfs/ |
H A D | xfs_inode.c | 136 * In addition to i_rwsem in the VFS inode, the xfs inode contains 2 145 * i_rwsem -> i_mmap_lock -> page_lock -> i_ilock 149 * i_rwsem -> page lock -> mmap_lock 156 * direct IO. Similarly the i_rwsem cannot be taken inside a page fault because 160 * take both the i_rwsem and the i_mmap_lock. These locks should *only* be both 186 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() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | fs.h | 663 struct rw_semaphore i_rwsem; member 777 down_write(&inode->i_rwsem); in inode_lock() 782 up_write(&inode->i_rwsem); in inode_unlock() 787 down_read(&inode->i_rwsem); in inode_lock_shared() 792 up_read(&inode->i_rwsem); in inode_unlock_shared() 797 return down_write_trylock(&inode->i_rwsem); in inode_trylock() 802 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared() 807 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked() 812 down_write_nested(&inode->i_rwsem, subclass); in inode_lock_nested() 817 down_read_nested(&inode->i_rwsem, subclas in inode_lock_shared_nested() [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | fs.h | 691 struct rw_semaphore i_rwsem; member 804 down_write(&inode->i_rwsem); in inode_lock() 809 up_write(&inode->i_rwsem); in inode_unlock() 814 down_read(&inode->i_rwsem); in inode_lock_shared() 819 up_read(&inode->i_rwsem); in inode_unlock_shared() 824 return down_write_trylock(&inode->i_rwsem); in inode_trylock() 829 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared() 834 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked() 839 down_write_nested(&inode->i_rwsem, subclass); in inode_lock_nested() 844 down_read_nested(&inode->i_rwsem, subclas in inode_lock_shared_nested() [all...] |
/kernel/linux/linux-6.6/fs/xfs/ |
H A D | xfs_inode.c | 156 * In addition to i_rwsem in the VFS inode, the xfs inode contains 2 165 * i_rwsem -> invalidate_lock -> page_lock -> i_ilock 169 * i_rwsem -> page lock -> mmap_lock 176 * space for direct IO. Similarly the i_rwsem cannot be taken inside a page 180 * take both the i_rwsem and the invalidate_lock. These locks should *only* be 195 down_write_nested(&VFS_I(ip)->i_rwsem, in xfs_ilock() 198 down_read_nested(&VFS_I(ip)->i_rwsem, in xfs_ilock() 238 if (!down_write_trylock(&VFS_I(ip)->i_rwsem)) in xfs_ilock_nowait() 241 if (!down_read_trylock(&VFS_I(ip)->i_rwsem)) in xfs_ilock_nowait() 269 up_write(&VFS_I(ip)->i_rwsem); in xfs_ilock_nowait() [all...] |
/kernel/linux/linux-5.10/fs/orangefs/ |
H A D | file.c | 351 down_read(&file_inode(iocb->ki_filp)->i_rwsem); in orangefs_file_read_iter() 358 up_read(&file_inode(iocb->ki_filp)->i_rwsem); in orangefs_file_read_iter()
|
/kernel/linux/linux-5.10/fs/ |
H A D | readdir.c | 55 res = down_read_killable(&inode->i_rwsem); in iterate_dir() 57 res = down_write_killable(&inode->i_rwsem); in iterate_dir()
|
H A D | inode.c | 175 init_rwsem(&inode->i_rwsem); in inode_init_always() 176 lockdep_set_class(&inode->i_rwsem, &sb->s_type->i_mutex_key); in inode_init_always() 1009 if (lockdep_match_class(&inode->i_rwsem, &type->i_mutex_key)) { in lockdep_annotate_inode_mutex_key() 1014 init_rwsem(&inode->i_rwsem); in lockdep_annotate_inode_mutex_key() 1015 lockdep_set_class(&inode->i_rwsem, in lockdep_annotate_inode_mutex_key()
|
H A D | dax.c | 1219 lockdep_assert_held_write(&inode->i_rwsem); in dax_iomap_rw() 1222 lockdep_assert_held(&inode->i_rwsem); in dax_iomap_rw()
|
/kernel/linux/linux-5.10/fs/configfs/ |
H A D | inode.c | 142 lockdep_set_class(&inode->i_rwsem, in configfs_set_inode_lock_class()
|
/kernel/linux/linux-6.6/fs/configfs/ |
H A D | inode.c | 134 lockdep_set_class(&inode->i_rwsem, in configfs_set_inode_lock_class()
|
/kernel/linux/linux-5.10/fs/overlayfs/ |
H A D | inode.c | 544 * - inode->i_rwsem (inode_lock[2]) 550 * - inode->i_rwsem (inode_lock[2]) 552 * - lowerinode->i_rwsem (inode_lock[1]) 555 * But lowerinode->i_rwsem SHOULD NOT be acquired while ovl_want_write() is 558 * - inode->i_rwsem (inode_lock[1]) 577 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_dir_key[depth]); in ovl_lockdep_annotate_inode_mutex_key() 579 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_key[depth]); in ovl_lockdep_annotate_inode_mutex_key()
|
/kernel/linux/linux-6.6/fs/ext4/ |
H A D | file.c | 313 lockdep_assert_held_write(&inode->i_rwsem); in ext4_handle_inode_extension() 339 lockdep_assert_held_write(&inode->i_rwsem); in ext4_inode_extension_cleanup() 417 * also release exclusive i_rwsem lock. 419 * - Otherwise we will switch to exclusive i_rwsem lock. 511 * Quick check here without any i_rwsem lock to see if it is extending in ext4_dio_write_iter()
|
/kernel/linux/linux-5.10/lib/ |
H A D | test_lockup.c | 152 MODULE_PARM_DESC(lock_inode, "lock file -> inode -> i_rwsem"); 532 lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem; in test_lockup_init()
|
/kernel/linux/linux-6.6/lib/ |
H A D | test_lockup.c | 152 MODULE_PARM_DESC(lock_inode, "lock file -> inode -> i_rwsem"); 548 lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem; in test_lockup_init()
|
/kernel/linux/linux-6.6/fs/overlayfs/ |
H A D | inode.c | 922 * - inode->i_rwsem (inode_lock[2]) 928 * - inode->i_rwsem (inode_lock[2]) 930 * - lowerinode->i_rwsem (inode_lock[1]) 933 * But lowerinode->i_rwsem SHOULD NOT be acquired while ovl_want_write() is 936 * - inode->i_rwsem (inode_lock[1]) 955 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_dir_key[depth]); in ovl_lockdep_annotate_inode_mutex_key() 957 lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_key[depth]); in ovl_lockdep_annotate_inode_mutex_key()
|
/kernel/linux/linux-5.10/drivers/staging/android/ |
H A D | ashmem.c | 458 lockdep_set_class(&inode->i_rwsem, &backing_shmem_inode_class); in ashmem_mmap()
|