Josef Bacik
c3b2da3148
fs: introduce inode operation ->update_time
...
Btrfs has to make sure we have space to allocate new blocks in order to modify
the inode, so updating time can fail. We've gotten around this by having our
own file_update_time but this is kind of a pain, and Christoph has indicated he
would like to make xfs do something different with atime updates. So introduce
->update_time, where we will deal with i_version an a/m/c time updates and
indicate which changes need to be made. The normal version just does what it
has always done, updates the time and marks the inode dirty, and then
filesystems can choose to do something different.
I've gone through all of the users of file_update_time and made them check for
errors with the exception of the fault code since it's complicated and I wasn't
quite sure what to do there, also Jan is going to be pushing the file time
updates into page_mkwrite for those who have it so that should satisfy btrfs and
make it not a big deal to check the file_update_time() return code in the
generic fault path. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
2012-06-01 12:07:25 -04:00
..
Kconfig
quota: Make QUOTACTL config be selected by its users
2010-10-05 12:16:37 +02:00
kmem.c
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
kmem.h
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
Makefile
xfs: move xfs_do_force_shutdown() and kill xfs_rw.c
2012-05-14 16:20:59 -05:00
mrlock.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
time.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
uuid.c
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
uuid.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs.h
xfs: don't expect xfs headers to be in subdirectories
2011-08-12 13:57:55 -05:00
xfs_acl.c
xfs: fix acl count validation in xfs_acl_from_disk()
2011-12-16 15:17:42 -06:00
xfs_acl.h
xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set
2011-08-01 02:35:04 -04:00
xfs_ag.h
xfs: move busy extent handling to it's own file
2012-05-14 16:20:55 -05:00
xfs_alloc.c
xfs: make xfs_extent_busy_trim not static
2012-05-14 16:21:04 -05:00
xfs_alloc.h
xfs: move busy extent handling to it's own file
2012-05-14 16:20:55 -05:00
xfs_alloc_btree.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_alloc_btree.h
xfs_aops.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_aops.h
xfs: log file size updates at I/O completion time
2012-03-13 16:30:49 -05:00
xfs_attr.c
xfs: move xfs_get_extsz_hint() and kill xfs_rw.h
2012-05-14 16:20:58 -05:00
xfs_attr.h
xfs_attr_leaf.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_attr_leaf.h
xfs_attr_sf.h
xfs_bit.c
xfs_bit.h
xfs_bmap.c
xfs: fix delalloc quota accounting on failure
2012-05-21 10:45:43 -05:00
xfs_bmap.h
xfs: move xfs_fsb_to_db to xfs_bmap.h
2012-05-14 16:20:57 -05:00
xfs_bmap_btree.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_bmap_btree.h
xfs_btree.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_btree.h
xfs: Remove the macro XFS_BUF_PTR
2011-07-25 15:03:13 -05:00
xfs_buf.c
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_buf.h
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_buf_item.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_buf_item.h
xfs: use struct list_head for the buf cancel table
2010-12-16 16:05:22 -06:00
xfs_da_btree.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_da_btree.h
xfs: remove the dead XFS_DABUF_DEBUG code
2011-07-13 13:43:50 +02:00
xfs_dfrag.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_dfrag.h
xfs_dinode.h
xfs: Remove the macro XFS_BUF_PTR
2011-07-25 15:03:13 -05:00
xfs_dir2.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_dir2.h
xfs: reshuffle dir2 headers
2011-07-13 13:43:48 +02:00
xfs_dir2_block.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_dir2_data.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_dir2_format.h
xfs: cleanup struct xfs_dir2_free
2011-07-13 13:43:48 +02:00
xfs_dir2_leaf.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_dir2_node.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_dir2_priv.h
xfs: reshuffle dir2 headers
2011-07-13 13:43:48 +02:00
xfs_dir2_sf.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_discard.c
xfs: clean up busy extent naming
2012-05-14 16:20:56 -05:00
xfs_discard.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_dquot.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_dquot.h
xfs: on-stack delayed write buffer lists
2012-05-14 16:20:31 -05:00
xfs_dquot_item.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_dquot_item.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_error.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_error.h
xfs: kill support/debug.[ch]
2011-03-07 10:09:35 +11:00
xfs_export.c
->encode_fh() API change
2012-05-29 23:28:33 -04:00
xfs_export.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_extent_busy.c
xfs: make xfs_extent_busy_trim not static
2012-05-14 16:21:04 -05:00
xfs_extent_busy.h
xfs: make xfs_extent_busy_trim not static
2012-05-14 16:21:04 -05:00
xfs_extfree_item.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_extfree_item.h
xfs: Pull EFI/EFD handling out from under the AIL lock
2010-12-20 11:59:49 +11:00
xfs_file.c
fs: introduce inode operation ->update_time
2012-06-01 12:07:25 -04:00
xfs_filestream.c
xfs: rename allocation range fields in struct xfs_bmalloca
2011-10-11 21:15:06 -05:00
xfs_filestream.h
xfs: clean up filestreams helpers
2010-07-26 13:16:51 -05:00
xfs_fs.h
xfs: consolidate & clarify mount sanity checks
2011-07-08 11:32:51 -05:00
xfs_fs_subr.c
xfs: remove the i_size field in struct xfs_inode
2012-01-17 15:08:53 -06:00
xfs_fsops.c
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_fsops.h
xfs: ensure log covering transactions are synchronous
2011-01-11 20:28:17 -06:00
xfs_globals.c
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_ialloc.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_ialloc.h
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_ialloc_btree.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_ialloc_btree.h
xfs_iget.c
xfs: fix memory reclaim deadlock on agi buffer
2012-05-21 10:45:44 -05:00
xfs_inode.c
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_inode.h
xfs: move xfs_get_extsz_hint() and kill xfs_rw.h
2012-05-14 16:20:58 -05:00
xfs_inode_item.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_inode_item.h
xfs: pass shutdown method into xfs_trans_ail_delete_bulk
2012-05-14 16:20:33 -05:00
xfs_inum.h
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_ioctl.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_ioctl.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_ioctl32.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_ioctl32.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_iomap.c
xfs: fix delalloc quota accounting on failure
2012-05-21 10:45:43 -05:00
xfs_iomap.h
xfs: kill xfs_iomap
2010-12-16 16:05:51 -06:00
xfs_iops.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_iops.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_itable.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_itable.h
xfs: remove block number from inode lookup code
2010-06-24 11:35:17 +10:00
xfs_linux.h
xfs: revert to using a kthread for AIL pushing
2011-10-11 11:02:49 -05:00
xfs_log.c
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
xfs_log.h
xfs: allow assigning the tail lsn with the AIL lock held
2012-05-14 16:20:26 -05:00
xfs_log_cil.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_log_priv.h
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
xfs_log_recover.c
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_log_recover.h
xfs: Clean up XFS_BLI_* flag namespace
2010-05-24 10:33:39 -05:00
xfs_message.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_message.h
treewide: use __printf not __attribute__((format(printf,...)))
2011-10-31 17:30:54 -07:00
xfs_mount.c
xfs: flush outstanding buffers on log mount failure
2012-05-14 16:21:02 -05:00
xfs_mount.h
xfs: Do background CIL flushes via a workqueue
2012-05-14 16:20:34 -05:00
xfs_mru_cache.c
xfs: convert to alloc_workqueue()
2011-02-01 11:42:43 +01:00
xfs_mru_cache.h
xfs_qm.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_qm.h
xfs: remove the global xfs_Gqm structure
2012-03-14 12:06:32 -05:00
xfs_qm_bhv.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_qm_syscalls.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_quota.h
Define new macro XFS_ALL_QUOTA_ACTIVE and simply some usage
2012-02-03 11:32:20 -06:00
xfs_quota_priv.h
xfs: use per-filesystem radix trees for dquot lookup
2012-03-14 11:09:06 -05:00
xfs_quotaops.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_rename.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_rtalloc.c
xfs: move xfs_get_extsz_hint() and kill xfs_rw.h
2012-05-14 16:20:58 -05:00
xfs_rtalloc.h
xfs: Remove the macro XFS_BUF_PTR
2011-07-25 15:03:13 -05:00
xfs_sb.h
xfs: kill the unused XFS_BB_FSB_OFFSET macro
2012-02-02 17:08:04 -06:00
xfs_stats.c
xfs: use common code for quota statistics
2012-03-14 11:09:06 -05:00
xfs_stats.h
xfs: use common code for quota statistics
2012-03-14 11:09:06 -05:00
xfs_super.c
avoid iput() from flusher thread
2012-05-28 09:54:45 -07:00
xfs_super.h
xfs: remove the global xfs_Gqm structure
2012-03-14 12:06:32 -05:00
xfs_sync.c
xfs: protect xfs_sync_worker with s_umount semaphore
2012-05-15 14:35:43 -05:00
xfs_sync.h
xfs: log timestamp updates
2012-03-13 17:01:15 -05:00
xfs_sysctl.c
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_sysctl.h
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00
xfs_trace.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_trace.h
xfs: add trace points for log forces
2012-05-21 10:45:44 -05:00
xfs_trans.c
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
xfs_trans.h
xfs: switch to proper __bitwise type for KM_... flags
2012-05-29 23:28:32 -04:00
xfs_trans_ail.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_trans_buf.c
xfs: make XBF_MAPPED the default behaviour
2012-05-14 16:21:03 -05:00
xfs_trans_dquot.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_trans_extfree.c
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_trans_inode.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_trans_priv.h
xfs: pass shutdown method into xfs_trans_ail_delete_bulk
2012-05-14 16:20:33 -05:00
xfs_trans_space.h
xfs_types.h
xfs: move xfsagino_t to xfs_types.h
2012-05-14 16:20:54 -05:00
xfs_utils.c
xfs: clean up xfs_bit.h includes
2012-05-14 16:21:00 -05:00
xfs_utils.h
xfs: propagate umode_t
2012-01-03 22:55:00 -05:00
xfs_vnode.h
xfs: remove remaining scraps of struct xfs_iomap
2012-03-15 13:40:16 -05:00
xfs_vnodeops.c
xfs: fix delalloc quota accounting on failure
2012-05-21 10:45:43 -05:00
xfs_vnodeops.h
xfs: remove remaining scraps of struct xfs_iomap
2012-03-15 13:40:16 -05:00
xfs_xattr.c
xfs: remove subdirectories
2011-08-12 16:21:35 -05:00