SLIDE 8 TU Dresden EIO: Error Checking is Occasionally Correct
EXAMPLE: HFS
8
free_exts __ext_read_ext brec_find __brec_find bmap_alloc extend_file ext_read_ext add_ext brec_read get_blocks get_block file_lookup find_init
A
part_find fill_super
B
cat_find_brec mdb_get get_last_sess lookup
C
brec_goto brec_updt_prnt
D E
__ext_write_ext cat_delete
G
free_fork
F R S
getxattr setxattr cat_create
H
file_trunc
I J K
__ext_cache_ext write_inode
M
ext_write_ext
L
mkdir rmdir unlink create brec_rmv
N
rename cat_move
P
readdir
O
brec_insert
Q
LEGEND
function Error-broken termination endpoint function Generation endpoint function Propagate function and generation endpoint function Propagate function
termination endpoint B A Function A calls function B (and error-code flows from B to A) Error channel Broken channel (tagged with violation label)
Viol #
1 2 3 4 5 6 7