Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for iNode (0.03 sec)

  1. cni/pkg/nodeagent/fakes_test.go

    type fakeNs struct {
    	closed *atomic.Bool
    	fd     uintptr
    	inode  uint64
    }
    
    func newFakeNs(fd uintptr) *fakeNs {
    	// the fake inode is the fd! magic.
    	return &fakeNs{closed: &atomic.Bool{}, fd: fd, inode: uint64(fd)}
    }
    
    func newFakeNsInode(fd uintptr, inode uint64) *fakeNs {
    	return &fakeNs{closed: &atomic.Bool{}, fd: fd, inode: inode}
    }
    
    // Fd returns the file descriptor
    func (f *fakeNs) Fd() uintptr {
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jun 28 23:33:46 UTC 2024
    - 3.9K bytes
    - Viewed (0)
  2. cni/pkg/nodeagent/netns_linux_test.go

    	ns, err := OpenNetns("/proc/self/ns/net")
    	if err != nil {
    		t.Fatalf("unexpected error: %v", err)
    	}
    	// the inode for netns is proc dynamic, so it needs to be higher than
    	// #define PROC_DYNAMIC_FIRST 0xF0000000U
    
    	if ns.Inode() < 0xF0000000 {
    		t.Fatalf("unexpected inode: %v", ns.Inode())
    	}
    	defer ns.Close()
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 976 bytes
    - Viewed (0)
  3. cni/pkg/nodeagent/netns_linux.go

    	"fmt"
    	"runtime"
    	"sync"
    
    	netns "github.com/containernetworking/plugins/pkg/ns"
    	"golang.org/x/sys/unix"
    )
    
    type NetnsWrapper struct {
    	innerNetns netns.NetNS
    	inode      uint64
    }
    
    func (n *NetnsWrapper) Inode() uint64 {
    	return n.inode
    }
    
    func (n *NetnsWrapper) Close() error {
    	return n.innerNetns.Close()
    }
    
    func (n *NetnsWrapper) Fd() uintptr {
    	return n.innerNetns.Fd()
    }
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Jan 31 10:05:36 UTC 2024
    - 2.7K bytes
    - Viewed (0)
  4. cni/pkg/nodeagent/netns.go

    package nodeagent
    
    import "io"
    
    type NetnsFd interface {
    	Fd() uintptr
    }
    
    type Netns interface {
    	NetnsFd
    	Inode() uint64
    }
    type NetnsCloser interface {
    	io.Closer
    	Netns
    }
    
    type NetnsWithFd struct {
    	netns io.Closer
    	fd    uintptr
    	inode uint64
    }
    
    func (n *NetnsWithFd) Close() error {
    	if n.netns == nil {
    		return nil
    	}
    
    	ret := n.netns.Close()
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 1.2K bytes
    - Viewed (0)
  5. cni/pkg/nodeagent/pod_cache.go

    		if existing.Netns.Inode() == workload.Netns.Inode() {
    			workload.Netns.Close()
    			// Replace the workload, but keep the old Netns
    			p.currentPodCache[uid] = WorkloadInfo{
    				Workload: workload.Workload,
    				Netns:    existing.Netns,
    			}
    			// already in cache
    			return existing.Netns
    		}
    		log.Debug("netns inode mismatch, using the new one")
    	}
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri May 31 17:18:11 UTC 2024
    - 4.3K bytes
    - Viewed (0)
  6. istioctl/pkg/writer/ztunnel/configdump/workload.go

    		jn := verifiedWorkloads[j].Namespace + "." + verifiedWorkloads[j].Name
    		if in != jn {
    			return in < jn
    		}
    		iNode := verifiedWorkloads[i].Node
    		jNode := verifiedWorkloads[j].Node
    		return iNode < jNode
    	})
    
    	fmt.Fprintln(w, "NAMESPACE\tPOD NAME\tADDRESS\tNODE\tWAYPOINT\tPROTOCOL")
    
    	for _, wl := range verifiedWorkloads {
    		address := strings.Join(wl.WorkloadIPs, ",")
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Jul 24 09:07:30 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  7. cni/pkg/nodeagent/podcgroupns_linux.go

    import (
    	"fmt"
    	"io/fs"
    	"syscall"
    )
    
    func GetInode(fi fs.FileInfo) (uint64, error) {
    	if stat, ok := fi.Sys().(*syscall.Stat_t); ok {
    		return stat.Ino, nil
    	}
    	return 0, fmt.Errorf("unable to get inode")
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 814 bytes
    - Viewed (0)
  8. cni/pkg/nodeagent/pod_cache_test.go

    	return newFakeNs(inc()), nil
    }
    
    func openNsTestOverrideWithInodes(inodes ...uint64) func(s string) (NetnsCloser, error) {
    	i := 0
    	return func(s string) (NetnsCloser, error) {
    		inode := inodes[i]
    		i++
    		return newFakeNsInode(inc(), inode), nil
    	}
    }
    
    func TestUpsertPodCache(t *testing.T) {
    	counter.Store(0)
    
    	p := newPodNetnsCache(openNsTestOverrideWithInodes(1, 1))
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Aug 14 19:36:19 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  9. cni/pkg/nodeagent/podcgroupns_other.go

    // limitations under the License.
    
    package nodeagent
    
    import (
    	"fmt"
    	"io/fs"
    )
    
    func GetInode(fi fs.FileInfo) (uint64, error) {
    	return 0, fmt.Errorf("unable to get inode os not supported")
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 781 bytes
    - Viewed (0)
  10. internal/disk/fdatasync_linux.go

    // unless that metadata is needed in order to allow a subsequent data retrieval
    // to  be  correctly  handled.   For example, changes to st_atime or st_mtime
    // (respectively, time of last access and time of last modification; see inode(7))
    // do not require flushing because they are not necessary for a subsequent data
    // read to be handled correctly. On the other hand, a change to the file size
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Sep 29 23:40:28 UTC 2021
    - 1.8K bytes
    - Viewed (0)
Back to top