[Ocfs2-commits] smushran commits r2198 - trunk/fs/ocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Thu Apr 28 20:34:13 CDT 2005
Author: smushran
Signed-off-by: mfasheh
Date: 2005-04-28 20:34:12 -0500 (Thu, 28 Apr 2005)
New Revision: 2198
Modified:
trunk/fs/ocfs2/dir.c
trunk/fs/ocfs2/dlmglue.c
trunk/fs/ocfs2/file.c
trunk/fs/ocfs2/inode.c
trunk/fs/ocfs2/journal.c
trunk/fs/ocfs2/namei.c
trunk/fs/ocfs2/ocfs2.h
trunk/fs/ocfs2/suballoc.c
trunk/fs/ocfs2/super.c
Log:
inode->i_blocks set to 512byte blocksize units
rather than the fs blocksize as that is apparently correct
Signed-off-by: mfasheh
Modified: trunk/fs/ocfs2/dir.c
===================================================================
--- trunk/fs/ocfs2/dir.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/dir.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -355,8 +355,9 @@
}
}
- status = ocfs2_extent_map_get_blocks(dir, dir->i_blocks, 1,
- &p_blkno, NULL);
+ status = ocfs2_extent_map_get_blocks(dir, (dir->i_blocks >>
+ (sb->s_blocksize_bits - 9)),
+ 1, &p_blkno, NULL);
if (status < 0) {
mlog_errno(status);
goto bail;
@@ -470,7 +471,7 @@
dir_i_size += dir->i_sb->s_blocksize;
i_size_write(dir, dir_i_size);
- dir->i_blocks += 1;
+ dir->i_blocks = ocfs2_align_bytes_to_sectors(dir_i_size);
status = ocfs_mark_inode_dirty(handle, dir, parent_fe_bh);
if (status < 0) {
mlog_errno(status);
Modified: trunk/fs/ocfs2/dlmglue.c
===================================================================
--- trunk/fs/ocfs2/dlmglue.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/dlmglue.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -1248,7 +1248,7 @@
if (S_ISLNK(inode->i_mode) && !oip->ip_clusters)
inode->i_blocks = 0;
else
- inode->i_blocks = (inode->i_size + inode->i_sb->s_blocksize - 1) >> inode->i_sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(i_size_read(inode));
OCFS_SET_INODE_TIME(inode, i_atime, be64_to_cpu(lvb->lvb_iatime));
OCFS_SET_INODE_TIME(inode, i_ctime, be64_to_cpu(lvb->lvb_ictime));
OCFS_SET_INODE_TIME(inode, i_mtime, be64_to_cpu(lvb->lvb_imtime));
Modified: trunk/fs/ocfs2/file.c
===================================================================
--- trunk/fs/ocfs2/file.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/file.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -168,11 +168,8 @@
static void ocfs2_update_inode_size(struct inode *inode,
u64 new_size)
{
- struct super_block *sb = inode->i_sb;
-
i_size_write(inode, new_size);
- inode->i_blocks = (new_size + sb->s_blocksize - 1) >>
- sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(new_size);
}
void ocfs2_file_finish_extension(struct inode *inode, loff_t newsize,
@@ -404,15 +401,13 @@
u64 new_i_size)
{
int status, grow;
- struct super_block *sb = inode->i_sb;
ocfs_inode_private *oip = OCFS_I(inode);
mlog_entry_void();
grow = new_i_size > inode->i_size;
i_size_write(inode, new_i_size);
- inode->i_blocks = (new_i_size + sb->s_blocksize - 1)
- >> sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(new_i_size);
inode->i_ctime = inode->i_mtime = CURRENT_TIME;
status = ocfs_mark_inode_dirty(handle, inode, fe_bh);
Modified: trunk/fs/ocfs2/inode.c
===================================================================
--- trunk/fs/ocfs2/inode.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/inode.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -371,7 +371,7 @@
if (S_ISLNK(inode->i_mode) && !fe->i_clusters)
inode->i_blocks = 0;
else
- inode->i_blocks = (fe->i_size + sb->s_blocksize - 1) >> sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(fe->i_size);
inode->i_mapping->a_ops = &ocfs_aops;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
inode->i_attr_flags |= ATTR_FLAG_NOATIME;
@@ -1030,7 +1030,7 @@
if (S_ISLNK(inode->i_mode) && !fe->i_clusters)
inode->i_blocks = 0;
else
- inode->i_blocks = (i_size_read(inode) + osb->sb->s_blocksize - 1) >> osb->sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(i_size_read(inode));
OCFS_SET_INODE_TIME(inode, i_ctime, fe->i_ctime);
OCFS_SET_INODE_TIME(inode, i_atime, fe->i_atime);
OCFS_SET_INODE_TIME(inode, i_mtime, fe->i_mtime);
Modified: trunk/fs/ocfs2/journal.c
===================================================================
--- trunk/fs/ocfs2/journal.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/journal.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -885,14 +885,15 @@
mlog_entry_void();
OCFS_ASSERT(inode->i_blocks ==
- (inode->i_size >> inode->i_sb->s_blocksize_bits));
+ ocfs2_align_bytes_to_sectors(i_size_read(inode)));
memset(bhs, 0, sizeof(struct buffer_head *) * CONCURRENT_JOURNAL_FILL);
- mlog(0, "Force reading %lu blocks\n", inode->i_blocks);
+ mlog(0, "Force reading %lu blocks\n",
+ (inode->i_blocks >> (inode->i_sb->s_blocksize_bits - 9)));
v_blkno = 0;
- while (v_blkno < inode->i_blocks) {
+ while (v_blkno < (inode->i_blocks >> (inode->i_sb->s_blocksize_bits - 9))) {
status = ocfs2_extent_map_get_blocks(inode, v_blkno,
1, &p_blkno,
&p_blocks);
Modified: trunk/fs/ocfs2/namei.c
===================================================================
--- trunk/fs/ocfs2/namei.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/namei.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -287,7 +287,7 @@
i_size_write(inode, inode->i_sb->s_blocksize);
inode->i_nlink = 2;
- inode->i_blocks = 1;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(inode->i_sb->s_blocksize);
status = ocfs_mark_inode_dirty(handle, inode, fe_bh);
if (status < 0) {
mlog_errno(status);
@@ -1625,7 +1625,7 @@
goto bail;
}
i_size_write(inode, newsize);
- inode->i_blocks = (newsize + sb->s_blocksize - 1) >> sb->s_blocksize_bits;
+ inode->i_blocks = ocfs2_align_bytes_to_sectors(newsize);
} else {
inode->i_op = &ocfs_fast_symlink_inode_operations;
memcpy((char *) fe->id2.i_symlink, symname, l);
Modified: trunk/fs/ocfs2/ocfs2.h
===================================================================
--- trunk/fs/ocfs2/ocfs2.h 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/ocfs2.h 2005-04-29 01:34:12 UTC (rev 2198)
@@ -73,6 +73,18 @@
return (u64)clusters << cl_bits;
}
+static inline unsigned long ocfs2_align_bytes_to_blocks(struct super_block *sb,
+ u64 bytes)
+{
+ bytes += sb->s_blocksize - 1;
+ return (unsigned long)(bytes >> sb->s_blocksize_bits);
+}
+
+static inline unsigned long ocfs2_align_bytes_to_sectors(u64 bytes)
+{
+ return (unsigned long)((bytes + 511) >> 9);
+}
+
#define ocfs2_set_bit ext2_set_bit
#define ocfs2_clear_bit ext2_clear_bit
#define ocfs2_test_bit ext2_test_bit
Modified: trunk/fs/ocfs2/suballoc.c
===================================================================
--- trunk/fs/ocfs2/suballoc.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/suballoc.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -325,7 +325,8 @@
fe->i_clusters);
spin_unlock(&OCFS_I(alloc_inode)->ip_lock);
i_size_write(alloc_inode, fe->i_size);
- alloc_inode->i_blocks = (i_size_read(alloc_inode) + osb->sb->s_blocksize - 1) >> osb->sb->s_blocksize_bits;
+ alloc_inode->i_blocks =
+ ocfs2_align_bytes_to_sectors(i_size_read(alloc_inode));
status = 0;
bail:
Modified: trunk/fs/ocfs2/super.c
===================================================================
--- trunk/fs/ocfs2/super.c 2005-04-29 00:00:10 UTC (rev 2197)
+++ trunk/fs/ocfs2/super.c 2005-04-29 01:34:12 UTC (rev 2198)
@@ -633,7 +633,7 @@
(osb->s_clustersize >> osb->sb->s_blocksize_bits);
buf->f_bavail = buf->f_bfree;
buf->f_files = numbits;
- buf->f_ffree = numbits - freebits;
+ buf->f_ffree = freebits;
brelse(bh);
More information about the Ocfs2-commits
mailing list