const char *update_op_str(__u16 opc)
{
- static const char *opc_str[] = {
+ static const char *const opc_str[] = {
[OUT_START] = "start",
[OUT_CREATE] = "create",
[OUT_DESTROY] = "destroy",
struct tx_arg *arg;
int rc;
+ /* LU-13653: ignore quota for DNE directory creation */
+ if (dof->dof_type == DFT_DIR)
+ th->th_ignore_quota = 1;
+
rc = dt_declare_create(env, obj, attr, NULL, dof, th);
if (rc != 0)
return rc;
if (arg->reply != NULL)
object_update_result_insert(arg->reply, NULL, 0, arg->index,
- rc);
+ rc < 0 ? rc : 0);
return rc > 0 ? 0 : rc;
}
dt_obd_name(th->th_dev), arg->u.xattr_set.buf.lb_buf,
arg->u.xattr_set.name, arg->u.xattr_set.flags);
- if (!lu_object_exists(&dt_obj->do_lu)) {
+ if (!lu_object_exists(&dt_obj->do_lu) ||
+ OBD_FAIL_PRECHECK(OBD_FAIL_OUT_OBJECT_MISS)) {
rc = -ENOENT;
} else {
struct linkea_data ldata = { 0 };