]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/f2fs/file.c
f2fs: show the max number of volatile operations
[mirror_ubuntu-artful-kernel.git] / fs / f2fs / file.c
index 7704bd99b99077bc0ab6dfbe4bf7adcae2418713..f3be240ef129e3643b93cc7558de943b2e61cb5a 100644 (file)
@@ -1426,6 +1426,7 @@ static int f2fs_release_file(struct inode *inode, struct file *filp)
                drop_inmem_pages(inode);
        if (f2fs_is_volatile_file(inode)) {
                clear_inode_flag(inode, FI_VOLATILE_FILE);
+               stat_dec_volatile_write(inode);
                set_inode_flag(inode, FI_DROP_CACHE);
                filemap_fdatawrite(inode->i_mapping);
                clear_inode_flag(inode, FI_DROP_CACHE);
@@ -1613,6 +1614,9 @@ static int f2fs_ioc_start_volatile_write(struct file *filp)
        if (ret)
                goto out;
 
+       stat_inc_volatile_write(inode);
+       stat_update_max_volatile_write(inode);
+
        set_inode_flag(inode, FI_VOLATILE_FILE);
        f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
 out:
@@ -1668,6 +1672,7 @@ static int f2fs_ioc_abort_volatile_write(struct file *filp)
                drop_inmem_pages(inode);
        if (f2fs_is_volatile_file(inode)) {
                clear_inode_flag(inode, FI_VOLATILE_FILE);
+               stat_dec_volatile_write(inode);
                ret = f2fs_do_sync_file(filp, 0, LLONG_MAX, 0, true);
        }