问题标签 [block-device]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
407 浏览

linux - 在主机的混合设置上正确查找主机上的磁盘大小

我想在一个大号上找到尺寸。具有各种 FS 安排的不同 linux 机器。1. 简单的 JBOD 设置(我可以解析 sfdisk -s) 2. 硬件 raid 设置(再次解析 fdisk -s) 3. 软件 raid 设置(看起来 fdisk 给出了总大小错误,它将逻辑设备和突袭设备)

将 sw-raid 与真正的逻辑驱动器隔离的其他方法是通过“blkid”:但获得正确的磁盘大小变得越来越复杂,即。获取 'linux_raid_member' 从 sfdisk 列表中省略它并将它们分别添加到 gethjer

基本上我在主机上有以下内容,如果它存在并且我不知道它想要一个更简单的解决方案。

0 投票
2 回答
10713 浏览

android - devicePolicyManager.lockNow() 不适用于摩托罗拉平板电脑

上面的代码不会抛出任何异常,也不会只为摩托罗拉 xoom 平板电脑锁定屏幕。(Homeycomb 和 Icecream Sandwitch)相同的代码在其他 Homeycomb 和 ICS 平板电脑上完美运行。

我用谷歌搜索,但没有得到任何解决方案。有任何想法吗.....?

0 投票
1 回答
2075 浏览

linux - 在linux上创建硬盘错误

我想在我的 linux 机器上创建硬盘驱动器错误 - 这样我就可以测试我正在编写的应用程序在出现无法纠正的错误时是否正确执行。

我有一个来自硬盘制造商的应用程序,它会在驱动器上创建坏扇区,但它只是 Windows - 并且会涉及很多磁盘的插入和拔出,因为我在 linux 平台上。

我看过之前的这篇文章:模拟有读取错误的故障块设备?但不能使用它,因为我没有 dmsetup 可用。

我知道我可以使用 dd 通过在文件上写入随机数据来损坏文件,但我想创建一个坏扇区,而不是可读但损坏的文件。

非常感谢任何提示

谢谢!

0 投票
1 回答
1145 浏览

bash - 获取块设备的文件系统十六进制 ID,如“fdisk”所示

有没有一种简单的方法来确定给定分区的文件系统的十六进制 ID?比如说,我有一个 /dev/sda1 分区,它属于“Linux”类型,文件系统 ID 为 83(例如 fdisk 所示)。我需要从 bash 脚本中获取这个数字,而不需要解析 fdisk/sfdisk 的输出。

0 投票
1 回答
873 浏览

linux - 使用 SATA HDD 作为块设备

我对 Linux 内核完全陌生,所以我可能把事情搞混了。但任何建议都会对我有所帮助;)

我有一个通过 PCIe SATA 卡连接的 SATA HDD,我尝试在块设备上使用read和喜欢。write我还希望将数据断电保存在 HDD 上 - 不缓存。最后我必须分析我在每个 linux 堆栈层中浪费了多少时间。而是一步一个脚印。

目前,我尝试open使用 *O_DIRECT* 访问设备。但是我真的不明白在哪里可以找到该设备。它显示为/dev/sdd,我创建了一个分区/dev/sdd1

  • openread在分区/dev/sdd1工作。write*O_DIRECT* 失败(但我确定我有正确的块大小)
  • open readwrite呼吁/dev/sdd完全失败。
  • 是否有另一个文件/dev/代表我在块层上的设备?
  • 我的错误和错误假设是什么?

这是我当前的测试代码

编辑:我在电源架构上使用 3.2 内核 - 如果这很重要。

非常感谢您的宝贵时间,Fabian

0 投票
2 回答
7564 浏览

linux - 从具有 O_DIRECT 的 HDD 读取()失败并显示 22(EINVAL,无效参数)

我想read()从 SATA HDD做一个基本的/dev/sdd。Awrite()似乎工作。也可以在没有标志的情况read()下工作。我读过,它必须与块大小对齐。所以我用它来获取块大小:write()O_DIRECT

如您所见,我有根。硬盘通过 PCIe SATA 卡连接,并向lspci -vv我显示它使用基本的 ahci ( drivers/ata/ahci.c) 驱动程序。我在 64 位 Power Architecture 上使用 3.2.0 Linux 内核。

这是我的代码:

输出是:

编辑:我已经按照 Brett Hale 的回答更新了我的来源。不幸的是,我仍然得到错误。我找出块大小的方法可以吗?我做对了吗?

非常感谢您阅读,
费边

0 投票
1 回答
1905 浏览

linux - 在 linux 上挂载块设备驱动模块停止工作

我在 Ubuntu 上制作块设备驱动模块和插入模块。然后我想使用“mkfs”命令将该模块挂载为文件系统。但是,mkfs命令对以下消息不起作用:

编写超级块和文件系统记帐信息

0 投票
1 回答
1569 浏览

linux - Setting up a block level cache with DRBD on Linux

I want to setup a DRBD active/active configuration with two nodes. My application will be doing I/Os directly on the DRBD device. I haven't seen any option to enable caching within DRBD.

Is there any linux module that would allow me to setup a cache in between DRBD and the disk module? Any caching above DRBD module can lead to stale data being read by the nodes.

0 投票
0 回答
1155 浏览

linux-kernel - Linux中块IO设备中的内存映射

我正在Linux中进行设备驱动程序开发。我在 Linux 中遇到过设备驱动程序的内存映射。

我试图开发一个 RAM Disk 块设备驱动程序(它从 RAM 中创建虚拟磁盘)。但我不知道如何在这里使用内存映射(只是为了尝试)。

我猜块设备会使用内存映射。

有人可以对此有所了解吗?

另外,如果我们使用 remap_pfn_range 映射用户空间中的内存,那将如何工作?如果用户只是在区域上写了一些东西,它会自动反映在设备内部还是会调用为 I/O 注册的请求函数?

0 投票
1 回答
168 浏览

linux-kernel - blk_cleanup_queue() 不会在块设备注销时返回

我正在为 2.6.43.2-6.fc15 上的可热插拔 PCI 内存设备编写块设备驱动程序(因此 LDD3 在很多功能方面已经过时)并且我无法获取块设备 de - 注册顺利进行。移除设备后,我去拆除 gendisk 和 request_queue,但它挂在了blk_cleanup_queue(). 大概在此之前我忽略了一些与队列相关的过程,但是我看不到与我用作参考的内核树中的其他块驱动程序有任何重大的一致差异(memstick,cciss等)。在整理队列和gendisk之前我应该​​执行哪些步骤?

我正在实现.open, .release,.ioctl以及附加的 with block_ops,但我不确定在请求发生时或取消注册块设备时如何整理队列。mydev_request(struct request_queue *q)blk_init_queue(mydev_request, &mydev->lock)