私は、リンクされていないファイルの名前を特定のフォルダに変更するスタック可能なファイルシステムを作成しています。したがって、任意のファイル/ xyzがリンク解除されると、その名前が/ abc/xyzに変更されます。私はスタック可能なファイルシステムのunlink機能を無効にすることでこれをやりたい私はwrapfsを使用しているので、このためにwrapfs_unlinkを変更しています。私は親ディレクトリのinodeを持っているリンクされていないファイルのdentryを持っているので、vfs_unlinkの代わりにvfs_renameを呼び出すために、/ abcとdentry/in/abc/xyzのinodeを持つ必要があります。私はdentryとvfsmountを見つけることができました/私はdentryを持っていますが、dentry/inodeの取得方法はわかりません。私はdentryからiノードを取得できますが、dentryも取得できません。私はlookup_one_lenを使用してみました/ abcが作成されていますが、それでも負のinodeを返します。また、vfs_path_lookupを使用してディレクトリを見つけようとしました/ abcまたエラーを返します。間違った機能を使っていますか?または、これらのメソッドは実際のディレクトリ構造ではなくキャッシュのみを参照していますか?助けてください。カーネルモジュールのディレクトリを検索する
2
A
答えて
0
次のコードを使用して、オブジェクトをリンク解除時にゴミ箱に移動できます。
static int move_to_trash(struct dentry * trash, struct dentry * object)
{
int result;
char name[32];
struct dentry * de;
sprintf(name, "XX-%lu", object->d_inode->i_ino);
de = d_alloc_name(trash, name);
if (!de)
return -ENOMEM;
trash->d_inode->i_op->lookup(trash->d_inode, de, NULL);
mutex_lock(&trash->d_inode->i_mutex);
result = trash->d_inode->i_op->link(object, trash->d_inode, de);
mutex_unlock(&trash->d_inode->i_mutex);
dput(de);
return result;
}
関連する問題
- 1. アセンブリの検索ディレクトリ
- 2. ディレクトリ内のファイルを検索する
- 3. ディレクトリを検索する現在のディレクトリを取得します
- 4. ディレクトリのファイルの検索
- 5. NTFSディレクトリを検索する.NET
- 6. ディレクトリを検索するには?
- 7. コマンドリストの検索結果をディレクトリ順
- 8. ディレクトリ構造内のファイルを検索
- 9. ルートテーブルとarpキャッシュをカーネルで検索するカーネルモジュールを書くには?
- 10. Linuxカーネルモジュールのメモリリーク検出ツール
- 11. ディレクトリ内のファイル名の検索
- 12. 対象ディレクトリの検索方法
- 13. ディレクトリ内のすべてのFortranファイルを検索するBashコマンド
- 14. 親ディレクトリのモジュールを検索するのを防ぐ(...)
- 15. jEdit - 「ディレクトリ内検索」機能からのSVNディレクトリ/ファイルのフィルタリング
- 16. ファイルを検索し、親ディレクトリのみを表示する
- 17. ディレクトリを検索するためのphp-globと.jpgのみ
- 18. 特定のディレクトリ内のファイルを検索するC#
- 19. DjangoのデフォルトのPostgresデータベース検索ディレクトリを変更するには
- 20. ディレクトリ内の最新の更新を検索するC#
- 21. 特定のディレクトリのヘッダファイルをg ++で検索する方法は?
- 22. ftw関数のディレクトリ検索結果を維持する
- 23. $ sudo gccの検索ディレクトリを変更する
- 24. 再帰的なディレクトリ検索のXMLマッピングを生成する
- 25. Matplotlib latex作業ディレクトリ/検索パス
- 26. PowerShell:ディレクトリ検索と構文エラー
- 27. 共有ライブラリの検索パスにあるディレクトリを見つける
- 28. ファイル検索からディレクトリを除外する
- 29. ファイル情報/検索ディレクトリを取得する方法
- 30. Javaでディレクトリを再帰的に検索する
(*さらに別の*ユニオン/スタックファイルシステム?ため息。) –
私は 'unlink'システムコールの多くの意味を変更することはカーネル空間で理にかなっていることはよく分かりません。なぜあなたの奇妙な目標に 'fuse'を使わないのですか? –
@jørgensen:あなたのコメントをちょっと説明できますか? – gaurav