Older blog entries for AntonA (starting at number 16)

Almost a month without an entry... Oh well, better late than never. (-:

Released an update to the NTFS Linux kernel driver today. Nothing major. Just wanted to push it out in celebration that I finally have a booting 2.5 kernel again.

Have been hacking away on the ntfs library from the linux-ntfs package on Sourceforge. Dumped about a quarter of the code and started again, now going for a proper API which should hopefully not need to change once I am done hammering it out. Most of the code is modified or rewritten now, lots of code ported from the new ntfs driver, and I improved it on the way so it needs porting back into the driver now. (-8 Time has come for adding more features to the library but that is a slower process.

Not much else happening, much PhD work, also am sick for second week now but getting better slowly... )-: Oh well, gives me more time to sit at home, sip hot beverages and chat on irc. (-:

I should try and update this diary more frequently I guess. Perhaps next time... (-;

Finished the new NTFS Linux kernel driver (read-only)! Posted it and got some excellent feedback so far. Speedwise it definitely is a significant improvement. I am happy! (-8

Went to Richard M. Stallman's lecture on software patents this afternoon. Brilliant talk. RMS certainly is a very good speaker. And I fully agree with him, too. Software patents are evil full stop!

Had a feature request for mkntfs - to add ability to disable content indexing. Did that and while at it added ability to enable compression, too. After some small cleanups released Linux-NTFS 1.6.0.

Went on holiday to Austria for two weeks and enjoyed some great skiing in St. Anton am Arlberg. Had all kinds of bad weather ranging from two days with sun shine over rain, hail, snow, blizzards, and some real full blown snow storms. Fun, fun. (-:

Managed to sneak in some ntfs tng development into a few of the evenings so the driver is moving along nicely. Now have the options from the previous driver all supported but giving messages about them being deprecated and generally loads of code cleanups and enhancements. Noticed a few subtleties which require quite a bit of a rewrite of my readpage methods. Oh well, better now than after having gone into the kernel... That delays the driver quite a bit more than anticipated, so it won't be being submitted for kernel inclusion yet.

Been very busy with PhD work. First chapter is finished (results wise) and exciting results for the next one appeared which is fanfabulous. (-8

Ntfs tng is now feature complete read-only. It now reads all ntfs volumes from all windows versions (nt4/2k/xp) I threw at it and produces identical output as the old ntfs driver. - Some code cleanup left to do, some small odds and sods to implement /cleanup, bring up to speed with the latest 2.5.x offering and it's ready for the masses. The only thing then remaining is the fact that ntfs tng requires gcc-2.96 or later compiler which some people are not happy with, so I will probably have to play some dirty tricks to fix this temporarily. (Will revert them out once the kernel officially requires gcc 2.96 or later.)

Am leaving for a fortnight of internet deprived skiing holiday so no entries for a while! (-:

More fun with ntfs tng. Many cleanups, like the $ signs in identifiers are all gone now (now should compile on all architectures as long as they use gcc-2.96+), debug output is improved and can be switched on/off via sysctl/proc interface. Cleaned up mft bitmap handling and enabled loading of the complete run list. The mft data is already done which means we now should be coping with any possible mft a user will ever throw at us. (-: As it is all working nicely now I tagged a 0.0.6 release as the next set of changes is going to be enabling of full attribute list / multiple attribute extents support which may destabilize things.

Went to a charity quiz-night. Didn't win but had a lot of fun nevertheless. (-:

Had a play with encrypted ntfs directories and the ntfs 3.x extended system files. Adapted ntfs tng to cope with both and found a buglet in the process. Now all is happy.

Had a look at the compile warnings report for linux-ntfs 1.5.1 for powerpc. It seems powerpc use char == unsigned char which was breaking some signed char comparisons. Fixed that. Now need a powerpc person to test. (-;

More NTFS TNG hacking. Added the new inode allocation super operations, the recent show_options so we have a cool /proc/mounts output, etc. This was followed by a four hour debug session involving repeated smacks of head against wall to find in the end the oops on mount problem was due to a buffer overrun caused by a cut and paste error in the new inode allocator... Fixing that it all worked a treat which prompted me to do a 0.0.5 release before I break it again. (-8

29 Jan 2002 (updated 29 Jan 2002 at 13:15 UTC) »

Went to visit friend in Chesham for a games day. Lots of fun. (-: Picked up four Roger Zelazny books I haven't read yet, now I just need the time to read them. (-8

On the NTFS TNG front, finished the second lot of changes and made some cleanups at the same time so the total diff was about the size of the whole driver. (-; Started converting tng to the new ->alloc_inode/- >destroy_inode super block ops and realized that these mean that every ntfs_inode automatically has a vfs_inode which means I can undo a lot of the changes done to divorce the two as doing it the New Way(TM) means we have both anyway. Another set of big changes is appearing on the horizont...

26 Jan 2002 (updated 26 Jan 2002 at 09:13 UTC) »

Received debian packages of linux-ntfs 1.5.0 and put them on Sourceforge. With them came a report of compiler warnings and errors from compiling on various architectures. That led me to find and fix two small bugs in ntfsfix and to fixup logfile.h which I had forgotten to cleanup before. Hopefully now it really will compile on all arch, so released linux-ntfs 1.5.1.

Al Viro had a look at NTFS TNG a few days ago and had several suggestions/comments on what should be modified to make it prettier and to make it acceptable for kernel inclusion. Started making the changes. The first change, to rewrite (un)map_mft_record() to use read_cache_page() instead of the deep VM magic was easy, and removed all the VM/VFS exports Al didn't like which made the core kernel patch about 2/3 smaller. The second change, to stop using struct inode * for extent inodes, and just using ntfs_inode * for them is turning into a major rewrite as the driver always accepts struct inode * as argument to functions instead of ntfs_inode *, so about half of the driver needs to be rewritten. Also i_generation and i_ino have to be moved to ntfs_inode *. But it is well worth the effort as it removes iget_no_wait() which was just ugly and with this the core kernel patch becomes only a trivial modification to kernel/ksyms.c to export end_buffer_io_sync().

7 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!