linux-yocto/drivers/md
Linus Torvalds ab55a0c6a5 minmax: add a few more MIN_T/MAX_T users
commit 4477b39c32 upstream.

Commit 3a7e02c040 ("minmax: avoid overly complicated constant
expressions in VM code") added the simpler MIN_T/MAX_T macros in order
to avoid some excessive expansion from the rather complicated regular
min/max macros.

The complexity of those macros stems from two issues:

 (a) trying to use them in situations that require a C constant
     expression (in static initializers and for array sizes)

 (b) the type sanity checking

and MIN_T/MAX_T avoids both of these issues.

Now, in the whole (long) discussion about all this, it was pointed out
that the whole type sanity checking is entirely unnecessary for
min_t/max_t which get a fixed type that the comparison is done in.

But that still leaves min_t/max_t unnecessarily complicated due to
worries about the C constant expression case.

However, it turns out that there really aren't very many cases that use
min_t/max_t for this, and we can just force-convert those.

This does exactly that.

Which in turn will then allow for much simpler implementations of
min_t()/max_t().  All the usual "macros in all upper case will evaluate
the arguments multiple times" rules apply.

We should do all the same things for the regular min/max() vs MIN/MAX()
cases, but that has the added complexity of various drivers defining
their own local versions of MIN/MAX, so that needs another level of
fixes first.

Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
Cc: David Laight <David.Laight@aculab.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Eliav Farber <farbere@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-10-02 13:40:43 +02:00
..
bcache bcache: fix NULL pointer in cache_set_flush() 2025-07-06 10:57:55 +02:00
persistent-data dm array: fix cursor index when skipping across block boundaries 2025-01-17 13:34:37 +01:00
dm-audit.c
dm-audit.h
dm-bio-prison-v1.c
dm-bio-prison-v1.h
dm-bio-prison-v2.c
dm-bio-prison-v2.h
dm-bio-record.h
dm-bufio.c dm-bufio: don't schedule in atomic context 2025-05-09 09:41:39 +02:00
dm-builtin.c
dm-cache-background-tracker.c
dm-cache-background-tracker.h
dm-cache-block-types.h
dm-cache-metadata.c
dm-cache-metadata.h
dm-cache-policy-internal.h
dm-cache-policy-smq.c dm cache policy smq: ensure IO doesn't prevent cleaner policy progress 2023-08-03 10:24:17 +02:00
dm-cache-policy.c
dm-cache-policy.h dm: address indent/space issues 2024-03-26 18:21:02 -04:00
dm-cache-target.c dm cache: prevent BUG_ON by blocking retries on failed device resumes 2025-06-04 14:40:08 +02:00
dm-clone-metadata.c bitmap: introduce generic optimized bitmap_size() 2024-08-29 17:30:14 +02:00
dm-clone-metadata.h
dm-clone-target.c
dm-core.h dm: limit the number of targets and parameter size area 2024-02-23 09:12:52 +01:00
dm-crypt.c dm-crypt: track tag_offset in convert_context 2025-02-21 13:49:44 +01:00
dm-delay.c dm-delay: fix a race between delay_presuspend and delay_bio 2023-12-03 07:32:11 +01:00
dm-dust.c
dm-ebs-target.c dm-ebs: fix prefetch-vs-suspend race 2025-04-25 10:43:44 +02:00
dm-era-target.c
dm-exception-store.c
dm-exception-store.h
dm-flakey.c
dm-ima.c
dm-ima.h
dm-init.c dm init: Handle minors larger than 255 2024-09-12 11:10:22 +02:00
dm-integrity.c minmax: add a few more MIN_T/MAX_T users 2025-10-02 13:40:43 +02:00
dm-io-rewind.c
dm-io-tracker.h
dm-io.c dm io: Support IO priority 2024-03-26 18:21:02 -04:00
dm-ioctl.c dm resume: don't return EINVAL when signalled 2024-08-29 17:30:14 +02:00
dm-kcopyd.c dm io: Support IO priority 2024-03-26 18:21:02 -04:00
dm-linear.c
dm-log-userspace-base.c
dm-log-userspace-transfer.c dm: avoid split of quoted strings where possible 2023-07-19 16:22:07 +02:00
dm-log-userspace-transfer.h
dm-log-writes.c
dm-log.c dm io: Support IO priority 2024-03-26 18:21:02 -04:00
dm-mpath.c dm: fix undue/missing spaces 2023-07-19 16:22:07 +02:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-ps-historical-service-time.c dm-mpath: don't print the "loaded" message if registering fails 2025-08-28 16:26:01 +02:00
dm-ps-io-affinity.c
dm-ps-queue-length.c dm-mpath: don't print the "loaded" message if registering fails 2025-08-28 16:26:01 +02:00
dm-ps-round-robin.c dm-mpath: don't print the "loaded" message if registering fails 2025-08-28 16:26:01 +02:00
dm-ps-service-time.c dm-mpath: don't print the "loaded" message if registering fails 2025-08-28 16:26:01 +02:00
dm-raid.c dm-raid: fix variable in journal device check 2025-07-06 10:58:01 +02:00
dm-raid1.c dm-mirror: fix a tiny race condition 2025-06-27 11:07:30 +01:00
dm-region-hash.c
dm-rq.c Revert "dm: requeue IO if mapping table not yet available" 2024-10-17 15:21:12 +02:00
dm-rq.h
dm-snap-persistent.c dm io: Support IO priority 2024-03-26 18:21:02 -04:00
dm-snap-transient.c dm: avoid split of quoted strings where possible 2023-07-19 16:22:07 +02:00
dm-snap.c dm snapshot: fix lockup in dm_exception_table_exit 2024-04-03 15:19:39 +02:00
dm-stats.c
dm-stats.h
dm-stripe.c dm: avoid split of quoted strings where possible 2023-07-19 16:22:07 +02:00
dm-switch.c
dm-sysfs.c
dm-table.c dm-table: fix checking for rq stackable devices 2025-08-28 16:26:01 +02:00
dm-target.c
dm-thin-metadata.c dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client 2024-01-01 12:39:05 +00:00
dm-thin-metadata.h
dm-thin.c dm thin: make get_first_thin use rcu-safe list first function 2025-01-17 13:34:41 +01:00
dm-uevent.c
dm-uevent.h dm: fix undue/missing spaces 2023-07-19 16:22:07 +02:00
dm-unstripe.c dm-unstriped: cast an operand to sector_t to prevent potential uint32_t overflow 2024-11-14 13:15:16 +01:00
dm-verity-fec.c dm-verity FEC: Fix RS FEC repair for roots unaligned to block size (take 2) 2025-01-17 13:34:43 +01:00
dm-verity-fec.h
dm-verity-loadpin.c dm: verity-loadpin: Add NULL pointer check for 'bdev' parameter 2023-07-23 13:49:43 +02:00
dm-verity-target.c dm-verity: fix prefetch-vs-suspend race 2025-04-25 10:43:44 +02:00
dm-verity-verify-sig.c
dm-verity-verify-sig.h
dm-verity.h dm-verity, dm-crypt: align "struct bvec_iter" correctly 2024-03-26 18:20:26 -04:00
dm-writecache.c dm io: Support IO priority 2024-03-26 18:21:02 -04:00
dm-zero.c
dm-zone.c
dm-zoned-metadata.c dm: avoid split of quoted strings where possible 2023-07-19 16:22:07 +02:00
dm-zoned-reclaim.c
dm-zoned-target.c md: dm-zoned-target: Initialize return variable r to avoid uninitialized use 2025-08-28 16:26:01 +02:00
dm-zoned.h
dm.c dm: free table mempools if not used in __bind 2025-06-27 11:07:14 +01:00
dm.h
Kconfig dm audit: fix Kconfig so DM_AUDIT depends on BLK_DEV_DM 2024-01-20 11:50:08 +01:00
Makefile
md-autodetect.c
md-bitmap.c md/md-bitmap: fix GPF in bitmap_get_stats() 2025-07-17 18:32:08 +02:00
md-bitmap.h md/md-bitmap: add 'sync_size' into struct md_bitmap_stats 2025-03-07 16:56:28 +01:00
md-cluster.c md/md-bitmap: add 'sync_size' into struct md_bitmap_stats 2025-03-07 16:56:28 +01:00
md-cluster.h
md-faulty.c
md-linear.c md: add error_handlers for raid0 and linear 2023-09-13 09:42:44 +02:00
md-linear.h
md-multipath.c
md-multipath.h
md.c md: move initialization and destruction of 'io_acct_set' to md.c 2025-05-09 09:41:43 +02:00
md.h md: move initialization and destruction of 'io_acct_set' to md.c 2025-05-09 09:41:43 +02:00
raid1-10.c
raid1.c md/raid1: Fix stack memory use after return in raid1_reshape 2025-07-17 18:32:11 +02:00
raid1.h
raid5-cache.c md/raid5-cache: use READ_ONCE/WRITE_ONCE for 'conf->log' 2024-08-29 17:30:30 +02:00
raid5-log.h
raid5-ppl.c
raid5.c md: move initialization and destruction of 'io_acct_set' to md.c 2025-05-09 09:41:43 +02:00
raid5.h
raid10.c raid10: cleanup memleak at raid10_make_request 2025-07-17 18:32:11 +02:00
raid10.h
raid0.c md: move initialization and destruction of 'io_acct_set' to md.c 2025-05-09 09:41:43 +02:00
raid0.h md/raid0: add discard support for the 'original' layout 2023-07-23 13:49:37 +02:00