]> Pileus Git - ~andy/linux/blobdiff - fs/cifs/cifsglob.h
Merge remote-tracking branches 'asoc/fix/blackfin', 'asoc/fix/da9055', 'asoc/fix...
[~andy/linux] / fs / cifs / cifsglob.h
index f918a998a08758caac54bf8205cd7da7705c1efc..86dc28c7aa5c7b9a0f4652e3d5a09957d8c6883e 100644 (file)
@@ -323,7 +323,8 @@ struct smb_version_operations {
        /* async read from the server */
        int (*async_readv)(struct cifs_readdata *);
        /* async write to the server */
-       int (*async_writev)(struct cifs_writedata *);
+       int (*async_writev)(struct cifs_writedata *,
+                           void (*release)(struct kref *));
        /* sync read from the server */
        int (*sync_read)(const unsigned int, struct cifsFileInfo *,
                         struct cifs_io_parms *, unsigned int *, char **,
@@ -370,8 +371,12 @@ struct smb_version_operations {
        void (*new_lease_key)(struct cifs_fid *);
        int (*generate_signingkey)(struct cifs_ses *);
        int (*calc_signature)(struct smb_rqst *, struct TCP_Server_Info *);
-       int (*query_mf_symlink)(const unsigned char *, char *, unsigned int *,
-                               struct cifs_sb_info *, unsigned int);
+       int (*query_mf_symlink)(unsigned int, struct cifs_tcon *,
+                               struct cifs_sb_info *, const unsigned char *,
+                               char *, unsigned int *);
+       int (*create_mf_symlink)(unsigned int, struct cifs_tcon *,
+                                struct cifs_sb_info *, const unsigned char *,
+                                char *, unsigned int *);
        /* if we can do cache read operations */
        bool (*is_read_op)(__u32);
        /* set oplock level for the inode */
@@ -385,6 +390,16 @@ struct smb_version_operations {
                        struct cifsFileInfo *target_file, u64 src_off, u64 len,
                        u64 dest_off);
        int (*validate_negotiate)(const unsigned int, struct cifs_tcon *);
+       ssize_t (*query_all_EAs)(const unsigned int, struct cifs_tcon *,
+                       const unsigned char *, const unsigned char *, char *,
+                       size_t, const struct nls_table *, int);
+       int (*set_EA)(const unsigned int, struct cifs_tcon *, const char *,
+                       const char *, const void *, const __u16,
+                       const struct nls_table *, int);
+       struct cifs_ntsd * (*get_acl)(struct cifs_sb_info *, struct inode *,
+                       const char *, u32 *);
+       int (*set_acl)(struct cifs_ntsd *, __u32, struct inode *, const char *,
+                       int);
 };
 
 struct smb_version_values {
@@ -1054,7 +1069,7 @@ struct cifs_writedata {
        unsigned int                    pagesz;
        unsigned int                    tailsz;
        unsigned int                    nr_pages;
-       struct page                     *pages[1];
+       struct page                     *pages[];
 };
 
 /*