Commit 847c9db5 authored by Al Viro's avatar Al Viro

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent fcf83067
...@@ -1053,7 +1053,7 @@ static int ocfs2_rename(struct inode *old_dir, ...@@ -1053,7 +1053,7 @@ static int ocfs2_rename(struct inode *old_dir,
handle_t *handle = NULL; handle_t *handle = NULL;
struct buffer_head *old_dir_bh = NULL; struct buffer_head *old_dir_bh = NULL;
struct buffer_head *new_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_dinode *old_di;
struct ocfs2_dir_lookup_result old_inode_dot_dot_res = { NULL, }; struct ocfs2_dir_lookup_result old_inode_dot_dot_res = { NULL, };
struct ocfs2_dir_lookup_result target_lookup_res = { NULL, }; struct ocfs2_dir_lookup_result target_lookup_res = { NULL, };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment