Skip to content

Remove hardlink in judger plugins #89

@Eason0729

Description

@Eason0729

Judger plugin(or language support) is just a tarball with extension(.lang)

We should remove all hardlink in official plugin, so judger won't emit warning to confuse user.

State of art on plugin packaging

When we package official plugin, we use docker export to export a unix-like filesystem in tarball.

There are three type of entry in tarball:

  • regular file
  • symlink: mapped to filesystem in tarball
  • hardlink: should not be mapped to outside world

In current implementation, hardlink would cause judger to emit warning(because hardlink won't be mapped), and accessing it would cause KMEM error.

In addition, docker export treat common device as hardlink, including /dev/null, /dev/random, and our implementation provide such device, so it normally safe to remove.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-JudgerRelate to judgerK-BugSomething isn't workingP-LowLow prioritygood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions