Home
last modified time | relevance | path

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

12

/linux/fs/netfs/
H A Dlocking.c57 __acquires(inode->i_rwsem) in netfs_start_io_read()
62 if (down_read_interruptible(&inode->i_rwsem) < 0) in netfs_start_io_read()
66 up_read(&inode->i_rwsem); in netfs_start_io_read()
69 if (down_write_killable(&inode->i_rwsem) < 0) in netfs_start_io_read()
72 up_write(&inode->i_rwsem); in netfs_start_io_read()
75 downgrade_write(&inode->i_rwsem); in netfs_start_io_read()
88 __releases(inode->i_rwsem) in netfs_end_io_read()
90 up_read(&inode->i_rwsem); in netfs_end_io_read()
102 __acquires(inode->i_rwsem) in netfs_start_io_write()
106 if (down_write_killable(&inode->i_rwsem) < 0) in netfs_start_io_write()
[all …]
/linux/fs/ceph/
H A Dio.c26 lockdep_assert_held_write(&inode->i_rwsem); in ceph_block_o_direct()
66 err = down_read_killable(&inode->i_rwsem); in ceph_start_io_read()
77 up_read(&inode->i_rwsem); in ceph_start_io_read()
80 err = down_write_killable(&inode->i_rwsem); in ceph_start_io_read()
85 downgrade_write(&inode->i_rwsem); in ceph_start_io_read()
100 up_read(&inode->i_rwsem); in ceph_end_io_read()
112 int err = down_write_killable(&inode->i_rwsem); in ceph_start_io_write()
128 up_write(&inode->i_rwsem); in ceph_end_io_write()
136 lockdep_assert_held_write(&inode->i_rwsem); in ceph_block_buffered()
178 err = down_read_killable(&inode->i_rwsem); in ceph_start_io_direct()
[all …]
/linux/fs/nfs/
H A Dio.c40 err = down_read_killable(&inode->i_rwsem); in nfs_start_io_read()
45 up_read(&inode->i_rwsem); in nfs_start_io_read()
48 err = down_write_killable(&inode->i_rwsem); in nfs_start_io_read()
52 downgrade_write(&inode->i_rwsem); in nfs_start_io_read()
67 up_read(&inode->i_rwsem); in nfs_end_io_read()
82 err = down_write_killable(&inode->i_rwsem); in nfs_start_io_write()
99 up_write(&inode->i_rwsem); in nfs_end_io_write()
135 err = down_read_killable(&inode->i_rwsem); in nfs_start_io_direct()
140 up_read(&inode->i_rwsem); in nfs_start_io_direct()
143 err = down_write_killable(&inode->i_rwsem); in nfs_start_io_direct()
[all …]
/linux/Documentation/filesystems/
H A Ddirectory-locking.rst7 kinds of locks - per-inode (->i_rwsem) and per-filesystem
10 When taking the i_rwsem on multiple non-directory objects, we
140 * rank ->i_rwsem of non-directories on given filesystem in inode pointer
142 * put ->i_rwsem of all directories on a filesystem at the same rank,
143 lower than ->i_rwsem of any non-directory on the same filesystem.
144 * put ->s_vfs_rename_mutex at rank lower than that of any ->i_rwsem
152 2. ->i_rwsem of directories on that NFS filesystem, same rank for all
153 3. ->i_rwsem of non-directories on that filesystem, in order of
156 5. ->i_rwsem of directories on the local filesystem, same rank for all
157 6. ->i_rwsem of non-directories on local filesystem, in order of
[all …]
H A Dlocking.rst101 ops i_rwsem(inode)
131 Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_rwsem
134 ->unlink() and ->rename() have ->i_rwsem exclusive on all non-directories
136 ->rename() has ->i_rwsem exclusive on any subdirectory that changes parent.
159 ops i_rwsem(inode)
275 ops folio locked i_rwsem invalidate_lock
516 ->iterate_shared() is called with i_rwsem held for reading, and with the
551 blocking changes through write(2) and similar operations inode->i_rwsem can be
/linux/fs/orangefs/
H A Dfile.c329 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()
/linux/Documentation/filesystems/iomap/
H A Doperations.rst104 ``i_rwsem`` or ``invalidate_lock`` and updates mapping information.
235 Callers commonly take ``i_rwsem`` in either shared or exclusive mode
278 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
289 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
302 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
316 It does not lock ``i_rwsem`` or ``invalidate_lock``.
534 Callers commonly hold ``i_rwsem`` in shared mode before calling this
588 Callers commonly hold ``i_rwsem`` in shared or exclusive mode before
652 Callers commonly hold ``i_rwsem`` in shared mode before calling this
674 Callers commonly hold ``i_rwsem`` in exclusive mode before calling this
[all …]
H A Ddesign.rst111 * ``i_rwsem``: The VFS ``struct inode`` rwsemaphore.
417 For example, a filesystem might take ``i_rwsem`` before calling
/linux/fs/
H A Dreaddir.c53 up_read(&inode->i_rwsem); in wrap_directory_iterator()
54 down_write(&inode->i_rwsem); in wrap_directory_iterator()
67 downgrade_write(&inode->i_rwsem); in wrap_directory_iterator()
101 res = down_read_killable(&inode->i_rwsem); in iterate_dir()
H A Dinode.c273 init_rwsem(&inode->i_rwsem); in inode_init_always_gfp()
274 lockdep_set_class(&inode->i_rwsem, &sb->s_type->i_mutex_key); in inode_init_always_gfp()
1199 if (lockdep_match_class(&inode->i_rwsem, &type->i_mutex_key)) { in lockdep_annotate_inode_mutex_key()
1203 init_rwsem(&inode->i_rwsem); in lockdep_annotate_inode_mutex_key()
1204 lockdep_set_class(&inode->i_rwsem, in lockdep_annotate_inode_mutex_key()
H A Ddax.c1726 lockdep_assert_held_write(&iomi.inode->i_rwsem); in dax_iomap_rw()
1729 lockdep_assert_held(&iomi.inode->i_rwsem); in dax_iomap_rw()
H A Dlibfs.c560 lockdep_assert_held(&d_inode(dir)->i_rwsem); in offset_readdir()
/linux/fs/xfs/scrub/
H A Dxfile.c72 lockdep_set_class(&inode->i_rwsem, &xfile_i_mutex_key); in xfile_create()
98 lockdep_set_class(&inode->i_rwsem, &inode->i_sb->s_type->i_mutex_key); in xfile_destroy()
/linux/include/linux/
H A Dfs.h820 struct rw_semaphore i_rwsem; member
1028 down_write(&inode->i_rwsem); in inode_lock()
1033 return down_write_killable(&inode->i_rwsem); in inode_lock_killable()
1038 up_write(&inode->i_rwsem); in inode_unlock()
1043 down_read(&inode->i_rwsem); in inode_lock_shared()
1048 return down_read_killable(&inode->i_rwsem); in inode_lock_shared_killable()
1053 up_read(&inode->i_rwsem); in inode_unlock_shared()
1058 return down_write_trylock(&inode->i_rwsem); in inode_trylock()
1063 return down_read_trylock(&inode->i_rwsem); in inode_trylock_shared()
1068 return rwsem_is_locked(&inode->i_rwsem); in inode_is_locked()
[all …]
/linux/Documentation/translations/zh_CN/filesystems/
H A Dgfs2-glocks.rst111 1. i_rwsem(如需要)
/linux/fs/xfs/
H A Dxfs_buf_mem.c73 lockdep_set_class(&inode->i_rwsem, &xmbuf_i_mutex_key); in xmbuf_alloc()
H A Dxfs_icache.c371 ASSERT(!rwsem_is_locked(&inode->i_rwsem)); in xfs_iget_recycle()
H A Dxfs_super.c714 ASSERT(!rwsem_is_locked(&inode->i_rwsem)); in xfs_fs_destroy_inode()
/linux/fs/configfs/
H A Dinode.c134 lockdep_set_class(&inode->i_rwsem, in configfs_set_inode_lock_class()
/linux/fs/ext4/
H A Dfile.c314 lockdep_assert_held_write(&inode->i_rwsem); in ext4_handle_inode_extension()
340 lockdep_assert_held_write(&inode->i_rwsem); in ext4_inode_extension_cleanup()
/linux/lib/
H A Dtest_lockup.c548 lock_rwsem_ptr = (unsigned long)&test_inode->i_rwsem; in test_lockup_init()
/linux/fs/afs/
H A Daddr_prefs.c392 lockdep_is_held(&file_inode(file)->i_rwsem)); in afs_proc_addr_prefs_write()
/linux/fs/gfs2/
H A Dops_fstype.c869 lockdep_set_class(&sdp->sd_quota_inode->i_rwsem, in init_inodes()
/linux/fs/btrfs/
H A Ddelayed-inode.c1766 downgrade_write(&inode->vfs_inode.i_rwsem); in btrfs_readdir_put_delayed_items()
H A Dioctl.c4548 btrfs_lockdep_inode_acquire(inode, i_rwsem); in btrfs_uring_read_finished()
4664 btrfs_lockdep_inode_release(inode, i_rwsem); in btrfs_uring_read_extent()

12