Skip to content

crash when creating snapshot due to truncated sysfs name #102

Closed
@fajarnugraha

Description

@fajarnugraha

I'm testing zpl branch, and got a crash when creating a snapshot. Console log shows something interesting:

------------[ cut here ]------------
WARNING: at fs/sysfs/dir.c:491 sysfs_add_one+0xdb/0xf3()
Hardware name: ProLiant BL460c G1
sysfs: cannot create duplicate filename '/block/vm!win2008r2ent-template!xvda@t'

... and further below

kobject_add_internal failed for vm!win2008r2ent-template!xvda@t with -EEXIST, don't try to register things with the same name in the same directory.

... then

------------[ cut here ]------------
kernel BUG at fs/sysfs/group.c:65!
invalid opcode: 0000 [#1] SMP 
last sysfs file: /sys/block/vm!win2008r2ent-template!xvda@t/removable

... and finally

---[ end trace 042bc5835f9d13d4 ]---
Kernel panic - not syncing: Fatal exception

The name is truncated. It's supposed to be :

  • '/block/vm!win2008r2ent-template!xvda@template' (the one I created first), and
  • '/block/vm!win2008r2ent-template!xvda@test' (the one I just created, which cause the crash)

Perhaps we should change sysfs filename to use something like sequential numbers (zvol-1, zvol-2, etc) and keep symlinks/mappings somewhere? It would be similar to LVM, which simply use dm-X for sysfs, but the mapping can be traced by looking at minor number in /dev/mapper directory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions