]> code.delx.au - refind/blobdiff - filesystems/fsw_btrfs.c
Refinement to previous refind-install adjustment for NVMe and similar
[refind] / filesystems / fsw_btrfs.c
index 7359c44cc2c16328a924dfe1b5d48a2e9cac4fa9..566be85c70d5e882e15bd3de0998aa92700587aa 100644 (file)
@@ -60,7 +60,6 @@
 #include "scandisk.c"
 
 #define BTRFS_DEFAULT_BLOCK_SIZE 4096
-//#define BTRFS_DEFAULT_BLOCK_SIZE 8192
 #define BTRFS_INITIAL_BCACHE_SIZE 1024
 #define GRUB_BTRFS_SIGNATURE "_BHRfS_M"
 
@@ -407,7 +406,7 @@ static fsw_status_t btrfs_read_superblock (struct fsw_volume *vol, struct btrfs_
             break;
 
         err = fsw_block_get(vol, superblock_pos[i], 0, (void **)&buffer);
-        if (err == FSW_UNSUPPORTED) {
+        if (err) {
             fsw_block_release(vol, superblock_pos[i], buffer);
             break;
         }
@@ -1166,19 +1165,19 @@ static fsw_status_t fsw_btrfs_dnode_stat(struct fsw_volume *volg, struct fsw_dno
     /* slave device got empty root */
     if(dno->raw == NULL) {
         sb->used_bytes = 0;
-        sb->store_time_posix(sb, FSW_DNODE_STAT_CTIME, 0);
-        sb->store_time_posix(sb, FSW_DNODE_STAT_ATIME, 0);
-        sb->store_time_posix(sb, FSW_DNODE_STAT_MTIME, 0);
+        fsw_store_time_posix(sb, FSW_DNODE_STAT_CTIME, 0);
+        fsw_store_time_posix(sb, FSW_DNODE_STAT_ATIME, 0);
+        fsw_store_time_posix(sb, FSW_DNODE_STAT_MTIME, 0);
         return FSW_SUCCESS;
     }
     sb->used_bytes = fsw_u64_le_swap(dno->raw->nbytes);
-    sb->store_time_posix(sb, FSW_DNODE_STAT_ATIME,
+    fsw_store_time_posix(sb, FSW_DNODE_STAT_ATIME,
             fsw_u64_le_swap(dno->raw->atime.sec));
-    sb->store_time_posix(sb, FSW_DNODE_STAT_CTIME,
+    fsw_store_time_posix(sb, FSW_DNODE_STAT_CTIME,
             fsw_u64_le_swap(dno->raw->ctime.sec));
-    sb->store_time_posix(sb, FSW_DNODE_STAT_MTIME,
+    fsw_store_time_posix(sb, FSW_DNODE_STAT_MTIME,
             fsw_u64_le_swap(dno->raw->mtime.sec));
-    sb->store_attr_posix(sb, fsw_u32_le_swap(dno->raw->mode));
+    fsw_store_attr_posix(sb, fsw_u32_le_swap(dno->raw->mode));
 
     return FSW_SUCCESS;
 }
@@ -1326,7 +1325,7 @@ static fsw_status_t fsw_btrfs_get_extent(struct fsw_volume *volg, struct fsw_dno
 
         vol->extend = vol->extstart + fsw_u64_le_swap (vol->extent->size);
         if (vol->extent->type == GRUB_BTRFS_EXTENT_REGULAR
-                && (char *) &vol->extent + elemsize
+                && (char *) vol->extent + elemsize
                 >= (char *) &vol->extent->filled + sizeof (vol->extent->filled))
             vol->extend =
                 vol->extstart + fsw_u64_le_swap (vol->extent->filled);
@@ -1863,7 +1862,7 @@ out:
 //
 
 struct fsw_fstype_table   FSW_FSTYPE_TABLE_NAME(btrfs) = {
-    { FSW_STRING_TYPE_UTF8, 4, 4, "btrfs" },
+    { FSW_STRING_TYPE_UTF8, 5, 5, "btrfs" },
     sizeof(struct fsw_btrfs_volume),
     sizeof(struct fsw_btrfs_dnode),