IdiotSky

Results 6 comments of IdiotSky

我一开始就是做在master分支上的,你说坑吧,还好,最后解决,只是我做的过程中是无数次想放弃😄

不小心写错了,哈

@caiya 现在才看到,我想你应该知道了,但还是说一下吧,go是在编译的时候就知道哪些是struct实现了哪些接口,内嵌http.ResponseWriter只是告诉编译器我是一个包装了http.ResponseWriter的strut,我拥有http.ResponseWriter的所有方法,这样,go就知道不用去care是否HttpResponse 有没有实现方法,被包装的http.ResponseWriter实现就行。我这样做的目的就是扩展http.ResponseWriter没有实现的方法而已,其实所有类型的东西,都是给编译器看的。

因为cow的特性,很多页表项都会出现缺页异常,之前正常实验的话,缺页是发生在用户态,但是这两个实验合并的话,缺页就会发生在内核,所以要把用户态缺页处理函数,在内核态也要做一次。我repo下的实验都是一个实验做完一个commit,你可以看看我的commit参考下,太久了,我也不是很记得了

# netlink版本低 master 分支下,编译报错,vendor下的netlink版本低了,删了go get一个最新的编译可过 # pivot_root报错 我的是ubuntu16,所以跑代码在pivot_root系统调用那里报错`Invalid argument`,然后程序退出后,/proc有问题,其他issue有提到,翻了下[runc](https://github.com/opencontainers/runc/blob/bbb17efcb4c0ab986407812a31ba333a7450064c/libcontainer/rootfs_linux.go#L669)的代码,发现是因为`/`这个mount point的标记位是share, 所以pivot_root切换rootfs失败,加上后面重新mount /proc的时候,传递到host的/proc,使host的也有问题,在mount隔离下,是不应该有share的mount point的. 所以在`pivotRoot`函数开始加上 ````go if err := syscall.Mount("", "/", "", syscall.MS_PRIVATE|syscall.MS_REC, ""); err != nil { return fmt.Errorf("make parent...