[lkml]   [2006]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/3] sysfs representation of stacked devices (dm/md) (rev.2)

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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-02-22 17:07    [W:0.095 / U:2.892 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site