Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mover is refusing to move any files off the cache from a share with a space in the name

Featured Replies

Move will not move any files off the cache for a share that has a space in the name... anyone got suggestions?  I've tried creating a symbolic link, which has been my go to in the past, but apparently unnoticed by me, they no longer display or use symbolic links on the fuse file system.  Creating one won't visibly show in /mnt/user (even though it exists) and thus fuse won't see and mover won't run on it.

Unraid Version 6.12.13
 

ls -l /mnt/inlandpool/
total 0
drwxrwxrwx 1 nobody users   24 Feb 16  2024 Paperless/
drwxrwxrwx 1 nobody users 3730 Oct 12 05:53 TV\ Shows/
drwxrwxrwx 1 nobody users 1214 Aug 26 23:26 appdata/
drwxrwxrwx 1 nobody users   26 Aug 12  2023 system/

mvlogger: Log Level: 1
mvlogger: *********************************MOVER -SHARE- START*******************************
mvlogger: Sat Oct 12 05:51:37 CDT 2024
mvlogger: Share supplied TV Shows
Sharecfg: /boot/config/shares/TV Shows.cfg
mvlogger: Cache Pool Name: inlandpool 
mvlogger: Share Path: /mnt/inlandpool/TV Shows
mvlogger: Directory does not exist: /mnt/inlandpool/TV Shows
mvlogger: Sat Oct 12 05:51:37 CDT 2024
mvlogger: ********************************Mover Finished*****************************

 

Edited by Naonak

  • Community Expert

Is the pool in ZFS format?   Wondering if this is a ZFS oddity?

  • Community Expert

Where does that mvlogger come from?

 

Enable the regular mover logging, run the mover, post the diagnostics.

  • Author
On 10/12/2024 at 11:22 AM, itimpi said:

Is the pool in ZFS format?   Wondering if this is a ZFS oddity?

No, it's not a ZFS pool.  It's an XFS pool.  It used to work until one of the latest updates just fine. I've had this share since I created the pool years and years ago.

 

 

  • Community Expert

Do you have the Mover Tuning plugin installed (the log messages you posted do not look like standard Unraid)?   If so you try booting in Safe Mode to disable plugins and see if it then works.

  • 3 months later...

I found the issue I was having with the "Mover Tuning" plugin on Unraid 7.0.0 by Andrew Zawadzki, hugenbdd, and Reynald. The problem was in handling spaces within share paths.

 

The file /usr/local/emhttp/plugins/ca.mover.tuning/age_mover needs a few code edits.

Line 592 (Replace)

FINDSTR="find $SHAREPATH ! -path \"/mnt/user*\" -type f -depth "

With 

FINDSTR="find \"$SHAREPATH\" -type f -depth -not -path \"/mnt/user*\""

 

 

Line 594 (Replace)

FINDSTR="find $SHAREPATH -type f -depth "

With

FINDSTR="find \"$SHAREPATH\" -type f -depth"

 


Line 677 (Replace)

FINDSTR+=" -printf '%T@|%s|%S|%n|%i|%p|\0' | awk -v RS='\0' -v FS='|' -v SPARSENESS=\$SPARSENESS -v PRIMARYSTORAGENAME=\$PRIMARYSTORAGENAME -v SECONDARYSTORAGENAME=\$SECONDARYSTORAGENAME -v SHARENAME=\$SHARENAME -v SHAREUSECACHE=\$SHAREUSECACHE -v PRIMARYSIZETHRESH=\$PRIMARYSIZETHRESH"

With these new lines:

FINDSTR="$FINDSTR -printf '%T@|%s|%S|%n|%i|%p|\0'"
FINDSTR="$FINDSTR | awk -v RS='\0' -v FS='|' \
    -v SPARSENESS='$SPARSENESS' \
    -v PRIMARYSTORAGENAME='$PRIMARYSTORAGENAME' \
    -v SECONDARYSTORAGENAME='$SECONDARYSTORAGENAME' \
    -v SHARENAME='$SHARENAME' \
    -v SHAREUSECACHE='$SHAREUSECACHE' \
    -v PRIMARYSIZETHRESH='$PRIMARYSIZETHRESH'"

 

 

This change properly handles paths with spaces, preventing errors during the mover operation.

Hope this helps others running into the same issue!

Edited by DToX_
Adding -depth back in.

That worked a treat, thank you DToX_

On 2/5/2025 at 3:35 AM, DToX_ said:

The file /usr/local/emhttp/plugins/ca.mover.tuning/age_mover needs a few code edits.

 

Thanks for the fix i wll try to pull to github ,why -depth was excluded ?

On 2/5/2025 at 3:35 AM, DToX_ said:
FINDSTR="$FINDSTR -printf '%T@|%s|%S|%n|%i|%p|\0'"
FINDSTR="$FINDSTR | awk -v RS='\0' -v FS='|' \
    -v SPARSENESS='$SPARSENESS' \
    -v PRIMARYSTORAGENAME='$PRIMARYSTORAGENAME' \
    -v SECONDARYSTORAGENAME='$SECONDARYSTORAGENAME' \
    -v SHARENAME='$SHARENAME' \
    -v SHAREUSECACHE='$SHAREUSECACHE' \
    -v PRIMARYSIZETHRESH='$PRIMARYSIZETHRESH'"

 

is this not same as in original ?

On 2/5/2025 at 3:35 AM, DToX_ said:

I found the issue I was having with the "Mover Tuning" plugin on Unraid 7.0.0 by Andrew Zawadzki, hugenbdd, and Reynald. The problem was in handling spaces within share paths.

 

 

i made pull request for plugin but not removed  -depth  :  


 

            FINDSTR="find \"$SHAREPATH\" ! -path \"\"/mnt/user*\"\" -type f -depth \"" # or maybe fix spaces FINDSTR="find \"$SHAREPATH\" -type f -not -path \"/mnt/user*\""            
        else
            FINDSTR="find \"$SHAREPATH\" -type f -depth " #or FINDSTR="find \"$SHAREPATH\" -type f"

 

Please fill free to update  ....

 

https://github.com/R3yn4ld/ca.mover.tuning/pull/69

@Masterwishx A few things to note,

 

I removed "-depth" while I was testing, but it should be left in. I will update my comment to reflect that. 

Quote

In the find command, the -depth flag tells find to process a directory's contents before the directory itself.
This means it will traverse the directory tree in a depth-first manner: 
- Files and subdirectories within a directory are processed first.
- The directory is processed only after all its children have been processed.

 

This command is roughly the same, I broke it out because I was having issues with it being so nested. I prefer my version as it's much more readable.

FINDSTR="$FINDSTR -printf '%T@|%s|%S|%n|%i|%p|\0'"
FINDSTR="$FINDSTR | awk -v RS='\0' -v FS='|' \
    -v SPARSENESS='$SPARSENESS' \
    -v PRIMARYSTORAGENAME='$PRIMARYSTORAGENAME' \
    -v SECONDARYSTORAGENAME='$SECONDARYSTORAGENAME' \
    -v SHARENAME='$SHARENAME' \
    -v SHAREUSECACHE='$SHAREUSECACHE' \
    -v PRIMARYSIZETHRESH='$PRIMARYSIZETHRESH'"

 

Anyway, thanks for taking the time to push this code up.

image.thumb.png.dadac2c44eedacfa9dbd4cef0be9e360.png

Edited by DToX_

10 hours ago, DToX_ said:

I removed "-depth" while I was testing, but it should be left in. I will update my comment to reflect that. 

 

Yes i not removed -depth in pr

 

10 hours ago, DToX_ said:

This command is roughly the same, I broke it out because I was having issues with it being so nested. I prefer my version as it's much more readable.

 

The old line code not working ...

I am also impacted by this Mover Tuning Plugin bug.  Caused my cache to fill up and made a mess.  

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.