+ if (!cur_dir) {
+ /* Root directory; get volume information. */
+ FILE_FS_ATTRIBUTE_INFORMATION info;
+ IO_STATUS_BLOCK iosb;
+
+ params->capture_root_ino =
+ ((u64)file_info.nFileIndexHigh << 32) |
+ file_info.nFileIndexLow;
+ params->capture_root_dev = file_info.dwVolumeSerialNumber;
+
+ status = (*func_NtQueryVolumeInformationFile)(h, &iosb,
+ &info, sizeof(info),
+ FileFsAttributeInformation);
+ if ((NT_SUCCESS(status) || (status == STATUS_BUFFER_OVERFLOW)) &&
+ iosb.Information >= sizeof(FILE_FS_ATTRIBUTE_INFORMATION))
+ {
+ vol_flags = info.FileSystemAttributes;
+ } else {
+ set_errno_from_nt_status(status);
+ WARNING_WITH_ERRNO("\"%ls\": Can't get volume information",
+ full_path);
+ vol_flags = 0;
+ }
+ }
+