~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/device-mapper/striped.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/device-mapper/striped.rst (Architecture ppc) and /Documentation/admin-guide/device-mapper/striped.rst (Architecture i386)


  1 =========                                           1 =========
  2 dm-stripe                                           2 dm-stripe
  3 =========                                           3 =========
  4                                                     4 
  5 Device-Mapper's "striped" target is used to cr      5 Device-Mapper's "striped" target is used to create a striped (i.e. RAID-0)
  6 device across one or more underlying devices.       6 device across one or more underlying devices. Data is written in "chunks",
  7 with consecutive chunks rotating among the und      7 with consecutive chunks rotating among the underlying devices. This can
  8 potentially provide improved I/O throughput by      8 potentially provide improved I/O throughput by utilizing several physical
  9 devices in parallel.                                9 devices in parallel.
 10                                                    10 
 11 Parameters: <num devs> <chunk size> [<dev path     11 Parameters: <num devs> <chunk size> [<dev path> <offset>]+
 12     <num devs>:                                    12     <num devs>:
 13         Number of underlying devices.              13         Number of underlying devices.
 14     <chunk size>:                                  14     <chunk size>:
 15         Size of each chunk of data. Must be at     15         Size of each chunk of data. Must be at least as
 16         large as the system's PAGE_SIZE.           16         large as the system's PAGE_SIZE.
 17     <dev path>:                                    17     <dev path>:
 18         Full pathname to the underlying block-     18         Full pathname to the underlying block-device, or a
 19         "major:minor" device-number.               19         "major:minor" device-number.
 20     <offset>:                                      20     <offset>:
 21         Starting sector within the device.         21         Starting sector within the device.
 22                                                    22 
 23 One or more underlying devices can be specifie     23 One or more underlying devices can be specified. The striped device size must
 24 be a multiple of the chunk size multiplied by      24 be a multiple of the chunk size multiplied by the number of underlying devices.
 25                                                    25 
 26                                                    26 
 27 Example scripts                                    27 Example scripts
 28 ===============                                    28 ===============
 29                                                    29 
 30 ::                                                 30 ::
 31                                                    31 
 32   #!/usr/bin/perl -w                               32   #!/usr/bin/perl -w
 33   # Create a striped device across any number      33   # Create a striped device across any number of underlying devices. The device
 34   # will be called "stripe_dev" and have a chu     34   # will be called "stripe_dev" and have a chunk-size of 128k.
 35                                                    35 
 36   my $chunk_size = 128 * 2;                        36   my $chunk_size = 128 * 2;
 37   my $dev_name = "stripe_dev";                     37   my $dev_name = "stripe_dev";
 38   my $num_devs = @ARGV;                            38   my $num_devs = @ARGV;
 39   my @devs = @ARGV;                                39   my @devs = @ARGV;
 40   my ($min_dev_size, $stripe_dev_size, $i);        40   my ($min_dev_size, $stripe_dev_size, $i);
 41                                                    41 
 42   if (!$num_devs) {                                42   if (!$num_devs) {
 43           die("Specify at least one device\n")     43           die("Specify at least one device\n");
 44   }                                                44   }
 45                                                    45 
 46   $min_dev_size = `blockdev --getsz $devs[0]`;     46   $min_dev_size = `blockdev --getsz $devs[0]`;
 47   for ($i = 1; $i < $num_devs; $i++) {             47   for ($i = 1; $i < $num_devs; $i++) {
 48           my $this_size = `blockdev --getsz $d     48           my $this_size = `blockdev --getsz $devs[$i]`;
 49           $min_dev_size = ($min_dev_size < $th     49           $min_dev_size = ($min_dev_size < $this_size) ?
 50                           $min_dev_size : $thi     50                           $min_dev_size : $this_size;
 51   }                                                51   }
 52                                                    52 
 53   $stripe_dev_size = $min_dev_size * $num_devs     53   $stripe_dev_size = $min_dev_size * $num_devs;
 54   $stripe_dev_size -= $stripe_dev_size % ($chu     54   $stripe_dev_size -= $stripe_dev_size % ($chunk_size * $num_devs);
 55                                                    55 
 56   $table = "0 $stripe_dev_size striped $num_de     56   $table = "0 $stripe_dev_size striped $num_devs $chunk_size";
 57   for ($i = 0; $i < $num_devs; $i++) {             57   for ($i = 0; $i < $num_devs; $i++) {
 58           $table .= " $devs[$i] 0";                58           $table .= " $devs[$i] 0";
 59   }                                                59   }
 60                                                    60 
 61   `echo $table | dmsetup create $dev_name`;        61   `echo $table | dmsetup create $dev_name`;
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php