[developer] Re: [openzfs/openzfs] 8423 Implement large_dnode pool feature (#409)
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)
@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)
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)
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)
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)
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)
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