whose type is __u64, thus can transfer negative value between 32 and 64 platform.
if (body == NULL)
GOTO(out, capa = ERR_PTR(-EFAULT));
- if (body->flags)
- GOTO(out, capa = ERR_PTR((long)body->flags));
+ if (body->size)
+ GOTO(out, capa = ERR_PTR((long)body->size));
if ((body->valid & OBD_MD_FLOSSCAPA) == 0)
GOTO(out, capa = ERR_PTR(-EFAULT));
body->valid |= OBD_MD_FLOSSCAPA;
EXIT;
out:
- body->flags = (__u32)rc;
+ /* NB: capability renewal might fail because object has been removed,
+ * or server has disabled capability, but this is not error, llite
+ * will handle this internally, see mdc_interpret_renew_capa.
+ * body->size is borrowed to store errno.
+ */
+ body->size = (__u64)rc;
return 0;
}