kanrisuru 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +17 -0
  3. data/.rubocop.yml +47 -0
  4. data/.rubocop_todo.yml +0 -0
  5. data/CHANGELOG.md +0 -0
  6. data/Gemfile +2 -5
  7. data/LICENSE.txt +1 -1
  8. data/README.md +143 -7
  9. data/Rakefile +5 -3
  10. data/bin/console +4 -3
  11. data/kanrisuru.gemspec +21 -12
  12. data/lib/kanrisuru.rb +41 -2
  13. data/lib/kanrisuru/command.rb +99 -0
  14. data/lib/kanrisuru/core.rb +53 -0
  15. data/lib/kanrisuru/core/archive.rb +154 -0
  16. data/lib/kanrisuru/core/disk.rb +302 -0
  17. data/lib/kanrisuru/core/file.rb +332 -0
  18. data/lib/kanrisuru/core/find.rb +108 -0
  19. data/lib/kanrisuru/core/group.rb +97 -0
  20. data/lib/kanrisuru/core/ip.rb +1032 -0
  21. data/lib/kanrisuru/core/mount.rb +138 -0
  22. data/lib/kanrisuru/core/path.rb +140 -0
  23. data/lib/kanrisuru/core/socket.rb +168 -0
  24. data/lib/kanrisuru/core/stat.rb +104 -0
  25. data/lib/kanrisuru/core/stream.rb +121 -0
  26. data/lib/kanrisuru/core/system.rb +348 -0
  27. data/lib/kanrisuru/core/transfer.rb +203 -0
  28. data/lib/kanrisuru/core/user.rb +198 -0
  29. data/lib/kanrisuru/logger.rb +8 -0
  30. data/lib/kanrisuru/mode.rb +277 -0
  31. data/lib/kanrisuru/os_package.rb +235 -0
  32. data/lib/kanrisuru/remote.rb +10 -0
  33. data/lib/kanrisuru/remote/cluster.rb +95 -0
  34. data/lib/kanrisuru/remote/cpu.rb +68 -0
  35. data/lib/kanrisuru/remote/env.rb +33 -0
  36. data/lib/kanrisuru/remote/file.rb +354 -0
  37. data/lib/kanrisuru/remote/fstab.rb +412 -0
  38. data/lib/kanrisuru/remote/host.rb +191 -0
  39. data/lib/kanrisuru/remote/memory.rb +19 -0
  40. data/lib/kanrisuru/remote/os.rb +87 -0
  41. data/lib/kanrisuru/result.rb +78 -0
  42. data/lib/kanrisuru/template.rb +32 -0
  43. data/lib/kanrisuru/util.rb +40 -0
  44. data/lib/kanrisuru/util/bits.rb +203 -0
  45. data/lib/kanrisuru/util/fs_mount_opts.rb +655 -0
  46. data/lib/kanrisuru/util/os_family.rb +213 -0
  47. data/lib/kanrisuru/util/signal.rb +161 -0
  48. data/lib/kanrisuru/version.rb +3 -1
  49. data/spec/functional/core/archive_spec.rb +228 -0
  50. data/spec/functional/core/disk_spec.rb +80 -0
  51. data/spec/functional/core/file_spec.rb +341 -0
  52. data/spec/functional/core/find_spec.rb +52 -0
  53. data/spec/functional/core/group_spec.rb +65 -0
  54. data/spec/functional/core/ip_spec.rb +71 -0
  55. data/spec/functional/core/path_spec.rb +93 -0
  56. data/spec/functional/core/socket_spec.rb +31 -0
  57. data/spec/functional/core/stat_spec.rb +98 -0
  58. data/spec/functional/core/stream_spec.rb +99 -0
  59. data/spec/functional/core/system_spec.rb +96 -0
  60. data/spec/functional/core/transfer_spec.rb +108 -0
  61. data/spec/functional/core/user_spec.rb +76 -0
  62. data/spec/functional/os_package_spec.rb +75 -0
  63. data/spec/functional/remote/cluster_spec.rb +45 -0
  64. data/spec/functional/remote/cpu_spec.rb +41 -0
  65. data/spec/functional/remote/env_spec.rb +36 -0
  66. data/spec/functional/remote/fstab_spec.rb +76 -0
  67. data/spec/functional/remote/host_spec.rb +68 -0
  68. data/spec/functional/remote/memory_spec.rb +29 -0
  69. data/spec/functional/remote/os_spec.rb +63 -0
  70. data/spec/functional/remote/remote_file_spec.rb +180 -0
  71. data/spec/helper/test_hosts.rb +68 -0
  72. data/spec/hosts.json +92 -0
  73. data/spec/spec_helper.rb +11 -3
  74. data/spec/unit/fstab_spec.rb +22 -0
  75. data/spec/unit/kanrisuru_spec.rb +9 -0
  76. data/spec/unit/mode_spec.rb +183 -0
  77. data/spec/unit/template_spec.rb +13 -0
  78. data/spec/unit/util_spec.rb +177 -0
  79. data/spec/zz_reboot_spec.rb +46 -0
  80. metadata +136 -13
  81. data/spec/kanrisuru_spec.rb +0 -9
@@ -0,0 +1,655 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kanrisuru
4
+ class Util
5
+ class FsMountOpts
6
+ @options_dict = {
7
+ auto: {},
8
+ common: {
9
+ async: 'boolean',
10
+ atime: 'boolean',
11
+ noatime: 'boolean',
12
+ auto: 'boolean',
13
+ noauto: 'boolean',
14
+ context: 'value',
15
+ fscontext: 'value',
16
+ defcontext: 'value',
17
+ rootcontext: 'value',
18
+ defaults: 'boolean',
19
+ dev: 'boolean',
20
+ nodev: 'boolean',
21
+ diratime: 'boolean',
22
+ nodiratime: 'boolean',
23
+ dirsync: 'boolean',
24
+ exec: 'boolean',
25
+ noexec: 'boolean',
26
+ group: 'boolean',
27
+ iversion: 'boolean',
28
+ noiversion: 'boolean',
29
+ mand: 'boolean',
30
+ nomand: 'boolean',
31
+ _netdev: 'boolean',
32
+ nofail: 'boolean',
33
+ relatime: 'boolean',
34
+ norelatime: 'boolean',
35
+ strictatime: 'boolean',
36
+ nostrictatime: 'boolean',
37
+ suid: 'boolean',
38
+ nosuid: 'boolean',
39
+ owner: 'boolean',
40
+ remount: 'boolean',
41
+ ro: 'boolean',
42
+ _rnetdev: 'boolean',
43
+ rw: 'boolean',
44
+ sync: 'boolean',
45
+ user: 'boolean',
46
+ nouser: 'boolean',
47
+ users: 'boolean'
48
+ },
49
+ adfs: {
50
+ uid: 'value',
51
+ gid: 'value',
52
+ ownmask: 'boolean',
53
+ othmask: 'boolean'
54
+ },
55
+ affs: {
56
+ uid: 'value',
57
+ gid: 'value',
58
+ setuid: 'value',
59
+ setgid: 'value',
60
+ mode: 'value',
61
+ protect: 'boolean',
62
+ usemp: 'boolean',
63
+ verbose: 'boolean',
64
+ prefix: 'value',
65
+ volume: 'value',
66
+ reserved: 'value',
67
+ root: 'value',
68
+ bs: 'value',
69
+ grpquota: 'boolean',
70
+ noquota: 'boolean',
71
+ quota: 'boolean',
72
+ usrquota: 'boolean'
73
+ },
74
+ cifs: {
75
+ user: 'value',
76
+ password: 'value',
77
+ credentials: 'value',
78
+ uid: 'value',
79
+ forceuid: 'boolean',
80
+ cruid: 'value',
81
+ gid: 'value',
82
+ forcegid: 'boolean',
83
+ port: 'value',
84
+ servernetbiosname: 'value',
85
+ servern: 'value',
86
+ netbiosname: 'value',
87
+ file_mode: 'value',
88
+ dir_mode: 'value',
89
+ ip: 'value',
90
+ domain: 'value',
91
+ guest: 'boolean',
92
+ iocharset: 'boolean',
93
+ ro: 'boolean',
94
+ rw: 'boolean',
95
+ setuids: 'boolean',
96
+ nosetuids: 'boolean',
97
+ perm: 'boolean',
98
+ noperm: 'boolean',
99
+ dynperm: 'boolean',
100
+ cache: 'value',
101
+ directio: 'boolean',
102
+ strictcache: 'boolean',
103
+ rwpidforward: 'boolean',
104
+ mapchars: 'boolean',
105
+ nomapchars: 'boolean',
106
+ intr: 'boolean',
107
+ nointr: 'boolean',
108
+ hard: 'boolean',
109
+ soft: 'boolean',
110
+ noacl: 'boolean',
111
+ cifsacl: 'boolean',
112
+ backupuid: 'value',
113
+ backupgid: 'value',
114
+ nocase: 'boolean',
115
+ ignorecase: 'boolean',
116
+ sec: 'value',
117
+ nobrl: 'boolean',
118
+ sfu: 'boolean',
119
+ serverino: 'boolean',
120
+ noserverino: 'boolean',
121
+ nounix: 'boolean',
122
+ nouser_xattr: 'boolean',
123
+ rsize: 'value',
124
+ wsize: 'value',
125
+ fsc: 'boolean',
126
+ multiuser: 'boolean',
127
+ actimeo: 'value',
128
+ noposixpaths: 'boolean',
129
+ posixpaths: 'boolean',
130
+ prefixpath: 'value'
131
+ },
132
+ coherent: {},
133
+ debugfs: {},
134
+ devpts: {
135
+ uid: 'value',
136
+ gid: 'value',
137
+ mode: 'value',
138
+ newinstance: 'boolean',
139
+ ptmxmode: 'value'
140
+ },
141
+ ext2: {
142
+ acl: 'boolean',
143
+ noacl: 'boolean',
144
+ bsddf: 'boolean',
145
+ minixdf: 'boolean',
146
+ check: 'value',
147
+ debug: 'boolean',
148
+ errors: 'value',
149
+ grpid: 'boolean',
150
+ bsdgroups: 'boolean',
151
+ nogrpid: 'boolean',
152
+ sysvgroups: 'boolean',
153
+ grpquota: 'boolean',
154
+ noquota: 'boolean',
155
+ quota: 'boolean',
156
+ usrquota: 'boolean',
157
+ nobh: 'boolean',
158
+ nouid32: 'boolean',
159
+ oldalloc: 'boolean',
160
+ orlov: 'boolean',
161
+ resgid: 'value',
162
+ resuid: 'value',
163
+ sb: 'value',
164
+ user_xattr: 'boolean',
165
+ nouser_xattr: 'boolean'
166
+ },
167
+ ext3: {
168
+ acl: 'boolean',
169
+ noacl: 'boolean',
170
+ bsddf: 'boolean',
171
+ minixdf: 'boolean',
172
+ check: 'value',
173
+ debug: 'boolean',
174
+ errors: 'value',
175
+ grpid: 'boolean',
176
+ bsdgroups: 'boolean',
177
+ nogrpid: 'boolean',
178
+ sysvgroups: 'boolean',
179
+ grpquota: 'boolean',
180
+ noquota: 'boolean',
181
+ quota: 'boolean',
182
+ usrquota: 'boolean',
183
+ nobh: 'boolean',
184
+ nouid32: 'boolean',
185
+ oldalloc: 'boolean',
186
+ orlov: 'boolean',
187
+ resgid: 'value',
188
+ resuid: 'value',
189
+ sb: 'value',
190
+ user_xattr: 'boolean',
191
+ nouser_xattr: 'boolean',
192
+ journal: 'value',
193
+ journal_dev: 'value',
194
+ norecovery: 'boolean',
195
+ noload: 'boolean',
196
+ data: 'value',
197
+ barrier: 'value',
198
+ commit: 'value'
199
+ },
200
+ ext4: {
201
+ acl: 'boolean',
202
+ noacl: 'boolean',
203
+ bsddf: 'boolean',
204
+ minixdf: 'boolean',
205
+ check: 'value',
206
+ debug: 'boolean',
207
+ errors: 'value',
208
+ grpid: 'boolean',
209
+ bsdgroups: 'boolean',
210
+ nogrpid: 'boolean',
211
+ sysvgroups: 'boolean',
212
+ grpquota: 'boolean',
213
+ noquota: 'boolean',
214
+ quota: 'boolean',
215
+ usrquota: 'boolean',
216
+ nobh: 'boolean',
217
+ nouid32: 'boolean',
218
+ oldalloc: 'boolean',
219
+ orlov: 'boolean',
220
+ resgid: 'value',
221
+ resuid: 'value',
222
+ sb: 'value',
223
+ user_xattr: 'boolean',
224
+ nouser_xattr: 'boolean',
225
+ journal: 'value',
226
+ journa_dev: 'value',
227
+ norecovery: 'boolean',
228
+ noload: 'boolean',
229
+ data: 'value',
230
+ barrier: 'value',
231
+ nobarrier: 'boolean',
232
+ commit: 'value',
233
+ journal_checksum: 'boolean',
234
+ journal_async_commit: 'boolean',
235
+ inode_readahead_blks: 'value',
236
+ stripe: 'value',
237
+ delalloc: 'boolean',
238
+ nodelalloc: 'boolean',
239
+ max_batch_time: 'value',
240
+ min_batch_time: 'value',
241
+ journal_ioprio: 'value',
242
+ abort: 'boolean',
243
+ auto_da_alloc: 'boolean',
244
+ noauto_da_alloc: 'boolean',
245
+ discard: 'boolean',
246
+ nodiscard: 'boolean',
247
+ resize: 'boolean',
248
+ block_validity: 'boolean',
249
+ noblock_validity: 'boolean',
250
+ dioread_lock: 'boolean',
251
+ dioread_nolock: 'boolean',
252
+ i_version: 'boolean'
253
+ },
254
+ fat: {
255
+ blocksize: 'value',
256
+ uid: 'value',
257
+ gid: 'value',
258
+ umask: 'value',
259
+ dmask: 'value',
260
+ fmask: 'value',
261
+ allow_utime: 'value',
262
+ check: 'value',
263
+ codepage: 'value',
264
+ conv: 'value',
265
+ cvf_format: 'value',
266
+ cvf_option: 'value',
267
+ debug: 'boolean',
268
+ fat: 'value',
269
+ iocharset: 'value',
270
+ tz: 'value',
271
+ quiet: 'boolean',
272
+ showexec: 'boolean',
273
+ sys_immutable: 'boolean',
274
+ flush: 'boolean',
275
+ usefree: 'boolean',
276
+ dots: 'boolean',
277
+ nodots: 'boolean',
278
+ dotsOK: 'value'
279
+ },
280
+ hfs: {
281
+ creator: 'value',
282
+ type: 'value',
283
+ uid: 'value',
284
+ gid: 'value',
285
+ dir_umask: 'value',
286
+ file_umask: 'value',
287
+ umask: 'value',
288
+ session: 'value',
289
+ part: 'value',
290
+ quiet: 'boolean'
291
+ },
292
+ hpfs: {
293
+ uid: 'value',
294
+ gid: 'value',
295
+ umask: 'value',
296
+ case: 'value',
297
+ conv: 'value',
298
+ nocheck: 'boolean'
299
+ },
300
+ iso9660: {
301
+ norock: 'boolean',
302
+ nojoliet: 'boolean',
303
+ check: 'value',
304
+ uid: 'value',
305
+ gid: 'value',
306
+ map: 'value',
307
+ mode: 'value',
308
+ unhide: 'boolean',
309
+ block: 'value',
310
+ conv: 'value',
311
+ cruft: 'boolean',
312
+ session: 'value',
313
+ sbsector: 'value',
314
+ iocharset: 'value',
315
+ utf8: 'boolean'
316
+ },
317
+ jfs: {
318
+ iocharset: 'value',
319
+ resize: 'value',
320
+ nointegrity: 'boolean',
321
+ integrity: 'boolean',
322
+ errors: 'value',
323
+ grpquota: 'boolean',
324
+ noquota: 'boolean',
325
+ quota: 'boolean',
326
+ usrquota: 'boolean'
327
+ },
328
+ minix: {},
329
+ msdos: {
330
+ blocksize: 'value',
331
+ uid: 'value',
332
+ gid: 'value',
333
+ umask: 'value',
334
+ dmask: 'value',
335
+ fmask: 'value',
336
+ allow_utime: 'value',
337
+ check: 'value',
338
+ codepage: 'value',
339
+ conv: 'value',
340
+ cvf_format: 'value',
341
+ cvf_option: 'value',
342
+ debug: 'boolean',
343
+ fat: 'value',
344
+ iocharset: 'value',
345
+ tz: 'value',
346
+ quiet: 'boolean',
347
+ showexec: 'boolean',
348
+ sys_immutable: 'boolean',
349
+ flush: 'boolean',
350
+ usefree: 'boolean',
351
+ dots: 'boolean',
352
+ nodots: 'boolean',
353
+ dotsOK: 'value'
354
+ },
355
+ ncpfs: {},
356
+ nfs: {
357
+ soft: 'boolean',
358
+ hard: 'boolean',
359
+ timeo: 'value',
360
+ retrans: 'value',
361
+ rsize: 'value',
362
+ wsize: 'value',
363
+ ac: 'boolean',
364
+ noac: 'boolean',
365
+ acregmin: 'value',
366
+ acregmax: 'value',
367
+ acdirmin: 'value',
368
+ acdirmax: 'value',
369
+ actimeo: 'value',
370
+ bg: 'boolean',
371
+ fg: 'boolean',
372
+ retry: 'value',
373
+ sec: 'value',
374
+ sharecache: 'boolean',
375
+ nosharecache: 'boolean',
376
+ resvport: 'boolean',
377
+ noresvport: 'boolean',
378
+ lookupcache: 'value',
379
+ proto: 'value',
380
+ udp: 'boolean',
381
+ tcp: 'boolean',
382
+ rdma: 'boolean',
383
+ port: 'value',
384
+ mountport: 'value',
385
+ mountproto: 'value',
386
+ mounthost: 'value',
387
+ mountvers: 'value',
388
+ namlen: 'value',
389
+ nfsvers: 'value',
390
+ vers: 'value',
391
+ lock: 'boolean',
392
+ nolock: 'boolean',
393
+ intr: 'boolean',
394
+ nointr: 'boolean',
395
+ cto: 'boolean',
396
+ nocto: 'boolean',
397
+ acl: 'boolean',
398
+ noacl: 'boolean',
399
+ rdirplus: 'boolean',
400
+ nordirplus: 'boolean',
401
+ local_lock: 'value'
402
+ },
403
+ nfs4: {
404
+ soft: 'boolean',
405
+ hard: 'boolean',
406
+ timeo: 'value',
407
+ retrans: 'value',
408
+ rsize: 'value',
409
+ wsize: 'value',
410
+ ac: 'boolean',
411
+ noac: 'boolean',
412
+ acregmin: 'value',
413
+ acregmax: 'value',
414
+ acdirmin: 'value',
415
+ acdirmax: 'value',
416
+ actimeo: 'value',
417
+ bg: 'boolean',
418
+ fg: 'boolean',
419
+ retry: 'value',
420
+ sec: 'value',
421
+ sharecache: 'boolean',
422
+ nosharecache: 'boolean',
423
+ resvport: 'boolean',
424
+ noresvport: 'boolean',
425
+ lookupcache: 'value',
426
+ minorversion: 'value',
427
+ proto: 'value',
428
+ port: 'value',
429
+ intr: 'boolean',
430
+ nointr: 'boolean',
431
+ cto: 'boolean',
432
+ nocto: 'boolean',
433
+ clientaddr: 'value'
434
+ },
435
+ ntfs: {
436
+ iocharset: 'value',
437
+ nls: 'value',
438
+ utf8: 'boolean',
439
+ uni_xlate: 'value',
440
+ posix: 'value',
441
+ uid: 'value',
442
+ gid: 'value',
443
+ umask: 'value'
444
+ },
445
+ proc: {
446
+ uid: 'value',
447
+ gid: 'value'
448
+ },
449
+ ramfs: {},
450
+ reiserfs: {
451
+ conv: 'boolean',
452
+ hash: 'value',
453
+ hashed_relocation: 'boolean',
454
+ no_unhashed_relocation: 'boolean',
455
+ noborder: 'boolean',
456
+ nolog: 'boolean',
457
+ notail: 'boolean',
458
+ replayonly: 'boolean',
459
+ resize: 'value',
460
+ user_xattr: 'boolean',
461
+ acl: 'boolean',
462
+ barrier: 'value'
463
+ },
464
+ romfs: {},
465
+ squashfs: {},
466
+ smbfs: {
467
+ username: 'value',
468
+ password: 'value',
469
+ credentials: 'value',
470
+ krb: 'boolean',
471
+ uid: 'value',
472
+ gid: 'value',
473
+ port: 'value',
474
+ dmask: 'value',
475
+ fmask: 'value',
476
+ debug: 'value',
477
+ ip: 'value',
478
+ workgroup: 'value',
479
+ sockopt: 'value',
480
+ scope: 'value',
481
+ guest: 'boolean',
482
+ ro: 'boolean',
483
+ rw: 'boolean',
484
+ iocharset: 'value',
485
+ codepage: 'value',
486
+ ttl: 'value'
487
+ },
488
+ sysv: {},
489
+ tmpfs: {
490
+ size: 'value',
491
+ nr_blocks: 'value',
492
+ nr_inodes: 'value',
493
+ mode: 'value',
494
+ uid: 'value',
495
+ gid: 'value',
496
+ mpol: 'value'
497
+ },
498
+ ubifs: {
499
+ bulk_read: 'boolean',
500
+ no_bulk_read: 'boolean',
501
+ chk_data_crc: 'boolean',
502
+ no_chk_data_crc: 'boolean',
503
+ compr: 'value'
504
+ },
505
+ udf: {
506
+ uid: 'value',
507
+ gid: 'value',
508
+ umask: 'value',
509
+ unhide: 'boolean',
510
+ undelete: 'boolean',
511
+ nostrict: 'boolean',
512
+ iocharset: 'boolean',
513
+ bs: 'value',
514
+ novrs: 'boolean',
515
+ session: 'value',
516
+ anchor: 'value',
517
+ volume: 'value',
518
+ partition: 'value',
519
+ lastblock: 'value',
520
+ fileset: 'value',
521
+ rootdir: 'value'
522
+ },
523
+ ufs: {
524
+ ufstype: 'value',
525
+ onerror: 'value'
526
+ },
527
+ umsdos: {
528
+ blocksize: 'value',
529
+ uid: 'value',
530
+ gid: 'value',
531
+ umask: 'value',
532
+ dmask: 'value',
533
+ fmask: 'value',
534
+ allow_utime: 'value',
535
+ check: 'value',
536
+ codepage: 'value',
537
+ conv: 'value',
538
+ cvf_format: 'value',
539
+ cvf_option: 'value',
540
+ debug: 'boolean',
541
+ fat: 'value',
542
+ iocharset: 'value',
543
+ tz: 'value',
544
+ quiet: 'boolean',
545
+ showexec: 'boolean',
546
+ sys_immutable: 'boolean',
547
+ flush: 'boolean',
548
+ usefree: 'boolean',
549
+ dots: 'boolean',
550
+ nodots: 'boolean'
551
+ },
552
+ vfat: {
553
+ blocksize: 'value',
554
+ uid: 'value',
555
+ gid: 'value',
556
+ umask: 'value',
557
+ dmask: 'value',
558
+ fmask: 'value',
559
+ allow_utime: 'value',
560
+ check: 'value',
561
+ codepage: 'value',
562
+ conv: 'value',
563
+ cvf_format: 'value',
564
+ cvf_option: 'value',
565
+ debug: 'boolean',
566
+ fat: 'value',
567
+ iocharset: 'value',
568
+ tz: 'value',
569
+ quiet: 'boolean',
570
+ showexec: 'boolean',
571
+ sys_immutable: 'boolean',
572
+ flush: 'boolean',
573
+ usefree: 'boolean',
574
+ dots: 'boolean',
575
+ nodots: 'boolean',
576
+ uni_xlate: 'boolean',
577
+ posix: 'boolean',
578
+ nonumtail: 'boolean',
579
+ utf8: 'boolean',
580
+ shortname: 'value'
581
+ },
582
+ usbfs: {
583
+ devuid: 'value',
584
+ devgid: 'value',
585
+ devmode: 'value',
586
+ busuid: 'value',
587
+ busgid: 'value',
588
+ busmode: 'value',
589
+ listuid: 'value',
590
+ listgid: 'value',
591
+ listmode: 'value'
592
+ },
593
+ xenix: {},
594
+ xfs: {
595
+ allocsize: 'value',
596
+ attr2: 'boolean',
597
+ noattr2: 'boolean',
598
+ barrier: 'boolean',
599
+ dmapi: 'boolean',
600
+ grpid: 'boolean',
601
+ bsdgroups: 'boolean',
602
+ nogrpid: 'boolean',
603
+ sysvgroups: 'boolean',
604
+ ihashsize: 'value',
605
+ ikeep: 'boolean',
606
+ noikeep: 'boolean',
607
+ inode64: 'boolean',
608
+ largeio: 'boolean',
609
+ nolargeio: 'boolean',
610
+ logbufs: 'value',
611
+ logbsize: 'value',
612
+ logdev: 'value',
613
+ rtdev: 'value',
614
+ mtpt: 'value',
615
+ noalign: 'boolean',
616
+ noatime: 'boolean',
617
+ norecovery: 'boolean',
618
+ nouuid: 'boolean',
619
+ osyncisosync: 'boolean',
620
+ uquota: 'boolean',
621
+ usrquota: 'boolean',
622
+ uqnoenforce: 'boolean',
623
+ quota: 'boolean',
624
+ gquota: 'boolean',
625
+ grpquota: 'boolean',
626
+ gqnoenforce: 'boolean',
627
+ pquota: 'boolean',
628
+ prjquota: 'boolean',
629
+ pqnoenforce: 'boolean',
630
+ sunit: 'value',
631
+ swidth: 'value',
632
+ swalloc: 'boolean'
633
+ },
634
+ loop: {
635
+ loop: 'value',
636
+ offset: 'value',
637
+ sizelimit: 'value',
638
+ encryption: 'value'
639
+ }
640
+ }
641
+
642
+ def self.get_device(key)
643
+ @options_dict[key.to_sym]
644
+ end
645
+
646
+ def self.get_device_opt(key, value)
647
+ @options_dict[key.to_sym][value]
648
+ end
649
+
650
+ def self.[](key)
651
+ @options_dict[key.to_sym]
652
+ end
653
+ end
654
+ end
655
+ end