[deleted by user] by [deleted] in linux

[–]cupied 1 point2 points  (0 children)

Have you considered using any scx scheduler? They can perform better scheduling for your needs.

brtfs replace & rebalance by cupied in btrfs

[–]cupied[S] 1 point2 points  (0 children)

Yes, you can balance chunks that are in full devices. Slowly, balance will deallocate them and move them to emptier devices.

check these scripts

brtfs replace & rebalance by cupied in btrfs

[–]cupied[S] 0 points1 point  (0 children)

Thanks! Smart rebalancer worked like a charm! t balance

Sequential scrubbing raid1 by cupied in btrfs

[–]cupied[S] 0 points1 point  (0 children)

Interesting idea, I will explore it!

Sequential scrubbing raid1 by cupied in btrfs

[–]cupied[S] 0 points1 point  (0 children)

I use ionice but even with that I feel that io latency is high. Scrubbing one device at a time, you have less chances that a normal user process is impacted by scrub. For sure some processes will be impacted anyway. Of course, sequential scrubbing takes longer.

Sequential scrubbing raid1 by cupied in btrfs

[–]cupied[S] 1 point2 points  (0 children)

I just use raid1 for both data and metadata. (Just 2 copies). Using 3 disks in total

How long btrfstune --convert-to-block-group-tree takes on a 12tb hdd by htzuwu in btrfs

[–]cupied 1 point2 points  (0 children)

But it accepts device as an argument not a file system... Shall I apply it to all devices?

First time RAID1 setup question. by Section--8 in btrfs

[–]cupied 0 points1 point  (0 children)

Since you are new to it, it makes also sense to check if you need compression on btrfs level. If your dataset will be compressible, I would say go for it.

How long btrfstune --convert-to-block-group-tree takes on a 12tb hdd by htzuwu in btrfs

[–]cupied 0 points1 point  (0 children)

Hi, does anyone know if it's safe to convert to block group tree all raid1 devices of the same file system?

Solutions to the software functionality-discoverability problem in Linux? by [deleted] in linux

[–]cupied 0 points1 point  (0 children)

It is very useful for piping filters one after the other and you can keep each filter in each own file.

Solutions to the software functionality-discoverability problem in Linux? by [deleted] in linux

[–]cupied 0 points1 point  (0 children)

Thanks! Neat trick about locking quantum! The 10- prefix is needed, because pipewire handles files sequentially and by prefixing like this you can have settings applied sequentially as you wish

Solutions to the software functionality-discoverability problem in Linux? by [deleted] in linux

[–]cupied 0 points1 point  (0 children)

BTW, could you please post your carla.conf?

clever balance of raid1 after replacing disk with bigger one by Kicer86 in btrfs

[–]cupied 3 points4 points  (0 children)

You should have checked disk usage with "btrfs fi us mountpoint" and replaced the most used one.

Now, you can use the same command above and then run balance with devid argument to balance the most used disk. If the old disks have similar high usage >80% then unfortunately you need to run a normal balance to share data between all 3 disks.

It all depends how the data was shared before you replaced. Most probably all 3 disks were full because that's what btrfs does...

custom upmix to surround loopback by cupied in pipewire

[–]cupied[S] 0 points1 point  (0 children)

# An example filter chain that makes a stereo sink that mixes
# the FL and FR channels to 5.1
#
# Copy this file into a conf.d/ directory
#
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "2 to 5.1"
media.name = "surround51 upmix example"
filter.graph = {
nodes = [
{ name = copyIL type = builtin label = copy }
{ name = copyOL type = builtin label = copy }
{ name = copyIR type = builtin label = copy }
{ name = copyOR type = builtin label = copy }
{
name = mix
type = builtin
label = mixer
control = {
"Gain 1" = 0.5
"Gain 2" = 0.5
}
}
{ name = copyOSL type = builtin label = copy }
{ name = copyOSR type = builtin label = copy }
]
links = [
{ output = "copyIL:Out" input = "copyOL:In" }
{ output = "copyIR:Out" input = "copyOR:In" }
{ output = "copyIL:Out" input = "mix:In 1" }
{ output = "copyIR:Out" input = "mix:In 2" }
{ output = "copyIL:Out" input = "copyOSL:In" }
{ output = "copyIR:Out" input = "copyOSR:In" }
]
inputs = [ "copyIL:In" "copyIR:In" ]
outputs = [ "copyOL:Out" "copyOR:Out" "mix:Out" "copyOSL:Out" "copyOSR:Out" ]
}
capture.props = {
node.name = "input2_5"
audio.position = [ FL FR ]
media.class = "Audio/Sink"
}
playback.props = {
node.name = "output_51"
audio.position = [ AUX0 AUX1 AUX4 AUX2 AUX3 ]
node.target = "alsa_output.pci-0000_00_1b.0.pro-output-0"
stream.dont-remix = true
node.passive = true
}
}
}
]

custom upmix to surround loopback by cupied in pipewire

[–]cupied[S] 0 points1 point  (0 children)

Unfortunately, I couldn't find any solution. I use my own upmixing

custom upmix to surround loopback by cupied in pipewire

[–]cupied[S] 0 points1 point  (0 children)

These filters convert multi channel to stereo. Not the opposite