Page MenuHomeFreeBSD

p9fs: Use UNLINKAT instead of REMOVE to implement removals
ClosedPublic

Authored by markj on Mon, Nov 4, 5:26 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 11, 11:40 PM
Unknown Object (File)
Fri, Nov 8, 5:37 PM
Unknown Object (File)
Fri, Nov 8, 12:04 PM
Unknown Object (File)
Fri, Nov 8, 11:56 AM
Unknown Object (File)
Fri, Nov 8, 11:35 AM
Unknown Object (File)
Fri, Nov 8, 11:33 AM
Unknown Object (File)
Fri, Nov 8, 11:07 AM
Unknown Object (File)
Fri, Nov 8, 6:29 AM
Subscribers

Details

Summary

REMOVE doesn't work properly in the face of hard links. Use UNLINKAT
instead, which is implemented by qemu and bhyve and lets the client
specify the name being removed.

PR: 282432

Test Plan

Just manual testing in bhyve. It's a bit tricky to write regression tests without having a socket-based transport, since that'd make it easy to implement a simple server using contrib/lib9p...

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Mon, Nov 4, 5:26 PM
markj added a reviewer: val_packett.cool.

LGTM - thanks for working on this. I think lib9p can support a socket-based transport which allows for testing lib9p itself. In the kernel there is an attempt at an abstraction layer but I think that its only ever been used with virtio,

This revision is now accepted and ready to land.Wed, Nov 6, 1:04 PM