block: treat REQ_FUA and REQ_PREFLUSH as synchronous
[sfrench/cifs-2.6.git] / include / linux / fs.h
index c145219286a8bfff3ab7f3f6171fc519aed111a5..ccedccb28ec8bbe90ea212a348b2a14668a224b3 100644 (file)
@@ -196,12 +196,12 @@ typedef int (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
 #define READ                   REQ_OP_READ
 #define WRITE                  REQ_OP_WRITE
 
-#define READ_SYNC              REQ_SYNC
+#define READ_SYNC              0
 #define WRITE_SYNC             (REQ_SYNC | REQ_NOIDLE)
 #define WRITE_ODIRECT          REQ_SYNC
-#define WRITE_FLUSH            (REQ_SYNC | REQ_NOIDLE | REQ_PREFLUSH)
-#define WRITE_FUA              (REQ_SYNC | REQ_NOIDLE | REQ_FUA)
-#define WRITE_FLUSH_FUA                (REQ_SYNC | REQ_NOIDLE | REQ_PREFLUSH | REQ_FUA)
+#define WRITE_FLUSH            (REQ_NOIDLE | REQ_PREFLUSH)
+#define WRITE_FUA              (REQ_NOIDLE | REQ_FUA)
+#define WRITE_FLUSH_FUA                (REQ_NOIDLE | REQ_PREFLUSH | REQ_FUA)
 
 /*
  * Attribute flags.  These should be or-ed together to figure out what
@@ -440,8 +440,9 @@ struct address_space {
        unsigned long           nrexceptional;
        pgoff_t                 writeback_index;/* writeback starts here */
        const struct address_space_operations *a_ops;   /* methods */
-       unsigned long           flags;          /* error bits/gfp mask */
+       unsigned long           flags;          /* error bits */
        spinlock_t              private_lock;   /* for use by the address_space */
+       gfp_t                   gfp_mask;       /* implicit gfp mask for allocations */
        struct list_head        private_list;   /* ditto */
        void                    *private_data;  /* ditto */
 } __attribute__((aligned(sizeof(long))));
@@ -2498,11 +2499,6 @@ extern void make_bad_inode(struct inode *);
 extern bool is_bad_inode(struct inode *);
 
 #ifdef CONFIG_BLOCK
-static inline bool op_is_write(unsigned int op)
-{
-       return op == REQ_OP_READ ? false : true;
-}
-
 /*
  * return data direction, READ or WRITE
  */
@@ -2933,6 +2929,7 @@ extern int vfs_stat(const char __user *, struct kstat *);
 extern int vfs_lstat(const char __user *, struct kstat *);
 extern int vfs_fstat(unsigned int, struct kstat *);
 extern int vfs_fstatat(int , const char __user *, struct kstat *, int);
+extern const char *vfs_get_link(struct dentry *, struct delayed_call *);
 
 extern int __generic_block_fiemap(struct inode *inode,
                                  struct fiemap_extent_info *fieinfo,