mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 08:38:24 +08:00
[PATCH] md: export rdev->data_offset via sysfs
Signed-off-by: Neil Brown <neilb@suse.de> Acked-by: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
014236d2b8
commit
93c8cad03f
@ -244,6 +244,12 @@ Each directory contains:
|
||||
it currently fills. This can only be set while assembling an
|
||||
array. A device for which this is set is assumed to be working.
|
||||
|
||||
offset
|
||||
This gives the location in the device (in sectors from the
|
||||
start) where data from the array will be stored. Any part of
|
||||
the device before this offset us not touched, unless it is
|
||||
used for storing metadata (Formats 1.1 and 1.2).
|
||||
|
||||
|
||||
An active md device will also contain and entry for each active device
|
||||
in the array. These are named
|
||||
|
@ -1664,11 +1664,34 @@ slot_store(mdk_rdev_t *rdev, const char *buf, size_t len)
|
||||
static struct rdev_sysfs_entry rdev_slot =
|
||||
__ATTR(slot, 0644, slot_show, slot_store);
|
||||
|
||||
static ssize_t
|
||||
offset_show(mdk_rdev_t *rdev, char *page)
|
||||
{
|
||||
return sprintf(page, "%llu\n", rdev->data_offset);
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
offset_store(mdk_rdev_t *rdev, const char *buf, size_t len)
|
||||
{
|
||||
char *e;
|
||||
unsigned long long offset = simple_strtoull(buf, &e, 10);
|
||||
if (e==buf || (*e && *e != '\n'))
|
||||
return -EINVAL;
|
||||
if (rdev->mddev->pers)
|
||||
return -EBUSY;
|
||||
rdev->data_offset = offset;
|
||||
return len;
|
||||
}
|
||||
|
||||
static struct rdev_sysfs_entry rdev_offset =
|
||||
__ATTR(offset, 0644, offset_show, offset_store);
|
||||
|
||||
static struct attribute *rdev_default_attrs[] = {
|
||||
&rdev_state.attr,
|
||||
&rdev_super.attr,
|
||||
&rdev_errors.attr,
|
||||
&rdev_slot.attr,
|
||||
&rdev_offset.attr,
|
||||
NULL,
|
||||
};
|
||||
static ssize_t
|
||||
|
Loading…
Reference in New Issue
Block a user