diff options
Diffstat (limited to 'drivers/md/md.h')
| -rw-r--r-- | drivers/md/md.h | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/drivers/md/md.h b/drivers/md/md.h index eca59c3074e..d90fb1a879e 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h @@ -506,7 +506,7 @@ static inline char * mdname (struct mddev * mddev)  static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)  {  	char nm[20]; -	if (!test_bit(Replacement, &rdev->flags)) { +	if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) {  		sprintf(nm, "rd%d", rdev->raid_disk);  		return sysfs_create_link(&mddev->kobj, &rdev->kobj, nm);  	} else @@ -516,7 +516,7 @@ static inline int sysfs_link_rdev(struct mddev *mddev, struct md_rdev *rdev)  static inline void sysfs_unlink_rdev(struct mddev *mddev, struct md_rdev *rdev)  {  	char nm[20]; -	if (!test_bit(Replacement, &rdev->flags)) { +	if (!test_bit(Replacement, &rdev->flags) && mddev->kobj.sd) {  		sprintf(nm, "rd%d", rdev->raid_disk);  		sysfs_remove_link(&mddev->kobj, nm);  	} |