- Timestamp:
- Dec 22, 2014, 12:07:50 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server/common/patches/openafs-d_splice_alias-reference.patch
r2655 r2659 1 From 1c576fdf9f05c6af7b5b029ba010a76bed48488eMon Sep 17 00:00:00 20011 From b1f23baecb2de72b44cda8bba27615c012a445f1 Mon Sep 17 00:00:00 2001 2 2 From: Marc Dionne <marc.dionne@your-file-system.com> 3 3 Date: Thu, 18 Dec 2014 08:43:22 -0500 … … 18 18 Change-Id: Id1786ac2227b4d8e0ae801fe59c15a0ecd975bed 19 19 --- 20 src/afs/LINUX/osi_vnodeops.c | 25 ++++++++++++++++++++++--- 21 1 file changed, 22 insertions(+), 3 deletions(-) 20 acinclude.m4 | 3 +++ 21 src/afs/LINUX/osi_vnodeops.c | 29 ++++++++++++++++++++++++++--- 22 2 files changed, 29 insertions(+), 3 deletions(-) 22 23 24 diff --git a/acinclude.m4 b/acinclude.m4 25 index 96adde0..19f7092 100644 26 --- a/acinclude.m4 27 +++ b/acinclude.m4 28 @@ -984,6 +984,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) 29 AC_CHECK_LINUX_FUNC([hlist_unhashed], 30 [#include <linux/list.h>], 31 [hlist_unhashed(0);]) 32 + AC_CHECK_LINUX_FUNC([ihold], 33 + [#include <linux/fs.h>], 34 + [ihold(NULL);]) 35 AC_CHECK_LINUX_FUNC([i_size_read], 36 [#include <linux/fs.h>], 37 [i_size_read(NULL);]) 23 38 diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c 24 index b2ab9d5.. 3723cf810064439 index b2ab9d5..cedfef6 100644 25 40 --- a/src/afs/LINUX/osi_vnodeops.c 26 41 +++ b/src/afs/LINUX/osi_vnodeops.c 27 @@ -1612,6 +1612,1 3@@ afs_linux_lookup(struct inode *dip, struct dentry *dp)42 @@ -1612,6 +1612,17 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) 28 43 ip->i_flags |= S_AUTOMOUNT; 29 44 #endif … … 34 49 + */ 35 50 + if (ip) 51 +#ifdef HAVE_LINUX_IHOLD 52 + ihold(ip); 53 +#else 36 54 + igrab(ip); 55 +#endif 37 56 + 38 57 newdp = d_splice_alias(ip, dp); 39 58 40 59 done: 41 @@ -1625,14 +163 2,26 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp)60 @@ -1625,14 +1636,26 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) 42 61 * d_splice_alias can return an error (EIO) if there is an existing 43 62 * connected directory alias for this dentry.
Note: See TracChangeset
for help on using the changeset viewer.