[syslinux:pathbased] ext2: drop any 64K limit

syslinux-bot for H. Peter Anvin hpa at zytor.com
Tue Feb 16 13:57:02 PST 2010


Commit-ID:  f94acac11bb41676ec47d457317eb027e90bb441
Gitweb:     http://syslinux.zytor.com/commit/f94acac11bb41676ec47d457317eb027e90bb441
Author:     H. Peter Anvin <hpa at zytor.com>
AuthorDate: Tue, 16 Feb 2010 13:52:09 -0800
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Tue, 16 Feb 2010 13:52:09 -0800

ext2: drop any 64K limit

There is no point in maintaining a 64K limit; this is handled at a
lower level in the disk I/O library if appropriate.

Signed-off-by: H. Peter Anvin <hpa at zytor.com>


---
 core/Makefile       |    2 ++
 core/fs/ext2/ext2.c |    8 ++------
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/core/Makefile b/core/Makefile
index 707aad7..b92630b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -26,6 +26,8 @@ include $(topdir)/MCONFIG.embedded
 OPTFLAGS =
 INCLUDES = -I./include -I$(com32)/include
 
+CFLAGS += -DDEBUG
+
 # This is very similar to cp437; technically it's for Norway and Denmark,
 # but it's unlikely the characters that are different will be used in
 # filenames by other users.
diff --git a/core/fs/ext2/ext2.c b/core/fs/ext2/ext2.c
index fcf5cb9..bc75824 100644
--- a/core/fs/ext2/ext2.c
+++ b/core/fs/ext2/ext2.c
@@ -120,15 +120,11 @@ static uint32_t ext2_getfssec(struct file *file, char *buf,
 
         /* get the consective sectors count */
         do {
-            con_sec_cnt ++;
-            sectors --;
+            con_sec_cnt++;
+            sectors--;
             if (sectors <= 0)
                 break;
 
-            /* if sectors >= the sectors left in the 64K block, break and read */
-            if (sectors >= (((~(uint32_t)buf&0xffff)|((uint32_t)buf&0xffff0000)) + 1))
-                break;
-
             sector_idx++;
             next_sector++;
         } while (next_sector == linsector(inode, sector_idx));



More information about the Syslinux-commits mailing list