MARS + pipe filesystem II

Miroslav BENES mbenes na tenez.cz
Pondělí Červen 4 15:46:07 CEST 2001


Preji krasny den !

Jak uz jsme psal drive, pokousim se zprovoznit pipe-filesystem na 
mars-u.  Prvotni chybicka byla u me }problem s velkymi a malymi 
pismeny), takze ted jsem o neco dal. Presto to porad jeste neni ono.

Jako skript pouzivam toto :

#!/bin/bash

case "$1" in
  'CREAT')
    echo "`basename $0` $1 $2 $3 $4 $5" `date`  >>/tmp/mars-pipe 
    ;;
  'WRITE')
    echo "`basename $0` $1 $2 $3 $4 $5" `date` >>/tmp/mars-pipe
    ;; 
  READ')
    echo "`basename $0` $1 $2 $3 $4 $5" `date` >>/tmp/mars-pipe
    cat /var/log/mars_nwe.log
    ;;
  *)
    echo "`basename $0` $1 $2 $3 $4 $5" `date` >>/tmp/mars-pipe
    ;; 
esac


Neboli vsechny pristupy se zapisuji do souboru /tmp/mars-pipe a navic 
pri pokusu o cteni by se mel vracel LOG od marse.

a) cteni
v klientovi (DOS) si namapuju prislusny svazek na L: a zadam prikaz 
(nazev skriptu je test) :

C:\>copy L:\test c:\mars.log
        1 zkopírovaných souborů

V zaznamu se objevi :

test READ 1 12610       Po čen 4 12:47:02 CEST 2001

Tedy vypada to, ze prvni parametr je operace (READ), druhy je cislo 
pripojeni a treti je PID vlakna nwconn.

Problem ale je, ze soubor se neprenese cely :
....
06.04,12:32:09 NWB 0  0:check_compress_bindery after qsort 
06.0<EOF>

Tady je to utnute a ma to delku presne 512 B. Co delam spatne ? 
Domnival jsem se, ze prikaz "cat" prenese data na standardni vystup, 
ktery se v tomto pripade preda klientovi. Ale asi se vloudila 
chybicka. Jaky by mel byt spravny postup ?


Druhy dotaz - jak se do takove roury ma mars-u zapisuje ?

Zkousel jsem vsechno mozne :


C:\>echo "abcd" >L:\test
Chyba při vytváření souboru
(neudela nic)


C:\>echo "abcd" >>L:\test
(nehlasi chybu)
v "logu" /tmp/mars-pipe je :
test READ 1 12610       Po čen 4 12:53:49 CEST 2001


C:\>copy c:\autoexec.bat l:\test
Přístup odepřen  - l:\test
        0 zkopírovaných souborů
(neudela nic)


C:\>copy c:\autoexec.bat >l:\test
Chyba při vytváření souboru
(neudela nic)


C:\>copy c:\autoexec.bat >>l:\test
(hlaseni klienta "out of disk space...")
Soubor nelze kopírovat do sebe sama
Nedostatek místa na disku
v "logu" /tmp/mars-pipe je :
test READ 1 12610       Po čen 4 12:55:42 CEST 2001

V log-u mars-e je obvykle hlaska :
06.04,12:55:51 NWC 1  48:Got SIG_PIPE

Pritom jak adresar tak ta davka maji prava 777, takze nechapu puvod 
hlasky "pristup odepren". 

Jak se ma do te roury zapisovat ? A proc hlasi, ze ten "soubor" ma 
velikost 2,065,400,459 B ? 

Diky za kazdy napad.






--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------


Další informace o konferenci Linux