[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2018-10-10 Thread Matthew Ahrens
Updated version of this is here: https://www.illumos.org/rb/r/1224/

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#issuecomment-428652593
--
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/Tfefe6318017dd4c7-Mc1827d96b013b4335f0785c0
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-08-25 Thread Matthew Ahrens
@ahrens pushed 1 commit.

5955b31  typo


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/openzfs/openzfs/pull/409/files/5df44fb5d17d849a3104caf9fcf2bcff83c3c736..5955b3114619f6d79986993d9dedc9d213f63ed0

--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-Md514c641c328ee793118d6b9
Powered by Topicbox: https://topicbox.com


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-08-25 Thread Paul Dagnelie
pcd1193182 approved this pull request.

Send receive code looks fine to me, just one small question.

>   int err;
 
-   if (dmu_object_info(rwa->os, obj, NULL) != 0)
+   err = dmu_object_info(rwa->os, obj, );

Why change this to add the argument?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#pullrequestreview-58746142
--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-Md98462035c105b3b87a597ca
Powered by Topicbox: https://topicbox.com


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-08-25 Thread George Wilson
grwilson approved this pull request.





-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#pullrequestreview-58659280
--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-M880a8d1f8a373d1489e6a948
Powered by Topicbox: https://topicbox.com


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-08-23 Thread Matthew Ahrens
ahrens commented on this pull request.



/*
 * All forms of zfs create (create, mkdir, mkxattrdir, symlink)
 * eventually end up in zfs_mknode(), which assigns the object's
-* creation time and generation number.  The generic VOP_CREATE()
-* doesn't have either concept, so we smuggle the values inside
-* the vattr's otherwise unused va_ctime and va_nblocks fields.
+* creation time, generation number, and dnode slot count. The
+* generic VOP_CREATE() has no concept of these attributes, so
+* we smuggle the values inside * the vattr's otherwise unused
+* va_ctime, va_nblocks, and va_nlink fields.

Yes, it should say `va_fsid` rather than `va_nlink`, same as the comment in 
zfs_replay_create_acl().  Not sure how that got messed up.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#discussion_r134860543
--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-Ma3c3e12f2a1524be78a8b66f
Powered by Topicbox: https://topicbox.com


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-08-23 Thread George Wilson
grwilson commented on this pull request.

There are lots of good comments in the pull request that aren't referenced in 
the actual code. It would be good to incorporate some of these as comments.

/*
 * All forms of zfs create (create, mkdir, mkxattrdir, symlink)
 * eventually end up in zfs_mknode(), which assigns the object's
-* creation time and generation number.  The generic VOP_CREATE()
-* doesn't have either concept, so we smuggle the values inside
-* the vattr's otherwise unused va_ctime and va_nblocks fields.
+* creation time, generation number, and dnode slot count. The
+* generic VOP_CREATE() has no concept of these attributes, so
+* we smuggle the values inside * the vattr's otherwise unused

Extra "*" -- `inside * the vattr's`

/*
 * All forms of zfs create (create, mkdir, mkxattrdir, symlink)
 * eventually end up in zfs_mknode(), which assigns the object's
-* creation time and generation number.  The generic VOP_CREATE()
-* doesn't have either concept, so we smuggle the values inside
-* the vattr's otherwise unused va_ctime and va_nblocks fields.
+* creation time, generation number, and dnode slot count. The
+* generic VOP_CREATE() has no concept of these attributes, so
+* we smuggle the values inside * the vattr's otherwise unused
+* va_ctime, va_nblocks, and va_nlink fields.

shouldn't this comment include `va_fsid` or should the code below be using 
`va_nlink` instead of `va_fsid`?

> + } else if (ds && ds->ds_feature_inuse[SPA_FEATURE_LARGE_DNODE]) {
+   /*
+* For large_dnode datasets, scan from the beginning of the
+* dnode block to find the starting offset. This is needed
+* because objectp could be part of a large dnode so we can't
+* assume it's a hole even if dmu_object_info() returns ENOENT.
+*/
+   int epb = DNODE_BLOCK_SIZE >> DNODE_SHIFT;
+   int skip;
+   uint64_t i;
+
+   for (i = *objectp & ~(epb - 1); i <= *objectp; i += skip) {
+   dmu_object_info_t doi;
+
+   error = dmu_object_info(os, i, );
+   if (error)

NIT: error != 0

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#pullrequestreview-57301052
--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-Mccb2ecbc27ed810810878cf9
Powered by Topicbox: https://topicbox.com


[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)

2017-06-23 Thread Matthew Ahrens
Note: this is a port of: 
https://github.com/zfsonlinux/zfs/commit/50c957f702ea6d08a634e42f73e8a49931dd8055
 and 
https://github.com/zfsonlinux/zfs/commit/08f0510d87186575db00269fff17a3409de5ceb6
 . I had to make a few small changes to get it to pass lint, which are captured 
here: https://github.com/zfsonlinux/zfs/pull/6262

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/409#issuecomment-310729555
--
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tfefe6318017dd4c7-M2fef9d22d89d7e2e6d7db364
Powered by Topicbox: https://topicbox.com