[PATCH 0/7] nilfs2 updates

From: Ryusuke Konishi
Date: Thu Mar 12 2015 - 11:00:24 EST


Hi Andrew,

Please queue the following changes for the next merge window:

Ryusuke Konishi (7):
nilfs2: do not use async write flag for segment summary buffers
nilfs2: use set_mask_bits() for operations on buffer state bitmap
nilfs2: use bgl_lock_ptr()
nilfs2: unify type of key arguments in bmap interface
nilfs2: add bmap function to seek a valid key
nilfs2: add helper to find existent block on metadata file
nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl

* Brief summary

> nilfs2: do not use async write flag for segment summary buffers
> nilfs2: use set_mask_bits() for operations on buffer state bitmap

These reduce the number of atomic bit operations against b_state
bitmap by utilizing set_mask_bits() common helper, or by removing
unnecessary bit operations.

> nilfs2: use bgl_lock_ptr()

This is a cleanup patch, which makes use of bgl_lock_ptr() common
helper for simplicity.

> nilfs2: unify type of key arguments in bmap interface
> nilfs2: add bmap function to seek a valid key
> nilfs2: add helper to find existent block on metadata file
> nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl

These improve execution time of the ioctl for checkpoint listing,
which gets worse as the file system ages.

Example:
[The current implementation]
$ time lscp
CNO DATE TIME MODE FLG BLKCNT ICNT
5769303 2015-02-22 19:31:33 cp - 108 1
5769304 2015-02-22 19:38:54 cp - 108 1

real 0m0.182s
user 0m0.003s
sys 0m0.180s

[With the patchset]
$ time lscp
CNO DATE TIME MODE FLG BLKCNT ICNT
5769303 2015-02-22 19:31:33 cp - 108 1
5769304 2015-02-22 19:38:54 cp - 108 1

real 0m0.003s
user 0m0.001s
sys 0m0.002s

Thanks,
Ryusuke Konishi
--

fs/nilfs2/alloc.c | 5 ++--
fs/nilfs2/bmap.c | 48 +++++++++++++++++++++++++++++---------
fs/nilfs2/bmap.h | 13 +++++++----
fs/nilfs2/btree.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++
fs/nilfs2/cpfile.c | 58 +++++++++++++++++++++++++++++++++++++++++-----
fs/nilfs2/direct.c | 17 ++++++++++++++
fs/nilfs2/inode.c | 6 ++---
fs/nilfs2/mdt.c | 54 +++++++++++++++++++++++++++++++++++++++++++
fs/nilfs2/mdt.h | 10 ++++++--
fs/nilfs2/page.c | 24 ++++++++-----------
fs/nilfs2/segment.c | 17 +++++++-------
11 files changed, 266 insertions(+), 52 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/