diff options
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r-- | fs/f2fs/node.c | 13 |
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) |