struct inode *osd_iget(struct osd_thread_info *info, struct osd_device *dev,
struct osd_inode_id *id)
{
+ int rc;
struct inode *inode = NULL;
/* if we look for an inode withing a running
LDISKFS_SB(osd_sb(dev))->s_es->s_volume_name, id->oii_ino);
iput(inode);
inode = ERR_PTR(-ENOENT);
+ } else if ((rc = osd_attach_jinode(inode))) {
+ iput(inode);
+ inode = ERR_PTR(rc);
} else {
ldiskfs_clear_inode_state(inode, LDISKFS_STATE_LUSTRE_DESTROY);
if (id->oii_gen == OSD_OII_NOGEN)
(flags & SS_AUTO_PARTIAL || sf->sf_status == SS_SCANNING))
osd_check_lmv(info, dev, inode, oic);
+ result = osd_attach_jinode(inode);
+ if (result) {
+ obj->oo_inode = NULL;
+ iput(inode);
+ GOTO(out, result);
+ }
+
if (!ldiskfs_pdo)
GOTO(out, result = 0);