Hatena::ブログ(Diary)

寄り道ばかりの お勉強日記★ このページをアンテナに追加 RSSフィード Twitter

tokoromのその他の日記

2007-11-26

cofsでmountしたWindowsのファイルをemacsで保存する

coLinux上からemacsでWindows上のファイルも編集したい!

ということで cofs を導入。

まず、前記事(http://d.hatena.ne.jp/tokorom/20071125:before)でやったようにcoLinuxのconfファイルでcofs0の設定があらかじめされていることが前提。

mountは

mount -t cofs 0 /mnt/c -o uid=xxxx,gid=xxxx

これだとユーザxxxxに対してフルアクセス権が与えられる。

権限を調整したいなら fmask dmask オプションを使うとのこと。

で、最終的には fstab に

cofs0                   /mnt/c                  cofs    uid=user00,gid=user00   0 0

とした。

これで、/mnt/c にアクセスすることで、WindowsのCドライブ以下のファイルを直接読み込み、書き込みできるようになった♪

問題発生!!

しかし、いざ emacs でファイル編集してみると・・・

emacsから/mnt/c以下のファイルが保存できない!

これじゃー意味ねー!!

ググってみると

http://d.hatena.ne.jp/KGA/20070903/1188799784

に、fsyncというのがWindowsで使えないからダメとの記述を発見。

さらにググって、

write-region-inhibit-fsync

という変数をtにしておけば、emacsくんがfsyncを呼ばないということが判明。

この設定をしたら無事にemacsから保存できたーっ!

fsyncをOFFにするとどうなる?

しかし、fsyncが使われなくなったことによってどうなるかが微妙に不安。

http://merges.ubuntu.com/e/emacs22/emacs22_22.1+1-2.1.patch

には「write-region-inhibit-fsyncを使うとデータ破損の危険があるため注意して使ってね」と書いてあった(英語の理解が間違ってたらごめんなさい)。

なんかこわいなー。

fsyncについて少し調べてみると、

http://www.postgresql.jp/document/current/html/runtime-config-wal.html

に記述を発見。

たぶんここに書かれているfsyncと同等と思うのだが、どうやら、書き込み途中にOSが止まったりしてもファイルが壊れないとか、より信頼性を高めるためのものらしい。

そういう事態はレアケースということで、個人で遊ぶぶんには気にしなくてよいでしょう。

ついでに、DBとかでもfsyncを使わないようにすると書き込み速度が速くなるとのこと。なんとなくTCPとUDPの関係が思い浮かぶ。

ということで気にしないことにしました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tokorom/20071126/1196052935