mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Plumbing context.Context to DecRef() and Release().
context is passed to DecRef() and Release() which is needed for SO_LINGER implementation. PiperOrigin-RevId: 324672584
This commit is contained in:
committed by
gVisor bot
parent
ef11bb936b
commit
b2ae7ea1bb
@@ -103,9 +103,9 @@ func (fstype FilesystemType) newFilesystem(vfsObj *vfs.VirtualFilesystem, creds
|
||||
}
|
||||
|
||||
// Release implements vfs.FilesystemImpl.Release.
|
||||
func (fs *filesystem) Release() {
|
||||
func (fs *filesystem) Release(ctx context.Context) {
|
||||
fs.Filesystem.VFSFilesystem().VirtualFilesystem().PutAnonBlockDevMinor(fs.devMinor)
|
||||
fs.Filesystem.Release()
|
||||
fs.Filesystem.Release(ctx)
|
||||
}
|
||||
|
||||
// rootInode is the root directory inode for the devpts mounts.
|
||||
|
||||
@@ -60,7 +60,7 @@ func (mi *masterInode) Open(ctx context.Context, rp *vfs.ResolvingPath, vfsd *vf
|
||||
}
|
||||
fd.LockFD.Init(&mi.locks)
|
||||
if err := fd.vfsfd.Init(fd, opts.Flags, rp.Mount(), vfsd, &vfs.FileDescriptionOptions{}); err != nil {
|
||||
mi.DecRef()
|
||||
mi.DecRef(ctx)
|
||||
return nil, err
|
||||
}
|
||||
return &fd.vfsfd, nil
|
||||
@@ -98,9 +98,9 @@ type masterFileDescription struct {
|
||||
var _ vfs.FileDescriptionImpl = (*masterFileDescription)(nil)
|
||||
|
||||
// Release implements vfs.FileDescriptionImpl.Release.
|
||||
func (mfd *masterFileDescription) Release() {
|
||||
func (mfd *masterFileDescription) Release(ctx context.Context) {
|
||||
mfd.inode.root.masterClose(mfd.t)
|
||||
mfd.inode.DecRef()
|
||||
mfd.inode.DecRef(ctx)
|
||||
}
|
||||
|
||||
// EventRegister implements waiter.Waitable.EventRegister.
|
||||
|
||||
@@ -56,7 +56,7 @@ func (si *slaveInode) Open(ctx context.Context, rp *vfs.ResolvingPath, vfsd *vfs
|
||||
}
|
||||
fd.LockFD.Init(&si.locks)
|
||||
if err := fd.vfsfd.Init(fd, opts.Flags, rp.Mount(), vfsd, &vfs.FileDescriptionOptions{}); err != nil {
|
||||
si.DecRef()
|
||||
si.DecRef(ctx)
|
||||
return nil, err
|
||||
}
|
||||
return &fd.vfsfd, nil
|
||||
@@ -103,8 +103,8 @@ type slaveFileDescription struct {
|
||||
var _ vfs.FileDescriptionImpl = (*slaveFileDescription)(nil)
|
||||
|
||||
// Release implements fs.FileOperations.Release.
|
||||
func (sfd *slaveFileDescription) Release() {
|
||||
sfd.inode.DecRef()
|
||||
func (sfd *slaveFileDescription) Release(ctx context.Context) {
|
||||
sfd.inode.DecRef(ctx)
|
||||
}
|
||||
|
||||
// EventRegister implements waiter.Waitable.EventRegister.
|
||||
|
||||
Reference in New Issue
Block a user