summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2018-06-09 12:04:13 +0100
committerNikolaus Rath <Nikolaus@rath.org>2018-06-09 12:04:13 +0100
commite46598fb2bd8164011a77ce639fac310347e95c9 (patch)
tree80c948ddfe4a139ba24624153f2e8978818d8a58
parentb7e76f8e5aff882ee6abd4e5f18acfd1a4c8b7b3 (diff)
Import s3ql_2.27.1+dfsg.orig.tar.bz2
-rw-r--r--Changes.txt6
-rw-r--r--PKG-INFO2
-rw-r--r--contrib/expire_backups.12
-rw-r--r--contrib/pcp.12
-rw-r--r--doc/latex/manual.aux36
-rw-r--r--doc/latex/manual.tex148
-rw-r--r--doc/man/fsck.s3ql.12
-rw-r--r--doc/man/mkfs.s3ql.12
-rw-r--r--doc/man/mount.s3ql.12
-rw-r--r--doc/man/s3ql_oauth_client.12
-rw-r--r--doc/man/s3ql_verify.12
-rw-r--r--doc/man/s3qladm.12
-rw-r--r--doc/man/s3qlcp.12
-rw-r--r--doc/man/s3qlctrl.12
-rw-r--r--doc/man/s3qllock.12
-rw-r--r--doc/man/s3qlrm.12
-rw-r--r--doc/man/s3qlstat.12
-rw-r--r--doc/man/umount.s3ql.12
-rw-r--r--doc/manual.pdfbin284573 -> 284689 bytes
-rw-r--r--src/s3ql.egg-info/PKG-INFO2
-rw-r--r--src/s3ql/__init__.py2
-rwxr-xr-xtests/t1_dump.py21
22 files changed, 114 insertions, 131 deletions
diff --git a/Changes.txt b/Changes.txt
index 1168622..ec1f631 100644
--- a/Changes.txt
+++ b/Changes.txt
@@ -1,4 +1,8 @@
-2018-06-6, S3QL 2.27
+2018-06-09, S3QL 2.27.1
+
+ * Fixed a test failure in tests/t1_dump.py
+
+2018-06-09, S3QL 2.27
* The internal file system revision has changed. File systems
created with S3QL 2.27 or newer are not compatible with prior S3QL
diff --git a/PKG-INFO b/PKG-INFO
index 312f07e..530b62a 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: s3ql
-Version: 2.27
+Version: 2.27.1
Summary: a full-featured file system for online data storage
Home-page: https://bitbucket.org/nikratio/s3ql/
Author: Nikolaus Rath
diff --git a/contrib/expire_backups.1 b/contrib/expire_backups.1
index 3dc4333..33520e9 100644
--- a/contrib/expire_backups.1
+++ b/contrib/expire_backups.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "EXPIRE_BACKUPS" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "EXPIRE_BACKUPS" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
expire_backups \- Intelligently expire old backups
.
diff --git a/contrib/pcp.1 b/contrib/pcp.1
index 14d2dcc..325f4bc 100644
--- a/contrib/pcp.1
+++ b/contrib/pcp.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "PCP" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "PCP" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
pcp \- Recursive, parallel copy of directory trees
.
diff --git a/doc/latex/manual.aux b/doc/latex/manual.aux
index 5285431..cb9b74a 100644
--- a/doc/latex/manual.aux
+++ b/doc/latex/manual.aux
@@ -26,8 +26,8 @@
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
\newlabel{about::doc}{{1}{1}{S3QL}{chapter.1}{}}
-\newlabel{about:s3ql-user-s-guide}{{1}{1}{S3QL}{chapter.1}{}}
\newlabel{about:s3ql}{{1}{1}{S3QL}{chapter.1}{}}
+\newlabel{about:s3ql-user-s-guide}{{1}{1}{S3QL}{chapter.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Features}{1}{section.1.1}}
\newlabel{about:openstack}{{1.1}{1}{Features}{section.1.1}{}}
\newlabel{about:features}{{1.1}{1}{Features}{section.1.1}{}}
@@ -41,8 +41,8 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
-\newlabel{installation::doc}{{2}{3}{Installation}{chapter.2}{}}
\newlabel{installation:github}{{2}{3}{Installation}{chapter.2}{}}
+\newlabel{installation::doc}{{2}{3}{Installation}{chapter.2}{}}
\newlabel{installation:installation}{{2}{3}{Installation}{chapter.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Dependencies}{3}{section.2.1}}
\newlabel{installation:dependencies}{{2.1}{3}{Dependencies}{section.2.1}{}}
@@ -57,18 +57,18 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
+\newlabel{backends:id1}{{3}{7}{Storage Backends}{chapter.3}{}}
\newlabel{backends::doc}{{3}{7}{Storage Backends}{chapter.3}{}}
-\newlabel{backends:sphinx}{{3}{7}{Storage Backends}{chapter.3}{}}
\newlabel{backends:storage-backends}{{3}{7}{Storage Backends}{chapter.3}{}}
-\newlabel{backends:id1}{{3}{7}{Storage Backends}{chapter.3}{}}
+\newlabel{backends:sphinx}{{3}{7}{Storage Backends}{chapter.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Google Storage}{7}{section.3.1}}
\newlabel{backends:google-storage}{{3.1}{7}{Google Storage}{section.3.1}{}}
\newlabel{backends:cmdoption-gs_backend-arg-no-ssl}{{3.1}{7}{Google Storage}{section*.3}{}}
\newlabel{backends:cmdoption-gs_backend-arg-ssl-ca-path}{{3.1}{8}{Google Storage}{section*.4}{}}
\newlabel{backends:cmdoption-gs_backend-arg-tcp-timeout}{{3.1}{8}{Google Storage}{section*.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Amazon S3}{8}{section.3.2}}
-\newlabel{backends:google-storage-manager}{{3.2}{8}{Amazon S3}{section.3.2}{}}
\newlabel{backends:amazon-s3}{{3.2}{8}{Amazon S3}{section.3.2}{}}
+\newlabel{backends:google-storage-manager}{{3.2}{8}{Amazon S3}{section.3.2}{}}
\newlabel{backends:cmdoption-s3_backend-arg-no-ssl}{{3.2}{8}{Amazon S3}{section*.6}{}}
\newlabel{backends:cmdoption-s3_backend-arg-ssl-ca-path}{{3.2}{8}{Amazon S3}{section*.7}{}}
\newlabel{backends:cmdoption-s3_backend-arg-tcp-timeout}{{3.2}{8}{Amazon S3}{section*.8}{}}
@@ -76,8 +76,8 @@
\newlabel{backends:cmdoption-s3_backend-arg-ia}{{3.2}{8}{Amazon S3}{section*.10}{}}
\newlabel{backends:cmdoption-s3_backend-arg-rrs}{{3.2}{8}{Amazon S3}{section*.11}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}OpenStack/Swift}{9}{section.3.3}}
-\newlabel{backends:openstack-swift}{{3.3}{9}{OpenStack/Swift}{section.3.3}{}}
\newlabel{backends:openstack-backend}{{3.3}{9}{OpenStack/Swift}{section.3.3}{}}
+\newlabel{backends:openstack-swift}{{3.3}{9}{OpenStack/Swift}{section.3.3}{}}
\newlabel{backends:cmdoption-swift_backend-arg-no-ssl}{{3.3}{9}{OpenStack/Swift}{section*.12}{}}
\newlabel{backends:cmdoption-swift_backend-arg-ssl-ca-path}{{3.3}{9}{OpenStack/Swift}{section*.13}{}}
\newlabel{backends:cmdoption-swift_backend-arg-tcp-timeout}{{3.3}{9}{OpenStack/Swift}{section*.14}{}}
@@ -94,15 +94,15 @@
\newlabel{backends:cmdoption-s3c_backend-arg-disable-expect100}{{3.5}{10}{S3 compatible}{section*.20}{}}
\newlabel{backends:cmdoption-s3c_backend-arg-dumb-copy}{{3.5}{10}{S3 compatible}{section*.21}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Local}{11}{section.3.6}}
-\newlabel{backends:local}{{3.6}{11}{Local}{section.3.6}{}}
\newlabel{backends:id6}{{3.6}{11}{Local}{section.3.6}{}}
+\newlabel{backends:local}{{3.6}{11}{Local}{section.3.6}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Important Rules to Avoid Losing Data}{13}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
+\newlabel{durability:durability}{{4}{13}{Important Rules to Avoid Losing Data}{chapter.4}{}}
\newlabel{durability::doc}{{4}{13}{Important Rules to Avoid Losing Data}{chapter.4}{}}
\newlabel{durability:sshfs}{{4}{13}{Important Rules to Avoid Losing Data}{chapter.4}{}}
-\newlabel{durability:durability}{{4}{13}{Important Rules to Avoid Losing Data}{chapter.4}{}}
\newlabel{durability:important-rules-to-avoid-losing-data}{{4}{13}{Important Rules to Avoid Losing Data}{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Rules in a Nutshell}{13}{section.4.1}}
\newlabel{durability:rules-in-a-nutshell}{{4.1}{13}{Rules in a Nutshell}{section.4.1}{}}
@@ -123,8 +123,8 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
-\newlabel{adm::doc}{{6}{19}{Managing File Systems}{chapter.6}{}}
\newlabel{adm:managing-file-systems}{{6}{19}{Managing File Systems}{chapter.6}{}}
+\newlabel{adm::doc}{{6}{19}{Managing File Systems}{chapter.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Changing the Passphrase}{19}{section.6.1}}
\newlabel{adm:changing-the-passphrase}{{6.1}{19}{Changing the Passphrase}{section.6.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Upgrading the file system}{20}{section.6.2}}
@@ -137,8 +137,8 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
-\newlabel{mount::doc}{{7}{21}{Mounting}{chapter.7}{}}
\newlabel{mount:mounting}{{7}{21}{Mounting}{chapter.7}{}}
+\newlabel{mount::doc}{{7}{21}{Mounting}{chapter.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Permission Checking}{22}{section.7.1}}
\newlabel{mount:permission-checking}{{7.1}{22}{Permission Checking}{section.7.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Compression Algorithms}{22}{section.7.2}}
@@ -152,8 +152,8 @@
\@writefile{toc}{\contentsline {section}{\numberline {7.4}Failure Modes}{23}{section.7.4}}
\newlabel{mount:failure-modes}{{7.4}{23}{Failure Modes}{section.7.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.5}Automatic Mounting}{24}{section.7.5}}
-\newlabel{mount:logcheck}{{7.5}{24}{Automatic Mounting}{section.7.5}{}}
\newlabel{mount:automatic-mounting}{{7.5}{24}{Automatic Mounting}{section.7.5}{}}
+\newlabel{mount:logcheck}{{7.5}{24}{Automatic Mounting}{section.7.5}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}Advanced S3QL Features}{25}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
@@ -161,16 +161,16 @@
\newlabel{special::doc}{{8}{25}{Advanced S3QL Features}{chapter.8}{}}
\newlabel{special:advanced-s3ql-features}{{8}{25}{Advanced S3QL Features}{chapter.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Snapshotting and Copy-on-Write}{25}{section.8.1}}
-\newlabel{special:s3qlcp}{{8.1}{25}{Snapshotting and Copy-on-Write}{section.8.1}{}}
\newlabel{special:snapshotting-and-copy-on-write}{{8.1}{25}{Snapshotting and Copy-on-Write}{section.8.1}{}}
+\newlabel{special:s3qlcp}{{8.1}{25}{Snapshotting and Copy-on-Write}{section.8.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Snapshotting vs Hardlinking}{25}{subsection.8.1.1}}
\newlabel{special:snapshotting-vs-hardlinking}{{8.1.1}{25}{Snapshotting vs Hardlinking}{subsection.8.1.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.2}Getting Statistics}{26}{section.8.2}}
-\newlabel{special:s3qlstat}{{8.2}{26}{Getting Statistics}{section.8.2}{}}
\newlabel{special:getting-statistics}{{8.2}{26}{Getting Statistics}{section.8.2}{}}
+\newlabel{special:s3qlstat}{{8.2}{26}{Getting Statistics}{section.8.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.3}Immutable Trees}{26}{section.8.3}}
-\newlabel{special:s3qllock}{{8.3}{26}{Immutable Trees}{section.8.3}{}}
\newlabel{special:immutable-trees}{{8.3}{26}{Immutable Trees}{section.8.3}{}}
+\newlabel{special:s3qllock}{{8.3}{26}{Immutable Trees}{section.8.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8.4}Fast Recursive Removal}{27}{section.8.4}}
\newlabel{special:fast-recursive-removal}{{8.4}{27}{Fast Recursive Removal}{section.8.4}{}}
\newlabel{special:s3qlrm}{{8.4}{27}{Fast Recursive Removal}{section.8.4}{}}
@@ -199,8 +199,8 @@
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
\newlabel{authinfo::doc}{{11}{35}{Storing Backend Information}{chapter.11}{}}
-\newlabel{authinfo:storing-backend-information}{{11}{35}{Storing Backend Information}{chapter.11}{}}
\newlabel{authinfo:authinfo}{{11}{35}{Storing Backend Information}{chapter.11}{}}
+\newlabel{authinfo:storing-backend-information}{{11}{35}{Storing Backend Information}{chapter.11}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {12}Contributed Programs}{37}{chapter.12}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
@@ -228,8 +228,8 @@
\newlabel{tips::doc}{{13}{41}{Tips \& Tricks}{chapter.13}{}}
\newlabel{tips:tips-tricks}{{13}{41}{Tips \& Tricks}{chapter.13}{}}
\@writefile{toc}{\contentsline {section}{\numberline {13.1}SSH Backend}{41}{section.13.1}}
-\newlabel{tips:ssh-backend}{{13.1}{41}{SSH Backend}{section.13.1}{}}
\newlabel{tips:ssh-tipp}{{13.1}{41}{SSH Backend}{section.13.1}{}}
+\newlabel{tips:ssh-backend}{{13.1}{41}{SSH Backend}{section.13.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {13.2}Permanently mounted backup file system}{41}{section.13.2}}
\newlabel{tips:permanently-mounted-backup-file-system}{{13.2}{41}{Permanently mounted backup file system}{section.13.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {13.3}Improving copy performance}{41}{section.13.3}}
@@ -239,8 +239,8 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
-\newlabel{issues::doc}{{14}{43}{Known Issues}{chapter.14}{}}
\newlabel{issues:known-issues}{{14}{43}{Known Issues}{chapter.14}{}}
+\newlabel{issues::doc}{{14}{43}{Known Issues}{chapter.14}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {15}Manpages}{45}{chapter.15}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
@@ -447,9 +447,9 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{loliteral-block}{\addvspace {10\p@ }}
+\newlabel{impl_details:implementation-details}{{17}{67}{Implementation Details}{chapter.17}{}}
\newlabel{impl_details::doc}{{17}{67}{Implementation Details}{chapter.17}{}}
\newlabel{impl_details:impl-details}{{17}{67}{Implementation Details}{chapter.17}{}}
-\newlabel{impl_details:implementation-details}{{17}{67}{Implementation Details}{chapter.17}{}}
\@writefile{toc}{\contentsline {section}{\numberline {17.1}Metadata Storage}{67}{section.17.1}}
\newlabel{impl_details:metadata-storage}{{17.1}{67}{Metadata Storage}{section.17.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {17.2}Data Storage}{67}{section.17.2}}
diff --git a/doc/latex/manual.tex b/doc/latex/manual.tex
index 1cf6ae0..3f942a0 100644
--- a/doc/latex/manual.tex
+++ b/doc/latex/manual.tex
@@ -33,7 +33,7 @@
\title{S3QL Documentation}
\date{Jun 09, 2018}
-\release{2.27}
+\release{2.27.1}
\author{Nikolaus Rath}
\newcommand{\sphinxlogo}{}
\renewcommand{\releasename}{Release}
@@ -50,73 +50,73 @@
\PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
-\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@nf\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.40,0.73}{##1}}}
-\expandafter\def\csname PYG@tok@cs\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.80,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
+\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
+\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.60,0.40,0.20}{##1}}}
+\expandafter\def\csname PYG@tok@mf\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
+\expandafter\def\csname PYG@tok@kp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@mb\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
+\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@il\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
+\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
+\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.73}{##1}}}
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.67,0.40,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@mh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.33,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@cpf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@nf\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.40,0.73}{##1}}}
+\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
+\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@ch\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PYG@tok@sa\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@mi\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
+\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,1.00}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@cs\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.80,0.00,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@sd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.87,0.27,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.87,0.13,0.00}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.73}{##1}}}
-\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@mo\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.27,0.00,0.93}{##1}}}
-\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
-\expandafter\def\csname PYG@tok@il\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
-\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
-\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
+\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
+\expandafter\def\csname PYG@tok@ne\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.40,0.60}{##1}}}
+\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
-\expandafter\def\csname PYG@tok@kt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.60}{##1}}}
-\expandafter\def\csname PYG@tok@vg\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.87,0.47,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@c1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@mb\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
-\expandafter\def\csname PYG@tok@mh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.33,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.33,0.47,0.60}{##1}}}
+\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
+\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PYG@tok@m\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
-\expandafter\def\csname PYG@tok@no\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.40}{##1}}}
\expandafter\def\csname PYG@tok@vm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.60,0.40,0.20}{##1}}}
-\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.00,0.40}{##1}}}
-\expandafter\def\csname PYG@tok@si\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{0.93,0.93,0.93}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@nt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.47,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
-\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.33,0.47,0.60}{##1}}}
-\expandafter\def\csname PYG@tok@ne\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
-\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
+\expandafter\def\csname PYG@tok@c1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@mo\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.27,0.00,0.93}{##1}}}
+\expandafter\def\csname PYG@tok@kt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.60}{##1}}}
+\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
+\expandafter\def\csname PYG@tok@mi\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.87}{##1}}}
\expandafter\def\csname PYG@tok@fm\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.40,0.73}{##1}}}
-\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
-\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.80}{##1}}}
-\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@cpf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@no\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.40}{##1}}}
+\expandafter\def\csname PYG@tok@vg\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.87,0.47,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
-\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.60,0.47,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@cm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.60,0.40,0.20}{##1}}}
-\expandafter\def\csname PYG@tok@ch\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
-\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
-\expandafter\def\csname PYG@tok@dl\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@kp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.20,0.53}{##1}}}
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.67,0.67}{\strut ##1}}}
-\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
-\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
+\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
+\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.00,0.40}{##1}}}
+\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.53,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@cm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
+\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.87,0.13,0.00}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
+\expandafter\def\csname PYG@tok@nt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.47,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
-\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
-\expandafter\def\csname PYG@tok@mf\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.40,0.00,0.93}{##1}}}
-\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,1.00}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.80}{##1}}}
+\expandafter\def\csname PYG@tok@dl\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
+\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.60,0.47,0.00}{##1}}}
+\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
+\expandafter\def\csname PYG@tok@si\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{0.93,0.93,0.93}{\strut ##1}}}
\def\PYGZbs{\char`\\}
\def\PYGZus{\char`\_}
@@ -150,7 +150,7 @@
\chapter{S3QL}
-\label{about::doc}\label{about:s3ql-user-s-guide}\label{about:s3ql}
+\label{about::doc}\label{about:s3ql}\label{about:s3ql-user-s-guide}
S3QL is a file system that stores all its data online using storage
services like \href{http://code.google.com/apis/storage/}{Google Storage}, \href{http://aws.amazon.com/s3}{Amazon S3}, or \href{http://openstack.org/projects/storage/}{OpenStack}. S3QL
effectively provides a hard disk of dynamic, infinite capacity that
@@ -256,12 +256,12 @@ The S3QL source code is available both on \href{https://github.com/s3ql/main}{Gi
\chapter{Installation}
-\label{installation::doc}\label{installation:github}\label{installation:installation}
+\label{installation:github}\label{installation::doc}\label{installation:installation}
S3QL depends on several other programs and libraries that have to be
installed first. The best method to satisfy these dependencies depends
on your distribution.
-The following instructions are for S3QL 2.27 and should be
+The following instructions are for S3QL 2.27.1 and should be
applicable to any system. The \href{https://bitbucket.org/nikratio/s3ql/wiki/Home}{S3QL Wiki} contains \href{https://bitbucket.org/nikratio/s3ql/wiki/Installation}{additional
help} help
for specific distributions and operating systems. Note, however, that
@@ -463,7 +463,7 @@ being skipped by passing the \sphinxcode{-rs} argument to
\chapter{Storage Backends}
-\label{backends::doc}\label{backends:sphinx}\label{backends:storage-backends}\label{backends:id1}
+\label{backends:id1}\label{backends::doc}\label{backends:storage-backends}\label{backends:sphinx}
S3QL supports different \emph{backends} to store data at different service
providers and using different protocols. A \emph{storage url} specifies a
backend together with some backend-specific information and uniquely
@@ -568,7 +568,7 @@ TCP connection is closed and re-established (default: 20 seconds).
\section{Amazon S3}
-\label{backends:google-storage-manager}\label{backends:amazon-s3}
+\label{backends:amazon-s3}\label{backends:google-storage-manager}
\href{http://aws.amazon.com/s3}{Amazon S3} is the online storage service
offered by \href{http://aws.amazon.com/}{Amazon Web Services (AWS)}. To
use the S3 backend, you first need to sign up for an AWS account. The
@@ -670,7 +670,7 @@ even later in time due to the data de-duplication feature of S3QL (see
\section{OpenStack/Swift}
-\label{backends:openstack-swift}\label{backends:openstack-backend}
+\label{backends:openstack-backend}\label{backends:openstack-swift}
\href{http://www.openstack.org/}{OpenStack} is an open-source cloud server application suite. \href{http://openstack.org/projects/storage/}{Swift} is
the cloud storage module of OpenStack. Swift/OpenStack storage is
offered by many different companies.
@@ -879,7 +879,7 @@ body for a succesfull copy operation.
\section{Local}
-\label{backends:local}\label{backends:id6}
+\label{backends:id6}\label{backends:local}
S3QL is also able to store its data on the local file system. This can
be used to backup data on external media, or to access external
services that S3QL can not talk to directly (e.g., it is possible to
@@ -905,7 +905,7 @@ The local backend does not accept any backend options.
\chapter{Important Rules to Avoid Losing Data}
-\label{durability::doc}\label{durability:sshfs}\label{durability:durability}\label{durability:important-rules-to-avoid-losing-data}
+\label{durability:durability}\label{durability::doc}\label{durability:sshfs}\label{durability:important-rules-to-avoid-losing-data}
Most S3QL backends store data in distributed storage systems. These
systems differ from a traditional, local hard disk in several
important ways. In order to avoid losing data, this section should be
@@ -1256,7 +1256,7 @@ one at \sphinxcode{s3://bucketname/outerprefix/innerprefix}.
\chapter{Managing File Systems}
-\label{adm::doc}\label{adm:managing-file-systems}
+\label{adm:managing-file-systems}\label{adm::doc}
The \sphinxcode{s3qladm} command performs various operations on \emph{unmounted} S3QL
file systems. The file system \emph{must not be mounted} when using
\sphinxcode{s3qladm} or things will go wrong badly.
@@ -1375,7 +1375,7 @@ for help on the mailing list first (see {\hyperref[resources:resources]{\sphinxc
\chapter{Mounting}
-\label{mount::doc}\label{mount:mounting}
+\label{mount:mounting}\label{mount::doc}
A S3QL file system is mounted with the \textbf{\texttt{mount.s3ql}}
command. It has the following syntax:
@@ -1586,7 +1586,7 @@ messages is the only way to find out about them.
\section{Automatic Mounting}
-\label{mount:logcheck}\label{mount:automatic-mounting}
+\label{mount:automatic-mounting}\label{mount:logcheck}
If you want to mount and umount an S3QL file system automatically at
system startup and shutdown, you should do so with a dedicated S3QL
init job (instead of using \sphinxcode{/etc/fstab}. When using systemd,
@@ -1622,7 +1622,7 @@ mounted.
\label{special::doc}\label{special:advanced-s3ql-features}
\section{Snapshotting and Copy-on-Write}
-\label{special:s3qlcp}\label{special:snapshotting-and-copy-on-write}
+\label{special:snapshotting-and-copy-on-write}\label{special:s3qlcp}
The command \sphinxcode{s3qlcp} can be used to duplicate a directory tree without
physically copying the file contents. This is made possible by the
data de-duplication feature of S3QL.
@@ -1697,7 +1697,7 @@ any backup program.
\section{Getting Statistics}
-\label{special:s3qlstat}\label{special:getting-statistics}
+\label{special:getting-statistics}\label{special:s3qlstat}
You can get more information about a mounted S3QL file system with the
\sphinxcode{s3qlstat} command. It has the following syntax:
@@ -1730,7 +1730,7 @@ For a full list of available options, run \sphinxcode{s3qlstat -{-}help}.
\section{Immutable Trees}
-\label{special:s3qllock}\label{special:immutable-trees}
+\label{special:immutable-trees}\label{special:s3qllock}
The command \textbf{\texttt{s3qllock}} can be used to make a directory tree
immutable. Immutable trees can no longer be changed in any way
whatsoever. You can not add new files or directories and you can not
@@ -2033,7 +2033,7 @@ Skip over first \textless{}n\textgreater{} objects and with verifying object
\chapter{Storing Backend Information}
-\label{authinfo::doc}\label{authinfo:storing-backend-information}\label{authinfo:authinfo}
+\label{authinfo::doc}\label{authinfo:authinfo}\label{authinfo:storing-backend-information}
Normally, S3QL reads username and password for the backend as well as
an encryption passphrase for the file system from the
terminal. Alternatively, these (and some other backend parameters) may
@@ -2271,7 +2271,7 @@ backend need not contain an S3QL file system.
\label{tips::doc}\label{tips:tips-tricks}
\section{SSH Backend}
-\label{tips:ssh-backend}\label{tips:ssh-tipp}
+\label{tips:ssh-tipp}\label{tips:ssh-backend}
By combining S3QL's local backend with \href{http://fuse.sourceforge.net/sshfs.html}{sshfs}, it is possible to store an
S3QL file system on arbitrary SSH servers: first mount the remote
target directory into the local filesystem,
@@ -2369,7 +2369,7 @@ details.
\chapter{Known Issues}
-\label{issues::doc}\label{issues:known-issues}\begin{itemize}
+\label{issues:known-issues}\label{issues::doc}\begin{itemize}
\item {}
S3QL de-duplicates data blocks based solely only on SHA256
checksums, without doing a byte-by-byte comparison of the blocks.
@@ -4083,7 +4083,7 @@ Please report any bugs you may encounter in the \href{https://bitbucket.org/nikr
\chapter{Implementation Details}
-\label{impl_details::doc}\label{impl_details:impl-details}\label{impl_details:implementation-details}
+\label{impl_details:implementation-details}\label{impl_details::doc}\label{impl_details:impl-details}
This section provides some background information on how S3QL works
internally. Reading this section is not necessary to use S3QL.
diff --git a/doc/man/fsck.s3ql.1 b/doc/man/fsck.s3ql.1
index d2ba4d0..617b6cb 100644
--- a/doc/man/fsck.s3ql.1
+++ b/doc/man/fsck.s3ql.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "FSCK.S3QL" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "FSCK.S3QL" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
fsck.s3ql \- Check an S3QL file system for errors
.
diff --git a/doc/man/mkfs.s3ql.1 b/doc/man/mkfs.s3ql.1
index f2377b4..5136f79 100644
--- a/doc/man/mkfs.s3ql.1
+++ b/doc/man/mkfs.s3ql.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "MKFS.S3QL" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "MKFS.S3QL" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
mkfs.s3ql \- Create an S3QL file system
.
diff --git a/doc/man/mount.s3ql.1 b/doc/man/mount.s3ql.1
index 13362db..7f2891b 100644
--- a/doc/man/mount.s3ql.1
+++ b/doc/man/mount.s3ql.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "MOUNT.S3QL" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "MOUNT.S3QL" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
mount.s3ql \- Mount an S3QL file system
.
diff --git a/doc/man/s3ql_oauth_client.1 b/doc/man/s3ql_oauth_client.1
index 6adf326..2f799c0 100644
--- a/doc/man/s3ql_oauth_client.1
+++ b/doc/man/s3ql_oauth_client.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QL_OAUTH_CLIENT" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QL_OAUTH_CLIENT" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3ql_oauth_client \- Obtain Google Storage OAuth2 tokens
.
diff --git a/doc/man/s3ql_verify.1 b/doc/man/s3ql_verify.1
index e67e07c..4481d90 100644
--- a/doc/man/s3ql_verify.1
+++ b/doc/man/s3ql_verify.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QL_VERIFY" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QL_VERIFY" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3ql_verify \- Verify data in an S3QL file system
.
diff --git a/doc/man/s3qladm.1 b/doc/man/s3qladm.1
index 1d0aead..93db2a5 100644
--- a/doc/man/s3qladm.1
+++ b/doc/man/s3qladm.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLADM" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLADM" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qladm \- Manage S3QL file systems
.
diff --git a/doc/man/s3qlcp.1 b/doc/man/s3qlcp.1
index b70fd50..0bef6e5 100644
--- a/doc/man/s3qlcp.1
+++ b/doc/man/s3qlcp.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLCP" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLCP" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qlcp \- Copy-on-write replication on S3QL file systems
.
diff --git a/doc/man/s3qlctrl.1 b/doc/man/s3qlctrl.1
index 76fe701..35b97ff 100644
--- a/doc/man/s3qlctrl.1
+++ b/doc/man/s3qlctrl.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLCTRL" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLCTRL" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qlctrl \- Control a mounted S3QL file system
.
diff --git a/doc/man/s3qllock.1 b/doc/man/s3qllock.1
index bf83d3a..c3c8bda 100644
--- a/doc/man/s3qllock.1
+++ b/doc/man/s3qllock.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLLOCK" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLLOCK" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qllock \- Make trees on an S3QL file system immutable
.
diff --git a/doc/man/s3qlrm.1 b/doc/man/s3qlrm.1
index ae8fd46..6202820 100644
--- a/doc/man/s3qlrm.1
+++ b/doc/man/s3qlrm.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLRM" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLRM" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qlrm \- Fast tree removal on S3QL file systems
.
diff --git a/doc/man/s3qlstat.1 b/doc/man/s3qlstat.1
index 0cfada4..7e35a37 100644
--- a/doc/man/s3qlstat.1
+++ b/doc/man/s3qlstat.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "S3QLSTAT" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "S3QLSTAT" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
s3qlstat \- Gather S3QL file system statistics
.
diff --git a/doc/man/umount.s3ql.1 b/doc/man/umount.s3ql.1
index 86f42df..70faedd 100644
--- a/doc/man/umount.s3ql.1
+++ b/doc/man/umount.s3ql.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "UMOUNT.S3QL" "1" "Jun 09, 2018" "2.27" "S3QL"
+.TH "UMOUNT.S3QL" "1" "Jun 09, 2018" "2.27.1" "S3QL"
.SH NAME
umount.s3ql \- Unmount an S3QL file system
.
diff --git a/doc/manual.pdf b/doc/manual.pdf
index b7f834b..013a882 100644
--- a/doc/manual.pdf
+++ b/doc/manual.pdf
Binary files differ
diff --git a/src/s3ql.egg-info/PKG-INFO b/src/s3ql.egg-info/PKG-INFO
index 312f07e..530b62a 100644
--- a/src/s3ql.egg-info/PKG-INFO
+++ b/src/s3ql.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: s3ql
-Version: 2.27
+Version: 2.27.1
Summary: a full-featured file system for online data storage
Home-page: https://bitbucket.org/nikratio/s3ql/
Author: Nikolaus Rath
diff --git a/src/s3ql/__init__.py b/src/s3ql/__init__.py
index c74e7df..9a21c06 100644
--- a/src/s3ql/__init__.py
+++ b/src/s3ql/__init__.py
@@ -22,7 +22,7 @@ __all__ = [ 'adm', 'backends', 'block_cache', 'common', 'calc_mro',
'REV_VER_MAP', 'RELEASE', 'BUFSIZE',
'CTRL_NAME', 'CTRL_INODE' ]
-VERSION = '2.27'
+VERSION = '2.27.1'
RELEASE = '%s' % VERSION
# TODO: On next revision bump, remove upgrade code from backend/comprenc.py and
diff --git a/tests/t1_dump.py b/tests/t1_dump.py
index cab1ff6..3fc7c08 100755
--- a/tests/t1_dump.py
+++ b/tests/t1_dump.py
@@ -138,27 +138,6 @@ class DumpTests(unittest.TestCase):
fh=self.fh)
self.compare_tables(self.src, self.dst)
- def test_4_time(self):
- self.fill_vals(self.src)
-
- t1 = 0.5 * time.time()
- t2 = 2 * time.time()
- for (id_,) in self.src.query('SELECT id FROM test'):
- val = random.uniform(t1, t2)
- self.src.execute('UPDATE test SET buf=? WHERE id=?', (val, id_))
-
- dumpspec = (('id', deltadump.INTEGER),
- ('buf', deltadump.TIME))
-
- deltadump.dump_table(table='test', order='id', columns=dumpspec,
- db=self.src, fh=self.fh)
- self.fh.seek(0)
- deltadump.load_table(table='test', columns=dumpspec, db=self.dst,
- fh=self.fh)
-
- self.compare_tables(self.src, self.dst)
-
-
def test_5_multi(self):
self.fill_vals(self.src)
dumpspec = (('id', deltadump.INTEGER, 0),)