|
|
| version 1.234, 2007/09/17 04:10:29 | version 1.235, 2007/09/21 16:10:12 |
|---|---|
| Line 199 again: | Line 199 again: |
| XFS_STATS_INC(xs_ig_found); | XFS_STATS_INC(xs_ig_found); |
| finish_inode: | finish_inode: |
| if (ip->i_d.di_mode == 0) { | if (ip->i_d.di_mode == 0 && !(flags & XFS_IGET_CREATE)) { |
| if (!(flags & XFS_IGET_CREATE)) { | xfs_put_perag(mp, pag); |
| xfs_put_perag(mp, pag); | return ENOENT; |
| return ENOENT; | |
| } | |
| xfs_iocore_inode_reinit(ip); | |
| } | } |
| if (lock_flags != 0) | if (lock_flags != 0) |
| Line 235 finish_inode: | Line 232 finish_inode: |
| xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); |
| xfs_inode_lock_init(ip, vp); | xfs_inode_lock_init(ip, vp); |
| xfs_iocore_inode_init(ip); | |
| if (lock_flags) | if (lock_flags) |
| xfs_ilock(ip, lock_flags); | xfs_ilock(ip, lock_flags); |
| Line 331 finish_inode: | Line 327 finish_inode: |
| ASSERT(ip->i_df.if_ext_max == | ASSERT(ip->i_df.if_ext_max == |
| XFS_IFORK_DSIZE(ip) / sizeof(xfs_bmbt_rec_t)); | XFS_IFORK_DSIZE(ip) / sizeof(xfs_bmbt_rec_t)); |
| ASSERT(((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != 0) == | |
| ((ip->i_iocore.io_flags & XFS_IOCORE_RT) != 0)); | |
| xfs_iflags_set(ip, XFS_IMODIFIED); | xfs_iflags_set(ip, XFS_IMODIFIED); |
| *ipp = ip; | *ipp = ip; |