From 0dae9adee612969ccdb3971a90d7f1395dc1d3ee Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 15 Apr 2009 07:22:03 +0000 Subject: [PATCH 1/6] Initialize branch F-11 for util-linux-ng --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..25c7708 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-11 From 6436e0def3b403f60354fe4a3e9e546cdee208a8 Mon Sep 17 00:00:00 2001 From: kzak Date: Mon, 1 Jun 2009 12:27:12 +0000 Subject: [PATCH 2/6] - #498984 - should man page for "mount" mention ext4? --- util-linux-ng-2.14-mount-man-ext4.patch | 127 ++++++++++++++++++++++++ util-linux-ng.spec | 8 +- 2 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 util-linux-ng-2.14-mount-man-ext4.patch diff --git a/util-linux-ng-2.14-mount-man-ext4.patch b/util-linux-ng-2.14-mount-man-ext4.patch new file mode 100644 index 0000000..eb9e9c6 --- /dev/null +++ b/util-linux-ng-2.14-mount-man-ext4.patch @@ -0,0 +1,127 @@ +diff -up util-linux-ng-2.14.2/mount/mount.8.kzak util-linux-ng-2.14.2/mount/mount.8 +--- util-linux-ng-2.14.2/mount/mount.8.kzak 2009-02-09 11:08:11.000000000 +0100 ++++ util-linux-ng-2.14.2/mount/mount.8 2009-06-01 14:19:00.000000000 +0200 +@@ -411,10 +411,12 @@ Mount the file system read-only. A synon + .BR "\-o ro" . + + Note that, depending on the filesystem type, state and kernel behavior, the +-system may still write to the device. For example, Ext3 will replay its journal +-if the filesystem is dirty. To prevent this kind of write access, you may want +-to set the block device to read-only mode, see command +-.BR blockdev (8). ++system may still write to the device. For example, Ext3 or ext4 will replay its ++journal if the filesystem is dirty. To prevent this kind of write access, you ++may want to mount ext3 or ext4 filesystem with "ro,noload" mount options or ++set the block device to read-only mode, see command ++.BR blockdev (8) ++. + .TP + .B \-w + Mount the file system read/write. This is the default. A synonym is +@@ -1160,7 +1162,105 @@ manual page. + Enable POSIX Access Control Lists. See the + .BR acl (5) + manual page. +- ++ ++.SH "Mount options for ext4" ++The `ext4' is an an advanced level of the ext3 filesystem which incorporates ++scalability and reliability enhancements for supporting large filesystem. ++ ++The options ++.B journal_dev, noload, data, commit, orlov, oldalloc, [no]user_xattr ++.B [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid ++.B sysvgroups, resgid, resuid, sb, quota, noquota, grpquota, usrquota ++and ++.B [no]bh ++are backwardly compatible with ext3 or ext2. ++.TP ++.BR journal_checksum ++Enable checksumming of the journal transactions. This will allow the recovery ++code in e2fsck and the kernel to detect corruption in the kernel. It is a ++compatible change and will be ignored by older kernels. ++.TP ++.BR journal_async_commit ++Commit block can be written to disk without waiting for descriptor blocks. If ++enabled older kernels cannot mount the device. This will enable ++'journal_checksum' internally. ++.TP ++.BR journal=update ++Update the ext4 file system's journal to the current format. ++.TP ++.BR barrier=0 " / " barrier=1 " / " barrier " / " nobarrier ++This enables/disables the use of write barriers in the jbd code. barrier=0 ++disables, barrier=1 enables. This also requires an IO stack which can support ++barriers, and if jbd gets an error on a barrier write, it will disable again ++with a warning. Write barriers enforce proper on-disk ordering of journal ++commits, making volatile disk write caches safe to use, at some performance ++penalty. If your disks are battery-backed in one way or another, disabling ++barriers may safely improve performance. The mount options "barrier" and ++"nobarrier" can also be used to enable or disable barriers, for consistency ++with other ext4 mount options. ++.TP ++.BI inode_readahead= n ++This tuning parameter controls the maximum number of inode table blocks that ++ext4's inode table readahead algorithm will pre-read into the buffer cache. ++The default value is 32 blocks. ++.TP ++.BI stripe= n ++Number of filesystem blocks that mballoc will try to use for allocation size ++and alignment. For RAID5/6 systems this should be the number of data disks * ++RAID chunk size in file system blocks. ++.TP ++.BR delalloc ++Deferring block allocation until write-out time. ++.TP ++.BR nodelalloc ++Disable delayed allocation. Blocks are allocation when data is copied from user ++to page cache. ++.TP ++.BI max_batch_time= usec ++Maximum amount of time ext4 should wait for additional filesystem operations to ++be batch together with a synchronous write operation. Since a synchronous ++write operation is going to force a commit and then a wait for the I/O ++complete, it doesn't cost much, and can be a huge throughput win, we wait for a ++small amount of time to see if any other transactions can piggyback on the ++synchronous write. The algorithm used is designed to automatically tune for ++the speed of the disk, by measuring the amount of time (on average) that it ++takes to finish committing a transaction. Call this time the "commit time". ++If the time that the transactoin has been running is less than the commit time, ++ext4 will try sleeping for the commit time to see if other operations will join ++the transaction. The commit time is capped by the max_batch_time, which ++defaults to 15000us (15ms). This optimization can be turned off entirely by ++setting max_batch_time to 0. ++.TP ++.BI min_batch_time= usec ++This parameter sets the commit time (as described above) to be at least ++min_batch_time. It defaults to zero microseconds. Increasing this parameter ++may improve the throughput of multi-threaded, synchronous workloads on very ++fast disks, at the cost of increasing latency. ++.TP ++.BI journal_ioprio= prio ++The I/O priority (from 0 to 7, where 0 is the highest priorty) which should be ++used for I/O operations submitted by kjournald2 during a commit operation. ++This defaults to 3, which is a slightly higher priority than the default I/O ++priority. ++.TP ++.BR auto_da_alloc " / " noauto_da_alloc ++Many broken applications don't use fsync() when noauto_da_alloc ++replacing existing files via patterns such as ++ ++fd = open("foo.new")/write(fd,..)/close(fd)/ rename("foo.new", "foo") ++ ++or worse yet ++ ++fd = open("foo", O_TRUNC)/write(fd,..)/close(fd). ++ ++If auto_da_alloc is enabled, ext4 will detect the replace-via-rename and ++replace-via-truncate patterns and force that any delayed allocation blocks are ++allocated such that at the next journal commit, in the default data=ordered ++mode, the data blocks of the new file are forced to disk before the rename() ++operation is commited. This provides roughly the same level of guarantees as ++ext3, and avoids the "zero-length" problem that can happen when a system ++crashes before the delayed allocation blocks are forced to disk. ++ + .SH "Mount options for fat" + (Note: + .I fat diff --git a/util-linux-ng.spec b/util-linux-ng.spec index bb51498..76c32b7 100644 --- a/util-linux-ng.spec +++ b/util-linux-ng.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux-ng Version: 2.14.2 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv2 and GPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng @@ -118,6 +118,8 @@ Patch12: util-linux-ng-2.14-dmesg-r.patch Patch13: util-linux-ng-2.14-flock-segfaults.patch # 477303 - renice doesn't support -n option Patch14: util-linux-ng-2.14-renice-n.patch +# 498984 - should man page for "mount" mention ext4? +Patch15: util-linux-ng-2.14-mount-man-ext4.patch %description The util-linux-ng package contains a large variety of low-level system @@ -143,6 +145,7 @@ cp %{SOURCE8} %{SOURCE9} . %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %build unset LINGUAS || : @@ -544,6 +547,9 @@ exit 0 /sbin/losetup %changelog +* Mon Jun 1 2009 Karel Zak 2.14.2-9 +- #498984 - should man page for "mount" mention ext4? + * Thu Apr 2 2009 Karel Zak 2.14.2-8 - fix #490769 - %post scriptlet failed (thanks to Dan Horak) From 0758c79dc15c6af2b70dc4d3571275e369f68f3a Mon Sep 17 00:00:00 2001 From: kzak Date: Fri, 11 Sep 2009 12:27:08 +0000 Subject: [PATCH 3/6] - fix #522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set --- util-linux-ng-2.14-sfdisk-dump.patch | 54 ++++++++++++++++++++++++++++ util-linux-ng.spec | 10 ++++-- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 util-linux-ng-2.14-sfdisk-dump.patch diff --git a/util-linux-ng-2.14-sfdisk-dump.patch b/util-linux-ng-2.14-sfdisk-dump.patch new file mode 100644 index 0000000..89a644c --- /dev/null +++ b/util-linux-ng-2.14-sfdisk-dump.patch @@ -0,0 +1,54 @@ +From 1f1614f6a89de4b06e1843d0fadbca3f8a5521fe Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 11 Sep 2009 14:00:50 +0200 +Subject: [PATCH 1/2] sfdisk: dump has to be $LANG insensitive + +This stupid bug has been introduced by: + + commit add5133f4ad5136aac3ce7627e615d14893d0aeb + Author: Pedro Ribeiro + Date: Fri Oct 3 08:52:35 2008 +0200 + fdisk: several strings without gettext calls + +... so it shows that we need to improve our review process... :-( + +Address-Red-Hat-Bug: #522718 +Signed-off-by: Karel Zak +--- + fdisk/sfdisk.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/fdisk/sfdisk.c b/fdisk/sfdisk.c +index 8fae5bb..427cb40 100644 +--- a/fdisk/sfdisk.c ++++ b/fdisk/sfdisk.c +@@ -930,8 +930,8 @@ get_disksize(int format) { + static void + out_partition_header(char *dev, int format, struct geometry G) { + if (dump) { +- printf(_("# partition table of %s\n"), dev); +- printf(_("unit: sectors\n\n")); ++ printf("# partition table of %s\n", dev); ++ printf("unit: sectors\n\n"); + return; + } + +@@ -1059,12 +1059,12 @@ out_partition(char *dev, int format, struct part_desc *p, + size = p->size; + + if (dump) { +- printf(_(" start=%9lu"), start); +- printf(_(", size=%9lu"), size); ++ printf(" start=%9lu", start); ++ printf(", size=%9lu", size); + if (p->ptype == DOS_TYPE) { + printf(", Id=%2x", p->p.sys_type); + if (p->p.bootable == 0x80) +- printf(_(", bootable")); ++ printf(", bootable"); + } + printf("\n"); + return; +-- +1.6.2.5 + diff --git a/util-linux-ng.spec b/util-linux-ng.spec index 76c32b7..1509aa9 100644 --- a/util-linux-ng.spec +++ b/util-linux-ng.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux-ng Version: 2.14.2 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv2 and GPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng @@ -120,6 +120,8 @@ Patch13: util-linux-ng-2.14-flock-segfaults.patch Patch14: util-linux-ng-2.14-renice-n.patch # 498984 - should man page for "mount" mention ext4? Patch15: util-linux-ng-2.14-mount-man-ext4.patch +# 522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set +Patch16: util-linux-ng-2.14-sfdisk-dump.patch %description The util-linux-ng package contains a large variety of low-level system @@ -146,6 +148,7 @@ cp %{SOURCE8} %{SOURCE9} . %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 %build unset LINGUAS || : @@ -547,8 +550,11 @@ exit 0 /sbin/losetup %changelog +* Fri Sep 11 2009 Karel Zak 2.14.2-10 +- fix #522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set + * Mon Jun 1 2009 Karel Zak 2.14.2-9 -- #498984 - should man page for "mount" mention ext4? +- fix #498984 - should man page for "mount" mention ext4? * Thu Apr 2 2009 Karel Zak 2.14.2-8 - fix #490769 - %post scriptlet failed (thanks to Dan Horak) From 208356187e49ea2a0305421cbd2701f947da31ac Mon Sep 17 00:00:00 2001 From: kzak Date: Thu, 17 Sep 2009 10:39:40 +0000 Subject: [PATCH 4/6] - fix #501350 - there's no way to turn off the relatime filesystem mount misfeature. --- util-linux-ng-2.14-mount-strictatime.patch | 79 ++++++++++++++++++++++ util-linux-ng.spec | 8 ++- 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 util-linux-ng-2.14-mount-strictatime.patch diff --git a/util-linux-ng-2.14-mount-strictatime.patch b/util-linux-ng-2.14-mount-strictatime.patch new file mode 100644 index 0000000..44d05ef --- /dev/null +++ b/util-linux-ng-2.14-mount-strictatime.patch @@ -0,0 +1,79 @@ + +This is backport of upstream patches: + +From 96f3bfbc7cbe4a96be60337bb58c361042b6df68 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 11 Sep 2009 14:08:40 +0200 +Subject: [PATCH] mount: more explicitly explain 'strictatime' in mount. + +From ed64b8d0fc945ce49041f313c453b6b21d68b832 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Fri, 27 Mar 2009 00:47:22 +0000 +Subject: [PATCH] mount: Add strictatime support + + +diff -up util-linux-ng-2.14.2/mount/mount.8.kzak util-linux-ng-2.14.2/mount/mount.8 +--- util-linux-ng-2.14.2/mount/mount.8.kzak 2009-09-17 12:30:54.000000000 +0200 ++++ util-linux-ng-2.14.2/mount/mount.8 2009-09-17 12:33:32.000000000 +0200 +@@ -658,7 +658,9 @@ All I/O to the file system should be don + option.) + .TP + .B atime +-Update inode access time for each access. This is the default. ++Update inode access time for each access. See also the ++.B strictatime ++mount option. + .TP + .B noatime + Do not update inode access times on this file system (e.g, for faster +@@ -794,8 +796,21 @@ since the last time it was modified.) + .B norelatime + Do not use + .B relatime +-feature (e.g, for systems where the feature is enabled by default, for +-more details see mount options in /proc/mounts). ++feature. See also the ++.B strictatime ++mount option. ++.TP ++.B strictatime ++Allows to explicitly requesting full atime updates. This makes it ++possible for kernel to defaults to ++.B relatime ++or ++.B noatime ++but still allow userspace to override it. For more details about the default ++system mount options see /proc/mounts. ++.TP ++.B nostrictatime ++Use the kernel's default behaviour for inode access time updates. + .TP + .B suid + Allow set-user-identifier or set-group-identifier bits to take +diff -up util-linux-ng-2.14.2/mount/mount.c.kzak util-linux-ng-2.14.2/mount/mount.c +--- util-linux-ng-2.14.2/mount/mount.c.kzak 2009-09-17 12:30:54.000000000 +0200 ++++ util-linux-ng-2.14.2/mount/mount.c 2009-09-17 12:32:06.000000000 +0200 +@@ -180,6 +180,10 @@ static const struct opt_map opt_map[] = + { "norelatime", 0, 1, MS_RELATIME }, /* Update access time without regard + to mtime/ctime */ + #endif ++#ifdef MS_STRICTATIME ++ { "strictatime", 0, 0, MS_STRICTATIME }, /* Strict atime semantics */ ++ { "nostrictatime", 0, 1, MS_STRICTATIME }, /* kernel default atime */ ++#endif + { "kudzu", 0, 0, MS_COMMENT }, /* Silently remove this option (backwards compat use only - deprecated) */ + { "managed", 0, 0, MS_COMMENT }, /* Silently remove this option */ + { "nofail", 0, 0, MS_COMMENT}, /* Do not fail if ENOENT on dev */ +diff -up util-linux-ng-2.14.2/mount/mount_constants.h.kzak util-linux-ng-2.14.2/mount/mount_constants.h +--- util-linux-ng-2.14.2/mount/mount_constants.h.kzak 2009-01-09 11:01:34.000000000 +0100 ++++ util-linux-ng-2.14.2/mount/mount_constants.h 2009-09-17 12:31:21.000000000 +0200 +@@ -59,6 +59,9 @@ + #ifndef MS_I_VERSION + #define MS_I_VERSION (1<<23) /* update inode I_version field */ + #endif ++#ifndef MS_STRICTATIME ++#define MS_STRICTATIME (1<<24) /* strict atime semantics */ ++#endif + /* + * Magic mount flag number. Had to be or-ed to the flag values. + */ diff --git a/util-linux-ng.spec b/util-linux-ng.spec index 1509aa9..bf450da 100644 --- a/util-linux-ng.spec +++ b/util-linux-ng.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux-ng Version: 2.14.2 -Release: 10%{?dist} +Release: 11%{?dist} License: GPLv2 and GPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng @@ -122,6 +122,8 @@ Patch14: util-linux-ng-2.14-renice-n.patch Patch15: util-linux-ng-2.14-mount-man-ext4.patch # 522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set Patch16: util-linux-ng-2.14-sfdisk-dump.patch +# 501350 - There's no way to turn off the relatime filesystem mount misfeature. +Patch17: util-linux-ng-2.14-mount-strictatime.patch %description The util-linux-ng package contains a large variety of low-level system @@ -149,6 +151,7 @@ cp %{SOURCE8} %{SOURCE9} . %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 %build unset LINGUAS || : @@ -550,6 +553,9 @@ exit 0 /sbin/losetup %changelog +* Thu Sep 17 2009 Karel Zak 2.14.2-11 +- fix #501350 - there's no way to turn off the relatime filesystem mount misfeature. + * Fri Sep 11 2009 Karel Zak 2.14.2-10 - fix #522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set From 1c0240aae1a252cde57644d2e4a462b372e1a4a6 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:16:35 +0000 Subject: [PATCH 5/6] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c0f296d..c5d5fa9 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: util-linux-ng -# $Id$ +# $Id: Makefile,v 1.1 2007/08/17 21:07:02 wtogami Exp $ NAME := util-linux-ng SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 0dcd13e80a373175ed3e2fd37afdd5eacbd540f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 14:50:17 +0000 Subject: [PATCH 6/6] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index c5d5fa9..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: util-linux-ng -# $Id: Makefile,v 1.1 2007/08/17 21:07:02 wtogami Exp $ -NAME := util-linux-ng -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 25c7708..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-11