ext2

Drive subsystem, filesystem drivers
  • Hey, don't worry, keep up good mood and keep working :) We really need this!
  • Shikhin
    I'm glad you're back with some of the results. Yes, I agree that life is making some changes in our plans. I hope that you have successfully completed this great work. That's one small step for programmer, one giant leap for project. Poyekhali! (Let's Go!)

    P.S. This was a reference to Neil Armstrong and Yuri Gagarin.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Shikhin wrote:Due to a series of unfortunate events, I haven't been able to follow the exact schedule I provided in the beginning, and have also postponed my one-month report by quite some time. This all is deeply regretted by me, and was totally unintended. Unfortunately, time once spent doesn't come back; however, one can always cope up. yogev_ezra offered me to give up this job; as far as I'm concerned, I'm still willing (and think I can make it), and will provide a schedule for the same. I saw people discussing how I haven't visited the forums in 5 days -- unfortunately, I live in India with a crappy internet connection (which I complained about at the starting of the job); don't fear about me running away (me having all the money gives probably cause, but really, it isn't), and you can always check if I'm just avoiding kolibri-os boards by seeing if I'm active on IRC or not.
    I'll just repost here what I've sent you in PM:
    yogev_ezra wrote:It's not a problem if you are late on schedule; it's completely fine if your code has bugs or isn't the perfect quality. In this project, first and foremost you are expected to learn how to interact with open-source community, not to produce perfect code (although that's a big bonus, of course!)

    What is not good is when you completely disappear, so people start thinking that you've run away with the money, or that you don't intend to ever complete the project. All you need to do is to post regular weekly updates, even if the updates contain nothing but one sentence "I had no progress this week due to family circumstances". This way people see that you are still here.
    Other than that, I wish you good luck in completing this project, and hope that only good things happen to you and your family in the future.
  • Hi,

    I'm on schedule, but the current code has a couple of bugs (which I'll hunt down soon). The next update with code will most probably be on the 17th.

    Regards,
    Shikhin
  • I heard some rumors about "ext4 didn't working". Can it be fixed too?
  • Please post an update on your progress. "No progress was made since the last update" is ok; but no update is not ok.
  • A re-post from our PM conversation:
    Shikhin wrote:Hi,

    I've mostly got my current report ready, but a couple of loose ends hanging. I hope to close them by tomorrow, and submit my report. I hope this is fine, and my current progress is all good? First job, want it all to go nice.

    Regards,
    Shikhin
    Sent: Mon Aug 19, 2013 7:45 pm
    yogev_ezra wrote:This is not a real job yet - it's a summer student project to give you some experience. It would be OK even if you are late on schedule, and even if you have bugs. So don't worry about it too much - just post an update tomorrow with what you have tomorrow.
    Sent: Mon Aug 19, 2013 7:50 pm
    yogev_ezra wrote:Can you please explain what is going on with you? You promised a report on August 19th, and disappeared again. I also still haven't received your mobile (or home) phone for direct communication with you in case I can't reach you in the forum.
    Sent: Mon Sep 09, 2013 12:01 pm
    Shikhin wrote:Hi,

    I'm sorry, I wouldn't want to put the blame to excuses, it's just that I over-estimated my ability to perform, given up all the schedules and stuff I've to follow, so I missed another report. Of course, as someone on the #kolibrios channel said, it's the end result that matters, and not the fact that I worked on something -- so I'm making sure that the end report is worth the effort. I can't afford to fail giving a proper report, this time.

    With apologies & regards,
    Shikhin

    P.S. For communication, I think the best outlet is IRC, on which I'm available more often than not, and am always idling #kolibrios.
    Sent: Mon Sep 09, 2013 1:21 pm
    yogev_ezra wrote:You are expected to write weekly updates on this forum. Even if no progress has been made, just write "No progress since last week". This would be fine, we understand that progress is not linear. But you are not writing ANYTHING, and this is really unacceptable (you need to update once a week and write a detailed report once a month).
    Shikhin wrote:P.S. For communication, I think the best outlet is IRC, on which I'm available more often than not, and am always idling #kolibrios.
    No, it is not, because IRC is visited by hardly 3-4 members of KolibriOS team, while the forum is visited by everyone (including myself). Since I am the program administrator and I am the one who needs to give you feedback on communication with the project team, I request you login to the forum at least once a week and write at least one sentence in your EXT2 thread.
    Shikhin wrote:Of course, as someone on the #kolibrios channel said, it's the end result that matters, and not the fact that I worked on something -- so I'm making sure that the end report is worth the effort.
    Let me emphasize again - this is a summer student project, not a job. If we wanted just the working code, we would probably hire a freelancer. The idea of this project is for students to learn how to communicate with open-source community, not how to write perfect code. By doing zero communication, you are missing the whole point of this project.
    Sent: Mon Sep 09, 2013 1:31 pm
    Shikhin wrote:Hi,

    I guess you're right. I was focusing too much on the "delivering code" fore-front, so I didn't think much about writing reports, communicating, and thus didn't put it to much priority. I saw it as an effort to improve KolibriOS -- while, you're right, it's an effort to improve myself.

    While not much time is left, there's always time to improve. I'll, starting from today (night, to prepare myself a bit), post regular updates -- regardless of whether there was linear development or not.

    Regards,
    Shikhin
    Sent: Tue Sep 10, 2013 5:22 pm
  • Hi,

    I've uploaded my most recent diff; linking is coming near to a finish. I was about to rush it to an end today, but yogev_ezra informed me that my month long absence meant an additional month of work. That should be good, considering the fact that I just realized the importance of communication -- something I'll take much more seriously this time about.

    On the forefront of communication, I noticed several things which I'd love to point out, something I've only documented in the code, as of now:
    • Structure. Since KolibriOS has a monolithic kernel, I do see some problems in all components fitting together. Roughly everything has been divided well, but it's better to not have too large a file containing one unit -- module, as I like to call them -- and split it all. That's the approach I followed with the ext2 code; rather than having a large file, I split it into the ext2/ directory. ext2.asm was sufficient to be included from the kernel, while ext2.inc contained defines for every component of the ext2 driver. I'd love to see more splitting up of such components across.
    • Naming. I can only talk about the ext2 driver, and the part that interfaced with it. I noticed that the naming wasn't always consistent, and sometimes, since I don't use an IDE or such, I'd forget some obscure function name. Now that I've talked about modules, the way I like to name my functions is: "<module>_<submodule>_<func-meat>". An example function would become ext2_inode_write. I haven't changed all the names yet to align with this, but I'd soon.
    • Miscellaneous components I found missing. I found several things to be lacking in, while coding. For example, I found no uniform "get_time" thingy, no uniform time-conversions (more on it, later) or string-conversions. I wouldn't document them all here, they are placed at the top of ext2.inc, with a "Please move this to appropriate region" comment, with appropriate region defined. I'd love to do that, once my KSoC is over.
    • Timing. Over to timing, I realized that you just use the CMOS. That's fairly inaccurate, considering the accuracy of the RTC. What most OSes are recommended to do is to get the time from the RTC at boot, and then use the PIT, or any local timer, to track time. You'd do that in some form of unix time, perhaps with higher precision, such that you'd be tracking milliseconds since "boot time secured from RTC." You could then, every X seconds, also update the RTC so it doesn't go way too wrong. The rest of the OS should use this time, and the OS should provide fair abstractions to convert it to <XYZ-format>.
    I think that's it, but I might've missed something. I'm also pushing for English-only comments; English is a fairly standardised language for all projects, and Russian comments just puts me off in such a large project, IMHO.

    Regards,
    Shikhin
  • Thank you very much for the report - that's the way it should have been from the beginning, and this is the way it should be done from now on till the end of your project (October 17th as I mentioned to you on IRC).
    Shikhin wrote:I'm also pushing for English-only comments; English is a fairly standardised language for all projects, and Russian comments just puts me off in such a large project, IMHO.
    I don't have any objection if the code you work on (ext2/3/4) has English-only comments.
  • Hi,
    yogev_ezra wrote:Thank you very much for the report - that's the way it should have been from the beginning, and this is the way it should be done from now on till the end of your project (October 17th as I mentioned to you on IRC).
    Of course.
    yogev_ezra wrote:
    Shikhin wrote:I'm also pushing for English-only comments; English is a fairly standardised language for all projects, and Russian comments just puts me off in such a large project, IMHO.
    I don't have any objection if the code you work on (ext2/3/4) has English-only comments.
    I'm not talking just about my code, but most of the project. I understand that some parts are worked on by programmers who speak only Russian, but the transition to English should prove worth it, especially in the long run.

    Regards,
    Shikhin
  • Hi,

    I just posted the latest report, with somewhat detail, 3 days ago. However, it's the end of the month, so I thought I'd just pop in here and say that not much has been added since the last report, but the next (probably three days later, at 1 week's time from the last report) report should contain FULL link support.

    Regards,
    Shikhin
  • Shikhin wrote:[...]However, it's the end of the month, so I thought I'd just pop in here and say that not much has been added since the last report[...]
    Great, that's exactly the kind of updates I was requesting from the beginning. Good to see you finally got it :wink:
  • Hi,

    Good to announce that linking is up and finished, in my 24.patch file. Now, I've got a query -- does ext2_Rewrite and ext2_CreateFolder need to "copy data from input buffer" too? sysfuncs.txt isn't too clear on this -- could somebody please address this ASAP?

    Regards,
    Shikhin

    P.S. @yogev_ezra -- since my account had an influx of money from you, I was hoping I could get some sort of a statement saying "We gave $2250 to Shikhin Sethi, amounting to 130600INR, on <date-you-send-payment>, for the Summer of Code 2013" or something similar, so that I can avoid problems with the tax department?
  • Hi,

    Following my report from yesterday: I've put up 25.patch and 25.img. 25.img is the kolibri.img with the latest kernel build; note that CreateFolder now works too, so have fun with testing it. Rewrite should be easy to do now, but I think it requires Write too, so I'll do those together. I'd love all sort of code reviews, so do look at everything.

    Regards,
    Shikhin
  • Who is online

    Users browsing this forum: Yandex [Bot] and 2 guests