@@ -60,6 +60,199 @@ File descriptors of regular files are obtained by ``int fd = open()``, directori
6060opened as ``DIR *dir = opendir() `` can be converted to the corresponding
6161file descriptor by ``fd = dirfd(dir) ``.
6262
63+ LIST OF IOCTLS
64+ --------------
65+
66+ .. list-table ::
67+ :header-rows: 1
68+
69+ * - Name
70+ - Description
71+ - Data
72+ * - :ref: `BTRFS_IOC_SNAP_CREATE<BTRFS_IOC_SNAP_CREATE> `
73+ - (obsolete) create a snapshot of a subvolume
74+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
75+ * - BTRFS_IOC_DEFRAG
76+ -
77+ -
78+ * - BTRFS_IOC_RESIZE
79+ -
80+ -
81+ * - :ref: `BTRFS_IOC_SCAN_DEV<BTRFS_IOC_SCAN_DEV> `
82+ - scan and register a given device path with filesystem module
83+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
84+ * - :ref: `BTRFS_IOC_SYNC<BTRFS_IOC_SYNC> `
85+ - Sync the filesystem, possibly process queued up work
86+ - NULL
87+ * - BTRFS_IOC_CLONE
88+ -
89+ -
90+ * - :ref: `BTRFS_IOC_ADD_DEV<BTRFS_IOC_ADD_DEV> `
91+ - add a device to the filesystem by path
92+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
93+ * - :ref: `BTRFS_IOC_RM_DEV<BTRFS_IOC_RM_DEV> `
94+ - delete a device from the filesystem by path
95+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
96+ * - BTRFS_IOC_BALANCE
97+ -
98+ -
99+ * - BTRFS_IOC_CLONE_RANGE
100+ -
101+ -
102+ * - :ref: `BTRFS_IOC_SUBVOL_CREATE<BTRFS_IOC_SUBVOL_CREATE> `
103+ - (obsolete) create a subvolume
104+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
105+ * - :ref: `BTRFS_IOC_SNAP_DESTROY<BTRFS_IOC_SNAP_DESTROY> `
106+ - (obsolete) delete a subvolume
107+ - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
108+ * - BTRFS_IOC_DEFRAG_RANGE
109+ -
110+ -
111+ * - BTRFS_IOC_TREE_SEARCH
112+ -
113+ -
114+ * - BTRFS_IOC_TREE_SEARCH_V2
115+ -
116+ -
117+ * - :ref: `BTRFS_IOC_INO_LOOKUP<BTRFS_IOC_INO_LOOKUP> `
118+ - resolve inode number to path, or lookup containing subvolume id
119+ - :ref: `struct btrfs_ioctl_ino_lookup_args<struct_btrfs_ioctl_ino_lookup_args> `
120+ * - :ref: `BTRFS_IOC_DEFAULT_SUBVOL<BTRFS_IOC_DEFAULT_SUBVOL> `
121+ - set the default subvolume id
122+ - uint64_t
123+ * - BTRFS_IOC_SPACE_INFO
124+ -
125+ -
126+ * - BTRFS_IOC_START_SYNC
127+ -
128+ -
129+ * - BTRFS_IOC_WAIT_SYNC
130+ -
131+ -
132+ * - :ref: `BTRFS_IOC_SNAP_CREATE_V2<BTRFS_IOC_SNAP_CREATE_V2> `
133+ - create a snapshot of a subvolume
134+ - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
135+ * - :ref: `BTRFS_IOC_SUBVOL_CREATE_V2<BTRFS_IOC_SUBVOL_CREATE_V2> `
136+ - create a subvolume
137+ - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
138+ * - :ref: `BTRFS_IOC_SUBVOL_GETFLAGS<BTRFS_IOC_SUBVOL_GETFLAGS> `
139+ - get flags of a subvolume
140+ - uint64_t
141+ * - :ref: `BTRFS_IOC_SUBVOL_SETFLAGS<BTRFS_IOC_SUBVOL_SETFLAGS> `
142+ - set flags of a subvolume
143+ - uint64_t
144+ * - BTRFS_IOC_SCRUB
145+ -
146+ -
147+ * - BTRFS_IOC_SCRUB_CANCEL
148+ -
149+ -
150+ * - BTRFS_IOC_SCRUB_PROGRESS
151+ -
152+ -
153+ * - BTRFS_IOC_DEV_INFO
154+ -
155+ -
156+ * - :ref: `BTRFS_IOC_FS_INFO<BTRFS_IOC_FS_INFO> `
157+ - get information about filesystem (device count, fsid, ...)
158+ - :ref: `struct btrfs_ioctl_fs_info_args<struct_btrfs_ioctl_fs_info_args> `
159+ * - BTRFS_IOC_BALANCE_V2
160+ -
161+ -
162+ * - BTRFS_IOC_BALANCE_CTL
163+ -
164+ -
165+ * - BTRFS_IOC_BALANCE_PROGRESS
166+ -
167+ -
168+ * - BTRFS_IOC_INO_PATHS
169+ -
170+ -
171+ * - BTRFS_IOC_LOGICAL_INO
172+ -
173+ -
174+ * - BTRFS_IOC_SET_RECEIVED_SUBVOL
175+ -
176+ -
177+ * - BTRFS_IOC_SEND
178+ -
179+ -
180+ * - BTRFS_IOC_DEVICES_READY
181+ -
182+ -
183+ * - BTRFS_IOC_QUOTA_CTL
184+ -
185+ -
186+ * - BTRFS_IOC_QGROUP_ASSIGN
187+ -
188+ -
189+ * - BTRFS_IOC_QGROUP_CREATE
190+ -
191+ -
192+ * - BTRFS_IOC_QGROUP_LIMIT
193+ -
194+ -
195+ * - BTRFS_IOC_QUOTA_RESCAN
196+ -
197+ -
198+ * - BTRFS_IOC_QUOTA_RESCAN_STATUS
199+ -
200+ -
201+ * - BTRFS_IOC_QUOTA_RESCAN_WAIT
202+ -
203+ -
204+ * - :ref: `BTRFS_IOC_GET_FSLABEL<BTRFS_IOC_GET_FSLABEL> `
205+ - read filesystem label
206+ - char buffer[:ref: `BTRFS_LABEL_SIZE<constants-table> `]
207+ * - :ref: `BTRFS_IOC_SET_FSLABEL<BTRFS_IOC_SET_FSLABEL> `
208+ - set the filesystem label
209+ - char buffer[:ref: `BTRFS_LABEL_SIZE<constants-table> `]
210+ * - BTRFS_IOC_GET_DEV_STATS
211+ -
212+ -
213+ * - BTRFS_IOC_DEV_REPLACE
214+ -
215+ -
216+ * - BTRFS_IOC_FILE_EXTENT_SAME
217+ -
218+ -
219+ * - BTRFS_IOC_GET_FEATURES
220+ -
221+ -
222+ * - BTRFS_IOC_SET_FEATURES
223+ -
224+ -
225+ * - BTRFS_IOC_GET_SUPPORTED_FEATURES
226+ -
227+ -
228+ * - BTRFS_IOC_RM_DEV_V2
229+ -
230+ -
231+ * - BTRFS_IOC_LOGICAL_INO_V2
232+ -
233+ -
234+ * - :ref: `BTRFS_IOC_GET_SUBVOL_INFO<BTRFS_IOC_GET_SUBVOL_INFO> `
235+ - get information about a subvolume
236+ - :ref: `struct btrfs_ioctl_get_subvol_info_args<struct_btrfs_ioctl_get_subvol_info_args> `
237+ * - BTRFS_IOC_GET_SUBVOL_ROOTREF
238+ -
239+ -
240+ * - BTRFS_IOC_INO_LOOKUP_USER
241+ -
242+ -
243+ * - :ref: `BTRFS_IOC_SNAP_DESTROY_V2<BTRFS_IOC_SNAP_DESTROY_V2> `
244+ - destroy a (snapshot or regular) subvolume
245+ - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
246+ * - BTRFS_IOC_ENCODED_READ
247+ -
248+ -
249+ * - BTRFS_IOC_ENCODED_WRITE
250+ -
251+ -
252+ * - :ref: `BTRFS_IOC_SUBVOL_SYNC_WAIT<BTRFS_IOC_SUBVOL_SYNC_WAIT> `
253+ - Wait until a deleted subvolume is cleaned or query the state.
254+ - :ref: `struct btrfs_ioctl_subvol_wait<struct_btrfs_ioctl_subvol_wait> `
255+
63256DATA STRUCTURES AND DEFINITIONS
64257-------------------------------
65258
@@ -277,199 +470,6 @@ DATA STRUCTURES AND DEFINITIONS
277470 * - BTRFS_FIRST_FREE_OBJECTID
278471 - 256
279472
280- LIST OF IOCTLS
281- --------------
282-
283- .. list-table ::
284- :header-rows: 1
285-
286- * - Name
287- - Description
288- - Data
289- * - :ref: `BTRFS_IOC_SNAP_CREATE<BTRFS_IOC_SNAP_CREATE> `
290- - (obsolete) create a snapshot of a subvolume
291- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
292- * - BTRFS_IOC_DEFRAG
293- -
294- -
295- * - BTRFS_IOC_RESIZE
296- -
297- -
298- * - :ref: `BTRFS_IOC_SCAN_DEV<BTRFS_IOC_SCAN_DEV> `
299- - scan and register a given device path with filesystem module
300- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
301- * - :ref: `BTRFS_IOC_SYNC<BTRFS_IOC_SYNC> `
302- - Sync the filesystem, possibly process queued up work
303- - NULL
304- * - BTRFS_IOC_CLONE
305- -
306- -
307- * - :ref: `BTRFS_IOC_ADD_DEV<BTRFS_IOC_ADD_DEV> `
308- - add a device to the filesystem by path
309- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
310- * - :ref: `BTRFS_IOC_RM_DEV<BTRFS_IOC_RM_DEV> `
311- - delete a device from the filesystem by path
312- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
313- * - BTRFS_IOC_BALANCE
314- -
315- -
316- * - BTRFS_IOC_CLONE_RANGE
317- -
318- -
319- * - :ref: `BTRFS_IOC_SUBVOL_CREATE<BTRFS_IOC_SUBVOL_CREATE> `
320- - (obsolete) create a subvolume
321- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
322- * - :ref: `BTRFS_IOC_SNAP_DESTROY<BTRFS_IOC_SNAP_DESTROY> `
323- - (obsolete) delete a subvolume
324- - :ref: `struct btrfs_ioctl_vol_args<struct_btrfs_ioctl_vol_args> `
325- * - BTRFS_IOC_DEFRAG_RANGE
326- -
327- -
328- * - BTRFS_IOC_TREE_SEARCH
329- -
330- -
331- * - BTRFS_IOC_TREE_SEARCH_V2
332- -
333- -
334- * - :ref: `BTRFS_IOC_INO_LOOKUP<BTRFS_IOC_INO_LOOKUP> `
335- - resolve inode number to path, or lookup containing subvolume id
336- - :ref: `struct btrfs_ioctl_ino_lookup_args<struct_btrfs_ioctl_ino_lookup_args> `
337- * - :ref: `BTRFS_IOC_DEFAULT_SUBVOL<BTRFS_IOC_DEFAULT_SUBVOL> `
338- - set the default subvolume id
339- - uint64_t
340- * - BTRFS_IOC_SPACE_INFO
341- -
342- -
343- * - BTRFS_IOC_START_SYNC
344- -
345- -
346- * - BTRFS_IOC_WAIT_SYNC
347- -
348- -
349- * - :ref: `BTRFS_IOC_SNAP_CREATE_V2<BTRFS_IOC_SNAP_CREATE_V2> `
350- - create a snapshot of a subvolume
351- - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
352- * - :ref: `BTRFS_IOC_SUBVOL_CREATE_V2<BTRFS_IOC_SUBVOL_CREATE_V2> `
353- - create a subvolume
354- - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
355- * - :ref: `BTRFS_IOC_SUBVOL_GETFLAGS<BTRFS_IOC_SUBVOL_GETFLAGS> `
356- - get flags of a subvolume
357- - uint64_t
358- * - :ref: `BTRFS_IOC_SUBVOL_SETFLAGS<BTRFS_IOC_SUBVOL_SETFLAGS> `
359- - set flags of a subvolume
360- - uint64_t
361- * - BTRFS_IOC_SCRUB
362- -
363- -
364- * - BTRFS_IOC_SCRUB_CANCEL
365- -
366- -
367- * - BTRFS_IOC_SCRUB_PROGRESS
368- -
369- -
370- * - BTRFS_IOC_DEV_INFO
371- -
372- -
373- * - :ref: `BTRFS_IOC_FS_INFO<BTRFS_IOC_FS_INFO> `
374- - get information about filesystem (device count, fsid, ...)
375- - :ref: `struct btrfs_ioctl_fs_info_args<struct_btrfs_ioctl_fs_info_args> `
376- * - BTRFS_IOC_BALANCE_V2
377- -
378- -
379- * - BTRFS_IOC_BALANCE_CTL
380- -
381- -
382- * - BTRFS_IOC_BALANCE_PROGRESS
383- -
384- -
385- * - BTRFS_IOC_INO_PATHS
386- -
387- -
388- * - BTRFS_IOC_LOGICAL_INO
389- -
390- -
391- * - BTRFS_IOC_SET_RECEIVED_SUBVOL
392- -
393- -
394- * - BTRFS_IOC_SEND
395- -
396- -
397- * - BTRFS_IOC_DEVICES_READY
398- -
399- -
400- * - BTRFS_IOC_QUOTA_CTL
401- -
402- -
403- * - BTRFS_IOC_QGROUP_ASSIGN
404- -
405- -
406- * - BTRFS_IOC_QGROUP_CREATE
407- -
408- -
409- * - BTRFS_IOC_QGROUP_LIMIT
410- -
411- -
412- * - BTRFS_IOC_QUOTA_RESCAN
413- -
414- -
415- * - BTRFS_IOC_QUOTA_RESCAN_STATUS
416- -
417- -
418- * - BTRFS_IOC_QUOTA_RESCAN_WAIT
419- -
420- -
421- * - :ref: `BTRFS_IOC_GET_FSLABEL<BTRFS_IOC_GET_FSLABEL> `
422- - read filesystem label
423- - char buffer[:ref: `BTRFS_LABEL_SIZE<constants-table> `]
424- * - :ref: `BTRFS_IOC_SET_FSLABEL<BTRFS_IOC_SET_FSLABEL> `
425- - set the filesystem label
426- - char buffer[:ref: `BTRFS_LABEL_SIZE<constants-table> `]
427- * - BTRFS_IOC_GET_DEV_STATS
428- -
429- -
430- * - BTRFS_IOC_DEV_REPLACE
431- -
432- -
433- * - BTRFS_IOC_FILE_EXTENT_SAME
434- -
435- -
436- * - BTRFS_IOC_GET_FEATURES
437- -
438- -
439- * - BTRFS_IOC_SET_FEATURES
440- -
441- -
442- * - BTRFS_IOC_GET_SUPPORTED_FEATURES
443- -
444- -
445- * - BTRFS_IOC_RM_DEV_V2
446- -
447- -
448- * - BTRFS_IOC_LOGICAL_INO_V2
449- -
450- -
451- * - :ref: `BTRFS_IOC_GET_SUBVOL_INFO<BTRFS_IOC_GET_SUBVOL_INFO> `
452- - get information about a subvolume
453- - :ref: `struct btrfs_ioctl_get_subvol_info_args<struct_btrfs_ioctl_get_subvol_info_args> `
454- * - BTRFS_IOC_GET_SUBVOL_ROOTREF
455- -
456- -
457- * - BTRFS_IOC_INO_LOOKUP_USER
458- -
459- -
460- * - :ref: `BTRFS_IOC_SNAP_DESTROY_V2<BTRFS_IOC_SNAP_DESTROY_V2> `
461- - destroy a (snapshot or regular) subvolume
462- - :ref: `struct btrfs_ioctl_vol_args_v2<struct_btrfs_ioctl_vol_args_v2> `
463- * - BTRFS_IOC_ENCODED_READ
464- -
465- -
466- * - BTRFS_IOC_ENCODED_WRITE
467- -
468- -
469- * - :ref: `BTRFS_IOC_SUBVOL_SYNC_WAIT<BTRFS_IOC_SUBVOL_SYNC_WAIT> `
470- - Wait until a deleted subvolume is cleaned or query the state.
471- - :ref: `struct btrfs_ioctl_subvol_wait<struct_btrfs_ioctl_subvol_wait> `
472-
473473DETAILED DESCRIPTION
474474--------------------
475475
0 commit comments