Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0dcd13e80a | ||
|
|
1c0240aae1 | ||
|
|
208356187e | ||
|
|
0758c79dc1 | ||
|
|
6436e0def3 | ||
|
|
0dae9adee6 |
6 changed files with 279 additions and 22 deletions
0
.cvsignore → .gitignore
vendored
0
.cvsignore → .gitignore
vendored
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: util-linux-ng
|
||||
# $Id$
|
||||
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
|
||||
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)
|
||||
127
util-linux-ng-2.14-mount-man-ext4.patch
Normal file
127
util-linux-ng-2.14-mount-man-ext4.patch
Normal file
|
|
@ -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
|
||||
79
util-linux-ng-2.14-mount-strictatime.patch
Normal file
79
util-linux-ng-2.14-mount-strictatime.patch
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
|
||||
This is backport of upstream patches:
|
||||
|
||||
From 96f3bfbc7cbe4a96be60337bb58c361042b6df68 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
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 <mjg59@srcf.ucam.org>
|
||||
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.
|
||||
*/
|
||||
54
util-linux-ng-2.14-sfdisk-dump.patch
Normal file
54
util-linux-ng-2.14-sfdisk-dump.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
From 1f1614f6a89de4b06e1843d0fadbca3f8a5521fe Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
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 <p.m42.ribeiro@gmail.com>
|
||||
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 <kzak@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
Summary: A collection of basic system utilities
|
||||
Name: util-linux-ng
|
||||
Version: 2.14.2
|
||||
Release: 8%{?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
|
||||
|
|
@ -118,6 +118,12 @@ 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
|
||||
# 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
|
||||
|
|
@ -143,6 +149,9 @@ cp %{SOURCE8} %{SOURCE9} .
|
|||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
|
||||
%build
|
||||
unset LINGUAS || :
|
||||
|
|
@ -544,6 +553,15 @@ exit 0
|
|||
/sbin/losetup
|
||||
|
||||
%changelog
|
||||
* Thu Sep 17 2009 Karel Zak <kzak@redhat.com> 2.14.2-11
|
||||
- fix #501350 - there's no way to turn off the relatime filesystem mount misfeature.
|
||||
|
||||
* Fri Sep 11 2009 Karel Zak <kzak@redhat.com> 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 <kzak@redhat.com> 2.14.2-9
|
||||
- fix #498984 - should man page for "mount" mention ext4?
|
||||
|
||||
* Thu Apr 2 2009 Karel Zak <kzak@redhat.com> 2.14.2-8
|
||||
- fix #490769 - %post scriptlet failed (thanks to Dan Horak)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue