aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/f2fs/checkpoint.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 9c1627165039..d3b34d05211f 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -219,19 +219,11 @@ retry:
219 new->ino = ino; 219 new->ino = ino;
220 220
221 /* add new_oentry into list which is sorted by inode number */ 221 /* add new_oentry into list which is sorted by inode number */
222 if (orphan) { 222 if (orphan)
223 struct orphan_inode_entry *prev; 223 list_add(&new->list, this->prev);
224 224 else
225 /* get previous entry */
226 prev = list_entry(orphan->list.prev, typeof(*prev), list);
227 if (&prev->list != head)
228 /* insert new orphan inode entry */
229 list_add(&new->list, &prev->list);
230 else
231 list_add(&new->list, head);
232 } else {
233 list_add_tail(&new->list, head); 225 list_add_tail(&new->list, head);
234 } 226
235 sbi->n_orphans++; 227 sbi->n_orphans++;
236out: 228out:
237 mutex_unlock(&sbi->orphan_inode_mutex); 229 mutex_unlock(&sbi->orphan_inode_mutex);