| Age | Commit message (Collapse) | Author | 
|---|
|  | From >6 to <1 second. | 
|  |  | 
|  | Move the script from tests to contrib as it may now
be useful to somebody else.
https://github.com/rfjakob/gocryptfs/issues/552 | 
|  | $ ./contrib/atomicrename/atomicrename -h
atomicrename creates 100 "src" files in the current directory, renames
them in random order over a single "dst" file while reading the "dst"
file concurrently in a loop.
Progress and errors are reported as they occour in addition to a summary
printed at the end. cifs and fuse filesystems are known to fail, local
filesystems and nfs seem ok.
See https://github.com/hanwen/go-fuse/issues/398 for background info. | 
|  | Also, change the logic for the segment walk to not
rely on the total size. cp does not use the total
size either, and we miss bugs by cheating! | 
|  | Utility and libs to find hole/data segments using lseek. | 
|  |  | 
|  | Also fix all shellcheck warnings. | 
|  |  | 
|  | Getting EINTR here is acceptable. | 
|  | This made the code more complicated without reproducing
the problem.
This reverts commit 77632b7554000f2e832a0e9fded1a3894b2502c3. | 
|  | This was an attempt to make the C code more
similar to Go (which also reads from multiple threads).
However, I still could not repro the ENOENT problems.
https://github.com/rfjakob/gocryptfs/issues/483 | 
|  | Locale trouble was
   sshfs-benchmark.bash: line 31: printf: 4.71: invalid number
because printf expected "4,71" in the German locale.
Force the C locale. | 
|  | 22e3eec15302eac28c1a2ac3f9af29c2c9e82a3c | 
|  | Also try to improve and unify output a little.
$ ./getdents /usr/share/man/man1
  1: unix.Getdents: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; err=<nil>; total 122112 bytes
  2: unix.Getdents: n=9984; n=48; n=9976; n=9968; n=9976; n=9976; n=9992; n=9984; n=9992; n=10000; n=9976; n=9968; n=10000; n=2272; n=0; err=<nil>; total 122112 bytes
  3: unix.Getdents: n=9984; n=9984; n=9968; n=704; n=10000; n=10000; n=9968; n=9968; n=9992; n=10000; n=9960; n=9992; n=9992; n=1600; n=0; err=<nil>; total 122112 bytes
  4: unix.Getdents: n=9984; n=9984; n=9968; n=9976; n=9984; n=32; n=9992; n=9984; n=9992; n=10000; n=9976; n=9968; n=10000; n=2272; n=0; err=<nil>; total 122112 bytes
$ ./getdents_c /usr/share/man/man1
  1: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes
  2: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes
  3: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes
  4: getdents64: n=9984; n=9984; n=9968; n=9976; n=9984; n=9968; n=10000; n=9976; n=9992; n=10000; n=9976; n=9992; n=2312; n=0; errno=0 total 122112 bytes | 
|  | $ ./getdents -loop /mnt/synology/public/tmp/g1
unix.Getdents: n=4176; n=4176; n=4176; n=4176; n=4176; n=3192; n=0; err=<nil>; total 24072 bytes
unix.Getdents: n=4176; n=4176; n=4176; n=4176; n=4176; n=3192; n=0; err=<nil>; total 24072 bytes
unix.Getdents: n=4176; n=-1; err=no such file or directory; total 4176 bytes | 
|  | Another way to repro the problem in
https://github.com/rfjakob/gocryptfs/issues/483 | 
|  |  | 
|  | Same thing like contrib/getdents, but written in C. | 
|  | Small tool to try to debug unix.Getdents problems on CIFS mounts
https://github.com/rfjakob/gocryptfs/issues/483 | 
|  | And also, stop using the wrong directory for sshfs git init.
sshfs-benchmark.bash:    sshfs  gocryptfs-on-sshfs
git init                  4.35                7.82
rsync                     7.72               11.66
rm -R                     2.71               11.04
mkdir                     1.33                4.15
rmdir                     0.47                3.97
touch                     2.32                2.85
rm                        0.45                0.45 | 
|  | Let's get some reproducible numbers for
https://github.com/rfjakob/gocryptfs/issues/481
and
https://github.com/rfjakob/gocryptfs/issues/410
Example run:
$ ./sshfs-benchmark.bash nuetzlich.net
working directory: /tmp/sshfs-benchmark.bash.vu4
sshfs mounted: nuetzlich.net:/tmp -> sshfs.mnt
gocryptfs mounted: sshfs.mnt/sshfs-benchmark.bash.KM9/gocryptfs.crypt -> gocryptfs.mnt
                         sshfs  gocryptfs-on-sshfs
git init                  1.68               11.23
rsync                     6.07               20.35 | 
|  | Closes https://github.com/rfjakob/gocryptfs/issues/416 | 
|  | Useful when you have lots of broken mounts after something in
the test suite went wrong. | 
|  | Cli tool to compare the result of Stat() and Fstat(). | 
|  |  | 
|  | This should help debugging
https://github.com/rfjakob/gocryptfs/issues/375 and
https://github.com/rfjakob/gocryptfs/issues/274 ,
as MacOS does not have "stat -f". | 
|  | Mac OS X does not have fusermount and uses umount instead.
The fuse-unmount.bash calls the appropriate command. | 
|  |  | 
|  |  | 
|  |  | 
|  | Conditionally try to mount a gocryptfs filesystem. If either
 * CIPHERDIR does not exist OR
 * something is already mounted on MOUNTPOINT
 print a message to stdout (not stderr!) but exit with 0.
 This is meant to be called from automated mount systems like pam_mount,
 where you want to avoid error messages if the filesystem does not exist,
 or duplicate mounts if the filesystem has already been mounted. | 
|  | The README text has been moved to
https://github.com/rfjakob/gocryptfs/wiki/Mounting-on-login-using-pam_mount
and the gocryptfs_pam_mount.bash is no longer needed since
commit 9cf3ced0ce95495cabd8f4e7055d1c98f42363c9 . | 
|  | pam_mount is supposed to check that as well, but it seems to get confused
by the "command#path" syntax used for FUSE. Let's do it here. | 
|  |  | 
|  | See ticket #34 |