diff options
author | Tao Ma <boyu.mt@taobao.com> | 2011-02-20 22:18:30 -0500 |
---|---|---|
committer | Tao Ma <boyu.mt@taobao.com> | 2011-02-20 22:18:30 -0500 |
commit | 6218b90e7669d83cb8ad744f3400205d260597f2 (patch) | |
tree | 90f0f5e49ceb0cf2c40b100ec11a11beb25f0f0e /fs | |
parent | 468eedde23d6c9335935773f4f5764267d5a7763 (diff) |
ocfs2: Little refactoring against ocfs2_iget.
ocfs2_iget is used to get/create inode. Only iget5_locked
will give us an inode = NULL. So move this check ahead of
ocfs2_read_locked_inode so that we don't need to check
inode before we read and unlock inode. This is also helpful
for trace event(see the next patch).
Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/inode.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c index a96e56f12728..8ec0cb01cb7c 100644 --- a/fs/ocfs2/inode.c +++ b/fs/ocfs2/inode.c | |||
@@ -152,16 +152,16 @@ struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno, unsigned flags, | |||
152 | /* inode was *not* in the inode cache. 2.6.x requires | 152 | /* inode was *not* in the inode cache. 2.6.x requires |
153 | * us to do our own read_inode call and unlock it | 153 | * us to do our own read_inode call and unlock it |
154 | * afterwards. */ | 154 | * afterwards. */ |
155 | if (inode && inode->i_state & I_NEW) { | ||
156 | mlog(0, "Inode was not in inode cache, reading it.\n"); | ||
157 | ocfs2_read_locked_inode(inode, &args); | ||
158 | unlock_new_inode(inode); | ||
159 | } | ||
160 | if (inode == NULL) { | 155 | if (inode == NULL) { |
161 | inode = ERR_PTR(-ENOMEM); | 156 | inode = ERR_PTR(-ENOMEM); |
162 | mlog_errno(PTR_ERR(inode)); | 157 | mlog_errno(PTR_ERR(inode)); |
163 | goto bail; | 158 | goto bail; |
164 | } | 159 | } |
160 | if (inode->i_state & I_NEW) { | ||
161 | mlog(0, "Inode was not in inode cache, reading it.\n"); | ||
162 | ocfs2_read_locked_inode(inode, &args); | ||
163 | unlock_new_inode(inode); | ||
164 | } | ||
165 | if (is_bad_inode(inode)) { | 165 | if (is_bad_inode(inode)) { |
166 | iput(inode); | 166 | iput(inode); |
167 | inode = ERR_PTR(-ESTALE); | 167 | inode = ERR_PTR(-ESTALE); |