svn commit: r346147 - stable/11/sbin/fsck_msdosfs

Xin LI delphij at FreeBSD.org
Tue Sep 3 14:07:30 UTC 2019


Author: delphij
Date: Fri Apr 12 02:27:03 2019
New Revision: 346147
URL: https://svnweb.freebsd.org/changeset/base/346147

Log:
  MFC r345647:
  
  Distinguish between lseek errors and read errores.

Modified:
  stable/11/sbin/fsck_msdosfs/dir.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sbin/fsck_msdosfs/dir.c
==============================================================================
--- stable/11/sbin/fsck_msdosfs/dir.c	Fri Apr 12 02:24:06 2019	(r346146)
+++ stable/11/sbin/fsck_msdosfs/dir.c	Fri Apr 12 02:27:03 2019	(r346147)
@@ -35,6 +35,7 @@ static const char rcsid[] =
   "$FreeBSD$";
 #endif /* not lint */
 
+#include <inttypes.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -329,8 +330,11 @@ delete(int f, struct bootblock *boot, struct fatEntry 
 		}
 		off = startcl * boot->bpbSecPerClust + boot->ClusterOffset;
 		off *= boot->bpbBytesPerSec;
-		if (lseek(f, off, SEEK_SET) != off
-		    || read(f, delbuf, clsz) != clsz) {
+		if (lseek(f, off, SEEK_SET) != off) {
+			perr("Unable to lseek to %" PRId64, off);
+			return FSFATAL;
+		}
+		if (read(f, delbuf, clsz) != clsz) {
 			perr("Unable to read directory");
 			return FSFATAL;
 		}
@@ -338,8 +342,11 @@ delete(int f, struct bootblock *boot, struct fatEntry 
 			*s = SLOT_DELETED;
 			s += 32;
 		}
-		if (lseek(f, off, SEEK_SET) != off
-		    || write(f, delbuf, clsz) != clsz) {
+		if (lseek(f, off, SEEK_SET) != off) {
+			perr("Unable to lseek to %" PRId64, off);
+			return FSFATAL;
+		}
+		if (write(f, delbuf, clsz) != clsz) {
 			perr("Unable to write directory");
 			return FSFATAL;
 		}




More information about the svn-src-all mailing list