-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
destroying a snapshot does not attempt unmount #1210
Comments
A misplaced single quote caused the umount command to fail with a syntax error when unmounting snapshots under the .zfs/snapshot control directory. Closes openzfs#1210
Nice find. That cleanly explains why it would fail but not why no error was being logged. It looks like the error code should be returned by the ioctl(). |
I found that I got a 'dataset busy' error when destroying a mounted snapshot with the latest master, but not with rc13. Not sure which commit improved the error reporting. At first I suspected it was 761394b but I tried reverting it and still got the (expected) error. |
Hmm, it might have been addressed in the feature flags patches in particular the async destroy feature. Anyway, your fix is clearly right I'll get it merged. |
94a9bb4 Fix quoting error in unmount command |
A misplaced single quote caused the umount command to fail with a syntax error when unmounting snapshots under the .zfs/snapshot control directory. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#1210
Yes is was fixed by 9ae529e, in particular this line removed a redeclaration of While investigating this I noticed that |
A misplaced single quote caused the umount command to fail with a syntax error when unmounting snapshots under the .zfs/snapshot control directory. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes openzfs#1210
…ates (openzfs#1210) build(deps): bump the patch group Bumps the patch group in /cmd/zfs_object_agent with 5 updates: | Package | From | To | | --- | --- | --- | | [chrono](https://github.com/chronotope/chrono) | `0.4.30` | `0.4.31` | | [libc](https://github.com/rust-lang/libc) | `0.2.147` | `0.2.148` | | [serde_json](https://github.com/serde-rs/json) | `1.0.106` | `1.0.107` | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.66` | `1.0.67` | | [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.11` | `1.0.12` | Updates `chrono` from 0.4.30 to 0.4.31 - [Release notes](https://github.com/chronotope/chrono/releases) - [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md) - [Commits](chronotope/chrono@v0.4.30...v0.4.31) Updates `libc` from 0.2.147 to 0.2.148 - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](rust-lang/libc@0.2.147...0.2.148) Updates `serde_json` from 1.0.106 to 1.0.107 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.106...v1.0.107) Updates `proc-macro2` from 1.0.66 to 1.0.67 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](dtolnay/proc-macro2@1.0.66...1.0.67) Updates `unicode-ident` from 1.0.11 to 1.0.12 - [Release notes](https://github.com/dtolnay/unicode-ident/releases) - [Commits](dtolnay/unicode-ident@1.0.11...1.0.12) --- updated-dependencies: - dependency-name: chrono dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: libc dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: patch - dependency-name: proc-macro2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: patch - dependency-name: unicode-ident dependency-type: indirect update-type: version-update:semver-patch dependency-group: patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The 'zfs destroy' command fails to destroy a snapshot if the snapshot is mounted, but still returns a successful error code. I believe it should attempt to unmount the snapshot and return a 'dataset busy' or similar error if the unmount fails.
To reproduce:
Similarly, recursively destroying a dataset or pool fails if it has a mounted snapshot.
The text was updated successfully, but these errors were encountered: