|
|
| version 1.51, 2007/03/30 15:42:31 | version 1.52, 2008/01/07 14:57:48 |
|---|---|
| Line 34 | Line 34 |
| #include <linux/mm.h> | #include <linux/mm.h> |
| #include <linux/proc_fs.h> | #include <linux/proc_fs.h> |
| #include <linux/module.h> | #include <linux/module.h> |
| #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) | |
| #include <linux/mount.h> | #include <linux/mount.h> |
| #include <linux/namei.h> | #include <linux/namei.h> |
| #endif | |
| #include <asm/uaccess.h> | #include <asm/uaccess.h> |
| #include <linux/fs.h> | #include <linux/fs.h> |
| #include <linux/file.h> | #include <linux/file.h> |
| Line 1520 dm_getall_disp( | Line 1518 dm_getall_disp( |
| return(error); | return(error); |
| } | } |
| #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) | |
| #define d_alloc_anon dmapi_alloc_anon | |
| static struct dentry * | |
| d_alloc_anon(struct inode *inode) | |
| { | |
| struct dentry *dentry; | |
| spin_lock(&dcache_lock); | |
| list_for_each_entry(dentry, &inode->i_dentry, d_alias) { | |
| if (!(dentry->d_flags & DCACHE_NFSD_DISCONNECTED)) | |
| goto found; | |
| } | |
| spin_unlock(&dcache_lock); | |
| dentry = d_alloc_root(inode); | |
| if (likely(dentry != NULL)) | |
| dentry->d_flags |= DCACHE_NFSD_DISCONNECTED; | |
| return dentry; | |
| found: | |
| dget_locked(dentry); | |
| dentry->d_vfs_flags |= DCACHE_REFERENCED; | |
| spin_unlock(&dcache_lock); | |
| iput(inode); | |
| return dentry; | |
| } | |
| #endif | |
| int | int |
| dm_open_by_handle_rvp( | dm_open_by_handle_rvp( |
| unsigned int fd, | unsigned int fd, |