overlayfs doesn't sync from version 6.12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I allways work on a Live system that uses overlayfs, and also remaster
the pristine filesystem using overlayfs.
After upgrading kernel to version 6.12 have experienced several
filesystem problems, thus have compared the overlayfs code of previous
versions.
By intuition, have found that these lines have been removed from
version 6.11. This difference is key:

overlayfs-sync-upper.patch
--- linux-6.13.2/fs/overlayfs/super.c
+++ linux-6.11.11/fs/overlayfs/super.c
@@ -202,9 +202,15 @@
  int ret;

  ret = ovl_sync_status(ofs);
-
- if (ret < 0)
+ /*
+ * We have to always set the err, because the return value isn't
+ * checked in syncfs, and instead indirectly return an error via
+ * the sb's writeback errseq, which VFS inspects after this call.
+ */
+ if (ret < 0) {
+ errseq_set(&sb->s_wb_err, -EIO);
  return -EIO;
+ }

  if (!ret)
  return ret;

In latest versions the filesystems work like a charm when applying
previous patch

Regards,

Jordi Pujol




[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux