bonding: sysfs patch broke module renaming
Subsystems (2)
The sysfs patch broke using multiple instances of the bonding module through module renaming (modprobe -o). In recent kernels it fails with -EEXIST when trying to add the bonding_masters file for the second time, in older kernels (where sysfs_add_file didn't check for duplicates) it will crash when unloading the modules.
I don't see a good way to fix it, can someone please look into this?
Quoted 5 lines · Patrick McHardy
The sysfs patch broke using multiple instances of the bonding module through module renaming (modprobe -o). In recent kernels it fails with
-EEXISTwhen trying to add thebonding_mastersfile for the second time, in older kernels (wheresysfs_add_filedidn't check for duplicates) it will crash when unloading the modules.
Ok, I see what the problem is; it's got to do with out device
creation was changed at some point for the sysfs stuff that broke the multiple load logic. I don't think it has to do with the sysfs_add_file duplicate check business; I can see the error in how bond_create() is called in the new (post-sysfs) stuff, although I haven't tracked it down to a particular changeset.
There'a also a separate error handling bug I see inbond_create() that I don't even get to because it bails out first.
Anyway, let me see what I can work out to fix this up. -J
---
-Jay Vosburgh, IBM Linux Technology Center, [email protected]