diff options
author | Balaji Rao <balajirrao@gmail.com> | 2008-07-20 16:31:56 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:06 -0400 |
commit | be6e8dc0ba84029997075a1ec77b4ddb863cbe15 (patch) | |
tree | ba65e49acd8bc55bfd2719a9d6ce65a81ee037c6 /fs/btrfs/compat.h | |
parent | 1a54ef8c11a0eaef59ff418089f109c27f8bd48d (diff) |
NFS support for btrfs - v3
Date: Mon, 21 Jul 2008 02:01:56 +0530
Here's an implementation of NFS support for btrfs. It relies on the
fixes which are going in to 2.6.28 for the NFS readdir/lookup deadlock.
This uses the btrfs_iget helper introduced previously.
[dwmw2: Tidy up a little, switch to d_obtain_alias() w/compat routine,
change fh_type, store parent's root object ID where needed,
fix some get_parent() and fs_to_dentry() bugs]
Signed-off-by: Balaji Rao <balajirrao@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/compat.h')
-rw-r--r-- | fs/btrfs/compat.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/btrfs/compat.h b/fs/btrfs/compat.h index b3349a66999d..d45fb37887bc 100644 --- a/fs/btrfs/compat.h +++ b/fs/btrfs/compat.h | |||
@@ -5,6 +5,23 @@ | |||
5 | #define trylock_page(page) (!TestSetPageLocked(page)) | 5 | #define trylock_page(page) (!TestSetPageLocked(page)) |
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27) | ||
9 | static inline struct dentry *d_obtain_alias(struct inode *inode) | ||
10 | { | ||
11 | struct dentry *d; | ||
12 | |||
13 | if (!inode) | ||
14 | return NULL; | ||
15 | if (IS_ERR(inode)) | ||
16 | return ERR_CAST(inode); | ||
17 | |||
18 | d = d_alloc_anon(inode); | ||
19 | if (!d) | ||
20 | iput(inode); | ||
21 | return d; | ||
22 | } | ||
23 | #endif | ||
24 | |||
8 | /* | 25 | /* |
9 | * Even if AppArmor isn't enabled, it still has different prototypes. | 26 | * Even if AppArmor isn't enabled, it still has different prototypes. |
10 | * Add more distro/version pairs here to declare which has AppArmor applied. | 27 | * Add more distro/version pairs here to declare which has AppArmor applied. |