• Re: It is stunning when you see how badly Windows operates: indexing

    From Lars Poulsen@3:633/10 to All on Mon Oct 6 02:46:53 2025
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the files Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to be re-read? Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY MAINTAINING an index.

    I suspect that one can set Windows to do either. But the overhead is
    different between the two.

    I have indeing turned off on my Windows systems.

    --
    Lars Poulsen

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Sun Oct 5 21:16:49 2025
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the files Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the file
    is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or last opened, not it's content.

    So there is no need to re-read the file.


    I suspect that one can set Windows to do either. But the overhead is different between the two.

    I have indeing turned off on my Windows systems.
    Because it works so poorly.

    I can move a directory containing 10,000 files in various
    sub-directories and as soon as the move is finished, my macOS Spotlight? indexing system will find them in their new location with (essentially)
    no delay.

    If you don't believe me, I can demonstrate.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Paul@3:633/10 to All on Mon Oct 6 04:52:29 2025
    On Mon, 10/6/2025 12:16 AM, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the files >> Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the file is returned.

    The location of the file is ONE single piece of information in the indexing system about the file.

    Move the file and all you need to do is update that one piece of information.

    Nothing else has changed: not it's name, not it's date modified or last opened, not it's content.

    So there is no need to re-read the file.


    There is one of those Microsoft-style descriptions here, of how it works.

    https://learn.microsoft.com/en-us/windows/win32/search/-search-indexing-process-overview

    https://learn.microsoft.com/en-us/windows/win32/fileio/change-journal-records

    Paul

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From MikeS@3:633/10 to All on Mon Oct 6 09:56:55 2025
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the
    files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to
    be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an individual Byte/Bit of RAM die on you??) .... unless it still HAS the "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM die
    on me. If it did that would have zero effect on the index data needed to search for the file.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 14:17:20 2025
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.

    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 14:22:45 2025
    On 2025-10-06 10:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the
    files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to
    be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an individual Byte/Bit of RAM die on you??) .... unless it still HAS the "original" file to compare the new file too??

    Two possibilities.

    a) There is a service, or daemon, that is tracking all move
    operations (it must be connected to the system libraries that do the
    moves). Ie, the kernel is designed to track moves and inform some higher
    level layer about this. Thus the indexer is told that a file moved location.

    b) The indexer does some fast checking of the file (name, attributes,
    etc) and if it is the same, it assumes the file has moved. Maybe
    verification is delayed.


    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Brian Gregory@3:633/10 to All on Mon Oct 6 15:45:33 2025
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant
    looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in the course of that I moved the contents that had previously been
    synchronized to two folders with "(Old)" added to make sure that nothing
    got lost when we did it.

    And I wasn't surprised when resetting his connections to his OneDrive
    store and the company Sharepoint store set off a flurry of indexing. I wasn't even surprised that that took a bit of time to finish; I was re- downloading a lot of files which from the perspective of Windows, all
    needed to be indexed anew.

    What was completely surprising was that simply moving the those two
    "Old" folders immediately caused Windows to re-index that content! I
    decided to clean up the two separate "Old" stores into a single folder,
    and all of a sudden, the indexing which was at 0 in Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files that
    its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-indexing
    isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files have finished the move.

    Surely most people just turn indexing off.
    It's pretty useless anyway.
    But you can leave it on if you have an SSD without it causing too much
    of a problem.

    --
    Brian Gregory (in England).

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Brian Gregory@3:633/10 to All on Mon Oct 6 15:49:08 2025
    On 10/08/2025 05:34, Mr. Man-wai Chang wrote:
    On 10/8/2025 7:30 am, Alan wrote:
    I'm going some tech support for my brother today, and that's meant
    looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    This Indexing Service should have been *OPTIONAL*. The search function should work regardless of the indexing settings.

    Why can't I choose a slow but more reliable method that doesn't need indexes?? :)


    Surely you can?
    I always turn indexing off permanantly as soon as it starts to cause
    problems.

    --
    Brian Gregory (in England).

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Brian Gregory@3:633/10 to All on Mon Oct 6 15:59:36 2025
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM die
    on me. If it did that would have zero effect on the index data needed
    to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to the original File.

    You're being silly.

    It's not the job of software to continuously expend lots of effort just
    so that it can carry on as if nothing has happened if and when at some
    point in the future the hardware starts to fail.

    --
    Brian Gregory (in England).

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 08:58:10 2025
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before the
    files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to
    be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an individual Byte/Bit of RAM die on you??) .... unless it still HAS the "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition, the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory the
    file should be displayed as being in.

    Do you know what a "hard link" is?

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 08:59:19 2025
    On 2025-10-06 02:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM die
    on me. If it did that would have zero effect on the index data needed
    to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to the original File.

    And it would mean the same for a file you DIDN'T move.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 09:00:05 2025
    On 2025-10-06 05:22, Carlos E.R. wrote:
    On 2025-10-06 10:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to
    be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Two possibilities.

    ’ a) There is a service, or daemon, that is tracking all move
    operations (it must be connected to the system libraries that do the
    moves). Ie, the kernel is designed to track moves and inform some higher level layer about this. Thus the indexer is told that a file moved
    location.

    Duh.


    ’ b) The indexer does some fast checking of the file (name, attributes, etc) and if it is the same, it assumes the file has moved. Maybe verification is delayed.




    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 09:12:47 2025
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of
    information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.


    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process that
    checks for events in the journal that actually DO mean that there is a
    new file that's been created or that a file has been changed.

    Those events require that a file get re-indexed. Moving a file within
    the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 09:13:27 2025
    On 2025-10-06 07:45, Brian Gregory wrote:
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant
    looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in
    the course of that I moved the contents that had previously been
    synchronized to two folders with "(Old)" added to make sure that
    nothing got lost when we did it.

    And I wasn't surprised when resetting his connections to his OneDrive
    store and the company Sharepoint store set off a flurry of indexing. I
    wasn't even surprised that that took a bit of time to finish; I was
    re- downloading a lot of files which from the perspective of Windows,
    all needed to be indexed anew.

    What was completely surprising was that simply moving the those two
    "Old" folders immediately caused Windows to re-index that content! I
    decided to clean up the two separate "Old" stores into a single
    folder, and all of a sudden, the indexing which was at 0 in
    Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files that
    its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-indexing
    isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files
    have finished the move.

    Surely most people just turn indexing off.

    Not on macOS.

    It's pretty useless anyway.

    Just on Windows.

    But you can leave it on if you have an SSD without it causing too much
    of a problem.
    Or you could use a decent operating system.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From MikeS@3:633/10 to All on Mon Oct 6 17:28:32 2025
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM die
    on me. If it did that would have zero effect on the index data needed
    to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to the original File.

    No .... it would mean that the 'moved' file *IS* corrupted. File
    indexing systems CANNOT record and search for data corruption.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 09:33:41 2025
    On 2025-10-06 09:28, MikeS wrote:
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it
    to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still HAS
    the "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM
    die on me. If it did that would have zero effect on the index data
    needed to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to
    the original File.

    No .... it would mean that the 'moved' file *IS* corrupted. File
    indexing systems CANNOT record and search for data corruption.

    THANK YOU!


    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Brian Gregory@3:633/10 to All on Mon Oct 6 17:48:06 2025
    On 06/10/2025 17:13, Alan wrote:
    On 2025-10-06 07:45, Brian Gregory wrote:
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant
    looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in
    the course of that I moved the contents that had previously been
    synchronized to two folders with "(Old)" added to make sure that
    nothing got lost when we did it.

    And I wasn't surprised when resetting his connections to his OneDrive
    store and the company Sharepoint store set off a flurry of indexing.
    I wasn't even surprised that that took a bit of time to finish; I was
    re- downloading a lot of files which from the perspective of Windows,
    all needed to be indexed anew.

    What was completely surprising was that simply moving the those two
    "Old" folders immediately caused Windows to re-index that content! I
    decided to clean up the two separate "Old" stores into a single
    folder, and all of a sudden, the indexing which was at 0 in
    Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files that
    its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-
    indexing isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files
    have finished the move.

    Surely most people just turn indexing off.

    Not on macOS.

    It's pretty useless anyway.

    Just on Windows.

    But you can leave it on if you have an SSD without it causing too much
    of a problem.
    Or you could use a decent operating system.

    If you'll buy me new Linux or Mac versions of all my software I'd be
    glad to try a better OS.

    What kind of brain dead person needs to search everything on their hard
    drive for that one document then mentioned that one thing that they miraculously remember the name of while they mysteriously completely
    forget when or where on their computer it was mentioned, yet somehow
    they managed to remember it was on their computer they saw it rather
    than on TV or in the Newspaper.

    --
    Brian Gregory (in England).

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 10:08:51 2025
    On 2025-10-06 09:48, Brian Gregory wrote:
    On 06/10/2025 17:13, Alan wrote:
    On 2025-10-06 07:45, Brian Gregory wrote:
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant
    looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in
    the course of that I moved the contents that had previously been
    synchronized to two folders with "(Old)" added to make sure that
    nothing got lost when we did it.

    And I wasn't surprised when resetting his connections to his
    OneDrive store and the company Sharepoint store set off a flurry of
    indexing. I wasn't even surprised that that took a bit of time to
    finish; I was re- downloading a lot of files which from the
    perspective of Windows, all needed to be indexed anew.

    What was completely surprising was that simply moving the those two
    "Old" folders immediately caused Windows to re-index that content! I
    decided to clean up the two separate "Old" stores into a single
    folder, and all of a sudden, the indexing which was at 0 in
    Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files
    that its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-
    indexing isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files
    have finished the move.

    Surely most people just turn indexing off.

    Not on macOS.

    It's pretty useless anyway.

    Just on Windows.

    But you can leave it on if you have an SSD without it causing too
    much of a problem.
    Or you could use a decent operating system.

    If you'll buy me new Linux or Mac versions of all my software I'd be
    glad to try a better OS.

    What kind of brain dead person needs to search everything on their hard drive for that one document then mentioned that one thing that they miraculously remember the name of while they mysteriously completely
    forget when or where on their computer it was mentioned, yet somehow
    they managed to remember it was on their computer they saw it rather
    than on TV or in the Newspaper.
    Why wouldn't you WANT TO BE ABLE TO when necessary?

    This system is seamless and it also provides the basis for the macOS
    backup system.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 22:35:37 2025
    On 2025-10-06 16:59, Brian Gregory wrote:
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it
    to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still HAS
    the "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM
    die on me. If it did that would have zero effect on the index data
    needed to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to
    the original File.

    You're being silly.

    It's not the job of software to continuously expend lots of effort just
    so that it can carry on as if nothing has happened if and when at some
    point in the future the hardware starts to fail.

    Actually, it is.

    There are advanced filesystems that certify that files do not change "accidentally".

    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 22:44:40 2025
    On 2025-10-06 17:58, Alan wrote:
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to
    be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition, the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory the
    file should be displayed as being in.

    Do you know what a "hard link" is?

    And how does the indexer know that this has happened?

    Oh, Windows supports hardlinks only on NTFS. Not on FAT or exFAT or ReFS.


    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 22:47:06 2025
    On 2025-10-06 18:12, Alan wrote:
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of
    information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.


    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process that
    checks for events in the journal that actually DO mean that there is a
    new file that's been created or that a file has been changed.

    Those events require that a file get re-indexed. Moving a file within
    the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    Not going to look it up, I don't do macs. I'll accept your word.

    Does Windows do it?

    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 13:53:47 2025
    On 2025-10-06 13:35, Carlos E.R. wrote:
    On 2025-10-06 16:59, Brian Gregory wrote:
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it >>>>>>> to be re-read?
    Alan> Did its content magically change just because you moved it? >>>>>>> Alan> No.

    This is the difference between indexing on demand versus
    CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the >>>>>> file is returned.

    The location of the file is ONE single piece of information in the >>>>>> indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or >>>>>> last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still
    HAS the "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM
    die on me. If it did that would have zero effect on the index data
    needed to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to
    the original File.

    You're being silly.

    It's not the job of software to continuously expend lots of effort
    just so that it can carry on as if nothing has happened if and when at
    some point in the future the hardware starts to fail.

    Actually, it is.

    There are advanced filesystems that certify that files do not change "accidentally".


    But MOVING a file has NOTHING TO DO WITH THAT!

    A "move" on a volume is nothing more than changing which directory a
    file will appear in.

    The actually data on the drive ISN'T MOVED!!!

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 13:56:46 2025
    On 2025-10-06 13:44, Carlos E.R. wrote:
    On 2025-10-06 17:58, Alan wrote:
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition,
    the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory the
    file should be displayed as being in.

    Do you know what a "hard link" is?

    And how does the indexer know that this has happened?

    How does the indexer know ANYTHING has happened?

    How about, it checks the file system journal.

    A "new file" entry: index that file.

    A "file modified" entriy: index that file.

    A "file moved" entry: modify the index to show the new location.



    Oh, Windows supports hardlinks only on NTFS. Not on FAT or exFAT or ReFS.
    Yeah... ...I know.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 14:12:43 2025
    On 2025-10-06 13:47, Carlos E.R. wrote:
    On 2025-10-06 18:12, Alan wrote:
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of
    information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.


    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process that
    checks for events in the journal that actually DO mean that there is a
    new file that's been created or that a file has been changed.

    Those events require that a file get re-indexed. Moving a file within
    the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    Not going to look it up, I don't do macs. I'll accept your word.

    Does Windows do it?

    Apparently not.

    Which is why I wrote subject I did:

    "It is stunning when you see how badly Windows operates: indexing"

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 23:22:46 2025
    On 2025-10-06 22:56, Alan wrote:
    On 2025-10-06 13:44, Carlos E.R. wrote:
    On 2025-10-06 17:58, Alan wrote:
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it
    to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still HAS
    the "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition,
    the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory the
    file should be displayed as being in.

    Do you know what a "hard link" is?

    And how does the indexer know that this has happened?

    How does the indexer know ANYTHING has happened?

    How about, it checks the file system journal.

    Can it?

    I have my doubts. In Linux, it is in kernelspace. I don't know if it can
    be queried.


    A "new file" entry: index that file.

    A "file modified" entriy: index that file.

    A "file moved" entry: modify the index to show the new location.



    Oh, Windows supports hardlinks only on NTFS. Not on FAT or exFAT or ReFS.
    Yeah... ...I know.

    Well, this thread is posted on two windows groups.

    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Mon Oct 6 23:25:16 2025
    On 2025-10-06 23:12, Alan wrote:
    On 2025-10-06 13:47, Carlos E.R. wrote:
    On 2025-10-06 18:12, Alan wrote:
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of
    information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.


    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process that
    checks for events in the journal that actually DO mean that there is
    a new file that's been created or that a file has been changed.

    Those events require that a file get re-indexed. Moving a file within
    the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    Not going to look it up, I don't do macs. I'll accept your word.

    Does Windows do it?

    Apparently not.

    Which is why I wrote subject I did:

    "It is stunning when you see how badly Windows operates: indexing"

    Well, I know that I have moved in the past huge content in Linux and
    seen several content indexers re-index them. I would have to test again noticing if it was the same partition.


    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 16:51:22 2025
    On 2025-10-06 14:22, Carlos E.R. wrote:
    On 2025-10-06 22:56, Alan wrote:
    On 2025-10-06 13:44, Carlos E.R. wrote:
    On 2025-10-06 17:58, Alan wrote:
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it >>>>>>> to be re-read?
    Alan> Did its content magically change just because you moved it? >>>>>>> Alan> No.

    This is the difference between indexing on demand versus
    CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the >>>>>> file is returned.

    The location of the file is ONE single piece of information in the >>>>>> indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or >>>>>> last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still
    HAS the "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition,
    the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory
    the file should be displayed as being in.

    Do you know what a "hard link" is?

    And how does the indexer know that this has happened?

    How does the indexer know ANYTHING has happened?

    How about, it checks the file system journal.

    Can it?

    I have my doubts. In Linux, it is in kernelspace. I don't know if it can
    be queried.

    Are you serious? Why in the HELL would you do that?



    A "new file" entry: index that file.

    A "file modified" entriy: index that file.

    A "file moved" entry: modify the index to show the new location.



    Oh, Windows supports hardlinks only on NTFS. Not on FAT or exFAT or
    ReFS.
    Yeah... ...I know.

    Well, this thread is posted on two windows groups.
    Because Windows absolutely SUCKS at this.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Paul@3:633/10 to All on Mon Oct 6 19:51:56 2025
    On Mon, 10/6/2025 10:45 AM, Brian Gregory wrote:
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in the course of that I moved the contents that had previously been synchronized to two folders with "(Old)" added to make sure that nothing got lost when we did it.

    And I wasn't surprised when resetting his connections to his OneDrive store and the company Sharepoint store set off a flurry of indexing. I wasn't even surprised that that took a bit of time to finish; I was re- downloading a lot of files which from the perspective of Windows, all needed to be indexed anew.

    What was completely surprising was that simply moving the those two "Old" folders immediately caused Windows to re-index that content! I decided to clean up the two separate "Old" stores into a single folder, and all of a sudden, the indexing which was at 0 in Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files that its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-indexing isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files have finished the move.

    Surely most people just turn indexing off.
    It's pretty useless anyway.
    But you can leave it on if you have an SSD without it causing too much of a problem.


    How the Indexer works, is going to depend on how the Change Journal works.
    The Indexer is not a 60 line program and a "tight ball of code". There
    are three running processes in Task Manager for the operation of it. It's rather big, as packaging goes. The processes even run with different
    priorities (one runs at a lower priority setting than the others and
    gets trashed and restarted every once in a while).

    *******

    Doing operations on the file system, developers are able to get different levels of performance. The NFI.exe utility from Microsoft, is my "go to" utility when I must know what is in a partition. It was written in the
    year 2003, and badly needs an update to be written (in particular, the $FILE_NAME entry, the string stored in there needs to be printed on
    the screen and that is missing information). Files which have multiple $FILE_NAME, are hardlinked files. Notice here, how I am able to find
    the Windows 11 Search Indexer inverted index file. It is stored on the
    file system as Filenum 23838 and is lightly fragmented.

    .\nfi C: > nfi-C-out.txt # And, 145 seconds later... 210MB listing 2,771,720 lines

    File 23838
    \ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.db

    $STANDARD_INFORMATION (resident)
    $FILE_NAME (resident)
    $DATA (nonresident)
    logical sectors 33709448-33712863 (0x2025d88-0x2026adf)
    ... (30 fragments total) (early search Index had hundreds of fragments)
    logical sectors 91984216-91984239 (0x57b9158-0x57b916f)

    The Indexer file is 2.35MB in size, as the Indexer in this machine is not configured
    to index anything..

    Now compare that to a VoidTool Everything.exe attempt to list a file system. Everything.exe does an "initial index" at machine startup, and you can tap into that by using the utiity without all of its baggage ("one-shot" utility usage). Now, it's not always this fast, but this is a good demo.

    .\Everything.exe -create-filelist every_c.txt "C:" # Examine the text file, to see the metadata
    # they keep in there. This emulates the initial
    # indexing process. You cannot list the WsL1 tree
    # files this way, they are ignored. Neither would
    # it pretend to access System Volume Information files.
    # There are safety reasons for staying out of there.

    7 seconds, 56,985,788 bytes output 360,000 lines or so. Entries for five files shown.

    Filename, Size, Date Modified, Date Created, Attributes
    "C:\Users\paul\Downloads\Windows-universal-samples-main--includes-OCR-sample.zip",28899211,133659001969022138,134034795503869343,32
    "C:\Users\paul\Downloads\windows10.0-kb5034232-x64_SafeOS-WinRE-example.cab",7530358,133696434360300569,134034795502291984,32
    "C:\Users\paul\Downloads\Windows10Upgrade9252.exe",3343496,133195821885381788,134034795502453969,32
    "C:\Users\paul\Downloads\Windows11Upgrade_EN.zip",409341,132937705786434792,134034795502762944,32
    "C:\Users\paul\Downloads\Windows6.1-KB3004394-v2-x64.msu",2442957,132894276659630869,134034795501816348,32

    That code then, has different objectives, but the code is 20x faster in the example.
    The very first version of the Voidtools work, did that job in *2* seconds, but back then
    all you got was a filename absolute path (no numbers on the end).

    The Content Indexing that Microsoft does, is a mondo bloat thing to do.
    It's orders of magnitude slower, and it takes all day to Content Index my
    "NAS collection".

    The Content Indexer is recommended to not be indexing more than 1 million files.
    That's what Microsoft specs as a practical limit. You can drive it harder
    than that, but expect some aspect to be slower.

    Summary: No one in their right mind uses the search box in File Explorer.
    How many times has it missed stuff ? You decide.

    But there are signs that maintainers still fiddle around with
    the implementation. In Win10 it uses Windows.edb "Jet Blue" database.
    In Win11 it uses Windows.db SQLite3 database. This makes no different
    at the user level (and isn't this why we write code???).

    I think if we had a Change Journal expert here, we could get an answer
    on how file moves are encoded, how many entries such an activity would
    span, and whether an architecture would allow optimization for it.

    It's the same when a naive person watches the miserably slow file deletion.
    The person would say "hey, why not stop the computer for a second,
    total up all the changes to the $MFT and just blast them in as a huge edit".
    and that causes a huge explanation of why we can't/won't be doing that.
    If that was even remotely possible, we'd have done it by now. Or at least,
    there would be a credible explanation of how we could do it.

    Paul

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 16:55:28 2025
    On 2025-10-06 14:25, Carlos E.R. wrote:
    On 2025-10-06 23:12, Alan wrote:
    On 2025-10-06 13:47, Carlos E.R. wrote:
    On 2025-10-06 18:12, Alan wrote:
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of
    information.

    For that you need a system service that tracks moves and tells the
    indexer. It doesn't happen automatically.


    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process that
    checks for events in the journal that actually DO mean that there is
    a new file that's been created or that a file has been changed.

    Those events require that a file get re-indexed. Moving a file
    within the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    Not going to look it up, I don't do macs. I'll accept your word.

    Does Windows do it?

    Apparently not.

    Which is why I wrote subject I did:

    "It is stunning when you see how badly Windows operates: indexing"

    Well, I know that I have moved in the past huge content in Linux and
    seen several content indexers re-index them. I would have to test again noticing if it was the same partition.
    A move to another volume is never really a move, now is it?

    The OS can make the end result appear to be the SAME as a move, but if
    you want the files on a different volume, then the data in those files
    will have to be WRITTEN to that new volume and of course the indexing
    for that volume will have no entries for those files...

    ...because from the context of that new volume?


    ...THEY WILL BE NEW FILES.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 17:27:07 2025
    On 2025-10-06 16:51, Paul wrote:
    On Mon, 10/6/2025 10:45 AM, Brian Gregory wrote:
    On 10/08/2025 00:30, Alan wrote:
    I'm going some tech support for my brother today, and that's meant looking "under the hood" of his Windows 10 machine.

    And it is astounding how poorly Windows handles indexing content.

    I had to uninstall OneDrive and set it up again from scratch and in the course of that I moved the contents that had previously been synchronized to two folders with "(Old)" added to make sure that nothing got lost when we did it.

    And I wasn't surprised when resetting his connections to his OneDrive store and the company Sharepoint store set off a flurry of indexing. I wasn't even surprised that that took a bit of time to finish; I was re- downloading a lot of files which from the perspective of Windows, all needed to be indexed anew.

    What was completely surprising was that simply moving the those two "Old" folders immediately caused Windows to re-index that content! I decided to clean up the two separate "Old" stores into a single folder, and all of a sudden, the indexing which was at 0 in Settings:Search:Searching Windows

    Windows isn't smart enough to recognize that these are all files that its already indexed and they're now just in a new location!

    About 80,000 files were move about 30 minutes ago, and the re-indexing isn't even 25% done!

    If I do a similar thing on macOS, it's done almost before the files have finished the move.

    Surely most people just turn indexing off.
    It's pretty useless anyway.
    But you can leave it on if you have an SSD without it causing too much of a problem.


    How the Indexer works, is going to depend on how the Change Journal works. The Indexer is not a 60 line program and a "tight ball of code". There
    are three running processes in Task Manager for the operation of it. It's rather big, as packaging goes. The processes even run with different priorities (one runs at a lower priority setting than the others and
    gets trashed and restarted every once in a while).

    *******

    Doing operations on the file system, developers are able to get different levels of performance. The NFI.exe utility from Microsoft, is my "go to" utility when I must know what is in a partition. It was written in the
    year 2003, and badly needs an update to be written (in particular, the $FILE_NAME entry, the string stored in there needs to be printed on
    the screen and that is missing information). Files which have multiple $FILE_NAME, are hardlinked files. Notice here, how I am able to find
    the Windows 11 Search Indexer inverted index file. It is stored on the
    file system as Filenum 23838 and is lightly fragmented.

    .\nfi C: > nfi-C-out.txt # And, 145 seconds later... 210MB listing 2,771,720 lines

    File 23838
    \ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.db

    $STANDARD_INFORMATION (resident)
    $FILE_NAME (resident)
    $DATA (nonresident)
    logical sectors 33709448-33712863 (0x2025d88-0x2026adf)
    ... (30 fragments total) (early search Index had hundreds of fragments)
    logical sectors 91984216-91984239 (0x57b9158-0x57b916f)

    The Indexer file is 2.35MB in size, as the Indexer in this machine is not configured
    to index anything..

    Now compare that to a VoidTool Everything.exe attempt to list a file system. Everything.exe does an "initial index" at machine startup, and you can tap into
    that by using the utiity without all of its baggage ("one-shot" utility usage).
    Now, it's not always this fast, but this is a good demo.

    .\Everything.exe -create-filelist every_c.txt "C:" # Examine the text file, to see the metadata
    # they keep in there. This emulates the initial
    # indexing process. You cannot list the WsL1 tree
    # files this way, they are ignored. Neither would
    # it pretend to access System Volume Information files.
    # There are safety reasons for staying out of there.

    7 seconds, 56,985,788 bytes output 360,000 lines or so. Entries for five files shown.

    Filename, Size, Date Modified, Date Created, Attributes
    "C:\Users\paul\Downloads\Windows-universal-samples-main--includes-OCR-sample.zip",28899211,133659001969022138,134034795503869343,32
    "C:\Users\paul\Downloads\windows10.0-kb5034232-x64_SafeOS-WinRE-example.cab",7530358,133696434360300569,134034795502291984,32
    "C:\Users\paul\Downloads\Windows10Upgrade9252.exe",3343496,133195821885381788,134034795502453969,32
    "C:\Users\paul\Downloads\Windows11Upgrade_EN.zip",409341,132937705786434792,134034795502762944,32
    "C:\Users\paul\Downloads\Windows6.1-KB3004394-v2-x64.msu",2442957,132894276659630869,134034795501816348,32

    That code then, has different objectives, but the code is 20x faster in the example.
    The very first version of the Voidtools work, did that job in *2* seconds, but back then
    all you got was a filename absolute path (no numbers on the end).

    The Content Indexing that Microsoft does, is a mondo bloat thing to do.
    It's orders of magnitude slower, and it takes all day to Content Index my "NAS collection".

    The Content Indexer is recommended to not be indexing more than 1 million files.
    That's what Microsoft specs as a practical limit. You can drive it harder than that, but expect some aspect to be slower.

    Summary: No one in their right mind uses the search box in File Explorer.
    How many times has it missed stuff ? You decide.

    But there are signs that maintainers still fiddle around with
    the implementation. In Win10 it uses Windows.edb "Jet Blue" database.
    In Win11 it uses Windows.db SQLite3 database. This makes no different
    at the user level (and isn't this why we write code???).

    I think if we had a Change Journal expert here, we could get an answer
    on how file moves are encoded, how many entries such an activity would
    span, and whether an architecture would allow optimization for it.

    It's the same when a naive person watches the miserably slow file deletion.
    The person would say "hey, why not stop the computer for a second,
    total up all the changes to the $MFT and just blast them in as a huge edit".
    and that causes a huge explanation of why we can't/won't be doing that.
    If that was even remotely possible, we'd have done it by now. Or at least,
    there would be a credible explanation of how we could do it.

    Paul

    Paul, you're the idiot that claimed moving a file resulted in a
    "deletefile" in the USN Journal...

    ...and you were spectacularly wrong.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Paul@3:633/10 to All on Mon Oct 6 21:47:50 2025
    On Mon, 10/6/2025 8:27 PM, Alan wrote:


    Paul, you're the idiot that claimed moving a file resulted in a "deletefile" in the USN Journal...

    ...and you were spectacularly wrong.

    Here is some CoPilot feedback.

    [Picture]

    https://i.postimg.cc/J4qxv3Wn/Co-Pilot-Comment-On-USN.gif

    [Picture]

    https://i.postimg.cc/6pV8Yzs0/USN-move-testcase.gif

    Paul

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Mon Oct 6 22:13:58 2025
    On 2025-10-06 18:47, Paul wrote:
    On Mon, 10/6/2025 8:27 PM, Alan wrote:


    Paul, you're the idiot that claimed moving a file resulted in a "deletefile" in the USN Journal...

    ...and you were spectacularly wrong.

    Here is some CoPilot feedback.

    [Picture]

    https://i.postimg.cc/J4qxv3Wn/Co-Pilot-Comment-On-USN.gif

    [Picture]

    https://i.postimg.cc/6pV8Yzs0/USN-move-testcase.gif

    Paul

    And you're stupid enough to think Copilot is infallible.

    Sorry, but even Windows isn't stupid enough to record moving a file from
    one directory to another as a delete followed by a create.

    Moving a file from one directory to another on the same volume does NOT generate those entries.

    Period.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Carlos E.R.@3:633/10 to All on Wed Oct 8 11:48:19 2025
    On 2025-10-08 11:30, Daniel70 wrote:
    On 6/10/2025 11:22 pm, Carlos E.R. wrote:
    On 2025-10-06 10:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Two possibilities.

    ’’ a) There is a service, or daemon, that is tracking all move
    operations (it must be connected to the system libraries that do the
    moves). Ie, the kernel is designed to track moves and inform some
    higher level layer about this. Thus the indexer is told that a file
    moved location.

    ’’ b) The indexer does some fast checking of the file (name,
    attributes, etc) and if it is the same, it assumes the file has moved.
    Maybe verification is delayed.

    So are you, Carlos, suggesting that, at the time of the move/copy, the
    OS does not check that what ends up at the new/final location is the
    same as what was in the old/original location??

    If it is an move via hardlink operation, then as the data sectors are
    not touched, only the metadata, the data is guaranteed to be the same.

    If it is copy-and-delete operation, the system does not do an automated
    check that what is actually written is the same data.

    However, the userland program doing the operation can do a verify before delete.


    If that *IS* the case, I hope no-one EVER does a Defrag!! EVER!!

    Not related, either. The application doing the defrag can do a verify.


    In Linux, there are filesystems that store a checksum of files in the metadata, so that integrity can be verified. It is not the default.


    --
    Cheers, Carlos.
    ES??, EU??;

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From J. P. Gilliver@3:633/10 to All on Wed Oct 8 11:16:17 2025
    On 2025/10/8 10:18:17, Daniel70 wrote:

    []

    Sorry! WHAT?? A file THAT I'VE DONE NOTHING TO might change!

    Really??

    Yes; it's called bit-rot, among other things.>
    WHEN??

    Depends on many factors; generally thought of as being possibly 5-10
    years for hard drives and SSDs, though the latter haven't _really_ been
    around for long enough for other than accelerated testing. Optical discs depends greatly on quality of disc, and storage conditions; my
    experience (mostly with budget ones) is not hopeful for more than a few
    (single digit number of) years.

    In practice, these are the times after which the error-correcting fails; individual bits probably rot sooner, but are correctable - until they
    aren't.


    WHY??
    Hard (and floppy) discs - areas magnetised lose or gain difference from adjacent ones. SSDs - charge leaks away (or in). Optical discs - the dye
    fades and similar (especially if not kept away from light).

    At some indeterminate time in the future??

    Yes.


    SURE!!
    Indeed!
    About the only reliable medium (for computer data, anyway - printed
    paper isn't bad, either) is punched plastic tape, but the information
    density is horrendous. (And not proof against e. g. fire.)


    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf

    "If god doesn't like the way I live, Let him tell me, not you." - unknown


    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From J. P. Gilliver@3:633/10 to All on Wed Oct 8 11:25:47 2025
    On 2025/10/8 10:48:19, Carlos E.R. wrote:
    On 2025-10-08 11:30, Daniel70 wrote:

    []


    So are you, Carlos, suggesting that, at the time of the move/copy, the

    OS does not check that what ends up at the new/final location is the
    same as what was in the old/original location??

    If it is an move via hardlink operation, then as the data sectors are
    not touched, only the metadata, the data is guaranteed to be the same.

    (Hmm, arguably that's not a move, though it looks like one to the user -
    a "move" to another place on the same partition usually only involves
    changing pointers.)>
    If it is copy-and-delete operation, the system does not do an automated

    check that what is actually written is the same data.

    Indeed. The _checksums_ (or more complex equivalents) may well be
    recalculated (possibly at the hardware level).>
    However, the userland program doing the operation can do a verify befor
    e
    delete.

    Indeed. A lot of copy/move commands have a verify _option_; I don't know
    if any have it on by default.>

    If that *IS* the case, I hope no-one EVER does a Defrag!! EVER!!

    Not related, either. The application doing the defrag can do a verify.

    Well, it _is_ related: a defrag _is_ a copy-and-delete (usually many of
    them). How many defrags do verify by default, I do not know.>
    In Linux, there are filesystems that store a checksum of files in the metadata, so that integrity can be verified. It is not the default.

    A lot of (all modern, even floppy?) systems - hard disc drives, probably
    SSDs - do that at a low level anyway, as their error-correction mechanism




    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf

    "If god doesn't like the way I live, Let him tell me, not you."
    - unknown

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From J. P. Gilliver@3:633/10 to All on Wed Oct 8 11:38:13 2025
    On 2025/10/8 10:35:43, Daniel70 wrote:

    []


    Alan, would you be satisfied if I had said/asked what happens when a
    File is 'COPIED' rather than 'MOVED'??

    Would I end up with TWO copies of the File on my HD??

    Yes; for a COPY, you will definitely have to have two copies - because
    if you subsequently edited one of them, the first one would have to
    remain unchanged. The only alternative to that would be for the OS to
    keep a record of all copy operations you do, and then if you alter one
    of them, copy the original first anyway so that it remains unchanged; I
    know of no OS that does this (the trcking requirements would be
    horrendous!).

    You can easily check that: look at the reported space used/remaining
    before and after you do a copy. It will go up/down. (And you will
    eventually run out of space and it won't let you copy.)


    If I then deleted the ORIGINAL file, how do I *KNOW* that the remaining

    file is the same as the ORIGINAL file??
    You don't, unless you invoked the verify option (or it is on by default)
    when you did the copy.



    --
    J. P. Gilliver. UMRA: 1960/<1985 MB++G()ALIS-Ch++(p)Ar++T+H+Sh0!:`)DNAf

    "If god doesn't like the way I live, Let him tell me, not you."
    - unknown

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Paul@3:633/10 to All on Wed Oct 8 10:45:08 2025
    On Wed, 10/8/2025 7:01 AM, Daniel70 wrote:


    Surely this can't be so .... or has Copilot just not completed the process??

    You can make up cases and ask the AI for a result.

    The idea of making my stupid cases, is just to get it
    to dump the names of a representative set of possibilities.

    To move a file can:

    1) Require deleting it with a change journal event,
    then create it with a second change journal event.
    The AI tells us there is no single-event Move type for the job.
    There is a tendency in computer systems designs to use
    atomic events rather than "do fancy stuff". There is a lot of
    fancy stuff we could do, which in the end we don't do.

    2) Moves can be orchestrated by the Name Change set of change journal events.

    Now, you have to prepare your set of file names, and then
    figure out which of those cases apply. Take the actual move
    command that demonstrated a problem and get the AI description
    of how that would be coded.

    The journal dumps I've tried, at some point the design must
    have changed. I didn't make a fetish out of this. Like at
    one time, you could see a write-file event dumped, for
    every 256KB or so of data. I don't think that scheme was
    in the latest try I made of a dump.

    ******************

    CoPilot Question

    In the NTFS change journal, has the design of the journal events been a
    constant with time or did the change journal design or representation change over the years ?

    CoPilot Answer

    The NTFS Change Journal - also known as the USN Journal - has evolved over time,
    though its core purpose has remained consistent: to efficiently track
    changes to files and directories on an NTFS volume.

    ### ?? Evolution of the Change Journal Design

    Here?s how its design and representation have changed over the years:

    #### 1. **Initial Introduction (Windows 2000 / NTFS 3.0)**
    - The Change Journal was introduced with NTFS 3.0.
    - It stored records in a metafile called `$Extend\$UsnJrnl`.
    - Each record included:
    - A 64-bit Update Sequence Number (USN)
    - File reference number
    - Reason flags (bitmask indicating the type of change)
    - Timestamp
    - File name

    #### 2. **USN_RECORD Structure Versions**
    - Over time, Microsoft introduced new versions of the `USN_RECORD` structure:
    - **V2**: Used in early implementations (Windows 2000, XP, etc.)
    - **V3 and V4**: Introduced in later versions of Windows to support new features and metadata
    - These versions added fields like extended reason flags, source info, and more precise timestamps.

    #### 3. **Bit Flags Expansion**
    - The `Reason` field uses bit flags like `USN_REASON_DATA_OVERWRITE`, `USN_REASON_FILE_CREATE`, etc.
    - New flags were added over time to reflect more granular changes (e.g., file renames, ACL changes).

    #### 4. **Performance and Scalability Enhancements**
    - As file systems grew to support millions of files, the journal?s internal mechanisms were optimized for speed and reduced overhead.
    - Journals became more configurable (e.g., size limits, retention policies).

    #### 5. **Integration with New Features**
    - Windows features like **File History**, **Windows Search**, and **Backup utilities** began leveraging the Change Journal.
    - This led to more robust APIs and better documentation for developers.
    ---
    ### ? Summary

    While the fundamental concept of logging file system changes has stayed the same,
    the **structure**, **metadata**, and **integration points** of the NTFS Change Journal
    have evolved to meet the demands of modern systems. It?s a great example of a foundational technology quietly adapting behind the scenes.

    Would you like to dive into the specifics of the USN_RECORD structure versions or how backup tools use the journal today?
    **********************************8

    Paul

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:18:01 2025
    On 2025-10-08 02:12, Daniel70 wrote:
    On 7/10/2025 1:59 am, Brian Gregory wrote:
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it >>>>>>> to be re-read?
    Alan> Did its content magically change just because you moved it? >>>>>>> Alan> No.

    This is the difference between indexing on demand versus
    CONTINUOUSLY
    MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the >>>>>> file is returned.

    The location of the file is ONE single piece of information in the >>>>>> indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or >>>>>> last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still
    HAS the "original" file to compare the new file too??

    As it happens I have never *noticed* an individual Byte/Bit of RAM
    die on me. If it did that would have zero effect on the index data
    needed to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different to
    the original File.

    You're being silly.

    It's not the job of software to continuously expend lots of effort
    just so that it can carry on as if nothing has happened if and when at
    some point in the future the hardware starts to fail.

    Correct. So the OP COULD have checked/compared the ORIGINAL file with
    the RELOCATED to ensure they are IDENTICAL ..... but, somehow, I don't
    think the SOFTWARE/OS does that check.

    I will say this over and over until the ignorant get the message:

    When you "move" a file from one directory to another directory on the
    same volume there is no second file ("ORIGINAL" vs "RELOCATED")

    The file's data NEVER MOVES.

    A "move" as described is literally NO DIFFERENT than just renaming the
    file, so there is no need to check that something has been changed.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:20:11 2025
    On 2025-10-08 02:23, Daniel70 wrote:
    On 7/10/2025 3:33 am, Alan wrote:
    On 2025-10-06 09:28, MikeS wrote:
    On 06/10/2025 10:54, Daniel70 wrote:
    On 6/10/2025 7:56 pm, MikeS wrote:
    On 06/10/2025 09:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote: Alan>>> If I do a similar
    thing on macOS, it's done almost before the files Alan>>>
    have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its
    content... Alan> ...why would simply moving it to a new
    location require it to be re-read? Alan> Did its content
    magically change just because you moved it? Alan> No.

    This is the difference between indexing on demand versus
    ’CONTINUOUSLY MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata
    and content.

    When a search happens, the INDEX gets searched the location
    of the file is returned.

    The location of the file is ONE single piece of information
    in the indexing system about the file.

    Move the file and all you need to do is update that one
    piece of information.

    Nothing else has changed: not it's name, not it's date
    modified or last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the
    "new" "moved" file is *EXACTLY* the same as the original file
    (never had an individual Byte/Bit of RAM die on you??) ....
    unless it still HAS the "original" file to compare the new
    file too??

    As it happens I have never *noticed* an individual Byte/Bit of
    RAM die on me. If it did that would have zero effect on the
    index data needed to search for the file.

    Sure .... but it would mean that the 'moved' file *IS* different
    to the original File.

    No .... it would mean that the 'moved' file *IS* corrupted.

    AH!! So MikeS doesn't consider a moved but corrupted file is different
    to the original file. Good to know!!

    I file IS NEVER CORRUPTED by a "move" from one place to another on a
    single volume.

    NEVER!!!

    Because the data is NOT BEING REWRITTEN.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:20:48 2025
    On 2025-10-08 02:30, Daniel70 wrote:
    On 6/10/2025 11:22 pm, Carlos E.R. wrote:
    On 2025-10-06 10:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Two possibilities.

    ’’ a) There is a service, or daemon, that is tracking all move
    operations (it must be connected to the system libraries that do the
    moves). Ie, the kernel is designed to track moves and inform some
    higher level layer about this. Thus the indexer is told that a file
    moved location.

    ’’ b) The indexer does some fast checking of the file (name,
    attributes, etc) and if it is the same, it assumes the file has moved.
    Maybe verification is delayed.

    So are you, Carlos, suggesting that, at the time of the move/copy, the
    OS does not check that what ends up at the new/final location is the
    same as what was in the old/original location??

    If that *IS* the case, I hope no-one EVER does a Defrag!! EVER!!

    I will say this over and over until the ignorant get the message:

    When you "move" a file from one directory to another directory on the
    same volume there is no second file ("ORIGINAL" vs "RELOCATED")

    The file's data NEVER MOVES.

    A "move" as described is literally NO DIFFERENT than just renaming the
    file, so there is no need to check that something has been changed.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:21:41 2025
    On 2025-10-08 02:48, Carlos E.R. wrote:
    On 2025-10-08 11:30, Daniel70 wrote:
    On 6/10/2025 11:22 pm, Carlos E.R. wrote:
    On 2025-10-06 10:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before >>>>>> the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it
    to be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and
    content.

    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had
    an individual Byte/Bit of RAM die on you??) .... unless it still HAS
    the "original" file to compare the new file too??

    Two possibilities.

    ’’ a) There is a service, or daemon, that is tracking all move
    operations (it must be connected to the system libraries that do the
    moves). Ie, the kernel is designed to track moves and inform some
    higher level layer about this. Thus the indexer is told that a file
    moved location.

    ’’ b) The indexer does some fast checking of the file (name,
    attributes, etc) and if it is the same, it assumes the file has
    moved. Maybe verification is delayed.

    So are you, Carlos, suggesting that, at the time of the move/copy, the
    OS does not check that what ends up at the new/final location is the
    same as what was in the old/original location??

    If it is an move via hardlink operation, then as the data sectors are
    not touched, only the metadata, the data is guaranteed to be the same.

    If it is copy-and-delete operation, the system does not do an automated check that what is actually written is the same data.

    However, the userland program doing the operation can do a verify before delete.

    No OS does a "copy-and-delete" for a move within a single volume.



    If that *IS* the case, I hope no-one EVER does a Defrag!! EVER!!

    Not related, either. The application doing the defrag can do a verify.


    In Linux, there are filesystems that store a checksum of files in the metadata, so that integrity can be verified. It is not the default.




    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:22:16 2025
    On 2025-10-08 03:25, J. P. Gilliver wrote:
    On 2025/10/8 10:48:19, Carlos E.R. wrote:
    On 2025-10-08 11:30, Daniel70 wrote:

    []


    So are you, Carlos, suggesting that, at the time of the move/copy, the
    OS does not check that what ends up at the new/final location is the
    same as what was in the old/original location??

    If it is an move via hardlink operation, then as the data sectors are
    not touched, only the metadata, the data is guaranteed to be the same.

    (Hmm, arguably that's not a move, though it looks like one to the user -
    a "move" to another place on the same partition usually only involves changing pointers.)>

    Exactly.

    If it is copy-and-delete operation, the system does not do an automated
    check that what is actually written is the same data.

    Indeed. The _checksums_ (or more complex equivalents) may well be recalculated (possibly at the hardware level).>
    However, the userland program doing the operation can do a verify before
    delete.

    Indeed. A lot of copy/move commands have a verify _option_; I don't know
    if any have it on by default.>

    If that *IS* the case, I hope no-one EVER does a Defrag!! EVER!!

    Not related, either. The application doing the defrag can do a verify.

    Well, it _is_ related: a defrag _is_ a copy-and-delete (usually many of them). How many defrags do verify by default, I do not know.>
    In Linux, there are filesystems that store a checksum of files in the
    metadata, so that integrity can be verified. It is not the default.

    A lot of (all modern, even floppy?) systems - hard disc drives, probably
    SSDs - do that at a low level anyway, as their error-correction mechanism.>





    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:23:38 2025
    On 2025-10-08 02:35, Daniel70 wrote:
    On 7/10/2025 2:58 am, Alan wrote:
    On 2025-10-06 01:23, Daniel70 wrote:
    On 6/10/2025 3:16 pm, Alan wrote:
    On 2025-10-05 19:46, Lars Poulsen wrote:
    Alan <nuh-uh@nope.com> wrote:
    Alan>>> If I do a similar thing on macOS, it's done almost before
    the files
    Alan>>> have finished the move

    On 2025-10-01 13:19, Carlos E.R. wrote:
    Carlos>> Not if it does content indexing.

    Alan> If a file has already BEEN indexed for its content...
    Alan> ...why would simply moving it to a new location require it to >>>>> be re-read?
    Alan> Did its content magically change just because you moved it?
    Alan> No.

    This is the difference between indexing on demand versus CONTINUOUSLY >>>>> MAINTAINING an index.

    I'm sorry, but you're wrong.

    You index a file so that you can find it based on metadata and content. >>>>
    When a search happens, the INDEX gets searched the location of the
    file is returned.

    The location of the file is ONE single piece of information in the
    indexing system about the file.

    Move the file and all you need to do is update that one piece of
    information.

    Nothing else has changed: not it's name, not it's date modified or
    last opened, not it's content.

    So there is no need to re-read the file.

    How is your system supposed to know that the contents of the "new"
    "moved" file is *EXACTLY* the same as the original file (never had an
    individual Byte/Bit of RAM die on you??) .... unless it still HAS the
    "original" file to compare the new file too??

    Oh dear GOD!

    You cannot be this ignorant.

    When you "move" a file from one directory to another on a partition,
    the actual data of the file IS NOT TOUCHED.

    The individual bits of the file stay in exactly the same place.

    All that's changed is the file system's record of which directory the
    file should be displayed as being in.

    Do you know what a "hard link" is?

    Alan, would you be satisfied if I had said/asked what happens when a
    File is 'COPIED' rather than 'MOVED'??

    Would I end up with TWO copies of the File on my HD??

    If I then deleted the ORIGINAL file, how do I *KNOW* that the remaining
    file is the same as the ORIGINAL file??

    Why would you do that?

    This thread is about why Windows needs to reindex the entire content of
    a file when the operation is a simple move.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:24:26 2025
    On 2025-10-08 03:21, Daniel70 wrote:
    On 7/10/2025 10:55 am, Alan wrote:
    On 2025-10-06 14:25, Carlos E.R. wrote:
    On 2025-10-06 23:12, Alan wrote:
    On 2025-10-06 13:47, Carlos E.R. wrote:
    On 2025-10-06 18:12, Alan wrote:
    On 2025-10-06 05:17, Carlos E.R. wrote:
    On 2025-10-06 06:16, Alan wrote:
    Move the file and all you need to do is update that one piece of >>>>>>>> information.

    For that you need a system service that tracks moves and tells
    the indexer. It doesn't happen automatically.

    And why would that be at all difficult?

    You have a journaled file system, so all you need is a process
    that checks for events in the journal that actually DO mean that
    there is a new file that's been created or that a file has been
    changed.

    Those events require that a file get re-indexed. Moving a file
    within the same volume does NOT.

    That process on macOS is called "fseventsd"

    Look it up.

    Not going to look it up, I don't do macs. I'll accept your word.

    Does Windows do it?

    Apparently not.

    Which is why I wrote subject I did:

    "It is stunning when you see how badly Windows operates: indexing"

    Well, I know that I have moved in the past huge content in Linux and
    seen several content indexers re-index them. I would have to test
    again noticing if it was the same partition.
    A move to another volume is never really a move, now is it?

    The OS can make the end result appear to be the SAME as a move, but if
    you want the files on a different volume, then the data in those files
    will have to be WRITTEN to that new volume and of course the indexing
    for that volume will have no entries for those files...

    ...because from the context of that new volume?

    ...THEY WILL BE NEW FILES.

    So when DO those files that YOU have WRITTEN to that new volume actually
    get listed in the content of that new volume??

    And when do they get deleted from the original volume .... and de-
    Indexed, of course??

    You're too ignorant to be in this conversation.

    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Alan@3:633/10 to All on Wed Oct 8 08:25:01 2025
    On 2025-10-08 07:45, Paul wrote:
    On Wed, 10/8/2025 7:01 AM, Daniel70 wrote:


    Surely this can't be so .... or has Copilot just not completed the process??

    You can make up cases and ask the AI for a result.

    And you can get garbage out.


    The idea of making my stupid cases, is just to get it
    to dump the names of a representative set of possibilities.

    To move a file can:

    1) Require deleting it with a change journal event,
    then create it with a second change journal event.
    The AI tells us there is no single-event Move type for the job.
    There is a tendency in computer systems designs to use
    atomic events rather than "do fancy stuff". There is a lot of
    fancy stuff we could do, which in the end we don't do.

    2) Moves can be orchestrated by the Name Change set of change journal events.

    Now, you have to prepare your set of file names, and then
    figure out which of those cases apply. Take the actual move
    command that demonstrated a problem and get the AI description
    of how that would be coded.

    The journal dumps I've tried, at some point the design must
    have changed. I didn't make a fetish out of this. Like at
    one time, you could see a write-file event dumped, for
    every 256KB or so of data. I don't think that scheme was
    in the latest try I made of a dump.

    ******************

    CoPilot Question

    In the NTFS change journal, has the design of the journal events been a
    constant with time or did the change journal design or representation change over the years ?

    CoPilot Answer

    The NTFS Change Journal - also known as the USN Journal - has evolved over time,
    though its core purpose has remained consistent: to efficiently track
    changes to files and directories on an NTFS volume.

    ### ?? Evolution of the Change Journal Design

    Here?s how its design and representation have changed over the years:

    #### 1. **Initial Introduction (Windows 2000 / NTFS 3.0)**
    - The Change Journal was introduced with NTFS 3.0.
    - It stored records in a metafile called `$Extend\$UsnJrnl`.
    - Each record included:
    - A 64-bit Update Sequence Number (USN)
    - File reference number
    - Reason flags (bitmask indicating the type of change)
    - Timestamp
    - File name

    #### 2. **USN_RECORD Structure Versions**
    - Over time, Microsoft introduced new versions of the `USN_RECORD` structure:
    - **V2**: Used in early implementations (Windows 2000, XP, etc.)
    - **V3 and V4**: Introduced in later versions of Windows to support new features and metadata
    - These versions added fields like extended reason flags, source info, and more precise timestamps.

    #### 3. **Bit Flags Expansion**
    - The `Reason` field uses bit flags like `USN_REASON_DATA_OVERWRITE`, `USN_REASON_FILE_CREATE`, etc.
    - New flags were added over time to reflect more granular changes (e.g., file renames, ACL changes).

    #### 4. **Performance and Scalability Enhancements**
    - As file systems grew to support millions of files, the journal?s internal mechanisms were optimized for speed and reduced overhead.
    - Journals became more configurable (e.g., size limits, retention policies).

    #### 5. **Integration with New Features**
    - Windows features like **File History**, **Windows Search**, and **Backup utilities** began leveraging the Change Journal.
    - This led to more robust APIs and better documentation for developers.
    ---
    ### ? Summary

    While the fundamental concept of logging file system changes has stayed the same,
    the **structure**, **metadata**, and **integration points** of the NTFS Change Journal
    have evolved to meet the demands of modern systems. It?s a great example of a foundational technology quietly adapting behind the scenes.

    Would you like to dive into the specifics of the USN_RECORD structure versions
    or how backup tools use the journal today? **********************************8

    Paul


    --- PyGate Linux v1.0
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)