コード例 #1
0
 def no_input(self):
     spas = sdb.execute_pipeline(
         [sdb.get_object("spa_namespace_avl").address_of_()],
         [Avl(), sdb.Cast("spa_t *")],
     )
     for spa in spas:
         if (self.args.poolnames and spa.spa_name.string_().decode("utf-8")
                 not in self.args.poolnames):
             continue
         yield spa
コード例 #2
0
 def all_dnode_dbufs(self, dn: drgn.Object) -> Iterable[drgn.Object]:
     yield from sdb.execute_pipeline(
         [dn.dn_dbufs.address_of_()],
         [sdb.Walk(), sdb.Cast(self.output_type)])
コード例 #3
0
    def no_input(self) -> Iterable[drgn.Object]:
        proc_list = sdb.get_object("zfs_dbgmsgs").pl_list
        list_addr = proc_list.address_of_()

        yield from sdb.execute_pipeline(
            [list_addr], [SPLList(), sdb.Cast(["zfs_dbgmsg_t *"])])