ufabc-bcc / 2019.Q1.SO.BrisaFS

Projeto de Programação - BrisaFS
3 stars 5 forks source link

Erros de transporte/mount #2

Open lurifn opened 5 years ago

lurifn commented 5 years ago

Tentei fazer persistência de arquivos e meu programa ficou assim:

Se não fizer essas coisas da erro de transporte. Sabe explicar pq?

francesquini commented 5 years ago

Toda vez que você roda o BrisaFS ele associa uma estrutura de dados do FUSE no VFS (https://pt.wikipedia.org/wiki/Sistema_de_arquivos_virtual).

Quando você reexecuta o seu programa, uma nova estrutura é associada. O problema acontece porque o seu terminal ainda está associado ao antigo.

Em outras palavras, o seu diretório de trabalho não é definido pelo nome do diretório que você está, mas para um ponteiro para tal estrutura de dados.

Algo semelhante ocorre quando você faz isso:

Terminal 1:

~ $ mkdir teste
~ $ cd teste
~/teste $ touch esse_arquivo_eh_magico
~/teste $ ls -la
total 0
drwxr-xr-x  2 emilio emilio  60 Apr 15 08:39 .
drwxrwxrwt 15 root   root   440 Apr 15 08:39 ..
-rw-r--r--  1 emilio emilio   0 Apr 15 08:39 esse_arquivo_eh_magico
~/teste $

Em seguida, no terminal 2: ~ $ rm -fr teste

Em seguida, de volta ao terminal 1:

~/teste $ touch esse_arquivo_eh_magico
touch: cannot touch 'esse_arquivo_eh_magico': No such file or directory
~/teste $ ls -la
total 0
$

No terminal 2:

~ $ mkdir teste
~ $ cd teste
~/teste $ touch agora_sim_sqn
$ ls -la
total 0
drwxr-xr-x  2 emilio emilio  60 Apr 15 08:46 .
drwxrwxrwt 15 root   root   440 Apr 15 08:46 ..
-rw-r--r--  1 emilio emilio   0 Apr 15 08:46 agora_sim_sqn
$

No terminal 1:

~/teste $ ls -la
total 0
$

Note que: