Fixed a minor bug in the file system check code: it was not always correctly
determined if the parent directory had the wrong type. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12825 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
fa7ec9d4e9
commit
a9d0f0e576
@ -1,6 +1,6 @@
|
|||||||
/* BlockAllocator - block bitmap handling and allocation policies
|
/* BlockAllocator - block bitmap handling and allocation policies
|
||||||
*
|
*
|
||||||
* Copyright 2001-2004, Axel Dörfler, axeld@pinc-software.de.
|
* Copyright 2001-2005, Axel Dörfler, axeld@pinc-software.de.
|
||||||
* This file may be used under the terms of the MIT License.
|
* This file may be used under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -994,10 +994,11 @@ BlockAllocator::CheckNextNode(check_control *control)
|
|||||||
|
|
||||||
// Check for the correct mode of the node (if the mode of the
|
// Check for the correct mode of the node (if the mode of the
|
||||||
// file don't fit to its parent, there is a serious problem)
|
// file don't fit to its parent, there is a serious problem)
|
||||||
if ((cookie->parent_mode & S_ATTR_DIR && !inode->IsAttribute())
|
if (((cookie->parent_mode & S_ATTR_DIR) != 0 && !inode->IsAttribute())
|
||||||
|| (cookie->parent_mode & S_INDEX_DIR && !inode->IsIndex())
|
|| ((cookie->parent_mode & S_INDEX_DIR) != 0 && !inode->IsIndex())
|
||||||
|| ((cookie->parent_mode & S_DIRECTORY | S_ATTR_DIR | S_INDEX_DIR) == S_DIRECTORY
|
|| ((cookie->parent_mode & (S_DIRECTORY | S_ATTR_DIR | S_INDEX_DIR))
|
||||||
&& inode->Mode() & (S_ATTR | S_ATTR_DIR | S_INDEX_DIR))) {
|
== S_DIRECTORY
|
||||||
|
&& (inode->Mode() & (S_ATTR | S_ATTR_DIR | S_INDEX_DIR)) != 0)) {
|
||||||
FATAL(("inode at %Ld is of wrong type: %o (parent %o at %Ld)!\n",
|
FATAL(("inode at %Ld is of wrong type: %o (parent %o at %Ld)!\n",
|
||||||
inode->BlockNumber(), inode->Mode(), cookie->parent_mode, cookie->parent->BlockNumber()));
|
inode->BlockNumber(), inode->Mode(), cookie->parent_mode, cookie->parent->BlockNumber()));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user