Displaying 11 results from an estimated 11 matches for "is_bad_inode".
2011 Sep 05
1
Error on creating snapshots (btrfs: could not do orphan cleanup -116)
...m, and while I''m too
unfamiliar with the code of btrfs to diagnose it,
I''d like to share some of the observations as they appear to be of importance:
The failure happens when btrfs_orphan_cleanup calls btrfs_iget to get
the inode and it returns
ERR_PTR(-ESTALE). This happens when is_bad_inode(inode) is true.
However, after the call
to btrfs_iget there is an explicit code path for the case when
is_bad_inode(inode) is true (line 2393).
This code path would *never ever* get executed unless something
happening in another thread can
affect the return value between the two calls. I believe th...
2001 Aug 13
0
(no subject)
...n a patch to update ext3 with the same changes that
went into ext2 2.2.17 and 2.2.18, which include your NFS changes.
> Support the read_inode super_operation and
> 1/ recognise if the inode number refers to a currently active inode
> or not
> 2a/ if not, must return an is_bad_inode() inode.
The (2a - return bad_inode for deleted inodes) step unfortunately breaks
ext3 recovery. It is somewhat difficult to fix, because one of the ext3
recovery steps involves cleaning up "orphan" inodes - inodes which were
previously unlinked but held open by a process, so not delete...
2001 Aug 13
0
(no subject)
...;...
I haven't looked at ext3 or played with it but in order for a
filesystem to work with knfsd (in it's current form) it must:
Support the read_inode super_operation and
1/ recognise if the inode number refers to a currently active inode
or not
2a/ if not, must return an is_bad_inode() inode.
2b/ if so must provide a completely filled-in inode (nfs doesn't for example.
ext2 does, ext3 almost certainly does).
3/ The "delete_inode" super_operation must cope gracefully with
being given an is_bad_inode.
4/ Should keep a "generati...
2011 Sep 21
3
[PATCH] Btrfs: fix orphan cleanup regression
...inode, means we actually succeeded in
- * removing the inode, but not the orphan record, which means
- * we need to manually delete the orphan since iput will just
- * do a destroy_inode
+ * Inode is already gone but the orphan item is still there,
+ * kill the orphan item.
*/
- if (is_bad_inode(inode)) {
- trans = btrfs_start_transaction(root, 0);
+ if (ret == -ESTALE) {
+ trans = btrfs_start_transaction(root, 1);
if (IS_ERR(trans)) {
ret = PTR_ERR(trans);
goto out;
}
- btrfs_orphan_del(trans, inode);
+ ret = btrfs_del_orphan_item(trans, root,
+ found_k...
2009 Feb 20
2
[PATCH 1/1] OCFS2: add error check for ocfs2_read_locked_inode() call
add error check for ocfs2_read_locked_inode() call.
Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com>
--
Index: inode.c
===================================================================
--- inode.c (revision 149)
+++ inode.c (working copy)
@@ -118,6 +118,7 @@ struct inode *ocfs2_iget(struct ocfs2_su
struct inode *inode = NULL;
struct super_block *sb = osb->sb;
struct
2002 Feb 14
1
[BUG] [PATCH]: handling bad inodes in 2.4.x kernels
...ikely in fs/namei.c, open_namei() - at least i fixed my
machine here with this:
--- linux-2.4.17-orig/fs/namei.c Wed Oct 17 23:46:29 2001
+++ linux-2.4.17-uml/fs/namei.c Fri Feb 8 02:53:36 2002
@@ -1052,6 +1052,11 @@
error = -ENOENT;
if (!dentry->d_inode)
goto exit_dput;
+
+ error = -EIO;
+ if (is_bad_inode(dentry->d_inode))
+ goto exit_dput;
+
if (dentry->d_inode->i_op && dentry->d_inode->i_op->follow_link)
goto do_link;
an open() does not make any sense on a bad inode so i see no reason for
not breaking the branch at this point.
any comments? please let me know if you'...
2006 Dec 29
3
[git patches] ocfs2 fixes
Hi Linus,
Here are some 2.6.20 fixes for ocfs2. The patch by Zhen Wei isn't
really a fix, but a very small amount of support for a feature which is
mostly implemented in ocfs2-tools. Considering it's just a single attribute
export via configfs, I'd say it's pretty safe to merge.
Please pull from 'upstream-linus' branch of
2002 Oct 07
9
FS corruption; HTREE-related?
Over the last two days we've been seeing a fair bit of this:
----
# ls -laR > /dev/null
...
ls: ./server2/b/user/bxyz/392.: Input/output error
----
This is with the latest htree patches applied to 2.4.19, and latest
e2fsprogs-test, on a dual AMD system, with 5x73GB SCSI drives on a
MegaRAID controller. We're using the gcc 2.96 that comes with RH7.3.
esfsck shows "Inodes that
2012 Sep 17
13
[PATCH 1/2 v3] Btrfs: use flag EXTENT_DEFRAG for snapshot-aware defrag
We''re going to use this flag EXTENT_DEFRAG to indicate which range
belongs to defragment so that we can implement snapshow-aware defrag:
We set the EXTENT_DEFRAG flag when dirtying the extents that need
defragmented, so later on writeback thread can differentiate between
normal writeback and writeback started by defragmentation.
This patch is used for the latter one.
Originally patch
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...node, u64 start, u64 end)
}
trans = btrfs_join_transaction(root, 1);
+ BUG_ON(IS_ERR(trans));
if (!ordered_extent)
ordered_extent = btrfs_lookup_ordered_extent(inode, start);
@@ -1981,7 +1990,9 @@ void btrfs_orphan_cleanup(struct btrfs_root *root)
* do a destroy_inode
*/
if (is_bad_inode(inode)) {
+ /* 1 item for the orphan entry */
trans = btrfs_start_transaction(root, 1);
+ BUG_ON(IS_ERR(trans));
btrfs_orphan_del(trans, inode);
btrfs_end_transaction(trans, root);
iput(inode);
@@ -2337,7 +2348,16 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dent...
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