[LU-4208] dsl_prop_register()) ASSERTION(dsl_pool_config_held(dp)) failed Created: 04/Nov/13 Updated: 21/Feb/14 Resolved: 21/Feb/14 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.4.1, Lustre 2.5.0, Lustre 2.6.0 |
| Fix Version/s: | Lustre 2.6.0, Lustre 2.5.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Ned Bass | Assignee: | Nathaniel Clark |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | patch, zfs | ||
| Severity: | 3 |
| Rank (Obsolete): | 11437 |
| Description |
|
The DSL Pool Configuration lock should be held when calling dsl_prop_register(). See comments here: https://github.com/zfsonlinux/zfs/blob/master/module/zfs/dsl_pool.c#L947 and assertion here: https://github.com/zfsonlinux/zfs/blob/master/module/zfs/dsl_prop.c#L238 Therefore osd_zfs will panic on mount if using a debug build of ZFS. |
| Comments |
| Comment by Ned Bass [ 04/Nov/13 ] |
|
http://review.whamcloud.com/#/c/8172/ Landing this change will take a bit of coordination, since it has a dependency on a ZFS build that exports the needed symbols. I don't really want to add an autoconf check, because the compatibility code would be messy. The DSL pool config lock is an rrwlock_t lock, which is a component of ZFS, but the API isn't exported. So without dsl_pool_config_{enter,exit} exported, there's really no clean way to take the lock without duplicating the rrwlock implementation in Lustre. |
| Comment by Peter Jones [ 05/Nov/13 ] |
|
Nathaniel could you please take care of this one? Thanks Peter |
| Comment by Nathaniel Clark [ 08/Nov/13 ] |
|
I think we should add an autoconf check, I don't think it would be that much of an issue. After landing an updated 8172 then we just wait for ZFS 0.6.3 to come out to close the bug. |
| Comment by Nathaniel Clark [ 02/Dec/13 ] |
|
Lustre patches are landed. This can be closed when builds start using zfs 0.6.3 |
| Comment by Peter Jones [ 12/Feb/14 ] |
|
This landed for 2.6. Is it needed for b2_4 and b2_5 also? |
| Comment by Ned Bass [ 13/Feb/14 ] |
|
I would say yes. |
| Comment by Nathaniel Clark [ 13/Feb/14 ] |
|
b2_5 and master are both at zfs 0.6.2, b2_4 is using 0.6.1. The current tip of zfs master (as of 2 weeks ago) wasn't stable enough to move to (see ZFS Issue 2088). I will backport the lustre change to both b2_4 and b2_5 |
| Comment by Nathaniel Clark [ 13/Feb/14 ] |
|
b2_5 http://review.whamcloud.com/9256 |
| Comment by Peter Jones [ 21/Feb/14 ] |
|
Landed for 2.5.1 and 2.6 but will only take effect once we move to zfs 0.6.3 |