* Added debug output.
* Passing a NULL parameter to file_cache_delete() is OK. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29553 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#include <new>
|
#include <new>
|
||||||
|
|
||||||
#include "AutoDeleter.h"
|
#include "AutoDeleter.h"
|
||||||
|
#include "Debug.h"
|
||||||
|
|
||||||
#include "../kernel_emu.h"
|
#include "../kernel_emu.h"
|
||||||
|
|
||||||
@@ -30,20 +31,25 @@ struct FileCache {
|
|||||||
void*
|
void*
|
||||||
file_cache_create(dev_t mountID, ino_t vnodeID, off_t size)
|
file_cache_create(dev_t mountID, ino_t vnodeID, off_t size)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_create(%ld, %lld, %lld)\n", mountID, vnodeID, size));
|
||||||
|
|
||||||
// create the client-side object
|
// create the client-side object
|
||||||
FileCache* fileCache = new(std::nothrow) FileCache(mountID, vnodeID);
|
FileCache* fileCache = new(std::nothrow) FileCache(mountID, vnodeID);
|
||||||
if (fileCache == NULL)
|
if (fileCache == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
ObjectDeleter<FileCache> cacheDeleter(fileCache);
|
ObjectDeleter<FileCache> cacheDeleter(fileCache);
|
||||||
|
|
||||||
|
|
||||||
// create the kernel-size file cache
|
// create the kernel-size file cache
|
||||||
status_t error = UserlandFS::KernelEmu::file_cache_create(mountID, vnodeID,
|
status_t error = UserlandFS::KernelEmu::file_cache_create(mountID, vnodeID,
|
||||||
size);
|
size);
|
||||||
if (error != B_OK)
|
if (error != B_OK) {
|
||||||
|
REPORT_ERROR(error);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
cacheDeleter.Detach();
|
cacheDeleter.Detach();
|
||||||
|
|
||||||
|
PRINT(("file_cache_create() -> %p\n", fileCache));
|
||||||
return fileCache;
|
return fileCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,6 +57,11 @@ file_cache_create(dev_t mountID, ino_t vnodeID, off_t size)
|
|||||||
void
|
void
|
||||||
file_cache_delete(void *cacheRef)
|
file_cache_delete(void *cacheRef)
|
||||||
{
|
{
|
||||||
|
if (cacheRef == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
PRINT(("file_cache_delete(%p)\n", cacheRef));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
UserlandFS::KernelEmu::file_cache_delete(fileCache->mountID,
|
UserlandFS::KernelEmu::file_cache_delete(fileCache->mountID,
|
||||||
@@ -63,6 +74,8 @@ file_cache_delete(void *cacheRef)
|
|||||||
void
|
void
|
||||||
file_cache_enable(void *cacheRef)
|
file_cache_enable(void *cacheRef)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_enable(%p)\n", cacheRef));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
if (fileCache->enabled)
|
if (fileCache->enabled)
|
||||||
@@ -87,6 +100,8 @@ file_cache_is_enabled(void *cacheRef)
|
|||||||
status_t
|
status_t
|
||||||
file_cache_disable(void *cacheRef)
|
file_cache_disable(void *cacheRef)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_disable(%p)\n", cacheRef));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
if (!fileCache->enabled)
|
if (!fileCache->enabled)
|
||||||
@@ -104,6 +119,8 @@ file_cache_disable(void *cacheRef)
|
|||||||
status_t
|
status_t
|
||||||
file_cache_set_size(void *cacheRef, off_t size)
|
file_cache_set_size(void *cacheRef, off_t size)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_set_size(%p)\n", cacheRef));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
return UserlandFS::KernelEmu::file_cache_set_size(fileCache->mountID,
|
return UserlandFS::KernelEmu::file_cache_set_size(fileCache->mountID,
|
||||||
@@ -114,6 +131,8 @@ file_cache_set_size(void *cacheRef, off_t size)
|
|||||||
status_t
|
status_t
|
||||||
file_cache_sync(void *cacheRef)
|
file_cache_sync(void *cacheRef)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_sync(%p)\n", cacheRef));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
return UserlandFS::KernelEmu::file_cache_sync(fileCache->mountID,
|
return UserlandFS::KernelEmu::file_cache_sync(fileCache->mountID,
|
||||||
@@ -125,6 +144,9 @@ status_t
|
|||||||
file_cache_read(void *cacheRef, void *cookie, off_t offset, void *bufferBase,
|
file_cache_read(void *cacheRef, void *cookie, off_t offset, void *bufferBase,
|
||||||
size_t *_size)
|
size_t *_size)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_read(%p, %p, %lld, %p, %lu)\n", cacheRef, cookie, offset,
|
||||||
|
bufferBase, *_size));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
return UserlandFS::KernelEmu::file_cache_read(fileCache->mountID,
|
return UserlandFS::KernelEmu::file_cache_read(fileCache->mountID,
|
||||||
@@ -136,6 +158,9 @@ status_t
|
|||||||
file_cache_write(void *cacheRef, void *cookie, off_t offset, const void *buffer,
|
file_cache_write(void *cacheRef, void *cookie, off_t offset, const void *buffer,
|
||||||
size_t *_size)
|
size_t *_size)
|
||||||
{
|
{
|
||||||
|
PRINT(("file_cache_write(%p, %p, %lld, %p, %lu)\n", cacheRef, cookie,
|
||||||
|
offset, buffer, *_size));
|
||||||
|
|
||||||
FileCache* fileCache = (FileCache*)cacheRef;
|
FileCache* fileCache = (FileCache*)cacheRef;
|
||||||
|
|
||||||
return UserlandFS::KernelEmu::file_cache_write(fileCache->mountID,
|
return UserlandFS::KernelEmu::file_cache_write(fileCache->mountID,
|
||||||
|
|||||||
Reference in New Issue
Block a user