mirror of
https://codeberg.org/wonky/udev-usb-sync.git
synced 2024-09-19 23:30:37 +02:00
added user config - trigger script from udev rule
This commit is contained in:
parent
a7c6154c4c
commit
857d338d03
5 changed files with 54 additions and 11 deletions
12
.SRCINFO
12
.SRCINFO
|
@ -1,13 +1,17 @@
|
||||||
pkgbase = udev-usb-sync
|
pkgbase = udev-usb-sync
|
||||||
pkgdesc = Finetune write cache when USB storage device is plugged
|
pkgdesc = Fine tune write cache when USB storage device is plugged
|
||||||
pkgver = 0.2
|
pkgver = 0.3
|
||||||
pkgrel = 2
|
pkgrel = 1
|
||||||
url = https://codeberg.org/wonky/udev-usb-sync
|
url = https://codeberg.org/wonky/udev-usb-sync
|
||||||
arch = any
|
arch = any
|
||||||
license = MIT
|
license = MIT
|
||||||
depends = hdparm
|
depends = hdparm
|
||||||
provides = udev-usb-sync
|
provides = udev-usb-sync
|
||||||
source = 99-usb-sync.rules
|
source = 99-usb-sync.rules
|
||||||
sha256sums = cc300e97e3ea8b0bf6fa46fa93bef9cc42218676955cb3b7fa7e2706d76cf9db
|
source = udev-usb-sync.sh
|
||||||
|
source = udev-usb-sync.conf
|
||||||
|
sha256sums = 6b4d422f1b8579ac172c82099a80201167a635c2b699639e59420ab87867a035
|
||||||
|
sha256sums = 4d3588b241d5214faeeac021668627e115e69f62b28454f351daa532082f6324
|
||||||
|
sha256sums = bc902da2c453355e1dbc3a970a564daf71d41c6278dc771a930aa3badb90e453
|
||||||
|
|
||||||
pkgname = udev-usb-sync
|
pkgname = udev-usb-sync
|
||||||
|
|
|
@ -7,4 +7,6 @@ ACTION=="add|change", KERNEL=="sd[a-z]", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/bi
|
||||||
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-strict-limit
|
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-strict-limit
|
||||||
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-max-ratio
|
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-max-ratio
|
||||||
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-max-bytes
|
# https://docs.kernel.org/admin-guide/abi-testing.html#abi-sys-class-bdi-bdi-max-bytes
|
||||||
ACTION=="add|change", KERNEL=="sd[a-z]", ENV{ID_USB_TYPE}=="disk", RUN+="/usr/bin/echo 1 > /sys/block/%k/bdi/strict_limit", RUN+="/usr/bin/echo 50 > /sys/block/%k/bdi/max_ratio", RUN+="/usr/bin/echo 16777216 > /sys/block/%k/bdi/max_bytes"
|
# implemented using /usr/bin/udev-usb-tweak.sh
|
||||||
|
# optional configuration in /etc/udev-usb-tweak/udev-usb-tweak.sh
|
||||||
|
ACTION=="add|change", KERNEL=="sd[a-z]", ENV{ID_USB_TYPE}=="disk", RUN+=/usr/bin/udev-usb-tweak.sh %k"
|
||||||
|
|
18
PKGBUILD
18
PKGBUILD
|
@ -1,17 +1,23 @@
|
||||||
# Maintainer: root.nix.dk
|
# Maintainer: root.nix.dk
|
||||||
pkgname='udev-usb-sync'
|
pkgname='udev-usb-sync'
|
||||||
pkgver=0.2
|
pkgver=0.3
|
||||||
pkgrel=2
|
pkgrel=1
|
||||||
pkgdesc='Finetune write cache when USB storage device is plugged'
|
pkgdesc='Fine tune write cache when USB storage device is plugged'
|
||||||
arch=('any')
|
arch=('any')
|
||||||
url='https://codeberg.org/wonky/udev-usb-sync'
|
url='https://codeberg.org/wonky/udev-usb-sync'
|
||||||
license=('MIT')
|
license=('MIT')
|
||||||
depends=('hdparm')
|
depends=('hdparm')
|
||||||
provides=("${pkgname}")
|
provides=("${pkgname}")
|
||||||
source=('99-usb-sync.rules')
|
source=('99-usb-sync.rules' 'udev-usb-sync.sh' 'udev-usb-sync.conf')
|
||||||
sha256sums=('cc300e97e3ea8b0bf6fa46fa93bef9cc42218676955cb3b7fa7e2706d76cf9db')
|
sha256sums=('6b4d422f1b8579ac172c82099a80201167a635c2b699639e59420ab87867a035'
|
||||||
|
'4d3588b241d5214faeeac021668627e115e69f62b28454f351daa532082f6324'
|
||||||
|
'bc902da2c453355e1dbc3a970a564daf71d41c6278dc771a930aa3badb90e453')
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
install -d -m755 $pkgdir/etc/udev/rules.d
|
install -d -m755 $pkgdir/etc/udev/rules.d
|
||||||
cp ${startdir}/99-usb-sync.rules "${pkgdir}/etc/udev/rules.d"
|
install -d -m755 $pkgdir/etc/$pkgname
|
||||||
|
install -d -m755 $pkgdir/usr/bin
|
||||||
|
cp ${srcdir}/99-usb-sync.rules "${pkgdir}/etc/udev/rules.d"
|
||||||
|
cp ${srcdir}/${pkgname}.sh "${pkgdir}/usr/bin"
|
||||||
|
cp ${srcdir}/${pkgname}.conf "${pkgdir}/etc/${pkgname}"
|
||||||
}
|
}
|
||||||
|
|
5
udev-usb-sync.conf
Normal file
5
udev-usb-sync.conf
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# default values
|
||||||
|
#use_tweaks=1
|
||||||
|
#max_bytes=16777216
|
||||||
|
#max_ratio=50
|
||||||
|
#strict_limit=1
|
26
udev-usb-sync.sh
Executable file
26
udev-usb-sync.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
#
|
||||||
|
# script to tweak USB storage device filesystem sync
|
||||||
|
#
|
||||||
|
# soures /etc/tweak-usb/tweaks.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
use_tweaks=1
|
||||||
|
max_bytes=16777216
|
||||||
|
max_ration=50
|
||||||
|
strict_limit=1
|
||||||
|
|
||||||
|
# read user config
|
||||||
|
source /etc/tweak-usb/tweaks.conf
|
||||||
|
|
||||||
|
if [[ "$use_tweaks" = 0 ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$1" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$max_bytes" > "/dev/block/$1/bdi/max_bytes"
|
||||||
|
echo "$max_ration" > "/dev/block/$1/bdi/max_ratio"
|
||||||
|
echo "$strict_limit" > "/dev/block/$1/bdi/strict_limit"
|
Loading…
Reference in a new issue