+ switch (rc) {
+ case 0: {
+ if (body) {
+ int diff = body->oa.o_id - oscc->oscc_last_id;
+
+ if (diff < oscc->oscc_grow_count)
+ oscc->oscc_grow_count =
+ max(diff/3, OST_MIN_PRECREATE);
+ else
+ oscc->oscc_flags &= ~OSCC_FLAG_LOW;
+ oscc->oscc_last_id = body->oa.o_id;
+ }
+ spin_unlock(&oscc->oscc_lock);
+ break;
+ }
+ case -EAGAIN:
+ /* valid race delorphan vs create, or somthing after resend */
+ spin_unlock(&oscc->oscc_lock);
+ DEBUG_REQ(D_INODE, req, "Got EGAIN - resend \n");
+ break;
+ case -ENOSPC:
+ case -EROFS: {