5345 {
5349
5352
5355 }
5356
5366#if (NTDDI_VERSION >= NTDDI_WIN7)
5367 case FSCTL_REQUEST_OPLOCK:
5368#endif
5370 break;
5371
5374 break;
5375
5378 break;
5379
5382 break;
5383
5386 break;
5387
5389 WARN(
"STUB: FSCTL_IS_PATHNAME_VALID\n");
5391 break;
5392
5394 WARN(
"STUB: FSCTL_MARK_VOLUME_DIRTY\n");
5396 break;
5397
5399 WARN(
"STUB: FSCTL_QUERY_RETRIEVAL_POINTERS\n");
5401 break;
5402
5405 break;
5406
5409 break;
5410
5412 WARN(
"STUB: FSCTL_SET_BOOTLOADER_ACCESSED\n");
5414 break;
5415
5418 break;
5419
5421 WARN(
"STUB: FSCTL_QUERY_FAT_BPB\n");
5423 break;
5424
5427 break;
5428
5430 WARN(
"STUB: FSCTL_GET_NTFS_VOLUME_DATA\n");
5432 break;
5433
5435 WARN(
"STUB: FSCTL_GET_NTFS_FILE_RECORD\n");
5437 break;
5438
5440 WARN(
"STUB: FSCTL_GET_VOLUME_BITMAP\n");
5442 break;
5443
5449 &
Irp->IoStatus.Information);
5450 break;
5451
5453 WARN(
"STUB: FSCTL_MOVE_FILE\n");
5455 break;
5456
5459 break;
5460
5463 break;
5464
5466 WARN(
"STUB: FSCTL_FIND_FILES_BY_SID\n");
5468 break;
5469
5471 WARN(
"STUB: FSCTL_SET_OBJECT_ID\n");
5473 break;
5474
5477 &
Irp->IoStatus.Information);
5478 break;
5479
5481 WARN(
"STUB: FSCTL_DELETE_OBJECT_ID\n");
5483 break;
5484
5487 break;
5488
5492 break;
5493
5496 break;
5497
5499 WARN(
"STUB: FSCTL_ENUM_USN_DATA\n");
5501 break;
5502
5504 WARN(
"STUB: FSCTL_SECURITY_ID_CHECK\n");
5506 break;
5507
5509 WARN(
"STUB: FSCTL_READ_USN_JOURNAL\n");
5511 break;
5512
5514 WARN(
"STUB: FSCTL_SET_OBJECT_ID_EXTENDED\n");
5516 break;
5517
5520 &
Irp->IoStatus.Information);
5521 break;
5522
5526 break;
5527
5531 break;
5532
5537 break;
5538
5540 WARN(
"STUB: FSCTL_ENABLE_UPGRADE\n");
5542 break;
5543
5545 WARN(
"STUB: FSCTL_SET_ENCRYPTION\n");
5547 break;
5548
5550 WARN(
"STUB: FSCTL_ENCRYPTION_FSCTL_IO\n");
5552 break;
5553
5555 WARN(
"STUB: FSCTL_WRITE_RAW_ENCRYPTED\n");
5557 break;
5558
5560 WARN(
"STUB: FSCTL_READ_RAW_ENCRYPTED\n");
5562 break;
5563
5565 WARN(
"STUB: FSCTL_CREATE_USN_JOURNAL\n");
5567 break;
5568
5570 WARN(
"STUB: FSCTL_READ_FILE_USN_DATA\n");
5572 break;
5573
5575 WARN(
"STUB: FSCTL_WRITE_USN_CLOSE_RECORD\n");
5577 break;
5578
5580 WARN(
"STUB: FSCTL_EXTEND_VOLUME\n");
5582 break;
5583
5585 WARN(
"STUB: FSCTL_QUERY_USN_JOURNAL\n");
5587 break;
5588
5590 WARN(
"STUB: FSCTL_DELETE_USN_JOURNAL\n");
5592 break;
5593
5595 WARN(
"STUB: FSCTL_MARK_HANDLE\n");
5597 break;
5598
5600 WARN(
"STUB: FSCTL_SIS_COPYFILE\n");
5602 break;
5603
5605 WARN(
"STUB: FSCTL_SIS_LINK_FILES\n");
5607 break;
5608
5610 WARN(
"STUB: FSCTL_RECALL_FILE\n");
5612 break;
5613
5615 WARN(
"STUB: FSCTL_READ_FROM_PLEX\n");
5617 break;
5618
5620 WARN(
"STUB: FSCTL_FILE_PREFETCH\n");
5622 break;
5623
5624#if _WIN32_WINNT >= 0x0600
5626 WARN(
"STUB: FSCTL_MAKE_MEDIA_COMPATIBLE\n");
5628 break;
5629
5631 WARN(
"STUB: FSCTL_SET_DEFECT_MANAGEMENT\n");
5633 break;
5634
5636 WARN(
"STUB: FSCTL_QUERY_SPARING_INFO\n");
5638 break;
5639
5641 WARN(
"STUB: FSCTL_QUERY_ON_DISK_VOLUME_INFO\n");
5643 break;
5644
5646 WARN(
"STUB: FSCTL_SET_VOLUME_COMPRESSION_STATE\n");
5648 break;
5649
5651 WARN(
"STUB: FSCTL_TXFS_MODIFY_RM\n");
5653 break;
5654
5656 WARN(
"STUB: FSCTL_TXFS_QUERY_RM_INFORMATION\n");
5658 break;
5659
5661 WARN(
"STUB: FSCTL_TXFS_ROLLFORWARD_REDO\n");
5663 break;
5664
5666 WARN(
"STUB: FSCTL_TXFS_ROLLFORWARD_UNDO\n");
5668 break;
5669
5671 WARN(
"STUB: FSCTL_TXFS_START_RM\n");
5673 break;
5674
5676 WARN(
"STUB: FSCTL_TXFS_SHUTDOWN_RM\n");
5678 break;
5679
5681 WARN(
"STUB: FSCTL_TXFS_READ_BACKUP_INFORMATION\n");
5683 break;
5684
5686 WARN(
"STUB: FSCTL_TXFS_WRITE_BACKUP_INFORMATION\n");
5688 break;
5689
5691 WARN(
"STUB: FSCTL_TXFS_CREATE_SECONDARY_RM\n");
5693 break;
5694
5696 WARN(
"STUB: FSCTL_TXFS_GET_METADATA_INFO\n");
5698 break;
5699
5701 WARN(
"STUB: FSCTL_TXFS_GET_TRANSACTED_VERSION\n");
5703 break;
5704
5705 case FSCTL_TXFS_SAVEPOINT_INFORMATION:
5706 WARN(
"STUB: FSCTL_TXFS_SAVEPOINT_INFORMATION\n");
5708 break;
5709
5711 WARN(
"STUB: FSCTL_TXFS_CREATE_MINIVERSION\n");
5713 break;
5714
5716 WARN(
"STUB: FSCTL_TXFS_TRANSACTION_ACTIVE\n");
5718 break;
5719
5721 WARN(
"STUB: FSCTL_SET_ZERO_ON_DEALLOCATION\n");
5723 break;
5724
5726 WARN(
"STUB: FSCTL_SET_REPAIR\n");
5728 break;
5729
5731 WARN(
"STUB: FSCTL_GET_REPAIR\n");
5733 break;
5734
5736 WARN(
"STUB: FSCTL_WAIT_FOR_REPAIR\n");
5738 break;
5739
5741 WARN(
"STUB: FSCTL_INITIATE_REPAIR\n");
5743 break;
5744
5746 WARN(
"STUB: FSCTL_CSC_INTERNAL\n");
5748 break;
5749
5751 WARN(
"STUB: FSCTL_SHRINK_VOLUME\n");
5753 break;
5754
5756 WARN(
"STUB: FSCTL_SET_SHORT_NAME_BEHAVIOR\n");
5758 break;
5759
5761 WARN(
"STUB: FSCTL_DFSR_SET_GHOST_HANDLE_STATE\n");
5763 break;
5764
5766 WARN(
"STUB: FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES\n");
5768 break;
5769
5771 WARN(
"STUB: FSCTL_TXFS_LIST_TRANSACTIONS\n");
5773 break;
5774
5776 WARN(
"STUB: FSCTL_QUERY_PAGEFILE_ENCRYPTION\n");
5778 break;
5779
5780 case FSCTL_RESET_VOLUME_ALLOCATION_HINTS:
5781 WARN(
"STUB: FSCTL_RESET_VOLUME_ALLOCATION_HINTS\n");
5783 break;
5784
5785 case FSCTL_TXFS_READ_BACKUP_INFORMATION2:
5786 WARN(
"STUB: FSCTL_TXFS_READ_BACKUP_INFORMATION2\n");
5788 break;
5789
5791 WARN(
"STUB: FSCTL_CSV_CONTROL\n");
5793 break;
5794#endif
5795
5797 TRACE(
"STUB: FSCTL_QUERY_VOLUME_CONTAINER_STATE\n");
5799 break;
5800
5804 break;
5805
5808 break;
5809
5813 break;
5814
5817 break;
5818
5821 break;
5822
5825 break;
5826
5829 break;
5830
5833 break;
5834
5837 break;
5838
5841 break;
5842
5845 break;
5846
5849 break;
5850
5853 break;
5854
5857 break;
5858
5861 break;
5862
5865 break;
5866
5869 break;
5870
5873 break;
5874
5877 break;
5878
5881 break;
5882
5885 break;
5886
5889 break;
5890
5893 break;
5894
5897 break;
5898
5901 break;
5902
5906 break;
5907
5910 break;
5911
5915 break;
5916
5919 break;
5920
5924 break;
5925
5929 break;
5930
5933 &
Irp->IoStatus.Information,
Irp->RequestorMode);
5934 break;
5935
5939 break;
5940
5944 Irp->RequestorMode);
5945 break;
5946
5947 default:
5948 WARN(
"unknown control code %lx (DeviceType = %lx, Access = %lx, Function = %lx, Method = %lx)\n",
5953 break;
5954 }
5955
5957}
static NTSTATUS lock_volume(device_extension *Vcb, PIRP Irp)
static NTSTATUS get_compression(PIRP Irp)
static NTSTATUS get_csum_info(device_extension *Vcb, PFILE_OBJECT FileObject, btrfs_csum_info *buf, ULONG buflen, ULONG_PTR *retlen, KPROCESSOR_MODE processor_mode)
static NTSTATUS mknod(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, PIRP Irp)
static NTSTATUS set_sparse(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG length, PIRP Irp)
static NTSTATUS unlock_volume(device_extension *Vcb, PIRP Irp)
static NTSTATUS fs_get_statistics(void *buffer, DWORD buflen, ULONG_PTR *retlen)
static NTSTATUS set_zero_data(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG length, PIRP Irp)
static NTSTATUS get_file_ids(PFILE_OBJECT FileObject, void *data, ULONG length)
static NTSTATUS create_subvol(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, PIRP Irp)
static NTSTATUS find_subvol(device_extension *Vcb, void *in, ULONG inlen, void *out, ULONG outlen, PIRP Irp)
static NTSTATUS recvd_subvol(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, KPROCESSOR_MODE processor_mode)
static NTSTATUS get_retrieval_pointers(device_extension *Vcb, PFILE_OBJECT FileObject, STARTING_VCN_INPUT_BUFFER *in, ULONG inlen, RETRIEVAL_POINTERS_BUFFER *out, ULONG outlen, ULONG_PTR *retlen)
static NTSTATUS reserve_subvol(device_extension *Vcb, PFILE_OBJECT FileObject, PIRP Irp)
static NTSTATUS get_integrity_information(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen)
static NTSTATUS query_uuid(device_extension *Vcb, void *data, ULONG length)
static NTSTATUS get_inode_info(PFILE_OBJECT FileObject, void *data, ULONG length)
static NTSTATUS invalidate_volumes(PIRP Irp)
static NTSTATUS get_object_id(PFILE_OBJECT FileObject, FILE_OBJECTID_BUFFER *buf, ULONG buflen, ULONG_PTR *retlen)
NTSTATUS dismount_volume(device_extension *Vcb, bool shutdown, PIRP Irp)
static NTSTATUS fsctl_get_xattrs(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, KPROCESSOR_MODE processor_mode)
static NTSTATUS get_usage(device_extension *Vcb, void *data, ULONG length, PIRP Irp)
static NTSTATUS duplicate_extents(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, PIRP Irp)
static NTSTATUS resize_device(device_extension *Vcb, void *data, ULONG len, PIRP Irp)
static NTSTATUS add_device(device_extension *Vcb, PIRP Irp, KPROCESSOR_MODE processor_mode)
#define FSCTL_QUERY_VOLUME_CONTAINER_STATE
static NTSTATUS is_volume_dirty(device_extension *Vcb, PIRP Irp)
static NTSTATUS allow_extended_dasd_io(device_extension *Vcb, PFILE_OBJECT FileObject)
static NTSTATUS fsctl_oplock(device_extension *Vcb, PIRP *Pirp)
static NTSTATUS create_snapshot(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG length, PIRP Irp)
static NTSTATUS get_devices(device_extension *Vcb, void *data, ULONG length)
static NTSTATUS set_inode_info(PFILE_OBJECT FileObject, void *data, ULONG length, PIRP Irp)
static NTSTATUS set_integrity_information(PFILE_OBJECT FileObject, void *data, ULONG datalen)
static NTSTATUS is_volume_mounted(device_extension *Vcb, PIRP Irp)
static NTSTATUS query_ranges(PFILE_OBJECT FileObject, FILE_ALLOCATED_RANGE_BUFFER *inbuf, ULONG inbuflen, void *outbuf, ULONG outbuflen, ULONG_PTR *retlen)
static NTSTATUS set_compression(PIRP Irp)
#define FSCTL_CSV_CONTROL
static NTSTATUS reset_stats(device_extension *Vcb, void *data, ULONG length, KPROCESSOR_MODE processor_mode)
static NTSTATUS fsctl_set_xattr(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, PIRP Irp)
NTSTATUS stop_scrub(device_extension *Vcb, KPROCESSOR_MODE processor_mode)
NTSTATUS pause_scrub(device_extension *Vcb, KPROCESSOR_MODE processor_mode)
NTSTATUS get_reparse_point(PFILE_OBJECT FileObject, void *buffer, DWORD buflen, ULONG_PTR *retlen)
NTSTATUS query_scrub(device_extension *Vcb, KPROCESSOR_MODE processor_mode, void *data, ULONG length)
NTSTATUS set_reparse_point(PIRP Irp)
NTSTATUS read_send_buffer(device_extension *Vcb, PFILE_OBJECT FileObject, void *data, ULONG datalen, ULONG_PTR *retlen, KPROCESSOR_MODE processor_mode)
NTSTATUS delete_reparse_point(PIRP Irp)
NTSTATUS start_scrub(device_extension *Vcb, KPROCESSOR_MODE processor_mode)