GOTO(out_end, rc);
/* Add mdc(osp) to lod */
- snprintf(index_str, sizeof(mti->mti_stripe_index), "%d",
- mti->mti_stripe_index);
+ snprintf(index_str, sizeof(index_str), "%d", mti->mti_stripe_index);
rc = record_base(env, llh, lovname, 0, LCFG_ADD_MDC, mti->mti_uuid,
index_str, "1", NULL);
if (rc)
struct inode *inode = c->ic_object;
struct iam_idle_head *head;
struct buffer_head *bh;
- int err;
+ int err = 0;
LASSERT(mutex_is_locked(&c->ic_idle_mutex));
CERROR("%.16s: cannot load idle blocks, blk = %u, err = %d\n",
LDISKFS_SB(inode->i_sb)->s_es->s_volume_name, blk, err);
c->ic_idle_failed = 1;
+ err = err ? err : -EIO;
return ERR_PTR(err);
}
*bh = ldiskfs_bread(h, c->ic_object, (int)ptr, 0, &result);
if (*bh == NULL)
- result = -EIO;
+ result = result ? result : -EIO;
return result;
}
mutex_unlock(&c->ic_idle_mutex);
bh = ldiskfs_bread(NULL, inode, *b, 0, e);
- if (bh == NULL)
+ if (bh == NULL) {
+ *e = *e ? *e : -EIO;
return NULL;
+ }
goto got;
}
int blocksize;
int csize;
int boffs;
- int err;
+ int err = 0;
/* prevent reading after eof */
spin_lock(&inode->i_lock);
size = min(blocksize - boffs, bufsize);
bh = ldiskfs_bread(handle, inode, block, 1, &err);
if (!bh) {
+ err = err ? err : -EIO;
CERROR("%s: error reading offset %llu (block %lu): "
"rc = %d\n",
inode->i_sb->s_id, offset, block, err);