Debdiff to enable support for both 6.8 and 6.14 kernels.

** Description changed:

- 
  [ Impact ]
  
  DKMS make.log for linux-apfs-rw-0.3.2-0ubuntu6 for kernel 6.14.0-15-generic 
(x86_64)
  Thu May 15 15:36:04 UTC 2025
  make: Entering directory '/usr/src/linux-headers-6.14.0-15-generic'
  make[1]: Entering directory '/var/lib/dkms/linux-apfs-rw/0.3.2-0ubuntu6/build'
  warning: the compiler differs from the one used to build the kernel
-   The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 
13.3.0-6ubuntu2~24.04) 13.3.0
-   You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
-   CC [M] btree.o
-   CC [M] compress.o
-   CC [M] dir.o
-   CC [M] extents.o
-   CC [M] file.o
-   CC [M] inode.o
+   The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 
13.3.0-6ubuntu2~24.04) 13.3.0
+   You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
+   CC [M] btree.o
+   CC [M] compress.o
+   CC [M] dir.o
+   CC [M] extents.o
+   CC [M] file.o
+   CC [M] inode.o
  inode.c: In function ‘__apfs_write_begin’:
  inode.c:578:35: error: passing argument 1 of ‘__block_write_begin’ from 
incompatible pointer type [-Werror=incompatible-pointer-types]
-   578 | err = __block_write_begin(page, pos, len, apfs_get_new_block);
-       | ^~~~
-       | |
-       | struct page *
+   578 | err = __block_write_begin(page, pos, len, apfs_get_new_block);
+       | ^~~~
+       | |
+       | struct page *
  In file included from inode.c:7:
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/buffer_head.h:261:39: 
note: expected ‘struct folio *’ but argument is of type ‘struct page *’
-   261 | int __block_write_begin(struct folio *folio, loff_t pos, unsigned len,
-       | ~~~~~~~~~~~~~~^~~~~
+   261 | int __block_write_begin(struct folio *folio, loff_t pos, unsigned len,
+       | ~~~~~~~~~~~~~~^~~~~
  inode.c: In function ‘__apfs_write_end’:
  inode.c:641:66: error: passing argument 6 of ‘generic_write_end’ from 
incompatible pointer type [-Werror=incompatible-pointer-types]
-   641 | ret = generic_write_end(file, mapping, pos, len, copied, page, 
fsdata);
-       | ^~~~
-       | |
-       | struct page *
+   641 | ret = generic_write_end(file, mapping, pos, len, copied, page, 
fsdata);
+       | ^~~~
+       | |
+       | struct page *
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/buffer_head.h:268:33: 
note: expected ‘struct folio *’ but argument is of type ‘struct page *’
-   268 | struct folio *, void *);
-       | ^~~~~~~~~~~~~~
+   268 | struct folio *, void *);
+       | ^~~~~~~~~~~~~~
  inode.c: At top level:
  inode.c:705:27: error: initialization of ‘int (*)(struct file *, struct 
address_space *, loff_t, unsigned int, struct folio **, void **)’ {aka ‘int 
(*)(struct file *, struct address_space *, long long int, unsigned int, struct 
folio **, void **)’} from incompatible pointer type ‘int (*)(struct file *, 
struct address_space *, loff_t, unsigned int, struct page **, void **)’ {aka 
‘int (*)(struct file *, struct address_space *, long long int, unsigned int, 
struct page **, void **)’} [-Werror=incompatible-pointer-types]
-   705 | .write_begin = apfs_write_begin,
-       | ^~~~~~~~~~~~~~~~
+   705 | .write_begin = apfs_write_begin,
+       | ^~~~~~~~~~~~~~~~
  inode.c:705:27: note: (near initialization for ‘apfs_aops.write_begin’)
  inode.c:706:27: error: initialization of ‘int (*)(struct file *, struct 
address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *)’ 
{aka ‘int (*)(struct file *, struct address_space *, long long int, unsigned 
int, unsigned int, struct folio *, void *)’} from incompatible pointer type 
‘int (*)(struct file *, struct address_space *, loff_t, unsigned int, unsigned 
int, struct page *, void *)’ {aka ‘int (*)(struct file *, struct address_space 
*, long long int, unsigned int, unsigned int, struct page *, void *)’} 
[-Werror=incompatible-pointer-types]
-   706 | .write_end = apfs_write_end,
-       | ^~~~~~~~~~~~~~
+   706 | .write_end = apfs_write_end,
+       | ^~~~~~~~~~~~~~
  inode.c:706:27: note: (near initialization for ‘apfs_aops.write_end’)
  cc1: some warnings being treated as errors
  make[3]: *** 
[/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: inode.o] 
Error 1
  make[2]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:1999: .] 
Error 2
  make[1]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:251: 
__sub-make] Error 2
  make[1]: Leaving directory '/var/lib/dkms/linux-apfs-rw/0.3.2-0ubuntu6/build'
  make: *** [Makefile:251: __sub-make] Error 2
  make: Leaving directory '/usr/src/linux-headers-6.14.0-15-generic'
  
  [ Test case ]
  
+ Install the latest linux-6.14 kernel on Noble:
+ 
+ $ sudo add-apt-repository ppa:canonical-kernel-team/ppa
+ $ sudo apt install linux-generic-hwe-24.04-wip
+ 
+ Install apfs-dkms:
+ 
+ $ sudo apt install apfs-dkms
+ 
+ Load the module:
+ 
+ $ sudo modprobe apfs
+ 
+ Verify the filesystem has been registered properly:
+ 
+ $ grep apfs /proc/filesystems
+ 
+ The same procedure can be repeated on linux-6.8 to test for possible
+ regressions.
+ 
  [ Fix ]
  
+ Apply upstream patches to properly support the new linux 6.14 ABI,
+ namely the following:
+ 
+ * a34220c93d20c8759b829ca20c29efd26c56b046: "Switch ->write_begin() and 
->write_end() to folios"
+ * e16e7f4f8a7adfc6f115c660a99c2feaba816858: "Update apfs_dentry_revalidate() 
arguments for 6.14"
+ 
  [ Regression potential ]
+ 
+ We may experience regressions in systems that are using the Apple file
+ system module (apfs), especially with kernels >= 6.8 kernel.

** Changed in: linux-apfs-rw (Ubuntu Noble)
       Status: New => In Progress

** Changed in: linux-apfs-rw (Ubuntu Noble)
     Assignee: (unassigned) => John Cabaj (john-cabaj)

** Patch added: "apfs-support-noble-6.14.debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/linux-apfs-rw/+bug/2110915/+attachment/5877761/+files/apfs-support-noble-6.14.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2110915

Title:
  apfs-dkms FTBS in Noble with the linux-6.14-hwe kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-apfs-rw/+bug/2110915/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to