Blog: NTFS Write Support GSoC - Week 1 Update

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
coderTrevor
Posts: 14
Joined: Mon Mar 14, 2016 12:23 pm

Blog: NTFS Write Support GSoC - Week 1 Update

Post by coderTrevor »


JHKr0md1yk
Posts: 29
Joined: Tue Sep 23, 2014 5:58 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by JHKr0md1yk »

Sorry, no dice here. Link redirects to an 403 - NOT AUTHORIZED page.

coderTrevor
Posts: 14
Joined: Mon Mar 14, 2016 12:23 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by coderTrevor »

Apologies! It should work now.

JHKr0md1yk
Posts: 29
Joined: Tue Sep 23, 2014 5:58 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by JHKr0md1yk »

Yups it's working.

User avatar
Konata
Posts: 391
Joined: Sun Apr 20, 2014 8:54 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by Konata »

This is very exciting! I'm still hyped for NTFS support, this is going to be huge.

User avatar
Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by Black_Fox »

Thanks for the update, Trevor! I'm glad that also you yourself can see the value of your contributions, and got rid of the impostor syndrome :-)

Pathoswithin
Posts: 4
Joined: Mon May 30, 2016 3:04 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by Pathoswithin »

Hi, coderTrevor. I have almost finished basic read/write NTFS driver for KolibriOS, and since we are also participating in GSoC, I have discovered your project and hastened to fix the NTFS documentation, which I was using. I have updated it with all I have discovered, and I hope it will help you too. Here is the link:

https://github.com/flatcap/ntfs-docs

P.S. I can try to answer your questions, if they will appear.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by Z98 »

Monday, Monday. You're not a US student I take it then?

coderTrevor
Posts: 14
Joined: Mon Mar 14, 2016 12:23 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by coderTrevor »

Hi everyone, thanks for the encouragement!

Pathoswithin - Thank you so much for doing that and for reaching out to me! Documentation for NTFS is super-precious! NTFS is not known for it's simplicity either, so congrats on even a basic read/write implementation, especially one written in assembly!! :shock: We should definitely stay in touch. Do you have a blog where I can follow your progress?

Z98 - "Monday." Oops. For one thing, I started drafting that before yesterday, hence why I said Monday instead of tomorrow. The other thing, that you're probably referring to, is that today is Memorial day and my college is closed. I forgot the one holiday that references memory in its name. :oops:

I can now get React to build with MSVC, but I have no idea what changed though :(
EDIT: Actually, I'm pretty sure I do know what I changed! You have to launch the command prompt called "Developer Command Prompt for VS201X," not one of the ten or so other command prompts. (I think I was either running the MSBuild or x86 native tools prompts before)

ThFabba told me exactly the commands I needed to run to build with MSVC:
  • Open Developer Command Prompt for VS2015
  • set path=%path%;c:\program files\rosbe\bin
  • mkdir my-ros-output-dir && cd my-ros-output-dir
  • my-ros-source-dir\configure RTC
  • ninja bootcd

Pathoswithin
Posts: 4
Joined: Mon May 30, 2016 3:04 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by Pathoswithin »

Follow my progress? You can certainly find me at board.kolibrios.org, but I think I will watch this forum too. Currently, I will fixing our EXT driver, and return to NTFS later. As you are, I was starting with existing reading. I have used maximum from it, and now have some problems with directory's B+ tree. Windows driver wants it to be symmetric (root grow only) and without empty nodes. Since there are no pointers to parent node, perfect driver should be based on recursive node reading (not cycle), been able to return to previous node.

coderTrevor
Posts: 14
Joined: Mon Mar 14, 2016 12:23 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by coderTrevor »

Regarding MSVC building problems:
Fortunately, I now understand the problems I was seeing with MSVC builds, although I'm a little embarrassed to learn that I was the cause.

My previous theory was that I was launching the wrong command prompt to start the build process. This proved incorrect. Launching an MSBuild prompt results in an immediate error:
Error: Unable to detect build environment. Configure script failure.
and not the problems I was seeing before. Other command prompts, like x86 native tools, actually worked OK once I knew what the issue was.

The issue is that running "configure" and "configure VSSolution" are mutually exclusive operations. If you run one command for a given output folder, you can't run the other or it will screw up ninja (I'm not sure if it also screws up the solution files or not). Also, I would generally run configure directly from the reactos folder, and in both cases, the output folder that configure.cmd generates is the same.

This is how I had some intermittent success early on, by following advice on IRC and deleting that folder. However, it would always just be a matter of time before I wanted to generate the VS solutions to navigate the code. Having no idea these solutions couldn't live in the same folder, I always put them there. Well, configure.cmd put them there, I just let it do it's thing.

Also, the errors aren't consistent. If you run "configure && configure VSSolution" then run ninja, you will see
[1/1] Re-running CMake...
and the project will build for a while until you see that CMake is re-running again, going on indefinitely. However, if you run "configure VSSolution && configure" and run ninja, you will see:
ninja: fatal: CreateProcess: The parameter is incorrect.put.dir\mycomput.rc.res

Maybe needing separate folders for each case is obvious to most everyone, and I should have known better. After digging into configure.cmd and learning the tiniest bit about how CMake works, I'm pretty sure this is a limitation-by-design as a result of CMake. In fact, the issue is mentioned specifically in the wiki already, on the deprecated page: https://reactos.org/wiki/Building_with_MSVC I just didn't see that or read the entire page before (since it's clearly labeled as deprecated).

Whether the solution should have been obvious or not, I've edited configure.cmd to make it more fool-proof and submitted the changes to my GSoC branch. I also made a couple of small changes based on my experience and expectations. I hope these changes get patched into the trunk soon, so nobody else will have to suffer like I did! :P

User avatar
dizt3mp3r
Posts: 1606
Joined: Mon Jun 14, 2010 5:54 pm

Re: Blog: NTFS Write Support GSoC - Week 1 Update

Post by dizt3mp3r »

Fascinating...
Skillset: VMS sysadmin 20 years, fault Tolerance, cluster, Vax, Alpha, ftSparc. DCL, QB45, VB6, NET, PHP, JS, CMS, Graphics, Project Manager, DOS, Windows admin from 1985. Quad Electronics. Classic cars & motorbikes. Artist watercolours. Historian.

Post Reply

Who is online

Users browsing this forum: q.michal and 3 guests