Re: WARNING: CPU: 2 PID: 989 at fs/overlayfs/super.c:325 ovl_d_real+0x91/0xd0 [overlay]

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

 



On Tue, Jul 12, 2016 at 09:55:37PM -0700, Andrei Vagin wrote:
> Hi,
> 
> I'm trying to investigate why criu could not dump a container on
> overlayfs, but I met another problem. Could someone help me with it?

This setup (overlayfs used as upper layer of another overlayfs) does not make
sense in my opinion.  The bug here is that we allow this.  The patch below
should fix this.

Is there a good reason why you are doing this?

Overlayfs being used as lower layer of another overlayfs did make sense while
only one lower layer was possible.  Currently that setup is still possible but
obsoleted by multiple lower layers in a single overlay mount.

So stacking multiple overlayfs instances should never be needed.

Thanks,
Miklos

---
From: Miklos Szeredi <mszeredi@xxxxxxxxxx>
Subject: ovl: disallow overlayfs as upperdir

This does not work and does not make sense.  So instead of fixing it
(probably not hard) just disallow.

Reported-by: Andrei Vagin <avagin@xxxxxxxxx>
Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
---
 fs/overlayfs/super.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -408,7 +408,8 @@ static struct ovl_entry *ovl_alloc_entry
 static bool ovl_dentry_remote(struct dentry *dentry)
 {
 	return dentry->d_flags &
-		(DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE);
+		(DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE |
+		 DCACHE_OP_REAL);
 }
 
 static bool ovl_dentry_weird(struct dentry *dentry)
--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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