Skip to content

Commit

Permalink
Package v1.2.0-1
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuaboud committed Dec 7, 2021
2 parents eefaf35 + f763e29 commit 17a9df0
Show file tree
Hide file tree
Showing 99 changed files with 7,473 additions and 3,732 deletions.
87 changes: 87 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
AccessModifierOffset: '-4'
AlignAfterOpenBracket: Align
AlignConsecutiveBitFields: AcrossEmptyLinesAndComments
AlignConsecutiveMacros: 'true'
AlignConsecutiveAssignments: 'false'
AlignConsecutiveDeclarations: 'false'
AlignEscapedNewlines: DontAlign
AlignOperands: AlignAfterOperator
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'true'
AllowAllConstructorInitializersOnNextLine: 'false'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortBlocksOnASingleLine: 'false'
AllowShortCaseLabelsOnASingleLine: 'false'
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: 'false'
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: 'true'
AlwaysBreakTemplateDeclarations: 'Yes'
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakAfterJavaFieldAnnotations: 'true'
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: 'true'
AfterClass: 'false'
AfterControlStatement: Never
AfterEnum: 'false'
AfterFunction: 'false'
AfterNamespace: 'false'
AfterStruct: 'false'
AfterUnion: 'false'
AfterExternBlock: 'false'
BeforeCatch: 'false'
BeforeElse: 'false'
BeforeLambdaBody: 'false'
BeforeWhile: 'false'
BreakBeforeTernaryOperators: 'true'
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
BreakStringLiterals: 'false'
ColumnLimit: '100'
CompactNamespaces: 'false'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
Cpp11BracedListStyle: 'false'
EmptyLineBeforeAccessModifier: Never
FixNamespaceComments: 'true'
IncludeBlocks: Regroup
IndentCaseLabels: 'true'
IndentExternBlock: Indent
IndentPPDirectives: AfterHash
IndentWidth: '4'
JavaScriptQuotes: Leave
JavaScriptWrapImports: 'true'
KeepEmptyLinesAtTheStartOfBlocks: 'false'
Language: Cpp
MaxEmptyLinesToKeep: '1'
NamespaceIndentation: All
PointerAlignment: Right
ReflowComments: 'true'
SortIncludes: 'true'
SortUsingDeclarations: 'true'
SpaceAfterCStyleCast: 'false'
SpaceAfterLogicalNot: 'false'
SpaceAfterTemplateKeyword: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCpp11BracedList: 'false'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: 'true'
SpaceInEmptyParentheses: 'false'
SpacesBeforeTrailingComments: '1'
SpacesInAngles: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInContainerLiterals: 'false'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
Standard: Cpp11
TabWidth: '4'
UseTab: ForContinuationAndIndentation

...
6 changes: 5 additions & 1 deletion .github/workflows/build-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Get Submodules
run: |
git submodule init
git submodule update
- name: Package Binaries
run: build-packages ${{github.repository}} ${{github.workspace}}
- name: Set Variables
Expand Down Expand Up @@ -38,4 +42,4 @@ jobs:
run: update-repositories ${{github.workspace}}
- name: Publish Repository
if: startsWith(github.ref, 'refs/tags/')
run: publish-repo
run: publish-repo
35 changes: 35 additions & 0 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Publish Docs

# Trigger this when a pull request is merged (which implies pushing to master).
on:
push:
branches:
- master

jobs:
api-doc:
runs-on: self-hosted
steps:
- name: Git Checkout
uses: actions/checkout@v2
- name: Create clean gh-pages branch
run: git checkout -b gh-pages
- name: Generate autodocs
run: |
make clean-docs
make docs
- name: Copy homepage
run: cp doc/index.md index.md
- name: Add generated autodocs to Git repo in the gh-pages branch
run: |
export HOME=/root
git add dev-doc index.md -f
git commit -am "Generated API doc"
git push -f origin gh-pages:gh-pages
- name: Result URLs
run: |
REPO_OWNER=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1)
REPO_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 2)
echo "Formatted dev docs: https://$REPO_OWNER.github.io/$REPO_NAME/dev-doc"
echo ""
echo "GitHub pages branch: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/tree/gh-pages"
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,10 @@ dist

# tests
test_db

# code
.vscode/
.ccls-cache/

# doxygen
dev-doc/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/rocksdb"]
path = src/rocksdb
url = https://github.com/facebook/rocksdb.git
14 changes: 12 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## Autotier 1.1.6-3
## Autotier 1.2.0-1

* Add postinst script to add autotier group
* Switch from unique config parser class to lib45d ConfigParser.
* Use lib45d Bytes and Quota classes to clean up math while tiering.
* Make CLI commands more reliable with lib45d Unix domain socket classes in place of FIFOs.
* Fixed bug where statfs() improperly reported fs size and usage.
* Fix deadlock issue while tiering files.
* Overhauled tiering algorithm to better fill high priority tiers.
* Fixed reporting in statfs() and df.
* Made file creation and opening more reliable.
* Tiering triggered by being over quota in release() now happens asynchronously.
* Accounts for files being opened by more than one process while preventing movement across tiers.
* Fix abort on unmount from rocksdb being opened in main thread by deferring opening to fuse init method.
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@ A passthrough FUSE filesystem that intelligently moves files between storage tie

## Installation
### Ubuntu Focal
1. Get deb: `$ wget https://github.com/45Drives/autotier/releases/download/v1.1.6/autotier_1.1.6-3focal_amd64.deb`
1. Install deb: `# apt install ./autotier_1.1.6-3focal_amd64.deb`
1. Get deb: `$ wget https://github.com/45Drives/autotier/releases/download/v1.2.0/autotier_1.2.0-1focal_amd64.deb`
1. Install deb: `# apt install ./autotier_1.2.0-1focal_amd64.deb`
1. [Edit configuration file.](#configuration)
1. [Mount filesystem.](#mounting)
1. Optionally add user to `autotier` group to allow non-root users to run CLI commands:
* `# usermod -aG autotier <user>` (takes effect on next login)

### Debian Bullseye
1. Get deb: `$ wget https://github.com/45Drives/autotier/releases/download/v1.1.6/autotier_1.1.6-3bullseye_amd64.deb`
1. Install deb: `# apt install ./autotier_1.1.6-3bullseye_amd64.deb`
1. Get deb: `$ wget https://github.com/45Drives/autotier/releases/download/v1.2.0/autotier_1.2.0-1bullseye_amd64.deb`
1. Install deb: `# apt install ./autotier_1.2.0-1bullseye_amd64.deb`
1. [Edit configuration file.](#configuration)
1. [Mount filesystem.](#mounting)
1. Optionally add user to `autotier` group to allow non-root users to run CLI commands:
* `# usermod -aG autotier <user>` (takes effect on next login)

### EL8
1. Install rpm: `# dnf install https://github.com/45Drives/autotier/releases/download/v1.1.6/autotier-1.1.6-3.el8.x86_64.rpm`
1. Install rpm: `# dnf install https://github.com/45Drives/autotier/releases/download/v1.2.0/autotier-1.2.0-1.el8.x86_64.rpm`
1. [Edit configuration file.](#configuration)
1. [Mount filesystem.](#mounting)
1. Optionally add user to `autotier` group to allow non-root users to run CLI commands:
Expand All @@ -40,7 +40,7 @@ A passthrough FUSE filesystem that intelligently moves files between storage tie
```# apt install libfuse3-dev libboost-system-dev libboost-filesystem-dev libboost-serialization-dev librocksdb-dev libtbb-dev```
1. `$ git clone https://github.com/45drives/autotier`
1. `$ cd autotier`
1. `$ git checkout <version>` (v1.1.6 is the latest tag)
1. `$ git checkout <version>` (v1.2.0 is the latest tag)
1. `$ make -j8` (or `make -j8 no-par-sort` to use c++11 instead of c++17)
1. `# make install`
1. [Edit configuration file.](#configuration)
Expand Down Expand Up @@ -172,6 +172,9 @@ Then in the cron entry, call `autotier oneshot`.
## Notes
### File Path Conflicts
If autotier is set up with tiers that already contain files, there is a chance that you could have more than one file with the same path relative to the tier root. In the event of a collision during file movement while tiering, the file that is already in the tier is left untouched and the incoming file has `.autotier_conflict.<original tier name>` appended to the file name. `autotier status` will list any file conflicts found.
### Development Documentation
Development documentation (generated by Doxygen) can be found [here](https://45drives.github.io/autotier/dev-doc/index.html)


---
```
Expand Down
Loading

0 comments on commit 17a9df0

Please sign in to comment.