Skip to content

Commit

Permalink
md/bitmap: reduce dependence on sysfs.
Browse files Browse the repository at this point in the history
For dm-raid45 we will want to use bitmaps in dm-targets which don't
have entries in sysfs, so cope with the mddev not living in sysfs.

Signed-off-by: NeilBrown <neilb@suse.de>
  • Loading branch information
NeilBrown committed Jul 26, 2010
1 parent ac2f40b commit 5ff5aff
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/md/bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1358,7 +1358,7 @@ void bitmap_endwrite(struct bitmap *bitmap, sector_t offset, unsigned long secto
bitmap->events_cleared < bitmap->mddev->events) {
bitmap->events_cleared = bitmap->mddev->events;
bitmap->need_sync = 1;
sysfs_notify_dirent(bitmap->sysfs_can_clear);
sysfs_notify_dirent_safe(bitmap->sysfs_can_clear);
}

if (!success && ! (*bmc & NEEDED_MASK))
Expand Down Expand Up @@ -1643,7 +1643,7 @@ int bitmap_create(mddev_t *mddev)
struct file *file = mddev->bitmap_info.file;
int err;
sector_t start;
struct sysfs_dirent *bm;
struct sysfs_dirent *bm = NULL;

BUILD_BUG_ON(sizeof(bitmap_super_t) != 256);

Expand All @@ -1664,7 +1664,8 @@ int bitmap_create(mddev_t *mddev)

bitmap->mddev = mddev;

bm = sysfs_get_dirent(mddev->kobj.sd, NULL, "bitmap");
if (mddev->kobj.sd)
bm = sysfs_get_dirent(mddev->kobj.sd, NULL, "bitmap");
if (bm) {
bitmap->sysfs_can_clear = sysfs_get_dirent(bm, NULL, "can_clear");
sysfs_put(bm);
Expand Down

0 comments on commit 5ff5aff

Please sign in to comment.