main

Старые наработки

Не знаю насколько оно ещё актуально, но раньше пригодилось.

  • 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"