|
Packit Service |
310c69 |
/*
|
|
Packit Service |
310c69 |
* Copyright (c) 2020 Red Hat, Inc.
|
|
Packit Service |
310c69 |
*
|
|
Packit Service |
310c69 |
* This program is free software; you can redistribute it and/or
|
|
Packit Service |
310c69 |
* modify it under the terms of the GNU General Public License
|
|
Packit Service |
310c69 |
* as published by the Free Software Foundation; either version 2
|
|
Packit Service |
310c69 |
* of the License, or (at your option) any later version.
|
|
Packit Service |
310c69 |
*
|
|
Packit Service |
310c69 |
* This program is distributed in the hope that it will be useful,
|
|
Packit Service |
310c69 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
310c69 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit Service |
310c69 |
* GNU General Public License for more details.
|
|
Packit Service |
310c69 |
*
|
|
Packit Service |
310c69 |
* You should have received a copy of the GNU General Public License
|
|
Packit Service |
310c69 |
* along with this program; if not, write to the Free Software
|
|
Packit Service |
310c69 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
Packit Service |
310c69 |
* 02110-1301, USA.
|
|
Packit Service |
310c69 |
*
|
|
Packit Service |
310c69 |
* $Id: //eng/uds-releases/jasper/kernelLinux/uds/udsModule.c#32 $
|
|
Packit Service |
310c69 |
*/
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
#include <linux/module.h>
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
#include "buffer.h"
|
|
Packit Service |
310c69 |
#include "logger.h"
|
|
Packit Service |
310c69 |
#include "memoryAlloc.h"
|
|
Packit Service |
310c69 |
#include "murmur/MurmurHash3.h"
|
|
Packit Service |
310c69 |
#include "sysfs.h"
|
|
Packit Service |
310c69 |
#include "timeUtils.h"
|
|
Packit Service |
310c69 |
#include "uds.h"
|
|
Packit Service |
310c69 |
#include "uds-block.h"
|
|
Packit Service |
310c69 |
#include "util/funnelQueue.h"
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
/**********************************************************************/
|
|
Packit Service |
310c69 |
static int __init dedupeInit(void)
|
|
Packit Service |
310c69 |
{
|
|
Packit Service |
310c69 |
memoryInit();
|
|
Packit Service |
310c69 |
logInfo("loaded version %s", UDS_VERSION);
|
|
Packit Service |
310c69 |
initSysfs();
|
|
Packit Service |
310c69 |
return 0;
|
|
Packit Service |
310c69 |
}
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
/**********************************************************************/
|
|
Packit Service |
310c69 |
static void __exit dedupeExit(void)
|
|
Packit Service |
310c69 |
{
|
|
Packit Service |
310c69 |
putSysfs();
|
|
Packit Service |
310c69 |
memoryExit();
|
|
Packit Service |
310c69 |
logInfo("unloaded version %s", UDS_VERSION);
|
|
Packit Service |
310c69 |
}
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
/**********************************************************************/
|
|
Packit Service |
310c69 |
module_init(dedupeInit);
|
|
Packit Service |
310c69 |
module_exit(dedupeExit);
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(UDS_MEMORY_CONFIG_256MB);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(UDS_MEMORY_CONFIG_512MB);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(UDS_MEMORY_CONFIG_768MB);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(UDS_MEMORY_CONFIG_MAX);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsInitializeConfiguration);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsComputeIndexSize);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationSetNonce);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationGetNonce);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationSetSparse);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationGetSparse);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationGetMemory);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsConfigurationGetChaptersPerVolume);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsFreeConfiguration);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsGetVersion);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsCreateIndexSession);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsOpenIndex);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsSuspendIndexSession);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsResumeIndexSession);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsCloseIndex);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsDestroyIndexSession);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsFlushIndexSession);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsGetIndexConfiguration);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsGetIndexStats);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsGetIndexSessionStats);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsStringError);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(udsStartChunkOperation);
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(allocSprintf);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(allocateMemory);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(allocateMemoryNowait);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(assertionFailed);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(assertionFailedLogOnly);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(availableSpace);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(bufferLength);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(bufferUsed);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(clearBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(compactBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(contentLength);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(copyBytes);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(currentTime);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(duplicateString);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(ensureAvailableSpace);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(equalBuffers);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(fixedSprintf);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(freeBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(freeFunnelQueue);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(freeMemory);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(funnelQueuePoll);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getBoolean);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getBufferContents);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getByte);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getBytesFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getMemoryStats);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt16BEFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt16LEFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt16LEsFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt32BEFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt32BEsFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt32LEFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt64BEsFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt64LEFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(getUInt64LEsFromBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(growBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(hasSameBytes);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(isFunnelQueueEmpty);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(makeBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(makeFunnelQueue);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(MurmurHash3_x64_128);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(nowUsec);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(peekByte);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putBoolean);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putByte);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putBytes);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putInt64LEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt16BEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt16LEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt16LEsIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt32BEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt32BEsIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt32LEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt64BEsIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt64LEIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(putUInt64LEsIntoBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(reallocateMemory);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(registerAllocatingThread);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(reportMemoryUsage);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(resetBufferEnd);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(rewindBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(skipForward);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(uncompactedAmount);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(unregisterAllocatingThread);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(wrapBuffer);
|
|
Packit Service |
310c69 |
EXPORT_SYMBOL_GPL(zeroBytes);
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
/**********************************************************************/
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
/**********************************************************************/
|
|
Packit Service |
310c69 |
|
|
Packit Service |
310c69 |
MODULE_DESCRIPTION("deduplication engine");
|
|
Packit Service |
310c69 |
MODULE_AUTHOR("Red Hat, Inc.");
|
|
Packit Service |
310c69 |
MODULE_LICENSE("GPL");
|
|
Packit Service |
310c69 |
MODULE_VERSION(UDS_VERSION);
|