|
@@ -769,9 +769,6 @@ static inline int ra_has_index(struct file_ra_state *ra, pgoff_t index)
|
|
|
index < ra->start + ra->size);
|
|
|
}
|
|
|
|
|
|
-#define FILE_MNT_WRITE_TAKEN 1
|
|
|
-#define FILE_MNT_WRITE_RELEASED 2
|
|
|
-
|
|
|
struct file {
|
|
|
union {
|
|
|
struct llist_node fu_llist;
|
|
@@ -809,9 +806,6 @@ struct file {
|
|
|
struct list_head f_tfile_llink;
|
|
|
#endif /* #ifdef CONFIG_EPOLL */
|
|
|
struct address_space *f_mapping;
|
|
|
-#ifdef CONFIG_DEBUG_WRITECOUNT
|
|
|
- unsigned long f_mnt_write_state;
|
|
|
-#endif
|
|
|
} __attribute__((aligned(4))); /* lest something weird decides that 2 is OK */
|
|
|
|
|
|
struct file_handle {
|
|
@@ -829,49 +823,6 @@ static inline struct file *get_file(struct file *f)
|
|
|
#define fput_atomic(x) atomic_long_add_unless(&(x)->f_count, -1, 1)
|
|
|
#define file_count(x) atomic_long_read(&(x)->f_count)
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_WRITECOUNT
|
|
|
-static inline void file_take_write(struct file *f)
|
|
|
-{
|
|
|
- WARN_ON(f->f_mnt_write_state != 0);
|
|
|
- f->f_mnt_write_state = FILE_MNT_WRITE_TAKEN;
|
|
|
-}
|
|
|
-static inline void file_release_write(struct file *f)
|
|
|
-{
|
|
|
- f->f_mnt_write_state |= FILE_MNT_WRITE_RELEASED;
|
|
|
-}
|
|
|
-static inline void file_reset_write(struct file *f)
|
|
|
-{
|
|
|
- f->f_mnt_write_state = 0;
|
|
|
-}
|
|
|
-static inline void file_check_state(struct file *f)
|
|
|
-{
|
|
|
- /*
|
|
|
- * At this point, either both or neither of these bits
|
|
|
- * should be set.
|
|
|
- */
|
|
|
- WARN_ON(f->f_mnt_write_state == FILE_MNT_WRITE_TAKEN);
|
|
|
- WARN_ON(f->f_mnt_write_state == FILE_MNT_WRITE_RELEASED);
|
|
|
-}
|
|
|
-static inline int file_check_writeable(struct file *f)
|
|
|
-{
|
|
|
- if (f->f_mnt_write_state == FILE_MNT_WRITE_TAKEN)
|
|
|
- return 0;
|
|
|
- printk(KERN_WARNING "writeable file with no "
|
|
|
- "mnt_want_write()\n");
|
|
|
- WARN_ON(1);
|
|
|
- return -EINVAL;
|
|
|
-}
|
|
|
-#else /* !CONFIG_DEBUG_WRITECOUNT */
|
|
|
-static inline void file_take_write(struct file *filp) {}
|
|
|
-static inline void file_release_write(struct file *filp) {}
|
|
|
-static inline void file_reset_write(struct file *filp) {}
|
|
|
-static inline void file_check_state(struct file *filp) {}
|
|
|
-static inline int file_check_writeable(struct file *filp)
|
|
|
-{
|
|
|
- return 0;
|
|
|
-}
|
|
|
-#endif /* CONFIG_DEBUG_WRITECOUNT */
|
|
|
-
|
|
|
#define MAX_NON_LFS ((1UL<<31) - 1)
|
|
|
|
|
|
/* Page cache limit. The filesystems should put that into their s_maxbytes
|