From: "GAUTIER Hervé" <herve.gautier@thalesgroup.com>
To: drbd-user@lists.linbit.com, drbd-dev@lists.linbit.com
Subject: [Drbd-dev] Re: [DRBD-user] DRBD 8.2.5 to 8.3.0 upgrade with make PREFIX=/usr/local/drbd error: symlink(/usr/local/drbd/etc/drbd.conf, /var/lib/drbd//drbd-minor-1.conf): No such file or directory
Date: Fri, 30 Jan 2009 17:22:14 +0100 [thread overview]
Message-ID: <49832936.8040802@thalesgroup.com> (raw)
In-Reply-To: <49830D03.50002@thalesgroup.com>
Hi again,
Well, I don't know what is this /var/lib/drbd directory, but here is a
patch in order to take in account the "make PREFIX=" command
Tell me if it is OK for you.
And so, last question, what is the aim of this directory ? I have seen
drbdadm create symbolic link to the configuration file, but why ?
--8<-------------------------------------------------
diff -Naur drbd-8.3.0/user/drbdadm_minor_table.c
drbd-8.3.0-debug/user/drbdadm_minor_table.c
--- drbd-8.3.0/user/drbdadm_minor_table.c 2009-01-30
16:19:08.000000000 +0100
+++ drbd-8.3.0-debug/user/drbdadm_minor_table.c 2009-01-30
16:43:32.000000000 +0100
@@ -40,7 +40,9 @@
#include <sys/stat.h>
#include <string.h>
-#define MINOR_TABLE_DIR "/var/lib/drbd/"
+#include "drbd_prefix.h"
+
+#define MINOR_TABLE_DIR "/var/lib/drbd"
#define MAX_MINOR 256
#define MAX_REGISTER_PATH_LEN 1024
@@ -49,7 +51,7 @@
* it is assumed that sprintf cannot fail :-] */
void linkname_from_minor(char *buf, int minor)
{
- sprintf(buf, "%s/drbd-minor-%d.conf", MINOR_TABLE_DIR, minor);
+ sprintf(buf, "%s%s/drbd-minor-%d.conf", DRBD_PREFIX,
MINOR_TABLE_DIR, minor);
}
int unregister_minor(int minor)
diff -Naur drbd-8.3.0/user/Makefile drbd-8.3.0-debug/user/Makefile
--- drbd-8.3.0/user/Makefile 2008-12-01 14:35:42.000000000 +0100
+++ drbd-8.3.0-debug/user/Makefile 2009-01-30 17:12:25.000000000 +0100
@@ -43,7 +43,11 @@
drbd_strings.c: ../drbd/drbd_strings.c
cp $^ $@
-drbdadm: $(drbdadm-obj)
+.PHONY: drbd_prefix.h
+drbd_prefix.h:
+ echo "#define DRBD_PREFIX \"$(PREFIX)\"" > drbd_prefix.h
+
+drbdadm: drbd_prefix.h $(drbdadm-obj)
$(CC) -o $@ $^
# for debugging:
@@ -66,6 +70,7 @@
$(CC) -o $@ $^
clean:
+ rm -f drbd_prefix.h
rm -f drbdadm_scanner.c drbdmeta_scanner.c
rm -f drbdsetup drbdadm drbdmeta drbdmeta_unfinished_rewrite *.o
rm -f drbd_buildtag.c drbd_strings.c
--8<-------------------------------------------------
GAUTIER Hervé a écrit :
>
> Hi !
>
> On a test machine, DRBD 8.2.5 was running, built from source with
> "make all && make install"
> Configuration file is /usr/local/drbd-8.2.5/etc/drbd.conf
> DRBD module is /lib/modules/`uname -r`/kernel/drivers/block/drbd.ko
> User DRBD tools drbd{adm|meta|setup}are in /sbin
> I have got a symbolic link /usr/local/drbd -> /usr/local/drbd-8.2.5
>
> Then I stop DRBD, put the 8.3.0 source in /usr/local/drbd-8.3.0 and
> replace the symbolic link /usr/local/drbd -> /usr/local/drbd-8.2.5
> with /usr/local/drbd -> /usr/local/drbd-8.3.0
> I have built DRBD 8.3.0 from source with "make PREFIX=/usr/local/drbd
> all && make PREFIX=/usr/local/drbd install".
> Configuration file is in /usr/local/drbd-8.3.0/etc/drbd.conf (same as
> before)
> DRBD module is /usr/local/drbd-8.3.0/lib/modules/`uname
> -r`/kernel/drivers/block/drbd.ko
> User DRBD tools drbd{adm|meta|setup}are in /usr/local/drbd-8.3.0/sbin
> At the installation I can see a new empty directory:
> /usr/local/drbd-8.3.0/var/lib/drbd
>
> What is this new directory ?
>
> Old module is always installed in /lib/modules/`uname
> -r`/kernel/drivers/block/drbd.ko but not used. Now I use insmod
> /usr/local/drbd-8.3.0/lib/modules/`uname
> -r`/kernel/drivers/block/drbd.ko and /proc/drbd show me 8.3.0
> PATH=/usr/local/drbd/sbin:$PATH in order to get first the new user tools
>
> Starting DRBD 8.3.0, using the resource defined under the 8.2.5
> version, all is OK, but when I issue the following commands, I have got:
>
> --8<-------------------------------------------------
> # lsmod | grep drbd
> # drbdadm -c /usr/local/drbd/etc/drbd.conf dstate drbd_resource1
> Consistent/DUnknown
> # insmod /usr/local/drbd/lib/modules/`uname
> -r`/kernel/drivers/block/drbd.ko
> # lsmod | grep drbd
> drbd 238516 0
> # drbdadm -c /usr/local/drbd/etc/drbd.conf dstate drbd_resource1
> Consistent/DUnknown
> # drbdadm -c /usr/local/drbd/etc/drbd.conf up drbd_resource1
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> # drbdadm -c /usr/local/drbd/etc/drbd.conf dstate drbd_resource1
> UpToDate/DUnknown
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> # drbdadm -c /usr/local/drbd/etc/drbd.conf cstate drbd_resource1
> WFConnection
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> # drbdadm -c /usr/local/drbd/etc/drbd.conf role drbd_resource1
> Secondary/Unknown
> symlink(/usr/local/drbd-8.3.0/etc/drbd.conf,
> /var/lib/drbd//drbd-minor-0.conf): No such file or directory
> --8<-------------------------------------------------
>
> So, I think my symbolic link /usr/local/drbd -> /usr/local/drbd-8.3.0
> is the problem, but I don't understand why ?
>
> I can't find any information about this new var/lib/drbd directory.
> Thank in advance for any clue.
>
> If it can help, here is my /usr/local/drbd/drbd.conf
>
> --8<-------------------------------------------------
> global {
> usage-count no;
> }
>
> common {
> net {
> after-sb-0pri discard-older-primary;
> after-sb-1pri discard-secondary;
> after-sb-2pri disconnect;
> }
> syncer {
> rate 31M;
> }
> }
>
> resource drbd_resource1 {
> protocol C;
>
> syncer {
> verify-alg crc32c;
> }
>
> disk {
> on-io-error detach;
> }
>
> on rh4-1 {
> device /dev/drbd0;
> disk /dev/cciss/c0d1;
> address 192.168.11.104:7789;
> meta-disk internal;
> }
> on rh4-2 {
> device /dev/drbd0;
> disk /dev/cciss/c0d1;
> address 192.168.11.105:7789;
> meta-disk internal;
> }
> }
> --8<-------------------------------------------------
>
>
>
--
Hervé
next parent reply other threads:[~2009-01-30 16:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <49830D03.50002@thalesgroup.com>
2009-01-30 16:22 ` GAUTIER Hervé [this message]
2009-01-30 16:30 ` [Drbd-dev] Re: [DRBD-user] DRBD 8.2.5 to 8.3.0 upgrade with make PREFIX=/usr/local/drbd error: symlink(/usr/local/drbd/etc/drbd.conf, /var/lib/drbd//drbd-minor-1.conf): No such file or directory GAUTIER Hervé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49832936.8040802@thalesgroup.com \
--to=herve.gautier@thalesgroup.com \
--cc=drbd-dev@lists.linbit.com \
--cc=drbd-user@lists.linbit.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.