On 04/14/2020 09:37 PM, Bart Van Assche wrote: > On 2020-04-13 22:15, Mike Christie wrote: >> struct se_session *target_setup_session(struct se_portal_group *, >> unsigned int, unsigned int, enum target_prot_op prot_op, >> - const char *, void *, >> - int (*callback)(struct se_portal_group *, >> - struct se_session *, void *)); >> + const char *, struct attribute_group *, void *, >> + int (*setup_cb)(struct se_portal_group *, >> + struct se_session *, void *), >> + void (*free_cb)(struct se_session *)); > > The argument list of target_setup_session() is getting really long. How > about moving the attribute_group, setup_cb and free_cb arguments into > struct target_core_fabric_ops? Would that make it easier to extend I agree. > session sysfs attribute support in the future? > Yeah, I can move those callbacks and the attribute_group to the target_core_fabric_ops and it then it will work more similarly to the other callout/attr handling.