diff -urpN a/modules/linux/vmsync/sync.c b/modules/linux/vmsync/sync.c --- a/modules/linux/vmsync/sync.c 2012-08-01 19:02:59.000000000 -0700 +++ b/modules/linux/vmsync/sync.c 2012-10-14 07:38:18.000000000 -0700 @@ -162,7 +162,11 @@ VmSyncThawDevices(void *_state) // IN cancel_delayed_work(&state->thawTask); list_for_each_safe(cur, tmp, &state->devices) { dev = list_entry(cur, VmSyncBlockDevice, list); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) + if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) { +#else if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) { +#endif thaw_bdev(dev->bdev, dev->sb); atomic_dec(&gFreezeCount); } @@ -237,7 +241,11 @@ VmSyncAddPath(const VmSyncState *state, * the superblock is already frozen. */ if (inode->i_sb->s_bdev == NULL || +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) + inode->i_sb->s_writers.frozen != SB_UNFROZEN) { +#else inode->i_sb->s_frozen != SB_UNFROZEN) { +#endif result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY; compat_path_release(&nd); goto exit;