]> git.proxmox.com Git - mirror_zfs.git/commitdiff
OpenZFS 5428 - provide fts(), reallocarray(), and strtonum()
authorYuri Pankov <yuri.pankov@nexenta.com>
Tue, 13 Jun 2017 03:16:28 +0000 (20:16 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sun, 9 Jul 2017 03:35:35 +0000 (20:35 -0700)
Authored by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Joshua M. Clulow <josh@sysmgr.org>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
Porting Notes:
* All hunks unrelated to ZFS were dropped.

OpenZFS-issue: https://www.illumos.org/issues/5428
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/4585130
Closes #6326

include/sys/spa.h
module/zfs/dsl_deadlist.c
module/zfs/dsl_scan.c
module/zfs/dsl_userhold.c
module/zfs/spa_errlog.c
module/zfs/spa_misc.c
module/zfs/zfs_vfsops.c

index 556a51eea71627622bab4fc20b51be3c10dd9bf0..33f3a78056d1f7839db8df39abf744ba88494ac1 100644 (file)
@@ -860,7 +860,7 @@ extern int spa_maxdnodesize(spa_t *spa);
 extern void zfs_blkptr_verify(spa_t *spa, const blkptr_t *bp);
 
 extern int spa_mode(spa_t *spa);
-extern uint64_t strtonum(const char *str, char **nptr);
+extern uint64_t zfs_strtonum(const char *str, char **nptr);
 
 extern char *spa_his_ievent_table[];
 
index 258e626faac9dc1e0c28b9dea06ec0aede034211..0be0d74209409e1777f470e2838a874cc64f29ba 100644 (file)
@@ -78,10 +78,8 @@ dsl_deadlist_load_tree(dsl_deadlist_t *dl)
        for (zap_cursor_init(&zc, dl->dl_os, dl->dl_object);
            zap_cursor_retrieve(&zc, &za) == 0;
            zap_cursor_advance(&zc)) {
-               dsl_deadlist_entry_t *dle;
-
-               dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
-               dle->dle_mintxg = strtonum(za.za_name, NULL);
+               dsl_deadlist_entry_t *dle = kmem_alloc(sizeof (*dle), KM_SLEEP);
+               dle->dle_mintxg = zfs_strtonum(za.za_name, NULL);
                VERIFY3U(0, ==, bpobj_open(&dle->dle_bpobj, dl->dl_os,
                    za.za_first_integer));
                avl_add(&dl->dl_tree, dle);
@@ -494,7 +492,7 @@ dsl_deadlist_merge(dsl_deadlist_t *dl, uint64_t obj, dmu_tx_t *tx)
        for (zap_cursor_init(&zc, dl->dl_os, obj);
            zap_cursor_retrieve(&zc, &za) == 0;
            zap_cursor_advance(&zc)) {
-               uint64_t mintxg = strtonum(za.za_name, NULL);
+               uint64_t mintxg = zfs_strtonum(za.za_name, NULL);
                dsl_deadlist_insert_bpobj(dl, za.za_first_integer, mintxg, tx);
                VERIFY3U(0, ==, zap_remove_int(dl->dl_os, obj, mintxg, tx));
        }
index ccf3cee12e869f367cbd91a57f1d2e11c8808abb..369ccd8a7f435af690de099c862ee9dde6309e2e 100644 (file)
@@ -1512,7 +1512,7 @@ dsl_scan_visit(dsl_scan_t *scn, dmu_tx_t *tx)
                dsl_dataset_t *ds;
                uint64_t dsobj;
 
-               dsobj = strtonum(za->za_name, NULL);
+               dsobj = zfs_strtonum(za->za_name, NULL);
                VERIFY3U(0, ==, zap_remove_int(dp->dp_meta_objset,
                    scn->scn_phys.scn_queue_obj, dsobj, tx));
 
index a6d1aa937ef126932a8061d6b161ed53d3e1762f..583fbfe47fcc87727cb14be1d88a9b25970360dd 100644 (file)
@@ -342,7 +342,7 @@ static int
 dsl_dataset_hold_obj_string(dsl_pool_t *dp, const char *dsobj, void *tag,
     dsl_dataset_t **dsp)
 {
-       return (dsl_dataset_hold_obj(dp, strtonum(dsobj, NULL), tag, dsp));
+       return (dsl_dataset_hold_obj(dp, zfs_strtonum(dsobj, NULL), tag, dsp));
 }
 
 static int
index 925e2af604026c1f50be4661f865eacfedc56ee0..3c8aa543bae224270944853d0964c116182ad8b8 100644 (file)
@@ -73,13 +73,13 @@ bookmark_to_name(zbookmark_phys_t *zb, char *buf, size_t len)
 static void
 name_to_bookmark(char *buf, zbookmark_phys_t *zb)
 {
-       zb->zb_objset = strtonum(buf, &buf);
+       zb->zb_objset = zfs_strtonum(buf, &buf);
        ASSERT(*buf == ':');
-       zb->zb_object = strtonum(buf + 1, &buf);
+       zb->zb_object = zfs_strtonum(buf + 1, &buf);
        ASSERT(*buf == ':');
-       zb->zb_level = (int)strtonum(buf + 1, &buf);
+       zb->zb_level = (int)zfs_strtonum(buf + 1, &buf);
        ASSERT(*buf == ':');
-       zb->zb_blkid = strtonum(buf + 1, &buf);
+       zb->zb_blkid = zfs_strtonum(buf + 1, &buf);
        ASSERT(*buf == '\0');
 }
 #endif
index 8e23bcf450d20a42d636a1d3836da1b862fcae04..09e5067a54e4183a6c15a78966642b37f6a32278 100644 (file)
@@ -1465,7 +1465,7 @@ zfs_panic_recover(const char *fmt, ...)
  * lowercase hexadecimal numbers that don't overflow.
  */
 uint64_t
-strtonum(const char *str, char **nptr)
+zfs_strtonum(const char *str, char **nptr)
 {
        uint64_t val = 0;
        char c;
index 6d4761607b20c334f1bde10811e37f0519f0862b..0e3f37781bd4f20fbc4aba9da95ab323f069eb81 100644 (file)
@@ -604,7 +604,7 @@ fuidstr_to_sid(zfsvfs_t *zfsvfs, const char *fuidstr,
        uint64_t fuid;
        const char *domain;
 
-       fuid = strtonum(fuidstr, NULL);
+       fuid = zfs_strtonum(fuidstr, NULL);
 
        domain = zfs_fuid_find_by_idx(zfsvfs, FUID_INDEX(fuid));
        if (domain)