标签: ext4

用C编写EXT4文件系统?

这可能听起来很无趣,特别是当我(正如你可能已经猜到的)尝试编写操作系统时.目前我一直试图建立一个文件系统.

我想要的是一个与Linux Ubuntu类似的文件系统,它是EXT4(至少是我的).我想尝试,也要用C写.

我有什么想法可以解决这个问题吗?和/或你可能找到的任何可能对我有帮助的教程(我试过没有运气的搜索):L

提前致谢!

杰米.

c ext4

5
推荐指数
1
解决办法
4709
查看次数

python:os.path.exists与ext4文件系统的复杂性?

有没有人知道os.path.exists函数的复杂性是在python中使用ext4文件系统?

python linux complexity-theory ext4

4
推荐指数
1
解决办法
538
查看次数

恢复使用rsync -avz删除的文件--delete

是否有可能恢复使用rsync -avz -delete删除的文件?如果是,那么有什么建议的工具呢?

linux rsync ext4 ubuntu-11.10

4
推荐指数
2
解决办法
7029
查看次数

为什么系统调用unlink这么慢?

#include <unistd.h>
#include <stdio.h>

void dump_log(int size){
    char cmd[1024];
    snprintf(cmd, sizeof(cmd)/sizeof(cmd[0]), "dd if=/dev/zero of=from.bin bs=1024 count=%d", size);
    int ret = system(cmd);
    if (ret<0){
        perror("system");
    }

}

int main(){    
    const char *filepath = "from.bin";

    while(1){
        dump_log(1024*100);
        sleep(10);
        unlink(filepath);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

strace -T ./a.out 显示这个:

unlink("from.bin")                      = 0 <0.019916>
Run Code Online (Sandbox Code Playgroud)

取消链接文件(100M)花费19ms,取消链接文件时会发生什么?为何这么慢?

系统信息:linux 3.13.0-57-generic,Ubuntu 14.04.2 LTS,ext4

linux performance disk unlink ext4

4
推荐指数
1
解决办法
1661
查看次数

Intel NVMe 驱动器性能下降,xfs 文件系统的扇区大小不是 4096

我正在 linux(Ubuntu 14.04)上使用 NVMe 卡。我发现在使用默认扇区大小 (512) 的 xfs 文件系统格式化时,Intel NVMe 卡的性能有所下降。或任何其他小于 4096 的扇区大小。

在实验中,我使用带有默认选项的 xfs 文件系统格式化了卡。我尝试在具有 64k 页大小的 arm64 平台上运行具有 64k 块大小的 fio。这是使用的命令 fio --rw=randread --bs=64k --ioengine=libaio --iodepth=8 --direct=1 --group_reporting --name=Write_64k_1 --numjobs=1 --runtime=120 --filename=new --size=20G

我只能得到以下值

运行状态组 0(所有作业): READ: io=20480MB, aggrb=281670KB/s , minb=281670KB/s, m​​axb=281670KB/s, m​​int=744454msec, maxt=74454msec 磁盘统计信息(读/写):nvmen1: ios=326821/8,merge=0/0,ticks=582640/0,in_queue=582370,util=99.93%

我尝试格式化如下:

mkfs.xfs -f -s size=4096 /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)

那么这些值是:

运行状态组 0(所有作业): READ: io=20480MB, aggrb=781149KB/s , minb=781149KB/s, m​​axb=781149KB/s, m​​int=266 847msec, maxt=26847msec Disk stats (read/write) : ios=326748/7, 合并=0/0, 滴答=200270/0, in_queue=200350, util=99.51%

我发现使用时没有性能下降

  • 4k 页面大小
  • 任何小于 64k …

linux solid-state-drive ext4 xfs pci-e

4
推荐指数
1
解决办法
3226
查看次数

Ext JS 4无线电组检查事件

我正在使用FormPanel内部的xtype在extJS 4中创建一个radioGroup.我正在尝试在检查无线电时启用/禁用文本字段.

{
xtype: 'radiogroup',
fieldLabel: 'Enable / Disable ',
columns: 2,
vertical: true,
items: [
     {boxLabel: 'Enable', name: 'formtype', inputValue: '1'},
     {boxLabel: 'Disable', name: 'formtype', inputValue:'2',checked:true},
    ]
 }
Run Code Online (Sandbox Code Playgroud)

我很困惑在哪里添加检查/点击事件的监听器.非常感谢提前.

extjs radio-group radio-button ext4

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

EC2实例,安装卷DOS/MBR引导扇区

我正在尝试将主要的/ dev/sda1来自EC2实例挂载到新实例,但是我遇到了以下问题:

$ sudo mount -t ext4 /dev/xvdg /mnt/xvdg/
mount: wrong fs type, bad option, bad superblock on /dev/xvdg,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
Run Code Online (Sandbox Code Playgroud)

来自dmesg的信息:

$ dmesg | tail
[  673.481965]  xvdg: xvdg1
[  673.589140]  xvdg: xvdg1
[  673.711554]  xvdg: xvdg1
[  673.802113]  xvdg: xvdg1
[  673.872627]  xvdg: xvdg1
[  673.978105]  xvdg: xvdg1
[10382.432880] EXT4-fs (xvdg): VFS: Can't find ext4 filesystem …
Run Code Online (Sandbox Code Playgroud)

ubuntu amazon-ec2 ubuntu-server ext4

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

ext2 / ext3 / ext4文件系统有正式规范吗?

我想知道,对于蓝牙,我们有由蓝牙特殊利益集团管理的IEEE 802.15.1标准。对于Wifi,我们拥有IEEE 802.11标准以及Wifi联盟。对于PCIe上的NVMe SSD,我们有nvmexpress来规范和发布其官方文档。

因此,通常会有一个监管机构来决定事情并标准化一些事情,以允许几种不同实现之间的互操作性。

但是对于ext2 / ext3 / ext4文件系统,除了Linux内核代码之外,我没有找到任何官方标准。

这些文件系统基本上是由内核社区决定的吗?他们是否承诺不更改它们,使其仍然与其他操作系统兼容?

还是在某处有一些官方规范?谁提供的?

谢谢

filesystems ext2 ext3 ext4

2
推荐指数
1
解决办法
934
查看次数

是否可以检查文件是否存在而不向Linux中的硬盘发出请求?

这是我在此的头一篇博文.

我想检查文件是否存在但不使用硬盘.例如,看看这段代码:

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>
Run Code Online (Sandbox Code Playgroud)

据我所知,ext4是日志文件系统.这是否意味着脚本可以通过查看日志来检查文件是否存在,即主内存而不触及硬盘?

谢谢你的时间.

UPD.

是否有任何文件系统将硬盘的日志保存在主内存中,这样文件存在的操作可以在不访问硬盘的情况下完成?

linux ext3 ext4

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

为什么我无法访问此文件夹?

前一阵子我买了1TB USB外置硬盘.我在Ubuntu中将它格式化为ext4,并从几台机器上复制了一堆文件/文件夹,全部分别复制到/ home/machinename/whatever.

在某些时候,我在它上面运行了一个chmod -R shell命令来更改权限.那是几个月前,我不记得我键入了什么,但它创建了驱动器,所以我只能以root身份访问其/ home文件夹.这不是问题,因为我仍然可以访问所有内容,但今天我决定尝试修复它.

我以root身份访问了我的shell,转到了那个驱动器并键入:

chown -R rick:rick ./
chmod -R 666 ./
Run Code Online (Sandbox Code Playgroud)

它似乎工作.该主目录及其中的所有其他内容现在显示为每个目录的rw:

rick@rick64:/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee$ ls -l
drw-rw-rw- 7 rick rick 4096 2012-03-04 13:08 home
Run Code Online (Sandbox Code Playgroud)

所以,如果我尝试使用shell访问该目录,我会得到:

rick@rick64:/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee$ ls -l
drw-rw-rw- 7 rick rick 4096 2012-03-04 13:08 home
rick@rick64:/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee$ cd home
bash: cd: home: Permission denied
rick@rick64:/media/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee$ _
Run Code Online (Sandbox Code Playgroud)

当我使用nautilus访问它时,我可以看到/ home /文件夹中的多个机器名称,但它们都带有文件图标.我可以右键单击它们并选择"属性",但它不会让我看到权限.

很困惑.为什么我无法访问该文件夹?我是老板?我甚至是小组.我有r/w权限.我究竟做错了什么?

linux directory ext4 home-directory

0
推荐指数
1
解决办法
1万
查看次数

为什么Java不能在我的Ubuntu桌面上创建这个文件?

我的文件系统上有以下现有的目录结构(使用ext4的Ubuntu 12.04桌面):

/
    home/
        myuser/
            .myapp/
                logs/
                    myapp.log
                data/
                lib/
Run Code Online (Sandbox Code Playgroud)

...以及以下Java代码:

try {
    // If no such file exists, create it and write zero (0) to it.
    if(!myFile.exists()) {
        System.out.println("myFile is: " + myFile.getAbsolutePath());
        myFile.createNewFile();
        myFileWriter.write("0"); // Configured to write to myFile
    }
} catch(IOException ioExc) {
    logger.error(ExceptionUtils.getStackTrace(ioExc));
    throw new RuntimeException(ioExc);
}
Run Code Online (Sandbox Code Playgroud)

......抛出以下异常:

myFile is: /home/myuser/.myapp/data/replay/Loader-0-replay.log
java.lang.RuntimeException: java.io.IOException: No such file or directory
    at net.myuser.myapp.tools.myapp.Loader.<init>(Loader.java:69)
    at net.myuser.myapp.tools.myapp.MyAppTool.loadWords(MyAppTool.java:125)
    at net.myuser.myapp.tools.myapp.MyAppTool.run(MyAppTool.java:65)
    at net.myuser.myapp.tools.myapp.MyAppTool.main(MyAppTool.java:41)
Caused by: java.io.IOException: No such file or …
Run Code Online (Sandbox Code Playgroud)

java file-io ioexception ext4 ubuntu-12.04

0
推荐指数
1
解决办法
1990
查看次数