Displaying 16 results from an estimated 16 matches for "ip_clusters".
2009 Mar 11
1
[PATCH] ocfs2: Fix a bug found by sparse check.
...a9e5de..19e3a96 100644
--- a/fs/ocfs2/alloc.c
+++ b/fs/ocfs2/alloc.c
@@ -176,7 +176,8 @@ static int ocfs2_dinode_insert_check(struct inode *inode,
BUG_ON(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL);
mlog_bug_on_msg(!ocfs2_sparse_alloc(osb) &&
- (OCFS2_I(inode)->ip_clusters != rec->e_cpos),
+ (OCFS2_I(inode)->ip_clusters !=
+ le32_to_cpu(rec->e_cpos)),
"Device %s, asking for sparse allocation: inode %llu, "
"cpos %u, clusters %u\n",
osb->dev_str,
--
1.6.2.rc2.16.gf474c
2009 Apr 07
0
[PATCH 1/1] OCFS2: use i_size_read() instead of direct accessing inode->i_size
...status = -EINVAL;
goto done;
}
- mlog(0, "inode->i_size = %lld\n", inode->i_size);
+ mlog(0, "inode->i_size = %lld\n", i_size_read(inode));
mlog(0, "inode->i_blocks = %llu\n",
(unsigned long long)inode->i_blocks);
mlog(0, "inode->ip_clusters = %u\n", OCFS2_I(inode)->ip_clusters);
@@ -1120,7 +1120,7 @@ static int ocfs2_force_read_journal(struct inode *inode)
memset(bhs, 0, sizeof(struct buffer_head *) * CONCURRENT_JOURNAL_FILL);
- num_blocks = ocfs2_blocks_for_bytes(inode->i_sb, inode->i_size);
+ num_blocks = ocfs2_b...
2006 Aug 15
0
[git patches] ocfs2 updates
...e cluster count, then we don't want
+ * to trust any clusters past it, regardless of what
+ * the group descriptor says. */
+ gd_cluster_off = ocfs2_blocks_to_clusters(inode->i_sb,
+ le64_to_cpu(gd->bg_blkno));
+ if ((gd_cluster_off + max_bits) >
+ OCFS2_I(inode)->ip_clusters) {
+ max_bits = OCFS2_I(inode)->ip_clusters - gd_cluster_off;
+ mlog(0, "Desc %llu, bg_bits %u, clusters %u, use %u\n",
+ (unsigned long long)le64_to_cpu(gd->bg_blkno),
+ le16_to_cpu(gd->bg_bits),
+ OCFS2_I(inode)->ip_clusters, max_bits);
+ }
+
ret...
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...2_get_block(struct inode *inode, sector_t iblock,
(unsigned long long)iblock,
(unsigned long long)p_blkno,
(unsigned long long)OCFS2_I(inode)->ip_blkno);
- mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters);
+ mlog(ML_ERROR, "Size %llu, clusters %u\n",
+ (unsigned long long)i_size_read(inode),
+ OCFS2_I(inode)->ip_clusters);
dump_stack();
}
@@ -217,11 +219,16 @@ int ocfs2_read_inline_data(struct inode *inode, struct page *page,
void *kaddr;
loff_t size;
str...
2009 Jul 21
1
(no subject)
...2_get_block(struct inode *inode, sector_t iblock,
(unsigned long long)iblock,
(unsigned long long)p_blkno,
(unsigned long long)OCFS2_I(inode)->ip_blkno);
- mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters);
+ mlog(ML_ERROR, "Size %llu, clusters %u\n",
+ (unsigned long long)i_size_read(inode),
+ OCFS2_I(inode)->ip_clusters);
dump_stack();
}
@@ -217,11 +219,17 @@ int ocfs2_read_inline_data(struct inode *inode, struct page *page,
void *kaddr;
loff_t size;
str...
2009 Jul 13
1
[PATCH 1/1] fails ocfs2_get_block() immediately when hit -EIO
...0 deletions(-)
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index a10c989..9dfdf46 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -195,6 +195,7 @@ static int ocfs2_get_block(struct inode *inode, sector_t iblock,
(unsigned long long)i_size_read(inode),
OCFS2_I(inode)->ip_clusters);
dump_stack();
+ goto bail;
}
past_eof = ocfs2_blocks_for_bytes(inode->i_sb, i_size_read(inode));
--
1.6.2.5
2006 Dec 29
3
[git patches] ocfs2 fixes
...the right size, so there's no need
* for us to check any of that. */
- vbo_max = ((u64)iblock + max_blocks) << blocksize_bits;
-
spin_lock(&OCFS2_I(inode)->ip_lock);
- if ((iblock + max_blocks) >
- ocfs2_clusters_to_blocks(inode->i_sb,
- OCFS2_I(inode)->ip_clusters)) {
+ inode_blocks = ocfs2_clusters_to_blocks(inode->i_sb,
+ OCFS2_I(inode)->ip_clusters);
+
+ /*
+ * For a read which begins past the end of file, we return a hole.
+ */
+ if (!create && (iblock >= inode_blocks)) {
+ spin_unlock(&OCFS2_I(inode)->ip_lock);
+ ret = 0...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...2_get_block(struct inode *inode, sector_t iblock,
(unsigned long long)iblock,
(unsigned long long)p_blkno,
(unsigned long long)OCFS2_I(inode)->ip_blkno);
- mlog(ML_ERROR, "Size %llu, clusters %u\n", (unsigned long long)i_size_read(inode), OCFS2_I(inode)->ip_clusters);
+ mlog(ML_ERROR, "Size %llu, clusters %u\n",
+ (unsigned long long)i_size_read(inode),
+ OCFS2_I(inode)->ip_clusters);
dump_stack();
}
@@ -217,11 +219,17 @@ int ocfs2_read_inline_data(struct inode *inode, struct page *page,
void *kaddr;
loff_t size;
str...
2008 Oct 15
1
[PATCH] ocfs2: Wrap inode block reads in a dedicated function.
...gt; - "superblock! osb->fs_generation=%x, "
> - "fe->i_fs_generation=%x\n",
> - osb->fs_generation, le32_to_cpu(fe->i_fs_generation));
> - goto bail;
> - }
These changes to ocfs2_populate_inode() look great.
> OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters);
> OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr);
> @@ -354,10 +345,7 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
>
> ocfs2_set_inode_flags(inode);
>
> - status = 0;
> -bail:
> - mlog_exit(statu...
2008 Sep 04
4
[PATCH 0/3] ocfs2: Switch over to JBD2.
ocfs2 currently uses the Journaled Block Device (JBD) for its
journaling. This is a very stable and tested codebase. However, JBD
is limited by architecture to 32bit block numbers. This means an ocfs2
filesystem is limited to 2^32 blocks. With a 4K blocksize, that's 16TB.
People want larger volumes.
Fortunately, there is now JBD2. JBD2 adds 64bit block number support
and some other
2008 Aug 01
1
[git patches] Ocfs2 and Configfs fixes
The only non-fix here is Joel's new configfs convenience macros, but nobody
is using them yet, so I think the patch is safe.
By the way, these patches (as usual) are all rebased on top of your latest
tree. I think that since the vast majority of ocfs2 and configfs patches are
self-contained and within a small area of the kernel that this should
probably be fine. If you feel otherwise however,
2009 Mar 27
42
[PATCH 00/42] ocfs2: Add reflink file support. V1
Hi all,
So I have finally finished the v1 of reflink for ocfs2. It has some
bugs that I am still investigating, but the schema is almost there. So
I'd like to send it out first for review. And Tristan and I will
continue to work on the stability of the code.
The general information for reflink, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.
For the design doc, please
2009 Apr 03
42
[PATCH 00/42] ocfs2: Add reflink file support. V2
Hi all,
Change from v1 to v2: bug fix and metadata/credits reservation
improvement.
The general information for reflink, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.
For the design doc, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/RefcountTrees
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/ReflinkOperation
2009 Apr 30
42
[PATCH 00/39] ocfs2: Add reflink file support. V3
Hi all,
So I have finally finished the v3 of reflink for ocfs2. The biggest
change is that we support 64bit cluster offset now(Thank Mark and Joel
for it).
[View]
http://oss.oracle.com/git/?p=tma/linux-2.6.git;a=shortlog;h=refcount
[Pull]
git://oss.oracle.com/git/tma/linux-2.6.git refcount
The general information for reflink, please see
http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.
2009 Feb 13
44
[PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode
The following series of patches attempts to detach metadata I/O from
struct inode. They are currently tied together pretty tightly.
Metadata reads happen via the ocfs2_read_blocks() functions, writes via
both jbd2 and ocfs2_write_blocks().
- Each inode has a cache of associated metadata blocks stored on its
ip_metadata_cache member. The ocfs2_read/write_blocks() functions
take a struct
2008 Dec 22
56
[git patches] Ocfs2 patches for merge window, batch 2/3
Hi,
This is the second batch of Ocfs2 patches intended for the merge window. The
1st batch were sent out previously:
http://lkml.org/lkml/2008/12/19/280
The bulk of this set is comprised of Jan Kara's patches to add quota support
to Ocfs2. Many of the quota patches are to generic code, which I carried to
make merging of the Ocfs2 support easier. All of the non-ocfs2 patches
should have