Can't set ACL after replication

overshoot

Explorer
Joined
Jul 16, 2019
Messages
80
I had the system running until I decided to upgrade my pool from 8x4TB (slow SATA drives) to 8x1TB (faster SAS drives)

To migrate my pool, I've used another server to replicate the 2 main datasets.
Once the 2 needed datasets were replicated on the "backup" server, I went ahead and backup the config then replace the 8 drives from my Dell Poweredge R430 server.
Booted up, disconnected the previous pool (I should have done that before obviously) and created the new pool.
Then replicated 1 of the dataset and restored the backup as disconnected the previous pool did get rid of some shares.
The share was accessible but realized it was in read-only.

Went into the dataset setting and tried to change the ACL to no available.
I've tried stripping the ACLs or modifying them but I'm always getting an error message which doesn't tell much.
Stripping ACL gives: "Error" and nothing else.
Setting ACLs returns this:

Code:
 Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 426, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 463, in __run_body
    rv = await self.middleware.run_in_thread(self.method, *([self] + args))
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1172, in run_in_thread
    return await self.run_in_executor(self.thread_pool_executor, method, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1169, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1288, in nf
    return func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/filesystem_/acl_linux.py", line 676, in setacl
    return self.setacl_nfs4(job, data)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/filesystem_/acl_linux.py", line 470, in setacl_nfs4
    self.setacl_nfs4_internal(path, data['dacl'], do_canon, verrors)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/filesystem_/acl_linux.py", line 423, in setacl_nfs4_internal
    raise CallError(setacl.stderr.decode())
middlewared.service_exception.CallError: [EFAULT] 


Is there anything that I can attempt before resetting the configuration?
 

morganL

Captain Morgan
Administrator
Moderator
iXsystems
Joined
Mar 10, 2018
Messages
2,694
Which version of SCALE?

How did you replicate the datasets?

It would be useful to document the commands or webUI used.
 

overshoot

Explorer
Joined
Jul 16, 2019
Messages
80
Version 22.12.0

I did replicate them using the TrueNAS gui through a replication task.
Created a snapshot on main server, then replicated it on the backup using replication task.
Did the same thing the other way around.
 

overshoot

Explorer
Joined
Jul 16, 2019
Messages
80
The dataset seems to be in read-only though I have changed that setting in the dataset option.
Doesn't seem to be taking effect.
 

overshoot

Explorer
Joined
Jul 16, 2019
Messages
80
Nevermind, problem solved. I had to restart after setting the dataset to read/write.
 
Joined
Jul 3, 2015
Messages
926
zfs mount -a would have fixed it for info
 
Top