Merge "Add cuttlefish impl for disabling subscription RIL APIs."
diff --git a/common/libs/fs/shared_fd.cpp b/common/libs/fs/shared_fd.cpp
index 82baad3..2f6d100 100644
--- a/common/libs/fs/shared_fd.cpp
+++ b/common/libs/fs/shared_fd.cpp
@@ -421,6 +421,10 @@
   return vsock;
 }
 
+SharedFD SharedFD::VsockServer(int type) {
+  return VsockServer(VMADDR_PORT_ANY, type);
+}
+
 SharedFD SharedFD::VsockClient(unsigned int cid, unsigned int port, int type) {
   auto vsock = cvd::SharedFD::Socket(AF_VSOCK, type, 0);
   if (!vsock->IsOpen()) {
diff --git a/common/libs/fs/shared_fd.h b/common/libs/fs/shared_fd.h
index 99deef1..eec17b1 100644
--- a/common/libs/fs/shared_fd.h
+++ b/common/libs/fs/shared_fd.h
@@ -157,6 +157,7 @@
   static SharedFD SocketSeqPacketServer(const char* name, mode_t mode);
   static SharedFD SocketSeqPacketClient(const char* name);
   static SharedFD VsockServer(unsigned int port, int type);
+  static SharedFD VsockServer(int type);
   static SharedFD VsockClient(unsigned int cid, unsigned int port, int type);
   static SharedFD TimerFD(int clock, int flags);
 
@@ -292,6 +293,22 @@
     return rval;
   }
 
+  int GetSockName(struct sockaddr* addr, socklen_t* addrlen) {
+    errno = 0;
+    int rval = TEMP_FAILURE_RETRY(getsockname(fd_, addr, addrlen));
+    if (rval == -1) {
+      errno_ = errno;
+    }
+    return rval;
+  }
+
+  unsigned int VsockServerPort() {
+    struct sockaddr_vm vm_socket;
+    socklen_t length = sizeof(vm_socket);
+    GetSockName(reinterpret_cast<struct sockaddr*>(&vm_socket), &length);
+    return vm_socket.svm_port;
+  }
+
   void Identify(const char* identity);
 
   int Ioctl(int request, void* val = nullptr) {
diff --git a/host/commands/assemble_cvd/data_image.cc b/host/commands/assemble_cvd/data_image.cc
index 82dad14..70fe0ef 100644
--- a/host/commands/assemble_cvd/data_image.cc
+++ b/host/commands/assemble_cvd/data_image.cc
@@ -15,9 +15,9 @@
 const int FSCK_ERROR_CORRECTED_REQUIRES_REBOOT = 2;
 
 bool ForceFsckImage(const char* data_image) {
-  int fsck_status = cvd::execute({"/sbin/e2fsck", "-y", "-f", data_image});
+  int fsck_status = cvd::execute({"/sbin/fsck.f2fs", "-y", "-f", data_image});
   if (fsck_status & ~(FSCK_ERROR_CORRECTED|FSCK_ERROR_CORRECTED_REQUIRES_REBOOT)) {
-    LOG(ERROR) << "`e2fsck -y -f " << data_image << "` failed with code "
+    LOG(ERROR) << "`fsck.f2fs -y -f " << data_image << "` failed with code "
                << fsck_status;
     return false;
   }
@@ -46,9 +46,9 @@
     if (!fsck_success) {
       return false;
     }
-    int resize_status = cvd::execute({"/sbin/resize2fs", data_image});
+    int resize_status = cvd::execute({"/sbin/resize.f2fs", data_image});
     if (resize_status != 0) {
-      LOG(ERROR) << "`resize2fs " << data_image << "` failed with code "
+      LOG(ERROR) << "`resize.f2fs " << data_image << "` failed with code "
                  << resize_status;
       return false;
     }
diff --git a/host/commands/assemble_cvd/flags.cc b/host/commands/assemble_cvd/flags.cc
index b9ee55b..be6c6d1 100644
--- a/host/commands/assemble_cvd/flags.cc
+++ b/host/commands/assemble_cvd/flags.cc
@@ -34,7 +34,7 @@
             "'always_create'.");
 DEFINE_int32(blank_data_image_mb, 0,
              "The size of the blank data image to generate, MB.");
-DEFINE_string(blank_data_image_fmt, "ext4",
+DEFINE_string(blank_data_image_fmt, "f2fs",
               "The fs format for the blank data image. Used with mkfs.");
 DEFINE_string(qemu_gdb, "",
               "Debug flag to pass to qemu. e.g. -qemu_gdb=tcp::1234");