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 ---