From 7041eed8bdd044439dd3c9e08257cb0f44f05325 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Fri, 17 Nov 2023 09:32:49 +0100 Subject: [PATCH 1/4] README: small improvements and fixes after stable-v2.0 merge I think new users they can be confusing when they arrive in this repository initially. I think it is good to specify that master is only compatible with the work for integration with the upstream kernel and also to notify any users who are looking for the external module for VAL with the latest fixes and support for the latest kernel versions --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 377f675..584af06 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +| :warning: Important note | +|:---------------------------| +| Master branch is compatible only with latest work for [upstream kernel integration](https://github.com/veeam/blksnap/blob/master/doc/README-upstream-kernel.md#work-in-progress-and-news) | +| For older blksnap version based on external module (actually used in production) see these branches: [VAL-6.1](https://github.com/veeam/blksnap/tree/VAL-6.1), [VAL-6.0](https://github.com/veeam/blksnap/tree/VAL-6.0), [stable-1.0](https://github.com/veeam/blksnap/tree/stable-v1.0) | +| :information_source: To Veeam agent for linux users: | +| If you need only kernel module updated with latest kernel versions support and latest fixes for it [build kernel module](#how-to-build) from [VAL-6.0](https://github.com/veeam/blksnap/tree/VAL-6.0) or [VAL-6.1](https://github.com/veeam/blksnap/tree/VAL-6.1) based on your Veeam agent for linux version | + # BLKSNAP - Block Devices Snapshots * [Extended description and features](doc/blksnap.md) @@ -19,6 +26,7 @@ * doc/ - Documentation * include/ - Libraries public headers * lib/ - Libraries sources +* patches/ - Patches for the upstream linux kernel * pkg/ - Scripts for building deb and rpm packages * tests/ - Test scripts and tests source code * tools/ - Source files of tools for working with blksnap @@ -32,7 +40,7 @@ Copyright (C) 2022 Veeam Software Group GmbH This project use [SPDX License Identifier](https://spdx.dev/ids/) in source files header. ## Kernel integration -Relating the work in progress for integration in upstream kernel see the +For details about the work in progress for integration in upstream kernel see the specific [README](https://github.com/veeam/blksnap/blob/master/doc/README-upstream-kernel.md) ## Tools From 8ed7aede321e705ec02ab71e645b46257bd35589 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Fri, 17 Nov 2023 09:43:06 +0100 Subject: [PATCH 2/4] other fixes for stable-v2.0 merge --- .github/workflows/build.yml | 2 ++ .github/workflows/codespell.yml | 2 +- doc/README-upstream-kernel.md | 2 +- pkg/deb/blksnap/copyright | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 61b093e..0bdf2fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,12 +7,14 @@ on: paths-ignore: - "README.md" - "doc/**" + - "patches/**" pull_request: branches: - "*" paths-ignore: - "README.md" - "doc/**" + - "patches/**" workflow_dispatch: jobs: diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index cc16350..33f91a0 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -3,7 +3,7 @@ on: [pull_request] jobs: codespell: - name: codespell + name: check runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/doc/README-upstream-kernel.md b/doc/README-upstream-kernel.md index 71174be..34722f1 100644 --- a/doc/README-upstream-kernel.md +++ b/doc/README-upstream-kernel.md @@ -58,7 +58,7 @@ A "v4" patch ([cover](https://lore.kernel.org/lkml/20230609115206.4649-1-sergei. There is a work in progress for "v6", is possible view/test it from [this branch](https://github.com/SergeiShtepa/linux/tree/blksnap-master) of a linux fork git. -For testing this version, that have important changes, [the blksnap branch stable-2.0](https://github.com/veeam/blksnap/tree/stable-v2.0) must be used updated with the latest commits, +For testing this version, that have important changes, [the blksnap branch master](https://github.com/veeam/blksnap/tree/master) must be used updated with the latest commits, to have library, tools and tests working with new upstream version. Latest news are also visible from [here](https://github.com/veeam/blksnap/issues/2) diff --git a/pkg/deb/blksnap/copyright b/pkg/deb/blksnap/copyright index f6346e4..1ad8aa1 100644 --- a/pkg/deb/blksnap/copyright +++ b/pkg/deb/blksnap/copyright @@ -1,7 +1,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: blksnap Source: https://github.org/veeam/blksnap -Files-Excluded: pkg/ +Files-Excluded: patches/ pkg/ Files: * Copyright: 2022 Veeam Software Group GmbH From a69e25f2391319052b0588e71f8ffe45ee0d21b2 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Fri, 17 Nov 2023 09:54:56 +0100 Subject: [PATCH 3/4] some fixes to cover of next patches serie spotted thanks to languagetool --- .../lk6.7-rc1-v2/v6-0000-cover-letter.patch | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/patches/lk6.7-rc1-v2/v6-0000-cover-letter.patch b/patches/lk6.7-rc1-v2/v6-0000-cover-letter.patch index e22b383..1f9a7fb 100644 --- a/patches/lk6.7-rc1-v2/v6-0000-cover-letter.patch +++ b/patches/lk6.7-rc1-v2/v6-0000-cover-letter.patch @@ -5,20 +5,20 @@ Subject: [PATCH v6 00/11] blksnap - block devices snapshots module Hi all. -I am happy to offer a improved version of the Block Devices Snapshots -Module. It allows to create non-persistent snapshots of any block devices. +I am happy to offer an improved version of the Block Devices Snapshots +Module. It allows creating non-persistent snapshots of any block devices. The main purpose of such snapshots is to provide backups of block devices. See more in Documentation/block/blksnap.rst. The Block Device Filtering Mechanism is added to the block layer. This -allows to attach and detach block device filters to the block layer. -Filters allow to extend the functionality of the block layer. +allows attaching and detach block device filters to the block layer. +Filters allow extending the functionality of the block layer. See more in Documentation/block/blkfilter.rst. The tool, library and tests for working with blksnap can be found on github. Link: https://github.com/veeam/blksnap/tree/stable-v2.0 -In the new version, the method of saving shapshot difference has been +In the new version, the method of saving snapshot difference has been changed. Why this should have been done, Dave Chinner described in detail in the comments to the previous version. Link: https://lore.kernel.org/lkml/20230612135228.10702-1-sergei.shtepa@veeam.com/T/#mfe9b8f46833011deea4b24714212230ac38db978 @@ -36,10 +36,10 @@ v6 changes: device in these sector ranges. Now saving and reading data is done using 'VFS' using vfs_iter_write() and vfs_iter_read() functions. This allows not to depend on the filesystem and use, for example, tmpfs. Using an - unnamed temporary file allows to hide it from other processes and + unnamed temporary file allows hiding it from other processes and automatically release it when the snapshot is closed. - However, now the module does not allow to add a block device to the - snapshot on which the difference stoarge is located. There is no way to + However, now the module does not allow adding a block device to the + snapshot on which the difference storage is located. There is no way to ensure the immutability of file metadata when writing data to a file. This means that the metadata of the filesystem may change, which may cause damage to the snapshot. @@ -66,7 +66,7 @@ v4 changes: - Fixed a problem with the lack of protection against re-adding a block device to a snapshot. - Fixed a bug in the algorithm of allocating the next bio for a chunk. - This problem was accurred on large disks, for which a chunk consists of + This problem was occurred on large disks, for which a chunk consists of at least two bio. - The ownership mechanism of the diff_area structure has been changed. This fixed the error of prematurely releasing the diff_area structure @@ -78,8 +78,8 @@ v4 changes: v3 changes: - New block device I/O controls BLKFILTER_ATTACH and BLKFILTER_DETACH allow to attach and detach filters. -- New block device I/O control BLKFILTER_CTL allow send command to attached - block device filter. +- New block device I/O control BLKFILTER_CTL allow sending command to + attached block device filter. - The copy-on-write algorithm for processing I/O units has been optimized and has become asynchronous. - The snapshot image reading algorithm has been optimized and has become From 857299472d890901d3e625448dacd16bab1ed619 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Fri, 17 Nov 2023 10:00:49 +0100 Subject: [PATCH 4/4] README: missed fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 584af06..069904e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ | Master branch is compatible only with latest work for [upstream kernel integration](https://github.com/veeam/blksnap/blob/master/doc/README-upstream-kernel.md#work-in-progress-and-news) | | For older blksnap version based on external module (actually used in production) see these branches: [VAL-6.1](https://github.com/veeam/blksnap/tree/VAL-6.1), [VAL-6.0](https://github.com/veeam/blksnap/tree/VAL-6.0), [stable-1.0](https://github.com/veeam/blksnap/tree/stable-v1.0) | | :information_source: To Veeam agent for linux users: | -| If you need only kernel module updated with latest kernel versions support and latest fixes for it [build kernel module](#how-to-build) from [VAL-6.0](https://github.com/veeam/blksnap/tree/VAL-6.0) or [VAL-6.1](https://github.com/veeam/blksnap/tree/VAL-6.1) based on your Veeam agent for linux version | +| If you need only kernel module updated with latest kernel versions support and latest fixes for it build kernel module from [VAL-6.0](https://github.com/veeam/blksnap/tree/VAL-6.0#how-to-build) or [VAL-6.1](https://github.com/veeam/blksnap/tree/VAL-6.1#how-to-build) branches based on your Veeam agent for linux version | # BLKSNAP - Block Devices Snapshots