登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
开源项目
>
其他开源
>
操作系统
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
441
Star
1.6K
Fork
1.8K
GVP
openEuler
/
kernel
代码
Issues
1480
Pull Requests
2624
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
dm提交失败后readonly模式读取到陈旧的元数据
已完成
#I65M32
缺陷
chengzhihao
创建于
2022-12-10 17:05
<!-- #请根据issue的类型在标题右侧下拉框中选择对应的选项(需求、缺陷或CVE等)--> <!-- #请根据issue相关的版本在里程碑中选择对应的节点,若是与版本无关,请选择“不关联里程碑”--> 【标题描述】dm提交失败后readonly模式读取到陈旧的元数据 【环境信息】 硬件信息: NA 软件信息: OLK-5.10 【问题复现步骤】 qemu config: sda 20G sdb 5G 1. Apply diff 2. ./test.sh 出现概率(是否必现,概率性错误)必现 【预期结果】 dm commit失败后仍使用最新的root,访问broken btree读取到陈旧的节点 【实际结果】 ``` [ 32.447722] [NEW TRANS] pwd root 261 [ 32.448756] update root 266 [ 32.542533] current [ 32.543073] flags 2 blocknr 272 nr_entries 206 [ 32.543838] 0 key 556 value 1922 [ 32.544362] 1 key 557 value 1934 [ 32.544901] 2 key 559 value 2406 [ 32.545414] 3 key 560 value 2407 [ 32.545946] 4 key 561 value 2821 [ 32.546461] 5 key 569 value 2491 [ 32.546991] 6 key 570 value 2492 [ 32.547505] 7 key 573 value 1980 [ 32.548036] 8 key 574 value 1981 [ 32.548578] 9 key 586 value 1643 [ 32.549098] 10 key 587 value 1960 [ 32.549665] 11 key 588 value 2813 [ 32.550204] 12 key 589 value 2814 [ 32.550757] 13 key 598 value 1936 [ 32.551292] 14 key 599 value 1937 [ 32.551845] 15 key 600 value 1939 [ 32.552379] 16 key 601 value 1961 [ 32.552927] 17 key 608 value 2313 [ 32.553457] 18 key 609 value 2314 [ 32.554009] 19 key 620 value 2063 [ 32.554549] 20 key 621 value 2064 [ 32.555102] 21 key 631 value 2054 [ 32.555656] 22 key 632 value 2055 [ 32.556181] 23 key 645 value 1682 [ 32.556739] 24 key 646 value 2073 [ 32.557272] 25 key 647 value 2074 [ 32.557820] 26 key 655 value 2480 [ 32.558361] 27 key 656 value 2481 [ 32.558912] 28 key 663 value 2087 [ 32.559436] 29 key 677 value 2219 [ 32.559995] 30 key 678 value 2220 [ 32.560528] 31 key 683 value 2208 [ 32.561105] 32 key 684 value 2209 [ 32.561663] 33 key 685 value 2161 [ 32.562195] 34 key 692 value 2605 [ 32.562744] 35 key 693 value 2206 [ 32.563291] 36 key 694 value 2207 [ 32.563849] 37 key 705 value 2071 [ 32.564384] 38 key 707 value 2315 [ 32.564946] 39 key 708 value 2602 [ 32.565475] 40 key 709 value 2603 [ 32.566032] 41 key 730 value 2316 [ 32.566585] 42 key 731 value 2317 [ 32.567125] 43 key 734 value 2322 [ 32.567681] 44 key 735 value 2353 [ 32.568225] 45 key 737 value 2610 [ 32.568776] 46 key 738 value 2611 [ 32.569329] 47 key 742 value 2691 [ 32.569900] 48 key 743 value 2692 [ 32.570434] 49 key 744 value 2693 [ 32.570992] 50 key 753 value 2376 [ 32.571532] 51 key 754 value 2377 [ 32.572098] 52 key 765 value 2354 [ 32.572657] 53 key 769 value 2358 [ 32.573200] 54 key 770 value 2359 [ 32.573756] 55 key 778 value 2360 [ 32.574292] 56 key 779 value 2361 [ 32.574851] 57 key 783 value 2400 [ 32.575386] 58 key 785 value 2402 [ 32.575942] 59 key 797 value 2463 [ 32.576476] 60 key 798 value 2464 [ 32.577030] 61 key 807 value 2669 [ 32.577591] 62 key 808 value 2670 [ 32.578130] 63 key 822 value 2362 [ 32.578690] 64 key 823 value 2363 [ 32.579236] 65 key 826 value 2810 [ 32.579790] 66 key 840 value 2489 [ 32.580322] 67 key 852 value 2184 [ 32.580878] 68 key 853 value 2466 [ 32.581408] 69 key 861 value 2467 [ 32.581960] 70 key 862 value 2468 [ 32.582498] 71 key 863 value 2469 [ 32.583054] 72 key 875 value 2720 [ 32.583604] 73 key 876 value 2721 [ 32.584130] 74 key 878 value 2676 [ 32.584684] 75 key 879 value 2677 [ 32.585214] 76 key 886 value 2671 [ 32.585775] 77 key 887 value 2672 [ 32.586313] 78 key 896 value 2695 [ 32.586868] 79 key 897 value 2696 [ 32.587404] 80 key 898 value 2697 [ 32.587961] 81 key 910 value 1501 [ 32.588494] 82 key 912 value 2816 [ 32.589046] 83 key 916 value 2817 [ 32.589596] 84 key 917 value 2818 [ 32.590126] 85 key 932 value 2694 [ 32.590680] 86 key 947 value 2699 [ 32.591205] 87 key 948 value 2700 [ 32.591755] 88 key 957 value 1921 [ 32.592283] 89 key 958 value 2231 [ 32.592832] 90 key 967 value 2174 [ 32.593367] 91 key 968 value 2585 [ 32.593933] 92 key 2048 value 11 [ 32.594449] 93 key 2056 value 808 [ 32.595006] 94 key 2057 value 809 [ 32.595560] 95 key 2058 value 1068 [ 32.596105] 96 key 2059 value 2512 [ 32.596677] 97 key 2060 value 937 [ 32.597213] 98 key 2062 value 938 [ 32.597787] 99 key 2063 value 853 [ 32.598321] 100 key 2064 value 1633 [ 32.598900] 101 key 2065 value 855 [ 32.599446] 102 key 2066 value 1659 [ 32.600023] 103 key 2068 value 863 [ 32.600591] 104 key 2069 value 904 [ 32.601141] 105 key 2070 value 856 [ 32.601713] 106 key 2071 value 857 [ 32.602261] 107 key 2072 value 905 [ 32.602830] 108 key 2073 value 906 [ 32.603381] 109 key 2074 value 864 [ 32.603952] 110 key 2075 value 865 [ 32.604504] 111 key 2076 value 1224 [ 32.605090] 112 key 2077 value 1299 [ 32.605681] 113 key 2078 value 781 [ 32.606255] 114 key 2089 value 996 [ 32.606823] 115 key 2090 value 1266 [ 32.607375] 116 key 2091 value 1277 [ 32.607961] 117 key 2092 value 889 [ 32.608508] 118 key 2093 value 549 [ 32.609075] 119 key 2094 value 550 [ 32.609647] 120 key 2095 value 555 [ 32.610190] 121 key 2096 value 1036 [ 32.610768] 122 key 2097 value 1018 [ 32.611334] 123 key 2098 value 1100 [ 32.611918] 124 key 2099 value 1101 [ 32.612476] 125 key 2100 value 1896 [ 32.613058] 126 key 2101 value 954 [ 32.613639] 127 key 2102 value 907 [ 32.614194] 128 key 2103 value 925 [ 32.614772] 129 key 2104 value 858 [ 32.615324] 130 key 2105 value 859 [ 32.615900] 131 key 2107 value 1026 [ 32.616454] 132 key 2108 value 1001 [ 32.617040] 133 key 2109 value 1002 [ 32.617628] 134 key 2110 value 1007 [ 32.618198] 135 key 2111 value 908 [ 32.618769] 136 key 2112 value 1102 [ 32.619333] 137 key 2113 value 2689 [ 32.619919] 138 key 2114 value 593 [ 32.620472] 139 key 2115 value 1097 [ 32.621059] 140 key 2116 value 1225 [ 32.621646] 141 key 2117 value 1226 [ 32.622263] 142 key 2118 value 1236 [ 32.622855] 143 key 2119 value 1012 [ 32.623427] 144 key 2120 value 1013 [ 32.624015] 145 key 2121 value 1278 [ 32.624603] 146 key 2122 value 1275 [ 32.625169] 147 key 2123 value 1276 [ 32.625774] 148 key 2124 value 1308 [ 32.626340] 149 key 2125 value 1532 [ 32.626946] 150 key 2126 value 1309 [ 32.627510] 151 key 2127 value 1242 [ 32.628097] 152 key 2128 value 1243 [ 32.628683] 153 key 2129 value 1244 [ 32.629251] 154 key 2130 value 1332 [ 32.629842] 155 key 2131 value 1333 [ 32.630412] 156 key 2132 value 995 [ 32.630997] 157 key 2133 value 1335 [ 32.631594] 158 key 2134 value 721 [ 32.632154] 159 key 2135 value 1475 [ 32.632749] 160 key 2136 value 1014 [ 32.633323] 161 key 2137 value 1015 [ 32.633920] 162 key 2138 value 2279 [ 32.634501] 163 key 2139 value 1355 [ 32.635092] 164 key 2140 value 806 [ 32.635668] 165 key 2141 value 1369 [ 32.636240] 166 key 2142 value 683 [ 32.636826] 167 key 2143 value 1317 [ 32.637394] 168 key 2144 value 1374 [ 32.637982] 169 key 2145 value 1422 [ 32.638570] 170 key 2146 value 1423 [ 32.639139] 171 key 2147 value 680 [ 32.639723] 172 key 2148 value 710 [ 32.640280] 173 key 2149 value 1502 [ 32.640897] 174 key 2150 value 1027 [ 32.641471] 175 key 2151 value 1216 [ 32.642068] 176 key 2152 value 1295 [ 32.642652] 177 key 2153 value 1661 [ 32.643206] 178 key 2154 value 1662 [ 32.643781] 179 key 2155 value 1663 [ 32.644340] 180 key 2156 value 1505 [ 32.644916] 181 key 2157 value 536 [ 32.645456] 182 key 2158 value 537 [ 32.646019] 183 key 2160 value 1511 [ 32.646599] 184 key 2161 value 1456 [ 32.647151] 185 key 2162 value 1457 [ 32.647732] 186 key 2166 value 685 [ 32.648275] 187 key 2167 value 686 [ 32.648846] 188 key 2168 value 1542 [ 32.649397] 189 key 2169 value 1056 [ 32.649972] 190 key 2170 value 1955 [ 32.650525] 191 key 2171 value 1366 [ 32.651096] 192 key 2175 value 1545 [ 32.651669] 193 key 2176 value 2160 [ 32.652216] 194 key 2177 value 1547 [ 32.652778] 195 key 2178 value 1367 [ 32.653325] 196 key 2179 value 1368 [ 32.653906] 197 key 2180 value 2355 [ 32.654479] 198 key 2182 value 1490 [ 32.655053] 199 key 2183 value 1491 [ 32.655635] 200 key 2188 value 2223 [ 32.656202] 201 key 2189 value 1370 [ 32.656793] 202 key 2190 value 1371 [ 32.657363] 203 key 2193 value 1815 [ 32.660922] 204 key 2196 value 910 [ 32.661474] 205 key 2197 value 1800 [ 32.662062] [ 32.662062] [ 32.662062] origin [ 32.662872] flags 1 blocknr 272 nr_entries 14 [ 32.663608] 0 key 0 value 292 [ 32.664078] 1 key 210 value 273 [ 32.664603] 2 key 556 value 279 [ 32.665107] 3 key 2198 value 283 [ 32.665661] 4 key 2552 value 274 [ 32.666183] 5 key 4202 value 270 [ 32.666726] 6 key 4729 value 287 [ 32.667240] 7 key 6425 value 275 [ 32.667790] 8 key 8257 value 290 [ 32.668323] 9 key 8431 value 271 [ 32.668884] 10 key 8638 value 269 [ 32.669488] 11 key 10492 value 268 [ 32.670119] 12 key 12422 value 276 [ 32.670733] 13 key 14427 value 289 [ 32.671423] found block 272 [ 32.673171] fail io [ 32.702095] device-mapper: thin: 252:0: metadata operation 'dm_pool_commit_metadata' failed: error = -5 [ 32.703848] device-mapper: thin: 252:0: aborting current metadata transaction [ 32.707844] __find_block: root 266 [ 32.709653] [ 32.709653] [ 32.709653] dump origin(pmd root 266): [ 32.710882] flags 1 blocknr 272 nr_entries 14 [ 32.711680] 0 key 0 value 292 [ 32.712213] 1 key 210 value 273 [ 32.712791] 2 key 556 value 279 [ 32.713362] 3 key 2198 value 283 [ 32.713960] 4 key 2552 value 274 [ 32.714531] 5 key 4202 value 270 [ 32.715212] 6 key 4729 value 287 [ 32.715826] 7 key 6425 value 275 [ 32.716413] 8 key 8257 value 290 [ 32.717027] 9 key 8431 value 271 [ 32.717644] 10 key 8638 value 269 [ 32.718233] 11 key 10492 value 268 [ 32.718863] 12 key 12422 value 276 [ 32.719459] 13 key 14427 value 289 [ 32.720113] Kernel panic - not syncing: DONE [ 32.720880] CPU: 0 PID: 127 Comm: kworker/u4:6 Not tainted 5.10.0-02750-g63e393693738-dirty #443 [ 32.722388] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc314 [ 32.724702] Workqueue: dm-thin do_worker [ 32.725396] Call Trace: [ 32.725860] dump_stack+0xa6/0xd5 [ 32.726480] panic+0x164/0x491 [ 32.727039] btree_lookup_raw.constprop.0.cold+0x3b/0x3b [ 32.727999] dm_btree_lookup+0xc5/0x160 [ 32.728711] __find_block+0x84/0x100 [ 32.729348] ? queue_io+0x77/0xa0 [ 32.729988] dm_thin_find_block+0x58/0xb0 [ 32.730713] __process_bio_read_only+0x60/0x2e0 [ 32.731513] process_cell_read_only+0x19/0x30 [ 32.732289] do_worker+0x338/0xe80 [ 32.732897] ? pwq_activate_delayed_work+0x53/0x130 [ 32.733757] process_one_work+0x27c/0x5f0 [ 32.734475] worker_thread+0x28b/0x6b0 [ 32.735143] ? rescuer_thread+0x590/0x590 [ 32.735851] kthread+0x153/0x1b0 [ 32.736426] ? kthread_flush_work+0x170/0x170 [ 32.737246] ret_from_fork+0x1f/0x30 [ 32.737972] Kernel Offset: disabled [ 32.738622] ---[ end Kernel panic - not syncing: DONE ]--- ``` 【附件信息】 diff ``` diff --git a/block/blk-core.c b/block/blk-core.c index d0dbb67fe46d..389e75d47209 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -739,10 +739,14 @@ static inline bool bio_check_ro(struct bio *bio, struct hd_struct *part) return false; } +struct bio *g_bio; static noinline int should_fail_bio(struct bio *bio) { - if (should_fail_request(&bio->bi_disk->part0, bio->bi_iter.bi_size)) + if (should_fail_request(&bio->bi_disk->part0, bio->bi_iter.bi_size) || bio == g_bio) { + pr_err("fail io\n"); + g_bio = (void *)-1; return -EIO; + } return 0; } ALLOW_ERROR_INJECTION(should_fail_bio, ERRNO); diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c index 50f3e673729c..d938e19f85c2 100644 --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c @@ -18,6 +18,7 @@ #include <linux/module.h> #include <linux/rbtree.h> #include <linux/stacktrace.h> +#include "persistent-data/dm-btree-internal.h" #define DM_MSG_PREFIX "bufio" @@ -165,6 +166,8 @@ struct dm_buffer { #define dm_bufio_in_request() (!!current->bio_list) +static void read_endio(struct dm_buffer *b, blk_status_t status); + static void dm_bufio_lock(struct dm_bufio_client *c) { mutex_lock_nested(&c->lock, dm_bufio_in_request()); @@ -615,6 +618,9 @@ static void bio_complete(struct bio *bio) b->end_io(b, status); } +int g_found = 0; +extern struct bio *g_bio; + static void use_bio(struct dm_buffer *b, int rw, sector_t sector, unsigned n_sectors, unsigned offset) { @@ -633,6 +639,11 @@ static void use_bio(struct dm_buffer *b, int rw, sector_t sector, return; } + if (!g_bio && g_found && g_found == b->block) { + pr_err("found block %llu\n", b->block); + g_bio = bio; + } + bio->bi_iter.bi_sector = sector; bio_set_dev(bio, b->c->bdev); bio_set_op_attrs(bio, rw, 0); @@ -742,6 +753,8 @@ static void write_endio(struct dm_buffer *b, blk_status_t status) * - Submit our write and don't wait on it. We set B_WRITING indicating * that there is a write in progress. */ +extern int g_blocks[100000]; + static void __write_dirty_buffer(struct dm_buffer *b, struct list_head *write_list) { @@ -754,6 +767,35 @@ static void __write_dirty_buffer(struct dm_buffer *b, b->write_start = b->dirty_start; b->write_end = b->dirty_end; + if (!g_found && g_blocks[b->block] >= 2) { + struct btree_node *node = b->data; + struct dm_buffer bu; + memcpy(&bu, b, sizeof(bu)); + char data[4096]; + bu.data = (void *)data; + + bu.state = 1 << B_READING; + submit_io(&bu, REQ_OP_READ, read_endio); + wait_on_bit_io(&bu.state, B_READING, TASK_UNINTERRUPTIBLE); + if (bu.read_error) + panic("WRONG\n"); + + if (le32_to_cpu(node->header.flags) == 2 && le32_to_cpu(((struct btree_node *)bu.data)->header.flags) == 1 && le32_to_cpu(node->header.nr_entries) != le32_to_cpu(((struct btree_node *)bu.data)->header.nr_entries)) { + int i; + + g_found = b->block; + pr_err("current\n"); + pr_err("flags %u blocknr %llu nr_entries %u\n", le32_to_cpu(node->header.flags), b->block, le32_to_cpu(node->header.nr_entries)); + for (i = 0; i < le32_to_cpu(node->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(node->keys[i]), value64(node, i) >> 24); + pr_err("\n\norigin\n"); + node = (struct btree_node *)bu.data; + pr_err("flags %u blocknr %u nr_entries %u\n", le32_to_cpu(node->header.flags), le32_to_cpu(node->header.blocknr), le32_to_cpu(node->header.nr_entries)); + for (i = 0; i < le32_to_cpu(node->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(node->keys[i]), value64(node, i)); + } + } + if (!write_list) submit_io(b, REQ_OP_WRITE, write_endio); else diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c index 5961caf17c71..3b1ad2497c8f 100644 --- a/drivers/md/dm-thin-metadata.c +++ b/drivers/md/dm-thin-metadata.c @@ -1487,6 +1487,7 @@ static void unpack_lookup_result(struct dm_thin_device *td, __le64 value, result->shared = __snapshotted_since(td, exception_time); } +extern int g_read_only, g_root; static int __find_block(struct dm_thin_device *td, dm_block_t block, int can_issue_io, struct dm_thin_lookup_result *result) { @@ -1495,12 +1496,19 @@ static int __find_block(struct dm_thin_device *td, dm_block_t block, struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[2] = { td->id, block }; struct dm_btree_info *info; + static int pr = 0; if (can_issue_io) { info = &pmd->info; } else info = &pmd->nb_info; + if (!pr && g_read_only) { + pr = 1; + pr_err("%s: root %llu\n", __func__, pmd->root); + g_root = pmd->root; + } + r = dm_btree_lookup(info, pmd->root, keys, &value); if (!r) unpack_lookup_result(td, value, result); @@ -1613,14 +1621,18 @@ static int __insert(struct dm_thin_device *td, dm_block_t block, __le64 value; struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[2] = { td->id, block }; + dm_block_t old; value = cpu_to_le64(pack_block_time(data_block, pmd->time)); __dm_bless_for_disk(&value); + old = pmd->root; r = dm_btree_insert_notify(&pmd->info, pmd->root, keys, &value, &pmd->root, &inserted); if (r) return r; + if (old != pmd->root) + pr_err("update root %llu\n", pmd->root); td->changed = true; if (inserted) @@ -1665,7 +1677,7 @@ static int __remove_range(struct dm_thin_device *td, dm_block_t begin, dm_block_ struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[1] = { td->id }; __le64 value; - dm_block_t mapping_root; + dm_block_t mapping_root, old; /* * Find the mapping tree @@ -1680,10 +1692,13 @@ static int __remove_range(struct dm_thin_device *td, dm_block_t begin, dm_block_ */ mapping_root = le64_to_cpu(value); dm_tm_inc(pmd->tm, mapping_root); + old = pmd->root; r = dm_btree_remove(&pmd->tl_info, pmd->root, keys, &pmd->root); if (r) return r; + if (old != pmd->root) + pr_err("update root %llu\n", pmd->root); /* * Remove leaves stops at the first unmapped entry, so we have to * loop round finding mapped ranges. @@ -1857,6 +1872,7 @@ int dm_pool_commit_metadata(struct dm_pool_metadata *pmd) * Open the next transaction. */ r = __begin_transaction(pmd); + pr_err("[NEW TRANS] pwd root %llu\n", pmd->root); out: pmd_write_unlock(pmd); return r; diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index e837839e4def..2965f63ffccd 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c @@ -2524,6 +2524,7 @@ static void set_discard_callbacks(struct pool *pool) } } +int g_read_only; static void set_pool_mode(struct pool *pool, enum pool_mode new_mode) { struct pool_c *pt = pool->ti->private; @@ -2567,6 +2568,7 @@ static void set_pool_mode(struct pool *pool, enum pool_mode new_mode) case PM_OUT_OF_METADATA_SPACE: case PM_READ_ONLY: dm_pool_metadata_read_only(pool->pmd); + g_read_only = 1; pool->process_bio = process_bio_read_only; pool->process_discard = process_bio_success; pool->process_cell = process_cell_read_only; diff --git a/drivers/md/persistent-data/dm-btree.c b/drivers/md/persistent-data/dm-btree.c index ee3e63aa864b..10ae54d50f23 100644 --- a/drivers/md/persistent-data/dm-btree.c +++ b/drivers/md/persistent-data/dm-btree.c @@ -343,6 +343,9 @@ EXPORT_SYMBOL_GPL(dm_btree_del); /*----------------------------------------------------------------*/ +#include <linux/delay.h> +int g_root; +extern int g_found, g_read_only; static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, int (*search_fn)(struct btree_node *, uint64_t), uint64_t *result_key, void *v, size_t value_size) @@ -355,6 +358,14 @@ static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, if (r < 0) return r; + if (g_found && g_found == block && g_read_only) { + printk_ratelimited("\n\ndump origin(pmd root %d):\n", g_root); + pr_err("flags %u blocknr %u nr_entries %u\n", le32_to_cpu(ro_node(s)->header.flags), le32_to_cpu(ro_node(s)->header.blocknr), le32_to_cpu(ro_node(s)->header.nr_entries)); + for (i = 0; i < le32_to_cpu(ro_node(s)->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(ro_node(s)->keys[i]), value64(ro_node(s), i)); + panic("DONE"); + } + i = search_fn(ro_node(s), key); flags = le32_to_cpu(ro_node(s)->header.flags); @@ -532,6 +543,7 @@ EXPORT_SYMBOL_GPL(dm_btree_lookup_next); * * Where A* is a shadow of A. */ +int g_blocks[100000]; static int btree_split_sibling(struct shadow_spine *s, unsigned parent_index, uint64_t key) { @@ -588,6 +600,9 @@ static int btree_split_sibling(struct shadow_spine *s, unsigned parent_index, return r; } + pr_err("ALLOC2 new block %llu\n", dm_block_location(right)); + g_blocks[dm_block_location(right)]++; + if (key < le64_to_cpu(rn->keys[0])) { unlock_block(s->info, right); s->nodes[1] = left; @@ -687,6 +702,10 @@ static int btree_split_beneath(struct shadow_spine *s, uint64_t key) pn->keys[1] = rn->keys[0]; memcpy_disk(value_ptr(pn, 1), &val, sizeof(__le64)); + pr_err("ALLOC new block %llu %llu\n", dm_block_location(left), dm_block_location(right)); + g_blocks[dm_block_location(right)]++; + g_blocks[dm_block_location(left)]++; + unlock_block(s->info, left); unlock_block(s->info, right); return 0; ``` test.sh ``` #!/bin/bash dmesg -c umount temp dmsetup remove_all dd if=/dev/zero of=/dev/sda bs=1M count=100 dmsetup create pool --table "0 2097152 thin-pool /dev/sda /dev/sdb 128 0" dmsetup message /dev/mapper/pool 0 "create_thin 0" dmsetup create thin --table "0 2097152 thin /dev/mapper/pool 0" mkfs.ext4 -F /dev/dm-1 mount -odiscard /dev/dm-1 /root/temp ./xfstests-dev/ltp/fsstress -d temp -l0 -n 1000 -p 4 #while true; do dd if=/dev/zero of=/root/temp/file bs=1M && sync; rm -f file; sync; done ```
<!-- #请根据issue的类型在标题右侧下拉框中选择对应的选项(需求、缺陷或CVE等)--> <!-- #请根据issue相关的版本在里程碑中选择对应的节点,若是与版本无关,请选择“不关联里程碑”--> 【标题描述】dm提交失败后readonly模式读取到陈旧的元数据 【环境信息】 硬件信息: NA 软件信息: OLK-5.10 【问题复现步骤】 qemu config: sda 20G sdb 5G 1. Apply diff 2. ./test.sh 出现概率(是否必现,概率性错误)必现 【预期结果】 dm commit失败后仍使用最新的root,访问broken btree读取到陈旧的节点 【实际结果】 ``` [ 32.447722] [NEW TRANS] pwd root 261 [ 32.448756] update root 266 [ 32.542533] current [ 32.543073] flags 2 blocknr 272 nr_entries 206 [ 32.543838] 0 key 556 value 1922 [ 32.544362] 1 key 557 value 1934 [ 32.544901] 2 key 559 value 2406 [ 32.545414] 3 key 560 value 2407 [ 32.545946] 4 key 561 value 2821 [ 32.546461] 5 key 569 value 2491 [ 32.546991] 6 key 570 value 2492 [ 32.547505] 7 key 573 value 1980 [ 32.548036] 8 key 574 value 1981 [ 32.548578] 9 key 586 value 1643 [ 32.549098] 10 key 587 value 1960 [ 32.549665] 11 key 588 value 2813 [ 32.550204] 12 key 589 value 2814 [ 32.550757] 13 key 598 value 1936 [ 32.551292] 14 key 599 value 1937 [ 32.551845] 15 key 600 value 1939 [ 32.552379] 16 key 601 value 1961 [ 32.552927] 17 key 608 value 2313 [ 32.553457] 18 key 609 value 2314 [ 32.554009] 19 key 620 value 2063 [ 32.554549] 20 key 621 value 2064 [ 32.555102] 21 key 631 value 2054 [ 32.555656] 22 key 632 value 2055 [ 32.556181] 23 key 645 value 1682 [ 32.556739] 24 key 646 value 2073 [ 32.557272] 25 key 647 value 2074 [ 32.557820] 26 key 655 value 2480 [ 32.558361] 27 key 656 value 2481 [ 32.558912] 28 key 663 value 2087 [ 32.559436] 29 key 677 value 2219 [ 32.559995] 30 key 678 value 2220 [ 32.560528] 31 key 683 value 2208 [ 32.561105] 32 key 684 value 2209 [ 32.561663] 33 key 685 value 2161 [ 32.562195] 34 key 692 value 2605 [ 32.562744] 35 key 693 value 2206 [ 32.563291] 36 key 694 value 2207 [ 32.563849] 37 key 705 value 2071 [ 32.564384] 38 key 707 value 2315 [ 32.564946] 39 key 708 value 2602 [ 32.565475] 40 key 709 value 2603 [ 32.566032] 41 key 730 value 2316 [ 32.566585] 42 key 731 value 2317 [ 32.567125] 43 key 734 value 2322 [ 32.567681] 44 key 735 value 2353 [ 32.568225] 45 key 737 value 2610 [ 32.568776] 46 key 738 value 2611 [ 32.569329] 47 key 742 value 2691 [ 32.569900] 48 key 743 value 2692 [ 32.570434] 49 key 744 value 2693 [ 32.570992] 50 key 753 value 2376 [ 32.571532] 51 key 754 value 2377 [ 32.572098] 52 key 765 value 2354 [ 32.572657] 53 key 769 value 2358 [ 32.573200] 54 key 770 value 2359 [ 32.573756] 55 key 778 value 2360 [ 32.574292] 56 key 779 value 2361 [ 32.574851] 57 key 783 value 2400 [ 32.575386] 58 key 785 value 2402 [ 32.575942] 59 key 797 value 2463 [ 32.576476] 60 key 798 value 2464 [ 32.577030] 61 key 807 value 2669 [ 32.577591] 62 key 808 value 2670 [ 32.578130] 63 key 822 value 2362 [ 32.578690] 64 key 823 value 2363 [ 32.579236] 65 key 826 value 2810 [ 32.579790] 66 key 840 value 2489 [ 32.580322] 67 key 852 value 2184 [ 32.580878] 68 key 853 value 2466 [ 32.581408] 69 key 861 value 2467 [ 32.581960] 70 key 862 value 2468 [ 32.582498] 71 key 863 value 2469 [ 32.583054] 72 key 875 value 2720 [ 32.583604] 73 key 876 value 2721 [ 32.584130] 74 key 878 value 2676 [ 32.584684] 75 key 879 value 2677 [ 32.585214] 76 key 886 value 2671 [ 32.585775] 77 key 887 value 2672 [ 32.586313] 78 key 896 value 2695 [ 32.586868] 79 key 897 value 2696 [ 32.587404] 80 key 898 value 2697 [ 32.587961] 81 key 910 value 1501 [ 32.588494] 82 key 912 value 2816 [ 32.589046] 83 key 916 value 2817 [ 32.589596] 84 key 917 value 2818 [ 32.590126] 85 key 932 value 2694 [ 32.590680] 86 key 947 value 2699 [ 32.591205] 87 key 948 value 2700 [ 32.591755] 88 key 957 value 1921 [ 32.592283] 89 key 958 value 2231 [ 32.592832] 90 key 967 value 2174 [ 32.593367] 91 key 968 value 2585 [ 32.593933] 92 key 2048 value 11 [ 32.594449] 93 key 2056 value 808 [ 32.595006] 94 key 2057 value 809 [ 32.595560] 95 key 2058 value 1068 [ 32.596105] 96 key 2059 value 2512 [ 32.596677] 97 key 2060 value 937 [ 32.597213] 98 key 2062 value 938 [ 32.597787] 99 key 2063 value 853 [ 32.598321] 100 key 2064 value 1633 [ 32.598900] 101 key 2065 value 855 [ 32.599446] 102 key 2066 value 1659 [ 32.600023] 103 key 2068 value 863 [ 32.600591] 104 key 2069 value 904 [ 32.601141] 105 key 2070 value 856 [ 32.601713] 106 key 2071 value 857 [ 32.602261] 107 key 2072 value 905 [ 32.602830] 108 key 2073 value 906 [ 32.603381] 109 key 2074 value 864 [ 32.603952] 110 key 2075 value 865 [ 32.604504] 111 key 2076 value 1224 [ 32.605090] 112 key 2077 value 1299 [ 32.605681] 113 key 2078 value 781 [ 32.606255] 114 key 2089 value 996 [ 32.606823] 115 key 2090 value 1266 [ 32.607375] 116 key 2091 value 1277 [ 32.607961] 117 key 2092 value 889 [ 32.608508] 118 key 2093 value 549 [ 32.609075] 119 key 2094 value 550 [ 32.609647] 120 key 2095 value 555 [ 32.610190] 121 key 2096 value 1036 [ 32.610768] 122 key 2097 value 1018 [ 32.611334] 123 key 2098 value 1100 [ 32.611918] 124 key 2099 value 1101 [ 32.612476] 125 key 2100 value 1896 [ 32.613058] 126 key 2101 value 954 [ 32.613639] 127 key 2102 value 907 [ 32.614194] 128 key 2103 value 925 [ 32.614772] 129 key 2104 value 858 [ 32.615324] 130 key 2105 value 859 [ 32.615900] 131 key 2107 value 1026 [ 32.616454] 132 key 2108 value 1001 [ 32.617040] 133 key 2109 value 1002 [ 32.617628] 134 key 2110 value 1007 [ 32.618198] 135 key 2111 value 908 [ 32.618769] 136 key 2112 value 1102 [ 32.619333] 137 key 2113 value 2689 [ 32.619919] 138 key 2114 value 593 [ 32.620472] 139 key 2115 value 1097 [ 32.621059] 140 key 2116 value 1225 [ 32.621646] 141 key 2117 value 1226 [ 32.622263] 142 key 2118 value 1236 [ 32.622855] 143 key 2119 value 1012 [ 32.623427] 144 key 2120 value 1013 [ 32.624015] 145 key 2121 value 1278 [ 32.624603] 146 key 2122 value 1275 [ 32.625169] 147 key 2123 value 1276 [ 32.625774] 148 key 2124 value 1308 [ 32.626340] 149 key 2125 value 1532 [ 32.626946] 150 key 2126 value 1309 [ 32.627510] 151 key 2127 value 1242 [ 32.628097] 152 key 2128 value 1243 [ 32.628683] 153 key 2129 value 1244 [ 32.629251] 154 key 2130 value 1332 [ 32.629842] 155 key 2131 value 1333 [ 32.630412] 156 key 2132 value 995 [ 32.630997] 157 key 2133 value 1335 [ 32.631594] 158 key 2134 value 721 [ 32.632154] 159 key 2135 value 1475 [ 32.632749] 160 key 2136 value 1014 [ 32.633323] 161 key 2137 value 1015 [ 32.633920] 162 key 2138 value 2279 [ 32.634501] 163 key 2139 value 1355 [ 32.635092] 164 key 2140 value 806 [ 32.635668] 165 key 2141 value 1369 [ 32.636240] 166 key 2142 value 683 [ 32.636826] 167 key 2143 value 1317 [ 32.637394] 168 key 2144 value 1374 [ 32.637982] 169 key 2145 value 1422 [ 32.638570] 170 key 2146 value 1423 [ 32.639139] 171 key 2147 value 680 [ 32.639723] 172 key 2148 value 710 [ 32.640280] 173 key 2149 value 1502 [ 32.640897] 174 key 2150 value 1027 [ 32.641471] 175 key 2151 value 1216 [ 32.642068] 176 key 2152 value 1295 [ 32.642652] 177 key 2153 value 1661 [ 32.643206] 178 key 2154 value 1662 [ 32.643781] 179 key 2155 value 1663 [ 32.644340] 180 key 2156 value 1505 [ 32.644916] 181 key 2157 value 536 [ 32.645456] 182 key 2158 value 537 [ 32.646019] 183 key 2160 value 1511 [ 32.646599] 184 key 2161 value 1456 [ 32.647151] 185 key 2162 value 1457 [ 32.647732] 186 key 2166 value 685 [ 32.648275] 187 key 2167 value 686 [ 32.648846] 188 key 2168 value 1542 [ 32.649397] 189 key 2169 value 1056 [ 32.649972] 190 key 2170 value 1955 [ 32.650525] 191 key 2171 value 1366 [ 32.651096] 192 key 2175 value 1545 [ 32.651669] 193 key 2176 value 2160 [ 32.652216] 194 key 2177 value 1547 [ 32.652778] 195 key 2178 value 1367 [ 32.653325] 196 key 2179 value 1368 [ 32.653906] 197 key 2180 value 2355 [ 32.654479] 198 key 2182 value 1490 [ 32.655053] 199 key 2183 value 1491 [ 32.655635] 200 key 2188 value 2223 [ 32.656202] 201 key 2189 value 1370 [ 32.656793] 202 key 2190 value 1371 [ 32.657363] 203 key 2193 value 1815 [ 32.660922] 204 key 2196 value 910 [ 32.661474] 205 key 2197 value 1800 [ 32.662062] [ 32.662062] [ 32.662062] origin [ 32.662872] flags 1 blocknr 272 nr_entries 14 [ 32.663608] 0 key 0 value 292 [ 32.664078] 1 key 210 value 273 [ 32.664603] 2 key 556 value 279 [ 32.665107] 3 key 2198 value 283 [ 32.665661] 4 key 2552 value 274 [ 32.666183] 5 key 4202 value 270 [ 32.666726] 6 key 4729 value 287 [ 32.667240] 7 key 6425 value 275 [ 32.667790] 8 key 8257 value 290 [ 32.668323] 9 key 8431 value 271 [ 32.668884] 10 key 8638 value 269 [ 32.669488] 11 key 10492 value 268 [ 32.670119] 12 key 12422 value 276 [ 32.670733] 13 key 14427 value 289 [ 32.671423] found block 272 [ 32.673171] fail io [ 32.702095] device-mapper: thin: 252:0: metadata operation 'dm_pool_commit_metadata' failed: error = -5 [ 32.703848] device-mapper: thin: 252:0: aborting current metadata transaction [ 32.707844] __find_block: root 266 [ 32.709653] [ 32.709653] [ 32.709653] dump origin(pmd root 266): [ 32.710882] flags 1 blocknr 272 nr_entries 14 [ 32.711680] 0 key 0 value 292 [ 32.712213] 1 key 210 value 273 [ 32.712791] 2 key 556 value 279 [ 32.713362] 3 key 2198 value 283 [ 32.713960] 4 key 2552 value 274 [ 32.714531] 5 key 4202 value 270 [ 32.715212] 6 key 4729 value 287 [ 32.715826] 7 key 6425 value 275 [ 32.716413] 8 key 8257 value 290 [ 32.717027] 9 key 8431 value 271 [ 32.717644] 10 key 8638 value 269 [ 32.718233] 11 key 10492 value 268 [ 32.718863] 12 key 12422 value 276 [ 32.719459] 13 key 14427 value 289 [ 32.720113] Kernel panic - not syncing: DONE [ 32.720880] CPU: 0 PID: 127 Comm: kworker/u4:6 Not tainted 5.10.0-02750-g63e393693738-dirty #443 [ 32.722388] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc314 [ 32.724702] Workqueue: dm-thin do_worker [ 32.725396] Call Trace: [ 32.725860] dump_stack+0xa6/0xd5 [ 32.726480] panic+0x164/0x491 [ 32.727039] btree_lookup_raw.constprop.0.cold+0x3b/0x3b [ 32.727999] dm_btree_lookup+0xc5/0x160 [ 32.728711] __find_block+0x84/0x100 [ 32.729348] ? queue_io+0x77/0xa0 [ 32.729988] dm_thin_find_block+0x58/0xb0 [ 32.730713] __process_bio_read_only+0x60/0x2e0 [ 32.731513] process_cell_read_only+0x19/0x30 [ 32.732289] do_worker+0x338/0xe80 [ 32.732897] ? pwq_activate_delayed_work+0x53/0x130 [ 32.733757] process_one_work+0x27c/0x5f0 [ 32.734475] worker_thread+0x28b/0x6b0 [ 32.735143] ? rescuer_thread+0x590/0x590 [ 32.735851] kthread+0x153/0x1b0 [ 32.736426] ? kthread_flush_work+0x170/0x170 [ 32.737246] ret_from_fork+0x1f/0x30 [ 32.737972] Kernel Offset: disabled [ 32.738622] ---[ end Kernel panic - not syncing: DONE ]--- ``` 【附件信息】 diff ``` diff --git a/block/blk-core.c b/block/blk-core.c index d0dbb67fe46d..389e75d47209 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -739,10 +739,14 @@ static inline bool bio_check_ro(struct bio *bio, struct hd_struct *part) return false; } +struct bio *g_bio; static noinline int should_fail_bio(struct bio *bio) { - if (should_fail_request(&bio->bi_disk->part0, bio->bi_iter.bi_size)) + if (should_fail_request(&bio->bi_disk->part0, bio->bi_iter.bi_size) || bio == g_bio) { + pr_err("fail io\n"); + g_bio = (void *)-1; return -EIO; + } return 0; } ALLOW_ERROR_INJECTION(should_fail_bio, ERRNO); diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c index 50f3e673729c..d938e19f85c2 100644 --- a/drivers/md/dm-bufio.c +++ b/drivers/md/dm-bufio.c @@ -18,6 +18,7 @@ #include <linux/module.h> #include <linux/rbtree.h> #include <linux/stacktrace.h> +#include "persistent-data/dm-btree-internal.h" #define DM_MSG_PREFIX "bufio" @@ -165,6 +166,8 @@ struct dm_buffer { #define dm_bufio_in_request() (!!current->bio_list) +static void read_endio(struct dm_buffer *b, blk_status_t status); + static void dm_bufio_lock(struct dm_bufio_client *c) { mutex_lock_nested(&c->lock, dm_bufio_in_request()); @@ -615,6 +618,9 @@ static void bio_complete(struct bio *bio) b->end_io(b, status); } +int g_found = 0; +extern struct bio *g_bio; + static void use_bio(struct dm_buffer *b, int rw, sector_t sector, unsigned n_sectors, unsigned offset) { @@ -633,6 +639,11 @@ static void use_bio(struct dm_buffer *b, int rw, sector_t sector, return; } + if (!g_bio && g_found && g_found == b->block) { + pr_err("found block %llu\n", b->block); + g_bio = bio; + } + bio->bi_iter.bi_sector = sector; bio_set_dev(bio, b->c->bdev); bio_set_op_attrs(bio, rw, 0); @@ -742,6 +753,8 @@ static void write_endio(struct dm_buffer *b, blk_status_t status) * - Submit our write and don't wait on it. We set B_WRITING indicating * that there is a write in progress. */ +extern int g_blocks[100000]; + static void __write_dirty_buffer(struct dm_buffer *b, struct list_head *write_list) { @@ -754,6 +767,35 @@ static void __write_dirty_buffer(struct dm_buffer *b, b->write_start = b->dirty_start; b->write_end = b->dirty_end; + if (!g_found && g_blocks[b->block] >= 2) { + struct btree_node *node = b->data; + struct dm_buffer bu; + memcpy(&bu, b, sizeof(bu)); + char data[4096]; + bu.data = (void *)data; + + bu.state = 1 << B_READING; + submit_io(&bu, REQ_OP_READ, read_endio); + wait_on_bit_io(&bu.state, B_READING, TASK_UNINTERRUPTIBLE); + if (bu.read_error) + panic("WRONG\n"); + + if (le32_to_cpu(node->header.flags) == 2 && le32_to_cpu(((struct btree_node *)bu.data)->header.flags) == 1 && le32_to_cpu(node->header.nr_entries) != le32_to_cpu(((struct btree_node *)bu.data)->header.nr_entries)) { + int i; + + g_found = b->block; + pr_err("current\n"); + pr_err("flags %u blocknr %llu nr_entries %u\n", le32_to_cpu(node->header.flags), b->block, le32_to_cpu(node->header.nr_entries)); + for (i = 0; i < le32_to_cpu(node->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(node->keys[i]), value64(node, i) >> 24); + pr_err("\n\norigin\n"); + node = (struct btree_node *)bu.data; + pr_err("flags %u blocknr %u nr_entries %u\n", le32_to_cpu(node->header.flags), le32_to_cpu(node->header.blocknr), le32_to_cpu(node->header.nr_entries)); + for (i = 0; i < le32_to_cpu(node->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(node->keys[i]), value64(node, i)); + } + } + if (!write_list) submit_io(b, REQ_OP_WRITE, write_endio); else diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c index 5961caf17c71..3b1ad2497c8f 100644 --- a/drivers/md/dm-thin-metadata.c +++ b/drivers/md/dm-thin-metadata.c @@ -1487,6 +1487,7 @@ static void unpack_lookup_result(struct dm_thin_device *td, __le64 value, result->shared = __snapshotted_since(td, exception_time); } +extern int g_read_only, g_root; static int __find_block(struct dm_thin_device *td, dm_block_t block, int can_issue_io, struct dm_thin_lookup_result *result) { @@ -1495,12 +1496,19 @@ static int __find_block(struct dm_thin_device *td, dm_block_t block, struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[2] = { td->id, block }; struct dm_btree_info *info; + static int pr = 0; if (can_issue_io) { info = &pmd->info; } else info = &pmd->nb_info; + if (!pr && g_read_only) { + pr = 1; + pr_err("%s: root %llu\n", __func__, pmd->root); + g_root = pmd->root; + } + r = dm_btree_lookup(info, pmd->root, keys, &value); if (!r) unpack_lookup_result(td, value, result); @@ -1613,14 +1621,18 @@ static int __insert(struct dm_thin_device *td, dm_block_t block, __le64 value; struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[2] = { td->id, block }; + dm_block_t old; value = cpu_to_le64(pack_block_time(data_block, pmd->time)); __dm_bless_for_disk(&value); + old = pmd->root; r = dm_btree_insert_notify(&pmd->info, pmd->root, keys, &value, &pmd->root, &inserted); if (r) return r; + if (old != pmd->root) + pr_err("update root %llu\n", pmd->root); td->changed = true; if (inserted) @@ -1665,7 +1677,7 @@ static int __remove_range(struct dm_thin_device *td, dm_block_t begin, dm_block_ struct dm_pool_metadata *pmd = td->pmd; dm_block_t keys[1] = { td->id }; __le64 value; - dm_block_t mapping_root; + dm_block_t mapping_root, old; /* * Find the mapping tree @@ -1680,10 +1692,13 @@ static int __remove_range(struct dm_thin_device *td, dm_block_t begin, dm_block_ */ mapping_root = le64_to_cpu(value); dm_tm_inc(pmd->tm, mapping_root); + old = pmd->root; r = dm_btree_remove(&pmd->tl_info, pmd->root, keys, &pmd->root); if (r) return r; + if (old != pmd->root) + pr_err("update root %llu\n", pmd->root); /* * Remove leaves stops at the first unmapped entry, so we have to * loop round finding mapped ranges. @@ -1857,6 +1872,7 @@ int dm_pool_commit_metadata(struct dm_pool_metadata *pmd) * Open the next transaction. */ r = __begin_transaction(pmd); + pr_err("[NEW TRANS] pwd root %llu\n", pmd->root); out: pmd_write_unlock(pmd); return r; diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index e837839e4def..2965f63ffccd 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c @@ -2524,6 +2524,7 @@ static void set_discard_callbacks(struct pool *pool) } } +int g_read_only; static void set_pool_mode(struct pool *pool, enum pool_mode new_mode) { struct pool_c *pt = pool->ti->private; @@ -2567,6 +2568,7 @@ static void set_pool_mode(struct pool *pool, enum pool_mode new_mode) case PM_OUT_OF_METADATA_SPACE: case PM_READ_ONLY: dm_pool_metadata_read_only(pool->pmd); + g_read_only = 1; pool->process_bio = process_bio_read_only; pool->process_discard = process_bio_success; pool->process_cell = process_cell_read_only; diff --git a/drivers/md/persistent-data/dm-btree.c b/drivers/md/persistent-data/dm-btree.c index ee3e63aa864b..10ae54d50f23 100644 --- a/drivers/md/persistent-data/dm-btree.c +++ b/drivers/md/persistent-data/dm-btree.c @@ -343,6 +343,9 @@ EXPORT_SYMBOL_GPL(dm_btree_del); /*----------------------------------------------------------------*/ +#include <linux/delay.h> +int g_root; +extern int g_found, g_read_only; static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, int (*search_fn)(struct btree_node *, uint64_t), uint64_t *result_key, void *v, size_t value_size) @@ -355,6 +358,14 @@ static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, if (r < 0) return r; + if (g_found && g_found == block && g_read_only) { + printk_ratelimited("\n\ndump origin(pmd root %d):\n", g_root); + pr_err("flags %u blocknr %u nr_entries %u\n", le32_to_cpu(ro_node(s)->header.flags), le32_to_cpu(ro_node(s)->header.blocknr), le32_to_cpu(ro_node(s)->header.nr_entries)); + for (i = 0; i < le32_to_cpu(ro_node(s)->header.nr_entries); ++i) + pr_err("%d key %llu value %llu\n", i, le64_to_cpu(ro_node(s)->keys[i]), value64(ro_node(s), i)); + panic("DONE"); + } + i = search_fn(ro_node(s), key); flags = le32_to_cpu(ro_node(s)->header.flags); @@ -532,6 +543,7 @@ EXPORT_SYMBOL_GPL(dm_btree_lookup_next); * * Where A* is a shadow of A. */ +int g_blocks[100000]; static int btree_split_sibling(struct shadow_spine *s, unsigned parent_index, uint64_t key) { @@ -588,6 +600,9 @@ static int btree_split_sibling(struct shadow_spine *s, unsigned parent_index, return r; } + pr_err("ALLOC2 new block %llu\n", dm_block_location(right)); + g_blocks[dm_block_location(right)]++; + if (key < le64_to_cpu(rn->keys[0])) { unlock_block(s->info, right); s->nodes[1] = left; @@ -687,6 +702,10 @@ static int btree_split_beneath(struct shadow_spine *s, uint64_t key) pn->keys[1] = rn->keys[0]; memcpy_disk(value_ptr(pn, 1), &val, sizeof(__le64)); + pr_err("ALLOC new block %llu %llu\n", dm_block_location(left), dm_block_location(right)); + g_blocks[dm_block_location(right)]++; + g_blocks[dm_block_location(left)]++; + unlock_block(s->info, left); unlock_block(s->info, right); return 0; ``` test.sh ``` #!/bin/bash dmesg -c umount temp dmsetup remove_all dd if=/dev/zero of=/dev/sda bs=1M count=100 dmsetup create pool --table "0 2097152 thin-pool /dev/sda /dev/sdb 128 0" dmsetup message /dev/mapper/pool 0 "create_thin 0" dmsetup create thin --table "0 2097152 thin /dev/mapper/pool 0" mkfs.ext4 -F /dev/dm-1 mount -odiscard /dev/dm-1 /root/temp ./xfstests-dev/ltp/fsstress -d temp -l0 -n 1000 -p 4 #while true; do dd if=/dev/zero of=/root/temp/file bs=1M && sync; rm -f file; sync; done ```
评论 (
1
)
登录
后才可以发表评论
状态
已完成
待办的
已挂起
修复中
已确认
已完成
已验收
已取消
负责人
未设置
标签
sig/Kernel
未设置
项目
未立项任务
未立项任务
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (15)
标签 (1848)
openEuler-1.0-LTS
OLK-6.6
OLK-5.10
oe_txgbe
merge_txgbe_66
openEuler-25.03
openEuler-22.03-LTS-SP1
openEuler-23.09
openEuler-22.03-LTS-SP2
openEuler-22.03-LTS
openEuler-22.09
master
openEuler-21.09
openEuler-21.03
openEuler-20.09
5.10.0-285.0.0
5.10.0-284.0.0
4.19.90-2510.1.0
6.6.0-111.0.1
4.19.90-2509.6.0
5.10.0-283.0.0
6.6.0-111.0.0
4.19.90-2509.5.0
6.6.0-110.0.0
5.10.0-282.0.0
4.19.90-2509.4.0
6.6.0-109.0.0
5.10.0-281.0.0
4.19.90-2509.3.0
4.19.90-2509.2.0
4.19.90-2509.1.0
6.6.0-108.0.0
5.10.0-280.0.0
4.19.90-2508.3.0
6.6.0-107.0.0
5.10.0-279.0.0
4.19.90-2508.2.0
5.10.0-278.0.0
6.6.0-106.0.0
5.10.0-277.0.0
4.19.90-2508.1.0
6.6.0-105.0.0
6.6.0-104.0.0
5.10.0-276.0.0
4.19.90-2507.5.0
6.6.0-103.0.0
5.10.0-275.0.0
v6.16
4.19.90-2507.4.0
5.10.0-274.0.0
6.6.0-102.0.0
6.6.0-101.0.0
4.19.90-2507.3.0
5.10.0-273.0.0
openEuler-22.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP2
openEuler-22.03-LTS-SP1
openEuler-22.03-LTS
openEuler-24.03-LTS-SP2
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS
6.6.0-100.0.0
5.10.0-272.0.0
5.10.0-271.0.0
4.19.90-2507.2.0
6.6.0-99.0.0
5.10.0-270.0.0
4.19.90-2507.1.0
4.19.90-2506.4.0
5.10.0-269.0.0
6.6.0-98.0.0
4.19.90-2506.3.0
5.10.0-268.0.0
6.6.0-97.0.0
6.6.0-96.0.0
4.19.90-2506.2.0
5.10.0-267.0.0
v6.12.33
v6.12.32
6.6.0-95.0.0
4.19.90-2506.1.0
5.10.0-266.0.0
6.6.0-94.0.0
v6.12.31
6.6.0-93.0.0
4.19.90-2505.5.0
5.10.0-265.0.0
v6.15
v6.12.30
6.6.0-92.0.0
6.6.0-91.0.0
4.19.90-2505.4.0
5.10.0-264.0.0
6.6.0-90.0.0
4.19.90-2505.3.0
5.10.0-263.0.0
4.19.90-2505.2.0
6.6.0-89.0.0
4.19.90-2505.1.0
5.10.0-262.0.0
6.6.0-88.0.0
6.6.0-87.0.0
4.19.90-2504.4.0
5.10.0-261.0.0
4.19.90-2504.3.0
5.10.0-260.0.0
6.6.0-86.0.0
4.19.90-2504.2.0
5.10.0-259.0.0
6.6.0-85.0.0
4.19.90-2504.1.0
5.10.0-258.0.0
5.10.0-257.0.0
4.19.90-2503.5.0
5.10.0-256.0.0
6.6.0-84.0.0
v6.14
6.6.0-72.6.0
5.10.0-255.0.0
4.19.90-2503.4.0
6.6.0-83.0.0
6.6.0-72.5.0
6.6.0-72.4.0
5.10.0-254.0.0
4.19.90-2503.3.0
6.6.0-82.0.0
6.6.0-81.0.0
5.10.0-253.0.0
4.19.90-2503.2.0
6.6.0-72.3.0
6.6.0-72.2.0
4.19.90-2503.1.0
6.6.0-80.0.0
5.10.0-252.0.0
6.6.0-79.0.0
4.19.90-2502.4.0
5.10.0-251.0.0
5.10.0-250.0.0
6.6.0-78.0.0
4.19.90-2502.3.0
6.6.0-77.0.0
4.19.90-2502.2.0
5.10.0-249.0.0
6.6.0-72.1.0
4.19.90-2502.1.0
6.6.0-76.0.0
5.10.0-248.0.0
5.10.0-247.0.0
4.19.90-2501.4.0
6.6.0-75.0.0
v6.13
6.6.0-74.0.0
5.10.0-246.0.0
4.19.90-2501.3.0
4.19.90-2501.2.0
5.10.0-245.0.0
5.10.0-136.108.0
4.19.90-2501.1.0
6.6.0-73.0.0
4.19.90-2412.5.0
5.10.0-244.0.0
5.10.0-136.107.0
5.10.0-243.0.0
4.19.90-2412.4.0
6.6.0-72.0.0
6.6.0-71.0.0
6.6.0-70.0.0
6.6.0-69.0.0
5.10.0-242.0.0
4.19.90-2412.3.0
5.10.0-241.0.0
5.10.0-136.106.0
6.6.0-68.0.0
6.6.0-67.0.0
6.6.0-66.0.0
6.6.0-65.0.0
4.19.90-2412.2.0
5.10.0-136.105.0
5.10.0-240.0.0
6.6.0-64.0.0
6.6.0-63.0.0
6.6.0-62.0.0
6.6.0-61.0.0
4.19.90-2412.1.0
5.10.0-239.0.0
5.10.0-136.104.0
6.6.0-60.0.0
6.6.0-59.0.0
6.6.0-58.0.0
6.6.0-57.0.0
5.10.0-136.103.0
5.10.0-238.0.0
4.19.90-2411.5.0
6.6.0-56.0.0
5.10.0-237.0.0
5.10.0-136.102.0
4.19.90-2411.4.0
6.6.0-55.0.0
v6.12
6.6.0-54.0.0
5.10.0-236.0.0
5.10.0-136.101.0
4.19.90-2411.3.0
6.6.0-53.0.0
6.6.0-52.0.0
6.6.0-51.0.0
4.19.90-2411.2.0
6.6.0-50.0.0
5.10.0-235.0.0
5.10.0-136.100.0
6.6.0-49.0.0
5.10.0-136.99.0
6.6.0-48.0.0
5.10.0-234.0.0
4.19.90-2411.1.0
5.10.0-233.0.0
6.6.0-47.0.0
5.10.0-136.98.0
4.19.90-2410.3.0
4.19.90-2410.2.0
5.10.0-232.0.0
5.10.0-136.97.0
5.10.0-136.96.0
5.10.0-231.0.0
6.6.0-46.0.0
4.19.90-2410.1.0
6.6.0-45.0.0
4.19.90-2409.6.0
6.6.0-44.0.0
5.10.0-230.0.0
4.19.90-2409.5.0
5.10.0-136.95.0
6.6.0-43.0.0
5.10.0-229.0.0
5.10.0-136.94.0
6.6.0-42.0.0
4.19.90-2409.4.0
5.10.0-136.93.0
5.10.0-228.0.0
4.19.90-2409.3.0
5.10.0-227.0.0
6.6.0-41.0.0
4.19.90-2409.2.0
5.10.0-136.92.0
5.10.0-226.0.0
4.19.90-2409.1.0
6.6.0-40.0.0
4.19.90-2408.5.0
5.10.0-225.0.0
5.10.0-136.91.0
6.6.0-39.0.0
4.19.90-2408.4.0
5.10.0-136.90.0
5.10.0-224.0.0
5.10.0-223.0.0
5.10.0-136.89.0
4.19.90-2408.3.0
6.6.0-38.0.0
6.6.0-37.0.0
5.10.0-222.0.0
5.10.0-136.88.0
4.19.90-2408.2.0
6.6.0-36.0.0
5.10.0-221.0.0
5.10.0-136.87.0
4.19.90-2408.1.0
5.10.0-136.86.0
5.10.0-220.0.0
6.6.0-35.0.0
4.19.90-2407.5.0
5.10.0-136.85.0
5.10.0-219.0.0
6.6.0-34.0.0
4.19.90-2407.4.0
5.10.0-218.0.0
5.10.0-136.84.0
6.6.0-33.0.0
4.19.90-2407.3.0
4.19.90-2407.2.0
6.6.0-32.0.0
5.10.0-136.83.0
5.10.0-217.0.0
4.19.90-2407.1.0
5.10.0-216.0.0
5.10.0-136.82.0
4.19.90-2406.4.0
5.10.0-136.81.0
5.10.0-215.0.0
6.6.0-31.0.0
5.10.0-214.0.0
5.10.0-213.0.0
5.10.0-212.0.0
5.10.0-211.0.0
5.10.0-210.0.0
5.10.0-136.80.0
5.10.0-209.0.0
6.6.0-30.0.0
4.19.90-2406.3.0
5.10.0-208.0.0
6.6.0-28.0.0.34.oe2403
5.10.0-136.79.0
5.10.0-207.0.0
4.19.90-2406.2.0
5.10.0-206.0.0
5.10.0-205.0.0
5.10.0-204.0.0
5.10.0-203.0.0
5.10.0-136.78.0
5.10.0-202.0.0
4.19.90-2406.1.0
6.6.0-29.0.0
5.10.0-60.139.0
5.10.0-136.77.0
5.10.0-153.56.0
5.10.0-201.0.0
4.19.90-2405.5.0
6.6.0-28.0.0
5.10.0-153.55.0
5.10.0-136.76.0
5.10.0-60.138.0
5.10.0-200.0.0
4.19.90-2405.4.0
6.6.0-27.0.0
5.10.0-153.54.0
5.10.0-136.75.0
5.10.0-60.137.0
5.10.0-199.0.0
4.19.90-2405.3.0
6.6.0-26.0.0
4.19.90-2405.2.0
5.10.0-60.18.0.50.oe2203
6.6.0-25.0.0
6.6.0-24.0.0
5.10.0-153.53.0
5.10.0-136.74.0
5.10.0-60.136.0
5.10.0-198.0.0
4.19.90-2405.1.0
6.6.0-23.0.0
6.6.0-22.0.0
5.10.0-153.52.0
5.10.0-136.73.0
5.10.0-60.135.0
4.19.90-2404.3.0
5.10.0-197.0.0
6.6.0-21.0.0
5.10.0-153.51.0
5.10.0-136.72.0
5.10.0-60.134.0
4.19.90-2404.2.0
5.10.0-196.0.0
6.6.0-20.0.0
5.10.0-153.50.0
5.10.0-136.71.0
5.10.0-60.133.0
6.6.0-19.0.0
5.10.0-195.0.0
4.19.90-2404.1.0
6.6.0-18.0.0
6.6.0-17.0.0
6.6.0-16.0.0
5.10.0-194.0.0
5.10.0-153.49.0
5.10.0-136.70.0
5.10.0-60.132.0
6.6.0-15.0.0
6.6.0-14.0.0
5.10.0-193.0.0
5.10.0-153.48.0
5.10.0-136.69.0
5.10.0-60.131.0
4.19.90-2403.4.0
6.6.0-13.0.0
5.10.0-192.0.0
5.10.0-153.47.0
5.10.0-136.68.0
5.10.0-60.130.0
4.19.90-2403.3.0
6.6.0-12.0.0
5.10.0-191.0.0
5.10.0-153.46.0
5.10.0-136.67.0
5.10.0-60.129.0
6.6.0-11.0.0
4.19.90-2403.2.0
5.10.0-190.0.0
5.10.0-153.45.0
5.10.0-136.66.0
5.10.0-60.128.0
4.19.90-2403.1.0
4.19.90-2402.6.0
5.10.0-189.0.0
5.10.0-153.44.0
5.10.0-136.65.0
5.10.0-60.127.0
6.6.0-10.0.0
5.10.0-188.0.0
5.10.0-153.43.0
5.10.0-136.64.0
5.10.0-60.126.0
4.19.90-2402.5.0
6.6.0-9.0.0
5.10.0-187.0.0
5.10.0-153.42.0
5.10.0-136.63.0
5.10.0-60.125.0
6.6.0-8.0.0
4.19.90-2402.4.0
4.19.90-2402.3.0
4.19.90-2402.2.0
5.10.0-186.0.0
5.10.0-153.41.0
5.10.0-136.62.0
5.10.0-60.124.0
4.19.90-2402.1.0
6.6.0-7.0.0
5.10.0-185.0.0
5.10.0-153.40.0
5.10.0-136.61.0
5.10.0-60.123.0
4.19.90-2401.5.0
6.6.0-6.0.0
5.10.0-184.0.0
5.10.0-153.39.0
5.10.0-136.60.0
5.10.0-60.122.0
4.19.90-2401.4.0
6.6.0-5.0.0
5.10.0-183.0.0
5.10.0-153.38.0
5.10.0-136.59.0
5.10.0-60.121.0
4.19.90-2401.3.0
4.19.90-2401.2.0
6.6.0-4.0.0
4.19.90-2401.1.0
5.10.0-153.37.0
5.10.0-136.58.0
5.10.0-60.120.0
4.19.90-2312.6.0
4.19.90-2312.5.0
6.6.0-3.0.0
5.10.0-182.0.0
5.10.0-181.0.0
5.10.0-180.0.0
5.10.0-153.36.0
4.19.90-2312.4.0
5.10.0-179.0.0
6.6.0-2.0.0
5.10.0-178.0.0
5.10.0-177.0.0
4.19.90-2312.3.0
4.19.90-2312.2.0
5.10.0-176.0.0
5.10.0-175.0.0
4.19.90-2312.1.0
5.10.0-174.0.0
5.10.0-153.35.0
5.10.0-136.57.0
5.10.0-60.119.0
6.6.0-1.0.0
5.10.0-173.0.0
5.10.0-153.34.0
5.10.0-136.56.0
5.10.0-60.118.0
4.19.90-2311.5.0
5.10.0-172.0.0
5.10.0-171.0.0
4.19.90-2311.4.0
5.10.0-170.0.0
5.10.0-169.0.0
5.10.0-168.0.0
5.10.0-153.33.0
5.10.0-136.55.0
5.10.0-60.117.0
4.19.90-2311.3.0
5.10.0-167.0.0
5.10.0-153.32.0
5.10.0-136.54.0
5.10.0-60.116.0
4.19.90-2311.2.0
5.10.0-166.0.0
4.19.90-2311.1.0
5.10.0-165.0.0
5.10.0-153.31.0
5.10.0-136.53.0
5.10.0-60.115.0
v6.6
5.10.0-164.0.0
4.19.90-2310.4.0
4.19.90-2310.3.0
5.10.0-163.0.0
5.10.0-153.30.0
5.10.0-136.52.0
5.10.0-60.114.0
5.10.0-162.0.0
5.10.0-153.29.0
5.10.0-136.51.0
5.10.0-60.113.0
4.19.90-2310.2.0
4.19.90-2310.1.0
4.19.90-2309.5.0
6.4.0-10.1.0
5.10.0-161.0.0
6.4.0-7.0.1
6.4.0-10.0.0
6.4.0-6.0.6
6.4.0-6.0.5
6.4.0-6.0.4
6.4.0-6.0.3
6.4.0-6.0.2
6.4.0-6.0.1
5.10.0-153.28.0
5.10.0-136.50.0
5.10.0-60.112.0
4.19.90-2309.4.0
6.4.0-9.0.0
5.10.0-153.27.0
5.10.0-136.49.0
5.10.0-60.111.0
6.4.0-8.0.0
4.19.90-2309.3.0
6.4.0-7.0.0
4.19.90-2309.2.0
5.10.0-160.0.0
6.4.0-6.0.0
5.10.0-153.26.0
5.10.0-136.48.0
5.10.0-60.110.0
4.19.90-2309.1.0
6.4.0-5.0.0
6.4.0-4.0.0
6.4.0-3.0.0
4.19.90-2308.5.0
6.4.0-2.0.0
5.10.0-153.25.0
5.10.0-136.47.0
5.10.0-60.109.0
5.10.0-159.0.0
6.4.0-1.0.2
4.19.90-2308.4.0
5.10.0-153.24.0
5.10.0-136.46.0
5.10.0-60.108.0
4.19.90-2308.3.0
5.10.0-153.23.0
5.10.0-136.45.0
5.10.0-60.107.0
5.10.0-158.0.0
5.10.0-153.22.0
5.10.0-60.106.0
5.10.0-136.44.0
4.19.90-2308.2.0
5.10.0-153.21.0
5.10.0-60.105.0
5.10.0-136.43.0
4.19.90-2308.1.0
6.4.0-1.0.1
5.10.0-157.0.0
4.19.90-2307.5.0
5.10.0-153.20.0
5.10.0-60.104.0
5.10.0-136.42.0
5.10.0-153.19.0
5.10.0-60.103.0
5.10.0-136.41.0
4.19.90-2307.4.0
5.10.0-156.0.0
4.19.90-2307.3.0
5.10.0-153.18.0
5.10.0-60.102.0
5.10.0-136.40.0
6.4.0-1.0.0
4.19.90-2307.2.0
4.19.90-2307.1.0
5.10.0-60.101.0
5.10.0-153.17.0
5.10.0-136.39.0
4.19.90-2306.7.0
4.19.90-2306.6.0
5.10.0-155.0.0
5.10.0-153.16.0
4.19.90-2306.5.0
5.10.0-136.38.0
5.10.0-60.100.0
v6.4
5.10.0-153.12.0
5.10.0-153.10.0
5.10.0-60.99.0
5.10.0-136.37.0
4.19.90-2306.4.0
5.10.0-153.9.0
5.10.0-153.8.0
5.10.0-60.98.0
5.10.0-136.36.0
4.19.90-2306.3.0
5.10.0-153.6.0
5.10.0-153.5.0
5.10.0-154.0.0
5.10.0-153.4.0
4.19.90-2306.2.0
5.10.0-153.3.0
5.10.0-60.97.0
5.10.0-136.35.0
4.19.90-2306.1.0
5.10.0-153.2.0
5.10.0-153.1.0
5.10.0-60.96.0
5.10.0-136.34.0
4.19.90-2305.4.0
5.10.0-153.0.0
v6.4-rc4
5.10.0-152.0.0
4.19.90-2305.3.0
5.10.0-60.95.0
5.10.0-136.33.0
5.10.0-151.0.0
5.10.0-150.0.0
5.10.0-149.0.0
5.10.0-136.32.0
5.10.0-60.94.0
4.19.90-2305.2.0
5.10.0-60.93.0
5.10.0-136.31.0
4.19.90-2305.1.0
5.10.0-148.0.0
5.10.0-136.30.0
5.10.0-60.92.0
4.19.90-2304.5.0
v6.3
5.10.0-136.29.0
5.10.0-60.91.0
4.19.90-2304.4.0
5.10.0-136.28.0
5.10.0-60.90.0
4.19.90-2304.3.0
4.19.90-2304.2.0
5.10.0-147.0.0
4.19.90-2304.1.0
5.10.0-136.27.0
5.10.0-60.89.0
5.10.0-146.0.0
5.10.0-136.26.0
5.10.0-60.88.0
4.19.90-2303.6.0
5.10.0-60.87.0
5.10.0-136.25.0
4.19.90-2303.5.0
5.10.0-145.0.0
5.10.0-60.86.0
5.10.0-136.24.0
4.19.90-2303.4.0
5.10.0-136.23.0
5.10.0-60.85.0
4.19.90-2303.3.0
v6.1.19
4.19.90-2303.2.0
5.10.0-144.0.0
5.10.0-136.22.0
5.10.0-60.84.0
4.19.90-2303.1.0
5.10.0-60.83.0
5.10.0-136.21.0
4.19.90-2302.5.0
v6.1.14
5.10.0-143.0.0
5.10.0-60.82.0
5.10.0-136.20.0
4.19.90-2302.4.0
5.10.0-60.81.0
5.10.0-136.19.0
4.19.90-2302.3.0
5.10.0-142.0.0
4.19.90-2302.2.0
5.10.0-136.18.0
5.10.0-60.80.0
4.19.90-2302.1.0
5.10.0-60.79.0
5.10.0-136.17.0
4.19.90-2301.6.0
v6.1.8
v6.2-rc5
5.10.0-141.0.0
v6.1.7
5.10.0-136.16.0
5.10.0-60.78.0
4.19.90-2301.5.0
v6.2-rc4
v6.1.6
6.1.0-1.0.0
v6.1.5
4.19.90-2301.4.0
5.10.0-60.77.0
5.10.0-136.15.0
4.19.90-2301.3.0
4.19.90-2301.2.0
4.19.90-2301.1.0
5.10.0-136.14.2
5.10.0-60.76.0
5.10.0-140.0.0
5.10.0-136.13.2
5.10.0-60.75.0
5.10.0-60.74.0
5.10.0-136.12.2
4.19.90-2212.4.0
5.10.0-136.12.0
5.10.0-136.10.0
4.19.90-2212.3.0
5.10.0-136.8.0
5.10.0-136.7.0
5.10.0-139.0.0
5.10.0-136.6.0
5.10.0-136.5.0
5.10.0-60.73.0
5.10.0-136.4.0
5.10.0-136.3.0
5.10.0-138.0.0
5.10.0-136.2.0
5.10.0-60.72.0
5.10.0-60.71.0
5.10.0-137.0.0
5.10.0-136.1.0
v6.1
5.10.0-136.0.0
5.10.0-135.0.0
5.10.0-134.0.0
4.19.90-2212.2.0
5.10.0-133.0.0
5.10.0-60.70.0
4.19.90-2212.1.0
5.10.0-60.69.0
5.10.0-132.0.0
5.10.0-131.0.0
5.10.0-130.0.0
4.19.90-2211.6.0
5.10.0-129.0.0
5.10.0-60.68.0
4.19.90-2211.5.0
5.10.0-128.0.0
5.10.0-60.67.0
5.10.0-127.0.0
4.19.90-2211.4.0
5.10.0-60.66.0
5.10.0-126.0.0
4.19.90-2211.3.0
4.19.90-2211.2.0
5.10.0-125.0.0
5.10.0-60.65.0
5.10.0-60.64.0
4.19.90-2211.1.0
4.19.90-2210.5.0
5.10.0-123.0.0
5.10.0-60.63.0
5.10.0-60.62.0
4.19.90-2210.4.0
5.10.0-121.0.0
5.10.0-60.61.0
4.19.90-2210.3.0
5.10.0-60.60.0
5.10.0-120.0.0
5.10.0-60.59.0
5.10.0-119.0.0
4.19.90-2210.2.0
4.19.90-2210.1.0
5.10.0-118.0.0
5.10.0-106.19.0
5.10.0-60.58.0
4.19.90-2209.6.0
5.10.0-106.18.0
5.10.0-106.17.0
5.10.0-106.16.0
5.10.0-106.15.0
5.10.0-117.0.0
5.10.0-60.57.0
5.10.0-116.0.0
5.10.0-106.14.0
5.10.0-106.13.0
4.19.90-2209.5.0
4.19.90-2209.4.0
5.10.0-60.56.0
4.19.90-2209.3.0
5.10.0-106.12.0
5.10.0-106.10.0
5.10.0-106.11.0
5.10.0-60.55.0
4.19.90-2209.2.0
5.10.0-114.0.0
5.10.0-106.9.0
5.10.0-60.54.0
4.19.90-2209.1.0
5.10.0-113.0.0
5.10.0-60.53.0
5.10.0-106.8.0
4.19.90-2208.6.0
5.10.0-106.7.0
4.19.90-2208.5.0
5.10.0-112.0.0
5.10.0-106.6.0
5.10.0-60.52.0
5.10.0-60.51.0
5.10.0-106.3.1
4.19.90-2208.4.0
5.10.0-106.5.0
5.10.0-110.0.0
5.10.0-60.50.0
5.10.0-106.4.0
5.10.0-109.0.0
5.10.0-60.49.0
4.19.90-2208.3.0
4.19.90-2208.2.0
5.10.0-108.0.0
5.10.0-106.3.0
5.10.0-60.48.0
4.19.90-2208.1.0
5.10.0-106.2.0
5.10.0-107.0.0
5.10.0-60.47.0
4.19.90-2207.4.0
5.10.0-106.1.0
5.10.0-106.0.0
5.10.0-60.46.0
4.19.90-2207.3.0
5.10.0-105.0.0
5.10.0-60.45.0
5.10.0-60.44.0
5.10.0-104.0.0
5.10.0-103.0.0
5.10.0-60.43.0
4.19.90-2207.2.0
5.10.0-102.0.0
5.10.0-60.42.0
4.19.90-2207.1.0
5.10.0-101.0.0
5.10.0-60.41.0
5.10.0-100.0.0
4.19.90-2206.4.0
5.10.0-60.40.0
5.10.0-99.0.0
5.10.0-60.39.0
4.19.90-2206.3.0
5.10.0-98.0.0
5.10.0-60.38.0
4.19.90-2206.2.0
5.10.0-60.37.0
5.10.0-97.0.0
4.19.90-2206.1.0
5.10.0-60.36.0
5.10.0-96.0.0
4.19.90-2205.6.0
5.10.0-60.35.0
5.10.0-95.0.0
5.10.0-60.34.0
5.10.0-94.0.0
5.10.0-60.33.0
4.19.90-2205.5.0
5.10.0-93.0.0
5.10.0-60.32.0
5.10.0-92.0.0
5.10.0-91.0.0
5.10.0-60.31.0
5.10.0-90.0.0
5.10.0-60.30.0
4.19.90-2205.4.0
5.10.0-60.29.0
5.10.0-89.0.0
5.10.0-88.0.0
5.10.0-60.28.0
4.19.90-2205.3.0
4.19.90-2205.2.0
4.19.90-2205.1.0
5.10.0-87.0.0
5.10.0-86.0.0
5.10.0-60.27.0
5.10.0-60.26.0
5.10.0-85.0.0
5.10.0-60.25.0
5.10.0-60.24.0
5.10.0-84.0.0
4.19.90-2204.4.0
5.10.0-60.23.0
5.10.0-83.0.0
5.10.0-82.0.0
5.10.0-60.22.0
5.10.0-81.0.0
5.10.0-60.21.0
4.19.90-2204.3.0
5.10.0-80.0.0
5.10.0-60.20.0
5.10.0-60.19.0
4.19.90-2204.2.0
5.10.0-79.0.0
4.19.90-2204.1.0
4.19.90-2203.5.0
5.10.0-78.0.0
5.10.0-77.0.0
5.10.0-60.18.0
5.10.0-60.17.0
5.10.0-60.16.0
5.10.0-76.0.0
4.19.90-2203.4.0
5.10.0-75.0.0
5.10.0-60.15.0
5.10.0-74.0.0
5.10.0-60.14.0
5.10.0-73.0.0
5.10.0-60.13.0
5.10.0-60.12.0
5.10.0-72.0.0
5.10.0-60.11.0
5.10.0-71.0.0
5.10.0-70.0.0
5.10.0-60.10.0
4.19.90-2203.3.0
5.10.0-69.0.0
5.10.0-68.0.0
5.10.0-60.9.0
5.10.0-60.8.0
5.10.0-60.7.0
5.10.0-67.0.0
5.10.0-5.10.1
5.10.0-5.12.0
5.10.0-66.0.0
5.10.0-60.6.0
5.10.0-65.0.0
5.10.0-60.5.0
5.10.0-60.4.0
5.10.0-63.0.0
5.10.0-60.3.0
4.19.90-2203.2.0
5.10.0-60.2.0
5.10.0-62.0.0
5.10.0-61.0.0
5.10.0-60.1.0
5.10.0-60.0.0
4.19.90-2203.1.0
5.10.0-59.0.0
5.10.0-58.0.0
5.10.0-57.0.0
4.19.90-2202.4.0
5.10.0-56.0.0
4.19.90-2202.3.0
5.10.0-55.0.0
5.10.0-54.0.0
4.19.90-2202.2.0
4.19.90-2202.1.0
5.10.0-53.0.0
5.10.0-52.0.0
5.10.0-51.0.0
5.10.0-50.0.0
5.10.0-49.0.0
5.10.0-48.0.0
5.10.0-47.0.0
5.10.0-46.0.0
5.10.0-45.0.0
4.19.90-2201.4.0
5.10.0-44.0.0
5.10.0-43.0.0
5.10.0-42.0.0
4.19.90-2201.3.0
5.10.0-41.0.0
5.10.0-40.0.0
5.10.0-39.0.0
4.19.90-2201.2.0
5.10.0-38.0.0
5.10.0-37.0.0
5.10.0-36.0.0
5.10.0-35.0.0
5.10.0-34.0.0
5.10.0-33.0.0
4.19.90-2201.1.0
5.10.0-32.0.0
5.10.0-31.0.0
5.10.0-30.0.0
4.19.90-2112.8.0
4.19.90-2112.7.0
5.10.0-29.0.0
4.19.90-2112.6.0
5.10.0-28.0.0
5.10.0-27.0.0
4.19.90-2112.5.0
4.19.90-2112.4.0
4.19.90-2112.3.0
5.10.0-26.0.0
4.19.90-2112.2.0
4.19.90-2112.1.0
5.10.0-25.0.0
5.10.0-24.0.0
5.10.0-23.0.0
4.19.90-2111.7.0
5.10.0-22.0.0
5.10.0-21.0.0
4.19.90-2111.6.0
5.10.0-20.0.0
4.19.90-2111.5.0
5.10.0-19.0.0
4.19.90-2111.4.0
5.10.0-18.0.0
5.10.0-17.0.0
4.19.90-2111.3.0
4.19.90-2111.2.0
4.19.208-2111.1.0
4.19.90-2111.1.0
5.10.0-16.0.0
5.10.0-4.25.0
4.19.90-2110.8.0
4.19.90-2110.7.0
5.10.0-15.0.0
5.10.0-4.24.0
5.10.0-14.0.0
4.19.90-2110.6.0
4.19.90-2110.5.0
4.19.90-2110.4.0
5.10.0-13.0.0
5.10.0-12.0.0
5.10.0-11.0.0
4.19.90-2110.3.0
5.10.0-10.0.0
4.19.90-2110.2.0
5.10.0-9.0.0
4.19.90-2110.1.0
5.10.0-8.0.0
5.10.0-5.11.0
4.19.90-2109.8.0
5.10.0-7.0.0
4.19.90-2109.7.0
4.19.90-2109.6.0
4.19.90-2109.5.0
5.10.0-5.10.0
4.19.90-2109.4.0
4.19.90-2109.3.0
4.19.90-2109.2.0
5.10.0-5.9.0
5.10.0-6.0.0
4.19.90-2109.1.0
4.19.90-2108.9.0
5.10.0-5.8.0
5.10.0-5.7.0
4.19.90-2108.8.0
4.19.90-2108.7.0
5.10.0-5.6.0
5.10.0-5.5.0
5.10.0-5.4.0
5.10.0-4.23.0
4.19.90-2108.6.0
4.19.90-2108.5.0
5.10.0-5.3.0
4.19.201-2108.1.0
4.19.90-2108.4.0
4.19.90-2108.3.0
5.10.0-5.2.0
4.19.90-2108.2.0
4.19.90-2108.1.0
5.10.0-5.1.0
4.19.90-2107.5.0
5.10.0-4.22.0
4.19.90-2107.4.0
4.19.90-2107.3.0
4.19.90-2107.2.0
5.10.0-5.0.0
4.19.90-2107.1.0
5.10.0-4.21.0
4.19.90-2106.3.0
4.19.90-2106.2.0
4.19.90-2106.1.0
4.19.194-2106.1.0
4.19.90-2105.9.0
4.19.90-2105.8.0
4.19.90-2105.7.0
4.19.90-2105.6.0
4.19.90-2105.5.0
4.19.90-2105.4.0
4.19.90-2105.3.0
4.19.90-2105.2.0
4.19.90-2105.1.0
4.19.189-2104.7.0
4.19.90-2104.26.0
4.19.189-2104.6.0
4.19.189-2104.5.0
4.19.90-2104.25.0
4.19.90-2104.24.0
4.19.90-2104.23.0
4.19.90-2104.22.0
4.19.90-2104.21.0
4.19.90-2104.20.0
5.10.0-4.20.0
4.19.188-2104.4.0
4.19.188-2104.3.0
4.19.90-2104.19.0
4.19.90-2104.18.0
4.19.90-2104.17.0
5.10.0-4.19.0
4.19.90-2104.16.0
4.19.90-2104.15.0
4.19.90-2104.14.0
4.19.90-2104.13.0
4.19.90-2104.12.0
4.19.90-2104.11.0
4.19.90-2104.10.0
4.19.90-2104.9.0
4.19.90-2104.8.0
4.19.90-2104.7.0
4.19.90-2104.6.0
4.19.90-2104.5.0
4.19.90-2104.4.0
4.19.90-2104.3.0
4.19.90-2104.2.0
4.19.183-2104.2.0
4.19.183-2104.1.0
4.19.140-2104.1.0
4.19.90-2104.1.0
4.19.90-2103.4.0
5.10.0-4.18.0
5.10.0-4.17.0
4.19.90-2103.3.0
5.10.0-4.16.0
5.10.0-4.15.0
5.10.0-4.14.0
5.10.0-4.13.0
4.19.140-2103.1.0
4.19.90-2103.2.0
5.10.0-4.12.0
5.10.0-4.11.0
5.10.0-4.10.0
4.19.90-2103.1.0
5.10.0-4.9.0
5.10.0-4.8.0
5.10.0-4.7.0
5.10.0-4.6.0
5.10.0-4.5.0
5.10.0-4.4.0
5.10.0-4.3.0
5.10.0-4.2.0
4.19.90-2102.3.0
5.10.0-4.1.0
4.19.90-2102.2.0
5.10.0-4.0.0
4.19.140-2102.1.0
4.19.90-2102.1.0
5.10.0-3.0.0
5.10.0-2.0.0
5.10.0-1.0.0
4.19.140-2101.1.0
4.19.90-2101.1.0
4.19.90-2012.5.0
4.19.90-2012.4.0
4.19.140-2012.2.0
4.19.90-2012.3.0
4.19.90-2012.2.0
v5.10
4.19.140-2012.1.0
4.19.90-2012.1.0
v5.10-rc7
v5.10-rc6
4.19.90-2011.6.0
4.19.90-2011.5.0
4.19.90-2011.4.0
v5.10-rc5
4.19.140-2011.2.0
4.19.90-2011.3.0
4.19.90-2011.2.0
v5.10-rc4
v5.10-rc3
4.19.140-2011.1.0
v5.10-rc2
4.19.90-2010.2.0
v5.10-rc1
v5.9
4.19.148-2009.1.0
v5.9-rc8
v5.9-rc7
4.19.140-2009.4.0
4.19.90-2009.1.0
4.19.90-2009.2.0
4.19.90-2009.3.0
4.19.140-2009.3.0
v5.9-rc6
4.19.140-2009.2.0
v5.9-rc5
4.19.140-2009.1.0
v5.9-rc4
4.19.90-2008.6.0
v5.9-rc3
4.19.140-2008.3.0
4.19.140-2008.2.0
v5.9-rc2
4.19.90-2008.3.0
4.19.90-2008.2.0
v5.9-rc1
4.19.138-2008.1.0
v5.8
4.19.90-2007.2.0
v5.8-rc7
v5.8-rc6
v5.8-rc5
v5.8-rc4
v5.8-rc3
v5.8-rc2
v5.8-rc1
4.19.128-2006.1.0
v5.7
4.19.90-2005.2.0
v5.7-rc7
v5.7-rc6
4.19.90-2005.1.0
v5.7-rc5
v5.7-rc4
4.19.90-2004.1.0
v5.7-rc3
v5.7-rc2
v5.7-rc1
v5.6
v5.6-rc7
4.19.90-2003.4.0
4.19.90-2003.3.0
4.19.90-2003.2.0
v5.6-rc6
4.19.90-2003.1.1
4.19.90-2003.1.0
v5.6-rc5
v5.6-rc4
v5.6-rc3
v5.6-rc2
v5.6-rc1
v5.5
v5.5-rc7
4.19.90-2001.1.0
v5.5-rc6
v5.5-rc5
v5.5-rc4
v5.5-rc3
v5.5-rc2
v5.5-rc1
v5.4
v5.4-rc8
v5.4-rc7
v5.4-rc6
v5.4-rc5
v5.4-rc4
v5.4-rc3
v5.4-rc2
v5.4-rc1
v5.3
v5.3-rc8
v5.3-rc7
v5.3-rc6
v5.3-rc5
v5.3-rc4
v5.3-rc3
v5.3-rc2
v5.3-rc1
v5.2
v5.2-rc7
v5.2-rc6
v5.2-rc5
v5.2-rc4
v5.2-rc3
v5.2-rc2
v5.2-rc1
v5.1
v5.1-rc7
v5.1-rc6
v5.1-rc5
v5.1-rc4
v5.1-rc3
v5.1-rc2
v5.1-rc1
v5.0
v5.0-rc8
v5.0-rc7
v5.0-rc6
v5.0-rc5
v5.0-rc4
v5.0-rc3
v5.0-rc2
v5.0-rc1
v4.20
v4.20-rc7
v4.20-rc6
v4.20-rc5
v4.20-rc4
v4.20-rc3
v4.20-rc2
v4.20-rc1
v4.19
v4.19-rc8
v4.19-rc7
v4.19-rc6
v4.19-rc5
v4.19-rc4
v4.19-rc3
v4.19-rc2
v4.19-rc1
v4.18
v4.18-rc8
v4.18-rc7
v4.18-rc6
v4.18-rc5
v4.18-rc4
v4.18-rc3
v4.18-rc2
v4.18-rc1
v4.17
v4.17-rc7
v4.17-rc6
v4.17-rc5
v4.17-rc4
v4.17-rc3
v4.17-rc2
v4.17-rc1
v4.16
v4.16-rc7
v4.16-rc6
v4.16-rc5
v4.16-rc4
v4.16-rc3
v4.16-rc2
v4.16-rc1
v4.15
v4.15-rc9
v4.15-rc8
v4.15-rc7
v4.15-rc6
v4.15-rc5
v4.15-rc4
v4.15-rc3
v4.15-rc2
v4.15-rc1
v4.14
v4.14-rc8
v4.14-rc7
v4.14-rc6
v4.14-rc5
v4.14-rc4
v4.14-rc3
v4.14-rc2
v4.14-rc1
v4.13
v4.13-rc7
v4.13-rc6
v4.13-rc5
v4.13-rc4
v4.13-rc3
v4.13-rc2
v4.13-rc1
v4.12
v4.12-rc7
v4.12-rc6
v4.12-rc5
v4.12-rc4
v4.12-rc3
v4.12-rc2
v4.12-rc1
v4.11
v4.11-rc8
v4.11-rc7
v4.11-rc6
v4.11-rc5
v4.11-rc4
v4.11-rc3
v4.11-rc2
v4.11-rc1
v4.10
v4.10-rc8
v4.10-rc7
v4.10-rc6
v4.10-rc5
v4.10-rc4
v4.10-rc3
v4.10-rc2
v4.10-rc1
v4.9
v4.9-rc8
v4.9-rc7
v4.9-rc6
v4.9-rc5
v4.9-rc4
v4.9-rc3
v4.9-rc2
v4.9-rc1
v4.8
v4.8-rc8
v4.8-rc7
v4.8-rc6
v4.8-rc5
v4.8-rc4
v4.8-rc3
v4.8-rc2
v4.8-rc1
v4.7
v4.7-rc7
v4.7-rc6
v4.7-rc5
v4.7-rc4
v4.7-rc3
v4.7-rc2
v4.7-rc1
v4.6
v4.6-rc7
v4.6-rc6
v4.6-rc5
v4.6-rc4
v4.6-rc3
v4.6-rc2
v4.6-rc1
v4.5
v4.5-rc7
v4.5-rc6
v4.5-rc5
v4.5-rc4
v4.5-rc3
v4.5-rc2
v4.5-rc1
v4.4
v4.4-rc8
v4.4-rc7
v4.4-rc6
v4.4-rc5
v4.4-rc4
v4.4-rc3
v4.4-rc2
v4.4-rc1
v4.3
v4.3-rc7
v4.3-rc6
v4.3-rc5
v4.3-rc4
v4.3-rc3
v4.3-rc2
v4.3-rc1
v4.2
v4.2-rc8
v4.2-rc7
v4.2-rc6
v4.2-rc5
v4.2-rc4
v4.2-rc3
v4.2-rc2
v4.2-rc1
v4.1
v4.1-rc8
v4.1-rc7
v4.1-rc6
v4.1-rc5
v4.1-rc4
v4.1-rc3
v4.1-rc2
v4.1-rc1
v4.0
v4.0-rc7
v4.0-rc6
v4.0-rc5
v4.0-rc4
v4.0-rc3
v4.0-rc2
v4.0-rc1
v3.19
v3.19-rc7
v3.19-rc6
v3.19-rc5
v3.19-rc4
v3.19-rc3
v3.19-rc2
v3.19-rc1
v3.18
v3.18-rc7
v3.18-rc6
v3.18-rc5
v3.18-rc4
v3.18-rc3
v3.18-rc2
v3.18-rc1
v3.17
v3.17-rc7
v3.17-rc6
v3.17-rc5
v3.17-rc4
v3.17-rc3
v3.17-rc2
v3.17-rc1
v3.16
v3.16-rc7
v3.16-rc6
v3.16-rc5
v3.16-rc4
v3.16-rc3
v3.16-rc2
v3.16-rc1
v3.15
v3.15-rc8
v3.15-rc7
v3.15-rc6
v3.15-rc5
v3.15-rc4
v3.15-rc3
v3.15-rc2
v3.15-rc1
v3.14
v3.14-rc8
v3.14-rc7
v3.14-rc6
v3.14-rc5
v3.14-rc4
v3.14-rc3
v3.14-rc2
v3.14-rc1
v3.13
v3.13-rc8
v3.13-rc7
v3.13-rc6
v3.13-rc5
v3.13-rc4
v3.13-rc3
v3.13-rc2
v3.13-rc1
v3.12
v3.12-rc7
v3.12-rc6
v3.12-rc5
v3.12-rc4
v3.12-rc3
v3.12-rc2
v3.12-rc1
v3.11
v3.11-rc7
v3.11-rc6
v3.11-rc5
v3.11-rc4
v3.11-rc3
v3.11-rc2
v3.11-rc1
v3.10
v3.10-rc7
v3.10-rc6
v3.10-rc5
v3.10-rc4
v3.10-rc3
v3.10-rc2
v3.10-rc1
v3.9
v3.9-rc8
v3.9-rc7
v3.9-rc6
v3.9-rc5
v3.9-rc4
v3.9-rc3
v3.9-rc2
v3.9-rc1
v3.8
v3.9-kvm-arm
v3.8-rc7
v3.8-rc6
v3.8-rc5
v3.8-rc4
v3.8-rc3
v3.8-rc2
v3.8-rc1
v3.7
v3.7-rc8
v3.7-rc7
v3.7-rc6
v3.7-rc5
v3.7-rc4
v3.7-rc3
v3.7-rc2
v3.7-rc1
v3.6
v3.6-rc7
v3.6-rc6
v3.6-rc5
v3.6-rc4
v3.6-rc3
v3.6-rc2
v3.6-rc1
v3.5
v3.5-rc7
v3.5-rc6
v3.5-rc5
v3.5-rc4
v3.5-rc3
v3.5-rc2
v3.5-rc1
v3.4
v3.4-rc7
v3.4-rc6
v3.4-rc5
v3.4-rc4
v3.4-rc3
v3.4-rc2
v3.4-rc1
v3.3
v3.3-rc7
v3.3-rc6
v3.3-rc5
v3.3-rc4
v3.3-rc3
v3.3-rc2
v3.3-rc1
v3.2
v3.2-rc7
v3.2-rc6
v3.2-rc5
v3.2-rc4
v3.2-rc3
v3.2-rc2
v3.2-rc1
v3.1
v3.1-rc10
v3.1-rc9
v3.1-rc8
v3.1-rc7
v3.1-rc6
v3.1-rc5
v3.1-rc4
v3.1-rc3
v3.1-rc2
v3.1-rc1
v3.0
v3.0-rc7
v3.0-rc6
v3.0-rc5
v3.0-rc4
v3.0-rc3
v3.0-rc2
v3.0-rc1
v2.6.39
v2.6.39-rc7
v2.6.39-rc6
v2.6.39-rc5
v2.6.39-rc4
v2.6.39-rc3
v2.6.39-rc2
v2.6.39-rc1
v2.6.38
v2.6.38-rc8
v2.6.38-rc7
v2.6.38-rc6
v2.6.38-rc5
v2.6.38-rc4
v2.6.38-rc3
v2.6.38-rc2
v2.6.38-rc1
v2.6.37
v2.6.37-rc8
v2.6.37-rc7
v2.6.37-rc6
v2.6.37-rc5
v2.6.37-rc4
v2.6.37-rc3
v2.6.37-rc2
v2.6.37-rc1
v2.6.36
v2.6.36-rc8
v2.6.36-rc7
v2.6.36-rc6
v2.6.36-rc5
v2.6.36-rc4
v2.6.36-rc3
v2.6.36-rc2
v2.6.36-rc1
v2.6.35
v2.6.35-rc6
v2.6.35-rc5
v2.6.35-rc4
v2.6.35-rc3
v2.6.35-rc2
v2.6.35-rc1
v2.6.34
v2.6.34-rc7
v2.6.34-rc6
v2.6.34-rc5
v2.6.34-rc4
v2.6.34-rc3
v2.6.34-rc2
v2.6.34-rc1
v2.6.33
v2.6.33-rc8
v2.6.33-rc7
v2.6.33-rc6
v2.6.33-rc5
v2.6.33-rc4
v2.6.33-rc3
v2.6.33-rc2
v2.6.33-rc1
v2.6.32
v2.6.32-rc8
v2.6.32-rc7
v2.6.32-rc6
v2.6.32-rc5
v2.6.32-rc4
v2.6.32-rc3
v2.6.32-rc1
v2.6.32-rc2
v2.6.31
v2.6.31-rc9
v2.6.31-rc8
v2.6.31-rc7
v2.6.31-rc6
v2.6.31-rc5
v2.6.31-rc4
v2.6.31-rc3
v2.6.31-rc2
v2.6.31-rc1
v2.6.30
v2.6.30-rc8
v2.6.30-rc7
v2.6.30-rc6
v2.6.30-rc5
v2.6.30-rc4
v2.6.30-rc3
v2.6.30-rc2
v2.6.30-rc1
v2.6.29
v2.6.29-rc8
v2.6.29-rc7
v2.6.29-rc6
v2.6.29-rc5
v2.6.29-rc4
v2.6.29-rc3
v2.6.29-rc2
v2.6.29-rc1
v2.6.28
v2.6.28-rc9
v2.6.28-rc8
v2.6.28-rc7
v2.6.28-rc6
v2.6.28-rc5
v2.6.28-rc4
v2.6.28-rc3
v2.6.28-rc2
v2.6.28-rc1
v2.6.27
v2.6.27-rc9
v2.6.27-rc8
v2.6.27-rc7
v2.6.27-rc6
v2.6.27-rc5
v2.6.27-rc4
v2.6.27-rc3
v2.6.27-rc2
v2.6.27-rc1
v2.6.26
v2.6.26-rc9
v2.6.26-rc8
v2.6.26-rc7
v2.6.26-rc6
v2.6.26-rc5
v2.6.26-rc4
v2.6.26-rc3
v2.6.26-rc2
v2.6.26-rc1
v2.6.25
v2.6.25-rc9
v2.6.25-rc8
v2.6.25-rc7
v2.6.25-rc6
v2.6.25-rc5
v2.6.25-rc4
v2.6.25-rc3
v2.6.25-rc2
v2.6.25-rc1
v2.6.24
v2.6.24-rc8
v2.6.24-rc7
v2.6.24-rc6
v2.6.24-rc5
v2.6.24-rc4
v2.6.24-rc3
v2.6.24-rc2
v2.6.24-rc1
v2.6.23
v2.6.23-rc9
v2.6.23-rc8
v2.6.23-rc7
v2.6.23-rc6
v2.6.23-rc5
v2.6.23-rc4
v2.6.23-rc3
v2.6.23-rc2
v2.6.23-rc1
v2.6.22
v2.6.22-rc7
v2.6.22-rc6
v2.6.22-rc5
v2.6.22-rc4
v2.6.22-rc3
v2.6.22-rc2
v2.6.22-rc1
v2.6.21
v2.6.21-rc7
v2.6.21-rc6
v2.6.21-rc5
v2.6.21-rc4
v2.6.21-rc3
v2.6.21-rc2
v2.6.21-rc1
v2.6.20
v2.6.20-rc7
v2.6.20-rc6
v2.6.20-rc5
v2.6.20-rc4
v2.6.20-rc3
v2.6.20-rc2
v2.6.20-rc1
v2.6.19
v2.6.19-rc6
v2.6.19-rc5
v2.6.19-rc4
v2.6.19-rc3
v2.6.19-rc2
v2.6.19-rc1
v2.6.18
v2.6.18-rc7
v2.6.18-rc6
v2.6.18-rc5
v2.6.18-rc4
v2.6.18-rc3
v2.6.18-rc2
v2.6.18-rc1
v2.6.17
v2.6.17-rc6
v2.6.17-rc5
v2.6.17-rc4
v2.6.17-rc3
v2.6.17-rc2
v2.6.17-rc1
v2.6.16
v2.6.16-rc6
v2.6.16-rc5
v2.6.16-rc4
v2.6.16-rc3
v2.6.16-rc2
v2.6.16-rc1
v2.6.15
v2.6.15-rc7
v2.6.15-rc6
v2.6.15-rc5
v2.6.15-rc4
v2.6.15-rc3
v2.6.15-rc2
v2.6.15-rc1
v2.6.14
v2.6.14-rc5
v2.6.14-rc4
v2.6.14-rc3
v2.6.14-rc2
v2.6.14-rc1
v2.6.13
v2.6.13-rc7
v2.6.13-rc6
v2.6.13-rc5
v2.6.13-rc4
v2.6.11
v2.6.11-tree
v2.6.12
v2.6.12-rc2
v2.6.12-rc3
v2.6.12-rc4
v2.6.12-rc5
v2.6.12-rc6
v2.6.13-rc1
v2.6.13-rc2
v2.6.13-rc3
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册