Open lurifn opened 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:
~/teste
mesmo depois do diretório ser apagadols -la
não lista nem o .
nem o ..
~/teste
e verificar que ele está lá com o ls -la
, e o terminal 1 continuar em ~/teste
, o terminal 1 continua na versão "antiga" do diretório que havia sido apagado
Tentei fazer persistência de arquivos e meu programa ficou assim:
Se não fizer essas coisas da erro de transporte. Sabe explicar pq?