Btrfs: don't update atime on RO subvolumes
Before the update_time inode operation was indroduced, it was not possible to prevent updates of atime on RO subvolumes. VFS was only able to check for RO on the mount, but did not know anything about btrfs subvolumes. btrfs_update_time does now check if the root is RO and skip updating of times. Signed-off-by: Alexander Block <ablock84@googlemail.com>
This commit is contained in:

committed by
Chris Mason

parent
063849eafd
commit
2bc5565286
@@ -4518,6 +4518,11 @@ int btrfs_dirty_inode(struct inode *inode)
|
||||
static int btrfs_update_time(struct inode *inode, struct timespec *now,
|
||||
int flags)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(inode)->root;
|
||||
|
||||
if (btrfs_root_readonly(root))
|
||||
return -EROFS;
|
||||
|
||||
if (flags & S_VERSION)
|
||||
inode_inc_iversion(inode);
|
||||
if (flags & S_CTIME)
|
||||
|
Reference in New Issue
Block a user