From: Andrew Morton <[email protected]>
Please grep the whole tree and look for any similar bugs which this patch
introduces.
Cc: Jean Noel Cordenner <[email protected]>
Cc: Theodore Ts'o <[email protected]>
Cc: David Howells <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
fs/afs/dir.c | 9 +++++----
fs/afs/inode.c | 3 ++-
2 files changed, 7 insertions(+), 5 deletions(-)
diff -puN fs/afs/dir.c~64-bit-i_version-afs-fixes fs/afs/dir.c
--- a/fs/afs/dir.c~64-bit-i_version-afs-fixes
+++ a/fs/afs/dir.c
@@ -546,11 +546,11 @@ static struct dentry *afs_lookup(struct
dentry->d_op = &afs_fs_dentry_operations;
d_add(dentry, inode);
- _leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%lu }",
+ _leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%llu }",
fid.vnode,
fid.unique,
dentry->d_inode->i_ino,
- dentry->d_inode->i_version);
+ (unsigned long long)dentry->d_inode->i_version);
return NULL;
}
@@ -630,9 +630,10 @@ static int afs_d_revalidate(struct dentr
* been deleted and replaced, and the original vnode ID has
* been reused */
if (fid.unique != vnode->fid.unique) {
- _debug("%s: file deleted (uq %u -> %u I:%lu)",
+ _debug("%s: file deleted (uq %u -> %u I:%llu)",
dentry->d_name.name, fid.unique,
- vnode->fid.unique, dentry->d_inode->i_version);
+ vnode->fid.unique,
+ (unsigned long long)dentry->d_inode->i_version);
spin_lock(&vnode->lock);
set_bit(AFS_VNODE_DELETED, &vnode->flags);
spin_unlock(&vnode->lock);
diff -puN fs/afs/inode.c~64-bit-i_version-afs-fixes fs/afs/inode.c
--- a/fs/afs/inode.c~64-bit-i_version-afs-fixes
+++ a/fs/afs/inode.c
@@ -301,7 +301,8 @@ int afs_getattr(struct vfsmount *mnt, st
inode = dentry->d_inode;
- _enter("{ ino=%lu v=%lu }", inode->i_ino, inode->i_version);
+ _enter("{ ino=%lu v=%llu }", inode->i_ino,
+ (unsigned long long)inode->i_version);
generic_fillattr(inode, stat);
return 0;
_
[email protected] wrote:
> - _leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%lu }",
> + _leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%llu }",
> fid.vnode,
> fid.unique,
> dentry->d_inode->i_ino,
> - dentry->d_inode->i_version);
> + (unsigned long long)dentry->d_inode->i_version);
Hmmm... In AFS's case this is overkill... The value contained in i_version
is going to be a 32-bit number because that's all the protocol supports.
David