Increase zeroing performance for data partition

It's possible to increase queue depth for O_DIRECT in simple cases like ours by just
submitting bigger buffers. As long as they are an exact multiple of the block size this is fine
and the kernel doesn't complain. This also enables O_SYNC to prevent any buffering on the guest.
This should help to push out data quicker and prevent buffer bloat. The host has its own cache
anyways.

Test Plan:
No change in functionality, I observe more predictable performance (previously
I sometimes had stalls where the initialization would take > 60s).

X-Origin-Diff: phab/D599
GitOrigin-RevId: 19554fd9e6d709bde738d01a0d2de190c441640e
diff --git a/core/internal/storage/blockdev.go b/core/internal/storage/blockdev.go
index fc556e1..660abe6 100644
--- a/core/internal/storage/blockdev.go
+++ b/core/internal/storage/blockdev.go
@@ -129,13 +129,13 @@
 		return err
 	}
 
-	blkdev, err := os.OpenFile(fmt.Sprintf("/dev/%v", name), unix.O_DIRECT|os.O_WRONLY, 0000)
+	blkdev, err := os.OpenFile(fmt.Sprintf("/dev/%v", name), unix.O_DIRECT|os.O_WRONLY|os.O_SYNC, 0000)
 	if err != nil {
 		return fmt.Errorf("failed to open new encrypted device for zeroing: %w", err)
 	}
 	defer blkdev.Close()
 	blockSize, err := unix.IoctlGetUint32(int(blkdev.Fd()), unix.BLKSSZGET)
-	zeroedBuf := make([]byte, blockSize*100) // Make it faster
+	zeroedBuf := make([]byte, blockSize*10000) // Make it faster
 	for {
 		_, err := blkdev.Write(zeroedBuf)
 		if e, ok := err.(*os.PathError); ok && e.Err == syscall.ENOSPC {