Releases: gboudreau/Greyhole
Releases · gboudreau/Greyhole
0.13.2
0.13.1
0.13.0
New features
- New command:
greyhole --mv
(beta; requires more testing) - Allows you to move data from one Greyhole share to another without copying the data through the Samba shares - Detect and fix bitrot/silent errors; requires a new cron job; see near the end of USAGE file Fixes #199
- New command:
greyhole --print-fsck
: Print the fsck report for the last completed fsck task. This will print the same content that is sent by email when the--email-report
option is used. - Refactored FSCK report code; new layout for the 'all shares' fsck that runs weekly
Improvements
greyhole-dfree
(used by Samba to calculate free space) should take into account thenum_copies
option of the share; i.e.real free space = 1 GB, num_copies = 4
=> available free space on Samba share = 250 MB; also added-h
parameter to greyhole-dfree executable Fixes #156- Save recent log entries in DB; use that in
greyhole --status
Fixes #114; Fixes #102 - Allow restarting Samba & Greyhole when running in Docker
- Mention
allow insecure wide links = yes
as an alternative tounix extensions = no
in USAGE file Ref: #192
Bugfixes
- Correctly attribute write/close tasks; using the file handle (fd) was not enough; using the full path now
- When a write task is logged, and no opened-for-writing task is in the DB, create it! Fixes issue where Greyhole would think a file is closed without being written to, when that is not the case.
- When two spooled files (created by Samba VFS module) have the exact same modification time (to the microsecond!), ensure they are executed in the correct order: open, writes, close
- When running
--fsck --disk-usage-report
, correctly update 'parents' du_stats, when deleting the checked folder's du_stats --iostat
was missing storage pool drives on un-numbered partitions (eg. whole-drive XFS partition on/dev/sdb
); also added timestamps to output, updates are more frequent (5s instead of 10s), and sorted the storage pool drives in alphabetical order- Correctly balance storage pool drives, when
drive_selection_groups
are configured: will balance the drives in each group amongst themselves only, instead of trying to balance all the drives together. Fixes #198 greyhole --process-spool
logged warnings because Metastore backups config was uninitialized- If the Samba VFS symlink is missing/not working, and the expected target is also missing, download it from Github
greyhole --logs
should not watch both .log and .err, as .log will always contains all the same logs as .err- Install script: ensure
gnupg
package is installed; it is required forapt-get add
Fixes #227 build_vfs
script: try to install the required dependencies, before trying to build Ref: #223lsof
file-locked check was not working in Docker (Alpine Linux), because-M
flag is not available
Various code improvement & refactoring
- Removing old files; shellcheck; fixed white-space in shell scripts (was a mix of tabs and spaces)
- Updated .patch to Samba 4.11 & 4.12 VFS module (was not working on Alpine 3.11 & Alpine Edge - 3.12)
- WIP: VFS module for Samba 4.13 (untested)
- Simplified manual INSTALL instructions about Samba VFS module; just need the correct binary in the LIB dir; daemon will take care of created the required symlink pointing there
- Moved build-related files into build/ sub-directory
- Create new Docker images during build
- Faster re-building Samba VFS modules, on build servers
0.12.3
0.12.2
- Updated instructions for latest Ubuntu
- Better error logging when build_vfs.sh fails on ./configure
- Allow installation of old versions from deb repo (v0.12, v0.11) Ref: #225
- shellcheck for install script
- deb repo: use generic labels for component name of previous versions
- New config options: calculate_md5 and parallel_copying (default to yes) Ref: #225
- Bugfix: when a target storage drive file copy is on the same drive as the source file (most probably the LZ), skip this file when creating file copies in parallel; it will be copied afterwards using a rename Ref #225
0.12.1
0.12.0
- Improvement: when multiple file copies are needed, create them in parallel using: cat source_file | tee target1 target2... Fixes #94
- Removed "Saving metadata in ..." log; too much spam, and serves no real purpose
- Create FUNDING.yml
- Update FUNDING.yml
- Verify that 'testparm -s' returns something, else log a relevant critical error Fixes #221
0.11.2
0.11.1
0.11.0
- Build script: ensure .deb packages are created using GZip, (not XZ Utils) - DPKG repository doesn't work with *.xz files (yet)
- When we want to restart the daemon, use supervisorctl, if Greyhole is running in a docker container using supervisord
- Disk Usage web-app: remove prefix (current path) from chart
- Added note about creating Samba users, and testing Samba shares before enabling Greyhole VFS
- 'greyhole --logs' would output a warning in the error log (if one is defined in the config) was non-existent
- Improvement: when executing a 'write' tasks, remove future 'write' tasks that are duplicates; i.e. don't execute multiple write tasks if only one would be enough
- Removing php-mbstring dependency; it's already in the install script, and I added it to the INSTALL instructions Fixes #214
- New: log files checksums in DB, when new copies are created, or when checksums are checked (--fsck --checksums)
- fsck checksums threads: re-start the ones that are missing; don't wait for ALL of them to disappear
- Bugfix: When re-creating a file copy because its checksum is different, first make sure the storage pool drive has enough free space for this new file copy; if not, schedule to fsck_file task to create another file copy elsewhere
- Pretty big code refactoring; some minor fixes too
- Small code improvements; mostly fixing IDE warnings
- Bugfix: don't try to manually escape values to inject into a SQL query! Use dynamic parameters instead.
- Test cases script: small code improvements
- Code change to support PHP 7.4