問題タブ [ext3]

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 に答える
243 参照

linux - ext3 ではなく ntfs でのデータ整合性の問題

私のアプリケーションでは、データをfile1に継続的に書き込み、それをデバイスにフラッシュしています。別のスレッドで、file1からデータを読み取り、 file2に書き込みます。

file1 でfwrite + fflushを実行するたびに、他のスレッドにシグナルを送信して、そこから読み取りを開始します。もう 1 つのスレッドは、file1 からデータを読み取り、それを file2 にダンプします。かなり単純なロジック。さらに、数分ごとに file1 の先頭に戻り、古いデータの上書きを開始します。

ここで私の問題は、file1のデータの上書きを開始すると、ライタースレッドが新しいデータを書き込んだ (およびフラッシュした)ことを通知したにもかかわらず、 file2 に読み取られたデータが古いデータ (つまり、前の反復で書き込まれたデータ) になる場合があることです。

[C + Linux + arm プラットフォーム] でソリッド ステート ドライブ (128 GB SAMSUNG 470 シリーズ) に読み書きしています。プロセッサのキャッシュに問題があるように感じます。おそらく、書き込みはキャッシュに送られ、リーダー スレッドによる読み取りはフラッシュから行われるため、古いデータになります。

ここでの問題は、SSD が NTFS でフォ​​ーマットされている場合にこの問題が発生することです。ext3 でフォーマットすると、問題はなくなります。残念ながら、NTFS は厳しい要件です。もう 1 つの興味深い観察結果は、2 つのリーダー スレッドがある場合、両方が異なる時点で古いデータを取得することです。

SSD 書き込みキャッシュを ( hdparm -W0 /dev/sda1で) 無効にした後、NTFS でも同じ問題が発生します。私は1週間以上これにひどく立ち往生しています。

何が起こっているのか、なぜそのように起こっているのですか?

どんな助けも、その重さの金に値するでしょう...

編集NTFS ドライバーは、ファイル ポインターを巻き戻してファイルを上書きすることを好まないことがわかりました。これは既知のことですか?

0 投票する
1 に答える
678 参照

ext3 - EXT3ファイルシステムで圧縮できるパッチはありますか?

ファイルシステムEXT-3で利用可能なパッチを読みましたが、パッチをトレースできませんでした。ですから、私の謙虚な要求は、EXT-3ファイルシステムのパッチの場所を知っている人がいたら、どこで利用できるか教えてください...

ありがとう、

0 投票する
0 に答える
215 参照

readdir - ext3 ファイルシステムのファイル順序のバリエーション

ファイルの順序が readdir によってどのように返されるかによって出力が異なるプログラムがあります。ext3 で異なるファイルの戻り順序をシミュレートする方法はありますか

0 投票する
2 に答える
606 参照

c++ - 仮想ディスクからファイルを抽出するにはどうすればよいですか?

データのブロック(ファイルシステムがドライブ全体であると見なす)とファイルシステムのタイプ(fat32、ntfs、ext3)が与えられた場合、そのデータのブロックからファイルを抽出する方法を知りたいと思います。これを行う方法についてのアイデアはありますか?

0 投票する
1 に答える
2232 参照

linux - Linux 読み取り専用パーティションのデータ変更

データが変更されている読み取り専用パーティションがあります。変更は、最初のマウントでのみ発生します。以降のマウントでは、パーティション データは変更されません。

ジャーナリングが問題だった場合に備えて、ext3 と ext2 で試してみました...助けにはなりません。-c -1 -i 0 で tune2fs を試して、実行中のチェックによって影響を受ける可能性のあるタイムスタンプやその他のデータの更新を無効にしました...助けはありません

通常は気にしませんが、データの整合性を保つために、このパーティションをハッシュサムする必要があります。

0 投票する
1 に答える
1610 参照

android - Android ファイルシステムのジャーナリング

ext3 には、ジャーナリング、順序付け、書き戻しの 3 つのジャーナリング オプションがあります。ウィキペディアのエントリによると、これらはクラッシュ リカバリのリスクが最も低いものから最もリスクが高いものまでさまざまです。何らかの理由で、Linux の Android バージョンは後者の 2 つのオプションのみをサポートし、デフォルトで writeback に設定されています。(私はFroyoを実行しています)

ジャーナル モードのサポートを追加する方法はありますか? ext3 である /data パーティションでこれを実行したいと思います。また、ほとんどのファイル書き込みが行われる場所でもあります。私のデバイスにはバッテリーが搭載されていないので、誰かが電源を切断したときにクラッシュプルーフであることを確認する必要があります.

興味のある方のために、Linux オプションは kernel/fs/ext3/Kconfig で定義されています。特定のオプションは EXT3_DEFAULTS_TO_ORDERED です。

0 投票する
0 に答える
157 参照

filesystems - ファイルの書き込み順序に関して、SMB と EXT3 によってどのような保証が与えられますか?

私の (Linux-) アプリケーションから、特定のファイル セットのホットフォルダーを監視しています。たとえば、次のセットを待っています。

  • example-1.xml
  • example-2.xml
  • example-3.xml

ホットフォルダーは、SMB 経由でネットワーク経由で共有されます。ここで、ファイルを移動する前にすべてのファイルが書き込まれていることを確認するために、最後の空のファイルが 1 つになるのを待ちます。

  • たとえば .done

私のクライアントは、このファイルが最後に書き込まれるファイルになることを保証します。

私の仮定は次のとおりです。

  • ファイルはネットワーク経由で送信され、書き込まれた順序でディスクに保存されます。
  • example.done ファイルが利用可能になると、以前のすべてのファイルが完成します。

これらの仮定は正しいですか?

「ファイル システムの保証」を検索しても、ファイル内の順序またはシステム クラッシュ時の信頼性についての説明しか得られません。 ファイルに対する
操作の順序の
保証
NTFS によってどのような信頼性が保証されますか?

0 投票する
2 に答える
1422 参照

linux - msync は、ext3 の fsync のように、ファイルシステム上のすべてのファイルをディスクに同期しますか?

私の知る限り、ログモードが「data=ordered」のほとんどの ext3 システムでは、fsync は fd で指定されたファイルを同期するだけでなく、ファイルシステム上のすべてのファイルを同期します。この問題は、カーネル 2.6 以前では修正されていません。 .30

msync は fsync と同じことをするのですか?

ありがとう。

0 投票する
1 に答える
112 参照

linux - カスタマイズされたext3ファイルシステムを構築する方法

ext3のソースコードでいくつかの実験をしたいと思います。それをコンパイルして使用可能にする方法についてのポインタはありますか?ありがとう

0 投票する
1 に答える
694 参照

android - Android mkdirs() は無効な権限を設定し、他のアプリをフォルダーからロックします

私は Android 用のメディア ファイル編成プログラムに取り組んでおり、メディア ファイルを root/Artist/Album/Song.flac などのディレクトリ構造に移動したいと考えています。この情報を含むデータ構造をループし、mkdirs() を使用してフォルダーを作成しています。作成したフォルダを (OI File Manager または File Expert を使用して) 参照すると、第 1 レベルのディレクトリに入り、第 2 レベルのディレクトリの名前を確認できますが、それらは 0 バイトのファイルとして示されます。最初は本当に単なるファイルだと思って再試行しましたが、ADB でそれらを参照すると、それらはファイルです。権限が問題です:

たとえば、ルートは /mnt/storage/FLAC にあります。

2 番目のレベルのディレクトリ (/mnt/storage/FLAC/Artist_1 など) には、Album フォルダーに対する同じ権限があります。

chmod を使用してアクセス許可を手動で編集し、両方のレベル フォルダーを drwxrwxrwx (777) に設定すると、それらに移動して、ファイル マネージャーでファイルを再生できます。これは、chmod +x で実行できます。

私が使用しているコードは次のとおりです。

これは moveFile 関数です。

マニフェスト ファイルに次の行があります。

私のデバイスのストレージは16GBの内部ext3です。このアクセス許可の修正をコードにどのように追加すればよいですか?