Skip to contentSkip to conversation

Remove useless if in mm/filemap

PATCH New Eric Sesterhenn 1 participant 1 message Aug 9, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove useless if in mm/filemap

hi,

since the variable copied is size_t, which means it is unsigned, the copied >= 0 expression is always true. Therefore we can remove the if. It does not seem that filemap_copy_from_user() or filemap_copy_from_user_iovec() can ever return negative values, or any of the functions they call, so this should be safe. The patch simply removes the if statement and fixes identation.

mm/filemap.c renamed from mm/filemap.c.orig +15 -18
@@ -2158,24 +2158,21 @@ generic_file_buffered_write(struct kiocb
 			continue;
 		}
 zero_length_segment:
-		if (likely(copied >= 0)) {
-			if (!status)
-				status = copied;
-
-			if (status >= 0) {
-				written += status;
-				count -= status;
-				pos += status;
-				buf += status;
-				if (unlikely(nr_segs > 1)) {
-					filemap_set_next_iovec(&cur_iov,
-							&iov_base, status);
-					if (count)
-						buf = cur_iov->iov_base +
-							iov_base;
-				} else {
-					iov_base += status;
-				}
+		if (!status)
+			status = copied;
+
+		if (status >= 0) {
+			written += status;
+			count -= status;
+			pos += status;
+			buf += status;
+			if (unlikely(nr_segs > 1)) {
+				filemap_set_next_iovec(&cur_iov,
+					&iov_base, status);
+				if (count)
+					buf = cur_iov->iov_base + iov_base;
+			} else {
+				iov_base += status;
 			}
 		}
 		if (unlikely(copied != bytes))