aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch')
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch203
1 files changed, 0 insertions, 203 deletions
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch
deleted file mode 100644
index a1bd4152fb..0000000000
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0008-Update-for-lzo-support.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Upstream-Status: Inappropriate [Backport]
-From 97e64f8cb21685b7359169f3047c0d082b0ff7e8 Mon Sep 17 00:00:00 2001
-From: Li Zefan <lizf@cn.fujitsu.com>
-Date: Thu, 18 Nov 2010 03:49:56 +0000
-Subject: [PATCH 08/15] Update for lzo support
-
-[Btrfs-Progs][V2] Update for lzo support
-
-- Add incompat flag, otherwise btrfs-progs will report error
- when operating on btrfs filesystems mounted with lzo option.
-
-- Update man page.
-
-- Allow to turn on lzo compression for defrag operation:
-
- # btrfs filesystem defragment -c[zlib, lzo] <file>
-
- Note: "-c zlib" will fail, because that's how getopt() works
- for optional arguments.
-
-Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
-Signed-off-by: Chris Mason <chris.mason@oracle.com>
----
- btrfs.c | 2 +-
- btrfs_cmds.c | 24 ++++++++++++++++++++----
- ctree.h | 10 +++++++---
- ioctl.h | 9 ++++++++-
- man/btrfs.8.in | 10 ++++++----
- 5 files changed, 42 insertions(+), 13 deletions(-)
-
-diff --git a/btrfs.c b/btrfs.c
-index 46314cf..1b4f403 100644
---- a/btrfs.c
-+++ b/btrfs.c
-@@ -65,7 +65,7 @@ static struct Command commands[] = {
- "List the recently modified files in a filesystem."
- },
- { do_defrag, -1,
-- "filesystem defragment", "[-vcf] [-s start] [-l len] [-t size] <file>|<dir> [<file>|<dir>...]\n"
-+ "filesystem defragment", "[-vf] [-c[zlib,lzo]] [-s start] [-l len] [-t size] <file>|<dir> [<file>|<dir>...]\n"
- "Defragment a file or a directory."
- },
- { do_set_default_subvol, 2,
-diff --git a/btrfs_cmds.c b/btrfs_cmds.c
-index c21a007..26d4fcc 100644
---- a/btrfs_cmds.c
-+++ b/btrfs_cmds.c
-@@ -142,10 +142,21 @@ static u64 parse_size(char *s)
- return atoll(s) * mult;
- }
-
-+static int parse_compress_type(char *s)
-+{
-+ if (strcmp(optarg, "zlib") == 0)
-+ return BTRFS_COMPRESS_ZLIB;
-+ else if (strcmp(optarg, "lzo") == 0)
-+ return BTRFS_COMPRESS_LZO;
-+ else {
-+ fprintf(stderr, "Unknown compress type %s\n", s);
-+ exit(1);
-+ };
-+}
-+
- int do_defrag(int ac, char **av)
- {
- int fd;
-- int compress = 0;
- int flush = 0;
- u64 start = 0;
- u64 len = (u64)-1;
-@@ -157,15 +168,18 @@ int do_defrag(int ac, char **av)
- int fancy_ioctl = 0;
- struct btrfs_ioctl_defrag_range_args range;
- int e=0;
-+ int compress_type = BTRFS_COMPRESS_NONE;
-
- optind = 1;
- while(1) {
-- int c = getopt(ac, av, "vcfs:l:t:");
-+ int c = getopt(ac, av, "vc::fs:l:t:");
- if (c < 0)
- break;
- switch(c) {
- case 'c':
-- compress = 1;
-+ compress_type = BTRFS_COMPRESS_ZLIB;
-+ if (optarg)
-+ compress_type = parse_compress_type(optarg);
- fancy_ioctl = 1;
- break;
- case 'f':
-@@ -203,8 +217,10 @@ int do_defrag(int ac, char **av)
- range.start = start;
- range.len = len;
- range.extent_thresh = thresh;
-- if (compress)
-+ if (compress_type) {
- range.flags |= BTRFS_DEFRAG_RANGE_COMPRESS;
-+ range.compress_type = compress_type;
-+ }
- if (flush)
- range.flags |= BTRFS_DEFRAG_RANGE_START_IO;
-
-diff --git a/ctree.h b/ctree.h
-index ed83d02..61eb639 100644
---- a/ctree.h
-+++ b/ctree.h
-@@ -354,12 +354,14 @@ struct btrfs_super_block {
- #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0)
- #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1)
- #define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2)
-+#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO (1ULL << 3)
-
- #define BTRFS_FEATURE_COMPAT_SUPP 0ULL
- #define BTRFS_FEATURE_COMPAT_RO_SUPP 0ULL
- #define BTRFS_FEATURE_INCOMPAT_SUPP \
- (BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF | \
- BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL | \
-+ BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO | \
- BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS)
-
- /*
-@@ -505,9 +507,11 @@ struct btrfs_timespec {
- } __attribute__ ((__packed__));
-
- typedef enum {
-- BTRFS_COMPRESS_NONE = 0,
-- BTRFS_COMPRESS_ZLIB = 1,
-- BTRFS_COMPRESS_LAST = 2,
-+ BTRFS_COMPRESS_NONE = 0,
-+ BTRFS_COMPRESS_ZLIB = 1,
-+ BTRFS_COMPRESS_LZO = 2,
-+ BTRFS_COMPRESS_TYPES = 2,
-+ BTRFS_COMPRESS_LAST = 3,
- } btrfs_compression_type;
-
- /* we don't understand any encryption methods right now */
-diff --git a/ioctl.h b/ioctl.h
-index 776d7a9..bb7b9e0 100644
---- a/ioctl.h
-+++ b/ioctl.h
-@@ -116,8 +116,15 @@ struct btrfs_ioctl_defrag_range_args {
- */
- __u32 extent_thresh;
-
-+ /*
-+ * which compression method to use if turning on compression
-+ * for this defrag operation. If unspecified, zlib will
-+ * be used
-+ */
-+ __u32 compress_type;
-+
- /* spare for later */
-- __u32 unused[5];
-+ __u32 unused[4];
- };
-
- struct btrfs_ioctl_space_info {
-diff --git a/man/btrfs.8.in b/man/btrfs.8.in
-index cba2de1..1ffed13 100644
---- a/man/btrfs.8.in
-+++ b/man/btrfs.8.in
-@@ -15,12 +15,12 @@ btrfs \- control a btrfs filesystem
- .PP
- \fBbtrfs\fP \fBsubvolume set-default\fP\fI <id> <path>\fP
- .PP
--\fBbtrfs\fP \fBfilesystem defragment\fP\fI [-vcf] [-s start] [-l len] [-t size] <file>|<dir> [<file>|<dir>...]\fP
--.PP
- \fBbtrfs\fP \fBfilesystem sync\fP\fI <path> \fP
- .PP
- \fBbtrfs\fP \fBfilesystem resize\fP\fI [+/\-]<size>[gkm]|max <filesystem>\fP
- .PP
-+\fBbtrfs\fP \fBfilesystem defrag\fP\fI [options] <file>|<dir> [<file>|<dir>...]\fP
-+.PP
- \fBbtrfs\fP \fBdevice scan\fP\fI [<device> [<device>..]]\fP
- .PP
- \fBbtrfs\fP \fBdevice show\fP\fI <dev>|<label> [<dev>|<label>...]\fP
-@@ -30,7 +30,6 @@ btrfs \- control a btrfs filesystem
- \fBbtrfs\fP \fBdevice add\fP\fI <dev> [<dev>..] <path> \fP
- .PP
- \fBbtrfs\fP \fBdevice delete\fP\fI <dev> [<dev>..] <path> \fP]
--
- .PP
- \fBbtrfs\fP \fBhelp|\-\-help|\-h \fP\fI\fP
- .PP
-@@ -104,10 +103,13 @@ Set the subvolume of the filesystem \fI<path>\fR which is mounted as
- is returned by the \fBsubvolume list\fR command.
- .TP
-
--\fBfilesystem defragment\fP\fI [-vcf] [-s start] [-l len] [-t size] <file>|<dir> [<file>|<dir>...]\fR
-+\fBfilesystem defragment\fP -c[zlib|lzo] [-l \fIlen\fR] [-s \fIstart\fR] [-t \fIsize\fR] -[vf] <\fIfile\fR>|<\fIdir\fR> [<\fIfile\fR>|<\fIdir\fR>...]
-+
- Defragment file data and/or directory metadata. To defragment all files in a
- directory you have to specify each one on its own or use your shell wildcards.
-
-+The start position and the number of bytes to deframention can be specified by \fIstart\fR and \fIlen\fR. Any extent bigger than \fIthresh\fR will be considered already defragged. Use 0 to take the kernel default, and use 1 to say eveery single extent must be rewritten. You can also turn on compression in defragment operations.
-+
- \fB-v\fP be verbose
-
- \fB-c\fP compress file contents while defragmenting
---
-1.7.2.3
-