diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-17 19:12:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-17 19:12:34 -0500 |
commit | 038911597e17017cee55fe93d521164a27056866 (patch) | |
tree | 8f279a91de8237ce370a14d745940cccfd78ea07 /fs/ext4/super.c | |
parent | 66dc830d14a222c9214a8557e9feb1e4a67a3857 (diff) | |
parent | a26f49926da938f47561f386be56a83dd37a496d (diff) |
Merge branch 'lazytime' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull lazytime mount option support from Al Viro:
"Lazytime stuff from tytso"
* 'lazytime' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
ext4: add optimization for the lazytime mount option
vfs: add find_inode_nowait() function
vfs: add support for a lazytime mount option
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 10e8c6b7ca08..1adac6868e6f 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -1126,6 +1126,7 @@ enum { | |||
1126 | Opt_noquota, Opt_barrier, Opt_nobarrier, Opt_err, | 1126 | Opt_noquota, Opt_barrier, Opt_nobarrier, Opt_err, |
1127 | Opt_usrquota, Opt_grpquota, Opt_i_version, Opt_dax, | 1127 | Opt_usrquota, Opt_grpquota, Opt_i_version, Opt_dax, |
1128 | Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_mblk_io_submit, | 1128 | Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_mblk_io_submit, |
1129 | Opt_lazytime, Opt_nolazytime, | ||
1129 | Opt_nomblk_io_submit, Opt_block_validity, Opt_noblock_validity, | 1130 | Opt_nomblk_io_submit, Opt_block_validity, Opt_noblock_validity, |
1130 | Opt_inode_readahead_blks, Opt_journal_ioprio, | 1131 | Opt_inode_readahead_blks, Opt_journal_ioprio, |
1131 | Opt_dioread_nolock, Opt_dioread_lock, | 1132 | Opt_dioread_nolock, Opt_dioread_lock, |
@@ -1190,6 +1191,8 @@ static const match_table_t tokens = { | |||
1190 | {Opt_dax, "dax"}, | 1191 | {Opt_dax, "dax"}, |
1191 | {Opt_stripe, "stripe=%u"}, | 1192 | {Opt_stripe, "stripe=%u"}, |
1192 | {Opt_delalloc, "delalloc"}, | 1193 | {Opt_delalloc, "delalloc"}, |
1194 | {Opt_lazytime, "lazytime"}, | ||
1195 | {Opt_nolazytime, "nolazytime"}, | ||
1193 | {Opt_nodelalloc, "nodelalloc"}, | 1196 | {Opt_nodelalloc, "nodelalloc"}, |
1194 | {Opt_removed, "mblk_io_submit"}, | 1197 | {Opt_removed, "mblk_io_submit"}, |
1195 | {Opt_removed, "nomblk_io_submit"}, | 1198 | {Opt_removed, "nomblk_io_submit"}, |
@@ -1448,6 +1451,12 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token, | |||
1448 | case Opt_i_version: | 1451 | case Opt_i_version: |
1449 | sb->s_flags |= MS_I_VERSION; | 1452 | sb->s_flags |= MS_I_VERSION; |
1450 | return 1; | 1453 | return 1; |
1454 | case Opt_lazytime: | ||
1455 | sb->s_flags |= MS_LAZYTIME; | ||
1456 | return 1; | ||
1457 | case Opt_nolazytime: | ||
1458 | sb->s_flags &= ~MS_LAZYTIME; | ||
1459 | return 1; | ||
1451 | } | 1460 | } |
1452 | 1461 | ||
1453 | for (m = ext4_mount_opts; m->token != Opt_err; m++) | 1462 | for (m = ext4_mount_opts; m->token != Opt_err; m++) |
@@ -5044,6 +5053,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) | |||
5044 | } | 5053 | } |
5045 | #endif | 5054 | #endif |
5046 | 5055 | ||
5056 | *flags = (*flags & ~MS_LAZYTIME) | (sb->s_flags & MS_LAZYTIME); | ||
5047 | ext4_msg(sb, KERN_INFO, "re-mounted. Opts: %s", orig_data); | 5057 | ext4_msg(sb, KERN_INFO, "re-mounted. Opts: %s", orig_data); |
5048 | kfree(orig_data); | 5058 | kfree(orig_data); |
5049 | return 0; | 5059 | return 0; |