[PATCH 0/3] sysfs representation of stacked devices (dm/md) (rev.2)

From: Jun'ichi Nomura
Date: Wed Feb 22 2006 - 11:03:08 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/