Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
Travis Glenn Hansen 2022-06-28 13:05:37 -06:00
parent b83361535d
commit 5a4996ec05
4 changed files with 32 additions and 9 deletions

View File

@ -1,3 +1,18 @@
# v1.7.2
Released 2022-06-28
- support for inode stats
- doc updates
- bump deps
# v1.7.1
Released 2022-06-14
- support for the alpha TrueNAS SCALE 22.12
- Fix invalid class reference
# v1.7.0 # v1.7.0
Released 2022-06-08 Released 2022-06-08

View File

@ -415,16 +415,24 @@ need to be set with helm (support added in chart version `0.6.1`):
### Nomad ### Nomad
`democratic-csi` works with Nomad in a functioning but limted capacity. See the [Nomad docs](docs/nomad.md) for details. `democratic-csi` works with Nomad in a functioning but limted capacity. See the
[Nomad docs](docs/nomad.md) for details.
## Multiple Deployments ## Multiple Deployments
You may install multiple deployments of each/any driver. It requires the following: You may install multiple deployments of each/any driver. It requires the
following:
- Use a new helm release name for each deployment - Use a new helm release name for each deployment
- Make sure you have a unique `csiDriver.name` in the values file - Make sure you have a unique `csiDriver.name` in the values file (within the
same cluster)
- Use unqiue names for your storage classes (per cluster) - Use unqiue names for your storage classes (per cluster)
- Use a unique parent dataset (ie: don't try to use the same parent across deployments or clusters) - Use a unique parent dataset (ie: don't try to use the same parent across
deployments or clusters)
- For `iscsi` and `smb` be aware that the names of assets/shares are _global_
and so collisions are possible/probable. Appropriate use of the respective
`nameTemplate`, `namePrefix`, and `nameSuffix` configuration options will
mitigate the issue (See [#210][i210]).
# Snapshot Support # Snapshot Support

View File

@ -3028,7 +3028,8 @@ class CsiBaseDriver {
]; ];
try { try {
result = await filesystem.getInodeInfo(device_path); result = await filesystem.getInodeInfo(device_path);
if (result) { // not all filesystems use inodes, only utilize if total > 0
if (result && result.inodes_total > 0) {
res.usage.push({ res.usage.push({
available: result.inodes_free, available: result.inodes_free,
total: result.inodes_total, total: result.inodes_total,

View File

@ -844,10 +844,9 @@ class Filesystem {
return { return {
device: parts[0], device: parts[0],
mount_path: parts[5], mount_path: parts[5],
inodes_total: parts[1], inodes_total: parseInt(parts[1]),
inodes_used: parts[2], inodes_used: parseInt(parts[2]),
inodes_used_percentage: parts[4].replace(/[^0-9.]/g, ""), inodes_free: parseInt(parts[3]),
inodes_free: parts[3],
}; };
} }
} catch (err) { } catch (err) {