// Bind implements InodeOperations.Bind.
Bind implements InodeOperations.Bind.
// Bind implements InodeOperations . Bind .
func (i *inodeOperations) Bind(ctx context.Context, dir *fs.Inode, name string, ep transport.BoundEndpoint, perm fs.FilePermissions) (*fs.Dirent, error) {
	if len(name) > maxFilenameLen {
		return nil, syserror.ENAMETOOLONG
	}
	if i.session().overrides == nil {
		return nil, syserror.EOPNOTSUPP
	}
	unlock := i.session().overrides.lock()
	defer unlock()
	sattr, iops, err := i.createEndpointFile(ctx, dir, name, perm, p9.ModeSocket)
	if err != nil {
		return nil, err
	}
	childDir := fs.NewDirent(ctx, fs.NewInode(ctx, iops, dir.MountSource, sattr), name)
	i.session().overrides.addBoundEndpoint(iops.fileState.key, childDir, ep)
	return childDir, nil
}
func ( i * inodeOperations ) Bind ( ctx context . Context , dir * fs . Inode , name string , ep transport . BoundEndpoint , perm fs . FilePermissions ) ( * fs . Dirent , error ) { if len ( name ) > maxFilenameLen { return nil , syserror . ENAMETOOLONG } if i . session ( ) . overrides == nil { return nil , syserror . EOPNOTSUPP } unlock := i . session ( ) . overrides . lock ( ) defer unlock ( ) sattr , iops , err := i . createEndpointFile ( ctx , dir , name , perm , p9 . ModeSocket ) if err != nil { return nil , err } childDir := fs . NewDirent ( ctx , fs . NewInode ( ctx , iops , dir . MountSource , sattr ) , name ) i . session ( ) . overrides . addBoundEndpoint ( iops . fileState . key , childDir , ep ) return childDir , nil }
Bind implements InodeOperations.Bind.
Bind implements InodeOperations . Bind .
// Stabilize the override map while creation is in progress. // Construct the positive Dirent.