Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=24e5e65be1c...
Commit: 24e5e65be1c9b8b433edc1723b4e13feba0db8ba
Parent: 80b9ae57170c1c6042375ea5119aea1ec79e3ab4
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Apr 5 14:38:03 2016 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Aug 16 17:34:15 2016 +0100
mkfs.gfs2: Open the target device with O_EXCL
O_EXCL will let local mounters know that the device is busy while
mkfs.gfs2 is running so that they don't try to access it.
Before:
# mount /dev/vdc /mnt/test
mount: /dev/vdc: can't read superblock
With O_EXCL:
# mount /dev/vdc /mnt/test
mount: /dev/vdc is already mounted or /mnt/test busy
Resolves: rhbz#1291944
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/mkfs/main_mkfs.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index b132af8..03f078e 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -558,7 +558,7 @@ void main_mkfs(int argc, char *argv[])
verify_arguments(sdp);
- sdp->device_fd = open(sdp->device_name, O_RDWR | O_CLOEXEC);
+ sdp->device_fd = open(sdp->device_name, O_RDWR | O_CLOEXEC | O_EXCL);
if (sdp->device_fd < 0)
die( _("can't open device %s: %s\n"),
sdp->device_name, strerror(errno));