code: func setProjectQuota(backingFsBlockDev string, projectID uint32, quota Quota) error {
  	var d C.fs_disk_quota_t
  	d.d_version = C.FS_DQUOT_VERSION
  	d.d_id = C.__u32(projectID)
  	d.d_flags = C.XFS_PROJ_QUOTA
  
  	d.d_fieldmask = C.FS_DQ_BHARD | C.FS_DQ_BSOFT
  	d.d_blk_hardlimit = C.__u64(quota.Size / 512)
  	d.d_blk_softlimit = d.d_blk_hardlimit
  
  	var cs = C.CString(backingFsBlockDev)
  	defer C.free(unsafe.Pointer(cs))
  
  	_, _, errno := unix.Syscall6(unix.SYS_QUOTACTL, C.Q_XSETPQLIM,
  		uintptr(unsafe.Pointer(cs)), uintptr(d.d_id),
  		uintptr(unsafe.Pointer(&d)), 0, 0)
  	if errno != 0 {
  		return errors.Wrapf(errno, "failed to set quota limit for projid %d on %s",
  			projectID, backingFsBlockDev)
  	}
  
  	return nil
  }
docs: // setProjectQuota - set the quota for project id on xfs block device