Messages in this thread | | | Date | Wed, 22 Feb 2006 11:06:24 -0500 | From | "Jun'ichi Nomura" <> | Subject | [PATCH 0/3] sysfs representation of stacked devices (dm/md) (rev.2) |
| |
Hello,
This is a revised set of pathces which provides common representation of dependencies between stacked devices (dm and md) in sysfs.
Variants of bd_claim/bd_release are added to accept a kobject and create symlinks between the claimed bdev and the holder.
dm/md will give a child of its gendisk kobject to bd_claim. For example, if dm-0 maps to sda, we have the following symlinks; /sys/block/dm-0/slaves/sda --> /sys/block/sda /sys/block/sda/holders/dm-0 --> /sys/block/dm-0
Comments are welcome.
A few points I would appreciate comments/reviews from maintainers: About sysfs - I confirmed sysfs_remove_symlink() and kobject_del() don't allocate memory in 2.6.15 and it seems true on the git head. I would like to make sure it's true in future versions of kernel because they are called during device-mapper's table swapping where I/O to free memory could deadlock on the dm device. What is the recommended way to do that? Or can I just expect these functions will not allocate memory in future versions of kernel? About dm - To get a reference to mapped_device, table_load() do dm_get() before populating table. It will dm_put() when the table is being discarded or the table is being activated. About md - Rather than carrying mddev pointer around, bd_claim is now made twice. First is not changed at lock_rdev(). The second is at bind_rdev_to_array() where kobject is passed and symlinks are created.
-- Jun'ichi Nomura, NEC Solutions (America), Inc. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |