diff options
author | Dmitry Monakhov <dmonakhov@openvz.org> | 2009-12-14 07:21:14 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2009-12-23 07:33:55 -0500 |
commit | a9e7f4472075fb6937c545af3f6329e9946bbe66 (patch) | |
tree | 399e294982e1c9691332eca72942910a7f74e9f8 /fs/ext4/ext4.h | |
parent | fd8fbfc1709822bd94247c5b2ab15a5f5041e103 (diff) |
ext4: Convert to generic reserved quota's space management.
This patch also fixes write vs chown race condition.
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index ab31e65d46d0..56f9271ee8cc 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -704,6 +704,10 @@ struct ext4_inode_info { | |||
704 | __u16 i_extra_isize; | 704 | __u16 i_extra_isize; |
705 | 705 | ||
706 | spinlock_t i_block_reservation_lock; | 706 | spinlock_t i_block_reservation_lock; |
707 | #ifdef CONFIG_QUOTA | ||
708 | /* quota space reservation, managed internally by quota code */ | ||
709 | qsize_t i_reserved_quota; | ||
710 | #endif | ||
707 | 711 | ||
708 | /* completed async DIOs that might need unwritten extents handling */ | 712 | /* completed async DIOs that might need unwritten extents handling */ |
709 | struct list_head i_aio_dio_complete_list; | 713 | struct list_head i_aio_dio_complete_list; |
@@ -1435,7 +1439,7 @@ extern int ext4_chunk_trans_blocks(struct inode *, int nrblocks); | |||
1435 | extern int ext4_block_truncate_page(handle_t *handle, | 1439 | extern int ext4_block_truncate_page(handle_t *handle, |
1436 | struct address_space *mapping, loff_t from); | 1440 | struct address_space *mapping, loff_t from); |
1437 | extern int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf); | 1441 | extern int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf); |
1438 | extern qsize_t ext4_get_reserved_space(struct inode *inode); | 1442 | extern qsize_t *ext4_get_reserved_space(struct inode *inode); |
1439 | extern int flush_aio_dio_completed_IO(struct inode *inode); | 1443 | extern int flush_aio_dio_completed_IO(struct inode *inode); |
1440 | /* ioctl.c */ | 1444 | /* ioctl.c */ |
1441 | extern long ext4_ioctl(struct file *, unsigned int, unsigned long); | 1445 | extern long ext4_ioctl(struct file *, unsigned int, unsigned long); |