Brought back the opened namespace
- lfsr_isopened -> lfsr_opened_isopen - lfsr_addopened -> lfsr_opened_add - lfsr_removeopened -> lfsr_opened_remove - lfsr_mid_isopened -> lfsr_mid_isopen
This commit is contained in:
@@ -5236,7 +5236,7 @@ static int lfsr_mdir_suplookup(lfs_t *lfs, const lfsr_mdir_t *mdir,
|
||||
}
|
||||
|
||||
// track opened mdirs to keep state in-sync
|
||||
static bool lfsr_isopened(lfs_t *lfs, const lfsr_opened_t *o) {
|
||||
static bool lfsr_opened_isopen(lfs_t *lfs, const lfsr_opened_t *o) {
|
||||
for (lfsr_opened_t *o_ = lfs->opened; o_; o_ = o_->next) {
|
||||
if (o_ == o) {
|
||||
return true;
|
||||
@@ -5246,14 +5246,14 @@ static bool lfsr_isopened(lfs_t *lfs, const lfsr_opened_t *o) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static void lfsr_addopened(lfs_t *lfs, lfsr_opened_t *o) {
|
||||
LFS_ASSERT(!lfsr_isopened(lfs, o));
|
||||
static void lfsr_opened_add(lfs_t *lfs, lfsr_opened_t *o) {
|
||||
LFS_ASSERT(!lfsr_opened_isopen(lfs, o));
|
||||
o->next = lfs->opened;
|
||||
lfs->opened = o;
|
||||
}
|
||||
|
||||
static void lfsr_removeopened(lfs_t *lfs, lfsr_opened_t *o) {
|
||||
LFS_ASSERT(lfsr_isopened(lfs, o));
|
||||
static void lfsr_opened_remove(lfs_t *lfs, lfsr_opened_t *o) {
|
||||
LFS_ASSERT(lfsr_opened_isopen(lfs, o));
|
||||
for (lfsr_opened_t **o_ = &lfs->opened; *o_; o_ = &(*o_)->next) {
|
||||
if (*o_ == o) {
|
||||
*o_ = (*o_)->next;
|
||||
@@ -5262,7 +5262,7 @@ static void lfsr_removeopened(lfs_t *lfs, lfsr_opened_t *o) {
|
||||
}
|
||||
}
|
||||
|
||||
static bool lfsr_mid_isopened(lfs_t *lfs, lfsr_smid_t mid) {
|
||||
static bool lfsr_mid_isopen(lfs_t *lfs, lfsr_smid_t mid) {
|
||||
for (lfsr_opened_t *o = lfs->opened; o; o = o->next) {
|
||||
// we really only care about regular open files here, all
|
||||
// others are either transient (dirs) or fake (orphans)
|
||||
@@ -8343,7 +8343,7 @@ static int lfsr_fs_fixorphans(lfs_t *lfs) {
|
||||
|
||||
while (true) {
|
||||
// is this mid opened? skip
|
||||
if (!lfsr_mid_isopened(lfs, mdir.mid)) {
|
||||
if (!lfsr_mid_isopen(lfs, mdir.mid)) {
|
||||
// are we an orphaned file?
|
||||
err = lfsr_mdir_lookup(lfs, &mdir, LFSR_TAG_ORPHAN,
|
||||
NULL);
|
||||
@@ -8644,7 +8644,7 @@ int lfsr_remove(lfs_t *lfs, const char *path) {
|
||||
}
|
||||
|
||||
// are we removing an opened file?
|
||||
bool zombie = lfsr_mid_isopened(lfs, mdir.mid);
|
||||
bool zombie = lfsr_mid_isopen(lfs, mdir.mid);
|
||||
// adjust grm rid if grm is on the same mdir as our dir
|
||||
if (!zombie
|
||||
&& lfsr_mid_bid(lfs, grm.rms[0]) == lfsr_mid_bid(lfs, mdir.mid)
|
||||
@@ -8966,15 +8966,15 @@ int lfsr_dir_open(lfs_t *lfs, lfsr_dir_t *dir, const char *path) {
|
||||
}
|
||||
|
||||
// add to tracked mdirs
|
||||
lfsr_addopened(lfs, &dir->p);
|
||||
lfsr_addopened(lfs, &dir->b);
|
||||
lfsr_opened_add(lfs, &dir->p);
|
||||
lfsr_opened_add(lfs, &dir->b);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int lfsr_dir_close(lfs_t *lfs, lfsr_dir_t *dir) {
|
||||
// remove from tracked mdirs
|
||||
lfsr_removeopened(lfs, &dir->p);
|
||||
lfsr_removeopened(lfs, &dir->b);
|
||||
lfsr_opened_remove(lfs, &dir->p);
|
||||
lfsr_opened_remove(lfs, &dir->b);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -9383,7 +9383,7 @@ int lfsr_file_opencfg(lfs_t *lfs, lfsr_file_t *file,
|
||||
}
|
||||
|
||||
// add to tracked mdirs
|
||||
lfsr_addopened(lfs, &file->m);
|
||||
lfsr_opened_add(lfs, &file->m);
|
||||
return 0;
|
||||
|
||||
failed:;
|
||||
@@ -9415,7 +9415,7 @@ int lfsr_file_close(lfs_t *lfs, lfsr_file_t *file) {
|
||||
}
|
||||
|
||||
// remove from tracked mdirs
|
||||
lfsr_removeopened(lfs, &file->m);
|
||||
lfsr_opened_remove(lfs, &file->m);
|
||||
|
||||
// clean up memory
|
||||
if (!file->cfg->buffer) {
|
||||
@@ -9426,7 +9426,7 @@ int lfsr_file_close(lfs_t *lfs, lfsr_file_t *file) {
|
||||
//
|
||||
// make sure we check _after_ removing ourselves
|
||||
if (lfsr_f_isorphan(file->m.flags)
|
||||
&& !lfsr_mid_isopened(lfs, file->m.mdir.mid)) {
|
||||
&& !lfsr_mid_isopen(lfs, file->m.mdir.mid)) {
|
||||
// this gets a bit tricky, since we're not able to write to the
|
||||
// filesystem if we're rdonly or desynced, fortunately we have
|
||||
// a few tricks
|
||||
|
||||
+40
-40
@@ -2201,14 +2201,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "c", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0c", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// insert a new entry, this should update our neighbors
|
||||
lfsr_mdir_t mdir;
|
||||
@@ -2238,8 +2238,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2257,14 +2257,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "b", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0b", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// try removing left neighbor
|
||||
lfsr_mdir_t mdir;
|
||||
@@ -2285,8 +2285,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2304,14 +2304,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "b", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0b", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// try removing right neighbor
|
||||
lfsr_mdir_t mdir;
|
||||
@@ -2332,8 +2332,8 @@ code = '''
|
||||
assert(left.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(left.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2353,14 +2353,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "d", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0d", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2401,8 +2401,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2422,14 +2422,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "e", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0e", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2481,8 +2481,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2502,14 +2502,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "b", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0b", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// force mroot to compact twice, this should extend the mroot
|
||||
lfsr_mdir_t old_mroot = lfs.mroot;
|
||||
@@ -2535,8 +2535,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2558,14 +2558,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "d", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0d", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2620,8 +2620,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2643,14 +2643,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "d", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0d", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2705,8 +2705,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2726,14 +2726,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "f", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0f", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2801,8 +2801,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
@@ -2822,14 +2822,14 @@ code = '''
|
||||
&left.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &left.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0a", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &left);
|
||||
lfsr_opened_add(&lfs, &left);
|
||||
|
||||
lfsr_opened_t right = {.type=0};
|
||||
lfsr_mtree_namelookup(&lfs, 0, "e", 1,
|
||||
&right.mdir, NULL, NULL) => LFS_ERR_NOENT;
|
||||
lfsr_mdir_commit(&lfs, &right.mdir, LFSR_ATTRS(
|
||||
LFSR_ATTR(REG, +1, BUF("\0e", 2)))) => 0;
|
||||
lfsr_addopened(&lfs, &right);
|
||||
lfsr_opened_add(&lfs, &right);
|
||||
|
||||
// create 2 large entries that needs to be uninlined and split
|
||||
uint8_t buffer[SIZE];
|
||||
@@ -2890,8 +2890,8 @@ code = '''
|
||||
assert(right.mdir.rbyd.trunk == mdir.rbyd.trunk);
|
||||
assert(right.mdir.rbyd.cksum == mdir.rbyd.cksum);
|
||||
|
||||
lfsr_removeopened(&lfs, &left);
|
||||
lfsr_removeopened(&lfs, &right);
|
||||
lfsr_opened_remove(&lfs, &left);
|
||||
lfsr_opened_remove(&lfs, &right);
|
||||
lfsr_unmount(&lfs) => 0;
|
||||
'''
|
||||
|
||||
|
||||
Reference in New Issue
Block a user