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:
parent
6e7272f69d
commit
e8438cad1d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=127839
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user