[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