search for: ocfs2_extent_tree

Displaying 17 results from an estimated 17 matches for "ocfs2_extent_tree".

2009 Feb 13
44
[PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode
...the metadata I/O API. The remaining 34 patches slowly but surely move alloc.c to the new API. Our btree code is heavily invested in the idea that all btrees are rooted, somehow, at an inode. Since we want to root a btree at a non-inode, we need to fix that. The good news, of course, is that the ocfs2_extent_tree abstraction is already there to rescue us. We attach the ocfs2_caching_info to a particular ocfs2_extent_tree, and we can then send that ocfs2_extent_tree down through the btree code. At the end of this series, the generic btree code doesn't reference struct inode at all. There are a lot of...
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 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 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 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...@ static int ocfs2_grab_pages_for_write(struct address_space *mapping, wc->w_target_page = wc->w_pages[i]; } out: + mlog_exit(ret); return ret; } @@ -1227,6 +1326,10 @@ static int ocfs2_write_cluster(struct address_space *mapping, struct inode *inode = mapping->host; struct ocfs2_extent_tree et; + mlog_entry("(0x%p, %u, %u, 0x%p, 0x%p, 0x%p, %u, %lld, %u)\n", + mapping, phys, unwritten, data_ac, meta_ac, wc, + cpos, user_pos, user_len); + new = phys == 0 ? 1 : 0; if (new || unwritten) should_zero = 1; @@ -1312,7 +1415,7 @@ static int ocfs2_write_cluster(struc...
2009 Jan 30
8
[PATCH 0/7] ocfs2: Directory indexing support
The following patches implement indexed directory support in Ocfs2, mostly according to the design doc I wrote up a while ago: http://oss.oracle.com/osswiki/OCFS2/DesignDocs/IndexedDirectories The patches have been rebased on top of 2.6.29-rc2. It should be trivial to put them into merge_window. Things are what I'd call complete now. I'd like to get these into the merge_window branch
2009 Jun 02
1
[PATCH] ocfs2: Adjust rightmost path in ocfs2_add_branch.
...d another path. Generally, this involves freeing the buffer @@ -1012,6 +1014,75 @@ static inline u32 ocfs2_sum_rightmost_rec(struct ocfs2_extent_list *el) ocfs2_rec_clusters(el, &el->l_recs[i]); } +static int ocfs2_adjust_new_end(handle_t *handle, + struct inode *inode, + struct ocfs2_extent_tree *et, + u32 new_end) +{ + int status, i; + struct ocfs2_path *path = NULL; + struct ocfs2_extent_list *el; + struct ocfs2_extent_rec *rec; + + path = ocfs2_new_path_from_et(et); + if (!path) { + status = -ENOMEM; + return status; + } + + status = ocfs2_find_path(inode, path, new_end); + if (sta...
2009 Jul 13
1
[PATCH] ocfs2: Add extra credits and access the modified bh in update_edge_lengths.
...index 3331eec..2016ff7 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c @@ -2563,15 +2563,39 @@ out_ret_path: return ret; } -static void ocfs2_update_edge_lengths(handle_t *handle, - struct ocfs2_path *path) +static int ocfs2_update_edge_lengths(handle_t *handle, + struct ocfs2_extent_tree *et, + int subtree_index, + struct ocfs2_path *path) { - int i, idx; + int i, idx, ret; struct ocfs2_extent_rec *rec; struct ocfs2_extent_list *el; struct ocfs2_extent_block *eb; u32 range; + /* + * In normal tree rotation process, we will never touch the + * tree branc...
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...@ static int ocfs2_grab_pages_for_write(struct address_space *mapping, wc->w_target_page = wc->w_pages[i]; } out: + mlog_exit(ret); return ret; } @@ -1227,6 +1319,10 @@ static int ocfs2_write_cluster(struct address_space *mapping, struct inode *inode = mapping->host; struct ocfs2_extent_tree et; + mlog_entry("(0x%p, %u, %u, 0x%p, 0x%p, 0x%p, %u, %lld, %u)\n", + mapping, phys, unwritten, data_ac, meta_ac, wc, + cpos, user_pos, user_len); + new = phys == 0 ? 1 : 0; if (new || unwritten) should_zero = 1; @@ -1312,7 +1408,7 @@ static int ocfs2_write_cluster(struc...
2009 Jul 21
1
(no subject)
...@ static int ocfs2_grab_pages_for_write(struct address_space *mapping, wc->w_target_page = wc->w_pages[i]; } out: + mlog_exit(ret); return ret; } @@ -1227,6 +1326,10 @@ static int ocfs2_write_cluster(struct address_space *mapping, struct inode *inode = mapping->host; struct ocfs2_extent_tree et; + mlog_entry("(0x%p, %u, %u, 0x%p, 0x%p, 0x%p, %u, %lld, %u)\n", + mapping, phys, unwritten, data_ac, meta_ac, wc, + cpos, user_pos, user_len); + new = phys == 0 ? 1 : 0; if (new || unwritten) should_zero = 1; @@ -1312,7 +1415,7 @@ static int ocfs2_write_cluster(struc...
2009 Mar 17
33
[git patches] Ocfs2 updates for 2.6.30
Hi, The following patches comprise the bulk of Ocfs2 updates for the 2.6.30 merge window. Aside from larger, more involved fixes, we're adding the following features, which I will describe in the order their patches are mailed. Sunil's exported some more state to our debugfs files, and consolidated some other aspects of our debugfs infrastructure. This will further aid us in debugging
2009 Aug 02
1
Non sparse extend init issue
The patch was created against a 1.4 tree. However, it applies cleanly to mainline too. The patch has been lightly tested. I am running fill_verify_holes on a non sparse volume currently. Please review. Sunil
2009 Mar 05
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.2)
...(inode_alloc_inode); + brelse(alloc_bh); +bail: + mlog_exit(status); + return status; +} diff --git a/fs/ocfs2/suballoc.h b/fs/ocfs2/suballoc.h index e3c13c7..62d1f94 100644 --- a/fs/ocfs2/suballoc.h +++ b/fs/ocfs2/suballoc.h @@ -186,4 +186,6 @@ int ocfs2_lock_allocators(struct inode *inode, struct ocfs2_extent_tree *et, u32 clusters_to_add, u32 extents_to_split, struct ocfs2_alloc_context **data_ac, struct ocfs2_alloc_context **meta_ac); + +int ocfs2_test_inode_bit(struct ocfs2_super *osb, u64 blkno, int *res); #endif /* _CHAINALLOC_H_ */
2009 Mar 06
0
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6.3)
...(inode_alloc_inode); + brelse(alloc_bh); +bail: + mlog_exit(status); + return status; +} diff --git a/fs/ocfs2/suballoc.h b/fs/ocfs2/suballoc.h index e3c13c7..62d1f94 100644 --- a/fs/ocfs2/suballoc.h +++ b/fs/ocfs2/suballoc.h @@ -186,4 +186,6 @@ int ocfs2_lock_allocators(struct inode *inode, struct ocfs2_extent_tree *et, u32 clusters_to_add, u32 extents_to_split, struct ocfs2_alloc_context **data_ac, struct ocfs2_alloc_context **meta_ac); + +int ocfs2_test_inode_bit(struct ocfs2_super *osb, u64 blkno, int *res); #endif /* _CHAINALLOC_H_ */
2009 Jun 12
2
[PATCH 0/2] ocfs2: Adjust rightmost path in ocfs2_add_branch.v2
Hi Mark/Joel, This is the v2 of bug fix for ocfs2_add_branch. Modification from V1 to V2: 1. Create a patch which return EROFS instead of BUG in ocfs2_insert_at_leaf. 2. Use ocfs2_adjust_rightmost_records to change the root and extent blocks in the rightmost path. Regards, Tao
2009 Mar 03
3
[PATCH 1/1] OCFS2: anti stale inode for nfs (V6)
For nfs exporting, ocfs2_get_dentry() returns the dentry for fh. ocfs2_get_dentry() may read from disk(when inode not in memory) without any cross cluster lock. this leads to load a stale inode. this patch fixes above problem. solution is that in case of inode is not in memory, we get the cluster lock(PR) of alloc inode where the inode in question is allocated from(this causes node on which
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