mirror of https://github.com/docker/buildx.git
				
				
				
			vendor: github.com/moby/sys/mountinfo v0.7.1
full diff: https://github.com/moby/sys/compare/mountinfo/v0.6.2...mountinfo/v0.7.1 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
		
							parent
							
								
									da95d9f0ca
								
							
						
					
					
						commit
						bef5d567b0
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							|  | @ -25,7 +25,7 @@ require ( | |||
| 	github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 | ||||
| 	github.com/hashicorp/hcl/v2 v2.19.1 | ||||
| 	github.com/moby/buildkit v0.13.0-beta1.0.20240105171016-6e200afad512 // master (v0.13.0-dev) | ||||
| 	github.com/moby/sys/mountinfo v0.6.2 | ||||
| 	github.com/moby/sys/mountinfo v0.7.1 | ||||
| 	github.com/moby/sys/signal v0.7.0 | ||||
| 	github.com/morikuni/aec v1.0.0 | ||||
| 	github.com/opencontainers/go-digest v1.0.0 | ||||
|  |  | |||
							
								
								
									
										4
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										4
									
								
								go.sum
								
								
								
								
							|  | @ -325,8 +325,8 @@ github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkV | |||
| github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= | ||||
| github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= | ||||
| github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= | ||||
| github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= | ||||
| github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= | ||||
| github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= | ||||
| github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= | ||||
| github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= | ||||
| github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= | ||||
| github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= | ||||
|  |  | |||
|  | @ -5,15 +5,19 @@ import ( | |||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"os" | ||||
| 	"runtime" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
| 
 | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| 
 | ||||
| // GetMountsFromReader retrieves a list of mounts from the
 | ||||
| // reader provided, with an optional filter applied (use nil
 | ||||
| // for no filter). This can be useful in tests or benchmarks
 | ||||
| // that provide fake mountinfo data, or when a source other
 | ||||
| // than /proc/self/mountinfo needs to be read from.
 | ||||
| // than /proc/thread-self/mountinfo needs to be read from.
 | ||||
| //
 | ||||
| // This function is Linux-specific.
 | ||||
| func GetMountsFromReader(r io.Reader, filter FilterFunc) ([]*Info, error) { | ||||
|  | @ -127,8 +131,40 @@ func GetMountsFromReader(r io.Reader, filter FilterFunc) ([]*Info, error) { | |||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func parseMountTable(filter FilterFunc) ([]*Info, error) { | ||||
| 	f, err := os.Open("/proc/self/mountinfo") | ||||
| var ( | ||||
| 	haveProcThreadSelf     bool | ||||
| 	haveProcThreadSelfOnce sync.Once | ||||
| ) | ||||
| 
 | ||||
| func parseMountTable(filter FilterFunc) (_ []*Info, err error) { | ||||
| 	haveProcThreadSelfOnce.Do(func() { | ||||
| 		_, err := os.Stat("/proc/thread-self/mountinfo") | ||||
| 		haveProcThreadSelf = err == nil | ||||
| 	}) | ||||
| 
 | ||||
| 	// We need to lock ourselves to the current OS thread in order to make sure
 | ||||
| 	// that the thread referenced by /proc/thread-self stays alive until we
 | ||||
| 	// finish parsing the file.
 | ||||
| 	runtime.LockOSThread() | ||||
| 	defer runtime.UnlockOSThread() | ||||
| 
 | ||||
| 	var f *os.File | ||||
| 	if haveProcThreadSelf { | ||||
| 		f, err = os.Open("/proc/thread-self/mountinfo") | ||||
| 	} else { | ||||
| 		// On pre-3.17 kernels (such as CentOS 7), we don't have
 | ||||
| 		// /proc/thread-self/ so we need to manually construct
 | ||||
| 		// /proc/self/task/<tid>/ as a fallback.
 | ||||
| 		f, err = os.Open("/proc/self/task/" + strconv.Itoa(unix.Gettid()) + "/mountinfo") | ||||
| 		if os.IsNotExist(err) { | ||||
| 			// If /proc/self/task/... failed, it means that our active pid
 | ||||
| 			// namespace doesn't match the pid namespace of the /proc mount. In
 | ||||
| 			// this case we just have to make do with /proc/self, since there
 | ||||
| 			// is no other way of figuring out our tid in a parent pid
 | ||||
| 			// namespace on pre-3.17 kernels.
 | ||||
| 			f, err = os.Open("/proc/self/mountinfo") | ||||
| 		} | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | @ -158,10 +194,10 @@ func PidMountInfo(pid int) ([]*Info, error) { | |||
| // A few specific characters in mountinfo path entries (root and mountpoint)
 | ||||
| // are escaped using a backslash followed by a character's ascii code in octal.
 | ||||
| //
 | ||||
| //   space              -- as \040
 | ||||
| //   tab (aka \t)       -- as \011
 | ||||
| //   newline (aka \n)   -- as \012
 | ||||
| //   backslash (aka \\) -- as \134
 | ||||
| //	space              -- as \040
 | ||||
| //	tab (aka \t)       -- as \011
 | ||||
| //	newline (aka \n)   -- as \012
 | ||||
| //	backslash (aka \\) -- as \134
 | ||||
| //
 | ||||
| // This function converts path from mountinfo back, i.e. it unescapes the above sequences.
 | ||||
| func unescape(path string) (string, error) { | ||||
|  |  | |||
|  | @ -572,7 +572,7 @@ github.com/moby/patternmatcher/ignorefile | |||
| ## explicit; go 1.13 | ||||
| github.com/moby/spdystream | ||||
| github.com/moby/spdystream/spdy | ||||
| # github.com/moby/sys/mountinfo v0.6.2 | ||||
| # github.com/moby/sys/mountinfo v0.7.1 | ||||
| ## explicit; go 1.16 | ||||
| github.com/moby/sys/mountinfo | ||||
| # github.com/moby/sys/sequential v0.5.0 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue