73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
|
commit 8f3498781413a710dc9e128f5a96891a6a18fc52
|
||
|
Author: Martin Cermak <mcermak@redhat.com>
|
||
|
Date: Wed Dec 14 17:37:58 2022 +0100
|
||
|
|
||
|
PR29766: kernel.function("__set_page_dirty_buffers") not found in vfs.stp
|
||
|
|
||
|
Updates needed for 6.1.0-65.fc38 compatibility.
|
||
|
|
||
|
diff --git a/tapset/linux/vfs.stp b/tapset/linux/vfs.stp
|
||
|
index e3c1a3032..aebeb3fc0 100644
|
||
|
--- a/tapset/linux/vfs.stp
|
||
|
+++ b/tapset/linux/vfs.stp
|
||
|
@@ -822,13 +822,15 @@ probe vfs.buffer_migrate_page.return =
|
||
|
}
|
||
|
|
||
|
/* default if aop not set, __set_page_dirty_nobuffers usually used if set */
|
||
|
-probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers")
|
||
|
+/* block_dirty_folio related to kernel commit e621900ad28b748e058b81d6078 */
|
||
|
+probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers")!,
|
||
|
+ kernel.function("block_dirty_folio")
|
||
|
{
|
||
|
- dev = __page_dev($page)
|
||
|
- devname = __find_bdevname(dev, __page_bdev($page))
|
||
|
- ino = __page_ino($page)
|
||
|
+ dev = __page_dev(@choose_defined($page, $folio))
|
||
|
+ devname = __find_bdevname(dev, __page_bdev(@choose_defined($page, $folio)))
|
||
|
+ ino = __page_ino(@choose_defined($page, $folio))
|
||
|
|
||
|
- index = __page_index($page)
|
||
|
+ index = __page_index(@choose_defined($page, $folio))
|
||
|
|
||
|
name = "__set_page_dirty_buffers"
|
||
|
argstr = sprintf("%d", index)
|
||
|
@@ -837,7 +839,8 @@ probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers")
|
||
|
units = "pages"
|
||
|
}
|
||
|
probe vfs.__set_page_dirty_buffers.return =
|
||
|
- kernel.function("__set_page_dirty_buffers").return
|
||
|
+ kernel.function("__set_page_dirty_buffers").return!,
|
||
|
+ kernel.function("block_dirty_folio")
|
||
|
{
|
||
|
name = "__set_page_dirty_buffers"
|
||
|
retstr = sprintf("%d", $return)
|
||
|
@@ -914,8 +917,9 @@ probe __vfs.ext4_mpage_readpages.return =
|
||
|
|
||
|
|
||
|
/* newer style */
|
||
|
+/* add_to_page_cache_locked removed per kernel commit f00654007fe1c15 */
|
||
|
probe vfs.__add_to_page_cache =
|
||
|
- kernel.function("add_to_page_cache_locked"),
|
||
|
+ kernel.function("add_to_page_cache_locked") !,
|
||
|
kernel.function("add_to_page_cache_lru")
|
||
|
{ }
|
||
|
|
||
|
@@ -939,7 +943,7 @@ probe vfs.add_to_page_cache =
|
||
|
|
||
|
/* newer style */
|
||
|
probe vfs.__add_to_page_cache.return =
|
||
|
- kernel.function("add_to_page_cache_locked").return,
|
||
|
+ kernel.function("add_to_page_cache_locked").return !,
|
||
|
kernel.function("add_to_page_cache_lru").return
|
||
|
{ }
|
||
|
|
||
|
@@ -958,7 +962,7 @@ probe vfs.add_to_page_cache.return =
|
||
|
|
||
|
probe vfs.remove_from_page_cache =
|
||
|
kernel.function("__delete_from_page_cache") !,
|
||
|
- kernel.function("__remove_from_page_cache")
|
||
|
+ kernel.function("__remove_from_page_cache") ?
|
||
|
{
|
||
|
dev = __page_dev($page)
|
||
|
devname = __find_bdevname(dev, __page_bdev($page))
|