Loading ...
Sorry, an error occurred while loading the content.

Raid1 on Unslung 6

Expand Messages
  • duncanolesen
    Has anybody successfully implemented a RAID1 using uNSLUng 6.8 beta? I have been following the HowTo: Raid1onUnslung5, but there appears to have been a change
    Message 1 of 8 , Jul 2, 2006
    • 0 Attachment
      Has anybody successfully implemented a RAID1 using uNSLUng 6.8 beta?

      I have been following the HowTo: Raid1onUnslung5, but there appears to
      have been a change to the /initrd/linuxrc file between versions 5 and
      6.8. In particular the HowTo says 'replace "/bin/mount -rt ext3
      /dev/$prefroot /mnt" with these 9 lines:', but the corresponding line
      in the 6.8 version is 'if /bin/mount -rt ext3 /dev/$prefroot /mnt ;
      then'. I have not worked out how to change the linuxrc file
      successfully so that it does not crash the slug with no disks
      attached, the original unslung disk attached or with the new raid disk
      attached. I always have to reflash the firmware.

      Any suggestions will be gratefully received.
    • bullfrog528
      ... to ... and ... line ... disk ... Personally I would replace the whole block of code that is trying to mount /mnt on either sda1 or sdb1 to mount on the
      Message 2 of 8 , Jul 3, 2006
      • 0 Attachment
        --- In nslu2-linux@yahoogroups.com, "duncanolesen" <duncanolesen@...>
        wrote:
        >
        > Has anybody successfully implemented a RAID1 using uNSLUng 6.8 beta?
        >
        > I have been following the HowTo: Raid1onUnslung5, but there appears
        to
        > have been a change to the /initrd/linuxrc file between versions 5
        and
        > 6.8. In particular the HowTo says 'replace "/bin/mount -rt ext3
        > /dev/$prefroot /mnt" with these 9 lines:', but the corresponding
        line
        > in the 6.8 version is 'if /bin/mount -rt ext3 /dev/$prefroot /mnt ;
        > then'. I have not worked out how to change the linuxrc file
        > successfully so that it does not crash the slug with no disks
        > attached, the original unslung disk attached or with the new raid
        disk
        > attached. I always have to reflash the firmware.
        >
        > Any suggestions will be gratefully received.
        >

        Personally I would replace the whole block of code that is trying to
        mount /mnt on either sda1 or sdb1 to mount on the mirror device with
        your 9 lines plus an extra one to set "mounted" to indicate that it's
        been mounted.

        So replace the following in /initrd/linuxrc:-
        ------------------------------------------------------
        mounted=

        for prefroot in sda1 sdb1 ; do
        if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
        if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
        if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
        /bin/echo "Root filesystem will be mounted from /dev/
        $prefroot ..."
        mounted=/mnt
        else
        /bin/umount /mnt
        /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
        fi
        fi
        fi
        done
        --------------------------------------------------------
        with
        --------------------------------------------------------
        /bin/mknod /dev/md4 b 9 4 2>/dev/null
        /sbin/insmod /unslung/md.o
        /sbin/insmod /unslung/raid1.o
        /unslung/mdadm -A /dev/md4 -R /dev/sdb4
        /unslung/mdadm -A /dev/md3 -R /dev/sdb3
        /unslung/mdadm -A /dev/md2 -R /dev/sdb2
        /unslung/mdadm -A /dev/md1 -R /dev/sdb1
        /bin/sleep 5
        /bin/mount -rt ext3 /dev/md1 /mnt

        mounted=/mnt
        -------------------------------------------------------
        The last line is needed to stop the rest of the script from falling
        over and doing the wrong thing.

        hope that helps

        I'm likely to be doing a raid1 setup myself for unslung 6.8 in about
        a months time myself, so if you've already fixed some problems let us
        know.

        Bullfrog
      • bullfrog528
        ... beta? ... appears ... $prefroot /mnt ; ... Hi a better solution might be mounted= /bin/mknod /dev/md4 b 9 4 2 /dev/null /sbin/insmod /unslung/md.o
        Message 3 of 8 , Jul 3, 2006
        • 0 Attachment
          --- In nslu2-linux@yahoogroups.com, "bullfrog528" <yahoo@...> wrote:
          >
          > --- In nslu2-linux@yahoogroups.com, "duncanolesen" <duncanolesen@>
          > wrote:
          > >
          > > Has anybody successfully implemented a RAID1 using uNSLUng 6.8
          beta?
          > >
          > > I have been following the HowTo: Raid1onUnslung5, but there
          appears
          > to
          > > have been a change to the /initrd/linuxrc file between versions 5
          > and
          > > 6.8. In particular the HowTo says 'replace "/bin/mount -rt ext3
          > > /dev/$prefroot /mnt" with these 9 lines:', but the corresponding
          > line
          > > in the 6.8 version is 'if /bin/mount -rt ext3 /dev/
          $prefroot /mnt ;
          > > then'. I have not worked out how to change the linuxrc file
          > > successfully so that it does not crash the slug with no disks
          > > attached, the original unslung disk attached or with the new raid
          > disk
          > > attached. I always have to reflash the firmware.
          > >
          > > Any suggestions will be gratefully received.
          > >

          Hi

          a better solution might be

          mounted=

          /bin/mknod /dev/md4 b 9 4 2>/dev/null
          /sbin/insmod /unslung/md.o
          /sbin/insmod /unslung/raid1.o
          /unslung/mdadm -A /dev/md4 -R /dev/sdb4
          /unslung/mdadm -A /dev/md3 -R /dev/sdb3
          /unslung/mdadm -A /dev/md2 -R /dev/sdb2
          /unslung/mdadm -A /dev/md1 -R /dev/sdb1
          /bin/sleep 5

          if /bin/mount -rt ext3 /dev/md1 /mnt ; then
          mounted=/mnt
          fi


          then if the mirror fails to mount - the remainder of the script will
          mount something.

          Bullfrog
        • duncanolesen
          ... One of my attempts was along the lines you suggest. My concern is that in running one or more of the commands above during the boot process causes the
          Message 4 of 8 , Jul 3, 2006
          • 0 Attachment
            --- In nslu2-linux@yahoogroups.com, "bullfrog528" <yahoo@...> wrote:
            >
            > --- In nslu2-linux@yahoogroups.com, "duncanolesen" <duncanolesen@>
            > wrote:
            > >
            > > Has anybody successfully implemented a RAID1 using uNSLUng 6.8 beta?
            > >
            > > I have been following the HowTo: Raid1onUnslung5, but there appears
            > to
            > > have been a change to the /initrd/linuxrc file between versions 5
            > and
            > > 6.8. In particular the HowTo says 'replace "/bin/mount -rt ext3
            > > /dev/$prefroot /mnt" with these 9 lines:', but the corresponding
            > line
            > > in the 6.8 version is 'if /bin/mount -rt ext3 /dev/$prefroot /mnt ;
            > > then'. I have not worked out how to change the linuxrc file
            > > successfully so that it does not crash the slug with no disks
            > > attached, the original unslung disk attached or with the new raid
            > disk
            > > attached. I always have to reflash the firmware.
            > >
            > > Any suggestions will be gratefully received.
            > >
            >
            > Personally I would replace the whole block of code that is trying to
            > mount /mnt on either sda1 or sdb1 to mount on the mirror device with
            > your 9 lines plus an extra one to set "mounted" to indicate that it's
            > been mounted.
            >
            > So replace the following in /initrd/linuxrc:-
            > ------------------------------------------------------
            > mounted=
            >
            > for prefroot in sda1 sdb1 ; do
            > if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
            > if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
            > if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
            > /bin/echo "Root filesystem will be mounted from /dev/
            > $prefroot ..."
            > mounted=/mnt
            > else
            > /bin/umount /mnt
            > /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
            > fi
            > fi
            > fi
            > done
            > --------------------------------------------------------
            > with
            > --------------------------------------------------------
            > /bin/mknod /dev/md4 b 9 4 2>/dev/null
            > /sbin/insmod /unslung/md.o
            > /sbin/insmod /unslung/raid1.o
            > /unslung/mdadm -A /dev/md4 -R /dev/sdb4
            > /unslung/mdadm -A /dev/md3 -R /dev/sdb3
            > /unslung/mdadm -A /dev/md2 -R /dev/sdb2
            > /unslung/mdadm -A /dev/md1 -R /dev/sdb1
            > /bin/sleep 5
            > /bin/mount -rt ext3 /dev/md1 /mnt
            >
            > mounted=/mnt
            > -------------------------------------------------------
            > The last line is needed to stop the rest of the script from falling
            > over and doing the wrong thing.
            >
            > hope that helps
            >
            > I'm likely to be doing a raid1 setup myself for unslung 6.8 in about
            > a months time myself, so if you've already fixed some problems let us
            > know.
            >
            > Bullfrog
            >


            One of my attempts was along the lines you suggest.

            My concern is that in running one or more of the commands above during
            the boot process causes the machine to fail. I have obviously seen the
            commands run successfully interactively otherwise I could not have
            configured the new mirror disk. To confirm my suspicion I will add the
            commands above one at a time until the machine fails to boot. I think
            the first step will be just to copy mdadm, md.o and raid1.o into
            /initrd/unslung and then reboot.

            I'll keep you posted, but any other suggestions are most welcome.
          • duncanolesen
            ... I have confirmed that the slug fails to boot when it encounters the first mdadm command (/unslung/mdadm -A /dev/md4 -R /dev/sdb4). For a comparison of free
            Message 5 of 8 , Jul 4, 2006
            • 0 Attachment
              >
              > My concern is that in running one or more of the commands above during
              > the boot process causes the machine to fail. I have obviously seen the
              > commands run successfully interactively otherwise I could not have
              > configured the new mirror disk. To confirm my suspicion I will add the
              > commands above one at a time until the machine fails to boot. I think
              > the first step will be just to copy mdadm, md.o and raid1.o into
              > /initrd/unslung and then reboot.
              >
              > I'll keep you posted, but any other suggestions are most welcome.
              >
              I have confirmed that the slug fails to boot when it encounters the
              first mdadm command (/unslung/mdadm -A /dev/md4 -R /dev/sdb4).

              For a comparison of free memory on the root device during boot I
              flashed the slug with 5.5 beta. In 6.8, before copying mdadm, md.o and
              raid1.o there are about 140 blocks free on /initrd. The equivalent in
              5.5 beta, rootfs, has 1208 blocks free.

              I think that the method used for 5.5 will no longer work with 6.8 due
              to a lack of free space on the root device.

              I am not too bothered about mirroring the root, conf and swap
              partitions, they don't have much unrecoverable info; it's the data
              partition I'm keen to mirror. I will investigate creating just a
              single raid partition and mounting it at /share/hdd/data/public later
              on in the boot process, once root is on hard disk. I have already seen
              how to remount partitions for the HowTo: SetSpinDownTimeOnMaxtorOneTouch.
            • bullfrog528
              ... during ... seen the ... add the ... think ... and ... in ... due ... later ... seen ... SetSpinDownTimeOnMaxtorOneTouch. ... It would my appear my 6 weeks
              Message 6 of 8 , Jul 7, 2006
              • 0 Attachment
                --- In nslu2-linux@yahoogroups.com, "duncanolesen" <duncanolesen@...>
                wrote:
                >
                > >
                > > My concern is that in running one or more of the commands above
                during
                > > the boot process causes the machine to fail. I have obviously
                seen the
                > > commands run successfully interactively otherwise I could not have
                > > configured the new mirror disk. To confirm my suspicion I will
                add the
                > > commands above one at a time until the machine fails to boot. I
                think
                > > the first step will be just to copy mdadm, md.o and raid1.o into
                > > /initrd/unslung and then reboot.
                > >
                > > I'll keep you posted, but any other suggestions are most welcome.
                > >
                > I have confirmed that the slug fails to boot when it encounters the
                > first mdadm command (/unslung/mdadm -A /dev/md4 -R /dev/sdb4).
                >
                > For a comparison of free memory on the root device during boot I
                > flashed the slug with 5.5 beta. In 6.8, before copying mdadm, md.o
                and
                > raid1.o there are about 140 blocks free on /initrd. The equivalent
                in
                > 5.5 beta, rootfs, has 1208 blocks free.
                >
                > I think that the method used for 5.5 will no longer work with 6.8
                due
                > to a lack of free space on the root device.
                >
                > I am not too bothered about mirroring the root, conf and swap
                > partitions, they don't have much unrecoverable info; it's the data
                > partition I'm keen to mirror. I will investigate creating just a
                > single raid partition and mounting it at /share/hdd/data/public
                later
                > on in the boot process, once root is on hard disk. I have already
                seen
                > how to remount partitions for the HowTo:
                SetSpinDownTimeOnMaxtorOneTouch.
                >
                It would my appear my 6 weeks has come rather sooner.So I'm now
                progressing nicely with Raid 1 on unslung 6.8

                Having spent the day with the slugs serial port linked up so I could
                see the problem. I can now reboot with either the original unslung
                drive the new raid drive (not currently mirrored) or no drives
                succesfully. There essentially is 2 problems not enough room on the
                internal flash drive and the fact that /dev/sda /dev/sdb disk1 and
                disk2 operate differently under 6.8 than under previous versions.
                This reordering is described in the wiki.

                You need to unsling to disk1 otherwise it gets in a right mess.Part
                of the drive can get mounted under /share/hdd and another part
                under /share/flash.

                Ok to enable the unit to reboot with no disks attached - after you've
                unslung your drive (to disk1) but before you do a reboot after
                copying mdadm into /unslung go into i.e. type
                cd /initrd/usr/bin
                rm quotacheck
                rm quotaon

                this leaves enough space on the flash to enable it to boot.If you
                ever need these files they are located in /share/hdd/data/usr/bin and
                can be copied back easily enough once reattaching the unslung disk
                after booting from flash.If you boot from the unslung drive they are
                in the right place anyway.

                You need to put your first empty raid1 disk on port disk2 and do your
                fdisk on /dev/sda and the 4 lines later in the procedure with regard
                to --create need to reference /dev/sda1 to 4

                the linuxrc script needs changed.

                replace the section

                -------------

                mounted=

                for prefroot in sda1 sdb1 ; do
                if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
                if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
                if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
                /bin/echo "Root filesystem will be mounted from /dev/
                $prefroot ..."
                mounted=/mnt
                else
                /bin/umount /mnt
                /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
                fi
                fi
                fi
                done

                -------

                with

                =======


                mounted=

                /bin/mknod /dev/md4 b 9 4 2>/dev/null
                /sbin/insmod /unslung/md.o
                /sbin/insmod /unslung/raid1.o
                /unslung/mdadm -A /dev/md4 -R /dev/sda4
                /unslung/mdadm -A /dev/md3 -R /dev/sda3
                /unslung/mdadm -A /dev/md2 -R /dev/sda2
                /unslung/mdadm -A /dev/md1 -R /dev/sda1
                /bin/sleep 5

                if /bin/mount -rt ext3 /dev/md1 /mnt ; then
                echo "mounted /md1 as /mnt ==============" >/dev/console
                mounted=/mnt
                else
                echo "searching for unslung drive -------------" >/dev/console
                for prefroot in sda1 sdb1 ; do
                if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
                if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
                if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
                /bin/echo "Root filesystem will be mounted from /dev/
                $prefroot ..."
                mounted=/mnt
                else
                /bin/umount /mnt
                /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
                fi
                fi
                fi
                done
                fi


                =====

                The diversion scripts are slightly different - I'll put these up for
                grabs when completed - I'm just trying to sort out a small problem
                with samba if it boots off disk 2 only i.e disk1 has failed. samba
                has references to /share/flash rather than /share/hdd for the
                smb.conf file amongst others and refuses to start.

                I've also put all the commands needed to setup raid as a tar file
                which can be wgetted and then run, which will be on my own unrelated
                website. I expect there's a way to put this upto the ipkg so we can
                type something like ipkg install raid1-scripts.Hopefully someone can
                point me in the correct direction on how to do this when the time
                comes.

                Hope that helps kick start your project a bit.

                regards

                Bullfrog
              • bullfrog528
                ... during ... seen the ... add the ... think ... and ... in ... due ... later ... seen ... SetSpinDownTimeOnMaxtorOneTouch. ... It would my appear my 6 weeks
                Message 7 of 8 , Jul 7, 2006
                • 0 Attachment
                  --- In nslu2-linux@yahoogroups.com, "duncanolesen" <duncanolesen@...>
                  wrote:
                  >
                  > >
                  > > My concern is that in running one or more of the commands above
                  during
                  > > the boot process causes the machine to fail. I have obviously
                  seen the
                  > > commands run successfully interactively otherwise I could not have
                  > > configured the new mirror disk. To confirm my suspicion I will
                  add the
                  > > commands above one at a time until the machine fails to boot. I
                  think
                  > > the first step will be just to copy mdadm, md.o and raid1.o into
                  > > /initrd/unslung and then reboot.
                  > >
                  > > I'll keep you posted, but any other suggestions are most welcome.
                  > >
                  > I have confirmed that the slug fails to boot when it encounters the
                  > first mdadm command (/unslung/mdadm -A /dev/md4 -R /dev/sdb4).
                  >
                  > For a comparison of free memory on the root device during boot I
                  > flashed the slug with 5.5 beta. In 6.8, before copying mdadm, md.o
                  and
                  > raid1.o there are about 140 blocks free on /initrd. The equivalent
                  in
                  > 5.5 beta, rootfs, has 1208 blocks free.
                  >
                  > I think that the method used for 5.5 will no longer work with 6.8
                  due
                  > to a lack of free space on the root device.
                  >
                  > I am not too bothered about mirroring the root, conf and swap
                  > partitions, they don't have much unrecoverable info; it's the data
                  > partition I'm keen to mirror. I will investigate creating just a
                  > single raid partition and mounting it at /share/hdd/data/public
                  later
                  > on in the boot process, once root is on hard disk. I have already
                  seen
                  > how to remount partitions for the HowTo:
                  SetSpinDownTimeOnMaxtorOneTouch.
                  >
                  It would my appear my 6 weeks has come rather sooner.So I'm now
                  progressing nicely with Raid 1 on unslung 6.8

                  Having spent the day with the slugs serial port linked up so I could
                  see the problem. I can now reboot with either the original unslung
                  drive the new raid drive (not currently mirrored) or no drives
                  succesfully. There essentially is 2 problems not enough room on the
                  internal flash drive and the fact that /dev/sda /dev/sdb disk1 and
                  disk2 operate differently under 6.8 than under previous versions.
                  This reordering is described in the wiki.

                  You need to unsling to disk1 otherwise it gets in a right mess.Part
                  of the drive can get mounted under /share/hdd and another part
                  under /share/flash.

                  Ok to enable the unit to reboot with no disks attached - after you've
                  unslung your drive (to disk1) but before you do a reboot after
                  copying mdadm into /unslung go into i.e. type
                  cd /initrd/usr/bin
                  rm quotacheck
                  rm quotaon

                  this leaves enough space on the flash to enable it to boot.If you
                  ever need these files they are located in /share/hdd/data/usr/bin and
                  can be copied back easily enough once reattaching the unslung disk
                  after booting from flash.If you boot from the unslung drive they are
                  in the right place anyway.

                  You need to put your first empty raid1 disk on port disk2 and do your
                  fdisk on /dev/sda and the 4 lines later in the procedure with regard
                  to --create need to reference /dev/sda1 to 4

                  the linuxrc script needs changed.

                  replace the section

                  -------------

                  mounted=

                  for prefroot in sda1 sdb1 ; do
                  if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
                  if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
                  if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
                  /bin/echo "Root filesystem will be mounted from /dev/
                  $prefroot ..."
                  mounted=/mnt
                  else
                  /bin/umount /mnt
                  /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
                  fi
                  fi
                  fi
                  done

                  -------

                  with

                  =======


                  mounted=

                  /bin/mknod /dev/md4 b 9 4 2>/dev/null
                  /sbin/insmod /unslung/md.o
                  /sbin/insmod /unslung/raid1.o
                  /unslung/mdadm -A /dev/md4 -R /dev/sda4
                  /unslung/mdadm -A /dev/md3 -R /dev/sda3
                  /unslung/mdadm -A /dev/md2 -R /dev/sda2
                  /unslung/mdadm -A /dev/md1 -R /dev/sda1
                  /bin/sleep 5

                  if /bin/mount -rt ext3 /dev/md1 /mnt ; then
                  echo "mounted /md1 as /mnt ==============" >/dev/console
                  mounted=/mnt
                  else
                  echo "searching for unslung drive -------------" >/dev/console
                  for prefroot in sda1 sdb1 ; do
                  if [ -z "$mounted" -a -e /.${prefroot}root ] ; then
                  if /bin/mount -rt ext3 /dev/$prefroot /mnt ; then
                  if [ -e /mnt/.${prefroot}root -a -x /mnt/bin/init ] ; then
                  /bin/echo "Root filesystem will be mounted from /dev/
                  $prefroot ..."
                  mounted=/mnt
                  else
                  /bin/umount /mnt
                  /bin/echo "Can't find valid rootfs on /dev/$prefroot ..."
                  fi
                  fi
                  fi
                  done
                  fi


                  =====

                  The diversion scripts are slightly different - I'll put these up for
                  grabs when completed - I'm just trying to sort out a small problem
                  with samba if it boots off disk 2 only i.e disk1 has failed. samba
                  has references to /share/flash rather than /share/hdd for the
                  smb.conf file amongst others and refuses to start.

                  I've also put all the commands needed to setup raid as a tar file
                  which can be wgetted and then run, which will be on my own unrelated
                  website. I expect there's a way to put this upto the ipkg so we can
                  type something like ipkg install raid1-scripts.Hopefully someone can
                  point me in the correct direction on how to do this when the time
                  comes.

                  Hope that helps kick start your project a bit.

                  regards

                  Bullfrog
                • duncanolesen
                  ... Thanks for your help. I see you have posted a new howto today. I have built a system with just partition 4 mirrored. I haven t put any unrecoverable data
                  Message 8 of 8 , Jul 18, 2006
                  • 0 Attachment
                    --- In nslu2-linux@yahoogroups.com, "bullfrog528" <yahoo@...> wrote:

                    > The diversion scripts are slightly different - I'll put these up for
                    > grabs when completed - I'm just trying to sort out a small problem
                    > with samba if it boots off disk 2 only i.e disk1 has failed. samba
                    > has references to /share/flash rather than /share/hdd for the
                    > smb.conf file amongst others and refuses to start.
                    >
                    > I've also put all the commands needed to setup raid as a tar file
                    > which can be wgetted and then run, which will be on my own unrelated
                    > website. I expect there's a way to put this upto the ipkg so we can
                    > type something like ipkg install raid1-scripts.Hopefully someone can
                    > point me in the correct direction on how to do this when the time
                    > comes.
                    >
                    > Hope that helps kick start your project a bit.
                    >
                    > regards
                    >
                    > Bullfrog
                    >

                    Thanks for your help. I see you have posted a new howto today.

                    I have built a system with just partition 4 mirrored. I haven't put
                    any unrecoverable data on it yet so I may follow your instructions
                    from scratch to mirror all the partitions.

                    I already had my primary disk (a Western Digital Media Centre 320GB
                    USB2/Fwire) on disk 1 (I have yet to investigate access to the media
                    slots via the slug). I guess it is seen by the slug as a hub and hence
                    won't work on disk 2. The second disk is a Western Digital 320GB
                    MyBook Essential USB2. Although the two disks are not identical
                    models, I think it is just the enclosure that is different; anyway
                    they have identical sizes.
                  Your message has been successfully submitted and would be delivered to recipients shortly.