Re: [PATCH 0/2] configfs: Constify some fileds in struct config_item_type

Andreas Hindborg
2025-11-01T15:02:23Z

"Christophe JAILLET" <christophe.jaillet@wanadoo.fr> writes:

> Le 29/10/2025 à 08:18, Andreas Hindborg a écrit :
>> "Christophe JAILLET" <christophe.jaillet@wanadoo.fr> writes:
>>
>>> These 2 patches constify ct_item_ops and ct_group_ops in struct
>>> config_item_type.
>>>
>>> When/if they are applied, I'll send some patchess in each subsystem to
>>> constify the corresponding structures.
>>>
>>> This 2 steps approach is IMHO easier way to make these changes.
>>> This avoids long series and cover-letter/first patches sent to many
>>> maintainers and lists.
>>>
>>> However, if you prefer things to be done in the same serie, I can do
>>> that as well.
>>
>> Looks good to me. Please also include a patch to fix up the rust
>> bindings in the 2nd step:
>>
>> diff --git a/rust/kernel/configfs.rs b/rust/kernel/configfs.rs
>> index 318a2f073d1c7..468c8c4170d5e 100644
>> --- a/rust/kernel/configfs.rs
>> +++ b/rust/kernel/configfs.rs
>> @@ -755,8 +755,8 @@ pub const fn new_with_child_ctor<const N: usize, Child>(
>> Self {
>> item_type: Opaque::new(bindings::config_item_type {
>> ct_owner: owner.as_ptr(),
>> - ct_group_ops: GroupOperationsVTable::<Data, Child>::vtable_ptr().cast_mut(),
>> - ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr().cast_mut(),
>> + ct_group_ops: GroupOperationsVTable::<Data, Child>::vtable_ptr(),
>> + ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr(),
>> ct_attrs: core::ptr::from_ref(attributes).cast_mut().cast(),
>> ct_bin_attrs: core::ptr::null_mut(),
>> }),
>> @@ -773,7 +773,7 @@ pub const fn new<const N: usize>(
>> item_type: Opaque::new(bindings::config_item_type {
>> ct_owner: owner.as_ptr(),
>> ct_group_ops: core::ptr::null_mut(),
>> - ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr().cast_mut(),
>> + ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr(),
>> ct_attrs: core::ptr::from_ref(attributes).cast_mut().cast(),
>> ct_bin_attrs: core::ptr::null_mut(),
>> }),
>>
>
> I'm not a big fan of mixing c and rs files updates in the same commit.
> And, as I don't know rust, I'm reluctant to changes things that I don't
> understand and I'm not able to at least compile test.

This is why I gave you the diff.

>
> Can s.o. send this change as a follow-up patch?

Sure, I can do that.

Best regards,
Andreas Hindborg