if (!o->opo_reserved) {
/* special case, id was assigned outside of transaction
* see comments in osp_declare_attr_set */
+ LASSERT(d->opd_pre != NULL);
spin_lock(&d->opd_pre_lock);
osp_update_last_fid(d, fid);
spin_unlock(&d->opd_pre_lock);
/* we might have lost precreated objects */
if (unlikely(d->opd_gap_count) > 0) {
+ LASSERT(d->opd_pre != NULL);
spin_lock(&d->opd_pre_lock);
if (d->opd_gap_count > 0) {
int count = d->opd_gap_count;
* this may require lu_object_put() in LOD
*/
if (unlikely(po->opo_reserved)) {
+ LASSERT(d->opd_pre != NULL);
LASSERT(d->opd_pre_reserved > 0);
spin_lock(&d->opd_pre_lock);
d->opd_pre_reserved--;
/* not needed in cache any more */
set_bit(LU_OBJECT_HEARD_BANSHEE, &o->lo_header->loh_flags);
}
+
+ if (is_ost_obj(o))
+ /* XXX: Currently, NOT cache OST-object on MDT because:
+ * 1. it is not often accessed on MDT.
+ * 2. avoid up layer (such as LFSCK) to load too many
+ * once-used OST-objects. */
+ set_bit(LU_OBJECT_HEARD_BANSHEE, &o->lo_header->loh_flags);
+
EXIT;
}