亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? super.c

?? 嵌入式系統設計與實例開發源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
        /* set up the cache */        cache = presto_init_cache();        if ( !cache ) {                printk("presto_read_super: failure allocating cache.\n");                EXIT;                goto out_err;        }        /* no options were passed: likely we are "/" readonly */        if ( !presto_mtpt || !fileset ) {                cache->cache_flags |= CACHE_LENTO_RO | CACHE_CLIENT_RO;        }        cache->cache_psdev = psdev;        /* no options were passed: likely we are "/" readonly */        /* before the journaling infrastructure can work, these           need to be set; that happens in presto_remount */        if ( !presto_mtpt || !fileset ) {                if (!presto_mtpt)                         printk("No mountpoint marking cache RO\n");                if (!fileset)                         printk("No fileset marking cache RO\n");                cache->cache_flags |= CACHE_LENTO_RO | CACHE_CLIENT_RO;        }        cache->cache_mtpt = presto_mtpt;        cache->cache_root_fileset = fileset;        cache->cache_type = cache_type;        printk("Presto: type=%s, vol=%s, dev=%s (minor %d), mtpt %s, flags %x\n",               cache_type, fileset ? fileset : "NULL", prestodev, minor,               presto_mtpt ? presto_mtpt : "NULL", cache->cache_flags);        MOD_INC_USE_COUNT;        fstype = get_fs_type(cache_type);        cache->cache_filter = filter_get_filter_fs((const char *)cache_type);         if ( !fstype || !cache->cache_filter) {                printk("Presto: unrecognized fs type or cache type\n");                MOD_DEC_USE_COUNT;                EXIT;                goto out_err;        }        mysb = fstype->read_super(presto_sb, cache_data, silent);        /* this might have been freed above */        if (cache_data) {                PRESTO_FREE(cache_data, PAGE_SIZE);                cache_data = NULL;        }        if ( !mysb ) {                /* if (!silent) */                printk("InterMezzo: cache mount failure.\n");                MOD_DEC_USE_COUNT;                EXIT;                goto out_err;        }		cache->cache_sb = mysb;        ops = filter_get_filter_fs(cache_type);        filter_setup_journal_ops(cache->cache_filter, cache->cache_type);         /* we now know the dev of the cache: hash the cache */        presto_cache_add(cache, mysb->s_dev);        /* make sure we have our own super operations: mysb           still contains the cache operations */        filter_setup_super_ops(cache->cache_filter, mysb->s_op,                                &presto_super_ops);        mysb->s_op = filter_c2usops(cache->cache_filter);        /* now get our own directory operations */        if ( mysb->s_root && mysb->s_root->d_inode ) {                CDEBUG(D_SUPER, "\n");                filter_setup_dir_ops(cache->cache_filter,                                      mysb->s_root->d_inode,                                     &presto_dir_iops, &presto_dir_fops);                mysb->s_root->d_inode->i_op = filter_c2udiops(cache->cache_filter);                CDEBUG(D_SUPER, "lookup at %p\n",                        mysb->s_root->d_inode->i_op->lookup);                filter_setup_dentry_ops(cache->cache_filter,                                         mysb->s_root->d_op,                                         &presto_dentry_ops);                presto_sb->s_root->d_op = filter_c2udops(cache->cache_filter);                cache->cache_mtde = mysb->s_root;        }        CDEBUG(D_MALLOC, "after mounting: kmem %ld, vmem %ld\n",               presto_kmemory, presto_vmemory);        EXIT;        return mysb; out_err:        CDEBUG(D_SUPER, "out_err called\n");        if (cache)                PRESTO_FREE(cache, sizeof(struct presto_cache));        if (cache_data)                PRESTO_FREE(cache_data, PAGE_SIZE);        if (fileset)                PRESTO_FREE(fileset, strlen(fileset) + 1);        if (presto_mtpt)                PRESTO_FREE(presto_mtpt, strlen(presto_mtpt) + 1);        if (prestodev)                PRESTO_FREE(prestodev, strlen(prestodev) + 1);        if (cache_type)                PRESTO_FREE(cache_type, strlen(cache_type) + 1);        CDEBUG(D_MALLOC, "mount error exit: kmem %ld, vmem %ld\n",               presto_kmemory, presto_vmemory);        return NULL;}int presto_remount(struct super_block * sb, int *flags, char *data){        char *cache_data = NULL;        char *cache_data_end;        char **type;        char **fileset;        char **mtpt;        char **prestodev;        struct super_operations *sops;        struct presto_cache *cache = NULL;        int err = 0;        ENTRY;        CDEBUG(D_MALLOC, "before remount: kmem %ld, vmem %ld\n",               presto_kmemory, presto_vmemory);        CDEBUG(D_SUPER, "remount opts: %s\n", data ? (char *)data : "(none)");        if (data) {                /* reserve space for the cache's data */                PRESTO_ALLOC(cache_data, void *, PAGE_SIZE);                if ( !cache_data ) {                        err = -ENOMEM;                        EXIT;                        goto out_err;                }        }        cache = presto_find_cache(sb->s_dev);        if (!cache) {                printk(__FUNCTION__ ": cannot find cache on remount\n");                err = -ENODEV;                EXIT;                goto out_err;        }        /* If an option has not yet been set, we allow it to be set on         * remount.  If an option already has a value, we pass NULL for         * the option pointer, which means that the InterMezzo option         * will be parsed but discarded.         */        type = cache->cache_type ? NULL : &cache->cache_type;        fileset = cache->cache_root_fileset ? NULL : &cache->cache_root_fileset;        prestodev = cache->cache_psdev ? NULL : &cache->cache_psdev->uc_devname;        mtpt = cache->cache_mtpt ? NULL : &cache->cache_mtpt;        cache_data_end = presto_options(data, cache_data, type, fileset,                                        prestodev, mtpt);        if (cache_data) {                if (cache_data_end == cache_data) {                        PRESTO_FREE(cache_data, PAGE_SIZE);                        cache_data = NULL;                } else {                        CDEBUG(D_SUPER, "cache_data at %p is: %s\n", cache_data,                               cache_data);                }        }        if (cache->cache_root_fileset && cache->cache_mtpt) {                cache->cache_flags &= ~(CACHE_LENTO_RO|CACHE_CLIENT_RO);        }        sops = filter_c2csops(cache->cache_filter);        if (sops->remount_fs) {                err = sops->remount_fs(sb, flags, cache_data);        }        CDEBUG(D_MALLOC, "after remount: kmem %ld, vmem %ld\n",               presto_kmemory, presto_vmemory);        EXIT;out_err:        if (cache_data)                PRESTO_FREE(cache_data, PAGE_SIZE);        return err;}struct file_system_type presto_fs_type = {#ifdef PRESTO_DEVEL        "izofs",#else         "intermezzo",#endif        FS_REQUIRES_DEV, /* can use Ibaskets when ext2 does */        presto_read_super,        NULL};int /* __init */ init_intermezzo_fs(void){        int status;        printk(KERN_INFO "InterMezzo Kernel/Lento communications, "               "v1.04, braam@inter-mezzo.org\n");        status = presto_psdev_init();        if ( status ) {                printk("Problem (%d) in init_intermezzo_psdev\n", status);                return status;        }        status = init_intermezzo_sysctl();        if (status) {                printk("presto: failed in init_intermezzo_sysctl!\n");        }        presto_init_cache_hash();        status = register_filesystem(&presto_fs_type);        if (status) {                printk("presto: failed in register_filesystem!\n");        }        return status;}#ifdef MODULEMODULE_AUTHOR("Peter J. Braam <braam@inter-mezzo.org>");MODULE_DESCRIPTION("InterMezzo Kernel/Lento communications, v1.0.5.1");int init_module(void){        return init_intermezzo_fs();}void cleanup_module(void){        int err;        ENTRY;        if ( (err = unregister_filesystem(&presto_fs_type)) != 0 ) {                printk("presto: failed to unregister filesystem\n");        }        presto_psdev_cleanup();        cleanup_intermezzo_sysctl();#ifdef PRESTO_DEVEL        unregister_chrdev(PRESTO_PSDEV_MAJOR, "intermezzo_psdev_devel");#else         unregister_chrdev(PRESTO_PSDEV_MAJOR, "intermezzo_psdev");#endif        CDEBUG(D_MALLOC, "after cleanup: kmem %ld, vmem %ld\n",               presto_kmemory, presto_vmemory);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看精品一区| 亚洲区小说区图片区qvod| 国产精品日产欧美久久久久| 亚洲国产精品视频| 成人综合在线观看| 精品少妇一区二区三区视频免付费 | 日韩精品一区二区三区视频| 日韩码欧中文字| 国产麻豆精品theporn| 欧美日韩精品电影| 成人欧美一区二区三区在线播放| 青青草国产精品97视觉盛宴| 91污片在线观看| 亚洲国产成人私人影院tom| 精品一区二区综合| 欧美一区二区三区日韩| 亚洲综合久久久久| 91精品福利视频| 成人免费小视频| 97成人超碰视| 中文字幕在线观看不卡| 成人性生交大片免费| 久久美女高清视频| 韩国精品在线观看| 亚洲精品一线二线三线| 美女网站色91| 精品国产免费人成在线观看| 免费成人深夜小野草| 日韩一区国产二区欧美三区| 亚洲v精品v日韩v欧美v专区| 欧美色男人天堂| 天天综合网天天综合色| 欧美日本在线播放| 日韩精品亚洲一区| 日韩欧美在线一区二区三区| 日本色综合中文字幕| 日韩精品一区二区三区老鸭窝| 日韩和的一区二区| 日韩欧美成人激情| 激情另类小说区图片区视频区| 精品国产乱码久久久久久浪潮 | 亚洲成av人**亚洲成av**| 欧美最猛性xxxxx直播| 亚洲一区二区中文在线| 欧美麻豆精品久久久久久| 青青草原综合久久大伊人精品| 欧美一区二区久久| 国产精品一区在线| 国产精品久久久久久久久晋中| av一区二区久久| 亚洲gay无套男同| 日韩精品一区二区三区在线播放 | 美女被吸乳得到大胸91| 欧美精品一区二区三区蜜臀| 国产福利精品导航| 国产精品国产三级国产aⅴ入口 | 久久午夜老司机| 粉嫩aⅴ一区二区三区四区| 亚洲美女精品一区| 欧美丰满嫩嫩电影| 国产精华液一区二区三区| 日韩理论片一区二区| 欧美日韩午夜精品| 国产v综合v亚洲欧| 亚洲成av人片一区二区三区| 久久久不卡网国产精品二区| 91九色最新地址| 国产剧情在线观看一区二区| 亚洲综合免费观看高清在线观看| 精品免费日韩av| 色乱码一区二区三区88| 国产在线精品不卡| 亚洲制服丝袜av| 久久精品水蜜桃av综合天堂| 在线免费观看不卡av| 国模大尺度一区二区三区| 亚洲欧美韩国综合色| 久久久久亚洲蜜桃| 欧美偷拍一区二区| 成人的网站免费观看| 麻豆91免费观看| 一区二区三区久久| 国产欧美va欧美不卡在线| 欧美日韩国产影片| 91热门视频在线观看| 国产一区二区三区日韩| 偷窥国产亚洲免费视频| 国产精品国产馆在线真实露脸| 日韩一区二区在线免费观看| 91精品办公室少妇高潮对白| 成人看片黄a免费看在线| 麻豆精品精品国产自在97香蕉| 一区二区三区色| 国产精品乱码一区二三区小蝌蚪| 337p粉嫩大胆噜噜噜噜噜91av| 欧美日本免费一区二区三区| 91浏览器打开| av爱爱亚洲一区| 成人性生交大片免费看在线播放| 国产在线视频不卡二| 蜜臀av一区二区在线免费观看| 午夜久久久影院| 亚洲大片精品永久免费| 亚洲影视资源网| 亚洲一二三四久久| 亚洲伦在线观看| 国产精品激情偷乱一区二区∴| 国产偷国产偷精品高清尤物| 久久久久久久久久看片| 精品福利一二区| 26uuu另类欧美亚洲曰本| 欧美一区二区私人影院日本| 欧美精品第一页| 欧美精品免费视频| 欧美一区二区精美| 日韩欧美国产三级| 日韩一区二区三| 欧美一区二区三区四区在线观看 | 秋霞午夜鲁丝一区二区老狼| 无码av免费一区二区三区试看| 婷婷综合五月天| 九九在线精品视频| 国产一区二区三区在线观看免费| 极品少妇xxxx偷拍精品少妇| 国产aⅴ精品一区二区三区色成熟| 丁香天五香天堂综合| av在线播放不卡| 欧美视频一区在线观看| 91麻豆精品国产91久久久久久久久 | 国产毛片一区二区| 久久国产精品一区二区| 久久99久国产精品黄毛片色诱| 久久99久久精品欧美| 国产乱人伦偷精品视频免下载 | 国产精品美女一区二区三区| 国产精品激情偷乱一区二区∴| 1024亚洲合集| 亚洲国产精品一区二区www在线| 视频一区二区三区中文字幕| 狂野欧美性猛交blacked| 国产精品 日产精品 欧美精品| 不卡高清视频专区| 欧美视频在线观看一区二区| 日韩三级视频中文字幕| 欧美激情在线一区二区| 日韩理论片在线| 秋霞电影网一区二区| 成人成人成人在线视频| 欧美成人一区二区| 国产精品不卡视频| 亚洲久草在线视频| 日韩精品久久理论片| 狠狠色综合播放一区二区| 国产成人在线视频网址| 色综合天天综合网国产成人综合天| 欧美视频中文字幕| 久久精品人人做人人爽97| 夜夜亚洲天天久久| 狠狠狠色丁香婷婷综合激情| 99re8在线精品视频免费播放| 欧美一区日本一区韩国一区| 国产亚洲婷婷免费| 一区二区三区在线免费视频 | 欧美日韩亚洲综合一区 | 一区二区三区欧美激情| 国产在线视频一区二区三区| 欧美体内she精视频| 中文字幕精品在线不卡| 免费视频一区二区| 色婷婷综合视频在线观看| 一本大道av伊人久久综合| 99久久99久久精品免费看蜜桃| 欧美视频三区在线播放| 国产精品午夜春色av| 日本va欧美va精品| 欧洲国内综合视频| 亚洲视频一二区| 国产精品自拍在线| 欧美一区二区三区公司| 亚洲六月丁香色婷婷综合久久| 国产精品18久久久久久久久久久久| 欧美日韩一区 二区 三区 久久精品| 国产精品国产成人国产三级| 国产一区二区三区在线观看免费视频| 7777精品伊人久久久大香线蕉| 亚洲久本草在线中文字幕| 成人综合在线网站| 国产三区在线成人av| 国内精品国产成人国产三级粉色| 91精品国产综合久久国产大片| 亚洲成人av资源| 欧美视频一二三区| 亚洲第一成人在线| 欧美日韩高清一区二区| 亚洲国产精品综合小说图片区| 日本久久一区二区三区| 精品少妇一区二区三区日产乱码| 久久免费视频色| 精品一区二区在线播放| 日韩欧美综合在线|