Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 4 Jan 2002 19:13:20 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 4 Jan 2002 19:13:10 -0500 Received: from jittlov.qualcomm.com ([129.46.50.79]:46037 "EHLO jittlov.qualcomm.com") by vger.kernel.org with ESMTP id ; Fri, 4 Jan 2002 19:12:57 -0500 Message-Id: <5.1.0.14.0.20020104160847.039f9c50@mage.qualcomm.com> X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Fri, 04 Jan 2002 16:12:31 -0800 To: CJ , Vijay Kumar From: Vijay Kumar Subject: Re: kernel patch support large fat partitions Cc: Alan.Cox@linux.org, linux-kernel@vger.kernel.org In-Reply-To: <3C3517FF.20704@cjcj.com> In-Reply-To: <5.1.0.14.0.20020103152205.039f2008@mage.qualcomm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org You may thinking that this will change the on-disk format of fat partitions. That is not true. This change only fixes the linux fat implementation to allow working with larger partitions. Those 28bits I mentioned here have nothing to do with FAT table entries that you are talking about. At 06:48 PM 1/3/2002 -0800, CJ wrote: >FAT32 stores 28 bit cluster numbers. You need to increase cluster size >instead of the 28 bits to stay FAT32. The spec is fatgen102.pdf:, I'll >mail it to you. > >Hardware White Paper Hardware White Paper >FAT: General Overview of On-Disk Format >Version 1.02, May 5, 1999 >Microsoft Corporation > >Vijay Kumar wrote: > >>Alan, >> >>This is regarding a change I had to make to the kernel 2.2.17-14 to >>support really large drives. In our project we deal with huge drives, >>sometimes drives larger than 128GB. The file system is FAT32 and only one >>partition is create on any drive. During our testing we realized that >>linux fat implementation doesn't support partitions larger than >>128GB(actually 64GB because of a bug in fat implementation). >> >>This limitation is imposed by the data structures used by the linux fat >>implementation to read/write directory entries. A 'long' data type is >>used to access directory entries on the disk, of which only 28 bits are >>used to identify the sector that contains the directory entry and the >>rest 4 bits are used to specify offset of the directory entry inside the >>sector. Using 28 bits to identify a sector means we cannot access sectors >>beyond 128GB (2^28*512), thus limiting us from creating partitions larger >>than 128GB on large disk drives. >> >>I have made changes to fat, vfat and msdos file system implementations in >>the kernel to use larger data types, thus allowing us to create larger >>partitions. As per the GPL I would like to make the patch available to >>everyone and also in case somebody has run into the same problem(who >>cares about fat in the linux world). The patch has been fairly well >>tested only on our systems(p3, 700MHz with FC). I truly appreciate if you >>& anybody in the kernel mailing list have any feedback about the changes. >> >>The patch is applicable to only 2.2.17-14 kernel and may require changes >>to use with other kernel versions. As far as I know none of the kernel >>versions provide any fix for this problem. >> >>Thanks, >>- Vijay > > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/