问题标签 [blkid]

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 回答
272 浏览

c - blkid_get_cache 似乎泄漏了内存

我正在做一些 linux 编程,我遇到了 blkid 库中的库函数泄漏一些内存的情况......没有太多关于它的文档(https://www.kernel.org/pub/linux/utils/ util-linux/v2.21/libblkid-docs/libblkid-Cache.html)所以我求助于社区来寻找解决这个问题的方法。

该函数是blkid_get_cache和 valgrind 报告:

现在,这段代码将用于应该运行 24/7 的守护进程,所以我想避免内存的不可控增长。

到目前为止,有人使用 libblkid 吗?如何解决这个内存问题?(在极端情况下我可以free()这样做......但它会影响系统稳定性吗?)

0 投票
2 回答
2257 浏览

c - 使用 libblkid 时出错

当我编译并链接此代码以获取磁盘 uuid 时:

它出错了:

当我通过以下命令编译代码时,代码编译没有错误

0 投票
1 回答
235 浏览

linux - BLKID 是如何分配的?

假设我有这样的情况,比如我已经安装/etc/boot两个单独的分区,属于USB 设备,系统的其余部分//homeHDD 中。现在我的问题是我需要静态路由我的 USB 设备fstab,但问题是不确定 USB 总是会说/dev/sdbor /dev/sdc,所以我的方法是使用BLKID.

在这里,我对特定硬件设备(具有静态硬件 ID)的 BLKID 是否总是相同感到困惑?如果不是,在这种情况下有什么解决方法?

BLKID 是如何分配的?

0 投票
0 回答
397 浏览

linux - Linux 驱动程序 kthreads 和 blkid 任务

我目前正在为块设备创建 Linux 驱动程序。这已经持续了一段时间,我最近将驱动程序设计从 bio-mode 更改为 request-mode(我曾经处理 struct bio,但现在我正在处理 struct request),它使功能更简单,但是这一变化还提出了一些我正在寻求建议的新问题。我还使用 kthread 进行后台维护和定期刷新驱动程序设备循环缓冲区中的条目。

我难以处理或完全理解的问题之一是在输入更改分区或文件系统类型的命令后 sbin/blkid 进程的缓慢和存在。在我目前的设计中,每当我运行 fdisk 或 mkfs 或任何修改分区/FS 类型的命令时,通过 ps -ef 终端命令检查正在运行的进程时,blkid 进程随后运行,大约需要一两分钟才能完成并更新磁盘工具中的驱动器信息(用户看到)。这当然是等的太久了,在输入另一个修改分区/FS类型的命令之前我必须等待,否则驱动器信息会混乱,分区表丢失等。

我发现当我回到我以前的 bio-mode 驱动程序(没有 kthread)时,这个 blkid 任务也在与上面相同的命令之后运行,但完成得非常快!我刚刚意识到 blkid 是因为它现在很慢,而不是因为它很容易完成。所以我决定使用我的驱动程序代码,删除东西以查看哪个代码段导致 blkid 缓慢,最终发现 kthread 的存在与 blkid 的缓慢相关。

我的 kthread BTW 的主体如下所示:

这是我对我的 kthread 所做的:
- 慢慢删除代码,直到在 spin_lock/unlock 调用之间没有留下任何东西。sbin/blkid 仍然很慢。
- 删除 kthread 并将其替换为定期到期、自行重置的计时器,并在每次到期时调用一个函数,我将 kthread 驱动程序代码的内容移至该函数。sbin/blkid 仍然很慢。
- 将 schedule_timeout 时间值从 250 毫秒更改为 1 秒 - blkid 变得更慢 > 3 分钟。如果我将它减少到 50 毫秒,它与 250 毫秒超时期间一样慢。

我真的很困惑——我的驱动程序 kthread 和 blkid 是如何交互的,它会减慢 blkid 的速度?

0 投票
3 回答
3491 浏览

linux - 如何在给定路径的情况下获取文件系统的 uuid?

我得到了一个目录的路径(有时是文件的路径)。

哪个实用程序/shell 脚本可以可靠地为我提供该目录(或文件)所在/存储的文件系统的 UUID?

(文件系统的 UUID 是指“UUID=...”条目,如 blkid 所示)

(这发生在redhat linux上)

0 投票
1 回答
2341 浏览

linux - 命令 blkid 不显示我的分区 UUID

我正在使用 Ubuntu。命令$ blkid$ blk /dev/sda2在 LPIC-1 模块 104.3(安装和卸载)中。但是这个命令没有显示结果。blkid已安装,我也可以看到man blkid
你能指导我解决这个问题吗?

0 投票
3 回答
2078 浏览

c - How to get disk name programmatically in Linux(Like "/dev/sda" or "/dev/sdb")?

I am trying out to find information related to Disk and partitions. Following are my code. But problem is that, I am passing disk name through command line by querying disk name from "/proc/partitions". Is there any api which can give me disk name as well.

0 投票
2 回答
238 浏览

regex - 正则表达式列出 blkid 标签

Apols 但肯定有人可以将其作为正则表达式提供,只是不要和我一起计算。

所以说如果我想要匹配 LABEL="Usb3Ext" 的 UUID 部分,我是否有来自 blkid 的输出

非常感谢

0 投票
1 回答
752 浏览

python - 从“blkid”输出中提取 USB 名称

我想提取连接到我的 linux 系统的 USB 标签。我在 python 中编写了一些代码,它工作正常,但我希望它不那么复杂。任何想法......谢谢。

这是代码:

0 投票
0 回答
89 浏览

qemu - 为什么 qemu-nbd 设备在 __read_nocancel 上使用 blkid 块?

pstack blkid 进程 这是 blkid 进程的 pstack 有 qemu-nbd 连接一个磁盘,

blkid 试图从 nbd 设备获取信息,但它在 __read_nocancel 7 天被阻止。

为什么 blkid 挂了。