提交 02928a71 编写于 作者: M Mark Fasheh

ocfs2: remove unused ocfs2_handle_add_inode()

We can also delete the unused infrastructure which was once in place to
support this functionality. ocfs2_inode_private loses ip_handle and
ip_handle_list. ocfs2_journal_handle loses handle_list.
Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
上级 85b9e783
...@@ -1067,12 +1067,6 @@ void ocfs2_clear_inode(struct inode *inode) ...@@ -1067,12 +1067,6 @@ void ocfs2_clear_inode(struct inode *inode)
mlog_bug_on_msg(oi->ip_open_count, mlog_bug_on_msg(oi->ip_open_count,
"Clear inode of %llu has open count %d\n", "Clear inode of %llu has open count %d\n",
(unsigned long long)oi->ip_blkno, oi->ip_open_count); (unsigned long long)oi->ip_blkno, oi->ip_open_count);
mlog_bug_on_msg(!list_empty(&oi->ip_handle_list),
"Clear inode of %llu has non empty handle list\n",
(unsigned long long)oi->ip_blkno);
mlog_bug_on_msg(oi->ip_handle,
"Clear inode of %llu has non empty handle pointer\n",
(unsigned long long)oi->ip_blkno);
/* Clear all other flags. */ /* Clear all other flags. */
oi->ip_flags = OCFS2_INODE_CACHE_INLINE; oi->ip_flags = OCFS2_INODE_CACHE_INLINE;
......
...@@ -48,13 +48,6 @@ struct ocfs2_inode_info ...@@ -48,13 +48,6 @@ struct ocfs2_inode_info
struct mutex ip_io_mutex; struct mutex ip_io_mutex;
/* Used by the journalling code to attach an inode to a
* handle. These are protected by ip_io_mutex in order to lock
* out other I/O to the inode until we either commit or
* abort. */
struct list_head ip_handle_list;
struct ocfs2_journal_handle *ip_handle;
u32 ip_flags; /* see below */ u32 ip_flags; /* see below */
u32 ip_attr; /* inode attributes */ u32 ip_attr; /* inode attributes */
......
...@@ -128,7 +128,6 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb) ...@@ -128,7 +128,6 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb)
retval->k_handle = NULL; retval->k_handle = NULL;
INIT_LIST_HEAD(&retval->locks); INIT_LIST_HEAD(&retval->locks);
INIT_LIST_HEAD(&retval->inode_list);
retval->journal = osb->journal; retval->journal = osb->journal;
return retval; return retval;
...@@ -202,51 +201,12 @@ struct ocfs2_journal_handle *ocfs2_start_trans(struct ocfs2_super *osb, ...@@ -202,51 +201,12 @@ struct ocfs2_journal_handle *ocfs2_start_trans(struct ocfs2_super *osb,
return ERR_PTR(ret); return ERR_PTR(ret);
} }
void ocfs2_handle_add_inode(struct ocfs2_journal_handle *handle,
struct inode *inode)
{
BUG_ON(!handle);
BUG_ON(!inode);
atomic_inc(&inode->i_count);
/* we're obviously changing it... */
mutex_lock(&inode->i_mutex);
/* sanity check */
BUG_ON(OCFS2_I(inode)->ip_handle);
BUG_ON(!list_empty(&OCFS2_I(inode)->ip_handle_list));
OCFS2_I(inode)->ip_handle = handle;
list_move_tail(&(OCFS2_I(inode)->ip_handle_list), &(handle->inode_list));
}
static void ocfs2_handle_unlock_inodes(struct ocfs2_journal_handle *handle)
{
struct list_head *p, *n;
struct inode *inode;
struct ocfs2_inode_info *oi;
list_for_each_safe(p, n, &handle->inode_list) {
oi = list_entry(p, struct ocfs2_inode_info,
ip_handle_list);
inode = &oi->vfs_inode;
OCFS2_I(inode)->ip_handle = NULL;
list_del_init(&OCFS2_I(inode)->ip_handle_list);
mutex_unlock(&inode->i_mutex);
iput(inode);
}
}
/* This is trivial so we do it out of the main commit /* This is trivial so we do it out of the main commit
* paths. Beware, it can be called from start_trans too! */ * paths. Beware, it can be called from start_trans too! */
static void ocfs2_commit_unstarted_handle(struct ocfs2_journal_handle *handle) static void ocfs2_commit_unstarted_handle(struct ocfs2_journal_handle *handle)
{ {
mlog_entry_void(); mlog_entry_void();
ocfs2_handle_unlock_inodes(handle);
/* You are allowed to add journal locks before the transaction /* You are allowed to add journal locks before the transaction
* has started. */ * has started. */
ocfs2_handle_cleanup_locks(handle->journal, handle); ocfs2_handle_cleanup_locks(handle->journal, handle);
...@@ -272,9 +232,6 @@ void ocfs2_commit_trans(struct ocfs2_journal_handle *handle) ...@@ -272,9 +232,6 @@ void ocfs2_commit_trans(struct ocfs2_journal_handle *handle)
return; return;
} }
/* release inode semaphores we took during this transaction */
ocfs2_handle_unlock_inodes(handle);
/* ocfs2_extend_trans may have had to call journal_restart /* ocfs2_extend_trans may have had to call journal_restart
* which will always commit the transaction, but may return * which will always commit the transaction, but may return
* error for any number of reasons. If this is the case, we * error for any number of reasons. If this is the case, we
......
...@@ -149,8 +149,6 @@ struct ocfs2_journal_handle { ...@@ -149,8 +149,6 @@ struct ocfs2_journal_handle {
struct list_head locks; /* A bunch of locks to struct list_head locks; /* A bunch of locks to
* release on commit. This * release on commit. This
* should be a list_head */ * should be a list_head */
struct list_head inode_list;
}; };
/* Exported only for the journal struct init code in super.c. Do not call. */ /* Exported only for the journal struct init code in super.c. Do not call. */
...@@ -236,7 +234,6 @@ static inline void ocfs2_checkpoint_inode(struct inode *inode) ...@@ -236,7 +234,6 @@ static inline void ocfs2_checkpoint_inode(struct inode *inode)
* ocfs2_handle_add_lock to indicate that a lock needs * ocfs2_handle_add_lock to indicate that a lock needs
* to be released at the end of that handle. Locks * to be released at the end of that handle. Locks
* will be released in the order that they are added. * will be released in the order that they are added.
* ocfs2_handle_add_inode - Add a locked inode to a transaction.
*/ */
/* You must always start_trans with a number of buffs > 0, but it's /* You must always start_trans with a number of buffs > 0, but it's
...@@ -293,12 +290,6 @@ int ocfs2_journal_dirty_data(handle_t *handle, ...@@ -293,12 +290,6 @@ int ocfs2_journal_dirty_data(handle_t *handle,
struct buffer_head *bh); struct buffer_head *bh);
int ocfs2_handle_add_lock(struct ocfs2_journal_handle *handle, int ocfs2_handle_add_lock(struct ocfs2_journal_handle *handle,
struct inode *inode); struct inode *inode);
/*
* Use this to protect from other processes reading buffer state while
* it's in flight.
*/
void ocfs2_handle_add_inode(struct ocfs2_journal_handle *handle,
struct inode *inode);
/* /*
* Credit Macros: * Credit Macros:
......
...@@ -914,9 +914,7 @@ static void ocfs2_inode_init_once(void *data, ...@@ -914,9 +914,7 @@ static void ocfs2_inode_init_once(void *data,
oi->ip_open_count = 0; oi->ip_open_count = 0;
spin_lock_init(&oi->ip_lock); spin_lock_init(&oi->ip_lock);
ocfs2_extent_map_init(&oi->vfs_inode); ocfs2_extent_map_init(&oi->vfs_inode);
INIT_LIST_HEAD(&oi->ip_handle_list);
INIT_LIST_HEAD(&oi->ip_io_markers); INIT_LIST_HEAD(&oi->ip_io_markers);
oi->ip_handle = NULL;
oi->ip_created_trans = 0; oi->ip_created_trans = 0;
oi->ip_last_trans = 0; oi->ip_last_trans = 0;
oi->ip_dir_start_lookup = 0; oi->ip_dir_start_lookup = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册