[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081130185805.GB2839@Chamillionaire.breakpoint.cc>
Date: Sun, 30 Nov 2008 19:58:05 +0100
From: Sebastian Andrzej Siewior <sebastian@...akpoint.cc>
To: Adrian Hunter <ext-adrian.hunter@...ia.com>
Cc: Artem Bityutskiy <dedekind@...radead.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Richard Henderson <rth@...ddle.net>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
akpm@...ux-foundation.org
Subject: Re: [PATCH] UBIFS: fix compilation warnings
* Adrian Hunter | 2008-11-24 12:03:41 [+0200]:
> Doesn't help:
>
> fs/ubifs/journal.c:699: warning: format ???%zu??? expects type
> ???size_t???, but argument 4 has type ???ino_t???
Indeed. BUT:
Is there actually a reason why Alpha is the only arch having
__kernel_ino_t defined as unsigned int instead of unsigned long ?
(except s390 in 32bit mode).
I just checked and I haven't seen anything that would point out that
__kernel_ino_t / ino_t is part of user space API.
What I've found instead is for instance that ext2 relies that ino_t is a
long:
|struct inode *ext2_iget (struct super_block *sb, unsigned long ino)
|{
....
| raw_inode = ext2_get_inode(inode->i_sb, ino, &bh);
and the prototype is:
|static struct ext2_inode *ext2_get_inode(struct super_block *sb, ino_t ino,
| struct buffer_head **p)
So we lose the upper 32bit on Alpha. Unless the whole system is
self-contained and the ext2_iget() user never passes something > ino_t.
Any comments?
Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists