osdir.com
mailing list archive

Subject: Re: [Linux-NTFS-cvs] CVS: ntfsprogs/ntfsprogs ntfsclone.c, 1.86, 1.87 - msg#00190

List: linux.file-systems.ntfs.devel

Date: Prev Next Index Thread: Prev Next Index
On Thu, 2006-08-24 at 11:41 +0200, Szakacsits Szabolcs wrote:
> On Thu, 24 Aug 2006, Anton Altaparmakov wrote:
> > On Thu, 2006-08-24 at 09:39 +0300, Szakacsits Szabolcs wrote:
> >
> > > take the cluster size, that's u32, stored platform endianness and
> > > apply the same logic for the supported cluster sizes.
> >
> > That does not work either. Example:
> >
> > Cluster size 256kiB
>
> There is no such NTFS cluster size. I wrote __supported__ cluster sizes, not
> fictional ones. It's a big difference. The former works meanwhile the later
> doesn't.

It does work.

> At present the NTFS cluster size can be a power of 2 from 512 to 65536.
> Please see for example the Microsoft NTFS Technical Reference:
>
> http://technet2.microsoft.com/WindowsServer/f/?en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx
>
> "the maximum cluster size of 64 KB"

That document is wrong (well that is harsh, it just omits to say:
"maximum cluster size of 64 KB using 512 byte sectors"). You can create
volumes with 256kiB cluster sizes from within Windows (certainly from
one of the GUI format programs on Windows 2000 you can do that, I have
seen it done and working with the kernel NTFS driver, you just need a
bigger sector size than 512).

> In the future other cluster sizes may or may not be supported but I think
> solving problems for cluster sizes which don't exist is not the most
> important
> task currently.

They do exist. And we support them just fine already (well the kernel
driver certainly works I don't know about ntfsprogs but I assume they
will work fine, certainly the parts of libntfs that I wrote will -
unless I screwed up somewhere)...

> > Other ideas?
>
> I'm sure you got the basic idea ;) Detecting the endianness of well-known
> image formats is not difficult and almost always possible.

Totally disagree. This image format is not detectable __reliably__.
You can make a guess but you can never be guaranteed to be correct which
is why you should never do it at all. I don't care if in many cases you
will guess correctly because in some cases you will guess incorrectly
and that is unacceptable to me.

> The key is to think
> __constructively__ and trying hard to avoid backward-, forward compatibility
> and functionality breakage.

I believe my patches do exactly that. They maintain backwards
compatibility as well as possible and make it possible to extend the
format in the future very easily by for example adding fields to the
header (which will be ignored by ntfsclone with my patch), etc.

The only thing that I totally break is new images with my patch will not
work on old ntfsclone but there is absolutely nothing that can be done
about that with the old image format / the old ntfsclone code as it has
no concept of checking image versions (and no image version even) or
skipping unknown data...

Given this is going to be a major release of ntfsprogs it is the perfect
time to fix the image format and ntfsclone code so in the future changes
will be much easier to do.

Best regards,

Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://www.linux-ntfs.org/ & http://www-stu.christs.cam.ac.uk/~aia21/


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

Re: [Linux-NTFS-cvs] CVS: ntfsprogs/ntfsprogs ntfsclone.c, 1.86, 1.87

On Thu, 24 Aug 2006, Anton Altaparmakov wrote: > On Thu, 2006-08-24 at 09:39 +0300, Szakacsits Szabolcs wrote: > > > take the cluster size, that's u32, stored platform endianness and > > apply the same logic for the supported cluster sizes. > > That does not work either. Example: > > Cluster size 256kiB There is no such NTFS cluster size. I wrote __supported__ cluster sizes, not fictional ones. It's a big difference. The former works meanwhile the later doesn't. At present the NTFS cluster size can be a power of 2 from 512 to 65536. Please see for example the Microsoft NTFS Technical Reference: http://technet2.microsoft.com/WindowsServer/f/?en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx "the maximum cluster size of 64 KB" In the future other cluster sizes may or may not be supported but I think solving problems for cluster sizes which don't exist is not the most important task currently. > Other ideas? I'm sure you got the basic idea ;) Detecting the endianness of well-known image formats is not difficult and almost always possible. The key is to think __constructively__ and trying hard to avoid backward-, forward compatibility and functionality breakage. Szaka ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Next Message by Date: click to view message preview

Re: [Linux-NTFS-cvs] CVS: ntfsprogs/ntfsprogs ntfsclone.c, 1.86, 1.87

On Thu, 24 Aug 2006, Anton Altaparmakov wrote: > On Thu, 2006-08-24 at 11:41 +0200, Szakacsits Szabolcs wrote: > > > > At present the NTFS cluster size can be a power of 2 from 512 to 65536. > > Please see for example the Microsoft NTFS Technical Reference: > > > > http://technet2.microsoft.com/WindowsServer/f/?en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx > > > > "the maximum cluster size of 64 KB" > > That document is wrong (well that is harsh, it just omits to say: > "maximum cluster size of 64 KB using 512 byte sectors"). You can create > volumes with 256kiB cluster sizes from within Windows (certainly from > one of the GUI format programs on Windows 2000 you can do that, I have > seen it done and working with the kernel NTFS driver, you just need a > bigger sector size than 512). May I remind you that you often refer to your bad memory, however seemingly there isn't any other evidence? Could you (or anybody else, please) send a trustable source of information regarding that the NTFS cluster size can be higher than the Microsoft documented 64 KB? Perhaps you confuse NTFS cluster sizes with the FAT ones which can indeed go above 64 KB if the sector size is bigger than 512 bytes? > This image format is not detectable __reliably__. You didn't even try to detect it reliable. You just broke ntfsclone, when I commented why I developed it and how important it is to ensure the read-write driver quality. > You can make a guess I never wrote about guesses. I made suggestions how to detect endianness reliably. The last suggestion works for all known cluster sizes and unknown ones obviously must be handled as unsupported ones or image corruptions. Best regards, Szaka ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Previous Message by Thread: click to view message preview

Re: [Linux-NTFS-cvs] CVS: ntfsprogs/ntfsprogs ntfsclone.c, 1.86, 1.87

On Thu, 24 Aug 2006, Anton Altaparmakov wrote: > On Thu, 2006-08-24 at 09:39 +0300, Szakacsits Szabolcs wrote: > > > take the cluster size, that's u32, stored platform endianness and > > apply the same logic for the supported cluster sizes. > > That does not work either. Example: > > Cluster size 256kiB There is no such NTFS cluster size. I wrote __supported__ cluster sizes, not fictional ones. It's a big difference. The former works meanwhile the later doesn't. At present the NTFS cluster size can be a power of 2 from 512 to 65536. Please see for example the Microsoft NTFS Technical Reference: http://technet2.microsoft.com/WindowsServer/f/?en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx "the maximum cluster size of 64 KB" In the future other cluster sizes may or may not be supported but I think solving problems for cluster sizes which don't exist is not the most important task currently. > Other ideas? I'm sure you got the basic idea ;) Detecting the endianness of well-known image formats is not difficult and almost always possible. The key is to think __constructively__ and trying hard to avoid backward-, forward compatibility and functionality breakage. Szaka ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Next Message by Thread: click to view message preview

Re: [Linux-NTFS-cvs] CVS: ntfsprogs/ntfsprogs ntfsclone.c, 1.86, 1.87

On Thu, 24 Aug 2006, Anton Altaparmakov wrote: > On Thu, 2006-08-24 at 11:41 +0200, Szakacsits Szabolcs wrote: > > > > At present the NTFS cluster size can be a power of 2 from 512 to 65536. > > Please see for example the Microsoft NTFS Technical Reference: > > > > http://technet2.microsoft.com/WindowsServer/f/?en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx > > > > "the maximum cluster size of 64 KB" > > That document is wrong (well that is harsh, it just omits to say: > "maximum cluster size of 64 KB using 512 byte sectors"). You can create > volumes with 256kiB cluster sizes from within Windows (certainly from > one of the GUI format programs on Windows 2000 you can do that, I have > seen it done and working with the kernel NTFS driver, you just need a > bigger sector size than 512). May I remind you that you often refer to your bad memory, however seemingly there isn't any other evidence? Could you (or anybody else, please) send a trustable source of information regarding that the NTFS cluster size can be higher than the Microsoft documented 64 KB? Perhaps you confuse NTFS cluster sizes with the FAT ones which can indeed go above 64 KB if the sector size is bigger than 512 bytes? > This image format is not detectable __reliably__. You didn't even try to detect it reliable. You just broke ntfsclone, when I commented why I developed it and how important it is to ensure the read-write driver quality. > You can make a guess I never wrote about guesses. I made suggestions how to detect endianness reliably. The last suggestion works for all known cluster sizes and unknown ones obviously must be handled as unsupported ones or image corruptions. Best regards, Szaka ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by