code: func IsBind(options []string) (bool, []string, []string) {
  	// Because we have an FD opened on the subpath bind mount, the "bind" option
  	// needs to be included, otherwise the mount target will error as busy if you
  	// remount as readonly.
  	//
  	// As a consequence, all read only bind mounts will no longer change the underlying
  	// volume mount to be read only.
  	bindRemountOpts := []string{"bind", "remount"}
  	bind := false
  	bindOpts := []string{"bind"}
  
  	// _netdev is a userspace mount option and does not automatically get added when
  	// bind mount is created and hence we must carry it over.
  	if checkForNetDev(options) {
  		bindOpts = append(bindOpts, "_netdev")
  	}
  
  	for _, option := range options {
  		switch option {
  		case "bind":
  			bind = true
  			break
  		case "remount":
  			break
  		default:
  			bindRemountOpts = append(bindRemountOpts, option)
  		}
  	}
  
  	return bind, bindOpts, bindRemountOpts
  }
docs: // IsBind detects whether a bind mount is being requested and makes the remount options to
  // use in case of bind mount, due to the fact that bind mount doesn't respect mount options.
  // The list equals:
  //   options - 'bind' + 'remount' (no duplicate)