Cente FileSystem

Cente FileSystem

・ファイル分割、クラスタ挿入時にFAT操作が正しく行えない不具合を修正

ct_divideでFATチェーンの分割位置とディレクトリエントリに書き込むサイズ情報に不整合が発生する不具合を修正ct_ins_clustで挿入位置に「1」以上を指定した場合、指定位置とは誤った位置にクラスタを挿入してしまう不具合を修正

(Cente障害情報:101-0079)

 

 ・同一ファイルの多重オープン時の読み出しで誤ったデータを読み込む不具合を修正

書き込みモード("w","w+","a","a+","r+")と読み出しモード("r")で同一ファイルを同時にオープンした時に、以下の問題が発生する不具合を修正

1.  誤ったデータを読み込んでしまう

2.  古いデータを読み込んでしまう

3.  ファイルサイズが更新されない

(Cente障害情報:101-0080)

 

 ・高速fseek機能を使用した場合のファイル操作時に、データの上書き及びメタデータの不整合が発生する不具合を修正

高速fseek機能を使用した場合に以下の問題が発生する不具合を修正

1.  入出力バッファの管理セクタ番号を指定シーク先より手前のセクタ番号で管理してしまう

2.  FATチェーンの拡大をせずにファイルサイズのみ拡大してしまう

3.  高速fseek用クラスタバッファに積み上げていない位置から不正なクラスタ番号を取得し、入出力バッファに誤ったデータを取り込んでしまう

(Cente障害情報:101-0081)

 

 ・ビルドの結果エラー、ワーニングが発生する不具合を修正

以下のエラー、ワーニング検出内容を修正

1.  Undefined external symbolのリンクエラー

2.  整数値比較演算において無意味な演算式

3.  グローバル関数宣言とローカル関数宣言の矛盾

4.  引数の型と一致していない呼び出し関数

5.  戻り値の型と異なる戻り値

6.  未使用変数、未使用関数

7.  値の初期化が必要な変数

(Cente障害情報:101-0082)

 

 ・追記モードで開いたファイルに正しく追記できない不具合を修正

メタデータ保護機能使用時、"a"もしくは"a+"モードで開いたファイルに対して追記を行った場合、FATとディレクトリエントリの不整合が発生する不具合を修正

(Cente障害情報:101-0083)

 

 ・ディレクトリ拡張時不特定な領域を壊す場合がある不具合を修正

メタデータ保護機能使用時、ファイル、ディレクトリの作成/名前変更/移動に伴うディレクトリエントリ領域の拡張処理で、FATアクセス用セマフォ資源の獲得に失敗(タイムアウトエラー)すると不特定領域に拡張してしまう不具合を修正

(Cente障害情報:101-0084)

 

 ・API処理中のアンマウントによる資源返却の不具合を修正

API処理中にunmount_diskを実行するとタイミングによって以下の問題が発生する不具合を修正

1.  ディスクドライブセマフォ資源の返却が行えず、再度mount_diskを実行した際に、資源獲得でタイムアウトエラーが発生する(マウントできない)

2.  処理中のAPIが、ST_FILE、ST_DIR構造体のポインタを引数に持つAPIであった場合、NULLポイントアクセスが発生する

(Cente障害情報:101-0085)

 

 ・fs_cfg.hのメタデータ保護機能関連マクロ値によって起こる不具合を修正

メタデータ保護機能使用時、マクロに設定した値によって以下の問題が発生する不具合を修正

1.  複数のメディアを使用し且つセクタサイズが異なっていた場合、セクタサイズの小さいメディアにおいてバックアップ領域の破壊が発生する

2.  FS_DIR_BLK_NUMを「1」に設定した場合に、バックアップ領域が不足し、獲得バッファオーバーのエラーが発生する

(Cente障害情報:101-0086)

 

 ・fwriteの第2引数sizeに1以外を指定すると書き込みができない不具合を修正

メタデータ保護機能使用時、fwriteの第2引数 size に 1 以外を指定すると書き込みが行われず、また、その際の戻り値を正常時の値で戻してしまう不具合を修正

(Cente障害情報:101-0087)

 

 ・既存ファイル、ディレクトリに対し後からメタデータ保護機能を有効にした場合の不具合を修正

既にファイル、ディレクトリが存在するメディアに対し後からメタデータ保護機能を有効にした時、既存のファイル、ディレクトリの更新を行うとエラーが発生する不具合を修正

(Cente障害情報:101-0088)

 

 ・JFS_SIG_DAMAGEのマクロ名を修正

JFS_SIG_DAMAGEのマクロ名がソースコード上、JER_SIG_DAMAGEになっていた誤りを修正

 

 ・下記関数を修正

fs_inimem, fs_iniworkmem   

固定長メモリプールを設定する時、取得IDをchar型でキャストしたため、256以上のIDを引き渡せなかった誤りを修正

 

 ・set_seekbf()の第2引数を変更

第2引数buf_pの型名を明示的にvoid型からct_uint32_t型に変更 

 

Page 5 of 17