Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Often in output from fsck_cs(8) – typically in the window of Disk Utility in Lion and Mountain Lion, whilst verifying or repairing something in Core Storage world:

Incorporate 1 newer non-checkpoint transactions

– or more than one.

Question

What's the significance of these non-checkpoint transactions?

Background

I'm happy when the count is zero (0) but anything greater than than worries me, because

fsck_cs does not perform an exhaustive validation, nor is it able to fix many of the inconsistencies that it does detect.

Examples

One transaction in Disk Utility Disk Verification but there, the suggested repair relates to the JHFS+ file system (not to the Core Storage storage system).

Four transactions:

Verifying partition map for “ST750LX003-1AC154 Media”
Checking prerequisites
Checking the partition list
Checking for an EFI system partition
Checking the EFI system partition’s size
Checking the EFI system partition’s file system
Checking all HFS data partition loader spaces
Checking Core Storage Physical Volume partitions
Checking storage system
Checking volume.
disk0s5: Scan for Volume Headers
disk0s5: Scan for Disk Labels
Logical Volume Group 039C0D47-F3CF-44D3-A825-B48F01FCF334 on 1 device
disk0s5: Scan for Metadata Volume
Logical Volume Group has a 16 MB Metadata Volume with double redundancy
Start scanning metadata for a valid checkpoint
Load and verify Segment Headers
Load and verify Checkpoint Payload
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Incorporate 4 newer non-checkpoint transactions
Load and verify Virtual Address Table
Load and verify Segment Usage Table
Load and verify Metadata Superblock
Load and verify Logical Volumes B-Trees
Logical Volume Group contains 1 Logical Volume
Load and verify BF26B0E6-46DD-431B-ACF8-4365F2165250
Load and verify 4215A7A1-B43C-4647-9942-CA09D5F32F64
Load and verify Freespace Summary
Load and verify Block Accounting
Newest transaction commit checkpoint is valid
Load and verify Segment Cleaning
The volume 039C0D47-F3CF-44D3-A825-B48F01FCF334 appears to be OK.
Checking storage system
Checking volume.
disk0s7: Scan for Volume Headers
disk0s7: Scan for Disk Labels
Logical Volume Group 902434C9-0131-4E3A-AE15-2B8B938087AD on 1 device
disk0s7: Scan for Metadata Volume
Logical Volume Group has a 16 MB Metadata Volume with double redundancy
Start scanning metadata for a valid checkpoint
Load and verify Segment Headers
Load and verify Checkpoint Payload
Load and verify Transaction Segment
Load and verify Transaction Segment
Incorporate 1 newer non-checkpoint transaction
Load and verify Virtual Address Table
Load and verify Segment Usage Table
Load and verify Metadata Superblock
Load and verify Logical Volumes B-Trees
Logical Volume Group contains 1 Logical Volume
Load and verify FFCE2FAF-BE8E-4FEF-9F3E-E221C6CBCA11
Load and verify 0CFAFD38-E79B-40AC-A4BE-63296E6B4331
Load and verify Freespace Summary
Load and verify Block Accounting
Newest transaction commit checkpoint is valid
Load and verify Segment Cleaning
The volume 902434C9-0131-4E3A-AE15-2B8B938087AD appears to be OK.
The partition map appears to be OK

Verifying volume “swap”
Checking file systemChecking Journaled HFS Plus volume.
Detected a case-sensitive volume.
Checking extents overflow file.
Checking catalog file.
Checking multi-linked files.
Checking catalog hierarchy.
Checking extended attributes file.
Checking volume bitmap.
Checking volume information.
The volume swap appears to be OK.

Verifying volume “disk0s3”
Checking file systemChecking Journaled HFS Plus volume.
Checking extents overflow file.
Checking catalog file.
Checking multi-linked files.
Checking catalog hierarchy.
Checking extended attributes file.
Checking volume bitmap.
Checking volume information.
The volume disk0s3 appears to be OK.

Verifying volume “spare”
Checking file systemChecking Journaled HFS Plus volume.
Checking extents overflow file.
Checking catalog file.
Checking multi-linked files.
Checking catalog hierarchy.
Checking extended attributes file.
Checking volume bitmap.
Checking volume information.
The volume spare appears to be OK.

Verifying volume “OS”
Checking storage systemChecking volume.
disk0s5: Scan for Volume Headers
disk0s5: Scan for Disk Labels
Logical Volume Group 039C0D47-F3CF-44D3-A825-B48F01FCF334 on 1 device
disk0s5: Scan for Metadata Volume
Logical Volume Group has a 16 MB Metadata Volume with double redundancy
Start scanning metadata for a valid checkpoint
Load and verify Segment Headers
Load and verify Checkpoint Payload
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Load and verify Transaction Segment
Incorporate 4 newer non-checkpoint transactions
Load and verify Virtual Address Table
Load and verify Segment Usage Table
Load and verify Metadata Superblock
Load and verify Logical Volumes B-Trees
Logical Volume Group contains 1 Logical Volume
Load and verify BF26B0E6-46DD-431B-ACF8-4365F2165250
Load and verify 4215A7A1-B43C-4647-9942-CA09D5F32F64
Load and verify Freespace Summary
Load and verify Block Accounting
Newest transaction commit checkpoint is valid
Load and verify Segment Cleaning
The volume 039C0D47-F3CF-44D3-A825-B48F01FCF334 appears to be OK.
Checking file systemChecking Journaled HFS Plus volume.
Checking extents overflow file.
Checking catalog file.
Checking multi-linked files.
Checking catalog hierarchy.
Checking extended attributes file.
Checking volume bitmap.
Checking volume information.
The volume OS appears to be OK.

Twelve transactions, with a minor repair to the file system but not to the storage system:

2012-08-29 19:02:54 +0100: Verify and Repair volume “LaCie …” 
2012-08-29 19:02:54 +0100: Starting repair tool: 
2012-08-29 19:02:58 +0100: Checking storage system 
2012-08-29 19:02:59 +0100: Checking volume. 
2012-08-29 19:02:59 +0100: disk5s4: Scan for Volume Headers 
2012-08-29 19:02:59 +0100: disk5s4: Scan for Disk Labels 
2012-08-29 19:02:59 +0100: Logical Volume Group 9B249BC0-A6D0-4721-B581-FC3B20CDA81B on 1 device 
2012-08-29 19:02:59 +0100: disk5s4: Scan for Metadata Volume 
2012-08-29 19:02:59 +0100: Logical Volume Group has a 16 MB Metadata Volume with double redundancy 
2012-08-29 19:02:59 +0100: Start scanning metadata for a valid checkpoint 
2012-08-29 19:02:59 +0100: Load and verify Segment Headers 
2012-08-29 19:02:59 +0100: Load and verify Checkpoint Payload 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:02:59 +0100: Load and verify Transaction Segment 
2012-08-29 19:03:00 +0100: Load and verify Transaction Segment 
2012-08-29 19:03:00 +0100: Load and verify Transaction Segment 
2012-08-29 19:03:00 +0100: Load and verify Transaction Segment 
2012-08-29 19:03:00 +0100: Load and verify Transaction Segment 
2012-08-29 19:03:00 +0100: Incorporate 12 newer non-checkpoint transactions 
2012-08-29 19:03:00 +0100: Load and verify Virtual Address Table 
2012-08-29 19:03:00 +0100: Load and verify Segment Usage Table 
2012-08-29 19:03:00 +0100: Load and verify Metadata Superblock 
2012-08-29 19:03:00 +0100: Load and verify Logical Volumes B-Trees 
2012-08-29 19:03:00 +0100: Logical Volume Group contains 1 Logical Volume 
2012-08-29 19:03:00 +0100: Load and verify EC0A0823-749D-4706-8F1D-2032ED1ADD7F 
2012-08-29 19:03:00 +0100: Load and verify 50D70C28-B468-4FB6-9FD5-2346ED522689 
2012-08-29 19:03:00 +0100: Load and verify Freespace Summary 
2012-08-29 19:03:00 +0100: Load and verify Block Accounting 
2012-08-29 19:03:00 +0100: Newest transaction commit checkpoint is valid 
2012-08-29 19:03:01 +0100: Load and verify Segment Cleaning 
2012-08-29 19:03:01 +0100: The volume 9B249BC0-A6D0-4721-B581-FC3B20CDA81B appears to be OK. 
2012-08-29 19:03:04 +0100: Checking file system 
2012-08-29 19:03:04 +0100: Checking Journaled HFS Plus volume. 
2012-08-29 19:03:04 +0100: Checking extents overflow file. 
2012-08-29 19:03:05 +0100: Checking catalog file. 
2012-08-29 19:06:15 +0100: Checking multi-linked files. 
2012-08-29 19:06:15 +0100: Checking catalog hierarchy. 
2012-08-29 19:14:29 +0100: Checking extended attributes file. 
2012-08-29 19:19:28 +0100: Checking volume bitmap. 
2012-08-29 19:19:29 +0100: Checking volume information. 
2012-08-29 19:19:30 +0100: Volume header needs minor repair 
2012-08-29 19:19:30 +0100: Repairing volume. 
2012-08-29 19:19:30 +0100: Rechecking volume. 
2012-08-29 19:19:30 +0100: Checking Journaled HFS Plus volume. 
2012-08-29 19:19:30 +0100: Checking extents overflow file. 
2012-08-29 19:19:30 +0100: Checking catalog file. 
2012-08-29 19:23:29 +0100: Checking multi-linked files. 
2012-08-29 19:23:30 +0100: Checking catalog hierarchy. 
2012-08-29 19:36:54 +0100: Checking extended attributes file. 
2012-08-29 19:40:12 +0100: Checking volume bitmap. 
2012-08-29 19:40:13 +0100: Checking volume information. 
2012-08-29 19:40:13 +0100: The volume LaCie … was repaired successfully. 
2012-08-29 19:40:14 +0100: Volume repair complete. 
2012-08-29 19:40:14 +0100: Updating boot support partitions for the volume as required. 
2012-08-29 19:40:33 +0100: Repair tool completed: 

Two LVGs, each with one newer non-checkpoint transaction:

macbookpro08-centrim:~ gjp22$ /sbin/fsck_cs /dev/disk0s5
** Unable to examine /dev/disk0s5: Permission denied
macbookpro08-centrim:~ gjp22$ sudo /sbin/fsck_cs /dev/disk0s5
** Checking volume.
** disk0s5: Scan for Volume Headers
** disk0s5: Scan for Disk Labels
** Logical Volume Group A82B1A4B-B312-41AB-B020-F813CCC74C1C on 1 device
** disk0s5: Scan for Metadata Volume
** Logical Volume Group has a 16 MB Metadata Volume with double redundancy
** Start scanning metadata for a valid checkpoint
** Load and verify Segment Headers
** Load and verify Checkpoint Payload
** Load and verify Transaction Segment
** Load and verify Transaction Segment
** Incorporate 1 newer non-checkpoint transaction
** Load and verify Virtual Address Table
** Load and verify Segment Usage Table
** Load and verify Metadata Superblock
** Load and verify Logical Volumes B-Trees
** Logical Volume Group contains 1 Logical Volume
** Load and verify 7615C140-F0A4-4BDC-AEFF-A78A55E41B1B
** Load and verify 6F42406A-AB44-40B2-9838-9EAFC5CF1C09
** Load and verify Freespace Summary
** Load and verify Block Accounting
** Load and verify Live Virtual Addresses
** Newest transaction commit checkpoint is valid
** Load and verify Segment Cleaning
** The volume A82B1A4B-B312-41AB-B020-F813CCC74C1C appears to be OK.
macbookpro08-centrim:~ gjp22$ sudo /sbin/fsck_cs /dev/disk0s7
** Checking volume.
** disk0s7: Scan for Volume Headers
** disk0s7: Scan for Disk Labels
** Logical Volume Group 902434C9-0131-4E3A-AE15-2B8B938087AD on 1 device
** disk0s7: Scan for Metadata Volume
** Logical Volume Group has a 16 MB Metadata Volume with double redundancy
** Start scanning metadata for a valid checkpoint
** Load and verify Segment Headers
** Load and verify Checkpoint Payload
** Load and verify Transaction Segment
** Load and verify Transaction Segment
** Incorporate 1 newer non-checkpoint transaction
** Load and verify Virtual Address Table
** Load and verify Segment Usage Table
** Load and verify Metadata Superblock
** Load and verify Logical Volumes B-Trees
** Logical Volume Group contains 1 Logical Volume
** Load and verify FFCE2FAF-BE8E-4FEF-9F3E-E221C6CBCA11
** Load and verify 0CFAFD38-E79B-40AC-A4BE-63296E6B4331
** Load and verify Freespace Summary
** Load and verify Block Accounting
** Load and verify Live Virtual Addresses
** Newest transaction commit checkpoint is valid
** Load and verify Segment Cleaning
** The volume 902434C9-0131-4E3A-AE15-2B8B938087AD appears to be OK.
macbookpro08-centrim:~ gjp22$ diskutil coreStorage list
CoreStorage logical volume groups (2 found)
|
+-- Logical Volume Group A82B1A4B-B312-41AB-B020-F813CCC74C1C
|   =========================================================
|   Name:         OS
|   Status:       Online
|   Size:         99484213248 B (99.5 GB)
|   Free Space:   0 B (0 B)
|   |
|   +-< Physical Volume 18126061-401E-47DB-A215-8CC6400769F6
|   |   ----------------------------------------------------
|   |   Index:    0
|   |   Disk:     disk0s5
|   |   Status:   Online
|   |   Size:     99484213248 B (99.5 GB)
|   |
|   +-> Logical Volume Family 7615C140-F0A4-4BDC-AEFF-A78A55E41B1B
|       ----------------------------------------------------------
|       Encryption Status:       Unlocked
|       Encryption Type:         AES-XTS
|       Conversion Status:       Complete
|       Conversion Direction:    -none-
|       Has Encrypted Extents:   Yes
|       Fully Secure:            Yes
|       Passphrase Required:     Yes
|       |
|       +-> Logical Volume 6F42406A-AB44-40B2-9838-9EAFC5CF1C09
|           ---------------------------------------------------
|           Disk:               disk1
|           Status:             Online
|           Size (Total):       99165437952 B (99.2 GB)
|           Size (Converted):   -none-
|           Revertible:         No
|           LV Name:            OS
|           Volume Name:        OS
|           Content Hint:       Apple_HFS
|
+-- Logical Volume Group 902434C9-0131-4E3A-AE15-2B8B938087AD
    =========================================================
    Name:         gjp22-cs
    Status:       Online
    Size:         616336003072 B (616.3 GB)
    Free Space:   0 B (0 B)
    |
    +-< Physical Volume 179AADE6-34F1-404C-A994-9FD99C881BA6
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s7
    |   Status:   Online
    |   Size:     616336003072 B (616.3 GB)
    |
    +-> Logical Volume Family FFCE2FAF-BE8E-4FEF-9F3E-E221C6CBCA11
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         AES-XTS
        Conversion Status:       Complete
        Conversion Direction:    -none-
        Has Encrypted Extents:   Yes
        Fully Secure:            Yes
        Passphrase Required:     Yes
        |
        +-> Logical Volume 0CFAFD38-E79B-40AC-A4BE-63296E6B4331
            ---------------------------------------------------
            Disk:               disk3
            Status:             Online
            Size (Total):       616017227776 B (616.0 GB)
            Size (Converted):   -none-
            Revertible:         No
            LV Name:            gjp22-cs
            Content Hint:       Apple_HFS
macbookpro08-centrim:~ gjp22$ date
Sun  7 Apr 2013 08:21:13 BST
macbookpro08-centrim:~ gjp22$ 

Side note: whilst Disk Utility found two LVGs, its verification routine failed to include the one that uses disk0s7 (probably due to misrepresentation of things in Core Storage world, for which I reported a bug to Apple). This multiple LVGs example probably belongs under What techniques for disk, volume and file system management are possible with OS X, but troublesome within Disk Utility?

share|improve this question

1 Answer 1

Logical volume groups with one newer non-checkpoint transaction

These may be irreparably damaged.

Verbose safe boot

For my example with two LVGs, Core Storage-related lines suggest that each LVG is damaged:

CoreStorageGlobals() boot args = 0x1
CoreStorageFsck: LVG on disk0s5 is damaged and mounted read-only
CoreStorage: fsck_cs has finished for group "A82B1A4B-B312-41AB-B020-F813CCC74C1C" with status 0x04
CoreStorageFsck: LVG on disk0s7 is damaged and mounted read-only
CoreStorage: fsck_cs has finished for group "902434C9-0131-4E3A-AE15-2B8B938087AD" with status 0x04
thr 0xffffff8008c65aa0 LVG MLV is readonly because metadata is not writable
thr 0xffffff8008e6baa0 LVG MLV is readonly because metadata is not writable
CoreStorageFamily::unlockVEKs() failed to unwrap the vek, status = e00002bc
Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI/PRT0@0/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/ST750LX003-1AC154 Media/IOGUIDPartitionScheme/OS@5/CoreStoragePhysical/CoreStorageGroup/OS

In this case the failure to unwrap is proper (the volume encryption key used at EfiLoginUI is good for the OS X startup volume, but not for the home directory that's in a separate LVG). That one line aside …

… if we trust what's stated by the operating system in the question and in this answer, then each LVG with a newer non-checkpoint transaction is:

  • apparently OK
  • damaged
  • irreparable.

Approaches to damage

Destruction (deletion) and recreation (erasure)

For me in at least once case (not given here at this time), fsck_cs found a newer non-checkpoint transaction for an LVG that had been created only minutes earlier, by an erasure that included encryption.

So whilst deletion of an LVG followed by creation might result in an LVG where no newer non-checkpoint transactions are found, neither short- nor long-term goodness is guaranteed.

Suggested reading

The most recent edition of FileVault Drive Encryption (FVDE).pdf in the open source libfvde project.

share|improve this answer
    
Maybe Core Storage redundancy of metadata makes it apparently OK to work with (not attempt to repair) a logical volume group that is damaged. –  Graham Perrin Apr 7 '13 at 18:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.