50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Agenda - Filesystem Fault Semantics
|
|
|
|
## Problema
|
|
|
|
O dominio `fs` certamente precisara de politica de fault propria, mas ainda depende de duas discussoes anteriores:
|
|
|
|
- a decisao `003` sobre transporte de bytes;
|
|
- a agenda `013` sobre superficie/semantica de memcard para `game`;
|
|
- a agenda `014` sobre superficie/semantica de `home` para `app`.
|
|
|
|
Discutir fault semantics antes disso tende a cristalizar classificacao em cima de uma API que ainda pode mudar.
|
|
|
|
## Alvo da Discussao
|
|
|
|
Fechar a politica de fault de `fs` somente depois das agendas `013` e `014`.
|
|
|
|
## O Que Precisa Ser Definido
|
|
|
|
1. Fronteira entre `status` e `Trap` em `fs`.
|
|
2. Politica para:
|
|
- handle invalido;
|
|
- path invalido;
|
|
- arquivo ausente;
|
|
- permissao negada;
|
|
- EOF;
|
|
- escrita parcial;
|
|
- storage full;
|
|
- mount indisponivel.
|
|
3. Integracao com o protocolo de bytes da decisao `003`.
|
|
4. Shape final de retorno das operacoes de `fs`.
|
|
|
|
## Dependencias
|
|
|
|
- `../decisions/003-vm-owned-byte-transfer-protocol.md`
|
|
- `../specs/16a-syscall-policies.md`
|
|
- `013-game-memcard-slots-surface-and-semantics.md`
|
|
- `014-app-home-filesystem-surface-and-semantics.md`
|
|
|
|
## Regra de Sequenciamento
|
|
|
|
Esta agenda nao deve ser discutida antes da `013` e da `014`.
|
|
|
|
## Critério de Saida Desta Agenda
|
|
|
|
Pode virar PR quando houver decisao escrita sobre:
|
|
|
|
- matriz de `status`/`Trap`/`Panic` para `fs`;
|
|
- integracao final com `read`/`write`;
|
|
- relacao entre semantica funcional de `fs` e fault semantics.
|