aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAndreas Rohner <andreas.rohner@gmx.net>2014-04-03 17:50:28 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-03 19:21:25 -0400
commit2cc88f3a5f16ae9a3c8f54de1b2fd4a397b36075 (patch)
treeeccf104b99fbaca714acd78ebe90b574f408f0fe /Documentation
parent00e9ffcd27cc5d0af9076383c6242c32335546f8 (diff)
nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctl
With this ioctl the segment usage entries in the SUFILE can be updated from userspace. This is useful, because it allows the userspace GC to modify and update segment usage entries for specific segments, which enables it to avoid unnecessary write operations. If a segment needs to be cleaned, but there is no or very little reclaimable space in it, the cleaning operation basically degrades to a useless moving operation. In the end the only thing that changes is the location of the data and a timestamp in the segment usage information. With this ioctl the GC can skip the cleaning and update the segment usage entries directly instead. This is basically a shortcut to cleaning the segment. It is still necessary to read the segment summary information, but the writing of the live blocks can be skipped if it's not worth it. [konishi.ryusuke@lab.ntt.co.jp: add description of NILFS_IOCTL_SET_SUINFO ioctl] Signed-off-by: Andreas Rohner <andreas.rohner@gmx.net> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/nilfs2.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/filesystems/nilfs2.txt b/Documentation/filesystems/nilfs2.txt
index 06887d46ccf2..8b887ae4e39e 100644
--- a/Documentation/filesystems/nilfs2.txt
+++ b/Documentation/filesystems/nilfs2.txt
@@ -111,6 +111,13 @@ Table of NILFS2 specific ioctls
111 nilfs_resize utilities and by nilfs_cleanerd 111 nilfs_resize utilities and by nilfs_cleanerd
112 daemon. 112 daemon.
113 113
114 NILFS_IOCTL_SET_SUINFO Modify segment usage info of requested
115 segments. This ioctl is used by
116 nilfs_cleanerd daemon to skip unnecessary
117 cleaning operation of segments and reduce
118 performance penalty or wear of flash device
119 due to redundant move of in-use blocks.
120
114 NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl 121 NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl
115 is used in lssu, nilfs_resize utilities and 122 is used in lssu, nilfs_resize utilities and
116 by nilfs_cleanerd daemon. 123 by nilfs_cleanerd daemon.