[PATCH] fs: iomap: replace the ternary conditional operator with max_t()

Lu Hongfei posted 1 patch 2 years, 7 months ago
fs/iomap/iter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] fs: iomap: replace the ternary conditional operator with max_t()
Posted by Lu Hongfei 2 years, 7 months ago
It would be better to replace the traditional ternary conditional
operator with max_t() in iomap_iter

Signed-off-by: Lu Hongfei <luhongfei@vivo.com>
---
 fs/iomap/iter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/iomap/iter.c b/fs/iomap/iter.c
index 79a0614eaab7..528fd196c50b 100644
--- a/fs/iomap/iter.c
+++ b/fs/iomap/iter.c
@@ -77,7 +77,7 @@ int iomap_iter(struct iomap_iter *iter, const struct iomap_ops *ops)
 
 	if (iter->iomap.length && ops->iomap_end) {
 		ret = ops->iomap_end(iter->inode, iter->pos, iomap_length(iter),
-				iter->processed > 0 ? iter->processed : 0,
+				max_t(s64, iter->processed, 0),
 				iter->flags, &iter->iomap);
 		if (ret < 0 && !iter->processed)
 			return ret;
-- 
2.39.0
Re: [PATCH] fs: iomap: replace the ternary conditional operator with max_t()
Posted by Matthew Wilcox 2 years, 7 months ago
On Mon, Jun 26, 2023 at 10:22:12AM +0800, Lu Hongfei wrote:
> It would be better to replace the traditional ternary conditional
> operator with max_t() in iomap_iter

No it wouldn't.

There are two possible meanings for iter->processed.  Either we
processed a positive number of bytes, or it's an errno.  max_t()
doesn't express that.  Your patch adds confusion, not reduces it.