link: http://www.l4l.be/index.php/linuxdocs/46-storage/112-iscsi-enterprise-target-installatie
Installatie
Zorg er voor dat de compiler en bijbehorende tools geinstalleerd staan, ook is openssl-dev nodig. Onder Ubuntu doe je dit met:
apt-get install build-essential libssl-dev
Download IETd, also-known-as iscsitarget:
wget http://downloads.sourceforge.net/project/iscsitarget/iscsitarget/0.4.17/iscsitarget-0.4.17.tar.gz
Pak het uit:
tar xzvf iscsitarget-0.4.17.tar.gz
cd iscsitarget-0.4.17
Als je nu zou willen compileren, dan loop je tegen het volgende probleem op:
iscsitarget-0.4.17/kernel/block-io.c: In function ‘blockio_open_path’:
iscsitarget-0.4.17/kernel/block-io.c:164: error: implicit declaration of function ‘open_bdev_excl’
iscsitarget-0.4.17/kernel/block-io.c:164: warning: assignment makes pointer from integer without a cast
iscsitarget-0.4.17/kernel/block-io.c: In function ‘blockio_detach’:
iscsitarget-0.4.17/kernel/block-io.c:328: error: implicit declaration of function ‘close_bdev_excl’
iscsitarget-0.4.17/kernel/block-io.o] Error 1
iscsitarget-0.4.17/kernel] Error 2
Met andere woorden er is een probleem... Open het bestand block-io.c in je favoriete editor, en ga naar regel 164. Daar staat:
bdev = open_bdev_excl(path, flags, THIS_MODULE);
Verander dit in:
bdev = open_bdev_exclusive(path, flags, THIS_MODULE);
Ook is er een verandering nodig in regel 328, voor het gemak geef ik hier de volledige verandering weer:
static void
blockio_detach(struct iet_volume *volume)
{
struct blockio_data *bio_data = volume->private;
int flags = FMODE_READ | (LUReadonly(volume) ? 0 : FMODE_WRITE);
if (bio_data->bdev)
close_bdev_exclusive(bio_data->bdev, flags);
kfree(bio_data->path);
kfree(volume->private);
}
Nu kun je compileren/installeren:
make
sudo make install
2010年1月19日 星期二
iscsitarget make error block-io.c
訂閱:
張貼留言 (Atom)
3 則留言:
張貼留言