Linux-NVME Archive on lore.kernel.org
 help / color / Atom feed
* 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	[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, back to index

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

Linux-NVME Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvme/0 linux-nvme/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvme linux-nvme/ https://lore.kernel.org/linux-nvme \
		linux-nvme@lists.infradead.org
	public-inbox-index linux-nvme

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-nvme


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git