Add a workaround.

Now, if we have for example: ad0s1 ad0s1c ad2s1 ad2s1c and we will try
to do: gconcat label foo /dev/ad0s1 /dev/ad2s1 we'll get a panic:
panic: spoiled but dcr = 1
for inside of geom_slice class, backtrace shows:
g_access()
g_slice_access()
g_access()
g_concat_read_metadata()
We need to get a proper fix for this race before geom(8) will be committed.
This commit is contained in:
Pawel Jakub Dawidek 2004-04-04 13:32:00 +00:00
parent 6e7272f69d
commit e8438cad1d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=127839

View File

@ -238,8 +238,6 @@ concat_label(int argc, char *argv[])
if (argc < 2)
usage();
load_module();
strlcpy(md.md_magic, G_CONCAT_MAGIC, sizeof(md.md_magic));
md.md_version = G_CONCAT_VERSION;
strlcpy(md.md_name, argv[0], sizeof(md.md_name));
@ -294,6 +292,8 @@ concat_label(int argc, char *argv[])
printf("Metadata value stored on %s.\n", argv[i]);
}
load_module();
exit(status);
}