小编Zni*_*nik的帖子

Linux,如何在暂时崩溃后从只读状态更改硬盘状态?

这个问题暂时没有答案。

通常在读取或写入块设备出现问题后,内核决定将整个设备的标志切换为只读。在此之后,对位于该设备上的任何分区/文件系统的任何写入都会导致将其与设备状态一起切换为只读,因为任何写入都是不可能的。

来自 dmesg 的示例,这是在碎片整理获取来宾设备映像时使用 VirtualBox 在 windows8 上模拟来宾 linux:

[11903.002030] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
[11903.003179] ata3.00: failed command: READ FPDMA QUEUED
[11903.003364] ata3.00: cmd 60/08:00:a8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in
[11903.003385]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[11903.004074] ata3.00: status: { DRDY }
[11903.004248] ata3: hard resetting link
[11903.325703] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11903.327097] ata3.00: configured for UDMA/133
[11903.328025] ata3.00: device reported invalid CHS sector 0
[11903.329664] …
Run Code Online (Sandbox Code Playgroud)

linux mount readonly

23
推荐指数
2
解决办法
13万
查看次数

什么是Linux内核的最大循环设备?

我可以包含用于支持循环文件的循环模块。loop 模块支持 max_loop 选项。我找到了选项 loop max_loop 256 的示例。我的问题,什么是最大支持的循环设备?我不敢相信,256 是硬限制,创建超过 256 个循环设备是不可能的。

更新:

我在文件https://elixir.bootlin.com/linux/v4.0/source/drivers/block/loop.c 中没有发现任何有趣的东西

但是我做了一些实验,然后运行 ​​modprobe max_loops=512 然后我在 /dev/ 目录中看到完全相同的计数循环块文件,挂载为 udev,编号从 loop0 到 loop511

我用 linux 内核 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 做到了

linux-kernel loop-device

3
推荐指数
1
解决办法
1980
查看次数

标签 统计

linux ×1

linux-kernel ×1

loop-device ×1

mount ×1

readonly ×1