summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index b32eb565e6b3..d19d6b18cd4e 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -131,7 +131,7 @@ int is_checkpointed_node(struct f2fs_sb_info *sbi, nid_t nid)
131 131
132 read_lock(&nm_i->nat_tree_lock); 132 read_lock(&nm_i->nat_tree_lock);
133 e = __lookup_nat_cache(nm_i, nid); 133 e = __lookup_nat_cache(nm_i, nid);
134 if (e && !e->checkpointed) 134 if (e && !get_nat_flag(e, IS_CHECKPOINTED))
135 is_cp = 0; 135 is_cp = 0;
136 read_unlock(&nm_i->nat_tree_lock); 136 read_unlock(&nm_i->nat_tree_lock);
137 return is_cp; 137 return is_cp;
@@ -146,7 +146,7 @@ bool fsync_mark_done(struct f2fs_sb_info *sbi, nid_t nid)
146 read_lock(&nm_i->nat_tree_lock); 146 read_lock(&nm_i->nat_tree_lock);
147 e = __lookup_nat_cache(nm_i, nid); 147 e = __lookup_nat_cache(nm_i, nid);
148 if (e) 148 if (e)
149 fsync_done = e->fsync_done; 149 fsync_done = get_nat_flag(e, HAS_FSYNC_MARK);
150 read_unlock(&nm_i->nat_tree_lock); 150 read_unlock(&nm_i->nat_tree_lock);
151 return fsync_done; 151 return fsync_done;
152} 152}
@@ -159,7 +159,7 @@ void fsync_mark_clear(struct f2fs_sb_info *sbi, nid_t nid)
159 write_lock(&nm_i->nat_tree_lock); 159 write_lock(&nm_i->nat_tree_lock);
160 e = __lookup_nat_cache(nm_i, nid); 160 e = __lookup_nat_cache(nm_i, nid);
161 if (e) 161 if (e)
162 e->fsync_done = false; 162 set_nat_flag(e, HAS_FSYNC_MARK, false);
163 write_unlock(&nm_i->nat_tree_lock); 163 write_unlock(&nm_i->nat_tree_lock);
164} 164}
165 165
@@ -176,7 +176,7 @@ static struct nat_entry *grab_nat_entry(struct f2fs_nm_info *nm_i, nid_t nid)
176 } 176 }
177 memset(new, 0, sizeof(struct nat_entry)); 177 memset(new, 0, sizeof(struct nat_entry));
178 nat_set_nid(new, nid); 178 nat_set_nid(new, nid);
179 new->checkpointed = true; 179 set_nat_flag(new, IS_CHECKPOINTED, true);
180 list_add_tail(&new->list, &nm_i->nat_entries); 180 list_add_tail(&new->list, &nm_i->nat_entries);
181 nm_i->nat_cnt++; 181 nm_i->nat_cnt++;
182 return new; 182 return new;
@@ -249,7 +249,7 @@ retry:
249 /* update fsync_mark if its inode nat entry is still alive */ 249 /* update fsync_mark if its inode nat entry is still alive */
250 e = __lookup_nat_cache(nm_i, ni->ino); 250 e = __lookup_nat_cache(nm_i, ni->ino);
251 if (e) 251 if (e)
252 e->fsync_done = fsync_done; 252 set_nat_flag(e, HAS_FSYNC_MARK, fsync_done);
253 write_unlock(&nm_i->nat_tree_lock); 253 write_unlock(&nm_i->nat_tree_lock);
254} 254}
255 255
@@ -1349,7 +1349,8 @@ static int add_free_nid(struct f2fs_sb_info *sbi, nid_t nid, bool build)
1349 read_lock(&nm_i->nat_tree_lock); 1349 read_lock(&nm_i->nat_tree_lock);
1350 ne = __lookup_nat_cache(nm_i, nid); 1350 ne = __lookup_nat_cache(nm_i, nid);
1351 if (ne && 1351 if (ne &&
1352 (!ne->checkpointed || nat_get_blkaddr(ne) != NULL_ADDR)) 1352 (!get_nat_flag(ne, IS_CHECKPOINTED) ||
1353 nat_get_blkaddr(ne) != NULL_ADDR))
1353 allocated = true; 1354 allocated = true;
1354 read_unlock(&nm_i->nat_tree_lock); 1355 read_unlock(&nm_i->nat_tree_lock);
1355 if (allocated) 1356 if (allocated)