v.Warnings=append(v.Warnings,"WARNING: No memory limit support")
}
if!v.SwapLimit{
v.Warnings=append(v.Warnings,"WARNING: No swap limit support")
}
if!v.KernelMemory{
v.Warnings=append(v.Warnings,"WARNING: No kernel memory limit support")
}
if!v.OomKillDisable{
v.Warnings=append(v.Warnings,"WARNING: No oom kill disable support")
}
if!v.CPUCfsQuota{
v.Warnings=append(v.Warnings,"WARNING: No cpu cfs quota support")
}
if!v.CPUCfsPeriod{
v.Warnings=append(v.Warnings,"WARNING: No cpu cfs period support")
}
if!v.CPUShares{
v.Warnings=append(v.Warnings,"WARNING: No cpu shares support")
}
if!v.CPUSet{
v.Warnings=append(v.Warnings,"WARNING: No cpuset support")
}
if!v.IPv4Forwarding{
v.Warnings=append(v.Warnings,"WARNING: IPv4 forwarding is disabled")
}
if!v.BridgeNfIptables{
v.Warnings=append(v.Warnings,"WARNING: bridge-nf-call-iptables is disabled")
}
if!v.BridgeNfIP6tables{
v.Warnings=append(v.Warnings,"WARNING: bridge-nf-call-ip6tables is disabled")
}
}
funcfillDriverWarnings(v*types.Info){
for_,pair:=rangev.DriverStatus{
ifpair[0]=="Data loop file"{
msg:=fmt.Sprintf("WARNING: %s: usage of loopback devices is "+
"strongly discouraged for production use.\n "+
"Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.",v.Driver)
v.Warnings=append(v.Warnings,msg)
continue
}
ifpair[0]=="Supports d_type"&&pair[1]=="false"{
backingFs:=getBackingFs(v)
msg:=fmt.Sprintf("WARNING: %s: the backing %s filesystem is formatted without d_type support, which leads to incorrect behavior.\n",v.Driver,backingFs)
ifbackingFs=="xfs"{
msg+=" Reformat the filesystem with ftype=1 to enable d_type support.\n"
}
msg+=" Running without d_type support will not be supported in future releases."