#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#ifdef __APPLE__
#include <sys/disk.h>
#endif
#ifdef __APPLE__
#include <sys/disk.h>
#endif
int exfat_close(struct exfat_dev* dev)
{
int exfat_close(struct exfat_dev* dev)
{
#ifdef USE_UBLIO
if (ublio_close(dev->ufh) != 0)
#ifdef USE_UBLIO
if (ublio_close(dev->ufh) != 0)
exfat_error("failed to close ublio");
exfat_error("failed to close ublio");
#endif
if (close(dev->fd) != 0)
{
#endif
if (close(dev->fd) != 0)
{
exfat_error("failed to close device");
exfat_error("failed to close device");
}
int exfat_fsync(struct exfat_dev* dev)
{
}
int exfat_fsync(struct exfat_dev* dev)
{
#ifdef USE_UBLIO
if (ublio_fsync(dev->ufh) != 0)
#ifdef USE_UBLIO
if (ublio_fsync(dev->ufh) != 0)
-#else
- if (fsync(dev->fd) != 0)
+ {
+ exfat_error("ublio fsync failed");
+ rc = -EIO;
+ }
+ if (fsync(dev->fd) != 0)
{
exfat_error("fsync failed");
{
exfat_error("fsync failed");
}
enum exfat_mode exfat_get_mode(const struct exfat_dev* dev)
}
enum exfat_mode exfat_get_mode(const struct exfat_dev* dev)