Add option minimize_mem (sr #108158)

This commit is contained in:
wbaumann 2014-04-20 17:32:47 +00:00
parent 8739bc32a8
commit b71f3b65b4
10 changed files with 292 additions and 112 deletions

View File

@ -1,6 +1,10 @@
ChangeLog for davfs2
--------------------

2014-04-20 Werner Baumann (werner.baumann@onlinehome.de)
* defaults.h, mount_davfs.h, mount_davfs.c, cache.c:
Add option minimize_mem (sr #108158).

2014-04-20 Werner Baumann (werner.baumann@onlinehome.de)
* kernel_interface.c:
Replace system() with execl().

View File

@ -64,6 +64,7 @@
# file_refresh 1 # second
# delay_upload 10
# gui_optimize 0
# minimize_mem 0

# Debugging Options
# -----------------

View File

@ -451,6 +451,22 @@ from all files in a directory with one PROPFIND request. 0 = no, 1 = yes.
.br
Default: 0

.TP
.B minimize_mem
davfs2 holds information about files and directories in the working
memory. It will stay there as long as the file system is mounted and the
file is not deleted. By this memory usage by davfs2 will grow over time
and may slow down davfs2. With this option set to 1 davfs2 will regularly
clean the memory from information that has not be used for some time.
0 = no, 1 = yes.
.br
\fBWarning:\fR Most file attributes are only maintained locally because
there is no corresponding WebDAV property. So if users change attributes
(owner, group, access bits) locally this changes will be lost and
attribute values will be reset to the default values.
.br
Default: 0


.SH Debugging Options


View File

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2014-04-18 18:25+0300\n"
"POT-Creation-Date: 2014-04-20 19:27+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -373,7 +373,7 @@ msgid ""
msgstr ""

#. type: TP
#: davfs2.conf.5:183 davfs2.conf.5:504
#: davfs2.conf.5:183 davfs2.conf.5:520
#, no-wrap
msgid "B<secrets>"
msgstr ""
@ -498,7 +498,7 @@ msgstr ""

#. type: Plain text
#: davfs2.conf.5:239 davfs2.conf.5:247 davfs2.conf.5:265 davfs2.conf.5:275
#: davfs2.conf.5:292 davfs2.conf.5:453
#: davfs2.conf.5:292 davfs2.conf.5:453 davfs2.conf.5:469
msgid "Default: 0"
msgstr ""

@ -922,20 +922,45 @@ msgid ""
"files in a directory with one PROPFIND request. 0 = no, 1 = yes."
msgstr ""

#. type: TP
#: davfs2.conf.5:454
#, no-wrap
msgid "B<minimize_mem>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:462
msgid ""
"davfs2 holds information about files and directories in the working memory. "
"It will stay there as long as the file system is mounted and the file is not "
"deleted. By this memory usage by davfs2 will grow over time and may slow "
"down davfs2. With this option set to 1 davfs2 will regularly clean the "
"memory from information that has not be used for some time. 0 = no, 1 = yes."
msgstr ""

#. type: Plain text
#: davfs2.conf.5:467
msgid ""
"B<Warning:> Most file attributes are only maintained locally because there "
"is no corresponding WebDAV property. So if users change attributes (owner, "
"group, access bits) locally this changes will be lost and attribute values "
"will be reset to the default values."
msgstr ""

#. type: SH
#: davfs2.conf.5:455
#: davfs2.conf.5:471
#, no-wrap
msgid "Debugging Options"
msgstr ""

#. type: TP
#: davfs2.conf.5:457
#: davfs2.conf.5:473
#, no-wrap
msgid "B<debug>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:465
#: davfs2.conf.5:481
msgid ""
"Send debug messages to the syslog daemon. The value tells what kind of "
"information shall be logged. The messages are send with facility LOG_DAEMON "
@ -946,7 +971,7 @@ msgid ""
msgstr ""

#. type: Plain text
#: davfs2.conf.5:469
#: davfs2.conf.5:485
msgid ""
"Unlike other options, this option is cumulative. If there are several debug "
"entries with different values, all of them will be applied. Also debug "
@ -955,171 +980,171 @@ msgid ""
msgstr ""

#. type: Plain text
#: davfs2.conf.5:472
#: davfs2.conf.5:488
msgid ""
"B<Note:> Debug messages let the log-files grow quickly. Never use this "
"option in normal operation of mount.davfs."
msgstr ""

#. type: Plain text
#: davfs2.conf.5:474
#: davfs2.conf.5:490
msgid "Default: no debugging messages"
msgstr ""

#. type: TP
#: davfs2.conf.5:475
#: davfs2.conf.5:491
#, no-wrap
msgid "B<Recognized values:>"
msgstr ""

#. type: TP
#: davfs2.conf.5:477
#: davfs2.conf.5:493
#, no-wrap
msgid "B<config>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:480
#: davfs2.conf.5:496
msgid "Command line and configuration options."
msgstr ""

#. type: TP
#: davfs2.conf.5:480
#: davfs2.conf.5:496
#, no-wrap
msgid "B<kernel>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:483
#: davfs2.conf.5:499
msgid "Upcalls from the kernel file system."
msgstr ""

#. type: TP
#: davfs2.conf.5:483
#: davfs2.conf.5:499
#, no-wrap
msgid "B<cache>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:486
#: davfs2.conf.5:502
msgid "Cache operations like adding and removing nodes."
msgstr ""

#. type: TP
#: davfs2.conf.5:486
#: davfs2.conf.5:502
#, no-wrap
msgid "B<http>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:489
#: davfs2.conf.5:505
msgid "HTTP headers."
msgstr ""

#. type: TP
#: davfs2.conf.5:489
#: davfs2.conf.5:505
#, no-wrap
msgid "B<xml>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:492
#: davfs2.conf.5:508
msgid "Parsing of the XML-body of WebDAV-requests."
msgstr ""

#. type: TP
#: davfs2.conf.5:492
#: davfs2.conf.5:508
#, no-wrap
msgid "B<httpauth>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:495
#: davfs2.conf.5:511
msgid "Negotiation of authentication."
msgstr ""

#. type: TP
#: davfs2.conf.5:495
#: davfs2.conf.5:511
#, no-wrap
msgid "B<locks>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:498
#: davfs2.conf.5:514
msgid "Information about locks."
msgstr ""

#. type: TP
#: davfs2.conf.5:498
#: davfs2.conf.5:514
#, no-wrap
msgid "B<ssl>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:501
#: davfs2.conf.5:517
msgid "TLS/SSL related stuff like certificates."
msgstr ""

#. type: TP
#: davfs2.conf.5:501
#: davfs2.conf.5:517
#, no-wrap
msgid "B<httpbody>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:504
#: davfs2.conf.5:520
msgid "Complete body of HTTP-responses."
msgstr ""

#. type: Plain text
#: davfs2.conf.5:507
#: davfs2.conf.5:523
msgid ""
"Also print confidential information, which is usually omitted or obscured."
msgstr ""

#. type: TP
#: davfs2.conf.5:507
#: davfs2.conf.5:523
#, no-wrap
msgid "B<most>"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:510
#: davfs2.conf.5:526
msgid "Includes config, kernel, cache and http."
msgstr ""

#. type: SH
#: davfs2.conf.5:513 mount.davfs.8:547 umount.davfs.8:79
#: davfs2.conf.5:529 mount.davfs.8:547 umount.davfs.8:79
#, no-wrap
msgid "AUTHORS"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:517
#: davfs2.conf.5:533
msgid ""
"This man page was written by by Werner Baumann E<lt>werner."
"baumann@onlinehome.deE<gt>."
msgstr ""

#. type: SH
#: davfs2.conf.5:519 mount.davfs.8:564 umount.davfs.8:84
#: davfs2.conf.5:535 mount.davfs.8:564 umount.davfs.8:84
#, no-wrap
msgid "DAVFS2 HOME"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:522 mount.davfs.8:567 umount.davfs.8:87
#: davfs2.conf.5:538 mount.davfs.8:567 umount.davfs.8:87
msgid "@PACKAGE_BUGREPORT@"
msgstr ""

#. type: SH
#: davfs2.conf.5:524 mount.davfs.8:569 umount.davfs.8:89
#: davfs2.conf.5:540 mount.davfs.8:569 umount.davfs.8:89
#, no-wrap
msgid "SEE ALSO"
msgstr ""

#. type: Plain text
#: davfs2.conf.5:530
#: davfs2.conf.5:546
msgid ""
"B<@PROGRAM_NAME@>(8), B<u@PROGRAM_NAME@>(8), B<mount>(8), B<umount>(8), "
"B<fstab>(5)"

View File

@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: davfs2 1.5.0\n"
"POT-Creation-Date: 2014-04-18 18:25+0300\n"
"PO-Revision-Date: 2014-04-18 18:30+0200\n"
"POT-Creation-Date: 2014-04-20 19:27+0300\n"
"PO-Revision-Date: 2014-04-20 19:30+0200\n"
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
"Language-Team: \n"
"Language: \n"
@ -499,7 +499,7 @@ msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:183 davfs2.conf.5:504
#: davfs2.conf.5:183 davfs2.conf.5:520
#, no-wrap
msgid "B<secrets>"
msgstr "B<secrets>"
@ -666,7 +666,7 @@ msgstr ""
# type: Plain text
#. type: Plain text
#: davfs2.conf.5:239 davfs2.conf.5:247 davfs2.conf.5:265 davfs2.conf.5:275
#: davfs2.conf.5:292 davfs2.conf.5:453
#: davfs2.conf.5:292 davfs2.conf.5:453 davfs2.conf.5:469
msgid "Default: 0"
msgstr "Voreingestellt: 0"

@ -1256,23 +1256,59 @@ msgstr ""
"B<@PROGRAM_NAME@> diese Abfrage für alle Dateien eines Verzeichnisses mit "
"einem PROPFIND-Request zu erledigen. 0 = nein, 1 = ja."

# type: TP
#. type: TP
#: davfs2.conf.5:454
#, no-wrap
msgid "B<minimize_mem>"
msgstr "B<minimize_mem>"

#. type: Plain text
#: davfs2.conf.5:462
msgid ""
"davfs2 holds information about files and directories in the working memory. "
"It will stay there as long as the file system is mounted and the file is not "
"deleted. By this memory usage by davfs2 will grow over time and may slow "
"down davfs2. With this option set to 1 davfs2 will regularly clean the "
"memory from information that has not be used for some time. 0 = no, 1 = yes."
msgstr ""
"davfs2 speichert Attribute von Dateien und Verzeichnissen im Hauptspeicher. "
"Sie bleiben im Hauptspeicher solange das Dateisystem eingehängt ist und die "
"Datei nicht gelöscht wird. Dadurch steigt die Speicherbelegung durch davfs2 "
"mit der Zeit an und kann Dateisystemoperationen verlangsamen. Wird diese "
"Option auf 1 gesetzt, dann entfernt davfs2 regelmäßig Informationen, die für "
"einige Zeit nicht benutzt wurden. 0 = nein, 1 = ja."

#. type: Plain text
#: davfs2.conf.5:467
msgid ""
"B<Warning:> Most file attributes are only maintained locally because there "
"is no corresponding WebDAV property. So if users change attributes (owner, "
"group, access bits) locally this changes will be lost and attribute values "
"will be reset to the default values."
msgstr ""
"B<Warnung:> Die meisten Attribute werden nur lokal vorgehalten, da es keine "
"entsprechende WebDAV-Property gibt. Wenn Benutzer Dateiattribute ändern "
"(Eigentümer, Gruppe, Zugriffsrechte) dann gehen diese Änderungen verloren "
"und die Attribute werden auf ihre Standardwerte zurückgesetzt."

# type: SH
#. type: SH
#: davfs2.conf.5:455
#: davfs2.conf.5:471
#, no-wrap
msgid "Debugging Options"
msgstr "Debugging Optionen"

# type: TP
#. type: TP
#: davfs2.conf.5:457
#: davfs2.conf.5:473
#, no-wrap
msgid "B<debug>"
msgstr "B<debug>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:465
#: davfs2.conf.5:481
msgid ""
"Send debug messages to the syslog daemon. The value tells what kind of "
"information shall be logged. The messages are send with facility LOG_DAEMON "
@ -1290,7 +1326,7 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:469
#: davfs2.conf.5:485
msgid ""
"Unlike other options, this option is cumulative. If there are several debug "
"entries with different values, all of them will be applied. Also debug "
@ -1304,7 +1340,7 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:472
#: davfs2.conf.5:488
msgid ""
"B<Note:> Debug messages let the log-files grow quickly. Never use this "
"option in normal operation of mount.davfs."
@ -1314,53 +1350,53 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:474
#: davfs2.conf.5:490
msgid "Default: no debugging messages"
msgstr "Voreinstellung: keine Debug-Meldungen."

# type: Plain text
#. type: TP
#: davfs2.conf.5:475
#: davfs2.conf.5:491
#, no-wrap
msgid "B<Recognized values:>"
msgstr "B<Mögliche Werte>"

# type: TP
#. type: TP
#: davfs2.conf.5:477
#: davfs2.conf.5:493
#, no-wrap
msgid "B<config>"
msgstr "B<config>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:480
#: davfs2.conf.5:496
msgid "Command line and configuration options."
msgstr "Kommando-Zeile und Kofigurationsoptionen."

# type: TP
#. type: TP
#: davfs2.conf.5:480
#: davfs2.conf.5:496
#, no-wrap
msgid "B<kernel>"
msgstr "B<kernel>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:483
#: davfs2.conf.5:499
msgid "Upcalls from the kernel file system."
msgstr "Anfragen vom Kernel-Dateisystem."

# type: TP
#. type: TP
#: davfs2.conf.5:483
#: davfs2.conf.5:499
#, no-wrap
msgid "B<cache>"
msgstr "B<cache>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:486
#: davfs2.conf.5:502
msgid "Cache operations like adding and removing nodes."
msgstr ""
"Cache-Operationen wie das Erzeugen und Löschen von Dateien und "
@ -1368,85 +1404,85 @@ msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:486
#: davfs2.conf.5:502
#, no-wrap
msgid "B<http>"
msgstr "B<http>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:489
#: davfs2.conf.5:505
msgid "HTTP headers."
msgstr "HTTP-Header."

# type: TP
#. type: TP
#: davfs2.conf.5:489
#: davfs2.conf.5:505
#, no-wrap
msgid "B<xml>"
msgstr "B<xml>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:492
#: davfs2.conf.5:508
msgid "Parsing of the XML-body of WebDAV-requests."
msgstr "Analysieren von XML-Daten in WebDAV-Anfragen."

# type: TP
#. type: TP
#: davfs2.conf.5:492
#: davfs2.conf.5:508
#, no-wrap
msgid "B<httpauth>"
msgstr "B<httpauth>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:495
#: davfs2.conf.5:511
msgid "Negotiation of authentication."
msgstr "Aushandeln der Authentifizierung."

# type: TP
#. type: TP
#: davfs2.conf.5:495
#: davfs2.conf.5:511
#, no-wrap
msgid "B<locks>"
msgstr "B<locks>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:498
#: davfs2.conf.5:514
msgid "Information about locks."
msgstr "Informationen über Sperren."

# type: TP
#. type: TP
#: davfs2.conf.5:498
#: davfs2.conf.5:514
#, no-wrap
msgid "B<ssl>"
msgstr "B<ssl>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:501
#: davfs2.conf.5:517
msgid "TLS/SSL related stuff like certificates."
msgstr "TLS/SSL-Informatinen, z.B. Zertifikate."

# type: TP
#. type: TP
#: davfs2.conf.5:501
#: davfs2.conf.5:517
#, no-wrap
msgid "B<httpbody>"
msgstr "B<httpbody>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:504
#: davfs2.conf.5:520
msgid "Complete body of HTTP-responses."
msgstr "Der komplette Datenteil von HTTP-Antworten."

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:507
#: davfs2.conf.5:523
msgid ""
"Also print confidential information, which is usually omitted or obscured."
msgstr ""
@ -1454,27 +1490,27 @@ msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:507
#: davfs2.conf.5:523
#, no-wrap
msgid "B<most>"
msgstr "B<most>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:510
#: davfs2.conf.5:526
msgid "Includes config, kernel, cache and http."
msgstr "Beinhaltet config, kernel, cache und http."

# type: SH
#. type: SH
#: davfs2.conf.5:513 mount.davfs.8:547 umount.davfs.8:79
#: davfs2.conf.5:529 mount.davfs.8:547 umount.davfs.8:79
#, no-wrap
msgid "AUTHORS"
msgstr "AUTOREN"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:517
#: davfs2.conf.5:533
msgid ""
"This man page was written by by Werner Baumann E<lt>werner."
"baumann@onlinehome.deE<gt>."
@ -1484,27 +1520,27 @@ msgstr ""

# type: SH
#. type: SH
#: davfs2.conf.5:519 mount.davfs.8:564 umount.davfs.8:84
#: davfs2.conf.5:535 mount.davfs.8:564 umount.davfs.8:84
#, no-wrap
msgid "DAVFS2 HOME"
msgstr "DAVFS2 HOME"

# type: TH
#. type: Plain text
#: davfs2.conf.5:522 mount.davfs.8:567 umount.davfs.8:87
#: davfs2.conf.5:538 mount.davfs.8:567 umount.davfs.8:87
msgid "@PACKAGE_BUGREPORT@"
msgstr "@PACKAGE_BUGREPORT@"

# type: SH
#. type: SH
#: davfs2.conf.5:524 mount.davfs.8:569 umount.davfs.8:89
#: davfs2.conf.5:540 mount.davfs.8:569 umount.davfs.8:89
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:530
#: davfs2.conf.5:546
msgid ""
"B<@PROGRAM_NAME@>(8), B<u@PROGRAM_NAME@>(8), B<mount>(8), B<umount>(8), "
"B<fstab>(5)"

View File

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: davfs2.conf.5\n"
"POT-Creation-Date: 2014-04-18 18:25+0300\n"
"POT-Creation-Date: 2014-04-20 19:27+0300\n"
"PO-Revision-Date: 2007-04-26 01:24-0300\n"
"Last-Translator: Luciano Bello <luciano@linux.org.ar>\n"
"Language-Team: Español <es@li.org>\n"
@ -487,7 +487,7 @@ msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:183 davfs2.conf.5:504
#: davfs2.conf.5:183 davfs2.conf.5:520
#, no-wrap
msgid "B<secrets>"
msgstr "B<secrets>"
@ -656,7 +656,7 @@ msgstr ""
# type: Plain text
#. type: Plain text
#: davfs2.conf.5:239 davfs2.conf.5:247 davfs2.conf.5:265 davfs2.conf.5:275
#: davfs2.conf.5:292 davfs2.conf.5:453
#: davfs2.conf.5:292 davfs2.conf.5:453 davfs2.conf.5:469
msgid "Default: 0"
msgstr "Predeterminado: 0"

@ -1194,23 +1194,50 @@ msgstr ""
"intentará obtener esta información de todos los archivos en un directorio "
"con un único pedido PROPFIND. 0 = no, 1 = sí."

# type: TP
#. type: TP
#: davfs2.conf.5:454
#, fuzzy, no-wrap
#| msgid "B<gui_optimize>"
msgid "B<minimize_mem>"
msgstr "B<gui_optimize>"

#. type: Plain text
#: davfs2.conf.5:462
msgid ""
"davfs2 holds information about files and directories in the working memory. "
"It will stay there as long as the file system is mounted and the file is not "
"deleted. By this memory usage by davfs2 will grow over time and may slow "
"down davfs2. With this option set to 1 davfs2 will regularly clean the "
"memory from information that has not be used for some time. 0 = no, 1 = yes."
msgstr ""

#. type: Plain text
#: davfs2.conf.5:467
msgid ""
"B<Warning:> Most file attributes are only maintained locally because there "
"is no corresponding WebDAV property. So if users change attributes (owner, "
"group, access bits) locally this changes will be lost and attribute values "
"will be reset to the default values."
msgstr ""

# type: SH
#. type: SH
#: davfs2.conf.5:455
#: davfs2.conf.5:471
#, fuzzy, no-wrap
msgid "Debugging Options"
msgstr "Opciones Generales"

# type: TP
#. type: TP
#: davfs2.conf.5:457
#: davfs2.conf.5:473
#, no-wrap
msgid "B<debug>"
msgstr "B<debug>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:465
#: davfs2.conf.5:481
msgid ""
"Send debug messages to the syslog daemon. The value tells what kind of "
"information shall be logged. The messages are send with facility LOG_DAEMON "
@ -1222,7 +1249,7 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:469
#: davfs2.conf.5:485
msgid ""
"Unlike other options, this option is cumulative. If there are several debug "
"entries with different values, all of them will be applied. Also debug "
@ -1232,7 +1259,7 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:472
#: davfs2.conf.5:488
msgid ""
"B<Note:> Debug messages let the log-files grow quickly. Never use this "
"option in normal operation of mount.davfs."
@ -1240,165 +1267,165 @@ msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:474
#: davfs2.conf.5:490
msgid "Default: no debugging messages"
msgstr ""

# type: Plain text
#. type: TP
#: davfs2.conf.5:475
#: davfs2.conf.5:491
#, no-wrap
msgid "B<Recognized values:>"
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:477
#: davfs2.conf.5:493
#, no-wrap
msgid "B<config>"
msgstr "B<config>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:480
#: davfs2.conf.5:496
#, fuzzy
msgid "Command line and configuration options."
msgstr "B<Sólo permitido en el archivo general de configuración del sistema.>"

# type: TP
#. type: TP
#: davfs2.conf.5:480
#: davfs2.conf.5:496
#, no-wrap
msgid "B<kernel>"
msgstr "B<kernel>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:483
#: davfs2.conf.5:499
msgid "Upcalls from the kernel file system."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:483
#: davfs2.conf.5:499
#, no-wrap
msgid "B<cache>"
msgstr "B<cache>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:486
#: davfs2.conf.5:502
msgid "Cache operations like adding and removing nodes."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:486
#: davfs2.conf.5:502
#, no-wrap
msgid "B<http>"
msgstr "B<http>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:489
#: davfs2.conf.5:505
msgid "HTTP headers."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:489
#: davfs2.conf.5:505
#, no-wrap
msgid "B<xml>"
msgstr "B<xml>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:492
#: davfs2.conf.5:508
msgid "Parsing of the XML-body of WebDAV-requests."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:492
#: davfs2.conf.5:508
#, no-wrap
msgid "B<httpauth>"
msgstr "B<httpauth>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:495
#: davfs2.conf.5:511
msgid "Negotiation of authentication."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:495
#: davfs2.conf.5:511
#, no-wrap
msgid "B<locks>"
msgstr "B<locks>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:498
#: davfs2.conf.5:514
msgid "Information about locks."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:498
#: davfs2.conf.5:514
#, no-wrap
msgid "B<ssl>"
msgstr "B<ssl>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:501
#: davfs2.conf.5:517
msgid "TLS/SSL related stuff like certificates."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:501
#: davfs2.conf.5:517
#, no-wrap
msgid "B<httpbody>"
msgstr "B<httpbody>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:504
#: davfs2.conf.5:520
msgid "Complete body of HTTP-responses."
msgstr ""

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:507
#: davfs2.conf.5:523
msgid ""
"Also print confidential information, which is usually omitted or obscured."
msgstr ""

# type: TP
#. type: TP
#: davfs2.conf.5:507
#: davfs2.conf.5:523
#, no-wrap
msgid "B<most>"
msgstr "B<most>"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:510
#: davfs2.conf.5:526
msgid "Includes config, kernel, cache and http."
msgstr ""

# type: SH
#. type: SH
#: davfs2.conf.5:513 mount.davfs.8:547 umount.davfs.8:79
#: davfs2.conf.5:529 mount.davfs.8:547 umount.davfs.8:79
#, no-wrap
msgid "AUTHORS"
msgstr "AUTORES"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:517
#: davfs2.conf.5:533
msgid ""
"This man page was written by by Werner Baumann E<lt>werner."
"baumann@onlinehome.deE<gt>."
@ -1408,27 +1435,27 @@ msgstr ""

# type: SH
#. type: SH
#: davfs2.conf.5:519 mount.davfs.8:564 umount.davfs.8:84
#: davfs2.conf.5:535 mount.davfs.8:564 umount.davfs.8:84
#, no-wrap
msgid "DAVFS2 HOME"
msgstr "DAVFS2 HOME"

# type: TH
#. type: Plain text
#: davfs2.conf.5:522 mount.davfs.8:567 umount.davfs.8:87
#: davfs2.conf.5:538 mount.davfs.8:567 umount.davfs.8:87
msgid "@PACKAGE_BUGREPORT@"
msgstr "@PACKAGE_BUGREPORT@"

# type: SH
#. type: SH
#: davfs2.conf.5:524 mount.davfs.8:569 umount.davfs.8:89
#: davfs2.conf.5:540 mount.davfs.8:569 umount.davfs.8:89
#, no-wrap
msgid "SEE ALSO"
msgstr "VER TAMBIÉN"

# type: Plain text
#. type: Plain text
#: davfs2.conf.5:530
#: davfs2.conf.5:546
msgid ""
"B<@PROGRAM_NAME@>(8), B<u@PROGRAM_NAME@>(8), B<mount>(8), B<umount>(8), "
"B<fstab>(5)"

View File

@ -171,6 +171,13 @@ static time_t delay_upload;
GET If-Modified-Since for single files. */
static int gui_optimize;

/* Remove nodes that are currently not needed to minimize memory usage. */
static int minimize_mem;

/* When to next run minimize_tree. 0 means to not run minimize_tree.
Must be updated when a node is created. */
static time_t next_minimize;

/* Time interval to wait, before a directory is updated. Usually equal to
dir_refresh, but will be varied in case the connection timed out.*/
static time_t retry;
@ -276,6 +283,9 @@ get_upload_time(dav_node *node)
return item->save_at;
}

static void
minimize_tree(dav_node *node);

static int
move_dir(dav_node *src, dav_node *dst, dav_node *dst_parent,
const char *dst_name);
@ -602,6 +612,7 @@ dav_init_cache(const dav_args *args, const char *mpoint)
file_refresh = args->file_refresh;
delay_upload = args->delay_upload;
gui_optimize = args->gui_optimize;
minimize_mem = args->minimize_mem;
retry = dir_refresh;
min_retry = args->retry;
max_retry = args->max_retry;
@ -645,6 +656,7 @@ dav_init_cache(const dav_args *args, const char *mpoint)
backup->mode = S_IFDIR | S_IRWXU;

clean_cache();
next_minimize = 0;

int ret = update_directory(root, 0);
if (ret == EAGAIN) {
@ -740,6 +752,16 @@ dav_tidy_cache(void)
if (cache_size > max_cache_size)
resize_cache();

if (minimize_mem && next_minimize && time(NULL) > next_minimize) {
if (debug)
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "minimize_tree");
next_minimize = 0;
minimize_tree(root);
if (debug)
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
"minimize_tree: %llu nodes remaining", fs_stat->files);
}

static dav_node_list_item *item = NULL;

dav_node_list_item *next_item = changed;
@ -1713,6 +1735,43 @@ delete_tree(dav_node *node)
}


/* Removes file nodes that are currently not needed to minimize
memory usage. */
static void
minimize_tree(dav_node *node)
{
if (node == backup) return;

if (is_dir(node)) {

int rm = !is_open(node)
&& (time(NULL) > (node->utime + 2 * file_refresh))
&& (time(NULL) > (node->atime + 2 * file_refresh));
dav_node *child = node->childs;
while (child) {
dav_node *next = child->next;
if (rm || is_dir(child)) {
minimize_tree(child);
} else if (next_minimize == 0) {
next_minimize = time(NULL) + 2 * file_refresh;
}
child = next;
}

} else if (!is_cached(node) && !is_locked(node) && !is_created(node)) {

remove_from_tree(node);
remove_from_table(node);
delete_node(node);

} else if (next_minimize == 0) {

next_minimize = time(NULL) + file_refresh;

}
}


/* Moves directory src to dst using WebDAV method MOVE. */
static int
move_dir(dav_node *src, dav_node *dst, dav_node *dst_parent,
@ -1932,6 +1991,9 @@ new_node(dav_node *parent, mode_t mode)
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "new node: %p->%p",
node->parent, node);
fs_stat->files++;
if (next_minimize == 0)
next_minimize = node->atime + file_refresh;

return node;
}


View File

@ -295,6 +295,9 @@
May be overridden by system config file and user config file. */
#define DAV_GUI_OPTIMIZE 0

/* Remove nodes that are currently not needed to minimize memory usage. */
#define DAV_MINIMIZE_MEM 0

/* These Macros will be defined by the command line option -D of the
preprocessor:


View File

@ -1729,6 +1729,7 @@ new_args(void)
args->file_refresh = DAV_FILE_REFRESH;
args->delay_upload = DAV_DELAY_UPLOAD;
args->gui_optimize = DAV_GUI_OPTIMIZE;
args->minimize_mem = DAV_MINIMIZE_MEM;

return args;
}
@ -1845,6 +1846,8 @@ log_dbg_config(dav_args *args)
" delay_upload: %i", args->delay_upload);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" gui_optimize: %i", args->gui_optimize);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" minimize_mem: %i", args->minimize_mem);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
" debug: %#x", args->debug);
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
@ -2241,6 +2244,8 @@ read_config(dav_args *args, const char * filename, int system)
args->delay_upload = arg_to_int(parmv[1], 10, parmv[0]);
} else if (strcmp(parmv[0], "gui_optimize") == 0) {
args->gui_optimize = arg_to_int(parmv[1], 10, parmv[0]);
} else if (strcmp(parmv[0], "minimize_mem") == 0) {
args->minimize_mem = arg_to_int(parmv[1], 10, parmv[0]);
} else if (strcmp(parmv[0], "debug") == 0) {
args->debug |= debug_opts(parmv[1]);
args->neon_debug |= debug_opts_neon(parmv[1]);

View File

@ -110,6 +110,7 @@ typedef struct {
time_t file_refresh; /* User config file, system config file */
int delay_upload; /* User config file, system config file */
int gui_optimize; /* User config file, system config file */
int minimize_mem; /* User config file, system config file */
/* Debugging */
int debug; /* User config file, system config file */
int neon_debug; /* User config file, system config file */