aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_iget.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_iget.c')
-rw-r--r--fs/xfs/xfs_iget.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c
index 0724df7fabb7..109000a4bc87 100644
--- a/fs/xfs/xfs_iget.c
+++ b/fs/xfs/xfs_iget.c
@@ -290,11 +290,11 @@ again:
290 290
291finish_inode: 291finish_inode:
292 if (ip->i_d.di_mode == 0) { 292 if (ip->i_d.di_mode == 0) {
293 if (!(flags & IGET_CREATE)) 293 if (!(flags & XFS_IGET_CREATE))
294 return ENOENT; 294 return ENOENT;
295 xfs_iocore_inode_reinit(ip); 295 xfs_iocore_inode_reinit(ip);
296 } 296 }
297 297
298 if (lock_flags != 0) 298 if (lock_flags != 0)
299 xfs_ilock(ip, lock_flags); 299 xfs_ilock(ip, lock_flags);
300 300
@@ -320,21 +320,20 @@ finish_inode:
320 * Read the disk inode attributes into a new inode structure and get 320 * Read the disk inode attributes into a new inode structure and get
321 * a new vnode for it. This should also initialize i_ino and i_mount. 321 * a new vnode for it. This should also initialize i_ino and i_mount.
322 */ 322 */
323 error = xfs_iread(mp, tp, ino, &ip, bno); 323 error = xfs_iread(mp, tp, ino, &ip, bno,
324 if (error) { 324 (flags & XFS_IGET_BULKSTAT) ? XFS_IMAP_BULKSTAT : 0);
325 if (error)
325 return error; 326 return error;
326 }
327 327
328 vn_trace_exit(vp, "xfs_iget.alloc", (inst_t *)__return_address); 328 vn_trace_exit(vp, "xfs_iget.alloc", (inst_t *)__return_address);
329 329
330 xfs_inode_lock_init(ip, vp); 330 xfs_inode_lock_init(ip, vp);
331 xfs_iocore_inode_init(ip); 331 xfs_iocore_inode_init(ip);
332 332
333 if (lock_flags != 0) { 333 if (lock_flags)
334 xfs_ilock(ip, lock_flags); 334 xfs_ilock(ip, lock_flags);
335 } 335
336 336 if ((ip->i_d.di_mode == 0) && !(flags & XFS_IGET_CREATE)) {
337 if ((ip->i_d.di_mode == 0) && !(flags & IGET_CREATE)) {
338 xfs_idestroy(ip); 337 xfs_idestroy(ip);
339 return ENOENT; 338 return ENOENT;
340 } 339 }