Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'md-6.14-20250124' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into block-6.14

Pull MD fix from Song:

"Fix a md-cluster regression introduced in the 6.12 release."

* tag 'md-6.14-20250124' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux:
md/md-bitmap: Synchronize bitmap_get_stats() with bitmap lifetime

+9 -1
+4 -1
drivers/md/md-bitmap.c
··· 2355 2355 2356 2356 if (!bitmap) 2357 2357 return -ENOENT; 2358 - 2358 + if (bitmap->mddev->bitmap_info.external) 2359 + return -ENOENT; 2360 + if (!bitmap->storage.sb_page) /* no superblock */ 2361 + return -EINVAL; 2359 2362 sb = kmap_local_page(bitmap->storage.sb_page); 2360 2363 stats->sync_size = le64_to_cpu(sb->sync_size); 2361 2364 kunmap_local(sb);
+5
drivers/md/md.c
··· 8376 8376 return 0; 8377 8377 8378 8378 spin_unlock(&all_mddevs_lock); 8379 + 8380 + /* prevent bitmap to be freed after checking */ 8381 + mutex_lock(&mddev->bitmap_info.mutex); 8382 + 8379 8383 spin_lock(&mddev->lock); 8380 8384 if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { 8381 8385 seq_printf(seq, "%s : ", mdname(mddev)); ··· 8455 8451 seq_printf(seq, "\n"); 8456 8452 } 8457 8453 spin_unlock(&mddev->lock); 8454 + mutex_unlock(&mddev->bitmap_info.mutex); 8458 8455 spin_lock(&all_mddevs_lock); 8459 8456 8460 8457 if (mddev == list_last_entry(&all_mddevs, struct mddev, all_mddevs))