• Miklos Szeredi's avatar
    ovl: store real inode pointer in ->i_private · 39b681f8
    Miklos Szeredi authored
    To get from overlay inode to real inode we currently use 'struct
    ovl_entry', which has lifetime connected to overlay dentry.  This is okay,
    since each overlay dentry had a new overlay inode allocated.
    
    Following patch will break that assumption, so need to leave out ovl_entry.
    This patch stores the real inode directly in i_private, with the lowest bit
    used to indicate whether the inode is upper or lower.
    
    Lifetime rules remain, using ovl_inode_real() must only be done while
    caller holds ref on overlay dentry (and hence on real dentry), or within
    RCU protected regions.
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    39b681f8
dir.c 21.1 KB