diff --git a/pkg/storaged/crypto-keyslots.jsx b/pkg/storaged/crypto-keyslots.jsx index 358ea47f6c84..f33d3fc1c267 100644 --- a/pkg/storaged/crypto-keyslots.jsx +++ b/pkg/storaged/crypto-keyslots.jsx @@ -228,7 +228,7 @@ export function get_existing_passphrase(block, just_type) { export function request_passphrase_on_error_handler(dlg, vals, recovered_passphrase, block) { return function (error) { - if (vals.passphrase === undefined) { + if (vals.passphrase === undefined && block) { return (passphrase_test(block, recovered_passphrase) .then(good => { if (!good) diff --git a/pkg/storaged/lvol-tabs.jsx b/pkg/storaged/lvol-tabs.jsx index 719e6c45b674..0ffa303dc043 100644 --- a/pkg/storaged/lvol-tabs.jsx +++ b/pkg/storaged/lvol-tabs.jsx @@ -134,6 +134,9 @@ function perc(ratio) { export class PoolVolTab extends React.Component { render() { const self = this; + const client = self.props.client; + const lvol = self.props.lvol; + const vgroup = client.vgroups[lvol.VolumeGroup]; function rename() { lvol_rename(self.props.lvol); @@ -143,6 +146,17 @@ export class PoolVolTab extends React.Component { grow_dialog(self.props.client, self.props.lvol, { }); } + let grow_excuse = null; + if (vgroup.FreeSize == 0) { + grow_excuse = ( +