Re: [POC/RFC PATCH] overlayfs: constant inode numbers

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

 



[linux-kernel removed]

On Wed, Nov 30, 2016 at 5:05 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
> On Tue, Nov 29, 2016 at 11:49 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
...
>
>> The following issues are left:
>>
>>  - performance of readdir;
>
> Here is one very simple optimization for WIP:
> @@ -157,6 +157,8 @@ static int ovl_fill_lowest(struct ovl_readdir_data *rdd,
>                 list_move_tail(&p->l_node, &rdd->middle);
>         } else {
>                 p = ovl_cache_entry_new(rdd, name, namelen, ino, d_type);
> +               if (p)
> +                       p->ino = ino;
>

Beyond that simple optimization, when file/dirs are created over whiteout,
we can mark the parent directory "remap_dino" and same when file/dir are
moved into a merged directory.

In every layer readdir would check "remap_dino" and if NOT set, it can skip
reading ino from xattr. All read entries would be marked as 'candidate ino'
and if another candidate of the same name is found in lower dir, it will update
p->ino.

>
>>  - hard link copy ups.
>>
>
> I'll start by setting up a TODO Wiki page and writing xfstests for all those

Wiki is up:
https://github.com/amir73il/overlayfs/wiki/Non-standard-behavior

Note that I have made the following observation about hard link copy up.
Not sure how much sense it makes:
"It is possible to imagine how solving the stable file handle goal could
be used to solve the broken hardlink issue - if there is a method to locate
a lower file handle that has been copied up by inode number/generation,
the same method can be used to check, when opening a lower file, if the
same inode has been already copied up for another alias".

Amir.
--
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