code: func (inode *Inode) getXattrMap(name string, userOnly bool) (
  	meta map[string][]byte, newName string, err error) {
  
  	if strings.HasPrefix(name, "s3.") {
  		if userOnly {
  			return nil, "", syscall.EACCES
  		}
  
  		newName = name[3:]
  		meta = inode.s3Metadata
  	} else if strings.HasPrefix(name, "user.") {
  		err = inode.fillXattr()
  		if err != nil {
  			return nil, "", err
  		}
  
  		newName = name[5:]
  		meta = inode.userMetadata
  	} else {
  		if userOnly {
  			return nil, "", syscall.EACCES
  		} else {
  			return nil, "", syscall.ENODATA
  		}
  	}
  
  	if meta == nil {
  		return nil, "", syscall.ENODATA
  	}
  
  	return
  }
docs: // LOCKS_REQUIRED(inode.mu)