nbd na Solarisu

Jan Kybic Jan.Kybic na epfl.ch
Čtvrtek Duben 6 20:16:17 CEST 2000


Ahoj,
	zacal jsem si hrat s nbd a rozbehl jsem server na
Solarisu (Sun Ultrasparc 30). Prikladam patch, treba by se to nekomu
hodilo. 

Dale mam dve otazky: Chtel bych nbd pouzit pro skupinu bezdiskovych
pocitacu (ve skutecnost disk maji, ale ja ho nesmim preformatovat),
jako root fs, pres initrd. Proto bych potreboval server, ktery zajisti
alespon minimalni bezpecnosti opatreni - seznam povolenych IP adres,
hesla v souboru a tak. Taky by bylo dobre mit jeden server pro nekolik
klientu a nikoli tak jak je to ted, jeden server na klienta. Udelal uz
to nekdo? Jestli ne, napisu to, ale nechtel jsem delat zbytecnou
praci.

Druha otazka: Kdyz skoncim s nbd, jak korektne ukoncim klienta? Zabit
se neda a blokuje mi server.

Diky,
	Honza

-- 
-------------------------------------------------------------------------
Jan Kybic <Jan.Kybic na epfl.ch>      BIG IOA DMT EPFL Lausanne, Switzerland
       or <kybic na ieee.org>         tel. work +41 (21) 693 5142
For PGP key see my WWW page.       http://bigwww.epfl.ch/kybic

diff nbd/cliserv.h nbd-jk/cliserv.h
43a44,45
> #define SOL_TCP IPPROTO_TCP
> 
46c48
< 	int size = 1;
---
> 	size_t size = 1;
52c54
< 	if (setsockopt(sock, SOL_TCP, TCP_NODELAY, &size, sizeof(int)) < 0)
---
> 	if (setsockopt(sock, SOL_TCP, TCP_NODELAY, (const void *)&size, sizeof(int)) < 0)
63c65
< 	const maxlen = 150;
---
> 	const int maxlen = 150;
69c71
< 		strcpy(s1 + (s2 - s), sys_errlist[errno]);
---
> 		strcpy(s1 + (s2 - s), strerror(errno));
74c76
< 		strcpy(s1 + (s2 - s), hstrerror(h_errno));
---
> 		strcpy(s1 + (s2 - s), strerror(errno));
diff nbd/nbd-server.c nbd-jk/nbd-server.c
26a27
> #include <strings.h>
44c45
< extern long long llseek(unsigned int, long long, unsigned int);
---
> // extern long long llseek(unsigned int, long long, unsigned int);



Další informace o konferenci Linux