Class: OsCtld::Commands::Container::LocalTransfer::Rootfs
Direct Known Subclasses
Instance Method Summary collapse
Methods inherited from Base
#build_dataset_map, #cleanup_target_container!, #clear_failed_state_snapshot, #complete_target!, #destroy_local_transfer_snapshots, #ensure_target_staged_or_complete!, #find, #force_writeout, #operation, #require_local_transfer_log!, #snapshot_datasets, #snapshot_name, #start_target!, #target_ct, #target_pool, #transfer_dataset, #validate_dataset_layout!
Methods inherited from Logged
Instance Method Details
#execute(ct) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/osctld/commands/container/local_transfer/rootfs.rb', line 5 def execute(ct) manipulate(ct) do log = ct.exclusively do ret = require_local_transfer_log!(ct) error!('invalid local transfer sequence') unless ret.can_local_continue?(:base) ret end target_ct(log) validate_dataset_layout!(ct) snap = snapshot_name(:base) snapshot_datasets(log, snap) ct.exclusively do ct.local_transfer_log.snapshots << snap ct.save_config end log.opts.datasets.each do |pair| transfer_dataset(pair, snap) end ct.exclusively do ct.local_transfer_log.state = :base ct.save_config end end ok end |