gcinode.c (b7e56edba4b02f2079042c326a8cd72a44635817) | gcinode.c (7a65004bbaa6a21a0438aac9c64814e46084dc3f) |
---|---|
1/* 2 * gcinode.c - dummy inodes to buffer blocks for garbage collection 3 * 4 * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 14 unchanged lines hidden (view full) --- 23 * 24 */ 25/* 26 * This file adds the cache of on-disk blocks to be moved in garbage 27 * collection. The disk blocks are held with dummy inodes (called 28 * gcinodes), and this file provides lookup function of the dummy 29 * inodes and their buffer read function. 30 * | 1/* 2 * gcinode.c - dummy inodes to buffer blocks for garbage collection 3 * 4 * Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 14 unchanged lines hidden (view full) --- 23 * 24 */ 25/* 26 * This file adds the cache of on-disk blocks to be moved in garbage 27 * collection. The disk blocks are held with dummy inodes (called 28 * gcinodes), and this file provides lookup function of the dummy 29 * inodes and their buffer read function. 30 * |
31 * Since NILFS2 keeps up multiple checkpoints/snapshots accross GC, it | 31 * Since NILFS2 keeps up multiple checkpoints/snapshots across GC, it |
32 * has to treat blocks that belong to a same file but have different 33 * checkpoint numbers. To avoid interference among generations, dummy | 32 * has to treat blocks that belong to a same file but have different 33 * checkpoint numbers. To avoid interference among generations, dummy |
34 * inodes are managed separatly from actual inodes, and their lookup | 34 * inodes are managed separately from actual inodes, and their lookup |
35 * function (nilfs_gc_iget) is designed to be specified with a 36 * checkpoint number argument as well as an inode number. 37 * 38 * Buffers and pages held by the dummy inodes will be released each 39 * time after they are copied to a new log. Dirty blocks made on the 40 * current generation and the blocks to be moved by GC never overlap 41 * because the dirty blocks make a new generation; they rather must be 42 * written individually. --- 247 unchanged lines hidden --- | 35 * function (nilfs_gc_iget) is designed to be specified with a 36 * checkpoint number argument as well as an inode number. 37 * 38 * Buffers and pages held by the dummy inodes will be released each 39 * time after they are copied to a new log. Dirty blocks made on the 40 * current generation and the blocks to be moved by GC never overlap 41 * because the dirty blocks make a new generation; they rather must be 42 * written individually. --- 247 unchanged lines hidden --- |