このページを編集する際は、編集に関する方針に従ってください。

概要

引数

実装

void __init bdev_cache_init(void) {

	int err;
	struct vfsmount *bd_mnt;
	bdev_cachep = kmem_cache_create("bdev_cache", sizeof(struct bdev_inode),
			0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|
				SLAB_MEM_SPREAD|SLAB_PANIC),
			init_once);
  • bdev_inode構造体のサイズの特定用途キャッシュbdev_cacheを作成しbdev_cachepに設定する
  • ブロック型デバイス用ファイルシステムを登録する
	if (err)
		panic("Cannot register bdev pseudo-fs");
	bd_mnt = kern_mount(&bd_type);
  • ブロック型デバイス用ファイルシステムをマウントする
	if (IS_ERR(bd_mnt))
		panic("Cannot create bdev pseudo-fs");
	/*
	 * This vfsmount structure is only used to obtain the
	 * blockdev_superblock, so tell kmemleak not to report it.
	 */
	kmemleak_not_leak(bd_mnt);
	blockdev_superblock = bd_mnt->mnt_sb;	/* For writeback */

}

呼出元

  • vfs_caches_init()/Linux2.6? -- 2015-5-13 (水) 21:45:17

履歴

  • 作者:るくす?
  • 日付:2015/5/13
  • 対象:2.6.15
    更新日更新者更新内容

コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-05-15 (金) 14:09:18 (682d)