Project

General

Profile

Actions

Bug #1946

closed

snapshot inherits timestamp/size/etc from modified trunk dir upon mds restart

Added by Alexandre Oliva over 12 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
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
  1. both have the same timestamp
    touch .
    ls -ld . .snap/name
  2. now . has a different timestamp from the snapshot
  1. Now unmount the filesystem, restart the mds, re-mount it and enter the directory again
ls -ld . .snap/name
  1. now both have the same timestamp again, and it's the newer timestamp
Actions #1

Updated by Sage Weil over 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?

Actions #2

Updated by Sage Weil over 12 years ago

  • Category set to 1
Actions #3

Updated by Sage Weil over 11 years ago

  • Project changed from Ceph to CephFS
  • Category deleted (1)
Actions #4

Updated by Greg Farnum over 11 years ago

  • Assignee set to Sage Weil
Actions #5

Updated by Sage Weil about 11 years ago

  • Status changed from New to Resolved

commit:7842bb50c7814cc16c22589bf41df7db1f7492eb

Actions

Also available in: Atom PDF