Skip to content

Releases: siderolabs/go-blockdevice

v0.3.3

14 Jul 21:45
v0.3.3
fccee8b
Compare
Choose a tag to compare

go-blockdevice 0.3.3 (2022-06-27)

Welcome to the v0.3.3 release of go-blockdevice!

Please try out the release binaries and report any issues at
https://github.com/talos-systems/go-blockdevice/issues.

Contributors

  • Andrey Smirnov
  • Artem Chernyshev
  • Andrey Smirnov
  • Artem Chernyshev
  • Serge Logvinov
  • Andrew Rynhard
  • Andrew Rynhard
  • Matt Zahorik
  • Olli Janatuinen

Changes

51 commits

  • fccee8b chore: rekres the source, fix issues
  • d9c3a27 feat: support probing FAT12/FAT16 filesystems
  • b374eb4 fix: align partition to 1M boundary by default
  • ec428fe fix: lookup filesystem labels on the actual device path
  • 7b9de26 feat: read symlink fullpath in block device list function
  • 6928ee4 refactor: rewrite GPT serialize/deserialize functions
  • 0c7e429 refactor: simplify middle endian functions
  • 15b182d fix: return partition table not exist when trying to read an empty dev
  • b9517d5 fix: resize partition
  • 70d2865 fix: try to find cdrom disks
  • 667bf53 fix: revert gpt partition not found
  • d7d4cdd fix: gpt partition not found
  • 33afba3 fix: also open in readonly mode when running All lookup method
  • e367f9d feat: make probe always open blockdevices in readonly mode
  • d981156 fix: allow Build for Windows
  • fe24303 fix: perform correct PMBR partition calculations
  • 2ec0c3c fix: preserve the PMBR bootable flag when opening GPT partition
  • 87816a8 feat: align partition to minimum I/O size
  • c34b59f feat: expose more encryption options in the LUKS module
  • 30c2bc3 feat: mark MBR bootable
  • 1292574 fix: make disk type matcher parser case insensitive
  • b77400e fix: properly detect nvme and sd card disk types
  • 1d830a2 fix: revert mark the EFI partition in PMBR as bootable
  • bec914f fix: mark the EFI partition in PMBR as bootable
  • 776b37d feat: add options to probe disk by various sysblock parameters
  • bb3ad73 fix: align partition start to physical sector size
  • 8f976c2 feat: replace exec.Command with go-cmd module
  • 1cf7f25 fix: properly handle no child processes error from cmd.Wait
  • 04a9851 feat: implement luks encryption provider
  • b0375e4 feat: add an option to open block device with exclusive flock
  • 5a1c7f7 refactor: add devname into gpt.Partition, refactor probe package
  • f2728a5 fix: keep contents of PMBR when writing it
  • 2878460 fix: write second copy of partition entries
  • 943b08b fix: blockdevice reset should read partition table from disk
  • 5b4ee44 fix: ignore /dev/ram devices
  • 98754ec refactor: rewrite GPT library
  • 2a1baad fix: correctly build paths for mmcblk devices
  • 8076344 fix: return proper disk size from GetDisks function
  • 8742133 chore: add common method to list available disks using /sys/block
  • c4b5833 feat: implement "fast" wipe
  • b4e67d7 feat: return resize status from Resize() function
  • ceae64e fix: sync kernel partition table incrementally
  • 2cb9516 fix: return correct error value from blkpg functions
  • cebe43d refactor: expose InsertAt method via interface
  • c40dcd8 fix: properly inform kernel about partition deletion
  • bb8ac5d feat: implement disk wiping via several methods
  • 23fb7dc feat: expose partition name (label)
  • ff3a821 feat: implement 'InsertAt' method to insert partitions at any position
  • 3d1ce4f fix: calculate last lba of partition correctly
  • b71540f feat: copy initial version from talos-systems/talos
  • ca3c078 Initial commit

Changes since v0.3.2

0 commit

Dependency Changes

This release has no dependency changes

v0.3.2

27 May 17:35
v0.3.2
fccee8b
Compare
Choose a tag to compare

go-blockdevice 0.3.2 (2022-05-27)

Welcome to the v0.3.2 release of go-blockdevice!

Please try out the release binaries and report any issues at
https://github.com/talos-systems/go-blockdevice/issues.

Contributors

  • Andrey Smirnov
  • Artem Chernyshev
  • Andrey Smirnov
  • Artem Chernyshev
  • Serge Logvinov
  • Andrew Rynhard
  • Andrew Rynhard
  • Matt Zahorik
  • Olli Janatuinen

Changes

51 commits

  • fccee8b chore: rekres the source, fix issues
  • d9c3a27 feat: support probing FAT12/FAT16 filesystems
  • b374eb4 fix: align partition to 1M boundary by default
  • ec428fe fix: lookup filesystem labels on the actual device path
  • 7b9de26 feat: read symlink fullpath in block device list function
  • 6928ee4 refactor: rewrite GPT serialize/deserialize functions
  • 0c7e429 refactor: simplify middle endian functions
  • 15b182d fix: return partition table not exist when trying to read an empty dev
  • b9517d5 fix: resize partition
  • 70d2865 fix: try to find cdrom disks
  • 667bf53 fix: revert gpt partition not found
  • d7d4cdd fix: gpt partition not found
  • 33afba3 fix: also open in readonly mode when running All lookup method
  • e367f9d feat: make probe always open blockdevices in readonly mode
  • d981156 fix: allow Build for Windows
  • fe24303 fix: perform correct PMBR partition calculations
  • 2ec0c3c fix: preserve the PMBR bootable flag when opening GPT partition
  • 87816a8 feat: align partition to minimum I/O size
  • c34b59f feat: expose more encryption options in the LUKS module
  • 30c2bc3 feat: mark MBR bootable
  • 1292574 fix: make disk type matcher parser case insensitive
  • b77400e fix: properly detect nvme and sd card disk types
  • 1d830a2 fix: revert mark the EFI partition in PMBR as bootable
  • bec914f fix: mark the EFI partition in PMBR as bootable
  • 776b37d feat: add options to probe disk by various sysblock parameters
  • bb3ad73 fix: align partition start to physical sector size
  • 8f976c2 feat: replace exec.Command with go-cmd module
  • 1cf7f25 fix: properly handle no child processes error from cmd.Wait
  • 04a9851 feat: implement luks encryption provider
  • b0375e4 feat: add an option to open block device with exclusive flock
  • 5a1c7f7 refactor: add devname into gpt.Partition, refactor probe package
  • f2728a5 fix: keep contents of PMBR when writing it
  • 2878460 fix: write second copy of partition entries
  • 943b08b fix: blockdevice reset should read partition table from disk
  • 5b4ee44 fix: ignore /dev/ram devices
  • 98754ec refactor: rewrite GPT library
  • 2a1baad fix: correctly build paths for mmcblk devices
  • 8076344 fix: return proper disk size from GetDisks function
  • 8742133 chore: add common method to list available disks using /sys/block
  • c4b5833 feat: implement "fast" wipe
  • b4e67d7 feat: return resize status from Resize() function
  • ceae64e fix: sync kernel partition table incrementally
  • 2cb9516 fix: return correct error value from blkpg functions
  • cebe43d refactor: expose InsertAt method via interface
  • c40dcd8 fix: properly inform kernel about partition deletion
  • bb8ac5d feat: implement disk wiping via several methods
  • 23fb7dc feat: expose partition name (label)
  • ff3a821 feat: implement 'InsertAt' method to insert partitions at any position
  • 3d1ce4f fix: calculate last lba of partition correctly
  • b71540f feat: copy initial version from talos-systems/talos
  • ca3c078 Initial commit

Changes since v0.3.1

3 commits

  • fccee8b chore: rekres the source, fix issues
  • d9c3a27 feat: support probing FAT12/FAT16 filesystems
  • b374eb4 fix: align partition to 1M boundary by default

Dependency Changes

This release has no dependency changes

v0.3.1

28 Mar 14:56
v0.3.1
ec428fe
Compare
Choose a tag to compare
v0.3.1

v0.3.0

03 Mar 15:10
v0.3.0
7b9de26
Compare
Choose a tag to compare

What's Changed

  • refactor: simplify middle endian functions by @smira in #53
  • refactor: rewrite GPT serialize/deserialize functions by @smira in #54
  • feat: read symlink fullpath in block device list function by @Unix4ever in #55

Full Changelog: v0.2.5...v0.3.0

v0.2.5

06 Dec 14:00
v0.2.5
15b182d
Compare
Choose a tag to compare

go-blockdevice 0.2.5 (2021-12-06)

Welcome to the v0.2.5 release of go-blockdevice!

Please try out the release binaries and report any issues at
https://github.com/talos-systems/go-blockdevice/issues.

Contributors

  • Andrey Smirnov
  • Artem Chernyshev
  • Artem Chernyshev
  • Serge Logvinov
  • Andrew Rynhard
  • Andrew Rynhard
  • Andrey Smirnov
  • Matt Zahorik
  • Olli Janatuinen

Changes

44 commits

  • 15b182d fix: return partition table not exist when trying to read an empty dev
  • b9517d5 fix: resize partition
  • 70d2865 fix: try to find cdrom disks
  • 667bf53 fix: revert gpt partition not found
  • d7d4cdd fix: gpt partition not found
  • 33afba3 fix: also open in readonly mode when running All lookup method
  • e367f9d feat: make probe always open blockdevices in readonly mode
  • d981156 fix: allow Build for Windows
  • fe24303 fix: perform correct PMBR partition calculations
  • 2ec0c3c fix: preserve the PMBR bootable flag when opening GPT partition
  • 87816a8 feat: align partition to minimum I/O size
  • c34b59f feat: expose more encryption options in the LUKS module
  • 30c2bc3 feat: mark MBR bootable
  • 1292574 fix: make disk type matcher parser case insensitive
  • b77400e fix: properly detect nvme and sd card disk types
  • 1d830a2 fix: revert mark the EFI partition in PMBR as bootable
  • bec914f fix: mark the EFI partition in PMBR as bootable
  • 776b37d feat: add options to probe disk by various sysblock parameters
  • bb3ad73 fix: align partition start to physical sector size
  • 8f976c2 feat: replace exec.Command with go-cmd module
  • 1cf7f25 fix: properly handle no child processes error from cmd.Wait
  • 04a9851 feat: implement luks encryption provider
  • b0375e4 feat: add an option to open block device with exclusive flock
  • 5a1c7f7 refactor: add devname into gpt.Partition, refactor probe package
  • f2728a5 fix: keep contents of PMBR when writing it
  • 2878460 fix: write second copy of partition entries
  • 943b08b fix: blockdevice reset should read partition table from disk
  • 5b4ee44 fix: ignore /dev/ram devices
  • 98754ec refactor: rewrite GPT library
  • 2a1baad fix: correctly build paths for mmcblk devices
  • 8076344 fix: return proper disk size from GetDisks function
  • 8742133 chore: add common method to list available disks using /sys/block
  • c4b5833 feat: implement "fast" wipe
  • b4e67d7 feat: return resize status from Resize() function
  • ceae64e fix: sync kernel partition table incrementally
  • 2cb9516 fix: return correct error value from blkpg functions
  • cebe43d refactor: expose InsertAt method via interface
  • c40dcd8 fix: properly inform kernel about partition deletion
  • bb8ac5d feat: implement disk wiping via several methods
  • 23fb7dc feat: expose partition name (label)
  • ff3a821 feat: implement 'InsertAt' method to insert partitions at any position
  • 3d1ce4f fix: calculate last lba of partition correctly
  • b71540f feat: copy initial version from talos-systems/talos
  • ca3c078 Initial commit

Changes since v0.2.4

2 commits

  • 15b182d fix: return partition table not exist when trying to read an empty dev
  • b9517d5 fix: resize partition

Dependency Changes

This release has no dependency changes

v0.2.4

30 Sep 19:09
v0.2.4
70d2865
Compare
Choose a tag to compare
v0.2.4

v0.2.3

06 Aug 20:50
Compare
Choose a tag to compare
fix: perform correct PMBR partition calculations

My biggest concern is that the end of the partition was incorrectly
calculated for disk > 2TiB.

Signed-off-by: Andrey Smirnov <[email protected]>

v0.2.2

05 Aug 14:18
Compare
Choose a tag to compare
fix: preserve the PMBR bootable flag when opening GPT partition

Otherwise we set the flag when creating the partition table, but it gets
reset after `Open()` and `Write()`.

Signed-off-by: Andrey Smirnov <[email protected]>

v0.2.1

07 Jun 11:26
Compare
Choose a tag to compare
feat: mark MBR bootable

Similar to bec914ffdda42abcfe642bc2cdfc9fcda56a74ee but make it optional
instead.

Signed-off-by: Artem Chernyshev <[email protected]>

v0.2.0

27 Jan 16:53
Compare
Choose a tag to compare
feat: add an option to open block device with exclusive flock

The problem is the interaction of udevd and our code managing partition
table: udevd might trigger `BLKRRPART` ioctl concurrently with our code
which tries to sync partition table which leads to a mess.

With `flock(LOCK_EX)` udevd skips `BLKRRPART` syscall.

Signed-off-by: Andrey Smirnov <[email protected]>