[Ocfs2-commits] mfasheh commits r2582 - in branches/readonly-operation: . fs/ocfs2 fs/ocfs2/dlm vendor/redhat

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Sep 16 17:14:00 CDT 2005


Author: mfasheh
Date: 2005-09-16 17:13:58 -0500 (Fri, 16 Sep 2005)
New Revision: 2582

Modified:
   branches/readonly-operation/configure.in
   branches/readonly-operation/fs/ocfs2/dlm/dlmmaster.c
   branches/readonly-operation/fs/ocfs2/dlmglue.c
   branches/readonly-operation/fs/ocfs2/ocfs2.h
   branches/readonly-operation/fs/ocfs2/suballoc.c
   branches/readonly-operation/fs/ocfs2/super.c
   branches/readonly-operation/fs/ocfs2/vote.c
   branches/readonly-operation/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in
Log:
* Merge trunk changes from 2561 to 2577 into readonly-operation branch



Modified: branches/readonly-operation/configure.in
===================================================================
--- branches/readonly-operation/configure.in	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/configure.in	2005-09-16 22:13:58 UTC (rev 2582)
@@ -9,7 +9,7 @@
 # Adjust these for the software version.
 MAJOR_VERSION=1
 MINOR_VERSION=1
-MICRO_VERSION=2
+MICRO_VERSION=3
 EXTRA_VERSION=
 
 # Adjust this only to bump the RPM packaging version

Modified: branches/readonly-operation/fs/ocfs2/dlm/dlmmaster.c
===================================================================
--- branches/readonly-operation/fs/ocfs2/dlm/dlmmaster.c	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/dlm/dlmmaster.c	2005-09-16 22:13:58 UTC (rev 2582)
@@ -753,7 +753,6 @@
 		dlm_init_mle(mle, DLM_MLE_MASTER, dlm, res, NULL, 0);
 		list_add(&mle->list, &dlm->master_list);
 	}
-	spin_unlock(&dlm->master_lock);
 
 	/* at this point there is either a DLM_MLE_BLOCK or a
 	 * DLM_MLE_MASTER on the master list, so it's safe to add the
@@ -762,6 +761,7 @@
 
 	/* finally add the lockres to its hash bucket */
 	__dlm_insert_lockres(dlm, res);
+	spin_unlock(&dlm->master_lock);
 	spin_unlock(&dlm->spinlock);
 
 	if (blocked) {
@@ -1888,7 +1888,9 @@
 	/* get an extra reference on the mle.
 	 * otherwise the assert_master from the new
 	 * master will destroy this. */
+	spin_lock(&dlm->master_lock);
 	dlm_get_mle(mle);
+	spin_unlock(&dlm->master_lock);
 
 	/* notify new node and send all lock state */
 	/* call send_one_lockres with migration flag.

Modified: branches/readonly-operation/fs/ocfs2/dlmglue.c
===================================================================
--- branches/readonly-operation/fs/ocfs2/dlmglue.c	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/dlmglue.c	2005-09-16 22:13:58 UTC (rev 2582)
@@ -939,7 +939,7 @@
 	struct ocfs2_status_completion sc;
 	enum dlm_status status;
 	int ret;
-	int catch_signals = 1;
+	int catch_signals = !(osb->s_mount_opt & OCFS2_MOUNT_NOINTR);
 	int sync = 1;
 
 	mlog_entry_void();
@@ -1628,7 +1628,6 @@
 
 	status = 0;
 	acquired = 0;
-
 	/* We'll allow faking a readonly metadata lock for
 	 * rodevices. */
 	if (ocfs2_is_hard_readonly(osb)) {
@@ -1638,14 +1637,10 @@
 	}
 
 	if (!(flags & OCFS2_META_LOCK_RECOVERY))
-		status = wait_event_interruptible(osb->recovery_event,
-						  ocfs2_node_map_is_empty(osb,
-									  &osb->recovery_map));
-	if (status < 0) {
-		mlog_errno(status);
-		return status;
-	}
+		wait_event(osb->recovery_event,
+			   ocfs2_node_map_is_empty(osb, &osb->recovery_map));
 
+	acquired = 0;
 	lockres = &OCFS2_I(inode)->ip_meta_lockres;
 	level = ex ? LKM_EXMODE : LKM_PRMODE;
 	dlm_flags = 0;
@@ -1669,8 +1664,7 @@
 	 * abort the operation. */
 	if (!(flags & OCFS2_META_LOCK_RECOVERY))
 		wait_event(osb->recovery_event,
-			   ocfs2_node_map_is_empty(osb,
-						   &osb->recovery_map));
+			   ocfs2_node_map_is_empty(osb, &osb->recovery_map));
 
 	/* This is fun. The caller may want a bh back, or it may
 	 * not. ocfs2_meta_lock_update definitely wants one in, but

Modified: branches/readonly-operation/fs/ocfs2/ocfs2.h
===================================================================
--- branches/readonly-operation/fs/ocfs2/ocfs2.h	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/ocfs2.h	2005-09-16 22:13:58 UTC (rev 2582)
@@ -173,7 +173,8 @@
 {
 	OCFS2_MOUNT_HB_LOCAL   = 1 << 0, /* Heartbeat started in local mode */
 	OCFS2_MOUNT_BARRIER = 1 << 1,	/* Use block barriers */
-	OCFS2_MOUNT_ERRORS_PANIC = 1 << 2,
+	OCFS2_MOUNT_NOINTR  = 1 << 2,   /* Don't catch signals */
+	OCFS2_MOUNT_ERRORS_PANIC = 1 << 3, /* Panic on errors */
 #ifdef OCFS2_ORACORE_WORKAROUNDS
 	OCFS2_MOUNT_COMPAT_OCFS = 1 << 30, /* ocfs1 compatibility mode */
 #endif

Modified: branches/readonly-operation/fs/ocfs2/suballoc.c
===================================================================
--- branches/readonly-operation/fs/ocfs2/suballoc.c	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/suballoc.c	2005-09-16 22:13:58 UTC (rev 2582)
@@ -510,7 +510,7 @@
 	}
 
 	(*ac)->ac_inode = igrab(alloc_inode);
-	(*ac)->ac_group_search = &ocfs2_block_group_search;
+	(*ac)->ac_group_search = ocfs2_block_group_search;
 
 	status = ocfs2_reserve_suballoc_bits(osb, *ac);
 	if (status < 0) {
@@ -549,7 +549,7 @@
 		goto bail;
 	}
 	ac->ac_which = OCFS2_AC_USE_MAIN;
-	ac->ac_group_search = &ocfs2_cluster_group_search;
+	ac->ac_group_search = ocfs2_cluster_group_search;
 
 	status = ocfs2_reserve_suballoc_bits(osb, ac);
 	if (status < 0 && status != -ENOSPC)

Modified: branches/readonly-operation/fs/ocfs2/super.c
===================================================================
--- branches/readonly-operation/fs/ocfs2/super.c	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/super.c	2005-09-16 22:13:58 UTC (rev 2582)
@@ -149,6 +149,8 @@
 #ifdef OCFS2_ORACORE_WORKAROUNDS
 	Opt_datavolume,
 #endif
+	Opt_intr,
+	Opt_nointr,
 	Opt_hb_none,
 	Opt_hb_local,
 	Opt_err,
@@ -162,6 +164,8 @@
 #ifdef OCFS2_ORACORE_WORKAROUNDS
 	{Opt_datavolume, "datavolume"},
 #endif
+	{Opt_intr, "intr"},
+	{Opt_nointr, "nointr"},
 	{Opt_hb_none, OCFS2_HB_NONE},
 	{Opt_hb_local, OCFS2_HB_LOCAL},
 	{Opt_err, NULL}
@@ -710,6 +714,12 @@
 			else
 				*mount_opt &= ~OCFS2_MOUNT_BARRIER;
 			break;
+		case Opt_intr:
+			*mount_opt &= ~OCFS2_MOUNT_NOINTR;
+			break;
+		case Opt_nointr:
+			*mount_opt |= OCFS2_MOUNT_NOINTR;
+			break;
 		case Opt_err_panic:
 			*mount_opt |= OCFS2_MOUNT_ERRORS_PANIC;
 			break;

Modified: branches/readonly-operation/fs/ocfs2/vote.c
===================================================================
--- branches/readonly-operation/fs/ocfs2/vote.c	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/fs/ocfs2/vote.c	2005-09-16 22:13:58 UTC (rev 2582)
@@ -817,7 +817,8 @@
 
 	status = -EAGAIN;
 	while (status == -EAGAIN) {
-		if (signal_pending(current))
+		if (!(osb->s_mount_opt & OCFS2_MOUNT_NOINTR) &&
+		    signal_pending(current))
 			return -ERESTARTSYS;
 
 		status = ocfs2_super_lock(osb, 0);
@@ -982,7 +983,8 @@
 
 	status = -EAGAIN;
 	while (status == -EAGAIN) {
-		if (signal_pending(current)) {
+		if (!(osb->s_mount_opt & OCFS2_MOUNT_NOINTR) &&
+		    signal_pending(current)) {
 			status = -ERESTARTSYS;
 			goto bail;
 		}

Modified: branches/readonly-operation/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in
===================================================================
--- branches/readonly-operation/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in	2005-09-16 22:13:51 UTC (rev 2581)
+++ branches/readonly-operation/vendor/redhat/ocfs2-2.6.9-EL.spec-generic.in	2005-09-16 22:13:58 UTC (rev 2582)
@@ -28,6 +28,12 @@
 %define buildhugemem	0
 %endif
 
+%ifarch s390x
+%define karch s390x
+%define buildsmp	0
+%define buildhugemem	0
+%endif
+
 %define base		2.6.9
 %define sver		%{generic}
 %define kver		%{base}-%{sver}.EL



More information about the Ocfs2-commits mailing list