问题标签 [superblock]
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.
inode - 读取超级块
我知道在 Unix(特别是 Mac OS X)中,超级块存储有关磁盘上数据布局的信息,包括索引节点开始和结束的磁盘地址。我想扫描程序中的 inode 列表以查找已删除的文件。如何找到 inode 开始的磁盘地址?我查看了 statfs 命令,但它没有提供此信息。
c - 为什么inode编号从1而不是0开始?
C 语言约定从 0 开始计算数组索引。为什么 inode 编号从 1 开始而不是 0?
如果保留inode 0 是为了某些特殊用途,那么inode 0 的意义是什么?
linux - ext2“图像”文件与真正的 ext2 设备
我的任务是为 Windows 编写一个能够读取 ext2 分区的阅读器程序。
对于我的测试,我使用了一个格式化为 ext2 的驱动器和一个使用 mkfs 创建的文件(一个可以在 linux 下挂载并运行良好的文件)
出于某种原因,当我从驱动器(真正的)读取超级块时,我得到了所有正确的元数据(即块大小、inode 计数等),但是对文件执行完全相同的操作会返回错误的结果(这使得没有意义)。
2之间有区别吗?
我使用 \.\X: 打开驱动器,然后使用 mkfs 创建文件。
linux - 是什么取代了最新 Linux 内核中的 get_sb_nodev 和 get_sb?
我想知道Linux 内核中的哪个函数取代了 get_sb_nodev和 get_sb 函数?
它不再在 3.5+ 内核中可用
c++ - 读取linux inode位图
我将使用 c++ 获取 linux inode 位图。我首先使用此代码获取超级块:
但每次我运行它时,我都会收到一个错误:
我找不到任何好的示例或教程。有人可以帮助我吗?
编辑:
我已经包括<linux/stat.h>
但仍然得到同样的错误。
linux-kernel - In Linux, how many superblocks are there per file system?
I understand that superblocks provide high-level meta data about file systems in Linux, but how many of these structures exist for a given file system? My intuition tells me there's either one per file system, or one per file.
linux - “CIFS VFS:cifs_mount 失败,返回码 = -22”和“错误的 fs 类型,错误的选项,错误的超级块”
很长一段时间以来,我一直在使用 linux 服务器,通过使用 cifs 挂载挂载到多个 Windows 共享。
到目前为止,我总是在 /etc/fstab 中有一行: //IPADDRESS/sharename /mnt/localfolder cifs soft,username=xxx,password=xxx,_netdev,uid=500,gid=501 0 0
自从我上次重新启动(可能应用新的内核更新)以来,我无法挂载我的共享。
当前内核:3.4.76-65.111.amzn1.x86_64
这是我检查的内容和命令的结果:
1. 网络环境没有改变,共享/ip 可以从其他PC 访问和使用。
2. cifs-utils, nfs4-acl-tools, nfs-utils 已安装,portmap 正在运行
3.手动挂载命令(一直有效):
mount -t cifs -o credentials=/root/.smbcredentials,_netdev,uid=500,gid=501 //IPADDRESS/sharename /mnt/localmap/
返回: mount: 错误的 fs 类型、错误的选项、//IPADDRESS/sharename 上的错误超级块、缺少代码页或帮助程序或其他错误(对于多个文件系统(例如 nfs、cifs),您可能需要 /sbin/mount.helper 程序) 在某些情况下,可以在 syslog 中找到有用的信息 - 尝试 dmesg | 尾巴左右
4. dmesg | 尾部返回:
CIFS VFS:连接到 DFS 根尚未实现 CIFS VFS:cifs_mount 失败,返回码 = -22
任何想法我还可以尝试什么或者这可能是什么?
c - Linux内核中Dentry和超级块结构之间的循环依赖
我曾经做过一些oo编程。现在我正在阅读 C 中的 linux 内核代码。我发现:
我们可以看到 super_block 结构有一个 struct dentry 属性,而 struct dentry 有一个 super_block 属性。它会导致循环依赖吗?多谢
如果是,内存管理如何工作?例如,如果一个 dentry 对象被删除,super_block 将指向一个无效的位置。我的意思是如何管理他们的生命周期。
c - Filesystem- ext4:应用程序破坏超级块
我发现了很多链接,但几乎所有链接都指向修复而不是原因。
我在通过 USB 读卡器连接到 PC 的 sd 卡上创建了一个 7GB ext4 分区。我有一个应用程序正在将 10488576 字节写入上述分区 (/dev/sdc2)。应用程序运行后,文件系统看起来已损坏:
该应用程序只是使用如下所示的内容(我无法发布确切的代码):
文件系统块大小为 4K。备份超级块 32768 , 98304 ,163840 ,229376 , 294912 ,819200, 884736 ,1605632 如果需要更多信息,请告诉我。我需要了解可能导致这种损坏的原因,因为我非常肯定应用程序代码可能有问题。
EDIT:
我可以看到主超级块从 0 开始,并且之前的 lseek() 调用write()
也执行SEEK_SET
到 0,这将覆盖超级块信息。我将在远离超级块之前尝试 lseek write()
。
EDIT
:
我已经通过上面提到的方法解决了这个问题。根据 dumpe2fs o/p 我对第 0 组有以下信息:
所以在写之前我确实 lseek 到 8593*4096 。现在文件系统没有损坏。
backup - 如何在 Redhat 中恢复 vxfs 备份的超级块数据?
在邮件服务器中安装 Veritas CFS 解决方案时,发生磁盘 I/O 错误。为了解决这个问题,使用了disk setup命令但是清除了head data(31MB)。我的问题是 Redhat 中存在多少 vxfs(Veritas File System) 备份超级块数据?如果备份超级块和超级块都被折叠并且无法恢复,如何创建它?