} #define DEF_OUT_HNDL(opc, name, flags, fn) \ [opc - OBJ_CREATE] = { \ .th_name = name, \ .th_fail_id = 0, \ .th_opc = opc, \ .th_flags = flags, \ .th_act = fn, \ .th_fmt = NULL, \ .th_version = 0, \ } #define out_handler mdt_handler static struct tgt_handler out_update_ops[] = { DEF_OUT_HNDL(OBJ_CREATE, "obj_create", MUTABOR | HABEO_REFERO, out_create), DEF_OUT_HNDL(OBJ_DESTROY, "obj_create", MUTABOR | HABEO_REFERO, out_destroy), DEF_OUT_HNDL(OBJ_REF_ADD, "obj_ref_add", MUTABOR | HABEO_REFERO, out_ref_add), DEF_OUT_HNDL(OBJ_REF_DEL, "obj_ref_del", MUTABOR | HABEO_REFERO, out_ref_del), DEF_OUT_HNDL(OBJ_ATTR_SET, "obj_attr_set", MUTABOR | HABEO_REFERO, out_attr_set), DEF_OUT_HNDL(OBJ_ATTR_GET, "obj_attr_get", HABEO_REFERO, out_attr_get), DEF_OUT_HNDL(OBJ_XATTR_SET, "obj_xattr_set", MUTABOR | HABEO_REFERO, out_xattr_set), DEF_OUT_HNDL(OBJ_XATTR_GET, "obj_xattr_get", HABEO_REFERO, out_xattr_get), DEF_OUT_HNDL(OBJ_INDEX_LOOKUP, "obj_index_lookup", HABEO_REFERO,
return 0; } #define DEF_OUT_HNDL(opc, name, flags, fn) \ [opc - OUT_CREATE] = { \ .th_name = name, \ .th_fail_id = 0, \ .th_opc = opc, \ .th_flags = flags, \ .th_act = fn, \ .th_fmt = NULL, \ .th_version = 0, \ } static struct tgt_handler out_update_ops[] = { DEF_OUT_HNDL(OUT_CREATE, "out_create", MUTABOR | HABEO_REFERO, out_create), DEF_OUT_HNDL(OUT_DESTROY, "out_create", MUTABOR | HABEO_REFERO, out_destroy), DEF_OUT_HNDL(OUT_REF_ADD, "out_ref_add", MUTABOR | HABEO_REFERO, out_ref_add), DEF_OUT_HNDL(OUT_REF_DEL, "out_ref_del", MUTABOR | HABEO_REFERO, out_ref_del), DEF_OUT_HNDL(OUT_ATTR_SET, "out_attr_set", MUTABOR | HABEO_REFERO, out_attr_set), DEF_OUT_HNDL(OUT_ATTR_GET, "out_attr_get", HABEO_REFERO, out_attr_get), DEF_OUT_HNDL(OUT_XATTR_SET, "out_xattr_set", MUTABOR | HABEO_REFERO, out_xattr_set), DEF_OUT_HNDL(OUT_XATTR_DEL, "out_xattr_del", MUTABOR | HABEO_REFERO, out_xattr_del), DEF_OUT_HNDL(OUT_XATTR_GET, "out_xattr_get", HABEO_REFERO,