Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 30382
b: refs/heads/master
c: 45dc2de
h: refs/heads/master
v: v3
  • Loading branch information
NeilBrown authored and Linus Torvalds committed Jun 26, 2006
1 parent 2bd5609 commit 6a0840d
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9e653b6342c94016f5cc9937061ef99e9c4b4045
refs/heads/master: 45dc2de1e53a29f898b81326b8a16e6192d52e4e
3 changes: 3 additions & 0 deletions trunk/Documentation/md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,9 @@ Each directory contains:
This includes spares that are in the process
of being recoverred to
This list make grow in future.
This can be written to.
Writing "faulty" simulates a failure on the device.
Writing "remove" removes the device from the array.

errors
An approximate count of read errors that have been detected on
Expand Down
26 changes: 25 additions & 1 deletion trunk/drivers/md/md.c
Original file line number Diff line number Diff line change
Expand Up @@ -1745,8 +1745,32 @@ state_show(mdk_rdev_t *rdev, char *page)
return len+sprintf(page+len, "\n");
}

static ssize_t
state_store(mdk_rdev_t *rdev, const char *buf, size_t len)
{
/* can write
* faulty - simulates and error
* remove - disconnects the device
*/
int err = -EINVAL;
if (cmd_match(buf, "faulty") && rdev->mddev->pers) {
md_error(rdev->mddev, rdev);
err = 0;
} else if (cmd_match(buf, "remove")) {
if (rdev->raid_disk >= 0)
err = -EBUSY;
else {
mddev_t *mddev = rdev->mddev;
kick_rdev_from_array(rdev);
md_update_sb(mddev);
md_new_event(mddev);
err = 0;
}
}
return err ? err : len;
}
static struct rdev_sysfs_entry
rdev_state = __ATTR_RO(state);
rdev_state = __ATTR(state, 0644, state_show, state_store);

static ssize_t
super_show(mdk_rdev_t *rdev, char *page)
Expand Down

0 comments on commit 6a0840d

Please sign in to comment.