|
@@ -172,7 +172,7 @@ static
|
|
int nfs_readdir_filler(nfs_readdir_descriptor_t *desc, struct page *page)
|
|
int nfs_readdir_filler(nfs_readdir_descriptor_t *desc, struct page *page)
|
|
{
|
|
{
|
|
struct file *file = desc->file;
|
|
struct file *file = desc->file;
|
|
- struct inode *inode = file->f_dentry->d_inode;
|
|
|
|
|
|
+ struct inode *inode = file->f_path.dentry->d_inode;
|
|
struct rpc_cred *cred = nfs_file_cred(file);
|
|
struct rpc_cred *cred = nfs_file_cred(file);
|
|
unsigned long timestamp;
|
|
unsigned long timestamp;
|
|
int error;
|
|
int error;
|
|
@@ -183,7 +183,7 @@ int nfs_readdir_filler(nfs_readdir_descriptor_t *desc, struct page *page)
|
|
|
|
|
|
again:
|
|
again:
|
|
timestamp = jiffies;
|
|
timestamp = jiffies;
|
|
- error = NFS_PROTO(inode)->readdir(file->f_dentry, cred, desc->entry->cookie, page,
|
|
|
|
|
|
+ error = NFS_PROTO(inode)->readdir(file->f_path.dentry, cred, desc->entry->cookie, page,
|
|
NFS_SERVER(inode)->dtsize, desc->plus);
|
|
NFS_SERVER(inode)->dtsize, desc->plus);
|
|
if (error < 0) {
|
|
if (error < 0) {
|
|
/* We requested READDIRPLUS, but the server doesn't grok it */
|
|
/* We requested READDIRPLUS, but the server doesn't grok it */
|
|
@@ -308,7 +308,7 @@ int find_dirent_index(nfs_readdir_descriptor_t *desc)
|
|
static inline
|
|
static inline
|
|
int find_dirent_page(nfs_readdir_descriptor_t *desc)
|
|
int find_dirent_page(nfs_readdir_descriptor_t *desc)
|
|
{
|
|
{
|
|
- struct inode *inode = desc->file->f_dentry->d_inode;
|
|
|
|
|
|
+ struct inode *inode = desc->file->f_path.dentry->d_inode;
|
|
struct page *page;
|
|
struct page *page;
|
|
int status;
|
|
int status;
|
|
|
|
|
|
@@ -464,7 +464,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc, void *dirent,
|
|
filldir_t filldir)
|
|
filldir_t filldir)
|
|
{
|
|
{
|
|
struct file *file = desc->file;
|
|
struct file *file = desc->file;
|
|
- struct inode *inode = file->f_dentry->d_inode;
|
|
|
|
|
|
+ struct inode *inode = file->f_path.dentry->d_inode;
|
|
struct rpc_cred *cred = nfs_file_cred(file);
|
|
struct rpc_cred *cred = nfs_file_cred(file);
|
|
struct page *page = NULL;
|
|
struct page *page = NULL;
|
|
int status;
|
|
int status;
|
|
@@ -477,7 +477,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc, void *dirent,
|
|
status = -ENOMEM;
|
|
status = -ENOMEM;
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
- desc->error = NFS_PROTO(inode)->readdir(file->f_dentry, cred, *desc->dir_cookie,
|
|
|
|
|
|
+ desc->error = NFS_PROTO(inode)->readdir(file->f_path.dentry, cred, *desc->dir_cookie,
|
|
page,
|
|
page,
|
|
NFS_SERVER(inode)->dtsize,
|
|
NFS_SERVER(inode)->dtsize,
|
|
desc->plus);
|
|
desc->plus);
|
|
@@ -516,7 +516,7 @@ int uncached_readdir(nfs_readdir_descriptor_t *desc, void *dirent,
|
|
*/
|
|
*/
|
|
static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
|
static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
|
{
|
|
{
|
|
- struct dentry *dentry = filp->f_dentry;
|
|
|
|
|
|
+ struct dentry *dentry = filp->f_path.dentry;
|
|
struct inode *inode = dentry->d_inode;
|
|
struct inode *inode = dentry->d_inode;
|
|
nfs_readdir_descriptor_t my_desc,
|
|
nfs_readdir_descriptor_t my_desc,
|
|
*desc = &my_desc;
|
|
*desc = &my_desc;
|
|
@@ -599,7 +599,7 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
|
|
|
|
|
loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
|
loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
|
{
|
|
{
|
|
- mutex_lock(&filp->f_dentry->d_inode->i_mutex);
|
|
|
|
|
|
+ mutex_lock(&filp->f_path.dentry->d_inode->i_mutex);
|
|
switch (origin) {
|
|
switch (origin) {
|
|
case 1:
|
|
case 1:
|
|
offset += filp->f_pos;
|
|
offset += filp->f_pos;
|
|
@@ -615,7 +615,7 @@ loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
|
|
((struct nfs_open_context *)filp->private_data)->dir_cookie = 0;
|
|
((struct nfs_open_context *)filp->private_data)->dir_cookie = 0;
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
- mutex_unlock(&filp->f_dentry->d_inode->i_mutex);
|
|
|
|
|
|
+ mutex_unlock(&filp->f_path.dentry->d_inode->i_mutex);
|
|
return offset;
|
|
return offset;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1102,7 +1102,7 @@ no_open:
|
|
|
|
|
|
static struct dentry *nfs_readdir_lookup(nfs_readdir_descriptor_t *desc)
|
|
static struct dentry *nfs_readdir_lookup(nfs_readdir_descriptor_t *desc)
|
|
{
|
|
{
|
|
- struct dentry *parent = desc->file->f_dentry;
|
|
|
|
|
|
+ struct dentry *parent = desc->file->f_path.dentry;
|
|
struct inode *dir = parent->d_inode;
|
|
struct inode *dir = parent->d_inode;
|
|
struct nfs_entry *entry = desc->entry;
|
|
struct nfs_entry *entry = desc->entry;
|
|
struct dentry *dentry, *alias;
|
|
struct dentry *dentry, *alias;
|