From 463d0471d19f862069595654dff3d55c9c9405c2be0d83206cd4a725a1c48a40 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 22 Jun 2010 22:44:31 +0000 Subject: [PATCH 1/4] Accepting request 41933 from home:azouhr:branches:Base:System Copy from home:azouhr:branches:Base:System/util-linux via accept of submit request 41933 revision 2. Request was accepted with message: Reviewed ok OBS-URL: https://build.opensuse.org/request/show/41933 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=43 --- util-linux.changes | 5 +++++ util-linux.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/util-linux.changes b/util-linux.changes index 9732cbd..68ad9e9 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jun 22 16:48:29 UTC 2010 - bg@novell.com + +- hppa specific binaries are parisc{,32,64} + ------------------------------------------------------------------- Tue Jun 1 14:23:23 UTC 2010 - puzel@novell.com diff --git a/util-linux.spec b/util-linux.spec index 1de8871..965d7b4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -349,10 +349,10 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man8/fdisk.8* %find_lang %{name}-ng %{name}.lang # create list of setarch(8) symlinks find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)$" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \ -printf "%{_bindir}/%f\n" >> %{name}.files find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)\.8.*" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \ -printf "%{_mandir}/man8/%f*\n" >> %{name}.files %clean From 57501a0075948840c4eb6cbfaca9fee4acb3f6f0ef4ddf1e94d283dcc75f0899 Mon Sep 17 00:00:00 2001 From: Petr Uzel Date: Fri, 25 Jun 2010 07:42:28 +0000 Subject: [PATCH 2/4] Accepting request 42022 from home:jeff_mahoney:branches:Base:System Copy from home:jeff_mahoney:branches:Base:System/util-linux via accept of submit request 42022 revision 2. Request was accepted with message: Thanks! OBS-URL: https://build.opensuse.org/request/show/42022 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=44 --- util-linux-swapon-btrfs-limitations | 42 +++++++++++++++++++++++++++++ util-linux.changes | 5 ++++ util-linux.spec | 2 ++ 3 files changed, 49 insertions(+) create mode 100644 util-linux-swapon-btrfs-limitations diff --git a/util-linux-swapon-btrfs-limitations b/util-linux-swapon-btrfs-limitations new file mode 100644 index 0000000..59722da --- /dev/null +++ b/util-linux-swapon-btrfs-limitations @@ -0,0 +1,42 @@ +From: Jeff Mahoney +Subject: swapon: Document btrfs limitation with swapfiles +References: bnc#616617 + + Btrfs, as of 2.6.35, is unable to allow swapfiles to be used on its + filesystems. This is due to the swapfile implementation wanting to build + an extent map of each block in the file and expecting it to be static + for the life of the swapfile. + + Btrfs can't guarantee this and refuses to return the mapping. The swapfile + implementation just makes a comment about there being holes in the file - + but that's how btrfs denies the mapping. + + This patch adds a section to the swapon manpage to document it. + +Signed-off-by: Jeff Mahoney + +--- + mount/swapon.8 | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/mount/swapon.8 ++++ b/mount/swapon.8 +@@ -167,6 +167,18 @@ automatically detects and rewrites swap + suspend data (e.g S1SUSPEND, S2SUSPEND, ...). The problem is that if we don't + do it, then we get data corruption the next time an attempt at unsuspending is + made. ++.PP ++.B swapon ++may not work correctly when using a swap file with some versions of btrfs. ++This is due to the swap file implementation in the kernel expecting to be able ++to write to the file directly, without the assistance of the file system. ++Since btrfs is a copy-on-write file system, the file location may not be ++static and corruption can result. Btrfs actively disallows the use of files ++on its file systems by refusing to map the file. This can be seen in the system ++log as "swapon: swapfile has holes." One possible workaround is to map the ++file to a loopback device. This will allow the file system to determine the ++mapping properly but may come with a performance impact. ++ + .SH SEE ALSO + .BR swapon (2), + .BR swapoff (2), diff --git a/util-linux.changes b/util-linux.changes index 68ad9e9..d84ec7b 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jun 24 23:24:41 CEST 2010 - jeffm@suse.de + +- document btrfs limitation with swapfiles (bnc#616617) + ------------------------------------------------------------------- Tue Jun 22 16:48:29 UTC 2010 - bg@novell.com diff --git a/util-linux.spec b/util-linux.spec index 965d7b4..2b717aa 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -75,6 +75,7 @@ Patch4: util-linux-2.17.1-losetup-honor-documented-c-option Patch5: util-linux-addpart-use-atoll.patch # bnc#481123 Patch6: util-linux-mount-detect-ro-mount.patch +Patch7: util-linux-swapon-btrfs-limitations ## ## adjtimex ## @@ -165,6 +166,7 @@ unique IDs (UUIDs). %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 # cd adjtimex-* %patch50 -p1 From 308c0a2ee7b67a5aea8f1e26fe7fe29cd55b2a30498755c09b6e435d44846dc7 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 25 Jun 2010 18:44:46 +0000 Subject: [PATCH 3/4] checked in (request 42035) OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=45 --- util-linux-swapon-btrfs-limitations | 42 ----------------------------- util-linux.changes | 10 ------- util-linux.spec | 6 ++--- 3 files changed, 2 insertions(+), 56 deletions(-) delete mode 100644 util-linux-swapon-btrfs-limitations diff --git a/util-linux-swapon-btrfs-limitations b/util-linux-swapon-btrfs-limitations deleted file mode 100644 index 59722da..0000000 --- a/util-linux-swapon-btrfs-limitations +++ /dev/null @@ -1,42 +0,0 @@ -From: Jeff Mahoney -Subject: swapon: Document btrfs limitation with swapfiles -References: bnc#616617 - - Btrfs, as of 2.6.35, is unable to allow swapfiles to be used on its - filesystems. This is due to the swapfile implementation wanting to build - an extent map of each block in the file and expecting it to be static - for the life of the swapfile. - - Btrfs can't guarantee this and refuses to return the mapping. The swapfile - implementation just makes a comment about there being holes in the file - - but that's how btrfs denies the mapping. - - This patch adds a section to the swapon manpage to document it. - -Signed-off-by: Jeff Mahoney - ---- - mount/swapon.8 | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - ---- a/mount/swapon.8 -+++ b/mount/swapon.8 -@@ -167,6 +167,18 @@ automatically detects and rewrites swap - suspend data (e.g S1SUSPEND, S2SUSPEND, ...). The problem is that if we don't - do it, then we get data corruption the next time an attempt at unsuspending is - made. -+.PP -+.B swapon -+may not work correctly when using a swap file with some versions of btrfs. -+This is due to the swap file implementation in the kernel expecting to be able -+to write to the file directly, without the assistance of the file system. -+Since btrfs is a copy-on-write file system, the file location may not be -+static and corruption can result. Btrfs actively disallows the use of files -+on its file systems by refusing to map the file. This can be seen in the system -+log as "swapon: swapfile has holes." One possible workaround is to map the -+file to a loopback device. This will allow the file system to determine the -+mapping properly but may come with a performance impact. -+ - .SH SEE ALSO - .BR swapon (2), - .BR swapoff (2), diff --git a/util-linux.changes b/util-linux.changes index d84ec7b..9732cbd 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,13 +1,3 @@ -------------------------------------------------------------------- -Thu Jun 24 23:24:41 CEST 2010 - jeffm@suse.de - -- document btrfs limitation with swapfiles (bnc#616617) - -------------------------------------------------------------------- -Tue Jun 22 16:48:29 UTC 2010 - bg@novell.com - -- hppa specific binaries are parisc{,32,64} - ------------------------------------------------------------------- Tue Jun 1 14:23:23 UTC 2010 - puzel@novell.com diff --git a/util-linux.spec b/util-linux.spec index 2b717aa..1de8871 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -75,7 +75,6 @@ Patch4: util-linux-2.17.1-losetup-honor-documented-c-option Patch5: util-linux-addpart-use-atoll.patch # bnc#481123 Patch6: util-linux-mount-detect-ro-mount.patch -Patch7: util-linux-swapon-btrfs-limitations ## ## adjtimex ## @@ -166,7 +165,6 @@ unique IDs (UUIDs). %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 # cd adjtimex-* %patch50 -p1 @@ -351,10 +349,10 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man8/fdisk.8* %find_lang %{name}-ng %{name}.lang # create list of setarch(8) symlinks find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)$" \ -printf "%{_bindir}/%f\n" >> %{name}.files find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)\.8.*" \ -printf "%{_mandir}/man8/%f*\n" >> %{name}.files %clean From f443f8a63fe4d023fcc1a6d88fd77cbc435b736fea0ecaacf56daa60dd505fe1 Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Fri, 25 Jun 2010 18:44:47 +0000 Subject: [PATCH 4/4] Updating link to change in openSUSE:Factory/util-linux revision 93.0 OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=708116f85071b8fa4e516a49235b9086 --- util-linux-swapon-btrfs-limitations | 42 +++++++++++++++++++++++++++++ util-linux.changes | 10 +++++++ util-linux.spec | 8 +++--- 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 util-linux-swapon-btrfs-limitations diff --git a/util-linux-swapon-btrfs-limitations b/util-linux-swapon-btrfs-limitations new file mode 100644 index 0000000..59722da --- /dev/null +++ b/util-linux-swapon-btrfs-limitations @@ -0,0 +1,42 @@ +From: Jeff Mahoney +Subject: swapon: Document btrfs limitation with swapfiles +References: bnc#616617 + + Btrfs, as of 2.6.35, is unable to allow swapfiles to be used on its + filesystems. This is due to the swapfile implementation wanting to build + an extent map of each block in the file and expecting it to be static + for the life of the swapfile. + + Btrfs can't guarantee this and refuses to return the mapping. The swapfile + implementation just makes a comment about there being holes in the file - + but that's how btrfs denies the mapping. + + This patch adds a section to the swapon manpage to document it. + +Signed-off-by: Jeff Mahoney + +--- + mount/swapon.8 | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/mount/swapon.8 ++++ b/mount/swapon.8 +@@ -167,6 +167,18 @@ automatically detects and rewrites swap + suspend data (e.g S1SUSPEND, S2SUSPEND, ...). The problem is that if we don't + do it, then we get data corruption the next time an attempt at unsuspending is + made. ++.PP ++.B swapon ++may not work correctly when using a swap file with some versions of btrfs. ++This is due to the swap file implementation in the kernel expecting to be able ++to write to the file directly, without the assistance of the file system. ++Since btrfs is a copy-on-write file system, the file location may not be ++static and corruption can result. Btrfs actively disallows the use of files ++on its file systems by refusing to map the file. This can be seen in the system ++log as "swapon: swapfile has holes." One possible workaround is to map the ++file to a loopback device. This will allow the file system to determine the ++mapping properly but may come with a performance impact. ++ + .SH SEE ALSO + .BR swapon (2), + .BR swapoff (2), diff --git a/util-linux.changes b/util-linux.changes index 9732cbd..d84ec7b 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Jun 24 23:24:41 CEST 2010 - jeffm@suse.de + +- document btrfs limitation with swapfiles (bnc#616617) + +------------------------------------------------------------------- +Tue Jun 22 16:48:29 UTC 2010 - bg@novell.com + +- hppa specific binaries are parisc{,32,64} + ------------------------------------------------------------------- Tue Jun 1 14:23:23 UTC 2010 - puzel@novell.com diff --git a/util-linux.spec b/util-linux.spec index 1de8871..a18e67c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -27,7 +27,7 @@ License: GPLv2+ Group: System/Base AutoReqProv: on Version: 2.17.2 -Release: 4 +Release: 5 Recommends: %name-lang = %{version} Summary: A collection of basic system utilities Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v%{version}/%name-ng-%{version}.tar.bz2 @@ -75,6 +75,7 @@ Patch4: util-linux-2.17.1-losetup-honor-documented-c-option Patch5: util-linux-addpart-use-atoll.patch # bnc#481123 Patch6: util-linux-mount-detect-ro-mount.patch +Patch7: util-linux-swapon-btrfs-limitations ## ## adjtimex ## @@ -165,6 +166,7 @@ unique IDs (UUIDs). %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 # cd adjtimex-* %patch50 -p1 @@ -349,10 +351,10 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man8/fdisk.8* %find_lang %{name}-ng %{name}.lang # create list of setarch(8) symlinks find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)$" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \ -printf "%{_bindir}/%f\n" >> %{name}.files find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ - -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64)\.8.*" \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \ -printf "%{_mandir}/man8/%f*\n" >> %{name}.files %clean