- TLV_GET_STRING(s, BTRFS_SEND_A_PATH, &path);
- if (strstr(path, ".bak_1.log")) {
- ret = 0;
- }
- TLV_GET_TIMESPEC(s, BTRFS_SEND_A_ATIME, &at);
- TLV_GET_TIMESPEC(s, BTRFS_SEND_A_MTIME, &mt);
- TLV_GET_TIMESPEC(s, BTRFS_SEND_A_CTIME, &ct);
- ret = s->ops->utimes(path, &at, &mt, &ct, s->user);
+ TLV_GET_STRING(sctx, BTRFS_SEND_A_PATH, &path);
+ TLV_GET_TIMESPEC(sctx, BTRFS_SEND_A_ATIME, &at);
+ TLV_GET_TIMESPEC(sctx, BTRFS_SEND_A_MTIME, &mt);
+ TLV_GET_TIMESPEC(sctx, BTRFS_SEND_A_CTIME, &ct);
+ ret = sctx->ops->utimes(path, &at, &mt, &ct, sctx->user);
+ break;
+ case BTRFS_SEND_C_UPDATE_EXTENT:
+ TLV_GET_STRING(sctx, BTRFS_SEND_A_PATH, &path);
+ TLV_GET_U64(sctx, BTRFS_SEND_A_FILE_OFFSET, &offset);
+ TLV_GET_U64(sctx, BTRFS_SEND_A_SIZE, &tmp);
+ ret = sctx->ops->update_extent(path, offset, tmp, sctx->user);