Bug or Feature - that's the question :-)

Hi

I am using more than one disk for operation with QNX 4. And I
moved the whole /usr directory to the second disk. And I created
a link to the second disk, e.g.:

ln -fsv /disk2/usr /usr

in the root directory of disk1

This sometimes generates warnings or even errors, in particular when I
try to update my system from the QSSL CD-Rom.

Now I used an environment variable:

export QSSL_HOST=/

this generated strange behaviour for the (e.g.) ‘ls’ and others and it
reported me that it did not find (ls $QSSL_HOST/usr/whatever)

//usr/whatever

when I modified the above environment variable to

export QSSL_HOST=

it works fine and no further problem occurs

Question:

is this a shell/Fsys bug or feature ?

an answer might be interesting … :slight_smile:

Joerg Kampmann
IBK-Consult - (embedded Systems)
WWW: http://www.ibk-consult.de

J?rg Kampmann <joerg.kampmann@ibk-consult.de> wrote:

Hi

I am using more than one disk for operation with QNX 4. And I
moved the whole /usr directory to the second disk. And I created
a link to the second disk, e.g.:

ln -fsv /disk2/usr /usr

Try, instead,

“prefix -A /usr=/disk2/usr”, or even:

“prefix -A /usr//my_node/disk2/usr” to be extra safe.

in the root directory of disk1

This sometimes generates warnings or even errors, in particular when I
try to update my system from the QSSL CD-Rom.

Yup it could.


Now I used an environment variable:

export QSSL_HOST=/

this generated strange behaviour for the (e.g.) ‘ls’ and others and it
reported me that it did not find (ls $QSSL_HOST/usr/whatever)

//usr/whatever

Again that is expected – QNX uses // to label that the value following it
is a NODE number for QNX networking. (Posix allows special meaning to
be attributed to a leading //.)

export “QSSL_HOST=///” will always be safe.

when I modified the above environment variable to

export QSSL_HOST=

it works fine and no further problem occurs

Question:

is this a shell/Fsys bug or feature ?

pathname resolution feature. QNX native networking uses:

//2/bin to be /bin on node 2
//3/home/dagibbs to be /home/dagibbs on node 3

So, the leading // has special meaning – but only if it is exactly two /
characters.

-David

thanks - i’ll give it a try -

David Gibbs schrieb:

J?rg Kampmann <> joerg.kampmann@ibk-consult.de> > wrote:
Hi

I am using more than one disk for operation with QNX 4. And I
moved the whole /usr directory to the second disk. And I created
a link to the second disk, e.g.:

ln -fsv /disk2/usr /usr

Try, instead,

“prefix -A /usr=/disk2/usr”, or even:

“prefix -A /usr//my_node/disk2/usr” to be extra safe.

in the root directory of disk1

This sometimes generates warnings or even errors, in particular when I
try to update my system from the QSSL CD-Rom.

Yup it could.

Now I used an environment variable:

export QSSL_HOST=/

this generated strange behaviour for the (e.g.) ‘ls’ and others and it
reported me that it did not find (ls $QSSL_HOST/usr/whatever)

//usr/whatever

Again that is expected – QNX uses // to label that the value following it
is a NODE number for QNX networking. (Posix allows special meaning to
be attributed to a leading //.)

export “QSSL_HOST=///” will always be safe.

when I modified the above environment variable to

export QSSL_HOST=

it works fine and no further problem occurs

Question:

is this a shell/Fsys bug or feature ?

pathname resolution feature. QNX native networking uses:

//2/bin to be /bin on node 2
//3/home/dagibbs to be /home/dagibbs on node 3

So, the leading // has special meaning – but only if it is exactly two /
characters.

-David

Joerg Kampmann
IBK-Consult - (embedded Systems)
WWW: http://www.ibk-consult.de