search for: i_state

Displaying 12 results from an estimated 12 matches for "i_state".

Did you mean: _state
2004 Sep 16
1
[PATCH] BUG on fsync/fdatasync with Ext3 data=journal
..."write: in ..." and "fsync: out ...". The problem was occurred since 2.6.5-bk1, which includes the patch "[PATCH] ext3 fsync() and fdatasync() speedup". We found that the problem was solved by deleting the part of the patch which modifies ext3_sync_file(). Maybe, i_state is not correctly set to I_DIRTY when the related page cache is dirty (is it true?) Attached file is tarball (tar + bzip2) which contains following files. The patches are for 2.6.8.1-kernel (applicable to 2.6.9-rc2), and the results were also produced with 2.6.8.1-kernel. - fsync.c.patch: patch f...
2009 Jun 09
2
[PATCH] OCFS2: fdatasync should skip unimportant metadata writeout
Hi. In ocfs2, fdatasync and fsync are identical. I think fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. #sysbench --num-threads=16 --max-requests=300000 --test=fileio --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results: -...
2001 Jul 07
2
Bad unaligned kernel access with ext3 0.8.0
...2(t0) fffffc0000883f78: 08 a1 7d a7 ldq t12,-24312(gp) [...] The ldl_l .... stl_c sequence can be identified as test_and_clear_bit() on alpha. So the faulting instruction is this line of fs/ext3/inode.c::ext3_bmap() : if (test_and_clear_bit(EXT3_STATE_JDATA, &inode->u.ext3_i.i_state)) In fact ext3_i.i_state is a 16 bit aligned 16 bit value while test_and_clear_bit() expects to work on aligned 32 bit quantities. Furthermore the unaligned trap handler doesn't know how to handle the ldl_l. How to fix it? Weird side note: ext3 0.0.7 on kernel 2.4.5-ac22 worked without prob...
2009 Jun 08
1
[PATCH] Btrfs: fdatasync should skip metadata writeout
Hi. In btrfs, fdatasync and fsync are identical. I think fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. #sysbench --num-threads=16 --max-requests=10000 --test=fileio --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results:...
2009 Feb 20
2
[PATCH 1/1] OCFS2: add error check for ocfs2_read_locked_inode() call
...node *inode = NULL; struct super_block *sb = osb->sb; struct ocfs2_find_inode_args args; + int status; mlog_entry("(blkno = %llu)\n", (unsigned long long)blkno); @@ -142,7 +143,12 @@ struct inode *ocfs2_iget(struct ocfs2_su * afterwards. */ if (inode && inode->i_state & I_NEW) { mlog(0, "Inode was not in inode cache, reading it.\n"); - ocfs2_read_locked_inode(inode, &args); + status = ocfs2_read_locked_inode(inode, &args); + if (status) { + iput(inode); + inode = ERR_PTR(status); + goto bail; + } unlock_new_inode(inode); }...
2013 Nov 19
6
[PATCH] Btrfs: fix very slow inode eviction and fs unmount
...ithout the excessive merging and splitting. + */ +static void evict_inode_truncate_pages(struct inode *inode) +{ + struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree; + struct extent_map_tree *map_tree = &BTRFS_I(inode)->extent_tree; + struct rb_node *node; + + ASSERT(inode->i_state & I_FREEING); + truncate_inode_pages(&inode->i_data, 0); + + write_lock(&map_tree->lock); + while (!RB_EMPTY_ROOT(&map_tree->map)) { + struct extent_map *em; + + node = rb_first(&map_tree->map); + em = rb_entry(node, struct extent_map, rb_node); + remove_extent_m...
2016 Dec 13
1
Lowering the metadata attached to an instruction down to Pattern Instruction Selection pass
...t;fi#1>, 0, pred:1, pred:%noreg, 7; mem:Volatile ST4[%x] IRF32:%vreg1 %vreg2<def> = LSU_LDO_i32_Myr2 <fi#1>, 0, pred:1, pred:%noreg, 7; mem:Volatile LD4[%x] IRF32:%vreg2 %vreg3<def> = IAU_ADD_32_imm %vreg2<kill>, 1, pred:1, pred:%noreg, %CC_IAU0<imp-def,dead>, %I_STATE<imp-def,dead>; IRF32:%vreg3,%vreg2 LSU_STO_i32_Myr2 %vreg3<kill>, <fi#1>, 0, pred:1, pred:%noreg, 7; mem:Volatile ST4[%x] IRF32:%vreg3 %vreg4<def> = LSU_LDO_i32_Myr2 <fi#1>, 0, pred:1, pred:%noreg, 7; mem:Volatile LD4[%x] IRF32:%vreg4 %I18<def> = COPY %vreg4...
2009 Aug 21
0
[GIT PULL] btrfs rb corruption fix
...b_node); if (inode->i_ino < entry->vfs_inode.i_ino) - p = &(*p)->rb_left; + p = &parent->rb_left; else if (inode->i_ino > entry->vfs_inode.i_ino) - p = &(*p)->rb_right; + p = &parent->rb_right; else { WARN_ON(!(entry->vfs_inode.i_state & (I_WILL_FREE | I_FREEING | I_CLEAR))); - break; + rb_erase(parent, &root->inode_tree); + RB_CLEAR_NODE(parent); + spin_unlock(&root->inode_lock); + goto again; } } rb_link_node(&BTRFS_I(inode)->rb_node, parent, p); @@ -3126,12 +3133,12 @@ static vo...
2011 Sep 05
1
Error on creating snapshots (btrfs: could not do orphan cleanup -116)
This happens on a freshly created btrfs filesystem in a raid10 (4x1TB) configuration with three subvolumes and 1.5 TB data. When I try to snapshot one of the subvolumes (with 100 GB of data), it says that the snapshot creation failed and I get the following error message: btrfs: could not do orphan cleanup -116 After the failure: - The snapshot exists in `btrfs subvolume list'' - The
2009 Jun 18
8
Patches backported from mainline
All, Please review the patches backported to 1.4 from mainline. Sunil
2011 Jun 24
10
[PATCH 0/9] remove i_alloc_sem V2
i_alloc_sem has always been a bit of an odd "lock". It''s the only remaining rw_semaphore that can be released by a different thread than the one that locked it, and it''s use case in the core direct I/O code is more like a counter given that the writers already have external serialization. This series removes it in favour of a simpler counter scheme, thus getting rid
2008 Jun 24
1
[RFC][PATCH] btrfs orphan code
...es[0], di, &location); + + btrfs_free_path(path); + mutex_unlock(&root->fs_info->fs_mutex); + + inode = btrfs_iget_locked(dir->i_sb, location.objectid, root); + + if (!inode) { + inode = ERR_PTR(-EACCES); + goto out; + } + + /* should technically always be true */ + if (inode->i_state & I_NEW) { + BTRFS_I(inode)->root = root; + memcpy(&BTRFS_I(inode)->location, &location, sizeof(location)); + btrfs_read_locked_inode(inode); + unlock_new_inode(inode); + } +out: + return inode; } static int merge_extent_mapping(struct extent_map_tree *em_tree, @@ -2737,6...