Gang He 2021-11-04 07:06:25 +00:00 committed by Git OBS Bridge
parent e05bef0bcd
commit cbe185f6ab
19 changed files with 43 additions and 2089 deletions

View File

@ -1,86 +0,0 @@
From f7ea242d2bf76c71cfe7fd9555d44c2486610486 Mon Sep 17 00:00:00 2001
From: Goldwyn Rodrigues <rgoldwyn@suse.com>
Date: Fri, 27 Dec 2013 10:01:33 -0600
Subject: [PATCH] mkfs.ocfs2: Abort if cluster information is not detected
---
mkfs.ocfs2/check.c | 19 +++++++++++++++----
mkfs.ocfs2/mkfs.h | 2 +-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/mkfs.ocfs2/check.c b/mkfs.ocfs2/check.c
index f05dc72..75f0e7b 100644
--- a/mkfs.ocfs2/check.c
+++ b/mkfs.ocfs2/check.c
@@ -33,7 +33,7 @@ int is_classic_stack(char *stack_name)
}
/* For ocfs2_fill_cluster_information(). Errors are to be ignored */
-void cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags)
+errcode_t cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags)
{
errcode_t err;
struct o2cb_cluster_desc cluster;
@@ -44,11 +44,11 @@ void cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags)
err = o2cb_init();
if (err)
- return;
+ goto out;
err = o2cb_running_cluster_desc(&cluster);
if (err)
- return;
+ goto out;
if (cluster.c_stack) {
/*
@@ -59,6 +59,8 @@ void cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags)
*cluster_name = cluster.c_cluster;
*stack_flags = cluster.c_flags;
}
+out:
+ return err;
}
/* For ocfs2_fill_cluster_information(). Errors are to be ignored */
@@ -132,6 +134,7 @@ int ocfs2_fill_cluster_information(State *s)
uint8_t user_stack_flags, o2cb_stack_flags, disk_stack_flags;
int clusterinfo = 0, userspace = 0;
int ret = -1;
+ errcode_t err;
if (s->mount == MOUNT_LOCAL)
return 0;
@@ -139,7 +142,15 @@ int ocfs2_fill_cluster_information(State *s)
*user_value = *o2cb_value = *disk_value = '\0';
/* get currently active cluster stack */
- cluster_fill(&o2cb_stack_name, &o2cb_cluster_name, &o2cb_stack_flags);
+ err = cluster_fill(&o2cb_stack_name, &o2cb_cluster_name, &o2cb_stack_flags);
+ if (err && !s->cluster_stack) {
+ com_err(s->progname, 0, "Could not determine cluster "
+ "information.\nEither load the correct kernel module"
+ ", set the cluster_stack and start cluster "
+ "services, or provide --cluster-stack and "
+ "--cluster-name command line arguments.\n");
+ return -1;
+ }
/* get cluster stack configured on disk */
disk_fill(s->device_name, &disk_stack_name, &disk_cluster_name,
diff --git a/mkfs.ocfs2/mkfs.h b/mkfs.ocfs2/mkfs.h
index 13b4fb5..ca2004c 100644
--- a/mkfs.ocfs2/mkfs.h
+++ b/mkfs.ocfs2/mkfs.h
@@ -243,6 +243,6 @@ struct _State {
};
int is_classic_stack(char *stack_name);
-void cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags);
+errcode_t cluster_fill(char **stack_name, char **cluster_name, uint8_t *stack_flags);
int ocfs2_fill_cluster_information(State *s);
int ocfs2_check_volume(State *s);
--
1.8.4

View File

@ -1,28 +0,0 @@
From 15891da74943b0f878b486741ff67507b9bd6177 Mon Sep 17 00:00:00 2001
From: Goldwyn Rodrigues <rgoldwyn@suse.com>
Date: Fri, 23 May 2014 11:41:24 -0500
Subject: [PATCH 7/7] Improve error message if DLM service is unavailable
o2dlm_initialize_fsdlm to return O2DLM_ET_SERVICE_UNAVAILABLE if
DLM service is not running (ENOTCONN).
---
libo2dlm/o2dlm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libo2dlm/o2dlm.c b/libo2dlm/o2dlm.c
index dbc642b..c0fbb21 100644
--- a/libo2dlm/o2dlm.c
+++ b/libo2dlm/o2dlm.c
@@ -1035,6 +1035,9 @@ static errcode_t o2dlm_initialize_fsdlm(const char *domain_name,
case EPERM:
ret = O2DLM_ET_BAD_DOMAIN_DIR;
break;
+ case ENOTCONN:
+ ret = O2DLM_ET_SERVICE_UNAVAILABLE;
+ break;
default:
ret = O2DLM_ET_INTERNAL_FAILURE;
break;
--
1.8.4.5

View File

@ -1,165 +0,0 @@
From c89760fc41f466a7a2be99ed2f648875c2d64e7a Mon Sep 17 00:00:00 2001
From: Eric Ren <zren@suse.com>
Date: Thu, 23 Jul 2015 17:13:39 +0800
Subject: [PATCH 2/3] vendor: Add vendor files for sles12
Add vendor files for sles12, and enable systemd support for o2cb
based on the patch named "add systemd support" from "Junxiao Bi"
<junxiao.bi@oracle.com>.
Signed-off-by: Eric Ren <zren@suse.com>
---
vendor/Makefile | 2 +-
vendor/sles12/Makefile | 10 +++++++
vendor/sles12/Vendor.make | 11 +++++++
vendor/sles12/rpmarch.guess | 70 +++++++++++++++++++++++++++++++++++++++++++++
vendor/sles12/vendor.guess | 13 +++++++++
5 files changed, 105 insertions(+), 1 deletion(-)
create mode 100644 vendor/sles12/Makefile
create mode 100644 vendor/sles12/Vendor.make
create mode 100755 vendor/sles12/rpmarch.guess
create mode 100755 vendor/sles12/vendor.guess
diff --git a/vendor/Makefile b/vendor/Makefile
index 58ac84d..022d030 100644
--- a/vendor/Makefile
+++ b/vendor/Makefile
@@ -2,6 +2,6 @@ TOPDIR = ..
include $(TOPDIR)/Preamble.make
-SUBDIRS = common rhel7 rhel6 rhel5 sles10 rhel4 sles9 fc7 fc8 fc9
+SUBDIRS = common sles12 rhel7 rhel6 rhel5 sles10 rhel4 sles9 fc7 fc8 fc9
include $(TOPDIR)/Postamble.make
diff --git a/vendor/sles12/Makefile b/vendor/sles12/Makefile
new file mode 100644
index 0000000..89c16a7
--- /dev/null
+++ b/vendor/sles12/Makefile
@@ -0,0 +1,10 @@
+TOPDIR = ../..
+
+include $(TOPDIR)/Preamble.make
+
+DIST_FILES = \
+ rpmarch.guess \
+ Vendor.make \
+ vendor.guess
+
+include $(TOPDIR)/Postamble.make
diff --git a/vendor/sles12/Vendor.make b/vendor/sles12/Vendor.make
new file mode 100644
index 0000000..b186054
--- /dev/null
+++ b/vendor/sles12/Vendor.make
@@ -0,0 +1,11 @@
+#
+# SLES 12
+#
+
+TOOLSARCH = $(shell $(TOPDIR)/vendor/sles12/rpmarch.guess tools $(TOPDIR))
+VENDOR_EXTENSION = SLE12
+SYSTEMD_ENABLED = 1
+
+include $(TOPDIR)/vendor/common/Vendor.make
+
+packages: rpm
diff --git a/vendor/sles12/rpmarch.guess b/vendor/sles12/rpmarch.guess
new file mode 100755
index 0000000..3514627
--- /dev/null
+++ b/vendor/sles12/rpmarch.guess
@@ -0,0 +1,70 @@
+#! /bin/sh
+
+mode="$1"
+srcdir="$2"
+
+host_cpu=
+
+QUERYFILE=/etc/SuSE-release
+
+if test -n "$QUERYFILE"; then
+ host_cpu="`rpm -qf $QUERYFILE --queryformat \"%{ARCH}\"`"
+fi
+
+if test -z "$host_cpu" -o "$host_cpu" = "noarch" ; then
+ host_alias=`$srcdir/config.guess`
+ host=`$srcdir/config.sub $host_alias`
+ host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+fi
+
+case "$host_cpu" in
+ x86_64|ia64|s390x)
+ TOOLSARCH="$host_cpu"
+ ;;
+ i386|i486|i586|i686|i786|k6|k7)
+ TOOLSARCH="i386"
+ ;;
+ ppc|ppc64|ppciseries|ppcpseries|ppc64iseries|ppc64pseries|powerpc|powerpc64)
+ TOOLSARCH="ppc"
+ ;;
+ *)
+ echo "rpmarch.guess: Warning: unknown RPM CPU architecture: $host_cpu" >&2
+ TOOLSARCH=""
+ ;;
+esac
+
+# Only a few of these need to be overwritten from RPM's default
+case "$host_cpu" in
+ i586)
+ MODULEARCH="$host_cpu"
+ ;;
+ i386|i686)
+ MODULEARCH="i586"
+ ;;
+ ppc|ppc64|ppciseries|ppcpseries|ppc64iseries|ppc64pseries|powerpc|powerpc64)
+ MODULEARCH="ppc64"
+ ;;
+ *)
+ MODULEARCH=""
+ ;;
+esac
+
+case "$mode" in
+ module)
+ if [ -n "$MODULEARCH" ] ; then
+ echo "--target $MODULEARCH"
+ fi
+ ;;
+ tools)
+ if [ -n "$TOOLSARCH" ] ; then
+ echo "--target $TOOLSARCH"
+ fi
+ ;;
+ *)
+ echo "rpmarch.guess: Invalid mode: $mode" >&2
+ echo "error"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/vendor/sles12/vendor.guess b/vendor/sles12/vendor.guess
new file mode 100755
index 0000000..83ce085
--- /dev/null
+++ b/vendor/sles12/vendor.guess
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+if [ ! -f /etc/SuSE-release ]
+then
+ exit 1
+fi
+
+if [ "`rpm -qf /etc/SuSE-release --qf '%{VERSION}' 2>/dev/null`" != "12" ]
+then
+ exit 1
+fi
+
+exit 0
--
2.1.4

View File

@ -1,30 +0,0 @@
From dc357b652edb7e8e2970fd6f4549c433710093b8 Mon Sep 17 00:00:00 2001
From: Eric Ren <zren@suse.com>
Date: Tue, 8 Sep 2015 10:27:51 +0800
Subject: [PATCH 3/3] ocfs2-tools: add systemd support fix
The ocfs2.service should be after remote-fs.target so that iscsi
volume would be available at first.
Signed-off-by: Eric Ren <zren at suse.com>
Reviewed-by: Junxiao Bi <junxiao.bi at oracle.com>
---
vendor/common/ocfs2.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vendor/common/ocfs2.service b/vendor/common/ocfs2.service
index 768f806..c7ecbea 100644
--- a/vendor/common/ocfs2.service
+++ b/vendor/common/ocfs2.service
@@ -2,7 +2,7 @@
Description=Mount ocfs2 Filesystems
Documentation=man:ocfs2(7) man:mount.ocfs2(8)
Requires=o2cb.service
-After=o2cb.service
+After=o2cb.service remote-fs.target
[Service]
Type=oneshot
--
2.1.4

View File

@ -1,18 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/markfasheh/ocfs2-tools.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">1.8.7</param>
<param name="revision">master</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">ocfs2*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">ocfs2</param>
</service>
</services>

View File

@ -1,13 +0,0 @@
Index: ocfs2-tools-1.8.5/libo2cb/o2cb_abi.c
===================================================================
--- a/libo2cb/o2cb_abi.c
+++ b/libo2cb/o2cb_abi.c
@@ -201,7 +201,7 @@ redo:
}
} else if (len == -ENOENT) {
if (!setup_performed) {
- o2cb_setup_stack(OCFS2_CLASSIC_CLUSTER_STACK);
+ o2cb_setup_stack(OCFS2_PCMK_CLUSTER_STACK);
setup_performed = 1;
goto redo;
} else {

View File

@ -1,39 +0,0 @@
Index: ocfs2-tools/libo2cb/o2cb_err.et
===================================================================
--- ocfs2-tools.orig/libo2cb/o2cb_err.et 2012-08-24 10:22:54.000000000 -0500
+++ ocfs2-tools/libo2cb/o2cb_err.et 2012-08-24 10:23:03.000000000 -0500
@@ -33,6 +33,12 @@ ec O2CB_ET_IO,
ec O2CB_ET_SERVICE_UNAVAILABLE,
"Unable to access cluster service"
+ec O2CB_ET_SERVICE_HANDSHAKE_UNAVAILABLE,
+ "Unable to access cluster serivce due to bad handshake"
+
+ec O2CB_ET_SERVICE_DEV_UNAVAILABLE,
+ "Unable to access cluster service device"
+
ec O2CB_ET_INTERNAL_FAILURE,
"Internal logic failure"
Index: ocfs2-tools/libo2cb/o2cb_abi.c
===================================================================
--- ocfs2-tools.orig/libo2cb/o2cb_abi.c 2012-08-24 10:22:54.000000000 -0500
+++ ocfs2-tools/libo2cb/o2cb_abi.c 2012-08-24 10:23:03.000000000 -0500
@@ -2367,7 +2367,7 @@ static errcode_t o2cb_control_handshake(
if (ret != 0)
err = O2CB_ET_IO;
else if (!found)
- err = O2CB_ET_SERVICE_UNAVAILABLE; /* no match */
+ err = O2CB_ET_SERVICE_HANDSHAKE_UNAVAILABLE; /* no match */
break;
}
@@ -2424,7 +2424,7 @@ errcode_t o2cb_control_open(unsigned int
case ENOTDIR:
case ENOENT:
case EISDIR:
- err = O2CB_ET_SERVICE_UNAVAILABLE;
+ err = O2CB_ET_SERVICE_DEV_UNAVAILABLE;
break;
case EACCES:

View File

@ -1,104 +0,0 @@
Index: ocfs2-tools/ocfs2_hb_ctl/ocfs2_hb_ctl.c
===================================================================
--- ocfs2-tools.orig/ocfs2_hb_ctl/ocfs2_hb_ctl.c
+++ ocfs2-tools/ocfs2_hb_ctl/ocfs2_hb_ctl.c
@@ -39,6 +39,7 @@
#include <string.h>
#include <sys/stat.h>
#include <signal.h>
+#include <syslog.h>
#include "ocfs2/ocfs2.h"
@@ -137,6 +138,7 @@ static errcode_t get_desc(const char *de
if (!region_desc->r_name || !region_desc->r_device_name)
err = OCFS2_ET_NO_MEMORY;
} else {
+ syslog(LOG_INFO, "filled heartbeat desc, err: %d\n", (int)err);
region_desc->r_name = NULL;
region_desc->r_device_name = NULL;
goto out_close;
@@ -157,6 +159,7 @@ static errcode_t get_desc(const char *de
err = OCFS2_ET_NO_MEMORY;
}
} else {
+ syslog(LOG_INFO, "filled cluster desc, err: %d\n", (int)err);
cluster_desc->c_stack = NULL;
cluster_desc->c_cluster = NULL;
}
@@ -202,9 +205,9 @@ static errcode_t compare_dev(const char
/* Any problem with getting the descriptor is NOT FOUND */
err = OCFS2_ET_FILE_NOT_FOUND;
- if (get_desc(device))
+ if (get_desc(device)) {
goto out;
-
+ }
if (!strcmp(region_desc->r_name, hbo->uuid_str)) {
hbo->dev_str = device;
err = 0;
@@ -381,12 +384,19 @@ static errcode_t stop_heartbeat(struct h
{
errcode_t err = 0;
- if (!hbo->dev_str)
+ if (!hbo->dev_str) {
err = lookup_dev(hbo);
+ if (err)
+ syslog(LOG_INFO, "looked up device, ret: %d\n",
+ (int)err);
+ }
if (!err) {
region_desc->r_persist = 1; /* hb_ctl is for reals */
region_desc->r_service = hbo->service;
err = o2cb_group_leave(cluster_desc, region_desc);
+ if (err)
+ syslog(LOG_INFO, "left group - err: %d\n",
+ (int)err);
}
return err;
@@ -536,14 +546,42 @@ static void print_usage(int err)
fprintf(output, " %s -h\n", progname);
}
+static int
+hack_enable_coredumps(void)
+{
+ struct rlimit rlim;
+
+ if (getrlimit(RLIMIT_CORE, &rlim) < 0) {
+ return -1;
+ }
+
+ rlim.rlim_max = RLIM_INFINITY;
+ setrlimit(RLIMIT_CORE, &rlim);
+ (void)chdir("/var/lib/openais");
+ return 0;
+}
+
+
int main(int argc, char **argv)
{
errcode_t err = 0;
int ret = 0;
+ int i;
struct hb_ctl_options hbo = {
.action = HB_ACTION_UNKNOWN,
};
char *hbuuid = NULL;
+ char tmp[1024];
+
+ openlog("ocfs2_hb_ctl", LOG_CONS|LOG_NDELAY|LOG_PID, LOG_KERN);
+ sprintf(tmp, "ocfs2_hb_ctl");
+ for (i = 0; i < argc; i++) {
+ strncat(tmp, " ", sizeof(tmp)-1);
+ strncat(tmp, argv[i], sizeof(tmp)-1);
+ }
+ syslog(LOG_INFO, "%s\n", tmp);
+
+ hack_enable_coredumps();
setbuf(stdout, NULL);
setbuf(stderr, NULL);

View File

@ -1,24 +0,0 @@
Index: ocfs2-tools/vendor/common/ocfs2.init
===================================================================
--- ocfs2-tools.orig/vendor/common/ocfs2.init
+++ ocfs2-tools/vendor/common/ocfs2.init
@@ -107,9 +107,6 @@ FUSER=`which fuser`
case "$1" in
start|reload)
- if [ -d /var/lock/subsys ] ; then
- touch /var/lock/subsys/ocfs2
- fi
if [ -n "`ocfs2fstab`" ] ; then
echo -n "Starting Oracle Cluster File System (OCFS2) "
mount -at ocfs2
@@ -143,9 +140,6 @@ case "$1" in
retry=$(($retry - 1))
sig=-9
done
- if [ -z "$remaining" ] && [ -e /var/lock/subsys/ocfs2 ] ; then
- rm /var/lock/subsys/ocfs2
- fi
[ -z "$remaining" ] && success_status
;;
restart|force-reload)

View File

@ -1,32 +0,0 @@
Index: ocfs2-tools/configure.in
===================================================================
--- ocfs2-tools.orig/configure.in 2012-08-24 10:22:47.000000000 -0500
+++ ocfs2-tools/configure.in 2012-08-24 10:23:24.000000000 -0500
@@ -276,9 +276,12 @@ if test "x$cpg_found" = "xyes"; then
# TRY="$TRY"
saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $TRY -lcpg"
+ saved_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $TRY"
+ LIBS="-lcpg"
AC_LINK_IFELSE([AC_LANG_CALL([], [cpg_initialize])],
cpg_found=yes)
+ LIBS="$saved_LIBS"
LDFLAGS="$saved_LDFLAGS"
if test "x$cpg_found" = "xyes"; then
@@ -320,9 +323,12 @@ if test "x$ckpt_found" = "xyes"; then
# TRY="$TRY"
saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $TRY -lSaCkpt"
+ saved_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $TRY"
+ LIBS="-lSaCkpt"
AC_LINK_IFELSE([AC_LANG_CALL([], [saCkptInitialize])],
ckpt_found=yes)
+ LIBS="$saved_LIBS"
LDFLAGS="$saved_LDFLAGS"
if test "x$ckpt_found" = "xyes"; then

View File

@ -1,57 +0,0 @@
Index: ocfs2-tools/vendor/common/o2cb.init.sh
===================================================================
--- ocfs2-tools.orig/vendor/common/o2cb.init.sh 2012-08-24 10:22:54.000000000 -0500
+++ ocfs2-tools/vendor/common/o2cb.init.sh 2012-08-24 10:23:09.000000000 -0500
@@ -8,7 +8,8 @@
# Provides: o2cb
# Required-Start: $network
# Should-Start:
-# Required-Stop:
+# Should-Stop:
+# Required-Stop: $null
# Default-Start: 2 3 5
# Default-Stop:
# Short-Description: Load O2CB cluster services at system boot.
@@ -671,7 +672,7 @@ status_filesystem()
status_daemon()
{
- DAEMON="/sbin/ocfs2_controld.${O2CB_STACK}"
+ DAEMON="/usr/sbin/ocfs2_controld.${O2CB_STACK}"
echo -n "Checking for control daemon: "
if [ -n "$(pidofproc "$DAEMON")" ]
then
@@ -700,6 +701,7 @@ bringup_daemon()
fi
sleep 1
done
+ sleep 2
return 0
}
@@ -707,7 +709,7 @@ bringup_daemon()
kill_daemon()
{
SIGNAL="$1"
- DAEMON="/sbin/ocfs2_controld.${O2CB_STACK}"
+ DAEMON="/usr/sbin/ocfs2_controld.${O2CB_STACK}"
status_daemon >/dev/null 2>&1 || return 2
Index: ocfs2-tools/vendor/common/ocfs2.init
===================================================================
--- ocfs2-tools.orig/vendor/common/ocfs2.init 2012-08-24 10:22:54.000000000 -0500
+++ ocfs2-tools/vendor/common/ocfs2.init 2012-08-24 10:23:09.000000000 -0500
@@ -8,9 +8,9 @@
### BEGIN INIT INFO
# Provides: ocfs2
# Required-Start: $network o2cb
-# Required-Stop:
-# X-UnitedLinux-Should-Start:
-# X-UnitedLinux-Should-Stop:
+# Required-Stop: $null
+# Should-Start:
+# Should-Stop:
# Default-Start: 2 3 5
# Default-Stop:
# Short-Description: Mount OCFS2 volumes at boot.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d87b9982b6c186f963b39ba4a667d307efe4337748c02aa194f9fe6519bfac8
size 1522282

View File

@ -1,14 +0,0 @@
Index: ocfs2-tools/include/ocfs2-kernel/ocfs2_fs.h
===================================================================
--- ocfs2-tools.orig/include/ocfs2-kernel/ocfs2_fs.h 2012-08-24 10:22:41.000000000 -0500
+++ ocfs2-tools/include/ocfs2-kernel/ocfs2_fs.h 2012-08-24 10:23:30.000000000 -0500
@@ -329,6 +329,9 @@
*/
#define OCFS2_CLUSTER_O2CB_GLOBAL_HEARTBEAT (0x01)
+// Reintroduce umode_t, which disappeared in kernel 3.3
+typedef unsigned short umode_t;
+
struct ocfs2_system_inode_info {
char *si_name;
int si_iflags;

View File

@ -1,12 +0,0 @@
Index: ocfs2-tools/ocfs2_hb_ctl/ocfs2_hb_ctl.c
===================================================================
--- ocfs2-tools.orig/ocfs2_hb_ctl/ocfs2_hb_ctl.c
+++ ocfs2-tools/ocfs2_hb_ctl/ocfs2_hb_ctl.c
@@ -40,6 +40,7 @@
#include <sys/stat.h>
#include <signal.h>
#include <syslog.h>
+#include <sys/resource.h>
#include "ocfs2/ocfs2.h"

File diff suppressed because it is too large Load Diff

View File

@ -1,340 +0,0 @@
#
# spec file for package ocfs2-tools
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
#if run "rpmbuild --with=ocfs2console"
#_with_ocfs2console will be automatically defined
%if %{defined _with_ocfs2console}
%define _ocfs2console 1
%else
%if 0%{?suse_version} >= 1500
%define _ocfs2console 0
%else
%define _ocfs2console 1
%endif
%endif
Name: ocfs2-tools
Version: 1.8.7
Release: 0
Summary: Oracle Cluster File System 2 Core Tools
License: GPL-2.0-only
Group: System/Filesystems
URL: https://ocfs2.wiki.kernel.org/
Source: ocfs2-tools-%{version}.tar.gz
Source1: reflink.tar.bz2
Patch001: auto-setup-pcmk-stack-as-default-if-no-stack-is-setup.patch
Patch103: debug-ocfs2_hb_ctl.patch
Patch105: bug-470741-debug_start_failures.patch
Patch106: ocfs2-devel.diff
Patch107: reflink-no-syscall.patch
Patch202: fix-configure-check-libs.patch
Patch204: dont-use-var-lock-subsys.patch
Patch205: ocfs2-tools-kernel33.patch
Patch206: ocfs2-tools-resource.patch
Patch225: 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch
Patch228: 0007-Improve-error-message-if-DLM-service-is-unavailable.patch
Patch405: 0007-vendor-Add-vendor-files-for-sles12.patch
Patch406: 0008-ocfs2-tools-add-systemd-support-fix.patch
Patch501: fixed-mounted.ocfs2-output-when-some-devices-are-Not.patch
Patch502: update-mounted.ocfs2-mounted.c.patch
BuildRequires: autoconf
BuildRequires: e2fsprogs-devel
BuildRequires: libaio-devel
BuildRequires: libbz2-devel
BuildRequires: libcorosync-devel
BuildRequires: libdlm-devel
BuildRequires: libxslt-devel
BuildRequires: libz1
BuildRequires: readline-devel
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libxml-2.0)
Requires(pre): %fillup_prereq
Requires: e2fsprogs
Requires: glib2 >= 2.2.3
Requires: libdlm
Requires: modutils
Requires: net-tools
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Recommends: ocfs2-kmp
%if 0%{?suse_version} >= 1315
%define systemd_enabled 1
%else
%define systemd_enabled 0
Requires(pre): %insserv_prereq
%endif
%description
OCFS2 is the Oracle Cluster File System.
This package contains the core user-space tools needed for creating and
managing the file system.
%if 0%{_ocfs2console} == 1
%package -n ocfs2console
Summary: Oracle Cluster Filesystem 2 GUI tools
Group: System/Filesystems
BuildRequires: python-devel
BuildRequires: python-gtk-devel
Requires: e2fsprogs
Requires: glib2 >= 2.2.3
Requires: ocfs2-tools = %{version}
Requires: ocfs2-tools = %{version}
Requires: python-gtk >= 1.99.16
Requires: vte >= 0.11.10
Provides: ocfs2-support = %{version}
Obsoletes: ocfs2-support < %{version}
%description -n ocfs2console
OCFS2 is the Oracle Cluster Filesystem.
This package contains additional tools and a GUI (python-gtk).
%endif
%package devel
Summary: Oracle Cluster File System 2 Development files
Group: Development/Libraries/C and C++
Requires: libcom_err
Requires: libcom_err-devel
Requires: ocfs2-tools = %{version}
%description devel
OCFS2 is the Oracle Cluster File System.
This package contains the header files for developing low-level
OCFS2-aware applications.
%package devel-static
Summary: Oracle Cluster File System 2 static libraries
Group: Development/Libraries/C and C++
Requires: libcom_err
Requires: libcom_err-devel
Requires: ocfs2-tools = %{version}
%description devel-static
OCFS2 is the Oracle Cluster File System.
This package contains the static libraries for developing low-level
OCFS2-aware applications.
%package o2cb
Summary: Oracle Cluster File System 2 tools for the native o2cb stack
Group: System/Filesystems
Requires: ocfs2-tools = %{version}
%description o2cb
OCFS is the Oracle Cluster File System.
This package contains the tools to manage the native o2cb stack for the
OCFS2 filesystem.
%prep
%setup -q -a 1
%patch001 -p1
%patch103 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p0
%patch202 -p1
%patch204 -p1
%patch205 -p1
%patch206 -p1
%patch225 -p1
%patch228 -p1
%patch405 -p1
%patch406 -p1
%patch501 -p1
%patch502 -p1
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
export PROJECT="ocfs2-tools"
autoreconf -fi -I /usr/share/aclocal
%configure --disable-debug \
%if 0%{_ocfs2console} == 1
--enable-ocfs2console=yes \
%endif
--enable-dynamic-fsck=yes \
--enable-dynamic-ctl=yes
make OPTS="%{optflags}"
cd reflink
cp ../config.guess ../config.sub coreutils-6.9/build-aux/
%configure
make reflink
cd ..
%install
mkdir -p %{buildroot}/sbin
mkdir -p %{buildroot}%{_prefix}/bin
mkdir -p %{buildroot}%{_fillupdir}
mkdir -p %{buildroot}%{_udevrulesdir}
cp -f vendor/common/51-ocfs2.rules %{buildroot}%{_udevrulesdir}
cp -f vendor/common/o2cb.sysconfig %{buildroot}%{_fillupdir}/sysconfig.o2cb
%if %{systemd_enabled}
mkdir -p %{buildroot}/usr/lib/systemd/system
cp -f vendor/common/o2cb.service %{buildroot}/usr/lib/systemd/system/
cp -f vendor/common/ocfs2.service %{buildroot}/usr/lib/systemd/system/
cp -f vendor/common/o2cb.init %{buildroot}/sbin
cp -f vendor/common/ocfs2.init %{buildroot}/sbin
%else
mkdir -p %{buildroot}%{_sysconfdir}/init.d
cp -f vendor/common/o2cb.init %{buildroot}%{_sysconfdir}/init.d/o2cb
cp -f vendor/common/ocfs2.init %{buildroot}%{_sysconfdir}/init.d/ocfs2
ln -sf ..%{_sysconfdir}/init.d/o2cb %{buildroot}/sbin/rco2cb
ln -sf ..%{_sysconfdir}/init.d/ocfs2 %{buildroot}/sbin/rcocfs2
%endif
make DESTDIR="%{buildroot}" install
cd reflink
make DESTDIR="%{buildroot}" install
cd ..
rm %{buildroot}/sbin/defragfs.ocfs2
rm %{buildroot}/%{_mandir}/man8/defragfs.ocfs2.8
mv %{buildroot}/{,/usr}/sbin/o2image
mv %{buildroot}/{,/usr}/sbin/debugfs.ocfs2
#mv %{buildroot}/{,/usr}/sbin/ocfs2_controld.pcmk
chmod a-x %{buildroot}/%{_libdir}/libo2cb.a
chmod a-x %{buildroot}/%{_libdir}/libo2dlm.a
chmod a-x %{buildroot}/%{_libdir}/libocfs2.a
%if 0%{_ocfs2console} == 1
python -c "import compileall; compileall.compile_dir('%{buildroot}/%{py_sitedir}/ocfs2interface', ddir='%{py_sitedir}/ocfs2interface')"
%endif
%if %{systemd_enabled}
%pre o2cb
%service_add_pre ocfs2.service o2cb.service
%endif
%preun o2cb
%if %{systemd_enabled}
%service_del_preun ocfs2.service o2cb.service
%else
%stop_on_removal ocfs2
%stop_on_removal o2cb
%endif
%post o2cb
%fillup_only -n o2cb
%if %{systemd_enabled}
%service_add_post ocfs2.service o2cb.service
%endif
%postun o2cb
%if %{systemd_enabled}
%service_del_postun ocfs2.service o2cb.service
%else
%{insserv_cleanup}
%restart_on_update ocfs2
%restart_on_update o2cb
%endif
%files
%defattr(-,root,root)
%license COPYING
%doc CREDITS MAINTAINERS
%doc documentation/users_guide.txt
%dir /usr/lib/udev
%dir %{_udevrulesdir}
/sbin/fsck.ocfs2
/sbin/mkfs.ocfs2
/sbin/mounted.ocfs2
/sbin/tunefs.ocfs2
/sbin/mount.ocfs2
/sbin/ocfs2_hb_ctl
/sbin/o2cluster
%{_sbindir}/o2image
%{_sbindir}/debugfs.ocfs2
%{_sbindir}/o2hbmonitor
%{_bindir}/reflink
%{_bindir}/o2info
%{_udevrulesdir}/51-ocfs2.rules
%{_mandir}/man8/debugfs.ocfs2.8*
%{_mandir}/man8/fsck.ocfs2.8*
%{_mandir}/man8/fsck.ocfs2.checks.8*
%{_mandir}/man8/mkfs.ocfs2.8*
%{_mandir}/man8/tunefs.ocfs2.8*
%{_mandir}/man8/mounted.ocfs2.8*
%{_mandir}/man8/ocfs2_hb_ctl.8*
%{_mandir}/man8/mount.ocfs2.8*
%{_mandir}/man8/o2image.8.gz
%{_mandir}/man8/o2cluster.8.gz
%{_mandir}/man8/o2hbmonitor.8.gz
%{_mandir}/man5/o2cb.sysconfig.5.gz
%{_mandir}/man5/ocfs2.cluster.conf.5.gz
%{_mandir}/man7/ocfs2.7.gz
%{_mandir}/man1/o2info.1.gz
%if 0%{_ocfs2console} == 1
%files -n ocfs2console
%defattr(-,root,root)
%{_sbindir}/ocfs2console
%{py_sitedir}/ocfs2interface
%{_mandir}/man8/ocfs2console.8*
%endif
%files o2cb
%defattr(-,root,root)
%doc README.O2CB
/sbin/o2cb_ctl
/sbin/o2cb
%if %{systemd_enabled}
/sbin/o2cb.init
/sbin/ocfs2.init
/usr/lib/systemd/system/o2cb.service
/usr/lib/systemd/system/ocfs2.service
%else
/sbin/rco2cb
/sbin/rcocfs2
%{_sysconfdir}/init.d/o2cb
%{_sysconfdir}/init.d/ocfs2
%endif
%{_mandir}/man8/o2cb_ctl.8*
%{_fillupdir}/sysconfig.o2cb
%{_mandir}/man7/o2cb.7.gz
%{_mandir}/man8/o2cb.8.gz
%files devel
%defattr(-,root,root)
%{_includedir}/o2cb
%{_includedir}/o2dlm
%{_includedir}/ocfs2
%{_includedir}/ocfs2-kernel
%{_libdir}/pkgconfig/o2cb.pc
%{_libdir}/pkgconfig/o2dlm.pc
%{_libdir}/pkgconfig/ocfs2.pc
%files devel-static
%defattr(-,root,root)
%{_libdir}/libo2cb.a
%{_libdir}/libo2dlm.a
%{_libdir}/libocfs2.a
%changelog

43
project.diff Normal file
View File

@ -0,0 +1,43 @@
--- ocfs2-tools.changes.orig
+++ ocfs2-tools.changes
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Oct 27 10:20:20 UTC 2021 - ghe@suse.com
+
+- Fix mounted.ocfs2 output when some devices are not ready (bsc#1191810)
+ + fixed-mounted.ocfs2-output-when-some-devices-are-Not.patch
+ + update-mounted.ocfs2-mounted.c.patch
+
+-------------------------------------------------------------------
Wed May 26 10:32:30 UTC 2021 - ghe@suse.com
- Update ocfs2-tools.tar.gz to upstream v1.8.7 (bsc#1186308)
--- ocfs2-tools.spec.orig
+++ ocfs2-tools.spec
@@ -1,7 +1,7 @@
#
# spec file for package ocfs2-tools
#
-# Copyright (c) 2021 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -55,6 +55,8 @@ Patch225: 0004-mkfs.ocfs2-Abort-if
Patch228: 0007-Improve-error-message-if-DLM-service-is-unavailable.patch
Patch405: 0007-vendor-Add-vendor-files-for-sles12.patch
Patch406: 0008-ocfs2-tools-add-systemd-support-fix.patch
+Patch501: fixed-mounted.ocfs2-output-when-some-devices-are-Not.patch
+Patch502: update-mounted.ocfs2-mounted.c.patch
BuildRequires: autoconf
BuildRequires: e2fsprogs-devel
@@ -162,6 +164,8 @@ OCFS2 filesystem.
%patch228 -p1
%patch405 -p1
%patch406 -p1
+%patch501 -p1
+%patch502 -p1
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects

View File

@ -1,57 +0,0 @@
Index: reflink/coreutils-6.9/src/ln.c
===================================================================
--- reflink.orig/coreutils-6.9/src/ln.c
+++ reflink/coreutils-6.9/src/ln.c
@@ -152,52 +152,6 @@ target_directory_operand (char const *fi
return is_a_dir;
}
-#ifndef HAVE_REFLINK
-# ifndef HAVE_REFLINKAT
-# include <sys/syscall.h>
-
-# ifndef SYS_reflinkat
-# ifdef __i386__
-# define __NR_reflinkat 337
-# endif
-# ifdef __x86_64__
-# define __NR_reflinkat 299
-# endif
-# define SYS_reflinkat __NR_reflinkat
-# endif /* SYS_reflinkat */
-
-# ifdef SYS_reflinkat
-static int reflinkat(int olddirfd, const char *oldpath,
- int newdirfd, const char *newpath,
- int preserve, int flags)
-{
- return syscall(SYS_reflinkat, olddirfd, oldpath, newdirfd, newpath,
- preserve, flags);
-}
-# else
-static int reflinkat(int olddirfd, const char *oldpath,
- int newdirfd, const char *newpath,
- int preserve, int flags)
-{
- return -ENOSYS;
-}
-# endif /* SYS_reflinkat */
-# endif /* HAVE_REFLINKAT */
-
-/*
- * We've now defined reflinkat of some sort. We can use it to build
- * reflink.
- */
-# ifndef AT_FDCWD
-# define AT_FDCWD -100
-# endif
-static int reflink(const char *oldpath, const char *newpath,
- int preserve)
-{
- return reflinkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, preserve, 0);
-}
-#endif /* HAVE_REFLINK */
-
#ifndef REFLINK_ATTR_NONE
# define REFLINK_ATTR_NONE 0
#endif

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d197e3c716ab12213332d9787375fecda0ede55508ca1e71aec9922e8c124ba5
size 5167807