Displaying 5 results from an estimated 5 matches for "d_splice_alias".
2013 Dec 13
2
[PATCH] Btrfs: fix error check of btrfs_lookup_dentry()
...= btrfs_iget(dir->i_sb, &location, root, NULL);
@@ -4974,10 +4974,17 @@ static void btrfs_dentry_release(struct dentry *dentry)
static struct dentry *btrfs_lookup(struct inode *dir, struct dentry *dentry,
unsigned int flags)
{
- struct dentry *ret;
+ struct inode *inode;
- ret = d_splice_alias(btrfs_lookup_dentry(dir, dentry), dentry);
- return ret;
+ inode = btrfs_lookup_dentry(dir, dentry);
+ if (IS_ERR(inode)) {
+ if (PTR_ERR(inode) == -ENOENT)
+ inode = NULL;
+ else
+ return ERR_CAST(inode);
+ }
+
+ return d_splice_alias(inode, dentry);
}
unsigned char btrfs_filetype_table[...
2004 Dec 07
0
Zaptel HDLC (NetHDLC) errors on modprobe, Linux 2.6 kernel
...5>] __might_sleep+0x82/0x8c
[<02144643>] kmem_cache_alloc+0x1d/0x57
[<42ad7a2c>] zt_ctl_ioctl+0x112c/0x16b0 [zaptel]
[<022d6c00>] __cond_resched+0x14/0x39
[<428a315a>] ext3_get_inode_loc+0x4f/0x210 [ext3]
[<0217269c>] d_instantiate+0xa3/0xa9
[<021729ea>] d_splice_alias+0x145/0x14e
[<428a4ec9>] ext3_lookup+0x70/0x89 [ext3]
[<0216802f>] real_lookup+0x6e/0xd2
[<02171457>] dput+0x1b/0x287
[<0216901d>] link_path_walk+0xd3c/0xdf7
[<02163ffc>] cdev_get+0x33/0x68
[<02163f7a>] exact_lock+0x7/0x11
[<0221850d>] kobj_lookup+0x...
2011 Jun 29
0
[PATCH v3] Btrfs: fix error check of btrfs_lookup_dentry()
...*btrfs_lookup(struct inode *dir, struct dentry *dentry,
struct inode *inode;
inode = btrfs_lookup_dentry(dir, dentry);
- if (IS_ERR(inode))
- return ERR_CAST(inode);
+ if (IS_ERR(inode)) {
+ if (PTR_ERR(inode) == -ENOENT)
+ inode = NULL;
+ else
+ return ERR_CAST(inode);
+ }
return d_splice_alias(inode, dentry);
}
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index a3c4751..981084d 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -325,6 +325,7 @@ static noinline int create_subvol(struct btrfs_root *root,
struct btrfs_root *new_root;
struct dentry *parent = dget_parent(dentry)...
2012 Jul 31
2
Btrfs Intermittent ENOSPC Issues
I''ve been working on running down intermittent ENOSPC issues.
I can only seem to replicate ENOSPC errors when running zlib
compression. However, I have been seeing similar ENOSPC errors to a
lesser extent when playing with the LZ4HC patches.
I apologize for not following up on this sooner, but I had drifted
away from using zlib, and didn''t notice there was still an issue.
My
2012 Aug 01
7
[PATCH] Btrfs: barrier before waitqueue_active
We need an smb_mb() before waitqueue_active to avoid missing wakeups.
Before Mitch was hitting a deadlock between the ordered flushers and the
transaction commit because the ordered flushers were waiting for more refs
and were never woken up, so those smp_mb()''s are the most important.
Everything else I added for correctness sake and to avoid getting bitten by
this again somewhere else.