fs/ocfs2: fix comments mentioning i_mutex
inode->i_mutex has been replaced with inode->i_rwsem long ago. Fix comments still mentioning i_mutex. Link: https://lkml.kernel.org/r/20220214031314.100094-1-hongnan.li@linux.alibaba.com Signed-off-by: hongnanli <hongnan.li@linux.alibaba.com> Acked-by: Joseph Qi <joseph.qi@linux.alibaba.com> Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Changwei Ge <gechangwei@live.cn> Cc: Gang He <ghe@suse.com> Cc: Jun Piao <piaojun@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
38c9d2d3f3
commit
137cebf943
|
@ -5981,7 +5981,7 @@ static int ocfs2_replay_truncate_records(struct ocfs2_super *osb,
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Expects you to already be holding tl_inode->i_mutex */
|
/* Expects you to already be holding tl_inode->i_rwsem */
|
||||||
int __ocfs2_flush_truncate_log(struct ocfs2_super *osb)
|
int __ocfs2_flush_truncate_log(struct ocfs2_super *osb)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
|
|
|
@ -2311,7 +2311,7 @@ static int ocfs2_dio_end_io_write(struct inode *inode,
|
||||||
|
|
||||||
down_write(&oi->ip_alloc_sem);
|
down_write(&oi->ip_alloc_sem);
|
||||||
|
|
||||||
/* Delete orphan before acquire i_mutex. */
|
/* Delete orphan before acquire i_rwsem. */
|
||||||
if (dwc->dw_orphaned) {
|
if (dwc->dw_orphaned) {
|
||||||
BUG_ON(dwc->dw_writer_pid != task_pid_nr(current));
|
BUG_ON(dwc->dw_writer_pid != task_pid_nr(current));
|
||||||
|
|
||||||
|
|
|
@ -689,7 +689,7 @@ static struct config_group *o2nm_cluster_group_make_group(struct config_group *g
|
||||||
struct o2nm_node_group *ns = NULL;
|
struct o2nm_node_group *ns = NULL;
|
||||||
struct config_group *o2hb_group = NULL, *ret = NULL;
|
struct config_group *o2hb_group = NULL, *ret = NULL;
|
||||||
|
|
||||||
/* this runs under the parent dir's i_mutex; there can be only
|
/* this runs under the parent dir's i_rwsem; there can be only
|
||||||
* one caller in here at a time */
|
* one caller in here at a time */
|
||||||
if (o2nm_single_cluster)
|
if (o2nm_single_cluster)
|
||||||
return ERR_PTR(-ENOSPC);
|
return ERR_PTR(-ENOSPC);
|
||||||
|
|
|
@ -1957,7 +1957,7 @@ int ocfs2_readdir(struct file *file, struct dir_context *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE: this should always be called with parent dir i_mutex taken.
|
* NOTE: this should always be called with parent dir i_rwsem taken.
|
||||||
*/
|
*/
|
||||||
int ocfs2_find_files_on_disk(const char *name,
|
int ocfs2_find_files_on_disk(const char *name,
|
||||||
int namelen,
|
int namelen,
|
||||||
|
@ -2003,7 +2003,7 @@ int ocfs2_lookup_ino_from_name(struct inode *dir, const char *name,
|
||||||
* Return 0 if the name does not exist
|
* Return 0 if the name does not exist
|
||||||
* Return -EEXIST if the directory contains the name
|
* Return -EEXIST if the directory contains the name
|
||||||
*
|
*
|
||||||
* Callers should have i_mutex + a cluster lock on dir
|
* Callers should have i_rwsem + a cluster lock on dir
|
||||||
*/
|
*/
|
||||||
int ocfs2_check_dir_for_entry(struct inode *dir,
|
int ocfs2_check_dir_for_entry(struct inode *dir,
|
||||||
const char *name,
|
const char *name,
|
||||||
|
|
|
@ -270,7 +270,7 @@ int ocfs2_update_inode_atime(struct inode *inode,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't use ocfs2_mark_inode_dirty() here as we don't always
|
* Don't use ocfs2_mark_inode_dirty() here as we don't always
|
||||||
* have i_mutex to guard against concurrent changes to other
|
* have i_rwsem to guard against concurrent changes to other
|
||||||
* inode fields.
|
* inode fields.
|
||||||
*/
|
*/
|
||||||
inode->i_atime = current_time(inode);
|
inode->i_atime = current_time(inode);
|
||||||
|
@ -1065,7 +1065,7 @@ static int ocfs2_extend_file(struct inode *inode,
|
||||||
/*
|
/*
|
||||||
* The alloc sem blocks people in read/write from reading our
|
* The alloc sem blocks people in read/write from reading our
|
||||||
* allocation until we're done changing it. We depend on
|
* allocation until we're done changing it. We depend on
|
||||||
* i_mutex to block other extend/truncate calls while we're
|
* i_rwsem to block other extend/truncate calls while we're
|
||||||
* here. We even have to hold it for sparse files because there
|
* here. We even have to hold it for sparse files because there
|
||||||
* might be some tail zeroing.
|
* might be some tail zeroing.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -713,7 +713,7 @@ static int ocfs2_remove_inode(struct inode *inode,
|
||||||
/*
|
/*
|
||||||
* Serialize with orphan dir recovery. If the process doing
|
* Serialize with orphan dir recovery. If the process doing
|
||||||
* recovery on this orphan dir does an iget() with the dir
|
* recovery on this orphan dir does an iget() with the dir
|
||||||
* i_mutex held, we'll deadlock here. Instead we detect this
|
* i_rwsem held, we'll deadlock here. Instead we detect this
|
||||||
* and exit early - recovery will wipe this inode for us.
|
* and exit early - recovery will wipe this inode for us.
|
||||||
*/
|
*/
|
||||||
static int ocfs2_check_orphan_recovery_state(struct ocfs2_super *osb,
|
static int ocfs2_check_orphan_recovery_state(struct ocfs2_super *osb,
|
||||||
|
|
|
@ -606,7 +606,7 @@ int ocfs2_complete_local_alloc_recovery(struct ocfs2_super *osb,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* make sure we've got at least bits_wanted contiguous bits in the
|
* make sure we've got at least bits_wanted contiguous bits in the
|
||||||
* local alloc. You lose them when you drop i_mutex.
|
* local alloc. You lose them when you drop i_rwsem.
|
||||||
*
|
*
|
||||||
* We will add ourselves to the transaction passed in, but may start
|
* We will add ourselves to the transaction passed in, but may start
|
||||||
* our own in order to shift windows.
|
* our own in order to shift windows.
|
||||||
|
@ -636,7 +636,7 @@ int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We must double check state and allocator bits because
|
* We must double check state and allocator bits because
|
||||||
* another process may have changed them while holding i_mutex.
|
* another process may have changed them while holding i_rwsem.
|
||||||
*/
|
*/
|
||||||
spin_lock(&osb->osb_lock);
|
spin_lock(&osb->osb_lock);
|
||||||
if (!ocfs2_la_state_enabled(osb) ||
|
if (!ocfs2_la_state_enabled(osb) ||
|
||||||
|
@ -1029,7 +1029,7 @@ enum ocfs2_la_event {
|
||||||
/*
|
/*
|
||||||
* Given an event, calculate the size of our next local alloc window.
|
* Given an event, calculate the size of our next local alloc window.
|
||||||
*
|
*
|
||||||
* This should always be called under i_mutex of the local alloc inode
|
* This should always be called under i_rwsem of the local alloc inode
|
||||||
* so that local alloc disabling doesn't race with processes trying to
|
* so that local alloc disabling doesn't race with processes trying to
|
||||||
* use the allocator.
|
* use the allocator.
|
||||||
*
|
*
|
||||||
|
|
|
@ -476,7 +476,7 @@ static int ocfs2_mknod(struct user_namespace *mnt_userns,
|
||||||
ocfs2_free_alloc_context(meta_ac);
|
ocfs2_free_alloc_context(meta_ac);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We should call iput after the i_mutex of the bitmap been
|
* We should call iput after the i_rwsem of the bitmap been
|
||||||
* unlocked in ocfs2_free_alloc_context, or the
|
* unlocked in ocfs2_free_alloc_context, or the
|
||||||
* ocfs2_delete_inode will mutex_lock again.
|
* ocfs2_delete_inode will mutex_lock again.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -355,7 +355,7 @@ struct ocfs2_super
|
||||||
struct delayed_work la_enable_wq;
|
struct delayed_work la_enable_wq;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Must hold local alloc i_mutex and osb->osb_lock to change
|
* Must hold local alloc i_rwsem and osb->osb_lock to change
|
||||||
* local_alloc_bits. Reads can be done under either lock.
|
* local_alloc_bits. Reads can be done under either lock.
|
||||||
*/
|
*/
|
||||||
unsigned int local_alloc_bits;
|
unsigned int local_alloc_bits;
|
||||||
|
@ -430,7 +430,7 @@ struct ocfs2_super
|
||||||
atomic_t osb_tl_disable;
|
atomic_t osb_tl_disable;
|
||||||
/*
|
/*
|
||||||
* How many clusters in our truncate log.
|
* How many clusters in our truncate log.
|
||||||
* It must be protected by osb_tl_inode->i_mutex.
|
* It must be protected by osb_tl_inode->i_rwsem.
|
||||||
*/
|
*/
|
||||||
unsigned int truncated_clusters;
|
unsigned int truncated_clusters;
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* should be obeyed by all the functions:
|
* should be obeyed by all the functions:
|
||||||
* - any write of quota structure (either to local or global file) is protected
|
* - any write of quota structure (either to local or global file) is protected
|
||||||
* by dqio_sem or dquot->dq_lock.
|
* by dqio_sem or dquot->dq_lock.
|
||||||
* - any modification of global quota file holds inode cluster lock, i_mutex,
|
* - any modification of global quota file holds inode cluster lock, i_rwsem,
|
||||||
* and ip_alloc_sem of the global quota file (achieved by
|
* and ip_alloc_sem of the global quota file (achieved by
|
||||||
* ocfs2_lock_global_qf). It also has to hold qinfo_lock.
|
* ocfs2_lock_global_qf). It also has to hold qinfo_lock.
|
||||||
* - an allocation of new blocks for local quota file is protected by
|
* - an allocation of new blocks for local quota file is protected by
|
||||||
|
|
|
@ -7205,7 +7205,7 @@ int ocfs2_reflink_xattrs(struct inode *old_inode,
|
||||||
* Used for reflink a non-preserve-security file.
|
* Used for reflink a non-preserve-security file.
|
||||||
*
|
*
|
||||||
* It uses common api like ocfs2_xattr_set, so the caller
|
* It uses common api like ocfs2_xattr_set, so the caller
|
||||||
* must not hold any lock expect i_mutex.
|
* must not hold any lock expect i_rwsem.
|
||||||
*/
|
*/
|
||||||
int ocfs2_init_security_and_acl(struct inode *dir,
|
int ocfs2_init_security_and_acl(struct inode *dir,
|
||||||
struct inode *inode,
|
struct inode *inode,
|
||||||
|
|
Loading…
Reference in New Issue