Cannot move file in shared folder after upgrade to PD16

Well, in 16.0.1 it does not seem to work for me:
Code:
[root@archlinux parallels-tools-16.0.1.48919]# mount -v -t prl_fs -o host_inodes,share Home /mnt/psf/Home
mount: Home mounted on /mnt/psf/Home.
[root@archlinux parallels-tools-16.0.1.48919]# mount | fgrep Home
Home on /mnt/psf/Home type prl_fs (rw,relatime,sync,ttl=300,share)
[root@archlinux parallels-tools-16.0.1.48919]# cp /mnt/psf/Home/.bash_history test
cp: skipping file '/mnt/psf/Home/.bash_history', as it was replaced while being copied
[root@archlinux parallels-tools-16.0.1.48919]# umount /mnt/psf/Home
[root@archlinux parallels-tools-16.0.1.48919]#

As you may see from the output above, the "host_inodes" option has not been set on the mount despite being explicitly requested.

According to the code in prl_fs/super.c in prlfs_fill_super():
Code:
...
        if (prlfs_sb->host_inodes) {
                struct prlfs_sf_features sff = {PRLFS_SFF_HOST_INODES};
                if ((get_sf_features(tg_dev, &sff) < 0) || !(sff.flags & PRLFS_SFF_HOST_INODES))
                        prlfs_sb->host_inodes = 0;
        }
...

Which, basically, says that even if "host_inodes" was explicitly requested but the Toolgate does not support it for some reason the option is going to be disabled.

So far, I could not find why it is not enabled :-/

I think there is an issue with how Parallels are parsing the mount options (they are using strsep() for this and the function is destructive to its first argument), but right now the module works after I recompiled, unloaded, and loaded it back zillion times. There is a chance that the memory is actually corrupted somewhere (I had a version of the module where it was duplicating the option string before feeding it through strsep() and it was the first iteration that actually worked).
 
function is destructive to its first argument), but right now the module works after I recompiled, unloaded, and loaded it back zillion times. There is a chance that the memory is actually corrupted somewhere
Well, in 16.0.1 it does not seem to work for me:
Code:
[root@archlinux parallels-tools-16.0.1.48919]# mount -v -t prl_fs -o host_inodes,share Home /mnt/psf/Home
mount: Home mounted on /mnt/psf/Home.
[root@archlinux parallels-tools-16.0.1.48919]# mount | fgrep Home
Home on /mnt/psf/Home type prl_fs (rw,relatime,sync,ttl=300,share)
[root@archlinux parallels-tools-16.0.1.48919]# cp /mnt/psf/Home/.bash_history test
cp: skipping file '/mnt/psf/Home/.bash_history', as it was replaced while being copied
[root@archlinux parallels-tools-16.0.1.48919]# umount /mnt/psf/Home
[root@archlinux parallels-tools-16.0.1.48919]#

As you may see from the output above, the "host_inodes" option has not been set on the mount despite being explicitly requested.

According to the code in prl_fs/super.c in prlfs_fill_super():
Code:
...
        if (prlfs_sb->host_inodes) {
                struct prlfs_sf_features sff = {PRLFS_SFF_HOST_INODES};
                if ((get_sf_features(tg_dev, &sff) < 0) || !(sff.flags & PRLFS_SFF_HOST_INODES))
                        prlfs_sb->host_inodes = 0;
        }
...

Which, basically, says that even if "host_inodes" was explicitly requested but the Toolgate does not support it for some reason the option is going to be disabled.

So far, I could not find why it is not enabled :-/
 
Back
Top