Bug #1946
snapshot inherits timestamp/size/etc from modified trunk dir upon mds restart
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
mkdir .snap/name
ls -ld . .snap/name
ls -ld . .snap/name
- both have the same timestamp
touch .
ls -ld . .snap/name - now . has a different timestamp from the snapshot
- Now unmount the filesystem, restart the mds, re-mount it and enter the directory again
- now both have the same timestamp again, and it's the newer timestamp
History
#1 Updated by Sage Weil almost 12 years ago
It looks to me like the problem is that CInode::old_inodes isn't included in EMetaBlob::fullbit. CInode::pick_old_inode() then picks the head for everything and the directory appears to have the wrong stat values.
The fix will include:
- adding old_inodes to fullbit. version the encoding appropriately.
- probably some changes to EMetaBlob::add_primary_dentry and add_root() to fill it in
- a new feature bit in the CompatSet?
#2 Updated by Sage Weil almost 12 years ago
- Category set to 1
#3 Updated by Sage Weil about 11 years ago
- Project changed from Ceph to CephFS
- Category deleted (
1)
#4 Updated by Greg Farnum almost 11 years ago
- Assignee set to Sage Weil
#5 Updated by Sage Weil almost 11 years ago
- Status changed from New to Resolved
commit:7842bb50c7814cc16c22589bf41df7db1f7492eb