Btrfs progs v4.16.1
[platform/upstream/btrfs-progs.git] / convert / source-fs.c
index 4755efb..b6d0837 100644 (file)
@@ -28,6 +28,31 @@ const struct simple_range btrfs_reserved_ranges[3] = {
        { BTRFS_SB_MIRROR_OFFSET(2), SZ_64K }
 };
 
+dev_t decode_dev(u32 dev)
+{
+       unsigned major = (dev & 0xfff00) >> 8;
+       unsigned minor = (dev & 0xff) | ((dev >> 12) & 0xfff00);
+
+       return MKDEV(major, minor);
+}
+
+int ext2_acl_count(size_t size)
+{
+       ssize_t s;
+
+       size -= sizeof(ext2_acl_header);
+       s = size - 4 * sizeof(ext2_acl_entry_short);
+       if (s < 0) {
+               if (size % sizeof(ext2_acl_entry_short))
+                       return -1;
+               return size / sizeof(ext2_acl_entry_short);
+       } else {
+               if (s % sizeof(ext2_acl_entry))
+                       return -1;
+               return s / sizeof(ext2_acl_entry) + 4;
+       }
+}
+
 static u64 intersect_with_reserved(u64 bytenr, u64 num_bytes)
 {
        int i;