私と私の同僚は、ローカルドライブ(SSH/SCPを使用)のようにリモートドライブへのアクセスを提供するドライバを作るプロジェクトを持っています。ドライブは通常はドライブとして見なければならず、操作は単純なファイル操作(コピー、移動、削除)に制限され、ファイルリストなどはありません。ドライバはLinuxカーネルモジュールでなければなりません。SSH/SCPドライブのカーネルモジュール
私たちはいくつかの情報やアイデアを集めてくれました。誰かがそれを確認したり、良い方向に向けることができましたか?
我々は2つのコンポーネントにそれを分割について考え:私たちはので
、
- 仮想ドライブを実装するカーネルモジュール、
- SSH/SCPの通信を担当するユーザ空間デーモンカーネルモジュールでSSH通信を実装することは想像できません(おそらくそれは可能ですが、..)。
SSH/SCP通信では、libsshを使用できると考えています。 カーネルモジュールで仮想ドライブを実装する方法については、tutorialが見つかりました。
もう1つのケースは、カーネルとユーザースペース間の通信です。 UDPソケットやNETLINKのような多くの可能性を持って、これについて議論しているarticleも見つかりました。
このソリューションでは、カーネルモジュールでSSH/SCPに関連するものを忘れることがあります。カーネルには透過的になります。
私たちの考えは良いですか?たぶん、私たちが見ていないいくつかの警告がありますか?これは正しい方法でしょうか、それとももっと簡単な方法があるかもしれません(でもLinuxカーネルに関連していますが、それはプロジェクトの主な分野ですから))?どのアイデアを使うべきですか?リンクは感謝:)
EDIT:それは私たちは、大学のクラスのためにしなければならないプロジェクトだ - それは、すでに実装解決策を見つけるために問題はありませんが、あなた自身を行うことを...
http://fuse.sourceforge.net/sshfs.html – Mat
私の編集を参照してください - それは私が大学のクラスのためにしなければならないプロジェクトです。 – schiza
その後、CIFS VFSカーネルモジュールは良い出発点です:https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=fs/cifs –