Hi,
while trying to backup a Dell R7525 system running Debian bookworm/testing
using
LVM snapshots I noticed that the system will 'freeze' sometimes (not all the
times) when creating the snapshot.
First I thought this was related to LVM so I created
https://listman.redhat.com/archives/linux-lvm/2022-July/026228.html
(continued at
https://listman.redhat.com/archives/linux-lvm/2022-August/thread.html#26229)
Long story short:
I was even able to reproduce with fsfreeze, see last strace lines
> [...]
> 14471 1659449870.984635 openat(AT_FDCWD, "/var/lib/machines", O_RDONLY) =
3
> 14471 1659449870.984658 newfstatat(3, "", {st_mode=S_IFDIR|0700,
st_size=4096, ...}, AT_EMPTY_PATH) = 0
> 14471 1659449870.984678 ioctl(3, FIFREEZE
so I started to bisect kernel and found the following bad commit:
> md: add support for REQ_NOWAIT
>
> commit 021a24460dc2 ("block: add QUEUE_FLAG_NOWAIT") added support
> for checking whether a given bdev supports handling of REQ_NOWAIT or not.
> Since then commit 6abc49468eea ("dm: add support for REQ_NOWAIT and enable
> it for linear target") added support for REQ_NOWAIT for dm. This uses
> a similar approach to incorporate REQ_NOWAIT for md based bios.
>
> This patch was tested using t/io_uring tool within FIO. A nvme drive
> was partitioned into 2 partitions and a simple raid 0 configuration
> /dev/md0 was created.
>
> md0 : active raid0 nvme4n1p1[1] nvme4n1p2[0]
> 937423872 blocks super 1.2 512k chunks
>
> Before patch:
>
> $ ./t/io_uring /dev/md0 -p 0 -a 0 -d 1 -r 100
>
> Running top while the above runs:
>
> $ ps -eL | grep $(pidof io_uring)
>
> 38396 38396 pts/2 00:00:00 io_uring
> 38396 38397 pts/2 00:00:15 io_uring
> 38396 38398 pts/2 00:00:13 iou-wrk-38397
>
> We can see iou-wrk-38397 io worker thread created which gets created
> when io_uring sees that the underlying device (/dev/md0 in this case)
> doesn't support nowait.
>
> After patch:
>
> $ ./t/io_uring /dev/md0 -p 0 -a 0 -d 1 -r 100
>
> Running top while the above runs:
>
> $ ps -eL | grep $(pidof io_uring)
>
> 38341 38341 pts/2 00:10:22 io_uring
> 38341 38342 pts/2 00:10:37 io_uring
>
> After running this patch, we don't see any io worker thread
> being created which indicated that io_uring saw that the
> underlying device does support nowait. This is the exact behaviour
> noticed on a dm device which also supports nowait.
>
> For all the other raid personalities except raid0, we would need
> to train pieces which involves make_request fn in order for them
> to correctly handle REQ_NOWAIT.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i
d=f51d46d0e7cb5b8494aa534d276a9d8915a2443d
After reverting this commit (and follow up commit
0f9650bd838efe5c52f7e5f40c3204ad59f1964d)
v5.18.15 and v5.19 worked for me again.
At this point I still wonder why I experienced the same problem even after I
removed one nvme device from the mdraid array and tested it separately. So
maybe
there is another nowait/REQ_NOWAIT problem somewhere. During bisect I only
tested
against the mdraid array.
#regzbot introduced: f51d46d0e7cb5b8494aa534d276a9d8915a2443d
#regzbot link:
https://listman.redhat.com/archives/linux-lvm/2022-July/026228.html
#regzbot link:
https://listman.redhat.com/archives/linux-lvm/2022-August/thread.html#26229
--
Regards,
Thomas
صندوق النقد الدولي (I.M.F)
شعبة إدارة الديون الدولية ،
# 1900 ، شارع الرئيس
مرحبًا بكم في عنوان البريد الإلكتروني الرسمي للمدير I.M.F. كريستالينا جورجيفا
عزيزي المستفيد!
لقد سمح لنا وزير الخزانة المعين حديثًا والهيئة الحاكمة للسلطة النقدية
للأمم المتحدة بفحص الأموال التي لم تتم المطالبة بها والتي لطالما كانت
مدينة لحكومة الأمم المتحدة ، لذلك تم اتهام مالكيها بالاحتيال.
المحتالون الذين يستخدمون اسم الأمم المتحدة ، وفقًا لسجل تخزين البيانات
مع عنوان البريد الإلكتروني لنظامنا أثناء التحقيق الذي أجريناه ، فإن
دفعتك مدرجة في قائمة تضم 150 مستفيدًا في الفئات التالية: صندوق يانصيب
غير مُسلَّم / صندوق يانصيب غير مدفوع / وراثة نقل غير مكتملة / أموال
العقد.
قام مسؤولو البنك الفاسد ، الذين ارتكبوا الفساد من أجل الاحتيال على
أموالك ، بتأخير دفعك بشكل غير معقول ، مما أدى إلى تحملك الكثير من
التكاليف وتأخير غير معقول في قبول مدفوعاتك. اختارت الأمم المتحدة
وصندوق النقد الدولي (IMF) دفع جميع التعويضات لـ 150 مستفيدًا باستخدام
بطاقات Visa ATM من أمريكا الشمالية وأمريكا الجنوبية والولايات المتحدة
وأوروبا وآسيا وحول العالم ، حيث تتوفر تقنية الدفع العالمية هذه
للمستهلكين والشركات والمؤسسات المالية. ويسمح للحكومات باستخدام العملات
الرقمية بدلاً من النقد والشيكات.
لقد قمنا بالترتيب لسداد مدفوعاتك باستخدام بطاقة Visa ATM وسيتم إصدارها
لك وإرسالها مباشرةً إلى عنوانك عبر أي خدمات بريد سريع متاحة. بعد
الاتصال بنا ، سيتم تحويل مبلغ 1،500،000.00 دولار أمريكي إلى بطاقة Visa
ATM ، والتي ستسمح لك بسحب أموالك عن طريق سحب ما لا يقل عن 10،000 دولار
أمريكي في اليوم من أي ماكينة صراف آلي في بلدك. بناءً على طلبك ، يمكنك
زيادة الحد إلى 20،000.00 دولار في اليوم. في هذا الصدد ، يجب عليك
الاتصال بإدارة المدفوعات والتحويلات الدولية وتقديم المعلومات المطلوبة
من خلال:
1. اسمك الكامل ..............
2. عنوانك الكامل ...
3. الجنسية ................
4. تاريخ الميلاد / الجنس .........
5. التخصص ...
6. رقم الهاتف .........
7. عنوان البريد الإلكتروني لشركتك ......
8. عنوان البريد الإلكتروني الشخصي ......
لتحديد هذا الرمز (الرابط: CLIENT-966/16) ، استخدمه كموضوع للبريد
الإلكتروني الخاص بك وحاول تقديم المعلومات المذكورة أعلاه إلى الموظفين
التاليين لإصدار وتسليم بطاقة Visa ATM ؛
نوصيك بفتح عنوان بريد إلكتروني شخصي برقم جديد للسماح لوكيل البنك بتتبع
هذه المدفوعات وتبادل الرسائل لمنع المزيد من التأخير أو التوجيه الخاطئ
لأموالك. اتصل بوكيل البنك الإفريقي المتحد الآن باستخدام معلومات
الاتصال أدناه:
الشخص المسؤول: السيد توني إلوميلو
إدارة تحويل أموال التعويضات ، جهة الاتصال بالبريد الإلكتروني لبنك
إفريقيا المتحد: (mrtonyelumelu98(a)gmail.com)
نحتاج إلى رد سريع على هذا البريد الإلكتروني لتجنب المزيد من التأخير.
صديقك المخلص
السّيدة. كريستالينا جورجيفا
The lock handling problems in gsmld_write(), reported by Syzkaller, have
been fixed by the following patches which can be cleanly applied to the
5.10 branch.