Project

General

Profile

Actions

Bug #6566

closed

panics in zfs_ioc_objset_stats_impl during zvol creation and destruction

Added by Alan Somers over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2016-01-19
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

There is a short race condition during which zvol_get_stats() can return EEXIST in zfs_ioc_objset_stats_impl(): after a zvol's znode gets created but before its zap gets created. Due to zfs_ioc_objset_stats_impl() not having a hold on the objset, it must simply ignore such errors.

Similarly, zvol_get_stats() can return ENOENT during zvol destruction. zfs_ioc_objset_stats_impl() must similarly ignore it.

Both of these errors will result in panics if ignored.

Both of these panics were revealed by running the ZFS test suite on FreeBSD while another process does frequent "zfs status" and "zpool status" commands.

Actions

Also available in: Atom PDF