Shiftfs does not compile on kernel versions 5.11+

It seems that shiftfs does not compile for kernel version 5.11.2

I suspect it also doesn’t work for the whole 5.11 branch, but I haven’t tested that yet.

Everyone who uses shiftfs on mainline kernels, should stay at (or go back to) the 5.10 branch for now.

Build Log:
Note: Includes some german phrases, a translated version is below.

DKMS make.log for shiftfs-dkms-20200804 for kernel 5.11.2-arch1-1 (x86_64)
So 28. Feb 17:25:33 CET 2021
make: Verzeichnis „/usr/lib/modules/5.11.2-arch1-1/build“ wird betreten
  CC [M]  /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c: In Funktion »shiftfs_btrfs_ioctl_fd_restore«:
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c:1423:2: Fehler: Implizite Deklaration der Funktion »__close_fd«; meinten Sie »close_fd«? [-Werror=implicit-function-declaration]
 1423 |  __close_fd(current->files, fd);
      |  ^~~~~~~~~~
      |  close_fd
cc1: Einige Warnungen werden als Fehler behandelt
make[1]: *** [scripts/Makefile.build:279: /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o] Fehler 1
make: *** [Makefile:1800: /var/lib/dkms/shiftfs-dkms/20200804/build] Fehler 2
make: Verzeichnis „/usr/lib/modules/5.11.2-arch1-1/build“ wird verlassen

Translated version:

DKMS make.log for shiftfs-dkms-20200804 for kernel 5.11.2-arch1-1 (x86_64)
So 28. Feb 17:25:33 CET 2021
make: enter folder „/usr/lib/modules/5.11.2-arch1-1/build“ 
  CC [M]  /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c: In function »shiftfs_btrfs_ioctl_fd_restore«:
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c:1423:2: error: implicit declaration of function »__close_fd«; did you mean »close_fd«? [-Werror=implicit-function-declaration]
 1423 |  __close_fd(current->files, fd);
      |  ^~~~~~~~~~
      |  close_fd
cc1: some warnings are treated as errors
make[1]: *** [scripts/Makefile.build:279: /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o] Fehler 1
make: *** [Makefile:1800: /var/lib/dkms/shiftfs-dkms/20200804/build] error 2
make: leave folder: „/usr/lib/modules/5.11.2-arch1-1/build“ 

I also track the issue for my dkms scripts on GitHub:

@brauner

@stgraber I hope this topic is ok here, otherwise I can remove it.

That’s fine. I suspect Ubuntu may have done the porting work already in one of the git branches, maybe brauner has a link.

1 Like

__close_fd() has been removed it seems so the

__close_fd(current->files, fd);

needs to be replaced by

close_fd(fd);
1 Like

Thank you for the answers :slightly_smiling_face:.

I have now found the new kernel git for hirsute:
https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/hirsute/tree/fs/shiftfs.c?h=master-next

I guess in the future I have to regularly check for new ubuntu release versions coming up :thinking:.

One more question:
Is there maybe some kind of Mailing-List or similar, that I could subscribe to, to be informed of new releases being made?

@stgraber do we have an announce list?

what for?

lxc-users is about as close to an announce list for things related to LXC/LXD/LXCFS.
But you can also get @tomp to add something to the next weekly news.

For clarification I mean something like a release announcement for shiftfs updates.
Or at least for new ubuntu versions in the making, because I missed the shiftfs update, as it was made in and for the master-next branch in the hirsute kernel repo only.

I think the kernel team has a mailing list on https://lists.ubuntu.com where they review new patches but given that this is just a rebase, I’d be surprised if whoever did the rebase sent out an e-mail about it.

1 Like

:thinking: Yes, a quick search shows no mention of this. But thx for the link anyway.