From e521833ceca65d950654c3b96fdc0324a3754f6b Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Fri, 9 Mar 2018 21:12:52 -0500 Subject: [PATCH] bump change date on readme and rebuild man --- README.md | 2 +- man/mergerfs.1 | 62 +++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 52 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 988a8fce..85452f6d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ % mergerfs(1) mergerfs user manual % Antonio SJ Musumeci -% 2017-05-26 +% 2018-03-09 # NAME diff --git a/man/mergerfs.1 b/man/mergerfs.1 index 47e80e8b..872384c1 100644 --- a/man/mergerfs.1 +++ b/man/mergerfs.1 @@ -1,7 +1,7 @@ .\"t .\" Automatically generated by Pandoc 1.16.0.2 .\" -.TH "mergerfs" "1" "2017\-05\-26" "mergerfs user manual" "" +.TH "mergerfs" "1" "2018\-03\-09" "mergerfs user manual" "" .hy .SH NAME .PP @@ -85,7 +85,7 @@ These options seem to provide the best performance. .IP \[bu] 2 \f[B]allow_other\f[]: a libfuse option which allows users besides the one which ran mergerfs to see the filesystem. -This is is required for most use\-cases. +This is required for most use\-cases. .IP \[bu] 2 \f[B]direct_io\f[]: causes FUSE to bypass caching which can increase write speeds at the detriment of reads. @@ -115,6 +115,12 @@ than libfuse. While not a default it is generally recommended it be enabled so that hard linked files share the same inode value. .IP \[bu] 2 +\f[B]hard_remove\f[]: force libfuse to immedately remove files when +unlinked. +This can have a very minor performance impact in some cases but is +generally recommended since there are subtle race conditions which can +occur when removing large sets of files & directories. +.IP \[bu] 2 \f[B]dropcacheonclose=true|false\f[]: when a file is requested to be closed call \f[C]posix_fadvise\f[] on it first to instruct the kernel that we no longer need the data and it can drop its cache. @@ -207,8 +213,8 @@ tools use \f[B]/etc/fstab\f[]. .IP .nf \f[C] -#\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -/mnt/disk*:/mnt/cdrom\ \ /media/drives\ \ fuse.mergerfs\ \ defaults,allow_other,use_ino\ \ 0\ \ \ \ \ \ \ 0 +#\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ +/mnt/disk*:/mnt/cdrom\ \ /media/drives\ \ fuse.mergerfs\ \ defaults,allow_other,use_ino,hard_remove\ \ 0\ \ \ \ \ \ \ 0 \f[] .fi .PP @@ -981,8 +987,8 @@ done .fi .SH TIPS / NOTES .IP \[bu] 2 -The recommended options are -\f[B]defaults,allow_other,direct_io,use_ino\f[]. +The recommended base options are +\f[B]defaults,allow_other,direct_io,use_ino,hard_remove\f[]. (\f[B]use_ino\f[] will only work when used with mergerfs 2.18.0 and above.) .IP \[bu] 2 @@ -999,7 +1005,7 @@ all the underlying directories. Use \f[C]mergerfs.fsck\f[] to audit the drive for out of sync permissions. .IP \[bu] 2 -Do \f[I]not\f[] use \f[C]direct_io\f[] if you expect applications (such +Do \f[B]not\f[] use \f[C]direct_io\f[] if you expect applications (such as rtorrent) to mmap (http://linux.die.net/man/2/mmap) files. It is not currently supported in FUSE w/ \f[C]direct_io\f[] enabled. Enabling \f[C]dropcacheonclose\f[] is recommended when @@ -1019,7 +1025,7 @@ can use directory mtime (http://linux.die.net/man/2/stat) to more efficiently determine whether to scan for new content rather than simply performing a full scan. If using the default \f[B]getattr\f[] policy of \f[B]ff\f[] its possible -\f[B]Kodi\f[] will miss an update on account of it returning the first +those programs will miss an update on account of it returning the first directory found\[aq]s \f[B]stat\f[] info and its a later directory on another mount which had the \f[B]mtime\f[] recently updated. To fix this you will want to set \f[B]func.getattr=newest\f[]. @@ -1285,6 +1291,23 @@ mergerfs\[aq] options. Should be placed after \f[C]defaults\f[] if it is used since it will turn them on. This however is not guaranteed to work. +.SS rm: fts_read failed: No such file or directory +.PP +Not \f[I]really\f[] a bug. +The FUSE library will move files when asked to delete them as a way to +deal with certain edge cases and then later delete that file when its +clear the file is no longer needed. +This however can lead to two issues. +One is that these hidden files are noticed by \f[C]rm\ \-rf\f[] or +\f[C]find\f[] when scanning directories and they may try to remove them +and they might have disappeared already. +There is nothing \f[I]wrong\f[] about this happening but it can be +annoying. +The second issue is that a directory might not be able to removed on +account of the hidden file being still there. +.PP +Using the \f[B]hard_remove\f[] option will make it so these temporary +files are not used and files are deleted immedately. .SH FAQ .SS Can mergerfs be used with drives which already have data / are in use? @@ -1363,6 +1386,13 @@ While aufs can offer better peak performance mergerfs provides more configurability and is generally easier to use. mergerfs however does not offer the overlay / copy\-on\-write (CoW) features which aufs and overlayfs have. +.SS Why use mergerfs over unionfs? +.PP +UnionFS is more like aufs then mergerfs in that it offers overlay / CoW +features. +If you\[aq]re just looking to create a union of drives and want +flexibility in file/directory placement then mergerfs offers that +whereas unionfs is more for overlaying RW filesystems over RO ones. .SS Why use mergerfs over LVM/ZFS/BTRFS/RAID0 drive concatenation / striping? .PP @@ -1520,14 +1550,24 @@ email: trapexit\@spawn.link .IP \[bu] 2 twitter: https://twitter.com/_trapexit .SS Support development +.PP +This software is free to use and released under a very liberal license. +That said if you like this software and would like to support its +development donations are welcome. +.IP \[bu] 2 +Bitcoin (BTC): 12CdMhEPQVmjz3SSynkAEuD5q9JmhTDCZA .IP \[bu] 2 -BitCoin: 12CdMhEPQVmjz3SSynkAEuD5q9JmhTDCZA +Bitcoin Cash (BCH): 1AjPqZZhu7GVEs6JFPjHmtsvmDL4euzMzp +.IP \[bu] 2 +Ethereum (ETH): 0x09A166B11fCC127324C7fc5f1B572255b3046E94 +.IP \[bu] 2 +Litecoin (LTC): LXAsq6yc6zYU3EbcqyWtHBrH1Ypx4GjUjm +.IP \[bu] 2 +Ripple (XRP): rNACR2hqGjpbHuCKwmJ4pDpd2zRfuRATcE .IP \[bu] 2 PayPal: trapexit\@spawn.link .IP \[bu] 2 Patreon: https://www.patreon.com/trapexit -.IP \[bu] 2 -Gratipay: https://gratipay.com/~trapexit .SH LINKS .IP \[bu] 2 http://github.com/trapexit/mergerfs