Старые наработки
Не знаю насколько оно ещё актуально, но раньше пригодилось.
- 2 патча для nbd-server'а, чистящий difffile если клиент "ушёл не попрощавшись". Актуально для v2.9.16
- hook для initrd, устанавливающий время при загрузке. полезен для дубового железа с дохлой батарейкой
--- a/nbd-server.c
+++ b/nbd-server.c
@@ -1969,6 +1969,12 @@ void serveconnection(CLIENT *client) {
close(client->transactionlogfd);
client->transactionlogfd = -1;
}
+ /* if client gone without sending NBD_CMD_DISC */
+ if (-1 == client->difffile)
+ {
+ close(client->difffile);
+ unlink(client->difffile);
+ }
}
/**
--- a/nbd-server.c 2012-04-08 02:49:51.847637768 +1100
+++ b/nbd-server.c 2012-04-08 02:51:48.189603324 +1100
@@ -1458,6 +1458,11 @@
mainloop(client);
do_run(client->server->postrun, client->exportname);
+ /* if client gone without sending NBD_CMD_DISC */
+ if (-1 == client->difffile) {
+ close(client->difffile);
+ unlink(client->difffile);
+ }
}
/**
#!/bin/sh
# We don't have any prerequirements
case $1 in
prereqs)
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /usr/sbin/ntpdate /sbin
for x in $(cat /proc/cmdline); do
case $x in
ntp-server*)
NTP_SERVER="${x#ntp-server=}"
;;
esac
done
if [ -z "$NTP_SERVER" ]; then
exit 0
fi
. /scripts/functions
log_begin_msg "Syncing local time"
configure_networking
/sbin/ntpdate "$NTP_SERVER"