* Sat Jan 10 2009 Eric Sandeen <sandeen@redhat.com> 1.41.3-3
- Remove conservative "don't change journal location" patch for F11 - Add btrfs recognition to blkid
This commit is contained in:
parent
faf9784c4a
commit
a5b4797b7b
165
e2fsprogs-1.41.3-blkid-btrfs.patch
Normal file
165
e2fsprogs-1.41.3-blkid-btrfs.patch
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
Add btrfs detection to libblkid, now that the disk format should be
|
||||||
|
recognizable in the future.
|
||||||
|
|
||||||
|
# misc/blkid /tmp/fsfile
|
||||||
|
/tmp/fsfile: LABEL="mylabel" UUID="102b07f0-0e79-4b42-8a4e-1dde418bbe6d" TYPE="btrfs"
|
||||||
|
|
||||||
|
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
Index: e2fsprogs/lib/blkid/probe.c
|
||||||
|
===================================================================
|
||||||
|
--- e2fsprogs.orig/lib/blkid/probe.c
|
||||||
|
+++ e2fsprogs/lib/blkid/probe.c
|
||||||
|
@@ -1293,6 +1293,22 @@ static int probe_lvm2(struct blkid_probe
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+static int probe_btrfs(struct blkid_probe *probe,
|
||||||
|
+ struct blkid_magic *id,
|
||||||
|
+ unsigned char *buf)
|
||||||
|
+{
|
||||||
|
+ struct btrfs_super_block *bs;
|
||||||
|
+ const char *label = 0;
|
||||||
|
+
|
||||||
|
+ bs = (struct btrfs_super_block *)buf;
|
||||||
|
+
|
||||||
|
+ if (strlen(bs->label))
|
||||||
|
+ label = bs->label;
|
||||||
|
+ blkid_set_tag(probe->dev, "LABEL", label, sizeof(bs->label));
|
||||||
|
+ set_uuid(probe->dev, bs->fsid, 0);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
/*
|
||||||
|
* Various filesystem magics that we can check for. Note that kboff and
|
||||||
|
* sboff are in kilobytes and bytes respectively. All magics are in
|
||||||
|
@@ -1386,6 +1402,7 @@ static struct blkid_magic type_array[] =
|
||||||
|
{ "lvm2pv", 0, 0x018, 8, "LVM2 001", probe_lvm2 },
|
||||||
|
{ "lvm2pv", 1, 0x018, 8, "LVM2 001", probe_lvm2 },
|
||||||
|
{ "lvm2pv", 1, 0x218, 8, "LVM2 001", probe_lvm2 },
|
||||||
|
+ { "btrfs", 64, 0x40, 8, "_BHRfS_M", probe_btrfs },
|
||||||
|
{ NULL, 0, 0, 0, NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
Index: e2fsprogs/lib/blkid/probe.h
|
||||||
|
===================================================================
|
||||||
|
--- e2fsprogs.orig/lib/blkid/probe.h
|
||||||
|
+++ e2fsprogs/lib/blkid/probe.h
|
||||||
|
@@ -621,6 +621,110 @@ struct lvm2_pv_label_header {
|
||||||
|
__u8 pv_uuid[LVM2_ID_LEN];
|
||||||
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * this is a very generous portion of the super block, giving us
|
||||||
|
+ * room to translate 14 chunks with 3 stripes each.
|
||||||
|
+ */
|
||||||
|
+#define BTRFS_SYSTEM_CHUNK_ARRAY_SIZE 2048
|
||||||
|
+#define BTRFS_LABEL_SIZE 256
|
||||||
|
+#define BTRFS_UUID_SIZE 16
|
||||||
|
+#define BTRFS_FSID_SIZE 16
|
||||||
|
+#define BTRFS_CSUM_SIZE 32
|
||||||
|
+
|
||||||
|
+struct btrfs_dev_item {
|
||||||
|
+ /* the internal btrfs device id */
|
||||||
|
+ __u64 devid;
|
||||||
|
+
|
||||||
|
+ /* size of the device */
|
||||||
|
+ __u64 total_bytes;
|
||||||
|
+
|
||||||
|
+ /* bytes used */
|
||||||
|
+ __u64 bytes_used;
|
||||||
|
+
|
||||||
|
+ /* optimal io alignment for this device */
|
||||||
|
+ __u32 io_align;
|
||||||
|
+
|
||||||
|
+ /* optimal io width for this device */
|
||||||
|
+ __u32 io_width;
|
||||||
|
+
|
||||||
|
+ /* minimal io size for this device */
|
||||||
|
+ __u32 sector_size;
|
||||||
|
+
|
||||||
|
+ /* type and info about this device */
|
||||||
|
+ __u64 type;
|
||||||
|
+
|
||||||
|
+ /* expected generation for this device */
|
||||||
|
+ __u64 generation;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * starting byte of this partition on the device,
|
||||||
|
+ * to allowr for stripe alignment in the future
|
||||||
|
+ */
|
||||||
|
+ __u64 start_offset;
|
||||||
|
+
|
||||||
|
+ /* grouping information for allocation decisions */
|
||||||
|
+ __u32 dev_group;
|
||||||
|
+
|
||||||
|
+ /* seek speed 0-100 where 100 is fastest */
|
||||||
|
+ __u8 seek_speed;
|
||||||
|
+
|
||||||
|
+ /* bandwidth 0-100 where 100 is fastest */
|
||||||
|
+ __u8 bandwidth;
|
||||||
|
+
|
||||||
|
+ /* btrfs generated uuid for this device */
|
||||||
|
+ __u8 uuid[BTRFS_UUID_SIZE];
|
||||||
|
+
|
||||||
|
+ /* uuid of FS who owns this device */
|
||||||
|
+ __u8 fsid[BTRFS_UUID_SIZE];
|
||||||
|
+} __attribute__ ((__packed__));
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * the super block basically lists the main trees of the FS
|
||||||
|
+ * it currently lacks any block count etc etc
|
||||||
|
+ */
|
||||||
|
+struct btrfs_super_block {
|
||||||
|
+ __u8 csum[BTRFS_CSUM_SIZE];
|
||||||
|
+ /* the first 3 fields must match struct btrfs_header */
|
||||||
|
+ __u8 fsid[BTRFS_FSID_SIZE]; /* FS specific uuid */
|
||||||
|
+ __u64 bytenr; /* this block number */
|
||||||
|
+ __u64 flags;
|
||||||
|
+
|
||||||
|
+ /* allowed to be different from the btrfs_header from here own down */
|
||||||
|
+ __u64 magic;
|
||||||
|
+ __u64 generation;
|
||||||
|
+ __u64 root;
|
||||||
|
+ __u64 chunk_root;
|
||||||
|
+ __u64 log_root;
|
||||||
|
+
|
||||||
|
+ /* this will help find the new super based on the log root */
|
||||||
|
+ __u64 log_root_transid;
|
||||||
|
+ __u64 total_bytes;
|
||||||
|
+ __u64 bytes_used;
|
||||||
|
+ __u64 root_dir_objectid;
|
||||||
|
+ __u64 num_devices;
|
||||||
|
+ __u32 sectorsize;
|
||||||
|
+ __u32 nodesize;
|
||||||
|
+ __u32 leafsize;
|
||||||
|
+ __u32 stripesize;
|
||||||
|
+ __u32 sys_chunk_array_size;
|
||||||
|
+ __u64 chunk_root_generation;
|
||||||
|
+ __u64 compat_flags;
|
||||||
|
+ __u64 compat_ro_flags;
|
||||||
|
+ __u64 incompat_flags;
|
||||||
|
+ __u16 csum_type;
|
||||||
|
+ __u8 root_level;
|
||||||
|
+ __u8 chunk_root_level;
|
||||||
|
+ __u8 log_root_level;
|
||||||
|
+ struct btrfs_dev_item dev_item;
|
||||||
|
+
|
||||||
|
+ char label[BTRFS_LABEL_SIZE];
|
||||||
|
+
|
||||||
|
+ /* future expansion */
|
||||||
|
+ __u64 reserved[32];
|
||||||
|
+ __u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE];
|
||||||
|
+} __attribute__ ((__packed__));
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Byte swap functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
--
|
||||||
|
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
|
||||||
|
the body of a message to majordomo@vger.kernel.org
|
||||||
|
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
Only move ext4's journal for now; I don't want to change this behavior
|
|
||||||
for ext3 late in the release process.
|
|
||||||
|
|
||||||
Index: e2fsprogs/lib/ext2fs/mkjournal.c
|
|
||||||
===================================================================
|
|
||||||
--- e2fsprogs.orig/lib/ext2fs/mkjournal.c
|
|
||||||
+++ e2fsprogs/lib/ext2fs/mkjournal.c
|
|
||||||
@@ -332,6 +332,10 @@ static errcode_t write_journal_inode(ext
|
|
||||||
es.goal = (fs->super->s_blocks_per_group * group) +
|
|
||||||
fs->super->s_first_data_block;
|
|
||||||
|
|
||||||
+ /* quick conservative hack: if not ext4, just keep the goal at 0 */
|
|
||||||
+ if (!(fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS))
|
|
||||||
+ es.goal = 0;
|
|
||||||
+
|
|
||||||
retval = ext2fs_block_iterate2(fs, journal_ino, BLOCK_FLAG_APPEND,
|
|
||||||
0, mkjournal_proc, &es);
|
|
||||||
if (es.err) {
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems
|
Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems
|
||||||
Name: e2fsprogs
|
Name: e2fsprogs
|
||||||
Version: 1.41.3
|
Version: 1.41.3
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
# License based on upstream-modified COPYING file,
|
# License based on upstream-modified COPYING file,
|
||||||
# which clearly states "V2" intent.
|
# which clearly states "V2" intent.
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
@ -15,7 +15,7 @@ Source2: blkid_types-wrapper.h
|
|||||||
Source3: uuidd.init
|
Source3: uuidd.init
|
||||||
Patch1: e2fsprogs-1.38-etcblkid.patch
|
Patch1: e2fsprogs-1.38-etcblkid.patch
|
||||||
Patch2: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
|
Patch2: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
|
||||||
Patch3: e2fsprogs-journal-move.patch
|
Patch3: e2fsprogs-1.41.3-blkid-btrfs.patch
|
||||||
|
|
||||||
Url: http://e2fsprogs.sourceforge.net/
|
Url: http://e2fsprogs.sourceforge.net/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -292,6 +292,10 @@ fi
|
|||||||
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
|
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jan 10 2009 Eric Sandeen <sandeen@redhat.com> 1.41.3-3
|
||||||
|
- Remove conservative "don't change journal location" patch for F11
|
||||||
|
- Add btrfs recognition to blkid
|
||||||
|
|
||||||
* Mon Oct 03 2008 Eric Sandeen <sandeen@redhat.com> 1.41.3-2
|
* Mon Oct 03 2008 Eric Sandeen <sandeen@redhat.com> 1.41.3-2
|
||||||
- Bump to revision 2, f10 was behind f9, oops.
|
- Bump to revision 2, f10 was behind f9, oops.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user