議論/RamDisk


Top / 議論 / RamDisk

RamDisk

目的

アプリ同士の連携に使う為の共有データ置き場が欲しい。
受け取る側がreceive状態になってよければ共有メモリで良いのですが、引数にパス渡して起動、くらいで受け取れる方が使いやすい場面もやはり多いので。

概要

/MEMの下はRamDiskのファイルシステムと思う事にします。
サブフォルダ対応の予定は今の所ありません。

実装はhttp://github.com/mumurik/mona/tree/master/mona/core/file_server/ram_disk/
に、initializeは
http://github.com/mumurik/mona/blob/master/mona/core/file_server/FileServer.cpp
にあります。

削除API

monapi_file*にはdeleteが無いので追加する事に。
unlinkと同じで、パス名を渡して削除とする。
内部的にはlookupしてから削除したいが、使う側からすると不自然だろう。

extern uint32_t monapi_file_delete(const char* file);

とりあえずRamDiskの対応しかやらない。
また、他人がopenしている物も気にせず削除してしまう事に。

アクション

未解決な問題

  1. lsなどでディレクトリの一覧に表示されない(fopenは成功します)
    1. readdir(Vnode* dir, monapi_cmemoryinfo** entries) にきちんと遷移しているか。引数は妥当かを見ていただけると何か分かるかも。
      1. マウントしたファイルが見つからないようです。だからRamDisk側ではなくて、この場合ルートのファイルシステムであるISO9660側の問題の模様(というよりはVnodeManagerかな?)

解決した問題

  1. fwriteで小さいサイズの物を書いてもサイズが1024とかになる(fflush?)
    1. 追ってみないと分からないです。すみません。
      1. fflushとfwriteの方の問題でした。failするケースのテストとfixを私の方のツリーにチェックインしました。
  2. テストを置きたいけれど、mona/test/の下に置いてOK?またどこのフォルダに置けばいいでしょう?
    1. mona/test/monapi/ramdisk あたりにお願いします。
      1. おきました。名前はram_diskにしました。

関連ページ

コメント

最新の1000件を表示しています。 コメントページを参照

お名前:

MENU

now: 2

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1179, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2010-05-03 (月) 20:18:48 (2971d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.102 sec.