Some ideas about brtfs for baalue

For a baalue-node we need some mechanism to deploy new cells (which is a raw binary). Okay thats easy, copy it via sftp or sshfs to a special partition on the device (via baalue -> QT based gui). But what if something went wrong? Okay we could copy the old bin to save it and then deploy the new one. That sound like a hook and not like a solution.

So my idea is to let the filesystem do the work and so i will try out brtfs. Btrfs has a nice feature called snapshots. My idea is to create subvolumes for every possible type of cell. Let say we want to use a bare-metal, a erika and a linux cell on the device. For every type of cell we create a subvolume, one for the bare-metal cell, one for erika and one for linux.

Now we want to update the bare-metal cell. So first we create a snapshot (brtfs snapshot …) and then copy the new cell via sftp/sshfs to the target. If something went wrong, we can recover to the „old“ snapshot via a simple btrfs command.

After some playing and testing with brtfs we will update the baalue-node image.

Concurrency and parallelism -> some general definition („taken“ from language go)

A concurrent language is a languade that make concurrency useful (go as an example).

  • composition of independently execution processing -> dealing with different things
    – is about structure
  • parrallelism -> simultaniously execution of …   -> doing different things at once
    – is about doing

Summary:
„Concurrency structures the things to be maybe executed in parallel“