X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fsunrpc%2Frpc_pipe.c;h=554f224c0445b11e8e38377226934ca7e9c8b0e5;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=8a8c4eb6c78a7944744c1e5471e7ba9e425ee04a;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 8a8c4eb6c..554f224c0 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c @@ -276,12 +276,7 @@ rpc_pipe_ioctl(struct inode *ino, struct file *filp, } } -struct inode_operations rpc_pipe_iops = { - .lookup = simple_lookup, -}; - - -struct file_operations rpc_pipe_fops = { +static struct file_operations rpc_pipe_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = rpc_pipe_read, @@ -433,6 +428,7 @@ rpc_lookup_parent(char *path, struct nameidata *nd) nd->dentry = dget(rpc_mount->mnt_root); nd->last_type = LAST_ROOT; nd->flags = LOOKUP_PARENT; + nd->depth = 0; if (path_walk(path, nd)) { printk(KERN_WARNING "%s: %s failed to find path %s\n", @@ -522,16 +518,12 @@ rpc_populate(struct dentry *parent, { struct inode *inode, *dir = parent->d_inode; void *private = RPC_I(dir)->private; - struct qstr name; struct dentry *dentry; int mode, i; down(&dir->i_sem); for (i = start; i < eof; i++) { - name.name = files[i].name; - name.len = strlen(name.name); - name.hash = full_name_hash(name.name, name.len); - dentry = d_alloc(parent, &name); + dentry = d_alloc_name(parent, files[i].name); if (!dentry) goto out_bad; mode = files[i].mode; @@ -598,7 +590,7 @@ __rpc_rmdir(struct inode *dir, struct dentry *dentry) return 0; } -struct dentry * +static struct dentry * rpc_lookup_negative(char *path, struct nameidata *nd) { struct dentry *dentry; @@ -772,6 +764,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) sb->s_blocksize_bits = PAGE_CACHE_SHIFT; sb->s_magic = RPCAUTH_GSSMAGIC; sb->s_op = &s_ops; + sb->s_time_gran = 1; inode = rpc_get_inode(sb, S_IFDIR | 0755); if (!inode)