| fo.inodes?, orphans(fs, ri).inodes?, afs-cons(abs-dirs(fs, ri), abs-files(fs, ri)), file-node-cons(fs, ri), log-cons(log, fs), orphans-cons(fs, ri, orphans(fs, ri)), replay-cons-strong(fs, ri, orphans(fs, ri), fi, fo, log), ri-inj(fi), ri-inj(ri), ubifs-cons(fs, ri, orphans(fs, ri), fi, fo, log), inodekey(m) ∈ ri, buf-opt0.some? → # buf-opt0.buf = VFS_PAGE_SIZE, asynced → boolvar ⊦ 0 = fs[ri[inodekey(m)]].nsubdirs, fs[ri[inodekey(m)]].directory |
⊦ file-node-cons(fs, ri) ↔ (∀ ino. inodekey(ino) ∈ ri ∧ ¬ fs[ri[inodekey(ino)]].directory → fs[ri[inodekey(ino)]].nsubdirs = 0)
orphans(fs, ri).inodes?, fo.inodes?, afs-cons(abs-dirs(fs, ri), abs-files(fs, ri)), log-cons(log, fs), orphans-cons(fs, ri, orphans(fs, ri)), replay-cons-strong(fs, ri, orphans(fs, ri), fi, fo, log), ri-inj(ri), ri-inj(fi), ubifs-cons(fs, ri, orphans(fs, ri), fi, fo, log), inodekey(m) ∈ ri, asynced → boolvar, buf-opt0.some? → # buf-opt0.buf = VFS_PAGE_SIZE, ∀ ino. inodekey(ino) ∈ ri ∧ ¬ fs[ri[inodekey(ino)]].directory → fs[ri[inodekey(ino)]].nsubdirs = 0 ⊦ 0 = fs[ri[inodekey(m)]].nsubdirs, fs[ri[inodekey(m)]].directory
Used terms: ri, fs