Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1351525 > unrolled thread
| Started by | Miklos Szeredi <miklos@szeredi.hu> |
|---|---|
| First post | 2016-03-07 11:50 +0100 |
| Last post | 2016-03-07 18:40 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 0/2] Fix hardlinks in overlay Miklos Szeredi <miklos@szeredi.hu> - 2016-03-07 11:50 +0100
Re: [PATCH 0/2] Fix hardlinks in overlay Alexander Morozov <alexandr.morozov@docker.com> - 2016-03-07 18:40 +0100
| From | Miklos Szeredi <miklos@szeredi.hu> |
|---|---|
| Date | 2016-03-07 11:50 +0100 |
| Subject | Re: [PATCH 0/2] Fix hardlinks in overlay |
| Message-ID | <ra0TD-1Io-5@gated-at.bofh.it> |
On Fri, Oct 9, 2015 at 9:34 PM, Alexander Morozov <alexandr.morozov@docker.com> wrote: > There were reports that overlay doesn't work very well with unix-sockets. > In particular you can't access unix-socket through hardlink on overlay fs. > Problem is that overlay creates different inodes for hardlinks and code in > net/unix/af_unix.c relies on inodes for unix-socket lookup. I think this > affects any code which relies on inodes from kern_path. There is helper > d_backing_inode, which I think supposed to get inodes from underlying fs > (for example ext4), but in current implementation it does nothing. These > patches made on top of v4.3-rc4 of main linux tree (master is broken for my > ubuntu VM), but I tested that they applying on master and there was no > changes to overlay since v4.3-rc4. > > Alexander Morozov (2): > fs/overlay: move update and instantiate dentry code to function > fs/overlay: use same inodes for hardlinks Problem is with lookup: how do we go from backing dentry to overlayfs dentry so the inode can be shared? Thanks, Miklos
[toc] | [next] | [standalone]
| From | Alexander Morozov <alexandr.morozov@docker.com> |
|---|---|
| Date | 2016-03-07 18:40 +0100 |
| Message-ID | <ra7ip-5Vi-7@gated-at.bofh.it> |
| In reply to | #1351525 |
Sequence of calls is kern_path(filename, LOOKUP_FOLLOW, &path) -> filename_lookup(AT_FDCWD, getname_kernel(name), flags, path, NULL) -> path_lookup(nameidata *nd, flags | LOOKUP_RCU, path) -> path_init(nd, flags). In that function if I understand correctly nd->path is set to current_thread_info()->task->fs->pwd and I don't see any further tricks with dentry, so I suppose that current_thread_info()->task->fs->pwd->dentry already points to overlayfs dentry. Let me know what we can do with it. Thanks! - Alex On Mon, Mar 7, 2016 at 2:49 AM, Miklos Szeredi <miklos@szeredi.hu> wrote: > On Fri, Oct 9, 2015 at 9:34 PM, Alexander Morozov > <alexandr.morozov@docker.com> wrote: >> There were reports that overlay doesn't work very well with unix-sockets. >> In particular you can't access unix-socket through hardlink on overlay fs. >> Problem is that overlay creates different inodes for hardlinks and code in >> net/unix/af_unix.c relies on inodes for unix-socket lookup. I think this >> affects any code which relies on inodes from kern_path. There is helper >> d_backing_inode, which I think supposed to get inodes from underlying fs >> (for example ext4), but in current implementation it does nothing. These >> patches made on top of v4.3-rc4 of main linux tree (master is broken for my >> ubuntu VM), but I tested that they applying on master and there was no >> changes to overlay since v4.3-rc4. >> >> Alexander Morozov (2): >> fs/overlay: move update and instantiate dentry code to function >> fs/overlay: use same inodes for hardlinks > > Problem is with lookup: how do we go from backing dentry to overlayfs > dentry so the inode can be shared? > > Thanks, > Miklos
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web