diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-13 11:08:03 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-13 11:38:53 +0100 |
commit | 4b8e01f7c559ef661910d013347513221f3baca7 (patch) | |
tree | 55e3c62d9afecf5e9bc17a1ef823f9311ff7c280 /cpukit/libfs | |
parent | dosfs: Fix error status handling (diff) | |
download | rtems-4b8e01f7c559ef661910d013347513221f3baca7.tar.bz2 |
dosfs: Add sync_device option for msdos_format()
Diffstat (limited to 'cpukit/libfs')
-rw-r--r-- | cpukit/libfs/src/dosfs/dosfs.h | 5 | ||||
-rw-r--r-- | cpukit/libfs/src/dosfs/msdos_format.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/cpukit/libfs/src/dosfs/dosfs.h b/cpukit/libfs/src/dosfs/dosfs.h index 48574664ea..2374e63f2b 100644 --- a/cpukit/libfs/src/dosfs/dosfs.h +++ b/cpukit/libfs/src/dosfs/dosfs.h @@ -95,6 +95,11 @@ typedef struct { bool skip_alignment; /** + * @brief Synchronize device after write operations. + */ + bool sync_device; + + /** * @brief The amount of info to output. */ int info_level; diff --git a/cpukit/libfs/src/dosfs/msdos_format.c b/cpukit/libfs/src/dosfs/msdos_format.c index 0bf3f398ef..0b30caf030 100644 --- a/cpukit/libfs/src/dosfs/msdos_format.c +++ b/cpukit/libfs/src/dosfs/msdos_format.c @@ -1251,6 +1251,11 @@ int msdos_format tmp_sec); } } + + if (ret_val == 0 && rqdata != NULL && rqdata->sync_device) { + ret_val = rtems_disk_fd_sync(fd); + } + /* * cleanup: * sync and unlock disk |