]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: always create multiversion inode when cow inode
authorYan, Zheng <zyan@redhat.com>
Fri, 26 Dec 2014 07:03:19 +0000 (15:03 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 5 Feb 2015 14:40:38 +0000 (22:40 +0800)
commita0f51a2ec5cba8e3583c9b3f01b0d4c5decffb2e
treef1f485f1adad537a40d609ecd6314143e5234c97
parent5f58c4ccfc6c9bd02c50388f28e252df45a711d5
mds: always create multiversion inode when cow inode

When moving a snapshotted regular file to stray directory, we need
to create an snaprealm for it. The snaprealm is required for building
correct snapshot context when purging file objects.

Current code normally create seperate inodes when a snapshotted file
inode is COWed. Each time the file inode is COWed, the head inode's
'first' is updated. So when deleting the file, we can't use head inode's
'first' to check if it was snapshotted.

This commit make MDCache::journal_cow_dentry always create multiversion
inode. multiversion inode's 'first' keeps constant.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/mds/MDCache.cc