Alway use a unique file name for opendev

Else mdadm and mdmon running in parallel can tread on each other.
This commit is contained in:
Neil Brown 2008-05-27 09:18:33 +10:00
parent 2318b9f0dc
commit 8c21018330
1 changed files with 2 additions and 1 deletions

3
util.c
View File

@ -770,7 +770,8 @@ int dev_open(char *dev, int flags)
if (e > dev && *e == ':' && e[1] &&
(minor = strtoul(e+1, &e, 0)) >= 0 &&
*e == 0) {
snprintf(devname, sizeof(devname), "/dev/.tmp.md.%d:%d", major, minor);
snprintf(devname, sizeof(devname), "/dev/.tmp.md.%d:%d:%d",
(int)getpid(), major, minor);
if (mknod(devname, S_IFBLK|0600, makedev(major, minor))==0) {
fd = open(devname, flags);
unlink(devname);