1 #
2 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3 # Use is subject to license terms.
4 #
5
6 #
7 # BSD 3 Clause License
8 #
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions
11 # are met:
12 # - Redistributions of source code must retain the above copyright
13 # notice, this list of conditions and the following disclaimer.
14 #
15 # - Redistributions in binary form must reproduce the above copyright
16 # notice, this list of conditions and the following disclaimer in
17 # the documentation and/or other materials provided with the
18 # distribution.
19 #
20 # - Neither the name of Sun Microsystems, Inc. nor the
21 # names of its contributors may be used to endorse or promote products
22 # derived from this software without specific prior written permission.
23 #
24 # THIS SOFTWARE IS PROVIDED BY SUN MICROSYSTEMS, INC. "AS IS" AND ANY
25 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 # DISCLAIMED. IN NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY
28 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES
30 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 #
35
36 #
37 # This file contains all the sub routines for the
38 # MOVER interface methods. Each Method tests different
39 # error conditions depending on the input file
40 #
41 #
42 # Copyright 2015 Nexenta Systems, Inc. All rights reserved.
43 #
44
45 use strict;
46 use warnings;
47
48 our $log_flag = 1;
49 our $fs_name = $ENV{'NDMP_FS'};
50 our $option = "cli";
51
52 sub mover_abort_ise {
53 my $interface = "mover_abort";
54 my $error = "NDMP_ILLEGAL_STATE_ERR";
55 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
56 ndmp_execute::ndmp_execute_cli(\%args);
57 }
58
59 sub mover_abort_nae {
60 my $interface = "mover_abort";
61 my $error = "NDMP_NOT_AUTHORIZED_ERR";
62 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
63 ndmp_execute::ndmp_execute_cli(\%args);
64
65 }
66 sub mover_abort_nne {
67 my $interface = "mover_abort";
68 my $error = "NDMP_NO_ERR";
69 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
70 ndmp_execute::ndmp_execute_cli(\%args);
71 }
72 sub mover_close_nne {
73 my $interface = "mover_close";
74 my $error = "NDMP_NO_ERR";
75 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
76 ndmp_execute::ndmp_execute_cli(\%args);
77 }
78 sub mover_close_nae {
79 my $interface = "mover_close";
80 my $error = "NDMP_NOT_AUTHORIZED_ERR";
81 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
82 ndmp_execute::ndmp_execute_cli(\%args);
83 }
84 sub mover_close_ise {
85 my $interface = "mover_close";
86 my $error = "NDMP_ILLEGAL_STATE_ERR";
87 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
88 ndmp_execute::ndmp_execute_cli(\%args);
89 }
90 sub mover_connect_ce {
91 my $interface = "mover_connect";
92 my $error = "NDMP_CONNECT_ERR";
93 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
94 ndmp_execute::ndmp_execute_cli(\%args);
95 }
96 sub mover_connect_dnoe {
97 my $interface = "mover_connect";
98 my $error = "NDMP_DEVICE_NOT_OPEN_ERR";
99 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
100 ndmp_execute::ndmp_execute_cli(\%args);
101
102 }
103 sub mover_connect_ise {
104 my $interface = "mover_connect";
105 my $error = "NDMP_ILLEGAL_STATE_ERR";
106 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
107 ndmp_execute::ndmp_execute_cli(\%args);
108
109 }
110 sub mover_connect_nae {
111 my $interface = "mover_connect";
112 my $error = "NDMP_NOT_AUTHORIZED_ERR";
113 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
114 ndmp_execute::ndmp_execute_cli(\%args);
115 }
116 sub mover_connect_nne {
117 my $interface = "mover_connect";
118 my $error = "NDMP_NO_ERR";
119 my @conn_type = ("NDMP_ADDR_LOCAL","NDMP_ADDR_TCP");
120 my $conn = "NDMP_ADDR_LOCAL";
121 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'addr_type',$conn);
122 foreach $conn (@conn_type) {
123 $args{'addr_type'} = $conn;
124 ndmp_execute::ndmp_execute_cli(\%args);
125 }
126 }
127 sub mover_connect_pe {
128 my $interface = "mover_connect";
129 my $error = "NDMP_PERMISSION_ERR";
130 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
131 ndmp_execute::ndmp_execute_cli(\%args);
132 }
133 sub mover_continue_nne {
134 my $interface = "mover_continue";
135 my $error = "NDMP_NO_ERR";
136 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
137 ndmp_execute::ndmp_execute_cli(\%args);
138
139 }
140 sub mover_continue_ise {
141 my $interface = "mover_continue";
142 my $error = "NDMP_ILLEGAL_STATE_ERR";
143 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
144 ndmp_execute::ndmp_execute_cli(\%args);
145 }
146
147 sub mover_continue_nae {
148 my $interface = "mover_continue";
149 my $error = "NDMP_NOT_AUTHORIZED_ERR";
150 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
151 ndmp_execute::ndmp_execute_cli(\%args);
152 }
153 sub mover_continue_pe {
154 my $interface = "mover_continue";
155 my $error = "NDMP_PRECONDITION_ERR";
156 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
157 ndmp_execute::ndmp_execute_cli(\%args);
158 }
159 sub mover_get_state_nae {
160 my $interface = "mover_get_state";
161 my $error = "NDMP_NOT_AUTHORIZED_ERR";
162 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
163 ndmp_execute::ndmp_execute_cli(\%args);
164
165 }
166 sub mover_get_state_nne {
167 my $interface = "mover_get_state";
168 my $error = "NDMP_NO_ERR";
169 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
170 ndmp_execute::ndmp_execute_cli(\%args);
171
172 }
173 sub mover_listen_dnoe {
174 my $interface = "mover_listen";
175 my $error = "NDMP_DEV_NOT_OPEN_ERR";
176 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
177 ndmp_execute::ndmp_execute_cli(\%args);
178
179 }
180 sub mover_listen_iae {
181 my $interface = "mover_listen";
182 my $error = "NDMP_ILLEGAL_ARGS_ERR";
183 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
184 ndmp_execute::ndmp_execute_cli(\%args);
185
186 }
187 sub mover_listen_ise {
188 my $interface = "mover_listen";
189 my $error = "NDMP_ILLEGAL_STATE_ERR";
190 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
191 ndmp_execute::ndmp_execute_cli(\%args);
192
193 }
194 sub mover_listen_nae {
195 my $interface = "mover_listen";
196 my $error = "NDMP_NOT_AUTHORIZED_ERR";
197 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
198 ndmp_execute::ndmp_execute_cli(\%args);
199
200 }
201 sub mover_listen_nne {
202 my $interface = "mover_listen";
203 my $error = "NDMP_NO_ERR";
204 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
205 ndmp_execute::ndmp_execute_cli(\%args);
206 }
207 sub mover_listen_pe {
208 my $interface = "mover_listen";
209 my $error = "NDMP_PERMISSION_ERR";
210 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
211 ndmp_execute::ndmp_execute_cli(\%args);
212
213 }
214 sub mover_read_iae {
215 my $interface = "mover_read";
216 my $error = "NDMP_ILLEGAL_ARGS_ERR";
217 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
218 ndmp_execute::ndmp_execute_cli(\%args);
219
220 }
221 sub mover_read_ise {
222 my $interface = "mover_read";
223 my $error = "NDMP_ILLEGAL_STATE_ERR";
224 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
225 ndmp_execute::ndmp_execute_cli(\%args);
226
227 }
228 sub mover_read_nae {
229 my $interface = "mover_read";
230 my $error = "NDMP_NOT_AUTHORIZED_ERR";
231 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
232 ndmp_execute::ndmp_execute_cli(\%args);
233
234 }
235 sub mover_read_nne {
236 my $interface = "mover_read";
237 my $error = "NDMP_NO_ERR";
238 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
239 ndmp_execute::ndmp_execute_cli(\%args);
240
241 }
242 sub mover_read_rip {
243 my $interface = "mover_read";
244 my $error = "NDMP_READ_IN_PROGRESS_ERR";
245 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
246 ndmp_execute::ndmp_execute_cli(\%args);
247
248 }
249 sub mover_set_record_size_iae {
250 my $interface = "mover_set_record_size";
251 my $error = "NDMP_ILLEGAL_ARGS_ERR";
252 my $record_size = 0;
253 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'rec_size',$record_size);
254 ndmp_execute::ndmp_execute_cli(\%args);
255 }
256 sub mover_set_record_size_ise {
257 my $interface = "mover_set_record_size";
258 my $record_size = 8192;
259 my $error = "NDMP_ILLEGAL_STATE_ERR";
260 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'rec_size',$record_size);
261 ndmp_execute::ndmp_execute_cli(\%args);
262
263 }
264 sub mover_set_record_size_nae {
265 my $interface = "mover_set_record_size";
266 my $error = "NDMP_NOT_AUTHORIZED_ERR";
267 my $record_size = 8192;
268 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'rec_size',$record_size);
269 ndmp_execute::ndmp_execute_cli(\%args);
270
271 }
272 sub mover_set_record_size_nne {
273 my $interface = "mover_set_record_size";
274 my $error = "NDMP_NO_ERR";
275 my @rec_sizes = (1,8192,4294967294,4294967295);
276 my $record_size=1;
277 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'rec_size',$record_size);
278 foreach my $rec_size (@rec_sizes) {
279 $args{'rec_size'} = $rec_size;
280 ndmp_execute::ndmp_execute_cli(\%args);
281 }
282 }
283 sub mover_set_window_size_iae {
284 my $interface = "mover_set_window_size";
285 my $error = "NDMP_ILLEGAL_ARGS_ERR";
286 my $win_size = 0;
287 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'win_size',$win_size);
288 ndmp_execute::ndmp_execute_cli(\%args);
289 }
290 sub mover_set_window_size_ise {
291 my $interface = "mover_set_window_size";
292 my $error = "NDMP_ILLEGAL_STATE_ERR";
293 my $win_size = 8192;
294 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'win_size',$win_size);
295 ndmp_execute::ndmp_execute_cli(\%args);
296
297 }
298 sub mover_set_window_size_nae {
299 my $interface = "mover_set_window_size";
300 my $error = "NDMP_NOT_AUTHORIZED_ERR";
301 my $win_size = 8192;
302 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'win_size',$win_size);
303 ndmp_execute::ndmp_execute_cli(\%args);
304
305 }
306 sub mover_set_window_size_nne {
307 my $interface = "mover_set_window_size";
308 my $error = "NDMP_NO_ERR";
309 my @win_sizes = (1,8192,4294967294,4294967295);
310 my $win_size = 1;
311 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'win_size',$win_size);
312 foreach my $window (@win_sizes) {
313 $args{'win_size'} = $window;
314 ndmp_execute::ndmp_execute_cli(\%args);
315 }
316 }
317 sub mover_set_window_size_pce {
318 my $interface = "mover_set_window_size";
319 my $error = "NDMP_PRECONDITION_ERR";
320 my $win_size = 8192;
321 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error,'win_size',$win_size);
322 ndmp_execute::ndmp_execute_cli(\%args);
323
324 }
325 sub mover_stop_ise {
326 my $interface = "mover_stop";
327 my $error = "NDMP_ILLEGAL_STATE_ERR";
328 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
329 ndmp_execute::ndmp_execute_cli(\%args);
330
331 }
332 sub mover_stop_nae {
333 my $interface = "mover_stop";
334 my $error = "NDMP_NOT_AUTHORIZED_ERR";
335 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
336 ndmp_execute::ndmp_execute_cli(\%args);
337 }
338 sub mover_stop_nne {
339 my $interface = "mover_stop";
340 my $error = "NDMP_NO_ERR";
341 my %args = ('fs',$fs_name,'option',$option,'inf',$interface,'err',$error);
342 ndmp_execute::ndmp_execute_cli(\%args);
343 }
344 1;