the_nilfs.h (6dd4740662405a68bb229ac2b9e0aeaaf2188bf2) | the_nilfs.h (e59399d0102c1813cec48db5cebe1750313f88a0) |
---|---|
1/* 2 * the_nilfs.h - the_nilfs shared structure. 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 --- 34 unchanged lines hidden (view full) --- 43 * struct the_nilfs - struct to supervise multiple nilfs mount points 44 * @ns_flags: flags 45 * @ns_count: reference count 46 * @ns_list: list head for nilfs_list 47 * @ns_bdev: block device 48 * @ns_bdi: backing dev info 49 * @ns_writer: back pointer to writable nilfs_sb_info 50 * @ns_sem: semaphore for shared states | 1/* 2 * the_nilfs.h - the_nilfs shared structure. 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 --- 34 unchanged lines hidden (view full) --- 43 * struct the_nilfs - struct to supervise multiple nilfs mount points 44 * @ns_flags: flags 45 * @ns_count: reference count 46 * @ns_list: list head for nilfs_list 47 * @ns_bdev: block device 48 * @ns_bdi: backing dev info 49 * @ns_writer: back pointer to writable nilfs_sb_info 50 * @ns_sem: semaphore for shared states |
51 * @ns_super_sem: semaphore for global operations across super block instances |
|
51 * @ns_writer_mutex: mutex protecting ns_writer attach/detach 52 * @ns_writer_refcount: number of referrers on ns_writer 53 * @ns_current: back pointer to current mount 54 * @ns_sbh: buffer heads of on-disk super blocks 55 * @ns_sbp: pointers to super block data 56 * @ns_sbwtime: previous write time of super blocks 57 * @ns_sbsize: size of valid data in super block 58 * @ns_supers: list of nilfs super block structs --- 32 unchanged lines hidden (view full) --- 91 unsigned long ns_flags; 92 atomic_t ns_count; 93 struct list_head ns_list; 94 95 struct block_device *ns_bdev; 96 struct backing_dev_info *ns_bdi; 97 struct nilfs_sb_info *ns_writer; 98 struct rw_semaphore ns_sem; | 52 * @ns_writer_mutex: mutex protecting ns_writer attach/detach 53 * @ns_writer_refcount: number of referrers on ns_writer 54 * @ns_current: back pointer to current mount 55 * @ns_sbh: buffer heads of on-disk super blocks 56 * @ns_sbp: pointers to super block data 57 * @ns_sbwtime: previous write time of super blocks 58 * @ns_sbsize: size of valid data in super block 59 * @ns_supers: list of nilfs super block structs --- 32 unchanged lines hidden (view full) --- 92 unsigned long ns_flags; 93 atomic_t ns_count; 94 struct list_head ns_list; 95 96 struct block_device *ns_bdev; 97 struct backing_dev_info *ns_bdi; 98 struct nilfs_sb_info *ns_writer; 99 struct rw_semaphore ns_sem; |
100 struct rw_semaphore ns_super_sem; |
|
99 struct mutex ns_writer_mutex; 100 atomic_t ns_writer_refcount; 101 | 101 struct mutex ns_writer_mutex; 102 atomic_t ns_writer_refcount; 103 |
104 /* 105 * components protected by ns_super_sem 106 */ |
|
102 struct nilfs_sb_info *ns_current; | 107 struct nilfs_sb_info *ns_current; |
108 struct list_head ns_supers; |
|
103 104 /* 105 * used for 106 * - loading the latest checkpoint exclusively. 107 * - allocating a new full segment. 108 * - protecting s_dirt in the super_block struct 109 * (see nilfs_write_super) and the following fields. 110 */ 111 struct buffer_head *ns_sbh[2]; 112 struct nilfs_super_block *ns_sbp[2]; 113 time_t ns_sbwtime[2]; 114 unsigned ns_sbsize; 115 unsigned ns_mount_state; | 109 110 /* 111 * used for 112 * - loading the latest checkpoint exclusively. 113 * - allocating a new full segment. 114 * - protecting s_dirt in the super_block struct 115 * (see nilfs_write_super) and the following fields. 116 */ 117 struct buffer_head *ns_sbh[2]; 118 struct nilfs_super_block *ns_sbp[2]; 119 time_t ns_sbwtime[2]; 120 unsigned ns_sbsize; 121 unsigned ns_mount_state; |
116 struct list_head ns_supers; | |
117 118 /* 119 * Following fields are dedicated to a writable FS-instance. 120 * Except for the period seeking checkpoint, code outside the segment 121 * constructor must lock a segment semaphore while accessing these 122 * fields. 123 * The writable FS-instance is sole during a lifetime of the_nilfs. 124 */ --- 186 unchanged lines hidden --- | 122 123 /* 124 * Following fields are dedicated to a writable FS-instance. 125 * Except for the period seeking checkpoint, code outside the segment 126 * constructor must lock a segment semaphore while accessing these 127 * fields. 128 * The writable FS-instance is sole during a lifetime of the_nilfs. 129 */ --- 186 unchanged lines hidden --- |