rem: inode->Node()->flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_CHKBFS_RUNNING);
add: inode->Node().flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_CHKBFS_RUNNING);
context: bfs_ioctl(void *_ns, void *_node, void *_cookie, ulong cmd, void *buffer, size_t bufferLength){	FUNCTION_START(("node = %p, cmd = %lu, buf = %p, len = %ld\n", _node, cmd, buffer, bufferLength));	if (_ns == NULL)		return B_BAD_VALUE;	Volume *volume = (Volume *)_ns;	Inode *inode = (Inode *)_node;	switch (cmd) {		case IOCTL_FILE_UNCACHED_IO:		{			if (inode == NULL)				return B_BAD_VALUE;			// if the inode is already set up for uncached access, bail out			if (inode->Flags() & INODE_NO_CACHE) {				FATAL(("File %Ld is already uncached\n", inode->ID()));				return B_ERROR;			}			PRINT(("uncached access to inode %Ld\n", inode->ID()));			// ToDo: sync the cache for this file!			// Unfortunately, we can't remove any blocks from the cache in BeOS,			// that means we can't guarantee consistency for the file contents			// spanning over both access modes.			// request buffers for being able to access the file without			// using the cache or allocating memory			status_t status = volume->Pool().RequestBuffers(volume->BlockSize());			if (status == B_OK)				inode->Node()->flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_NO_CACHE);			return status;		}		case BFS_IOCTL_VERSION:		{			uint32 *version = (uint32 *)buffer;			*version = 0x10000;			return B_OK;		}		case BFS_IOCTL_START_CHECKING:		{			// start checking			BlockAllocator &allocator = volume->Allocator();			check_control *control = (check_control *)buffer;			status_t status = allocator.StartChecking(control);			if (status == B_OK && inode != NULL)				inode->Node()->flags |= HOST_ENDIAN_TO_BFS_INT32(INODE_CHKBFS_RUNNING);			return status;		}		case BFS_IOCTL_STOP_CHECKING:		{			// stop checking			BlockAllocator &allocator = volume->Allocator();			check_control *control = (check_control *)buffer;			status_t status = allocator.StopChecking(control);			if (status == B_OK && inode != NULL)				inode->Node()->flags &= HOST_ENDIAN_TO_BFS_INT32(~INODE_CHKBFS_RUNNING);			return status;		}		case BFS_IOCTL_CHECK_NEXT_NODE:		{			// check next			BlockAllocator &allocator = volume->Allocator();			check_control *control = (check_control *)buffer;			return allocator.CheckNextNode(control);		}#ifdef DEBUG		case 56742:		{			// allocate all free blocks and zero them out (a test for the BlockAllocator)!			BlockAllocator &allocator = volume->Allocator();			Transaction transaction(volume, 0);			CachedBlock cached(volume);			block_run run;			while (allocator.AllocateBlocks(&transaction, 8, 0, 64, 1, run) == B_OK) {				PRINT(("write block_run(%ld, %d, %d)\n", run.allocation_group, run.start, run.length));				for (int32 i = 0;i < run.length;i++) {					uint8 *block = cached.SetTo(run);					if (block != NULL) {						memset(block, 0, volume->BlockSize());						cached.WriteBack(&transaction);					}				}			}			return B_OK;		}		case 56743:			dump_super_block(&volume->SuperBlock());			return B_OK;		case 56744:			if (inode != NULL)				dump_inode(inode->Node());			return B_OK;		case 56745:			if (inode != NULL)				dump_block((const char *)inode->Node(), volume->BlockSize());			return B_OK;#endif	}	return B_BAD_VALUE;}