diff options
author | Balaji Rao <balajirrao@gmail.com> | 2008-07-21 02:01:56 +0530 |
---|---|---|
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) | |
download | op-kernel-dev-be6e8dc0ba84029997075a1ec77b4ddb863cbe15.zip op-kernel-dev-be6e8dc0ba84029997075a1ec77b4ddb863cbe15.tar.gz |
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 b3349a6..d45fb37 100644 --- a/fs/btrfs/compat.h +++ b/fs/btrfs/compat.h @@ -5,6 +5,23 @@ #define trylock_page(page) (!TestSetPageLocked(page)) #endif +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,27) +static inline struct dentry *d_obtain_alias(struct inode *inode) +{ + struct dentry *d; + + if (!inode) + return NULL; + if (IS_ERR(inode)) + return ERR_CAST(inode); + + d = d_alloc_anon(inode); + if (!d) + iput(inode); + return d; +} +#endif + /* * Even if AppArmor isn't enabled, it still has different prototypes. * Add more distro/version pairs here to declare which has AppArmor applied. |