def __init__(self, metaaddr, rootpath, mogami_dir): """This is the function of MogamiMeta's init. @param metaaddr ip address or hostname of metadata server @param rootpath path of directory to store data into @param mogami_dir path of mogami's root directory """ # basic information of metadata server self.metaaddr = metaaddr self.rootpath = os.path.abspath(rootpath) self.mogami_dir = mogami_dir # check directory for data files assert os.access(self.rootpath, os.R_OK and os.W_OK and os.X_OK) # Initialization of Log. MogamiLog.init("data", conf.data_loglevel) MogamiLog.info("Start initialization...") MogamiLog.debug("rootpath = " + self.rootpath) # At first, connect to metadata server and send request to attend. self.m_channel = Channel.MogamiChanneltoMeta() self.m_channel.connect(self.metaaddr) MogamiLog.debug("Success in creating connection to metadata server") self.m_channel.dataadd_req(self.rootpath) MogamiLog.debug("Init complete!!")
def __init__(self, rootpath, mogami_dir): """This is the function of MogamiMeta's init. In this function, """ MogamiLog.init("meta", conf.meta_loglevel) self.sysinfo = MogamiSystemInfo(rootpath, mogami_dir) """Check directory for data files. """ if os.access(rootpath, os.R_OK and os.W_OK and os.X_OK) == False: sys.exit("%s is not permitted to use. " % (rootpath, )) MogamiLog.info("** Mogami metadata server init **") MogamiLog.debug("rootpath = " + rootpath)
cmd_args = self.access_pattern.cmd_args path = self.access_pattern.path end_t = time.time() self.took_time += end_t - start_t if cmd_args != None: # process access pattern history (may be inserted to queue) file_access_queue.put( (cmd_args, pid, path, myname, self.took_time, self.created, read_data, write_data)) return 0 def main(self, *a, **kw): """This is the main method of MogamiFS. """ self.file_class = self.MogamiFile return Fuse.main(self, *a, **kw) if __name__ == "__main__": MogamiLog.init("fs", conf.fs_loglevel) fs = MogamiFS( sys.argv[1], version="%prog " + fuse.__version__, usage=System.usagestr(), ) fs.flags = 0 fs.multithreaded = conf.multithreaded fs.main() fs.finalize()
ans = self.mogami_file.fsync(isfsyncfile) return ans def release(self, flags): MogamiLog.debug("** release **") fsize = self.mogami_file.release(flags) ans = m_channel.release_req(self.metafd, fsize) # delete file size cache if self.path in file_size_dict: del file_size_dict[self.path] return 0 def main(self, *a, **kw): """This is the main method of MogamiFS. """ self.file_class = self.MogamiFile return Fuse.main(self, *a, **kw) if __name__ == "__main__": MogamiLog.init("fs", conf.fs_loglevel) fs = MogamiFS(sys.argv[1], version="%prog " + fuse.__version__, usage=System.usagestr(), ) fs.flags = 0 fs.multithreaded = conf.multithreaded fs.main() fs.finalize()