mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6
* git://git.linux-nfs.org/pub/linux/nfs-2.6: NFSv4: handle lack of clientaddr in option string NFSv4: debug print ntohl(status) in nfs client callback xdr code SUNRPC: Clean up the sillyrename code NFS: Introduce struct nfs_removeargs+nfs_removeres NFS: Use dentry->d_time to store the parent directory verifier. SUNRPC: move bkl locking and xdr proc invocation into a common helper NFSv4: Fix the nfsv4 readlink reply buffer alignment NFSv4: Fix the readdir reply buffer alignment NFSv4: More NFSv4 xdr cleanups NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open NFSv4: 'constify' lookup arguments. NFSv4: Don't fail nfs4_xdr_dec_open if decode_restorefh() failed NFSv4: Fix open state recovery NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS
This commit is contained in:
commit
3e1f900bff
17 changed files with 442 additions and 407 deletions
|
|
@ -407,8 +407,8 @@ extern void nfs_release_automount_timer(void);
|
|||
/*
|
||||
* linux/fs/nfs/unlink.c
|
||||
*/
|
||||
extern int nfs_async_unlink(struct dentry *);
|
||||
extern void nfs_complete_unlink(struct dentry *);
|
||||
extern int nfs_async_unlink(struct inode *dir, struct dentry *dentry);
|
||||
extern void nfs_complete_unlink(struct dentry *dentry, struct inode *);
|
||||
|
||||
/*
|
||||
* linux/fs/nfs/write.c
|
||||
|
|
|
|||
|
|
@ -277,6 +277,21 @@ struct nfs_writeres {
|
|||
const struct nfs_server *server;
|
||||
};
|
||||
|
||||
/*
|
||||
* Common arguments to the unlink call
|
||||
*/
|
||||
struct nfs_removeargs {
|
||||
const struct nfs_fh *fh;
|
||||
struct qstr name;
|
||||
const u32 * bitmask;
|
||||
};
|
||||
|
||||
struct nfs_removeres {
|
||||
const struct nfs_server *server;
|
||||
struct nfs4_change_info cinfo;
|
||||
struct nfs_fattr dir_attr;
|
||||
};
|
||||
|
||||
/*
|
||||
* Argument struct for decode_entry function
|
||||
*/
|
||||
|
|
@ -631,18 +646,6 @@ struct nfs4_readlink {
|
|||
struct page ** pages; /* zero-copy data */
|
||||
};
|
||||
|
||||
struct nfs4_remove_arg {
|
||||
const struct nfs_fh * fh;
|
||||
const struct qstr * name;
|
||||
const u32 * bitmask;
|
||||
};
|
||||
|
||||
struct nfs4_remove_res {
|
||||
const struct nfs_server * server;
|
||||
struct nfs4_change_info cinfo;
|
||||
struct nfs_fattr * dir_attr;
|
||||
};
|
||||
|
||||
struct nfs4_rename_arg {
|
||||
const struct nfs_fh * old_dir;
|
||||
const struct nfs_fh * new_dir;
|
||||
|
|
@ -788,9 +791,8 @@ struct nfs_rpc_ops {
|
|||
int (*create) (struct inode *, struct dentry *,
|
||||
struct iattr *, int, struct nameidata *);
|
||||
int (*remove) (struct inode *, struct qstr *);
|
||||
int (*unlink_setup) (struct rpc_message *,
|
||||
struct dentry *, struct qstr *);
|
||||
int (*unlink_done) (struct dentry *, struct rpc_task *);
|
||||
void (*unlink_setup) (struct rpc_message *, struct inode *dir);
|
||||
int (*unlink_done) (struct rpc_task *, struct inode *);
|
||||
int (*rename) (struct inode *, struct qstr *,
|
||||
struct inode *, struct qstr *);
|
||||
int (*link) (struct inode *, struct inode *, struct qstr *);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include <linux/uio.h>
|
||||
#include <asm/byteorder.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/smp_lock.h>
|
||||
|
||||
/*
|
||||
* Buffer adjustment
|
||||
|
|
@ -35,6 +36,21 @@ struct xdr_netobj {
|
|||
*/
|
||||
typedef int (*kxdrproc_t)(void *rqstp, __be32 *data, void *obj);
|
||||
|
||||
/*
|
||||
* We're still requiring the BKL in the xdr code until it's been
|
||||
* more carefully audited, at which point this wrapper will become
|
||||
* unnecessary.
|
||||
*/
|
||||
static inline int rpc_call_xdrproc(kxdrproc_t xdrproc, void *rqstp, __be32 *data, void *obj)
|
||||
{
|
||||
int ret;
|
||||
|
||||
lock_kernel();
|
||||
ret = xdrproc(rqstp, data, obj);
|
||||
unlock_kernel();
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Basic structure for transmission/reception of a client XDR message.
|
||||
* Features a header (for a linear buffer containing RPC headers
|
||||
|
|
|
|||
Loading…
Reference in a new issue