CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Tushar Sugandhi <[email protected]>
CC: Mike Snitzer <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   90d856e71443a2fcacca8e7539bac44d9cb3f7ab
commit: fdac9de80c2e66d6df999ac810382c66b0cb2830 [2228/3296] dm: update target 
status functions to support IMA measurement
:::::: branch date: 2 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-m001-20210724 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/md/dm-raid.c:3686 raid_status() error: uninitialized symbol 'recovery'.

Old smatch warnings:
drivers/md/dm-raid.c:1336 parse_raid_params() warn: potential spectre issue 
'rs->dev' [w]

vim +/recovery +3686 drivers/md/dm-raid.c

3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3509  
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3510  static void 
raid_status(struct dm_target *ti, status_type_t type,
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3511                   
unsigned int status_flags, char *result, unsigned int maxlen)
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3512  {
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3513   struct raid_set *rs = 
ti->private;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3514   struct mddev *mddev = 
&rs->md;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3515   struct r5conf *conf = 
mddev->private;
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3516   int i, max_nr_stripes = 
conf ? conf->max_nr_stripes : 0;
67143510a7e363 Heinz Mauelshagen     2017-12-02  3517   unsigned long recovery;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3518   unsigned int 
raid_param_cnt = 1; /* at least 1 for chunksize */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3519   unsigned int sz = 0;
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3520   unsigned int 
rebuild_writemostly_count = 0;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3521   sector_t progress, 
resync_max_sectors, resync_mismatches;
53be73a5d75f47 Heinz Mauelshagen     2019-10-01  3522   enum sync_state state;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3523   struct raid_type *rt;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3524  
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3525   switch (type) {
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3526   case STATUSTYPE_INFO:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3527           /* *Should* 
always succeed */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3528           rt = 
get_raid_type_by_ll(mddev->new_level, mddev->new_layout);
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3529           if (!rt)
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3530                   return;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3531  
9dbd1aa3a81c61 Heinz Mauelshagen     2016-06-13  3532           DMEMIT("%s %d 
", rt->name, mddev->raid_disks);
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3533  
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3534           /* Access most 
recent mddev properties for status output */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3535           smp_rmb();
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3536           /* Get sensible 
max sectors even if raid set not yet started */
4286325b4b0dc9 Mike Snitzer          2016-06-02  3537           
resync_max_sectors = test_bit(RT_FLAG_RS_PRERESUMED, &rs->runtime_flags) ?
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3538                           
      mddev->resync_max_sectors : mddev->dev_sectors;
53be73a5d75f47 Heinz Mauelshagen     2019-10-01  3539           recovery = 
rs->md.recovery;
53be73a5d75f47 Heinz Mauelshagen     2019-10-01  3540           state = 
decipher_sync_action(mddev, recovery);
53be73a5d75f47 Heinz Mauelshagen     2019-10-01  3541           progress = 
rs_get_progress(rs, recovery, state, resync_max_sectors);
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3542           
resync_mismatches = (mddev->last_sync_action && 
!strcasecmp(mddev->last_sync_action, "check")) ?
9dbd1aa3a81c61 Heinz Mauelshagen     2016-06-13  3543                           
    atomic64_read(&mddev->resync_mismatches) : 0;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3544  
c63ede3b4211e1 Heinz Mauelshagen     2017-01-14  3545           /* HM FIXME: do 
we want another state char for raid0? It shows 'D'/'A'/'-' now */
c63ede3b4211e1 Heinz Mauelshagen     2017-01-14  3546           for (i = 0; i < 
rs->raid_disks; i++)
242ea5ad11a03f Heinz Mauelshagen     2017-12-02  3547                   
DMEMIT(__raid_dev_status(rs, &rs->dev[i].rdev));
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3548  
2e727c3ca1beff Jonathan E Brassow    2011-10-31  3549           /*
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3550            * 
In-sync/Reshape ratio:
2e727c3ca1beff Jonathan E Brassow    2011-10-31  3551            *  The in-sync 
ratio shows the progress of:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3552            *   - 
Initializing the raid set
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3553            *   - 
Rebuilding a subset of devices of the raid set
2e727c3ca1beff Jonathan E Brassow    2011-10-31  3554            *  The user 
can distinguish between the two by referring
2e727c3ca1beff Jonathan E Brassow    2011-10-31  3555            *  to the 
status characters.
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3556            *
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3557            *  The reshape 
ratio shows the progress of
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3558            *  changing 
the raid layout or the number of
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3559            *  disks of a 
raid set
2e727c3ca1beff Jonathan E Brassow    2011-10-31  3560            */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3561           DMEMIT(" 
%llu/%llu", (unsigned long long) progress,
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3562                           
     (unsigned long long) resync_max_sectors);
9d09e663d5502c NeilBrown             2011-01-13  3563  
be83651f0050ca Jonathan Brassow      2013-04-24  3564           /*
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3565            * v1.5.0+:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3566            *
be83651f0050ca Jonathan Brassow      2013-04-24  3567            * Sync action:
6cf2a73cb2bc42 Mauro Carvalho Chehab 2019-06-18  3568            *   See 
Documentation/admin-guide/device-mapper/dm-raid.rst for
be83651f0050ca Jonathan Brassow      2013-04-24  3569            *   
information on each of these states.
be83651f0050ca Jonathan Brassow      2013-04-24  3570            */
53be73a5d75f47 Heinz Mauelshagen     2019-10-01  3571           DMEMIT(" %s", 
sync_str(state));
be83651f0050ca Jonathan Brassow      2013-04-24  3572  
be83651f0050ca Jonathan Brassow      2013-04-24  3573           /*
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3574            * v1.5.0+:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3575            *
be83651f0050ca Jonathan Brassow      2013-04-24  3576            * 
resync_mismatches/mismatch_cnt
be83651f0050ca Jonathan Brassow      2013-04-24  3577            *   This field 
shows the number of discrepancies found when
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3578            *   performing 
a "check" of the raid set.
be83651f0050ca Jonathan Brassow      2013-04-24  3579            */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3580           DMEMIT(" %llu", 
(unsigned long long) resync_mismatches);
9d09e663d5502c NeilBrown             2011-01-13  3581  
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3582           /*
9b6e54232992a2 Mike Snitzer          2016-06-02  3583            * v1.9.0+:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3584            *
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3585            * data_offset 
(needed for out of space reshaping)
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3586            *   This field 
shows the data offset into the data
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3587            *   image LV 
where the first stripes data starts.
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3588            *
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3589            * We keep 
data_offset equal on all raid disks of the set,
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3590            * so 
retrieving it from the first raid disk is sufficient.
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3591            */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3592           DMEMIT(" %llu", 
(unsigned long long) rs->dev[0].rdev.data_offset);
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3593  
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3594           /*
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3595            * v1.10.0+:
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3596            */
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3597           DMEMIT(" %s", 
test_bit(__CTR_FLAG_JOURNAL_DEV, &rs->ctr_flags) ?
242ea5ad11a03f Heinz Mauelshagen     2017-12-02  3598                         
__raid_dev_status(rs, &rs->journal_dev.rdev) : "-");
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3599           break;
9d09e663d5502c NeilBrown             2011-01-13  3600  
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3601   case STATUSTYPE_TABLE:
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3602           /* Report the 
table line string you would use to construct this raid set */
9d09e663d5502c NeilBrown             2011-01-13  3603  
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3604           /*
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3605            * Count any 
rebuild or writemostly argument pairs and subtract the
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3606            * hweight 
count being added below of any rebuild and writemostly ctr flags.
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3607            */
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3608           for (i = 0; i < 
rs->raid_disks; i++) {
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3609                   
rebuild_writemostly_count += (test_bit(i, (void *) rs->rebuild_disks) ? 2 : 0) +
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3610                           
                     (test_bit(WriteMostly, &rs->dev[i].rdev.flags) ? 2 : 0);
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3611           }
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3612           
rebuild_writemostly_count -= (test_bit(__CTR_FLAG_REBUILD, &rs->ctr_flags) ? 2 
: 0) +
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3613                           
             (test_bit(__CTR_FLAG_WRITE_MOSTLY, &rs->ctr_flags) ? 2 : 0);
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3614           /* Calculate 
raid parameter count based on ^ rebuild/writemostly argument counts and ctr 
flags set. */
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3615           raid_param_cnt 
+= rebuild_writemostly_count +
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3616                           
  hweight32(rs->ctr_flags & CTR_FLAG_OPTIONS_NO_ARGS) +
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3617                           
  hweight32(rs->ctr_flags & CTR_FLAG_OPTIONS_ONE_ARG) * 2;
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3618           /* Emit table 
line */
4464e36e06470e Heinz Mauelshagen     2017-03-18  3619           /* This has to 
be in the documented order for userspace! */
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3620           DMEMIT("%s %u 
%u", rs->raid_type->name, raid_param_cnt, mddev->new_chunk_sectors);
4286325b4b0dc9 Mike Snitzer          2016-06-02  3621           if 
(test_bit(__CTR_FLAG_SYNC, &rs->ctr_flags))
3fa6cf38211619 Mike Snitzer          2016-06-02  3622                   
DMEMIT(" %s", dm_raid_arg_name_by_flag(CTR_FLAG_SYNC));
4464e36e06470e Heinz Mauelshagen     2017-03-18  3623           if 
(test_bit(__CTR_FLAG_NOSYNC, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3624                   
DMEMIT(" %s", dm_raid_arg_name_by_flag(CTR_FLAG_NOSYNC));
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3625           if 
(test_bit(__CTR_FLAG_REBUILD, &rs->ctr_flags))
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3626                   for (i 
= 0; i < rs->raid_disks; i++)
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3627                           
if (test_bit(i, (void *) rs->rebuild_disks))
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3628                           
        DMEMIT(" %s %u", dm_raid_arg_name_by_flag(CTR_FLAG_REBUILD), i);
4464e36e06470e Heinz Mauelshagen     2017-03-18  3629           if 
(test_bit(__CTR_FLAG_DAEMON_SLEEP, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3630                   
DMEMIT(" %s %lu", dm_raid_arg_name_by_flag(CTR_FLAG_DAEMON_SLEEP),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3631                           
          mddev->bitmap_info.daemon_sleep);
4464e36e06470e Heinz Mauelshagen     2017-03-18  3632           if 
(test_bit(__CTR_FLAG_MIN_RECOVERY_RATE, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3633                   
DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_MIN_RECOVERY_RATE),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3634                           
         mddev->sync_speed_min);
4464e36e06470e Heinz Mauelshagen     2017-03-18  3635           if 
(test_bit(__CTR_FLAG_MAX_RECOVERY_RATE, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3636                   
DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_MAX_RECOVERY_RATE),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3637                           
         mddev->sync_speed_max);
43f3952a51f819 Heinz Mauelshagen     2019-12-19  3638           if 
(test_bit(__CTR_FLAG_WRITE_MOSTLY, &rs->ctr_flags))
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3639                   for (i 
= 0; i < rs->raid_disks; i++)
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3640                           
if (test_bit(WriteMostly, &rs->dev[i].rdev.flags))
3fa6cf38211619 Mike Snitzer          2016-06-02  3641                           
        DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_WRITE_MOSTLY),
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3642                           
               rs->dev[i].rdev.raid_disk);
4286325b4b0dc9 Mike Snitzer          2016-06-02  3643           if 
(test_bit(__CTR_FLAG_MAX_WRITE_BEHIND, &rs->ctr_flags))
3fa6cf38211619 Mike Snitzer          2016-06-02  3644                   
DMEMIT(" %s %lu", dm_raid_arg_name_by_flag(CTR_FLAG_MAX_WRITE_BEHIND),
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3645                           
          mddev->bitmap_info.max_write_behind);
4464e36e06470e Heinz Mauelshagen     2017-03-18  3646           if 
(test_bit(__CTR_FLAG_STRIPE_CACHE, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3647                   
DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_STRIPE_CACHE),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3648                           
         max_nr_stripes);
4464e36e06470e Heinz Mauelshagen     2017-03-18  3649           if 
(test_bit(__CTR_FLAG_REGION_SIZE, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3650                   
DMEMIT(" %s %llu", dm_raid_arg_name_by_flag(CTR_FLAG_REGION_SIZE),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3651                           
           (unsigned long long) to_sector(mddev->bitmap_info.chunksize));
4464e36e06470e Heinz Mauelshagen     2017-03-18  3652           if 
(test_bit(__CTR_FLAG_RAID10_COPIES, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3653                   
DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_RAID10_COPIES),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3654                           
         raid10_md_layout_to_copies(mddev->layout));
4464e36e06470e Heinz Mauelshagen     2017-03-18  3655           if 
(test_bit(__CTR_FLAG_RAID10_FORMAT, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3656                   
DMEMIT(" %s %s", dm_raid_arg_name_by_flag(CTR_FLAG_RAID10_FORMAT),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3657                           
         raid10_md_layout_to_format(mddev->layout));
4464e36e06470e Heinz Mauelshagen     2017-03-18  3658           if 
(test_bit(__CTR_FLAG_DELTA_DISKS, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3659                   
DMEMIT(" %s %d", dm_raid_arg_name_by_flag(CTR_FLAG_DELTA_DISKS),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3660                           
         max(rs->delta_disks, mddev->delta_disks));
4464e36e06470e Heinz Mauelshagen     2017-03-18  3661           if 
(test_bit(__CTR_FLAG_DATA_OFFSET, &rs->ctr_flags))
4464e36e06470e Heinz Mauelshagen     2017-03-18  3662                   
DMEMIT(" %s %llu", dm_raid_arg_name_by_flag(CTR_FLAG_DATA_OFFSET),
4464e36e06470e Heinz Mauelshagen     2017-03-18  3663                           
           (unsigned long long) rs->data_offset);
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3664           if 
(test_bit(__CTR_FLAG_JOURNAL_DEV, &rs->ctr_flags))
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3665                   
DMEMIT(" %s %s", dm_raid_arg_name_by_flag(CTR_FLAG_JOURNAL_DEV),
63c32ed4afc2af Heinz Mauelshagen     2016-11-30  3666                           
        __get_dev_name(rs->journal_dev.dev));
6e53636fe81465 Heinz Mauelshagen     2017-03-22  3667           if 
(test_bit(__CTR_FLAG_JOURNAL_MODE, &rs->ctr_flags))
6e53636fe81465 Heinz Mauelshagen     2017-03-22  3668                   
DMEMIT(" %s %s", dm_raid_arg_name_by_flag(CTR_FLAG_JOURNAL_MODE),
6e53636fe81465 Heinz Mauelshagen     2017-03-22  3669                           
         md_journal_mode_to_dm_raid(rs->journal_dev.mode));
3a1c1ef2fd6208 Heinz Mauelshagen     2016-05-19  3670           DMEMIT(" %d", 
rs->raid_disks);
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3671           for (i = 0; i < 
rs->raid_disks; i++)
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3672                   
DMEMIT(" %s %s", __get_dev_name(rs->dev[i].meta_dev),
7a7c330fc26652 Heinz Mauelshagen     2016-06-30  3673                           
         __get_dev_name(rs->dev[i].data_dev));
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3674           break;
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3675  
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3676   case STATUSTYPE_IMA:
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3677           rt = 
get_raid_type_by_ll(mddev->new_level, mddev->new_layout);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3678           if (!rt)
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3679                   return;
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3680  
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3681           
DMEMIT_TARGET_NAME_VERSION(ti->type);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3682           
DMEMIT(",raid_type=%s,raid_disks=%d", rt->name, mddev->raid_disks);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3683  
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3684           /* Access most 
recent mddev properties for status output */
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3685           smp_rmb();
fdac9de80c2e66 Tushar Sugandhi       2021-07-12 @3686           state = 
decipher_sync_action(mddev, recovery);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3687           
DMEMIT(",raid_state=%s", sync_str(state));
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3688  
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3689           for (i = 0; i < 
rs->raid_disks; i++) {
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3690                   
DMEMIT(",raid_device_%d_status=", i);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3691                   
DMEMIT(__raid_dev_status(rs, &rs->dev[i].rdev));
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3692           }
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3693  
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3694           if 
(rt_is_raid456(rt)) {
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3695                   
DMEMIT(",journal_dev_mode=");
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3696                   switch 
(rs->journal_dev.mode) {
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3697                   case 
R5C_JOURNAL_MODE_WRITE_THROUGH:
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3698                           
DMEMIT("%s",
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3699                           
       _raid456_journal_mode[R5C_JOURNAL_MODE_WRITE_THROUGH].param);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3700                           
break;
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3701                   case 
R5C_JOURNAL_MODE_WRITE_BACK:
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3702                           
DMEMIT("%s",
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3703                           
       _raid456_journal_mode[R5C_JOURNAL_MODE_WRITE_BACK].param);
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3704                           
break;
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3705                   default:
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3706                           
DMEMIT("invalid");
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3707                           
break;
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3708                   }
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3709           }
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3710           DMEMIT(";");
fdac9de80c2e66 Tushar Sugandhi       2021-07-12  3711           break;
9d09e663d5502c NeilBrown             2011-01-13  3712   }
9d09e663d5502c NeilBrown             2011-01-13  3713  }
9d09e663d5502c NeilBrown             2011-01-13  3714  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to