Reject attempts to attack a disk device that has the old NEEDSGIANT

flag set.

Reviewed by:	mav
This commit is contained in:
John Baldwin 2013-10-25 19:19:12 +00:00
parent 498fa7c1f9
commit d6d78db57f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=257131
2 changed files with 8 additions and 0 deletions

View File

@ -657,6 +657,13 @@ disk_create(struct disk *dp, int version)
dp->d_name, dp->d_unit);
return;
}
if (dp->d_flags & DISKFLAG_RESERVED) {
printf("WARNING: Attempt to add non-MPSAFE disk %s%d\n",
dp->d_name, dp->d_unit);
printf("WARNING: Ignoring disk %s%d\n",
dp->d_name, dp->d_unit);
return;
}
KASSERT(dp->d_strategy != NULL, ("disk_create need d_strategy"));
KASSERT(dp->d_name != NULL, ("disk_create need d_name"));
KASSERT(*dp->d_name != 0, ("disk_create need d_name"));

View File

@ -103,6 +103,7 @@ struct disk {
void *d_drv1;
};
#define DISKFLAG_RESERVED 0x1 /* Was NEEDSGIANT */
#define DISKFLAG_OPEN 0x2
#define DISKFLAG_CANDELETE 0x4
#define DISKFLAG_CANFLUSHCACHE 0x8