Whamcloud - gitweb
flushb.c (ext2fs_sync_device): If the BLKFLSBUF ioctl succeeds,
authorTheodore Ts'o <tytso@mit.edu>
Thu, 31 Oct 2002 17:21:05 +0000 (12:21 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 31 Oct 2002 17:21:05 +0000 (12:21 -0500)
don't try the FDFLUSH ioctl that was required for floppies
with older kernels.  This avoids needless whining from the
MD device driver.  (Addresses Sourceforge bug #545832).

lib/ext2fs/ChangeLog
lib/ext2fs/flushb.c

index 5f7d43b..d1e4f18 100644 (file)
@@ -1,5 +1,10 @@
 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
 
+       * flushb.c (ext2fs_sync_device): If the BLKFLSBUF ioctl succeeds,
+               don't try the FDFLUSH ioctl that was required for floppies
+               with older kernels.  This avoids needless whining from the
+               MD device driver.  (Addresses Sourceforge bug #545832).
+
        * openfs.c (ext2fs_open): Fix bug which caused us to pass the
                wrong group_block to ext2fs_descriptor_block_loc if we're
                using the backup superblock/block group descriptors.
index 282dca3..ed4d390 100644 (file)
@@ -62,12 +62,13 @@ errcode_t ext2fs_sync_device(int fd, int flushb)
        if (flushb) {
 
 #ifdef BLKFLSBUF
-               ioctl (fd, BLKFLSBUF, 0);   /* In case this is a HD */
+               if (ioctl (fd, BLKFLSBUF, 0) == 0)
+                       return 0;
 #else
  #warning BLKFLSBUF not defined
 #endif
 #ifdef FDFLUSH
-               ioctl (fd, FDFLUSH, 0);   /* In case this is floppy */
+               ioctl (fd, FDFLUSH, 0);   /* In case this is floppy */
 #else
  #warning FDFLUSH not defined
 #endif