|
@@ -273,8 +273,7 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
|
|
|
ip->i_inode.i_nlink = be32_to_cpu(str->di_nlink);
|
|
ip->i_inode.i_nlink = be32_to_cpu(str->di_nlink);
|
|
|
di->di_size = be64_to_cpu(str->di_size);
|
|
di->di_size = be64_to_cpu(str->di_size);
|
|
|
i_size_write(&ip->i_inode, di->di_size);
|
|
i_size_write(&ip->i_inode, di->di_size);
|
|
|
- di->di_blocks = be64_to_cpu(str->di_blocks);
|
|
|
|
|
- gfs2_set_inode_blocks(&ip->i_inode);
|
|
|
|
|
|
|
+ gfs2_set_inode_blocks(&ip->i_inode, be64_to_cpu(str->di_blocks));
|
|
|
ip->i_inode.i_atime.tv_sec = be64_to_cpu(str->di_atime);
|
|
ip->i_inode.i_atime.tv_sec = be64_to_cpu(str->di_atime);
|
|
|
ip->i_inode.i_atime.tv_nsec = be32_to_cpu(str->di_atime_nsec);
|
|
ip->i_inode.i_atime.tv_nsec = be32_to_cpu(str->di_atime_nsec);
|
|
|
ip->i_inode.i_mtime.tv_sec = be64_to_cpu(str->di_mtime);
|
|
ip->i_inode.i_mtime.tv_sec = be64_to_cpu(str->di_mtime);
|
|
@@ -344,7 +343,7 @@ int gfs2_dinode_dealloc(struct gfs2_inode *ip)
|
|
|
struct gfs2_rgrpd *rgd;
|
|
struct gfs2_rgrpd *rgd;
|
|
|
int error;
|
|
int error;
|
|
|
|
|
|
|
|
- if (ip->i_di.di_blocks != 1) {
|
|
|
|
|
|
|
+ if (gfs2_get_inode_blocks(&ip->i_inode) != 1) {
|
|
|
if (gfs2_consist_inode(ip))
|
|
if (gfs2_consist_inode(ip))
|
|
|
gfs2_dinode_print(ip);
|
|
gfs2_dinode_print(ip);
|
|
|
return -EIO;
|
|
return -EIO;
|
|
@@ -1398,7 +1397,7 @@ void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf)
|
|
|
str->di_gid = cpu_to_be32(ip->i_inode.i_gid);
|
|
str->di_gid = cpu_to_be32(ip->i_inode.i_gid);
|
|
|
str->di_nlink = cpu_to_be32(ip->i_inode.i_nlink);
|
|
str->di_nlink = cpu_to_be32(ip->i_inode.i_nlink);
|
|
|
str->di_size = cpu_to_be64(di->di_size);
|
|
str->di_size = cpu_to_be64(di->di_size);
|
|
|
- str->di_blocks = cpu_to_be64(di->di_blocks);
|
|
|
|
|
|
|
+ str->di_blocks = cpu_to_be64(gfs2_get_inode_blocks(&ip->i_inode));
|
|
|
str->di_atime = cpu_to_be64(ip->i_inode.i_atime.tv_sec);
|
|
str->di_atime = cpu_to_be64(ip->i_inode.i_atime.tv_sec);
|
|
|
str->di_mtime = cpu_to_be64(ip->i_inode.i_mtime.tv_sec);
|
|
str->di_mtime = cpu_to_be64(ip->i_inode.i_mtime.tv_sec);
|
|
|
str->di_ctime = cpu_to_be64(ip->i_inode.i_ctime.tv_sec);
|
|
str->di_ctime = cpu_to_be64(ip->i_inode.i_ctime.tv_sec);
|
|
@@ -1430,8 +1429,8 @@ void gfs2_dinode_print(const struct gfs2_inode *ip)
|
|
|
printk(KERN_INFO " no_addr = %llu\n",
|
|
printk(KERN_INFO " no_addr = %llu\n",
|
|
|
(unsigned long long)ip->i_no_addr);
|
|
(unsigned long long)ip->i_no_addr);
|
|
|
printk(KERN_INFO " di_size = %llu\n", (unsigned long long)di->di_size);
|
|
printk(KERN_INFO " di_size = %llu\n", (unsigned long long)di->di_size);
|
|
|
- printk(KERN_INFO " di_blocks = %llu\n",
|
|
|
|
|
- (unsigned long long)di->di_blocks);
|
|
|
|
|
|
|
+ printk(KERN_INFO " blocks = %llu\n",
|
|
|
|
|
+ (unsigned long long)gfs2_get_inode_blocks(&ip->i_inode));
|
|
|
printk(KERN_INFO " i_goal = %llu\n",
|
|
printk(KERN_INFO " i_goal = %llu\n",
|
|
|
(unsigned long long)ip->i_goal);
|
|
(unsigned long long)ip->i_goal);
|
|
|
printk(KERN_INFO " di_flags = 0x%.8X\n", di->di_flags);
|
|
printk(KERN_INFO " di_flags = 0x%.8X\n", di->di_flags);
|