@@ -432,6 +432,30 @@ def test_check_numa(self):
432432 if len (self .plib .run_ndctl_list ('-r %s -R -U %s' % (reg , numa ))) != 1 :
433433 self .fail ('Region mismatch between ndctl and sys interface' )
434434
435+ @avocado .fail_on (pmem .PMemException )
436+ def test_check_ns_numa (self ):
437+ self .plib .enable_region ()
438+ regions = self .plib .run_ndctl_list ('-R' )
439+ for dev in regions :
440+ region = self .plib .run_ndctl_list_val (dev , 'dev' )
441+ if not self .plib .is_region_legacy (region ):
442+ self .plib .disable_namespace (region = region )
443+ self .plib .destroy_namespace (region = region )
444+ for _ in range (3 ):
445+ self .plib .create_namespace (
446+ region = region , mode = 'fsdax' , size = '128M' )
447+
448+ namespaces = self .plib .run_ndctl_list ('-N -r %s' % region )
449+ if not os .path .exists ('/sys/bus/nd/devices/namespace0.0/numa_node' ):
450+ self .fail ("Numa node entries not found!" )
451+ for val in namespaces :
452+ ns_name = self .plib .run_ndctl_list_val (val , 'dev' )
453+ numa = genio .read_one_line (
454+ '/sys/bus/nd/devices/%s/numa_node' % ns_name )
455+ # Check numa config in ndctl and sys interface
456+ if len (self .plib .run_ndctl_list ('-N -n %s -U %s' % (ns_name , numa ))) != 1 :
457+ self .fail ('Numa mismatch between ndctl and sys interface' )
458+
435459 @avocado .fail_on (pmem .PMemException )
436460 def test_label_read_write (self ):
437461 region = self .get_default_region ()
0 commit comments