OSDN Git Service

ovl: index all non-dir on copy up for NFS export
authorAmir Goldstein <amir73il@gmail.com>
Tue, 21 Nov 2017 22:08:21 +0000 (00:08 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 24 Jan 2018 10:25:54 +0000 (11:25 +0100)
With the NFS export feature enabled, all non-dir are indexed on copy up.
The copy up origin inode of an indexed non-dir can be used as a unique
identifier of the overlay object.

The full index is also used for consistency verfication, like detecting
multiple non-hardlink uppers with the same 'origin' on lookup.

Directory index on copy up will be implemented by following patch.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/util.c

index 55ab991..7cb930e 100644 (file)
@@ -473,6 +473,10 @@ bool ovl_need_index(struct dentry *dentry)
        if (!lower || !ovl_indexdir(dentry->d_sb))
                return false;
 
+       /* Index all files for NFS export and consistency verification */
+       if (!d_is_dir(lower) && ovl_index_all(dentry->d_sb))
+               return true;
+
        /* Index only lower hardlinks on copy up */
        if (!d_is_dir(lower) && d_inode(lower)->i_nlink > 1)
                return true;