Project

General

Profile

Actions

Feature #13731

closed

inode for Windows on ReFS

Added by kubo (Takehiro Kubo) over 7 years ago. Updated about 7 years ago.

Status:
Closed
Target version:
-
[ruby-dev:50166]

Description

#11216 でWindowsでのinodeの代用としてBY_HANDLE_FILE_INFORMATION構造体の
メンバ、nFileIndexHigh/Lowを使っていますが、ReFS ではこの値ではユニークに
なりません。ReFSでは64ビットではなくて、128ビットでユニークな番号になります。

In https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx
The ReFS file system, introduced with Windows Server 2012, includes
128-bit file identifiers. To retrieve the 128-bit file identifier use the
GetFileInformationByHandleEx function with FileIdInfo to retrieve the
FILE_ID_INFO structure. The 64-bit identifier in this structure is not
guaranteed to be unique on ReFS.

128ビットの数字を入れるには現行の struct stati64 では足りません。しかし、 #13726
のパッチが受け入れられたなら stat 構造体の定義が変わるので、ついでに st_ino を
128ビットにしたら(もしくは st_ino を 64ビットにして、64ビットのメンバをもうひと
つ追加したら)どうでしょうか?
ruby 2.5 になるタイミングならABI非互換の変更も入れられるでしょう。


Related issues 2 (0 open2 closed)

Related to Ruby master - Feature #13726: PATCH: Windows builds - fractional second file timesClosedusa (Usaku NAKAMURA)Actions
Related to Ruby master - Misc #13702: TZ checking in rb_w32_fstati64()Closedusa (Usaku NAKAMURA)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0