[Ocfs2-tools-commits] manish commits r971 - trunk/mkfs.ocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Tue Jun 21 17:14:42 CDT 2005
Author: manish
Date: 2005-06-21 17:14:40 -0500 (Tue, 21 Jun 2005)
New Revision: 971
Modified:
trunk/mkfs.ocfs2/check.c
Log:
Check for locally mounted/busy filesystems before formatting
Modified: trunk/mkfs.ocfs2/check.c
===================================================================
--- trunk/mkfs.ocfs2/check.c 2005-06-21 21:25:33 UTC (rev 970)
+++ trunk/mkfs.ocfs2/check.c 2005-06-21 22:14:40 UTC (rev 971)
@@ -34,7 +34,38 @@
{
ocfs2_filesys *fs = NULL;
errcode_t ret;
+ int mount_flags;
+ ret = ocfs2_check_if_mounted(s->device_name, &mount_flags);
+ if (ret) {
+ com_err(s->progname, ret,
+ "while determining whether %s is mounted.",
+ s->device_name);
+ return -1;
+ }
+
+ if (mount_flags & OCFS2_MF_MOUNTED) {
+ fprintf(stderr, "%s is mounted; ", s->device_name);
+ if (s->force) {
+ fputs("overwriting anyway. Hope /etc/mtab is "
+ "incorrect.\n", stderr);
+ return 1;
+ }
+ fputs("will not make a ocfs2 volume here!\n", stderr);
+ return -1;
+ }
+
+ if (mount_flags & OCFS2_MF_BUSY) {
+ fprintf(stderr, "%s is apparently in use by the system; ",
+ s->device_name);
+ if (s->force) {
+ fputs("format forced anyway.\n", stderr);
+ return 1;
+ }
+ fputs("will not make a ocfs2 volume here!\n", stderr);
+ return -1;
+ }
+
ret = ocfs2_open(s->device_name, OCFS2_FLAG_RW, 0, 0, &fs);
if (ret) {
if (ret == OCFS2_ET_OCFS_REV)
More information about the Ocfs2-tools-commits
mailing list