no-cdev-fsync-20040303
authorJim Rees <rees@umich.edu>
Wed, 3 Mar 2004 22:41:05 +0000 (22:41 +0000)
committerJim Rees <rees@umich.edu>
Wed, 3 Mar 2004 22:41:05 +0000 (22:41 +0000)
don't try to fsync() a character special dev
reported and fix suggested by Helmut Jarausch

src/usd/usd_file.c

index f113540..b9c73cf 100644 (file)
@@ -306,17 +306,9 @@ usd_FileClose(usd_handle_t usd)
     if (usd->openFlags & (O_WRONLY | O_RDWR)) {
        int mode;
        code = usd_FileIoctl(usd, USD_IOCTL_GETTYPE, &mode);
-       if (code == 0) {
-           if (S_ISBLK(mode)
-#ifndef AFS_AIX_ENV
-               /* on AIX3.1 can't fsync raw disk device */
-               || S_ISCHR(mode)
-#endif
-               ) {
-               code = fsync(fd);
-               if (code)
-                   code = errno;
-           }
+       if (code == 0 && S_ISBLK(mode)) {
+           if (fsync(fd) < 0)
+               code = errno;
        }
     }