# headers... yuck
noinst_HEADERS = \
msg/tcp.cc\
- client/Trace.h\
- client/hadoop/CephFSInterface.h\
- client/SyntheticClient.h\
- client/fuse.h\
- client/fuse_ll.h\
- client/FileCache.h\
- client/Client.h\
- common/Clock.h\
- common/Cond.h\
- common/DecayCounter.h\
- common/LogType.h\
- common/Logger.h\
- common/Mutex.h\
- common/RWLock.h\
- common/Semaphore.h\
- common/ThreadPool.h\
- common/Timer.h\
- common/Thread.h\
- common/Finisher.h\
- crush/builder.h\
- crush/hash.h\
- crush/mapper.h\
- crush/types.h\
- crush/CrushWrapper.h\
- crush/crush.h\
- ebofs/Table.h\
- ebofs/csum.h\
- ebofs/BlockDevice.h\
- ebofs/Ebofs.h\
- osd/FileJournal.h\
- osd/JournalingObjectStore.h\
- ebofs/types.h\
- ebofs/Allocator.h\
- ebofs/BufferCache.h\
- osd/Journal.h\
- ebofs/nodes.h\
- ebofs/Cnode.h\
- ebofs/Onode.h\
- include/Context.h\
- include/Distribution.h\
- include/bitmapper.h\
- include/blobhash.h\
- include/error.h\
- include/filepath.h\
- include/frag.h\
- include/hash.h\
- include/interval_set.h\
- include/lru.h\
- include/pobject.h\
- include/rangeset.h\
- include/statlite.h\
- include/triple.h\
- include/uofs.h\
- include/encodable.h\
- include/byteorder.h\
- include/inttypes.h\
- include/utime.h\
- include/object.h\
- include/ceph_fs.h\
- include/atomic.h\
- include/buffer.h\
- include/page.h\
- include/xlist.h\
- include/types.h\
- kernel/crush/crush.h\
- kernel/crush/hash.h\
- kernel/crush/mapper.h\
- kernel/osdmap.h\
- kernel/mdsmap.h\
- kernel/super.h\
- kernel/mon_client.h\
- kernel/messenger.h\
- kernel/ktcp.h\
- kernel/mds_client.h\
- kernel/osd_client.h\
- mds/Anchor.h\
- mds/AnchorClient.h\
- mds/AnchorTable.h\
- mds/CDentry.h\
- mds/CDir.h\
- mds/IdAllocator.h\
- mds/LocalLock.h\
- mds/LogEvent.h\
- mds/MDBalancer.h\
- mds/MDLog.h\
- mds/Migrator.h\
- mds/ScatterLock.h\
- mds/SimpleLock.h\
- mds/events/EAnchor.h\
- mds/events/EAnchorClient.h\
- mds/events/ESessions.h\
- mds/events/EUpdate.h\
- mds/events/EExport.h\
- mds/events/EFragment.h\
- mds/events/EImportFinish.h\
- mds/events/EImportStart.h\
- mds/events/EMetaBlob.h\
- mds/events/EPurgeFinish.h\
- mds/events/ESession.h\
- mds/events/ESlaveUpdate.h\
- mds/events/EString.h\
- mds/events/EOpen.h\
- mds/events/ESubtreeMap.h\
- mds/Locker.h\
- mds/LogSegment.h\
- mds/CInode.h\
- mds/FileLock.h\
- mds/SessionMap.h\
- mds/Capability.h\
- mds/mdstypes.h\
- mds/MDCache.h\
- mds/Server.h\
- mds/MDSMap.h\
- mds/MDS.h\
- messages/MExportCapsAck.h\
- messages/MExportDirAck.h\
- messages/MExportDirCancel.h\
- messages/MExportDirDiscover.h\
- messages/MExportDirDiscoverAck.h\
- messages/MExportDirFinish.h\
- messages/MExportDirNotify.h\
- messages/MExportDirNotifyAck.h\
- messages/MExportDirPrep.h\
- messages/MExportDirPrepAck.h\
- messages/MExportDirWarning.h\
- messages/MExportDirWarningAck.h\
- messages/MGenericMessage.h\
- messages/MInodeFileCaps.h\
- messages/MLock.h\
- messages/MMDSBeacon.h\
- messages/MMDSCacheRejoin.h\
- messages/MMDSFragmentNotify.h\
- messages/MMDSMap.h\
- messages/MMDSResolve.h\
- messages/MMDSResolveAck.h\
- messages/MMDSSlaveRequest.h\
- messages/MMonCommand.h\
- messages/MClientReconnect.h\
- messages/MClientUnmount.h\
- messages/MOSDGetMap.h\
- messages/MOSDSubOp.h\
- messages/MOSDIn.h\
- messages/MMDSBoot.h\
- messages/MClientMount.h\
- messages/MClientFileCaps.h\
- messages/MOSDMap.h\
- messages/MOSDOp.h\
- messages/MOSDOut.h\
- messages/MOSDPGActivateSet.h\
- messages/MOSDPGNotify.h\
- messages/MOSDPGQuery.h\
- messages/MOSDPGRemove.h\
- messages/MOSDPing.h\
- messages/MClientRequestForward.h\
- messages/MDentryUnlink.h\
- messages/MDirUpdate.h\
- messages/MClientRequest.h\
- messages/MOSDPGLog.h\
- messages/MPGStats.h\
- messages/MPing.h\
- messages/MOSDPGPeer.h\
- messages/MOSDPGPeerAck.h\
- messages/MOSDPGPeerRequest.h\
- messages/MHeartbeat.h\
- messages/MOSDPGSummary.h\
- messages/MOSDPGUpdate.h\
- messages/MExportCaps.h\
- messages/MMDSGetMap.h\
- messages/MMonCommandAck.h\
- messages/MMonElection.h\
- messages/MOSDOpReply.h\
- messages/MMonMap.h\
- messages/MStatfs.h\
- messages/MOSDSubOpReply.h\
- messages/MPingAck.h\
- messages/MClientReply.h\
- messages/MDiscover.h\
- messages/MClientSession.h\
- messages/MMonPaxos.h\
- messages/MOSDBoot.h\
- messages/MStatfsReply.h\
- messages/MAnchor.h\
- messages/MCacheExpire.h\
- messages/MDiscoverReply.h\
- messages/MOSDFailure.h\
- messages/MExportDir.h\
- mon/Elector.h\
- mon/MonitorStore.h\
- mon/Paxos.h\
- mon/PaxosService.h\
- mon/mon_types.h\
- mon/MDSMonitor.h\
- mon/Monitor.h\
- mon/PGMonitor.h\
- mon/ClientMonitor.h\
- mon/OSDMonitor.h\
- mon/MonMap.h\
- mon/PGMap.h\
- msg/FakeMessenger.h\
- msg/tcp.h\
- msg/Message.h\
- msg/msg_types.h\
- msg/Dispatcher.h\
- msg/Messenger.h\
- msg/SimpleMessenger.h\
- osbdb/OSBDB.h\
- osd/Ager.h\
- osd/BDBMap.h\
- osd/Fake.h\
- osd/FakeStoreBDBCollections.h\
- osd/ObjectStore.h\
- osd/ObjectVersioner.h\
- osd/RAID4PG.h\
- osd/ReplicatedPG.h\
- osd/PG.h\
- osd/OSDMap.h\
- osd/FakeStore.h\
- osd/OSD.h\
- osd/osd_types.h\
- osdc/Blinker.h\
- osdc/Journaler.h\
- osdc/Filer.h\
- osdc/ObjectCacher.h\
- osdc/Objecter.h\
- config.h
+ client/Trace.h\
+ client/hadoop/CephFSInterface.h\
+ client/SyntheticClient.h\
+ client/fuse.h\
+ client/fuse_ll.h\
+ client/FileCache.h\
+ client/Client.h\
+ common/Clock.h\
+ common/Cond.h\
+ common/DecayCounter.h\
+ common/LogType.h\
+ common/Logger.h\
+ common/Mutex.h\
+ common/RWLock.h\
+ common/Semaphore.h\
+ common/ThreadPool.h\
+ common/Timer.h\
+ common/Thread.h\
+ common/Finisher.h\
+ crush/builder.h\
+ crush/hash.h\
+ crush/mapper.h\
+ crush/types.h\
+ crush/CrushWrapper.h\
+ crush/crush.h\
+ ebofs/Table.h\
+ ebofs/csum.h\
+ ebofs/BlockDevice.h\
+ ebofs/Ebofs.h\
+ osd/FileJournal.h\
+ osd/JournalingObjectStore.h\
+ ebofs/types.h\
+ ebofs/Allocator.h\
+ ebofs/BufferCache.h\
+ osd/Journal.h\
+ ebofs/nodes.h\
+ ebofs/Cnode.h\
+ ebofs/Onode.h\
+ include/Context.h\
+ include/Distribution.h\
+ include/bitmapper.h\
+ include/blobhash.h\
+ include/error.h\
+ include/filepath.h\
+ include/frag.h\
+ include/hash.h\
+ include/interval_set.h\
+ include/lru.h\
+ include/pobject.h\
+ include/rangeset.h\
+ include/statlite.h\
+ include/triple.h\
+ include/uofs.h\
+ include/encodable.h\
+ include/byteorder.h\
+ include/inttypes.h\
+ include/utime.h\
+ include/object.h\
+ include/ceph_fs.h\
+ include/atomic.h\
+ include/buffer.h\
+ include/page.h\
+ include/xlist.h\
+ include/types.h\
+ kernel/crush/crush.h\
+ kernel/crush/hash.h\
+ kernel/crush/mapper.h\
+ kernel/osdmap.h\
+ kernel/mdsmap.h\
+ kernel/super.h\
+ kernel/mon_client.h\
+ kernel/messenger.h\
+ kernel/ktcp.h\
+ kernel/mds_client.h\
+ kernel/osd_client.h\
+ mds/Anchor.h\
+ mds/AnchorClient.h\
+ mds/AnchorTable.h\
+ mds/CDentry.h\
+ mds/CDir.h\
+ mds/IdAllocator.h\
+ mds/LocalLock.h\
+ mds/LogEvent.h\
+ mds/MDBalancer.h\
+ mds/MDLog.h\
+ mds/Migrator.h\
+ mds/ScatterLock.h\
+ mds/SimpleLock.h\
+ mds/events/EAnchor.h\
+ mds/events/EAnchorClient.h\
+ mds/events/ESessions.h\
+ mds/events/EUpdate.h\
+ mds/events/EExport.h\
+ mds/events/EFragment.h\
+ mds/events/EImportFinish.h\
+ mds/events/EImportStart.h\
+ mds/events/EMetaBlob.h\
+ mds/events/EPurgeFinish.h\
+ mds/events/ESession.h\
+ mds/events/ESlaveUpdate.h\
+ mds/events/EString.h\
+ mds/events/EOpen.h\
+ mds/events/ESubtreeMap.h\
+ mds/Locker.h\
+ mds/LogSegment.h\
+ mds/CInode.h\
+ mds/FileLock.h\
+ mds/SessionMap.h\
+ mds/Capability.h\
+ mds/mdstypes.h\
+ mds/MDCache.h\
+ mds/Server.h\
+ mds/MDSMap.h\
+ mds/MDS.h\
+ messages/MExportCapsAck.h\
+ messages/MExportDirAck.h\
+ messages/MExportDirCancel.h\
+ messages/MExportDirDiscover.h\
+ messages/MExportDirDiscoverAck.h\
+ messages/MExportDirFinish.h\
+ messages/MExportDirNotify.h\
+ messages/MExportDirNotifyAck.h\
+ messages/MExportDirPrep.h\
+ messages/MExportDirPrepAck.h\
+ messages/MExportDirWarning.h\
+ messages/MExportDirWarningAck.h\
+ messages/MGenericMessage.h\
+ messages/MInodeFileCaps.h\
+ messages/MLock.h\
+ messages/MMDSBeacon.h\
+ messages/MMDSCacheRejoin.h\
+ messages/MMDSFragmentNotify.h\
+ messages/MMDSMap.h\
+ messages/MMDSResolve.h\
+ messages/MMDSResolveAck.h\
+ messages/MMDSSlaveRequest.h\
+ messages/MMonCommand.h\
+ messages/MClientReconnect.h\
+ messages/MClientUnmount.h\
+ messages/MOSDGetMap.h\
+ messages/MOSDSubOp.h\
+ messages/MOSDIn.h\
+ messages/MMDSBoot.h\
+ messages/MClientMount.h\
+ messages/MClientFileCaps.h\
+ messages/MOSDMap.h\
+ messages/MOSDOp.h\
+ messages/MOSDOut.h\
+ messages/MOSDPGActivateSet.h\
+ messages/MOSDPGNotify.h\
+ messages/MOSDPGQuery.h\
+ messages/MOSDPGRemove.h\
+ messages/MOSDPing.h\
+ messages/MClientRequestForward.h\
+ messages/MDentryUnlink.h\
+ messages/MDirUpdate.h\
+ messages/MClientRequest.h\
+ messages/MOSDPGLog.h\
+ messages/MPGStats.h\
+ messages/MPing.h\
+ messages/MOSDPGPeer.h\
+ messages/MOSDPGPeerAck.h\
+ messages/MOSDPGPeerRequest.h\
+ messages/MHeartbeat.h\
+ messages/MOSDPGSummary.h\
+ messages/MOSDPGUpdate.h\
+ messages/MExportCaps.h\
+ messages/MMDSGetMap.h\
+ messages/MMonCommandAck.h\
+ messages/MMonElection.h\
+ messages/MOSDOpReply.h\
+ messages/MMonMap.h\
+ messages/MStatfs.h\
+ messages/MOSDSubOpReply.h\
+ messages/MPingAck.h\
+ messages/MClientReply.h\
+ messages/MDiscover.h\
+ messages/MClientSession.h\
+ messages/MMonPaxos.h\
+ messages/MOSDBoot.h\
+ messages/MStatfsReply.h\
+ messages/MAnchor.h\
+ messages/MCacheExpire.h\
+ messages/MDiscoverReply.h\
+ messages/MOSDFailure.h\
+ messages/MExportDir.h\
+ mon/Elector.h\
+ mon/MonitorStore.h\
+ mon/Paxos.h\
+ mon/PaxosService.h\
+ mon/mon_types.h\
+ mon/MDSMonitor.h\
+ mon/Monitor.h\
+ mon/PGMonitor.h\
+ mon/ClientMonitor.h\
+ mon/OSDMonitor.h\
+ mon/MonMap.h\
+ mon/PGMap.h\
+ msg/FakeMessenger.h\
+ msg/tcp.h\
+ msg/Message.h\
+ msg/msg_types.h\
+ msg/Dispatcher.h\
+ msg/Messenger.h\
+ msg/SimpleMessenger.h\
+ osbdb/OSBDB.h\
+ osd/Ager.h\
+ osd/BDBMap.h\
+ osd/Fake.h\
+ osd/FakeStoreBDBCollections.h\
+ osd/ObjectStore.h\
+ osd/ObjectVersioner.h\
+ osd/RAID4PG.h\
+ osd/ReplicatedPG.h\
+ osd/PG.h\
+ osd/OSDMap.h\
+ osd/FakeStore.h\
+ osd/OSD.h\
+ osd/osd_types.h\
+ osdc/Blinker.h\
+ osdc/Journaler.h\
+ osdc/Filer.h\
+ osdc/ObjectCacher.h\
+ osdc/Objecter.h\
+ config.h\
+ include/intarith.h\
+ include/err.h
#include <fstream>
#include <stdlib.h>
-//#define MDS_CACHE_SIZE 4*10000 -> <20mb
-//#define MDS_CACHE_SIZE 80000 62mb
-
-#define AVG_PER_INODE_SIZE 450
-#define MDS_CACHE_MB_TO_INODES(x) ((x)*1000000/AVG_PER_INODE_SIZE)
-
-//#define MDS_CACHE_SIZE MDS_CACHE_MB_TO_INODES( 50 )
-//#define MDS_CACHE_SIZE 1500000
-#define MDS_CACHE_SIZE 150000
-
-
// hack hack hack ugly FIXME
#include "include/atomic.h"
atomic_t buffer_total_alloc;
journaler_batch_max: 16384, // max bytes we'll delay flushing
// --- mds ---
- mds_cache_size: 300000, //MDS_CACHE_SIZE,
+ mds_cache_size: 300000,
mds_cache_mid: .7,
mds_decay_halflife: 5,
mds_tick_interval: 5,
mds_log: true,
- mds_log_max_events: -1, //MDS_CACHE_SIZE / 3,
- mds_log_max_segments: 100,
+ mds_log_max_events: -1,
+ mds_log_max_segments: 100, // segment size defined by FileLayout, above
mds_log_max_expiring: 20,
mds_log_pad_entry: 128,//256,//64,
mds_log_eopen_size: 100, // # open inodes per log entry