From: Andreas Dilger <adilger@clusterfs.com>
To: Andrew Morton <akpm@zip.com.au>,
"Rusty's Trivial Patches" <trivial@rustcorp.com.au>,
linux-kernel@vger.kernel.org
Subject: [PATCH] 2.5 ext3 ino_t removal
Date: Sun, 5 Jan 2003 21:33:03 -0700 [thread overview]
Message-ID: <20030105213303.B31555@schatzie.adilger.int> (raw)
This patch against 2.5.53 removes my erronous use of ino_t in a
couple of places in the ext3 code. This has been replaced with unsigned
long (the same as is used for inode->i_ino). This patch matches the fix
submitted to 2.4 for fixing 64-bit compiler warnings, and also replaces a
couple of %ld with %lu to forestall output wierdness with filesystems with
a few billion inodes.
Cheers, Andreas
======================= ext3-2.4-ino_t.diff ===============================
--- linux/fs/ext3/ialloc.c.orig Sat Oct 19 11:42:23 2002
+++ linux/fs/ext3/ialloc.c Sat Jan 4 12:14:18 2003
@@ -64,8 +64,8 @@ static int read_inode_bitmap (struct sup
if (!bh) {
ext3_error (sb, "read_inode_bitmap",
"Cannot read inode bitmap - "
- "block_group = %lu, inode_bitmap = %lu",
- block_group, (unsigned long) gdp->bg_inode_bitmap);
+ "block_group = %lu, inode_bitmap = %u",
+ block_group, gdp->bg_inode_bitmap);
retval = -EIO;
}
/*
@@ -531,19 +532,19 @@ out:
}
/* Verify that we are loading a valid orphan from disk */
-struct inode *ext3_orphan_get (struct super_block * sb, ino_t ino)
+struct inode *ext3_orphan_get(struct super_block *sb, unsigned long ino)
{
- ino_t max_ino = le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count);
+ unsigned long max_ino = le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count);
unsigned long block_group;
int bit;
int bitmap_nr;
struct buffer_head *bh;
struct inode *inode = NULL;
-
+
/* Error cases - e2fsck has already cleaned up for us */
if (ino > max_ino) {
ext3_warning(sb, __FUNCTION__,
- "bad orphan ino %ld! e2fsck was run?\n", ino);
+ "bad orphan ino %lu! e2fsck was run?\n", ino);
return NULL;
}
@@ -552,7 +553,7 @@ struct inode *ext3_orphan_get (struct su
if ((bitmap_nr = load_inode_bitmap(sb, block_group)) < 0 ||
!(bh = EXT3_SB(sb)->s_inode_bitmap[bitmap_nr])) {
ext3_warning(sb, __FUNCTION__,
- "inode bitmap error for orphan %ld\n", ino);
+ "inode bitmap error for orphan %lu\n", ino);
return NULL;
}
@@ -563,7 +564,7 @@ struct inode *ext3_orphan_get (struct su
if (!ext3_test_bit(bit, bh->b_data) || !(inode = iget(sb, ino)) ||
is_bad_inode(inode) || NEXT_ORPHAN(inode) > max_ino) {
ext3_warning(sb, __FUNCTION__,
- "bad orphan inode %ld! e2fsck was run?\n", ino);
+ "bad orphan inode %lu! e2fsck was run?\n", ino);
printk(KERN_NOTICE "ext3_test_bit(bit=%d, block=%ld) = %d\n",
bit, bh->b_blocknr, ext3_test_bit(bit, bh->b_data));
printk(KERN_NOTICE "inode=%p\n", inode);
@@ -570,9 +571,9 @@ struct inode *ext3_orphan_get (struct su
if (inode) {
printk(KERN_NOTICE "is_bad_inode(inode)=%d\n",
is_bad_inode(inode));
- printk(KERN_NOTICE "NEXT_ORPHAN(inode)=%d\n",
+ printk(KERN_NOTICE "NEXT_ORPHAN(inode)=%u\n",
NEXT_ORPHAN(inode));
- printk(KERN_NOTICE "max_ino=%ld\n", max_ino);
+ printk(KERN_NOTICE "max_ino=%lu\n", max_ino);
}
/* Avoid freeing blocks if we got a bad deleted inode */
if (inode && inode->i_nlink == 0)
--- linux/fs/ext3/namei.c.orig Sat Oct 19 11:42:45 2002
+++ linux/fs/ext3/namei.c Sat Jan 4 12:13:27 2003
@@ -716,10 +716,10 @@ int ext3_orphan_del(handle_t *handle, st
{
struct list_head *prev;
struct ext3_sb_info *sbi;
- ino_t ino_next;
+ unsigned long ino_next;
struct ext3_iloc iloc;
int err = 0;
-
+
lock_super(inode->i_sb);
if (list_empty(&inode->u.ext3_i.i_orphan)) {
unlock_super(inode->i_sb);
@@ -730,7 +730,7 @@ int ext3_orphan_del(handle_t *handle, st
prev = inode->u.ext3_i.i_orphan.prev;
sbi = EXT3_SB(inode->i_sb);
- jbd_debug(4, "remove inode %ld from orphan list\n", inode->i_ino);
+ jbd_debug(4, "remove inode %lu from orphan list\n", inode->i_ino);
list_del(&inode->u.ext3_i.i_orphan);
INIT_LIST_HEAD(&inode->u.ext3_i.i_orphan);
@@ -741,13 +741,13 @@ int ext3_orphan_del(handle_t *handle, st
* list in memory. */
if (!handle)
goto out;
-
+
err = ext3_reserve_inode_write(handle, inode, &iloc);
if (err)
goto out_err;
if (prev == &sbi->s_orphan) {
- jbd_debug(4, "superblock will point to %ld\n", ino_next);
+ jbd_debug(4, "superblock will point to %lu\n", ino_next);
BUFFER_TRACE(sbi->s_sbh, "get_write_access");
err = ext3_journal_get_write_access(handle, sbi->s_sbh);
if (err)
@@ -758,8 +758,8 @@ int ext3_orphan_del(handle_t *handle, st
struct ext3_iloc iloc2;
struct inode *i_prev =
list_entry(prev, struct inode, u.ext3_i.i_orphan);
-
- jbd_debug(4, "orphan inode %ld will point to %ld\n",
+
+ jbd_debug(4, "orphan inode %lu will point to %lu\n",
i_prev->i_ino, ino_next);
err = ext3_reserve_inode_write(handle, i_prev, &iloc2);
if (err)
@@ -774,7 +774,7 @@ int ext3_orphan_del(handle_t *handle, st
if (err)
goto out_brelse;
-out_err:
+out_err:
ext3_std_error(inode->i_sb, err);
out:
unlock_super(inode->i_sb);
--- linux/include/linux/ext3_fs.h.orig Thu Jan 2 16:10:24 2003
+++ linux/include/linux/ext3_fs.h Sat Jan 4 12:25:41 2003
@@ -622,7 +622,7 @@ extern int ext3_sync_file (struct file *
/* ialloc.c */
extern struct inode * ext3_new_inode (handle_t *, const struct inode *, int);
extern void ext3_free_inode (handle_t *, struct inode *);
-extern struct inode * ext3_orphan_get (struct super_block *, ino_t);
+extern struct inode * ext3_orphan_get (struct super_block *, unsigned long);
extern unsigned long ext3_count_free_inodes (struct super_block *);
extern void ext3_check_inodes_bitmap (struct super_block *);
extern unsigned long ext3_count_free (struct buffer_head *, unsigned);
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/
----- End forwarded message -----
Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/
next reply other threads:[~2003-01-06 4:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-06 4:33 Andreas Dilger [this message]
2003-01-06 4:42 ` Andreas Dilger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030105213303.B31555@schatzie.adilger.int \
--to=adilger@clusterfs.com \
--cc=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=trivial@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®