Compare commits

..

No commits in common. "eb8fca2a61cdbd1790d2cc69b81278e055204b14" and "aab78a329250c171bb238d1045a461e101331aa9" have entirely different histories.

7 changed files with 79 additions and 179 deletions

View File

@ -1,54 +0,0 @@
From 249491af07c735d93fc743e413a5304057e43a75 Mon Sep 17 00:00:00 2001
From: doupengda <doupengda@loongson.cn>
Date: Tue, 7 Mar 2023 11:08:46 +0800
Subject: [PATCH] Add loongarch64 support
---
utils/uds/atomicDefs.h | 8 +++++++-
utils/uds/cpu.h | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
index 0aad609..f468369 100644
--- a/utils/uds/atomicDefs.h
+++ b/utils/uds/atomicDefs.h
@@ -97,6 +97,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("sync" : : : "memory");
+#elif defined __loongarch64
+ __asm__ __volatile__("dbar 0" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -122,6 +124,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("lwsync" : : : "memory");
+#elif defined __loongarch64
+ __asm__ __volatile__("dbar 0" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -147,6 +151,8 @@
__asm__ __volatile__("bcr 14,0" : : : "memory");
#elif defined __PPC__
__asm__ __volatile__("lwsync" : : : "memory");
+#elif defined __loongarch64
+ __asm__ __volatile__("dbar 0" : : : "memory");
#else
#error "no fence defined"
#endif
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
index 6549f6e..e26d653 100644
--- a/utils/uds/cpu.h
+++ b/utils/uds/cpu.h
@@ -36,7 +36,7 @@
#define CACHE_LINE_BYTES 128
#elif defined(__s390x__)
#define CACHE_LINE_BYTES 256
-#elif defined(__x86_64__) || defined(__aarch64__)
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
#define CACHE_LINE_BYTES 64
#else
#error "unknown cache line size"

View File

@ -0,0 +1,38 @@
From a85f6e9973697f90d11e9beb1eb16206774e4767 Mon Sep 17 00:00:00 2001
From: "Christopher N. Hesse" <raymanfx@gmail.com>
Date: Wed, 3 Apr 2019 22:24:29 +0200
Subject: [PATCH 2/2] Ignore misaligned pointers
Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
---
utils/vdo/base/Makefile | 1 +
utils/vdo/user/Makefile | 1 +
2 files changed, 2 insertions(+)
diff --git a/utils/vdo/base/Makefile b/utils/vdo/base/Makefile
index 4f2ed82..6d4c4e8 100644
--- a/utils/vdo/base/Makefile
+++ b/utils/vdo/base/Makefile
@@ -46,6 +46,7 @@ C_WARNS = \
-Wnested-externs \
-Wold-style-definition \
-Wswitch-default \
+ -Wno-address-of-packed-member \
OPT_FLAGS = -O3 -fno-omit-frame-pointer
DEBUG_FLAGS =
diff --git a/utils/vdo/user/Makefile b/utils/vdo/user/Makefile
index b0a60d0..811dd8a 100644
--- a/utils/vdo/user/Makefile
+++ b/utils/vdo/user/Makefile
@@ -48,6 +48,7 @@ C_WARNS = \
-Wnested-externs \
-Wold-style-definition \
-Wswitch-default \
+ -Wno-address-of-packed-member \
OPT_FLAGS = -O3 -fno-omit-frame-pointer
DEBUG_FLAGS =
--
2.21.0

View File

@ -1,12 +0,0 @@
diff -Naur vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile
--- vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile 2021-05-04 08:26:42.000000000 +0000
+++ vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile 2021-06-01 17:05:02.117033793 +0000
@@ -150,7 +150,7 @@
$(CC) $(LDFLAGS) $^ $(LDPRFLAGS) -o $@
vdoformat: LDPRFLAGS += "-lblkid"
-vdodmeventd: LDPRFLAGS += "-ldevmapper-event"
+vdodmeventd: LDPRFLAGS += -ldevmapper -ldevmapper-event
ifneq ($(MAKECMDGOALS),clean)
DEPSOURCES = $(wildcard *.c)

View File

@ -1,80 +0,0 @@
diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
index f468369..673f974 100644
--- a/utils/uds/atomicDefs.h
+++ b/utils/uds/atomicDefs.h
@@ -99,6 +99,8 @@
__asm__ __volatile__("sync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence rw,rw" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -126,6 +128,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence r,r" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -153,6 +157,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence w,w" : : : "memory");
#else
#error "no fence defined"
#endif
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
index e26d653..f3fd61f 100644
--- a/utils/uds/cpu.h
+++ b/utils/uds/cpu.h
@@ -36,7 +36,7 @@
#define CACHE_LINE_BYTES 128
#elif defined(__s390x__)
#define CACHE_LINE_BYTES 256
-#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64) || defined(__riscv)
#define CACHE_LINE_BYTES 64
#else
#error "unknown cache line size"
diff --git a/utils/uds/Makefile b/utils/uds/Makefile
index e33d682..ff6ece0 100644
--- a/utils/uds/Makefile
+++ b/utils/uds/Makefile
@@ -32,8 +32,11 @@
CC=gcc
endif
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif
WARNS = -Wall \
- -Wcast-align \
+ $(Wcast-align) \
-Werror \
-Wextra \
-Winit-self \
diff --git a/utils/vdo/Makefile b/utils/vdo/Makefile
index fb009a7..26a8e28 100644
--- a/utils/vdo/Makefile
+++ b/utils/vdo/Makefile
@@ -22,10 +22,12 @@
UDS_DIR = ../uds
-
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif
WARNS = \
-Wall \
- -Wcast-align \
+ $(Wcast-align) \
-Werror \
-Wextra \
-Winit-self \

BIN
6.2.6.14.tar.gz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,21 +1,16 @@
Name: vdo
Version: 8.2.2.2
Release: 2
Version: 6.2.6.14
Release: 1
Summary: Management tools for Virtual Data Optimizer
License: GPLv2
URL: http://github.com/dm-vdo/vdo
Source0: https://github.com/dm-vdo/vdo/archive/refs/tags/%{version}.tar.gz
Patch0001: 0001-Add-loongarch64-support.patch
Patch0002: 0002-fix_dmeventd_linking.patch
Patch0003: 0003-RISC-V-support.patch
Patch0002: 0002-Ignore-misaligned-pointers.patch
BuildRequires: gcc libuuid-devel device-mapper-devel device-mapper-event-devel
BuildRequires: zlib-devel libblkid-devel
%ifarch "%{valgrind_arches}"
BuildRequires: valgrind-devel
%endif
BuildRequires: valgrind-devel python3 python3-devel zlib-devel systemd
%{?systemd_requires}
Requires: libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
Requires: lvm2 >= 2.02 python3-PyYAML >= 3.10 libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
Provides: kvdo-kmod-common = %{version}
%define __requires_exclude perl
@ -35,43 +30,56 @@ This package provides the user-space management tools for VDO.
%install
%make_install DESTDIR=%{buildroot} INSTALLOWNER= bindir=%{_bindir} \
defaultdocdir=%{_defaultdocdir} name=%{name} mandir=%{_mandir} \
unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir}
defaultdocdir=%{_defaultdocdir} name=%{name} \
python3_sitelib=%{python3_sitelib} mandir=%{_mandir} \
unitdir=%{_unitdir} presetdir=%{_presetdir}
# Fix the python3 shebangs
for file in %{_bindir}/vdo \
%{_bindir}/vdostats
do
pathfix.py -pni "%{__python3}" %{buildroot}${file}
done
%post
%systemd_post vdo.service
%preun
%systemd_preun vdo.service
%postun
%systemd_postun_with_restart vdo.service
%files
%defattr(-,root,root)
%dir %{_defaultdocdir}/%{name}
%doc CONTRIBUTORS.txt README.md
%dir %{_defaultdocdir}/%{name}/examples
%doc %{_defaultdocdir}/%{name}/examples/*
%license %{_defaultdocdir}/%{name}/COPYING
%{_bindir}/*
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/vdostats
%dir %{python3_sitelib}/%{name}
%{python3_sitelib}/%{name}/__init__.py
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.pyc
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.opt-1.pyc
%dir %{python3_sitelib}/%{name}/vdomgmnt/
%{python3_sitelib}/%{name}/vdomgmnt/*
%dir %{python3_sitelib}/%{name}/statistics/
%{python3_sitelib}/%{name}/statistics/*
%dir %{python3_sitelib}/%{name}/utils/
%{python3_sitelib}/%{name}/utils/*
%{_unitdir}/vdo.service
%{_presetdir}/97-vdo.preset
/bash_completion.d/vdo
/bash_completion.d/vdostats
/etc/udev/rules.d/69-vdo-start-by-dev.rules
/usr/lib/systemd/system/vdo-start-by-dev@.service
/usr/libexec/vdoprepareforlvm
%files help
%defattr(-,root,root)
%{_mandir}/man8/*
%changelog
* Sun Apr 28 2024 yinsist <jianhui.oerv@isrc.iscas.ac.cn> - 8.2.2.2-2
- Valgrind does not support certain architectures like RISC-V, Before depending on Valgrind, first check if Valgrind supports the architecture
* Tue Feb 27 2024 liyanan <liyanan61@h-partners.com> - 8.2.2.2-1
- Upgrade to 8.2.2.2
* Wed Aug 16 2023 huxintao <806908118@qq.com> - 6.2.9.7-1
- Upgrade to 6.2.9.7
* Fri Mar 17 2023 laokz <zhangkai@iscas.ac.cn> - 6.2.6.14-3
- Add RISC-V support (Patch by YukariChiba<i@0x7f.cc>)
- Source of fence commands: RISC-V ISA Spec from riscv.org
- Remove -Wcast-align flag, since it causes error in RISC-V gcc
- Remove error-prone patch isolation macro
* Tue Mar 7 2023 doupengda <doupengda@loongson.cn> - 6.2.6.14-2
- Add loongarch64 support
* Fri May 20 2022 houyingchao <houyingchao@h-partners.com> - 6.2.6.14-1
- Upgrade to 6.2.6.14