1
0
Fork 0

Merging upstream version 4.2+20230508.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-14 06:05:31 +01:00
parent 8119c4e7dc
commit 8f10cd7248
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
27 changed files with 335 additions and 232 deletions

View file

@ -188,12 +188,12 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
parts = autof >> 3;
autof &= 7;
strcpy(chosen, "/dev/md/");
strcpy(chosen, DEV_MD_DIR);
cname = chosen + strlen(chosen);
if (dev) {
if (strncmp(dev, "/dev/md/", 8) == 0) {
strcpy(cname, dev+8);
if (strncmp(dev, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0) {
strcpy(cname, dev + DEV_MD_DIR_LEN);
} else if (strncmp(dev, "/dev/", 5) == 0) {
char *e = dev + strlen(dev);
while (e > dev && isdigit(e[-1]))
@ -370,6 +370,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
}
if (block_udev)
udev_block(devnm);
create_named_array(devnm);
}
sprintf(devname, "/dev/%s", devnm);
@ -411,11 +412,11 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
make_parts(devname, parts);
if (strcmp(chosen, devname) != 0) {
if (mkdir("/dev/md",0700) == 0) {
if (chown("/dev/md", ci->uid, ci->gid))
perror("chown /dev/md");
if (chmod("/dev/md", ci->mode| ((ci->mode>>2) & 0111)))
perror("chmod /dev/md");
if (mkdir(DEV_NUM_PREF, 0700) == 0) {
if (chown(DEV_NUM_PREF, ci->uid, ci->gid))
perror("chown " DEV_NUM_PREF);
if (chmod(DEV_NUM_PREF, ci->mode | ((ci->mode >> 2) & 0111)))
perror("chmod " DEV_NUM_PREF);
}
if (dev && strcmp(chosen, dev) == 0)