pydio / cells

Future-proof content collaboration platform

Home Page:https://pydio.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

symlink doesn't work

leporel opened this issue · comments

I upgraded from version 3.0.9 to version 4.0.4 (docker)
Datasource pointing to a folder where there was a symlink to another folder stopped seeing files in this symlink, in the console writes
pydio.grpc.data.sync.motto Empty Patch : nothing to do

Docker mount read-only /archive/ext/moto <-> /mnt/user/bzteam/archive/

/archive/ext # ls -la
total 0
drwxr-xr-x    1 1000     users            8 Nov 26 22:27 .
drwxr-xr-x    1 root     root             6 Nov 26 22:28 ..
drwxrwxrwx    1 1000     users           42 Jun 21 17:39 moto

/data/common # ls -la
total 0
drwxrwxrwx    1 1000     users           66 Nov 26 22:36 .
drwxr-xr-x    1 root     root            12 Nov 26 22:27 ..
drwxr-xr-x    1 root     root           135 Nov 26 15:23 .minio.sys
drwxrwxrwx    1 1000     users           62 Nov 24 16:34 files
drwxr-xr-x    1 1000     users           45 Nov 26 22:49 motoa

/data/common/motoa # ls -la
total 4
drwxr-xr-x    1 1000     users           45 Nov 26 22:49 .
drwxrwxrwx    1 1000     users           66 Nov 26 22:36 ..
-rw-r--r--    1 root     root            36 Nov 26 22:37 .pydio
lrwxrwxrwx    1 1000     users           17 Nov 26 22:49 motol -> /archive/ext/moto
   "pydio.grpc.data.sync.motto": {
      "Name": "motto",
      "StorageConfiguration": {
        "folder": "/data/common/motoa",
        "nativeEtags": "true",
        "normalize": "false"
      },
      "ObjectsServiceName": "local3",
      "ObjectsBucket": "motoa",
      "ApiKey": "*****",
      "ApiSecret": "******"
    },

    "pydio.grpc.data.index.motto": {
      "dsn": "default",
      "tables": {
        "commits": "data_motto_commits",
        "nodes": "data_motto_nodes",
        "tree": "data_motto_tree"
      }
    },

Hi, thx for reporting.
Just retested, definitely a regression in Minio.
We'll see how to handle this, as we now use a forked version of minio anyway.

Hey, I commited a fix in the @main, you may test with the latest build ! https://download.pydio.com/pub/cells/dev/

Yes, now it seems scanner walk over files

But maybe i misunderstand new logic, .pydio is required in every folder, because i have error like this

log
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3  Error: Rename across devices not allowed, please fix your backend configuration (/data/common/.minio.sys/tmp/43d37fe3-0fc8-4242-9a96-fad0fd8d5713/b6900f45-8535-4870-8709-01c40c0e100a)->(/data/common/motoa/motol/2020/October/.pydio) (*fmt.wrapError)
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3         5: github.com/minio/minio@v0.0.0-20220720015624-ce8397f7d944/cmd/fs-v1-helpers.go:389:cmd.fsRenameFile()
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3         4: github.com/minio/minio@v0.0.0-20220720015624-ce8397f7d944/cmd/fs-v1.go:1215:cmd.(*FSObjects).putObject()
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3         3: github.com/minio/minio@v0.0.0-20220720015624-ce8397f7d944/cmd/fs-v1.go:1111:cmd.(*FSObjects).PutObject()
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3         2: github.com/minio/minio@v0.0.0-20220720015624-ce8397f7d944/cmd/object-handlers.go:1662:cmd.objectAPIHandlers.PutObjectHandler()
2022-12-02T12:39:51.109Z        INFO    pydio.grpc.data.objects.local3         1: net/http/server.go:2109:http.HandlerFunc.ServeHTTP()
2022-12-02T12:39:51.110Z        INFO    pydio.grpc.data.objects.local3
2022-12-02T12:39:51.110Z        INFO    pydio.grpc.data.objects.local3  API: PutObject(bucket=motoa, object=motol/2020/October/.pydio)
2022-12-02T12:39:51.110Z        INFO    pydio.grpc.data.objects.local3  Time: 12:39:51 UTC 12/02/2022
2022-12-02T12:39:51.110Z        INFO    pydio.grpc.data.objects.local3  DeploymentID: 7b6b71be-70b4-45ea-9fc4-9acda1b7e73b
2022-12-02T12:39:51.110Z        INFO    pydio.grpc.data.objects.local3  RequestID: 172CFA51CE20FBA2
2022-12-02T12:39:51.111Z        INFO    pydio.grpc.data.objects.local3  RemoteHost: 127.0.0.1
2022-12-02T12:39:51.111Z        INFO    pydio.grpc.data.objects.local3  Host: 127.0.0.1:9002
2022-12-02T12:39:51.111Z        INFO    pydio.grpc.data.objects.local3  UserAgent: MinIO (linux; amd64) minio-go/v7.0.21 pydio.sync.client.s3/1.0

according to the documentation
must have read and write permissions on this folder and on the parent folder.

Following this logic, I mounted the folder in docker in read-only mode, because I'm worried about data safety and I'm afraid of unauthorized access. It worked before, I guess in v4 it's not possible now?

This is clearly not new, the .pydio created under each folder dates back to Cells v1 ...
So i'm unsure of how that worked correctly in v3 in your case...

closing for now as the regression is fixed.
please open a forum if required, thanks