소스 검색

ext4: drop inode from orphan list if ext4_delete_inode() fails

There were some error paths in ext4_delete_inode() which was not
dropping the inode from the orphan list.  This could lead to a BUG_ON
on umount when the orphan list is discovered to be non-empty.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Theodore Ts'o 15 년 전
부모
커밋
4538821993
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      fs/ext4/inode.c

+ 1 - 0
fs/ext4/inode.c

@@ -221,6 +221,7 @@ void ext4_delete_inode(struct inode *inode)
 				     "couldn't extend journal (err %d)", err);
 				     "couldn't extend journal (err %d)", err);
 		stop_handle:
 		stop_handle:
 			ext4_journal_stop(handle);
 			ext4_journal_stop(handle);
+			ext4_orphan_del(NULL, inode);
 			goto no_delete;
 			goto no_delete;
 		}
 		}
 	}
 	}