public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix fs/fat/inode.c when compiled with gcc-3.0.x
@ 2002-01-11  3:47 Tom Rini
  2002-01-11  3:52 ` Jeff Garzik
  0 siblings, 1 reply; 9+ messages in thread
From: Tom Rini @ 2002-01-11  3:47 UTC (permalink / raw)
  To: linux-kernel, Linus Torvalds, Marcelo Tosatti
  Cc: Marcelo Tosatti, Linus Torvalds

Hello.  Currently when fs/fat/inode.c is compiled with gcc-3.0.x, there
are to lines which will cause a __divdi3 call to be used.  But on most
archs, there isn't currently a __divdi3 implementation in the kernel, so
FAT will no longer link (or load as a module).  The easy fix (pointed
out by Andrew Morton) is to replace the divide by 512 with a shift right
by 9, which has the same effect but doesn't use a divide.

This is vs 2.4.18-pre3, but applies to 2.5.2-pre9 as well (and probably
pre10 too..)

-- 
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

===== fs/fat/inode.c 1.10 vs edited =====
--- 1.10/fs/fat/inode.c	Wed Nov 21 15:12:16 2001
+++ edited/fs/fat/inode.c	Thu Jan 10 15:40:11 2002
@@ -406,7 +406,7 @@
 	}
 	inode->i_blksize = 1 << sbi->cluster_bits;
 	inode->i_blocks = ((inode->i_size + inode->i_blksize - 1)
-			   & ~(inode->i_blksize - 1)) / 512;
+			   & ~(inode->i_blksize - 1)) >> 9;
 	MSDOS_I(inode)->i_logstart = 0;
 	MSDOS_I(inode)->mmu_private = inode->i_size;
 
@@ -952,7 +952,7 @@
 	/* this is as close to the truth as we can get ... */
 	inode->i_blksize = 1 << sbi->cluster_bits;
 	inode->i_blocks = ((inode->i_size + inode->i_blksize - 1)
-			   & ~(inode->i_blksize - 1)) / 512;
+			   & ~(inode->i_blksize - 1)) >> 9;
 	inode->i_mtime = inode->i_atime =
 		date_dos2unix(CF_LE_W(de->time),CF_LE_W(de->date));
 	inode->i_ctime =

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-01-11 22:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-11  3:47 [PATCH] Fix fs/fat/inode.c when compiled with gcc-3.0.x Tom Rini
2002-01-11  3:52 ` Jeff Garzik
2002-01-11  4:29   ` Linus Torvalds
2002-01-11 15:29     ` Tom Rini
2002-01-11 18:09       ` Linus Torvalds
2002-01-11 18:17         ` Tom Rini
2002-01-11 18:40           ` Linus Torvalds
2002-01-12  0:35             ` Denis Vlasenko
2002-01-11 22:25     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox