* nvmetcli: Unable to run clear/restore
@ 2020-03-20 20:50 Tony Asleson
2020-03-26 18:30 ` Tony Asleson
0 siblings, 1 reply; 3+ messages in thread
From: Tony Asleson @ 2020-03-20 20:50 UTC (permalink / raw)
To: linux-nvme
While experimenting with nvmetcli I'm unable to run clear or restore.
Using master branch against Fedora 31, 5.5.9-200.fc31.x86_64
# ./nvmetcli clear
Traceback (most recent call last):
File "./nvmetcli", line 740, in <module>
main()
File "./nvmetcli", line 722, in main
funcs[sys.argv[1]](savefile)
File "./nvmetcli", line 689, in clear
nvme.Root().clear_existing()
File "/root/projects/nvmetcli/nvmet/nvme.py", line 315, in clear_existing
p.delete()
File "/root/projects/nvmetcli/nvmet/nvme.py", line 677, in delete
a.delete()
File "/root/projects/nvmetcli/nvmet/nvme.py", line 200, in delete
os.rmdir(self.path)
PermissionError: [Errno 1] Operation not permitted:
'/sys/kernel/config/nvmet/ports/0/ana_groups/1'
# ./nvmetcli restore
No saved config file at None, ok, exiting
I just posted a patch series, with those changes when I repeat the
restore I get
# ./nvmetcli restore
Error processing config file at None, error [Errno 1] Operation not
permitted: '/sys/kernel/config/nvmet/ports/0/ana_groups/1', exiting
Same error when trying to run `make test` eg.
[Errno 1] Operation not permitted:
'/sys/kernel/config/nvmet/ports/0/ana_groups/1'
Do I have a mismatch between kernel and user space here or am I missing
something?
Thanks!
-Tony
_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: nvmetcli: Unable to run clear/restore
2020-03-20 20:50 nvmetcli: Unable to run clear/restore Tony Asleson
@ 2020-03-26 18:30 ` Tony Asleson
2020-03-26 19:26 ` Sagi Grimberg
0 siblings, 1 reply; 3+ messages in thread
From: Tony Asleson @ 2020-03-26 18:30 UTC (permalink / raw)
To: linux-nvme
On 3/20/20 3:50 PM, Tony Asleson wrote:
> While experimenting with nvmetcli I'm unable to run clear or restore.
>
> Using master branch against Fedora 31, 5.5.9-200.fc31.x86_64
>
> # ./nvmetcli clear
> Traceback (most recent call last):
> File "./nvmetcli", line 740, in <module>
> main()
> File "./nvmetcli", line 722, in main
> funcs[sys.argv[1]](savefile)
> File "./nvmetcli", line 689, in clear
> nvme.Root().clear_existing()
> File "/root/projects/nvmetcli/nvmet/nvme.py", line 315, in clear_existing
> p.delete()
> File "/root/projects/nvmetcli/nvmet/nvme.py", line 677, in delete
> a.delete()
> File "/root/projects/nvmetcli/nvmet/nvme.py", line 200, in delete
> os.rmdir(self.path)
> PermissionError: [Errno 1] Operation not permitted:
> '/sys/kernel/config/nvmet/ports/0/ana_groups/1'
Apparently if I simply do
# rmdir /sys/kernel/config/nvmet/ports/1
The port and associated ana group gets removed and the usage count for
the kernel module nvmet goes to zero.
Is the bug that we are trying to remove
/sys/kernel/config/nvmet/ports/0/ana_groups/1 in userspace from nvmetcli
which can simply be corrected with
diff --git a/nvmet/nvme.py b/nvmet/nvme.py
index 089bafb..a2565e4 100644
--- a/nvmet/nvme.py
+++ b/nvmet/nvme.py
@@ -686,8 +686,6 @@ class Port(CFSNode):
self._check_self()
for s in self.subsystems:
self.remove_subsystem(s)
- for a in self.ana_groups:
- a.delete()
or that we should be able to remove it and can't, thus the issue is in
the kernel?
Thanks,
Tony
_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: nvmetcli: Unable to run clear/restore
2020-03-26 18:30 ` Tony Asleson
@ 2020-03-26 19:26 ` Sagi Grimberg
0 siblings, 0 replies; 3+ messages in thread
From: Sagi Grimberg @ 2020-03-26 19:26 UTC (permalink / raw)
To: tasleson, linux-nvme, Hannes Reinecke
>> While experimenting with nvmetcli I'm unable to run clear or restore.
>>
>> Using master branch against Fedora 31, 5.5.9-200.fc31.x86_64
>>
>> # ./nvmetcli clear
>> Traceback (most recent call last):
>> File "./nvmetcli", line 740, in <module>
>> main()
>> File "./nvmetcli", line 722, in main
>> funcs[sys.argv[1]](savefile)
>> File "./nvmetcli", line 689, in clear
>> nvme.Root().clear_existing()
>> File "/root/projects/nvmetcli/nvmet/nvme.py", line 315, in clear_existing
>> p.delete()
>> File "/root/projects/nvmetcli/nvmet/nvme.py", line 677, in delete
>> a.delete()
>> File "/root/projects/nvmetcli/nvmet/nvme.py", line 200, in delete
>> os.rmdir(self.path)
>> PermissionError: [Errno 1] Operation not permitted:
>> '/sys/kernel/config/nvmet/ports/0/ana_groups/1'
>
> Apparently if I simply do
>
> # rmdir /sys/kernel/config/nvmet/ports/1
>
> The port and associated ana group gets removed and the usage count for
> the kernel module nvmet goes to zero.
>
> Is the bug that we are trying to remove
> /sys/kernel/config/nvmet/ports/0/ana_groups/1 in userspace from nvmetcli
> which can simply be corrected with
>
> diff --git a/nvmet/nvme.py b/nvmet/nvme.py
> index 089bafb..a2565e4 100644
> --- a/nvmet/nvme.py
> +++ b/nvmet/nvme.py
> @@ -686,8 +686,6 @@ class Port(CFSNode):
> self._check_self()
> for s in self.subsystems:
> self.remove_subsystem(s)
> - for a in self.ana_groups:
> - a.delete()
>
>
> or that we should be able to remove it and can't, thus the issue is in
> the kernel?
IIRC that this is an issue that Hannes was aiming to address?
Hannes?
_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-03-26 19:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20 20:50 nvmetcli: Unable to run clear/restore Tony Asleson
2020-03-26 18:30 ` Tony Asleson
2020-03-26 19:26 ` Sagi Grimberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).