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

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

?? obdio.c

?? lustre 1.6.5 source code
?? C
字號:
/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * *  Copyright (C) 2002 Cluster File Systems, Inc. *   Author: Eric Barton <eeb@clusterfs.com> * *   This file is part of Lustre, http://www.lustre.org. * *   Lustre is free software; you can redistribute it and/or *   modify it under the terms of version 2 of the GNU General Public *   License as published by the Free Software Foundation. * *   Lustre is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with Lustre; if not, write to the Free Software *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <liblustre.h>#include "obdiolib.h"intobdio_test_fixed_extent (struct obdio_conn *conn,                         __u32 myhid, __u32 mypid,                         int reps, int locked, __u64 oid,                         __u64 offset, __u32 size){        struct lustre_handle lh;        void                *space;        void                *buffer;        __u32               *ibuf;        int                  i;        int                  j;        int                  rc = 0;        space = obdio_alloc_aligned_buffer (&buffer, size);        if (space == NULL) {                fprintf (stderr, "Can't allocate buffer size %d\n", size);                return (-1);        }        for (i = 0; i < reps; i++) {                ibuf = (__u32 *) buffer;                for (j = 0; j < size / (4 * sizeof (*ibuf)); j++) {                        ibuf[0] = myhid;                        ibuf[1] = mypid;                        ibuf[2] = i;                        ibuf[3] = j;                        ibuf += 4;                }                if (locked) {                        rc = obdio_enqueue(conn, oid, LCK_PW, offset, size,&lh);                        if (rc != 0) {                                fprintf(stderr, "Error on enqueue "LPX64" @ "                                        LPU64" for %u: %s\n",                                        oid, offset, size, strerror (errno));                                goto out;                        }                }                rc = obdio_pwrite (conn, oid, buffer, size, offset);                if (rc != 0) {                        fprintf(stderr, "Error writing "LPX64" @ "LPU64                                " for %u: %s\n",                                oid, offset, size, strerror (errno));                        if (locked)                                obdio_cancel (conn, &lh);                        rc = -1;                        goto out;                }                memset (buffer, 0xbb, size);                rc = obdio_pread (conn, oid, buffer, size, offset);                if (rc != 0) {                        fprintf(stderr, "Error reading "LPX64" @ "LPU64                                " for %u: %s\n",                                oid, offset, size, strerror (errno));                        if (locked)                                obdio_cancel (conn, &lh);                        rc = -1;                        goto out;                }                if (locked) {                        rc = obdio_cancel (conn, &lh);                        if (rc != 0) {                                fprintf(stderr, "Error on cancel "LPX64" @ "                                        LPU64" for %u: %s\n",                                        oid, offset, size, strerror (errno));                                rc = -1;                                goto out;                        }                }                ibuf = (__u32 *) buffer;                for (j = 0; j < size / (4 * sizeof (*ibuf)); j++) {                        if (ibuf[0] != myhid ||                            ibuf[1] != mypid ||                            ibuf[2] != i ||                            ibuf[3] != j) {                                fprintf(stderr, "Error checking "LPX64" @ "                                        LPU64" for %u, chunk %d\n",                                        oid, offset, size, j);                                fprintf(stderr, "Expected [%x,%x,%x,%x], "                                        "got [%x,%x,%x,%x]\n",                                        myhid, mypid, i, j,                                        ibuf[0], ibuf[1], ibuf[2], ibuf[3]);                                rc = -1;                                goto out;                        }                        ibuf += 4;                }        } out:        free (space);        return (rc);}intparse_kmg (__u64 *valp, char *str){        __u64           val;        char            mod[32];        switch (sscanf (str, LPU64"%1[gGmMkK]", &val, mod))        {        default:                return (-1);        case 1:                *valp = val;                return (0);        case 2:                switch (*mod)                {                case 'g':                case 'G':                        *valp = val << 30;                        return (0);                case 'm':                case 'M':                        *valp = val << 20;                        return (0);                case 'k':                case 'K':                        *valp = val << 10;                        return (0);                default:                        *valp = val;                        return (0);                }        }}voidusage (char *cmdname, int help){        char *name = strrchr (cmdname, '/');        if (name == NULL)                name = cmdname;        fprintf (help ? stdout : stderr,                 "usage: %s -d device -s size -o offset [-i id][-n reps][-l] oid\n",                 name);}intmain (int argc, char **argv){        __u32             mypid = getpid ();        __u32             myhid = gethostid ();        __u64             oid;        __u64             base_offset = 0;        __u32             size = 0;        int                set_size = 0;        int                device = -1;        int                reps = 1;        int                locked = 0;        char              *end;        struct obdio_conn *conn;        __u64              val;        int                v1;        int                v2;        int                rc;        int                c;        while ((c = getopt (argc, argv, "hi:s:o:d:n:l")) != -1)                switch (c) {                case 'h':                        usage (argv[0], 1);                        return (0);                case 'i':                        switch (sscanf (optarg, "%i.%i", &v1, &v2)) {                        case 1:                                mypid = v1;                                break;                        case 2:                                myhid = v1;                                mypid = v2;                                break;                        default:                                fprintf (stderr, "Can't parse id %s\n",                                         optarg);                                return (1);                        }                        break;                case 's':                        if (parse_kmg (&val, optarg) != 0) {                                fprintf (stderr, "Can't parse size %s\n",                                         optarg);                                return (1);                        }                        size = (__u32)val;                        set_size++;                        break;                case 'o':                        if (parse_kmg (&val, optarg) != 0) {                                fprintf (stderr, "Can't parse offset %s\n",                                         optarg);                                return (1);                        }                        base_offset = val;                        break;                case 'd':                        device = strtol (optarg, &end, 0);                        if (end == optarg || *end != 0 || device < 0) {                                fprintf (stderr, "Can't parse device %s\n",                                         optarg);                                return (1);                        }                        break;                case 'n':                        if (parse_kmg (&val, optarg) != 0) {                                fprintf (stderr, "Can't parse reps %s\n",                                         optarg);                                return (1);                        }                        reps = (int)val;                        break;                case 'l':                        locked = 1;                        break;                default:                        usage (argv[0], 0);                        return (1);        }        if (!set_size ||            device < 0 ||            optind == argc) {                fprintf (stderr, "No %s specified\n",                         !set_size ? "size" :                         device < 0 ? "device" : "object id");                return (1);        }        oid = strtoull (argv[optind], &end, 0);        if (end == argv[optind] || *end != 0) {                fprintf (stderr, "Can't parse object id %s\n",                         argv[optind]);                return (1);        }        conn = obdio_connect (device);        if (conn == NULL)                return (1);        rc = obdio_test_fixed_extent(conn, myhid, mypid, reps, locked,                                     oid, base_offset, size);        obdio_disconnect(conn, 0);        return (rc == 0 ? 0 : 1);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清完整版在线观看 | 亚洲免费在线看| 久久国产精品72免费观看| 91在线国内视频| 亚洲免费观看在线观看| 99riav久久精品riav| 亚洲精品自拍动漫在线| 91国产视频在线观看| 亚洲一区二区视频在线观看| 欧美日韩一区二区三区四区 | 国产精品影视天天线| 亚洲精品一线二线三线无人区| 国产精品91一区二区| 中文字幕一区在线观看视频| 在线免费观看成人短视频| 亚洲午夜精品在线| 欧美mv和日韩mv的网站| 国产999精品久久| 亚洲电影欧美电影有声小说| 91精品久久久久久蜜臀| 国产成人综合精品三级| 夜夜嗨av一区二区三区四季av| 日韩精品一区二区三区中文精品 | 亚洲激情图片qvod| 欧美xxxx老人做受| 91成人国产精品| 国产高清在线精品| 日本不卡一二三| 亚洲精品自拍动漫在线| 精品sm在线观看| 欧美伦理视频网站| 99精品国产一区二区三区不卡| 久久激五月天综合精品| 亚洲一区二区在线观看视频 | 亚洲免费高清视频在线| 久久视频一区二区| 亚洲欧洲99久久| 久久久综合九色合综国产精品| 欧美日韩国产一级| 99久久99久久免费精品蜜臀| 国产精品一级片| 精品一区二区三区欧美| 麻豆精品蜜桃视频网站| 五月天激情综合| 日本在线不卡视频一二三区| 亚洲在线一区二区三区| 亚洲自拍都市欧美小说| 亚洲最色的网站| 丝袜国产日韩另类美女| 美日韩一级片在线观看| 青青草一区二区三区| 韩国欧美国产一区| 国产美女精品人人做人人爽| 亚洲国产激情av| 91麻豆精品91久久久久同性| 国产成人免费在线| 成人毛片老司机大片| 国产91对白在线观看九色| 99久久99久久精品免费看蜜桃| 成人激情校园春色| 日本韩国精品在线| 欧美日韩国产在线观看| 欧美成人激情免费网| 亚洲国产精华液网站w| 一区二区三区在线播| 久久精品国产亚洲a| 成人av资源在线观看| 欧美日韩国产首页| 欧美成人艳星乳罩| 亚洲欧美激情视频在线观看一区二区三区| 国产精品视频第一区| 一区二区三区资源| 国产乱子伦视频一区二区三区| 国产成人av一区| 欧美精品久久久久久久多人混战| 欧美不卡一区二区三区四区| 亚洲精品免费一二三区| 精品一区二区在线看| 欧美亚洲尤物久久| 欧美激情一区二区| 久久精品99国产精品| 欧美主播一区二区三区美女| 久久一区二区三区四区| 日本不卡一区二区| 欧美日韩一区二区不卡| 国产精品久久久久毛片软件| 国产一区二区三区四区五区入口| 色一情一伦一子一伦一区| 国产午夜精品理论片a级大结局| 九九九精品视频| 一区二区三区不卡视频| 99在线精品观看| 国产精品色哟哟网站| 麻豆91精品视频| 欧美一区二区人人喊爽| 午夜婷婷国产麻豆精品| 欧美日韩一区视频| 亚洲国产乱码最新视频| 欧美色偷偷大香| 日韩电影在线一区二区| 欧美福利视频一区| 日本va欧美va欧美va精品| 91精品国产91久久久久久一区二区 | 天天综合色天天综合色h| 欧美在线免费视屏| 天天色天天操综合| 91精品国产全国免费观看| 美美哒免费高清在线观看视频一区二区 | 亚洲欧美怡红院| 在线观看视频一区| 美国十次综合导航| 久久综合精品国产一区二区三区 | 欧美精品第1页| 国产一区二区三区不卡在线观看| 中文字幕av一区二区三区高| 色婷婷激情一区二区三区| 日韩电影在线免费看| 久久免费电影网| 欧美性videosxxxxx| 全国精品久久少妇| 中文字幕一区免费在线观看| 91精品欧美综合在线观看最新| 国产乱码精品一区二区三区av| 一区二区欧美在线观看| 久久午夜电影网| 在线电影国产精品| 懂色av一区二区三区蜜臀| 男人的j进女人的j一区| 亚洲精品日韩一| 中文字幕免费不卡| 日韩色视频在线观看| 欧美午夜视频网站| 91蜜桃网址入口| 国产精品996| 国内久久精品视频| 日韩精品亚洲一区二区三区免费| 亚洲欧洲国产日本综合| 国产午夜精品一区二区三区嫩草| 日韩欧美一级在线播放| 欧美福利视频一区| 青青草国产精品97视觉盛宴| 99久久综合精品| 欧美aaaaa成人免费观看视频| 性久久久久久久久| 亚洲资源中文字幕| 亚洲国产精品久久一线不卡| 一区二区三区四区在线免费观看| 最新久久zyz资源站| 国产精品狼人久久影院观看方式| 国产欧美日韩综合| 亚洲欧洲成人精品av97| 亚洲精品视频免费看| 午夜成人免费电影| 男女激情视频一区| 国产美女久久久久| 97精品国产露脸对白| 欧洲在线/亚洲| 欧美一区二区福利视频| 91精品福利在线一区二区三区| 日韩一区二区三区在线| 精品久久久久久久久久久久包黑料| 日韩视频一区二区三区在线播放| 精品欧美一区二区在线观看| 久久精品欧美一区二区三区麻豆| 中文字幕一区二区三区精华液| 中文字幕一区在线| 婷婷综合五月天| 国产成人精品1024| 欧美老年两性高潮| 久久久99免费| 婷婷中文字幕一区三区| 国产精品自拍网站| 色欧美88888久久久久久影院| 欧美sm极限捆绑bd| 亚洲主播在线观看| 风间由美一区二区三区在线观看| 欧美精品成人一区二区三区四区| 国产婷婷一区二区| 久久66热re国产| 欧美日韩色综合| 亚洲男人的天堂在线aⅴ视频| 免费成人性网站| 欧美精品v日韩精品v韩国精品v| 国产精品素人视频| 国产激情一区二区三区| 欧美videos中文字幕| 天堂一区二区在线| 欧美三级视频在线播放| 中文字幕中文字幕一区| 国产激情一区二区三区四区| 欧美一区二区视频网站| 午夜精品久久久久久久| 欧美午夜一区二区| 一区二区三区毛片| 欧美视频你懂的| 午夜精品久久久久久久| 在线成人免费视频| 麻豆精品一二三| 国产欧美一区二区精品婷婷| 国产成人日日夜夜|