diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-02-13 03:00:05 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-02-14 02:45:39 +0100 |
commit | 847c9db5cb50841589b8ebd3da0769b1b02fb3b2 (patch) | |
tree | 58d303a0306ed61114032b6d40085b17e13aaa0c /fs | |
parent | vfs: fix compat_sys_stat() handling of overflows in st_nlink (diff) | |
download | linux-847c9db5cb50841589b8ebd3da0769b1b02fb3b2.tar.xz linux-847c9db5cb50841589b8ebd3da0769b1b02fb3b2.zip |
ocfs2: deal with wraparounds of i_nlink in ocfs2_rename()
unfortunately, nlink_t may be smaller than 32 bits and ->i_nlink
on ocfs2 can grow up to 0xffffffff; storing it in nlink_t variable
will lose upper bits on such architectures. Needs to be made u32,
until we get kernel-side nlink_t uniformly 32bit...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ocfs2/namei.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index be244692550d..a9856e3eaaf0 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c @@ -1053,7 +1053,7 @@ static int ocfs2_rename(struct inode *old_dir, handle_t *handle = NULL; struct buffer_head *old_dir_bh = NULL; struct buffer_head *new_dir_bh = NULL; - nlink_t old_dir_nlink = old_dir->i_nlink; + u32 old_dir_nlink = old_dir->i_nlink; struct ocfs2_dinode *old_di; struct ocfs2_dir_lookup_result old_inode_dot_dot_res = { NULL, }; struct ocfs2_dir_lookup_result target_lookup_res = { NULL, }; |