Jump to content

limetech

Administrators
  • Posts

    10,186
  • Joined

  • Last visited

  • Days Won

    196

Posts posted by limetech

  1. More clarifications:  in Unraid OS only user-defined pools can be configured as multi-device ZFS pools.  You can select ZFS as the file system type for an unRAID array disk, but will always be just a single device.  The best way to think of this, anywhere you can select btrfs you can also select zfs, including 'zfs - encrypted' which is not using zfs built-in encryption but simply LUKS device encryption.

     

    Also note that ZFS hard drive pools will require all devices in a pool to be 'spun up' during use.  IMO where ZFS will shine is in large flash-based pools (SSD, NVMe, etc).

    • Like 4
    • Thanks 2
    • Upvote 1
  2. 23 minutes ago, JonathanM said:

    Any traction to the concept of a share having a

    "new files written here pool"

    "overflow when new file destination is full pool" (optional)

    "mover enabled yes / no" (optional rules of when to invoke) (optional third pool as yes destination)

     

    Instead of the cache yes/no/only/preferred setting?

     

    This would accomplish a couple things, first it would clarify the historically muddy yes/no/only/preferred setting, second, it would more easily support pool to pool instead of being limited to primary / cache structure.

     

    Sure open to design ideas.

    • Like 2
    • Upvote 1
  3. 16 hours ago, TheIlluminate said:

    Any news on linux kernel 6.0?  I'd like to get some Intel ARC support going. 

    6.12 beta is on 6.0.15 as I type this.  OpenZFS is not listed as good to go on 6.1, though looks like that is imminent, at which time we'll upgrade to 6.1.

    • Like 5
  4. Some clarification...

    Currently:

    • We have a single "unRAID" array(*) and multiple user-defined "cache pools", or simply "pools".  Data devices in the unRAID array can be formatted with xfs, btrfs, or reiserfs file system.
    • A pool can consist of a single slot, in which case you can select xfs or btrfs as the file system.  Multi-slot pools can only be btrfs.  What's unique about btrfs is that you can have a "raid-1" with an odd number of devices.

    With 6.12 release:

    • You will be able to select zfs as file system type for single unRAID array data disks.  Sure, as a single device lots of zfs redundancy features don't exist, but it can be a target for "zfs receive", and it can utilize compression and snapshots.
    • You will be able to select zfs as the file system for a pool.  As mentioned earlier you will be able to configure mirrors, raidz's and groups of those.

    With future release:

    • The "pool" concept will be generalized.  Instead of having an "unRAID" array, you can create a pool and designate it as an "unRAID" pool.  Hence you could have unRAID pools, btrfs pools, zfs pools.  Of course individual devices within an unRAID pool have their own file system type.  (BTW we could add ext4 but no one has really asked for that).
    • Shares will have the concept of "primary" storage and "cache" storage.  Presumably you would assign an unRAID pool as primary storage for a share, and maybe a btrfs pool for cache storage.  The 'mover' would then periodically move files from cache to primary.  You could also designate maybe a 12-device zfs pool as primary and 2-device pool as cache, though there are other reasons you might not do that....

    * note: we use the term "unRAID" to refer to the specific data organization of an array of devices (like RAID-1, RAID-5, etc).  We use "Unraid" to refer to the OS itself.

    • Like 19
    • Thanks 4
  5. Our plan is to release a public beta soon(tm) which includes OpenZFS support and changes which Plugin authors need to be aware of.  Posting this now as a sneak peak, more detail will follow.  That said....

     

    ZFS support: this will let you create a named pool similar to how you can create named btrfs pools today.  You will have choice of various zfs topologies depending on how many devices are in the pool.  We will support single 2, 3, and 4-way mirrors, as well as groups of such mirrors (a.k.a., raid10).  We will also support groups of raidz1/raidz2/raidz3. We will also support expansion of pools by adding additional vdev of same type and width to existing pool.   Also will support raid0.  It's looking like first release we will support replacing only single devices of a pool at a time even if the redundancy would support replacing 2 or 3 at time - that support will come later.  Initially we'll also have a semi-manual way of limiting ARC memory usage.  Finally, a future release will permit adding hot spares and special vdev's such as L2ARC, LOG, etc. and draid support.

     

    webGUI change: there are several new features but the main change for Plugin authors to note is that we have upgraded to PHP v8.2 and will be turning on all error, warning, and notices.  This may result in some plugins not operating correctly and/or spewing a bunch of warning text.  More on this later...

     

    By "public release" we mean that it will appear on the 'next' branch but with a '-beta' suffix.  This means only run on test servers since there may be data integrity issues and config tweaks, though not anticipating any.  Once any initial issues have been sorted, we'll release -rc1.

    • Like 27
    • Thanks 4
    • Upvote 1
  6. 10 hours ago, dev_guy said:

    given the marginal foundation Unraid is based on?

    This is nonsense but beyond the scope of the discussion dealing with CRC/DMA errors.

     

    For sure, 100%, DMA/CRC errors are hardware faults, not caused by software, file systems, etc.  They are reported by physical controllers and indicate a physical h/w problem.  In my experience, these kinds of errors commonly originate with bad cables or connectors, or simply faulty components.  Another overlooked cause is faulty or overloaded power supplies.  Back when we offered server products, we always were careful to source single-rail PSU's so that full capacity of the power supply can be fed to the hard drives.  Servers with multi-rail PSU's might have a high overall wattage rating, but any one rail is a fraction of that; and, typically one rail would serve the entire hard drive array.  I'm sure you can deduce what the problem is with this arrangement.

     

    I haven't looked at many low-level Linux device drivers for several years but I'll take a look at a few and see if they retry CRC/DMA errors.  Adding retry logic in md/unraid driver might be something for us to consider.

     

    As has been stated correctly, Unraid only disables devices which fail writes because what else can you do if a write fails (and presumably all retries fail)?  But sure, if there is a lot of other activity in the server causing a transient dip in voltage, then maybe a retry would succeed.

    • Upvote 1
  7. On 12/19/2022 at 1:45 PM, dev_guy said:

    That's the problem the Unraid fan boys don't want to acknowledge. 

    Respectfully, please refrain from using that term, it's not helpful.

     

    We can continue this discussion if you want, I am open to an honest technical exchange, and making code changes if necessary.  Some brief comments:  re: CRC errors: those typically indicate some kind of corruption in the data path between the device controller and the device itself.  Usually as a result of bad cables, connectors, or power supply issues.  In general Unraid relies on the Linux device drivers to handle retries and assumes if a write has failed, then the driver and the device itself has exhausted all attempts at recovery and it would be pointless to waste more time re-issuing the same command over and over.

     

    re: SMART: it's well known that many drives fail which have perfectly clean SMART reports.  The fact you see a disabled drive and the only thing in the SMART report is a single CRC error is suspect.

    • Like 1
  8. 48 minutes ago, bobC said:

    I am getting a device descriptor read/64 error 110

    and then

    cannot mount /dev/sda1 - press enter to reboot, 

    I can not boot into safe mode either,  same errors

    any one have any suggestions i can try ?

    image of  booting log attached

     

    IMG_6843.jpg

     

    How did you reboot the server following download/install of new Unraid OS version?  Console messages imply an unclean reboot...

  9. 13 hours ago, SuperW2 said:

    Attempted upgrade from 6.11.4 to 6.11.5 and getting a PANIC and hang... no other changes to hardware or any recent hardware issues that I know about and have been upgrading at every point release... Guess I can try to downrev my USB Boot stick but not sure how to proceed and or troubleshoot since it never finishes a boot.

     

    This is occurring directly after "Starting Samba: on 4th line "/usr/sbin/winbindd -D"

    VERIFY3(size <= rt-›rt_space) failed (281442933186560 <=

    PANIC at range_tree.c:436 :range_tree_remove _impiO)

     

    I think those are related to ZFS.

    https://github.com/openzfs/zfs/issues/11691

    • Thanks 1
  10. As always, prior to updating, create a backup of your USB flash device:  "Main/Flash/Flash Device Settings" - click "Flash Backup".

     

    Bugs: If you discover a bug or other issue in this release, please open a Stable Releases Bug Report.

     


    Version 6.11.5 2022-11-20

    This release reverts a change which modified the wrong file. This resulted in not being able to select 'macvlan' custom docker network type. New installations only will now have 'ipvlan' selected by default.

    Docker

    • fix: Set IPVLAN as default only for new installations.
    • Like 12
    • Thanks 3
    • Upvote 1
  11. As always, prior to updating, create a backup of your USB flash device:  "Main/Flash/Flash Device Settings" - click "Flash Backup".

     

    Bugs: If you discover a bug or other issue in this release, please open a Stable Releases Bug Report.

     


    Version 6.11.4 2022-11-18

    This release is focused on bug fixes and minor improvements.

    Diagnostics

    Docker

    • docker: version 20.10.21 (CVE-2022-39253 CVE-2022-2879 CVE-2022-2880 CVE-2022-41715)
    • Fix: "please wait" message after removing orphan image.
    • Set IPVLAN as default for new installations.

    Samba

    • samba: version 4.17.3 (CVE-2022-42898)
    • Set the default "max open files" to the value of 'ulimit -n' which is currently set to 40960.

    VM Manager

    • Allow Network PCI devices to have boot order.
    • Change to use libvirt_domain_interface_addresses which has been available for a long time but was not documented in the API manual. Using this function stops tainted warnings being written to the log, ex: "Domain id=4 is tainted: custom-ga-command".
    • Fix for VM Rename.

    Misc

    • Fixed issue which prevented array Autostart with a Trial key.
    • Fixed encoding issue when passwords contain multi-byte UTF-8 characters.
    • Parity History: add day of week to date.
    • Shares: Fix: do not allow creation of hidden share names.
    • Main page: reinitialize disk transfer statistics upon opening new browser session.
    • Management Access page: improved messaging for SSL
    • Firefox: version 107.0.r20221110173214 (AppImage)
    • When all browser sessions close, stop unnecessary background processes.

    Base Distro

    • bash: version 5.2.009
    • btrfs-progs: version 6.0.1
    • gdk-pixbuf2: version 2.42.10
    • glibc-zoneinfo: version 2022f
    • intel-microcode: version 20221108
    • libX11: version 1.8.2
    • libnftnl: version 1.2.4
    • nghttp2: version 1.51.0
    • php: version 7.4.33 (CVE-2022-31630 CVE-2022-37454)
    • sed: version 4.9
    • sysstat: version 12.7.1
    • xkbevd: version 1.1.5
    • xkill: version 1.0.6
    • xlsatoms: version 1.1.4
    • xlsclients: version 1.1.5
    • xz: version 5.2.8
    • Like 12
    • Thanks 4
  12. I normally don't post the gory details of a bug and bug fix/workaround.  For the issue where 6.11.2 could not format devices larger than 2TB here is what was the cause and the fix that went into 6.11.3.

     

    First, the reason this got published without this issue being caught is that my test server with devices larger then 2TB were already formatted.  Other test servers, which are actually VM's had smaller virtual devices and formatting worked ok with them.  So sorry about that, sometimes sh*t happens, but this particular bug would not have caused any data loss.  Anyway....

     

    The bug was in the 'sgdisk' utility included in the "gptfdisk" package, where version 1.0.9 was released on April 15, 2022.  This was integrated into Unraid OS very early in 6.11 development and appeared in 6.11.0 on Sep 23, 2022, where it works fine.  But then the libpopt library was updated on Oct 19, 2022, and included in a larger slackware package called "aaa_libraries" which was integrated into Unraid 6.11.2.  The libpopt library includes functions used by nearly all C-based utilities to parse command line options.

     

    The sgdisk command also uses this library to parse command line options. The bug is that sgdisk was referencing freed memory due to how a function in libpopt was implemented. But this didn't cause problems because that freed memory wasn't reused until after sgdisk already referenced it. Well along comes an upgrade to the libpopt library which frees memory differently which caused sgdisk now to reference garbage data and fail as described.

     

    Author of gptfdisk added a fix but for some reason has not published a new release.

     

    Edit: the fix was to revert gptfdisk to 1.0.8 which used the earlier version of libpopt, and to also revert libpopt to the earlier version.

    • Like 10
    • Thanks 11
    • Upvote 1
  13. As always, prior to updating, create a backup of your USB flash device:  "Main/Flash/Flash Device Settings" - click "Flash Backup".

     

    Bugs: If you discover a bug or other issue in this release, please open a Stable Releases Bug Report.

     


    Version 6.11.3 2022-11-08

    This release is focused on bug fixes and minor improvements. In particular, we need to revert a base library due to a bug which prevents formatting devices >2TB in size.

    Management

    • Reverted 'libpopt.so.0.0.1' to workaround 'sgdisk' bug used to format devices larger than 2TB.
    • Fixed issue where description setting for 'root' user was not preserved across reboots.
    • Fix issue that sometimes information window opens empty.

    VM Manager

    • Set correct values when edit for USB Boot and correct Share Selection.
    • Add Nic boot order.

    Base Distro

    • gptfdisk: version 1.0.8 (revert from version 1.0.9)
    • libXext: version 1.3.5
    • libXinerama: version 1.1.5
    • libdrm: version 2.4.114
    • libedit: version 20221030_3.1
    • mcelog: version 190
    • ntfs-3g: version 2022.10.3
    • openssl: version 1.1.1s
    • openssl-solibs: version 1.1.1s
    • pixman: version 0.42.2
    • sessreg: version 1.1.3
    • sudo: version 1.9.12p1
    • xsetroot: version 1.1.3
    • Like 8
    • Thanks 2
    • Upvote 1
  14. On 11/3/2022 at 10:24 PM, Lolight said:

    The survey seems to be only for the internal use.

     

    I don't know if the timing of the survey is just a coincidence...

     

    I've noticed an already developed trend on the very popular with noobs homeserver subreddit.

    There's what seems to be a concerted effort to steer every newcomer towards TrueNas Scale.

    TrueNas has its advantages for certain case usage, but it's being promoted as the ultimate fit it all solution, and free to boot - a clear winner all around!

    And Unraid being badmouthed even when it can be considered as an absolute match for someone new who just wants a simple, easy, cheap (even with the added cost of the software) and reliable platform to host Plex and nothing more.

     

    Even if there's a suggestion made or two for Unraid, they're being overshadowed by multiple TrueNas proponents who

    don't hesitate to scare the unsuspecting and looking for an advice noobs with the non-sensical "Go Unraid - loose all of your data" or "Why would you want to pay $120 for junk software" proclamations.

    Thank you for your post.  It's unfortunate that some feel necessary to "bad mouth" other products.  We've been around a long time and during all that time I have never denigrated any other NAS or NAS-like products, and AFAIK no one associated with Lime Tech has either.  My view of things is that it's a big market out there and running a business (and staying in business) is very difficult, I'll give kudos to anyone attempting it.  Not only that, competition is good, it keeps everyone busy innovating.  re: TruNas - this is produced by iXsystems which makes its money in the Enterprise space.  Pretty sure they would not endorse comments such as those.

     

    On 11/3/2022 at 10:24 PM, Lolight said:

    Yes, the Unraid community in general is very helpful and polite and on the whole seems to be very happy with the product.

    I don't know what would be a solution to the situation (I don't do Reddit) but just wanted to share my observation.

    Again, thank you and for sure you hit on the true value of Unraid OS: this Community!

     

    On 11/3/2022 at 10:24 PM, Lolight said:

    I'm speculating here, but wouldn't be surprised based on my observation if the Unraid sales have paused growing or maybe even on the decline.

    Actually sales have been increasing :)

    • Like 9
  15. The 6.11.2 release is focused on bug fixes and minor improvements. Please note there are important security mitigations in Samba, all users are encouraged to update.

     

    As always, prior to updating, create a backup of your USB flash device:  "Main/Flash/Flash Device Settings" - click "Flash Backup".

     

    Bugs: If you discover a bug or other issue in this release, please open a Stable Releases Bug Report.

     


    Version 6.11.2 2022-11-04

    This release is focused on bug fixes and minor improvements. Please note there are important security mitigations in Samba, all uses are encouraged to update.

    VM Manager

    If you boot a VM from a passed physical USB device there is a new setting called Enable USB boot which must be set to Yes. This is due to feature change in the latest OVMF component.

     

    Changes:

    • Add boot order for USB and USB Boot option. Using 'boot order' field VM can boot from a passed-through NVMe controller/device.
    • Add virtiofs/9p Unraid share mapping.
    • CD Hotplug bug fix.
    • Fix Hotplug within Templates.
    • Fix changing from passthru to custom CPU.
    • Test for guest agent to suppress error message in libvirt log, and show text for guest not running or guest agent is not installed.
    • Fix unable to change HyperV settings.
    • Add 'start with console' option.
    • OVMF for QEMU: version edk2-stable202208

    Wireguard

    Changes:

    • Fixed problem setting up tunnels if using default network.cfg settings.
    • Fix typo setting up routes.

    Plugin manager

    Changes:

    • If plugin files cannot be read from CDN URL, fall back to non-CDN URL.
    • Enforce plugin files must end in '.plg'.
    • Fix post hook failing when plugin download fails.
    • Adjust the wget parameters to keep it from indefinitely hanging.

    Scheduler

    For scheduled Parity Checks, change default mode to Non-correcting. In case there are disk issues during a parity check it would be safer to have the default be non-correct. If sync errors are detected then the user can analyze the log and act accordingly.

    Misc. webGUI

    Changes:

    • DashStats: The inbound networkstats is out of place when numeric value is xxx.x.
    • Docker: Add/clarify Help to Docker Custom Network settings.
    • Docker: Fix display aberration on orphan images
    • SMART attributes: clarify message: "Can not read attributes" to "Attributes not available"
    • ShareEdit/ShareList: show pool not defined when share pool is not a defined pool

    Linux kernel

    • version 5.19.17
    • patch: additional NVMe BOGUS_NID quirks for non-compliant devices reported by users
    • sound support:
      • CONFIG_SOUND: Sound card support
      • CONFIG_SND: Advanced Linux Sound Architecture
      • CONFIG_SND_OSSEMUL: Enable OSS Emulation
      • CONFIG_SND_PCM_OSS: OSS PCM (digital audio) API
      • CONFIG_SND_HRTIMER: HR-timer backend support
      • CONFIG_SND_SUPPORT_OLD_API: Support old ALSA API
      • CONFIG_SND_PROC_FS: Sound Proc FS Support
    • CONFIG_IPV6: The IPv6 protocol (change from module to built-in)

    Base Distro

    Package updates including CVE mitigations:

    • bash: version 5.2.002
    • bind: version 9.18.8 (CVE-2022-38178 CVE-2022-38178 CVE-2022-3080 CVE-2022-2795)
    • btrfs-progs: version 6.0
    • curl: version 7.86.0
    • dbus: version 1.14.4
    • freeglut: version 3.4.0
    • git: version 2.38.1 (CVE-2022-39253 CVE-2022-39260)
    • glibc-zoneinfo: version 2022e
    • harfbuzz: version 5.3.1
    • icu4c: version 72.1
    • iproute2: version 6.0.0
    • kernel-firmware: version 20221017_48407ff
    • less: version 608
    • libXmu: version 1.1.4
    • libXrender: version 0.9.11
    • libedit: version 20221009_3.1
    • libffi: version 3.4.4
    • libgpg-error: version 1.46
    • libpciaccess: version 0.17
    • libunistring: version 1.1
    • libxkbfile: version 1.1.1
    • libxshmfence: version 1.3.1
    • lsof: version 4.96.4
    • nginx: version 1.22.1
    • openssh: version 9.1p1
    • php: version 7.4.32
    • pixman: version 0.42.0
    • rsync: version 3.2.7
    • samba: version 4.17.2 (CVE-2021-20251 CVE-2022-3437 CVE-2022-3592)
    • sudo: version 1.9.12
    • tree: version 2.0.4
    • xkeyboard-config: version 2.37
    • xterm: version 375
    • zlib: version 1.2.13 (CVE-2022-37434)
    • Like 19
    • Thanks 1
  16. Dear Unraid Community,

     

    As we look ahead to 2023 and beyond, all of us at Lime Tech are committed and focused on bringing you the best possible value out of your hardware and software investments. 

     

    As we continue to expand Unraid OS and our team, we want to ensure that we're prioritizing projects and features that are in line with our customer's needs and desires.

     

    We greatly value your feedback and would appreciate you spending 5-10 minutes taking this anonymous survey. As a bonus, you can enter to win one of ten $50 VISA gift cards as a token of our appreciation. 

     

    Thank you in advance for taking part in shaping the future of Unraid OS!

     

    Cheers,
    Tom & the entire Lime Technology Team

    • Like 8
    • Upvote 4
  17. 17 hours ago, aqua said:

    I appreciate that you have verified what I am experiencing. I also have no idea what is causing it, but it is absolutely a wrench in my workflows. The developer for Total Commander was good in trying to sort this out but didn't get anywhere as Ubuntu wasn't showing an error. Their contact is on the app's page - maybe they would be helpful and you could give an extended trial or basic license for unraid if they wanted to try installing it in place of ubuntu?

    Did you try with ubuntu?  If so, please post output of

    testparm -sv

    from the ubuntu install that works.

  18. The 6.11.1 release includes primarily bug fixes but also includes VM Manager improvements by @SimonF.

     

    Bugs: If you discover a bug or other issue in this release, please open a Stable Releases Bug Report.

     

    ALL USERS are encouraged to upgrade.

     

    As always, prior to updating, create a backup of your USB flash device:  "Main/Flash/Flash Device Settings" - click "Flash Backup".

     


    Version 6.11.1 2022-10-06

    Improvements

    Updated both qemu and libvirt to latest versions:

    • Added ppc, riscv32/riscv64, and aarch64 support.

    Updated docker to v20.10.18 and improved networking:

    • When DHCP is used, wait for IPv4 assignment before proceeding on system startup, this avoids a possible race-condition at boot time when host access to custom networks is enabled.
    • Allow user defined networks to be reconnected at docker service start. Now all defined networks will be automatically reconnected.

    VM Manager improvements:

    • Implemented option to use Virtiofs for mapping of Unraid host shares into a VM.
    • Added Spice html client for Virtual Machines (experimental).

    Notable Bug fixes

    • Fixed issue where opening certain pages, eg, Dashboard, needlessly causes writes to the USB Flash boot device.

    • Fixed the issue of docker containers can reach the Internet when the WG tunnel is not autostarted at system boot up. Users are advised to regenerate the WG configs. This can be done, e.g., by clicking in a field to change a value and then change it back in order to get the Apply button to light up. Then click Apply.

    • Fixed issue where empty popup windows gets displayed with certain browsers and devices.

    • Restored "NTLMv1 authentication" for incoming SMB connections.

    Change Log vs. Unraid OS 6.11.0

    Base distro:

    • acpid: version 2.0.34
    • bash: version 5.2.000
    • bind: version 9.18.7
    • ca-certificates: version 20220922
    • dbus: version 1.14.2
    • dnsmasq: version 2.87
    • docker: version 20.10.18 (CVE-2022-27664 CVE-2022-32190 CVE-2022-36109)
    • git: version 2.38.0
    • glib2: version 2.72.4
    • glibc-zoneinfo: version 2022d
    • gnutls: version 3.7.8
    • harfbuzz: version 5.2.0
    • intel-microcode: version 20220809
    • libXtst: version 1.2.4
    • libXxf86vm: version 1.1.5
    • libffi: version 3.4.3
    • libvirt: version 8.7.0
    • libvirt-php: version 0.5.6
    • lsof: version 4.96.3
    • nghttp2: version 1.50.0
    • pango: version 1.50.11
    • qemu: version 7.1.0 (built adding ppc, riscv32/64 support, replace arm with aarch64)
    • sqlite: version 3.39.4
    • xterm: version 373
    • xz: version 5.2.7

    Linux kernel:

    • version 5.19.14
    • CONFIG_DRM_MGAG200: Matrox G200
    • CONFIG_X86_SGX: Software Guard eXtensions (SGX)
    • CONFIG_X86_SGX_KVM: Software Guard eXtensions (SGX) Virtualization
    • CONFIG_CRYPTO_ZSTD: Zstd compression algorithm
    • md/unraid: version 2.9.25
    • patch: silence EDID "block all zeros" and "has corrupt header" notices
    • patch: add NVMe quirks for non-compliant devices reported by users

    Management:

    • webgui: VM Manager: Update GUI Options
      • Include 9P and Virtiofs
      • Remove 9P option for Windows.
      • Update XML if virtiofs and Windows in addition to Linux.
      • Update VM Share GUI Options
    • webgui: Fixed: wrong feedback display on VM page
    • webgui: Dashboard: store graph data in file instead of cookie
    • webgui: Ask user to provide diagnostics before downgrading the OS
    • webgui: Spice html client in addition to VNC
    • webgui: improve handling of windows-style config files
    • webgui: WireGuard: add explicit interface name in routing
    • webgui: SWAL: intercept "esc" button to stop nchan upon window closing
    • webgui: nchan: delayed command execution
      • This prevents an empty popup window in certain browsers and devices
    • Like 17
    • Thanks 4
    • Upvote 3
×
×
  • Create New...