Just use kobject_set_name(), that works in all kernels (I think...). Kernels newer than 2.6.23 currently fail with: /home/axboe/git/btrfs/btrfs-unstable/sysfs.c:188: error: unknown field 'name' specified in initializer diff -r f89e7971692f sysfs.c --- a/sysfs.c Mon Oct 15 16:22:39 2007 -0400 +++ b/sysfs.c Wed Oct 17 10:37:07 2007 +0200 @@ -184,9 +184,7 @@ static struct kobj_type btrfs_super_ktyp .release = btrfs_super_release, }; -static struct kset btrfs_kset = { - .kobj = {.name = "btrfs"}, -}; +static struct kset btrfs_kset; int btrfs_sysfs_add_super(struct btrfs_fs_info *fs) { @@ -249,6 +247,7 @@ int btrfs_init_sysfs() int btrfs_init_sysfs() { kobj_set_kset_s(&btrfs_kset, fs_subsys); + kobject_set_name(&btrfs_kset.kobj, "btrfs"); return kset_register(&btrfs_kset); } -- Jens Axboe