소스 검색

Completed transition of files with journalling metadata

This was the simpler part of transitioning since file operations only
interact with metadata at sync time.

Also switched from array to linked-list of entries.
Christopher Haster 7 년 전
부모
커밋
0695862b38
2개의 변경된 파일294개의 추가작업 그리고 625개의 파일을 삭제
  1. 287 603
      lfs.c
  2. 7 22
      lfs.h

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 287 - 603
lfs.c


+ 7 - 22
lfs.h

@@ -306,6 +306,11 @@ typedef struct lfs_entry_ {
     } u;
 } lfs_entry_t_;
 
+typedef struct lfs_entry_list_ {
+    lfs_entry_t_ e;
+    struct lfs_entry_list_ *next;
+} lfs_entrylist_t;
+
 typedef struct lfs_entry_attr {
     struct lfs_disk_entry_attr {
         uint8_t type;
@@ -319,25 +324,6 @@ typedef struct lfs_cache {
     uint8_t *buffer;
 } lfs_cache_t;
 
-typedef struct lfs_file {
-    struct lfs_file *next;
-    lfs_block_t pair[2];
-    lfs_off_t pairoff;
-
-    lfs_block_t head;
-    lfs_size_t size;
-
-    uint32_t flags;
-    lfs_size_t inline_size;
-    lfs_off_t pos;
-    lfs_block_t block;
-    lfs_off_t off;
-    lfs_cache_t cache;
-
-    const struct lfs_attr *attrs;
-    int attrcount;
-} lfs_file_t;
-
 typedef struct lfs_file_ {
     struct lfs_file *next;
     lfs_block_t pair[2];
@@ -352,9 +338,8 @@ typedef struct lfs_file_ {
     lfs_off_t off;
     lfs_cache_t cache;
 
-    const struct lfs_attr *attrs;
-    int attrcount;
-} lfs_file_t_;
+    lfs_entrylist_t *attrs;
+} lfs_file_t;
 
 typedef struct lfs_dir {
     struct lfs_dir *next;

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.