[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Quilt-dev] [PATCH 10/39] backup-files: Speed up ensure_nolinks
From: |
Jean Delvare |
Subject: |
[Quilt-dev] [PATCH 10/39] backup-files: Speed up ensure_nolinks |
Date: |
Sat, 19 Mar 2011 10:52:40 +0100 |
User-agent: |
quilt/0.48-17.1 |
Calling dirname and basename is costly, and here we really don't have
to. We can simply use a different temporary file name.
Additionally, if stat succeeds, it will always return a valid number,
so we can relax the tests.
Signed-off-by: Jean Delvare <address@hidden>
Reviewed-by: Raphael Hertzog <address@hidden>
---
quilt/scripts/backup-files.in | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -47,14 +47,11 @@ usage () {
ensure_nolinks() {
local filename="$1"
- local link_count dirname basename tmpname
+ local link_count tmpname
link_count=$(stat @STAT_HARDLINK@ "$filename")
- if [ -z "$link_count" ] || [ "$link_count" -gt 1 ]; then
- dirname=$(dirname "$filename")
- basename=$(basename "$filename")
- # Temp file name is "path/to/.file.XXXXXX"
- tmpname=$(mktemp "${dirname}/.${basename}.XXXXXX")
+ if [ $link_count -gt 1 ]; then
+ tmpname=$(mktemp "$filename.XXXXXX")
cp -p "$filename" "$tmpname"
mv "$tmpname" "$filename"
fi
- [Quilt-dev] [PATCH 19/39] backup-files: Use internal implementation of dirname, (continued)
- [Quilt-dev] [PATCH 19/39] backup-files: Use internal implementation of dirname, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 33/39] backup-files: Try mass copy first on copy, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 05/39] Clean up legacy C code, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 11/39] backup-files: Prefix must be a directory, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 30/39] backup-files: Skip first mkdir on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 29/39] backup-files: Try mass link/copy first on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 36/39] backup-files: Drop support for -L on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 16/39] backup-files: Optimize backup, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 06/39] backup-files: Drop suffix option, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 28/39] backup-files: Separate lists for empty and non-empty files, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 10/39] backup-files: Speed up ensure_nolinks,
Jean Delvare <=
- [Quilt-dev] [PATCH 35/39] backup-files: Inline restore_fast, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 20/39] backup-files: Batch mass restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 31/39] backup-files: New function for copy, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 37/39] backup-files: Drop support for backup removal, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 08/39] backup-files: Drop variable progname, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 04/39] BSD compatibility: rmdir, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 32/39] backup-files: Separate function copy_many, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 39/39] backup-files: Skip echo-only loops in silent mode, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 34/39] backup-files: Clarify command line options, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 38/39] backup-files: Keep /dev/null opened, Jean Delvare, 2011/03/19