* Re: [PATCH] reiser4: prevent system lockups
@ 2020-02-06 14:12 Metztli Information Technology
2020-02-06 20:04 ` Edward Shishkin
0 siblings, 1 reply; 3+ messages in thread
From: Metztli Information Technology @ 2020-02-06 14:12 UTC (permalink / raw)
To: edward.shishkin, reiserfs-devel
That is 'one hell of' a shrewd finding, Ed!
> On Tue, Feb 4, 2020 at 4:24 PM Edward Shishkin <edward.shishkin@gmail.com> wrote:
>
> Hi all,
>
> Starting from Linux-4.15, VFS introduces optimizations, which
> are incompatible with Reiser4 (as well as with any FS possessing
> an advanced transaction manager). Here is the problematic commit:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa65c29ce1b6e1990cd2c7d8004bbea7ff3aff38
Indeed, I knew *something* had changed but I focused heavily on confirming the validity of my reiser4 hacks; additionally, I began
examining attentively multiple Debian packaging for Linux major.minor changes, custom debian patches, as well as the packaging custom default .config
--believing the Debian Kernel Team modifications might have had introduced the hanging issue, Sir.
>
> The attached patch fixes the problem. This patch is against
> Linux-5.4+reiser4. Please, apply.
5.4.6 [?]
>
> Later I'll prepare backports for all the mentioned kernels and will
> put them on Sourceforge.
Cool! I was notified of your latest reiser4-for-5.4.17.patch.gz release.
> If someone urgently needs a backport, then
> let me know.
>
> Thanks,
> Edward.
Your dedication and outsized efforts toward maintaining and enhancing REISER4 are MUCH ADMIRED and APPRECIATED, Ed, THANK YOU!
Best Professional Regards.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] reiser4: prevent system lockups
2020-02-06 14:12 [PATCH] reiser4: prevent system lockups Metztli Information Technology
@ 2020-02-06 20:04 ` Edward Shishkin
0 siblings, 0 replies; 3+ messages in thread
From: Edward Shishkin @ 2020-02-06 20:04 UTC (permalink / raw)
To: Metztli Information Technology, reiserfs-devel
On 02/06/2020 03:12 PM, Metztli Information Technology wrote:
> That is 'one hell of' a shrewd finding, Ed!
>> On Tue, Feb 4, 2020 at 4:24 PM Edward Shishkin <edward.shishkin@gmail.com> wrote:
>>
>> Hi all,
>>
>> Starting from Linux-4.15, VFS introduces optimizations, which
>> are incompatible with Reiser4 (as well as with any FS possessing
>> an advanced transaction manager). Here is the problematic commit:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa65c29ce1b6e1990cd2c7d8004bbea7ff3aff38
> Indeed, I knew *something* had changed but I focused heavily on confirming the validity of my reiser4 hacks; additionally, I began
> examining attentively multiple Debian packaging for Linux major.minor changes, custom debian patches, as well as the packaging custom default .config
> --believing the Debian Kernel Team modifications might have had introduced the hanging issue, Sir.
>> The attached patch fixes the problem. This patch is against
>> Linux-5.4+reiser4. Please, apply.
> 5.4.6 [?]
Yes, against Linux-5.4.X+reiser4-for-5.4.6.
Also I've uploaded reiser4-for-5.4.17, which already contains that fixup:
https://sourceforge.net/projects/reiser4/files/reiser4-for-linux-5.x/
Edward.
>
>> Later I'll prepare backports for all the mentioned kernels and will
>> put them on Sourceforge.
> Cool! I was notified of your latest reiser4-for-5.4.17.patch.gz release.
>
>> If someone urgently needs a backport, then
>> let me know.
>>
>> Thanks,
>> Edward.
> Your dedication and outsized efforts toward maintaining and enhancing REISER4 are MUCH ADMIRED and APPRECIATED, Ed, THANK YOU!
>
>
> Best Professional Regards.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] reiser4: prevent system lockups
@ 2020-02-05 0:28 Edward Shishkin
0 siblings, 0 replies; 3+ messages in thread
From: Edward Shishkin @ 2020-02-05 0:28 UTC (permalink / raw)
To: ReiserFS development mailing list
[-- Attachment #1: Type: text/plain, Size: 583 bytes --]
Hi all,
Starting from Linux-4.15, VFS introduces optimizations, which
are incompatible with Reiser4 (as well as with any FS possessing
an advanced transaction manager). Here is the problematic commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa65c29ce1b6e1990cd2c7d8004bbea7ff3aff38
The attached patch fixes the problem. This patch is against
Linux-5.4+reiser4. Please, apply.
Later I'll prepare backports for all the mentioned kernels and will
put them on Sourceforge. If someone urgently needs a backport, then
let me know.
Thanks,
Edward.
[-- Attachment #2: reiser4-fix-lockup.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]
diff -urN linux-5.4.6/fs/reiser4/page_cache.c linux-5.4.6.patched/fs/reiser4/page_cache.c
--- linux-5.4.6/fs/reiser4/page_cache.c 2020-02-05 00:08:07.121592727 +0100
+++ linux-5.4.6.patched/fs/reiser4/page_cache.c 2020-02-05 00:09:44.508645047 +0100
@@ -549,7 +549,8 @@
*/
.releasepage = reiser4_releasepage,
.direct_IO = NULL,
- .migratepage = reiser4_migratepage
+ .migratepage = reiser4_migratepage,
+ .batch_lock_tabu = 1
};
/* called just before page is released (no longer used by reiser4). Callers:
diff -urN linux-5.4.6/fs/reiser4/plugin/object.c linux-5.4.6.patched/fs/reiser4/plugin/object.c
--- linux-5.4.6/fs/reiser4/plugin/object.c 2020-02-05 00:08:07.129592814 +0100
+++ linux-5.4.6.patched/fs/reiser4/plugin/object.c 2020-02-05 00:09:44.508645047 +0100
@@ -150,7 +150,8 @@
.bmap = reiser4_bmap_dispatch,
.invalidatepage = reiser4_invalidatepage,
.releasepage = reiser4_releasepage,
- .migratepage = reiser4_migratepage
+ .migratepage = reiser4_migratepage,
+ .batch_lock_tabu = 1
};
/* VFS methods for symlink files */
diff -urN linux-5.4.6/include/linux/fs.h linux-5.4.6.patched/include/linux/fs.h
--- linux-5.4.6/include/linux/fs.h 2020-02-05 00:08:07.135592878 +0100
+++ linux-5.4.6.patched/include/linux/fs.h 2020-02-05 00:09:21.339394689 +0100
@@ -409,6 +409,7 @@
int (*swap_activate)(struct swap_info_struct *sis, struct file *file,
sector_t *span);
void (*swap_deactivate)(struct file *file);
+ int batch_lock_tabu;
};
extern const struct address_space_operations empty_aops;
diff -urN linux-5.4.6/mm/truncate.c linux-5.4.6.patched/mm/truncate.c
--- linux-5.4.6/mm/truncate.c 2019-12-21 11:05:23.000000000 +0100
+++ linux-5.4.6.patched/mm/truncate.c 2020-02-05 00:09:21.339394689 +0100
@@ -360,6 +360,13 @@
continue;
}
pagevec_add(&locked_pvec, page);
+ if (mapping->a_ops->batch_lock_tabu)
+ /*
+ * the file system doesn't allow to hold
+ * many pages locked, while calling
+ * ->invalidatepage() for one of them
+ */
+ break;
}
for (i = 0; i < pagevec_count(&locked_pvec); i++)
truncate_cleanup_page(mapping, locked_pvec.pages[i]);
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-06 20:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-06 14:12 [PATCH] reiser4: prevent system lockups Metztli Information Technology
2020-02-06 20:04 ` Edward Shishkin
-- strict thread matches above, loose matches on Subject: below --
2020-02-05 0:28 Edward Shishkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.