Commit e0ebde0
committed
feat: support remount with RDONLY flags
This commit introduces enhancements to the remount functionality in the
filesystem module, enabling better support for read-only (RDONLY) mounts.
The updates is essential for user space init proc to cleanup the runtime
resource, ensuring clean handling of cached data and enhancing system
robustness during power down processing.
Changes:
- Added `MNT_LAZY_UMNT` and `MNT_RDONLY` flags to `dfs_mnt` structure.
- Introduced `dfs_mnt_setflags` function for dynamic flag management.
- Updated `dfs_remount` to utilize `dfs_mnt_setflags` for flag setting.
- Enhanced unmount operations with `dfs_mnt_umount_iter` and lazy unmounting.
- Added `dfs_pcache_clean` to handle cache cleanup for read-only mounts.
- Improved error reporting in `dfs_umount` for better user feedback.
- Refactored `sys_mount` to streamline parameter handling and support remounts.
- Introduced `_cp_from_usr_string` helper for user-space string operations.
- Updated internal APIs to ensure consistency in reference count management.
Signed-off-by: Shell <[email protected]>1 parent af7447c commit e0ebde0
File tree
6 files changed
+121
-64
lines changed- components
- dfs/dfs_v2
- include
- src
- lwp
6 files changed
+121
-64
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
| |||
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| 71 | + | |
67 | 72 | | |
68 | 73 | | |
69 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| 121 | + | |
121 | 122 | | |
122 | 123 | | |
123 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
| 122 | + | |
126 | 123 | | |
127 | 124 | | |
128 | 125 | | |
| |||
363 | 360 | | |
364 | 361 | | |
365 | 362 | | |
366 | | - | |
| 363 | + | |
367 | 364 | | |
368 | 365 | | |
369 | 366 | | |
| |||
376 | 373 | | |
377 | 374 | | |
378 | 375 | | |
379 | | - | |
| 376 | + | |
380 | 377 | | |
381 | 378 | | |
382 | 379 | | |
383 | 380 | | |
384 | | - | |
| 381 | + | |
385 | 382 | | |
386 | 383 | | |
387 | 384 | | |
388 | 385 | | |
389 | | - | |
| 386 | + | |
390 | 387 | | |
391 | 388 | | |
392 | 389 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | 13 | | |
17 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| |||
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| 82 | + | |
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
| |||
244 | 247 | | |
245 | 248 | | |
246 | 249 | | |
247 | | - | |
| 250 | + | |
248 | 251 | | |
249 | 252 | | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
253 | | - | |
| 257 | + | |
254 | 258 | | |
255 | | - | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| |||
282 | 286 | | |
283 | 287 | | |
284 | 288 | | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
285 | 302 | | |
286 | 303 | | |
287 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| |||
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
191 | | - | |
| 191 | + | |
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
198 | 213 | | |
199 | 214 | | |
200 | 215 | | |
| |||
1139 | 1154 | | |
1140 | 1155 | | |
1141 | 1156 | | |
1142 | | - | |
1143 | | - | |
1144 | 1157 | | |
1145 | 1158 | | |
1146 | 1159 | | |
1147 | 1160 | | |
1148 | 1161 | | |
1149 | 1162 | | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
1150 | 1172 | | |
1151 | 1173 | | |
1152 | 1174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5743 | 5743 | | |
5744 | 5744 | | |
5745 | 5745 | | |
5746 | | - | |
5747 | | - | |
5748 | | - | |
5749 | | - | |
5750 | | - | |
5751 | | - | |
5752 | | - | |
5753 | | - | |
5754 | | - | |
5755 | | - | |
| 5746 | + | |
| 5747 | + | |
| 5748 | + | |
| 5749 | + | |
| 5750 | + | |
| 5751 | + | |
| 5752 | + | |
| 5753 | + | |
| 5754 | + | |
| 5755 | + | |
| 5756 | + | |
| 5757 | + | |
| 5758 | + | |
| 5759 | + | |
| 5760 | + | |
| 5761 | + | |
| 5762 | + | |
| 5763 | + | |
| 5764 | + | |
| 5765 | + | |
| 5766 | + | |
| 5767 | + | |
5756 | 5768 | | |
5757 | 5769 | | |
5758 | 5770 | | |
| 5771 | + | |
5759 | 5772 | | |
5760 | | - | |
5761 | | - | |
| 5773 | + | |
| 5774 | + | |
5762 | 5775 | | |
5763 | 5776 | | |
5764 | | - | |
| 5777 | + | |
5765 | 5778 | | |
5766 | 5779 | | |
5767 | 5780 | | |
5768 | | - | |
5769 | | - | |
| 5781 | + | |
| 5782 | + | |
5770 | 5783 | | |
5771 | 5784 | | |
5772 | | - | |
5773 | | - | |
| 5785 | + | |
| 5786 | + | |
5774 | 5787 | | |
5775 | 5788 | | |
5776 | 5789 | | |
5777 | | - | |
5778 | | - | |
5779 | 5790 | | |
5780 | | - | |
5781 | | - | |
5782 | | - | |
5783 | | - | |
5784 | | - | |
5785 | | - | |
| 5791 | + | |
| 5792 | + | |
| 5793 | + | |
| 5794 | + | |
| 5795 | + | |
| 5796 | + | |
| 5797 | + | |
5786 | 5798 | | |
5787 | | - | |
| 5799 | + | |
5788 | 5800 | | |
5789 | | - | |
5790 | | - | |
| 5801 | + | |
5791 | 5802 | | |
5792 | | - | |
| 5803 | + | |
5793 | 5804 | | |
5794 | | - | |
5795 | | - | |
| 5805 | + | |
| 5806 | + | |
| 5807 | + | |
| 5808 | + | |
| 5809 | + | |
| 5810 | + | |
| 5811 | + | |
| 5812 | + | |
| 5813 | + | |
5796 | 5814 | | |
5797 | | - | |
5798 | | - | |
5799 | | - | |
5800 | | - | |
5801 | | - | |
5802 | | - | |
| 5815 | + | |
5803 | 5816 | | |
5804 | | - | |
| 5817 | + | |
| 5818 | + | |
| 5819 | + | |
5805 | 5820 | | |
5806 | | - | |
5807 | | - | |
5808 | | - | |
5809 | | - | |
5810 | | - | |
5811 | | - | |
| 5821 | + | |
| 5822 | + | |
| 5823 | + | |
| 5824 | + | |
| 5825 | + | |
5812 | 5826 | | |
5813 | 5827 | | |
5814 | 5828 | | |
5815 | 5829 | | |
5816 | | - | |
5817 | 5830 | | |
5818 | 5831 | | |
| 5832 | + | |
| 5833 | + | |
5819 | 5834 | | |
5820 | 5835 | | |
5821 | 5836 | | |
| |||
0 commit comments