|
@@ -1,5 +1,5 @@
|
|
/*
|
|
/*
|
|
- * nilfs2_fs.h - NILFS2 on-disk structures and common declarations.
|
|
|
|
|
|
+ * nilfs2_ondisk.h - NILFS2 on-disk structures
|
|
*
|
|
*
|
|
* Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation.
|
|
* Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation.
|
|
*
|
|
*
|
|
@@ -7,13 +7,6 @@
|
|
* it under the terms of the GNU Lesser General Public License as published
|
|
* it under the terms of the GNU Lesser General Public License as published
|
|
* by the Free Software Foundation; either version 2.1 of the License, or
|
|
* by the Free Software Foundation; either version 2.1 of the License, or
|
|
* (at your option) any later version.
|
|
* (at your option) any later version.
|
|
- *
|
|
|
|
- * This program is distributed in the hope that it will be useful,
|
|
|
|
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
- * GNU Lesser General Public License for more details.
|
|
|
|
- *
|
|
|
|
- * Written by Koji Sato and Ryusuke Konishi.
|
|
|
|
*/
|
|
*/
|
|
/*
|
|
/*
|
|
* linux/include/linux/ext2_fs.h
|
|
* linux/include/linux/ext2_fs.h
|
|
@@ -30,16 +23,15 @@
|
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
|
*/
|
|
*/
|
|
|
|
|
|
-#ifndef _LINUX_NILFS_FS_H
|
|
|
|
-#define _LINUX_NILFS_FS_H
|
|
|
|
|
|
+#ifndef _LINUX_NILFS2_ONDISK_H
|
|
|
|
+#define _LINUX_NILFS2_ONDISK_H
|
|
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
-#include <linux/ioctl.h>
|
|
|
|
#include <linux/magic.h>
|
|
#include <linux/magic.h>
|
|
-#include <linux/bug.h>
|
|
|
|
|
|
|
|
|
|
|
|
#define NILFS_INODE_BMAP_SIZE 7
|
|
#define NILFS_INODE_BMAP_SIZE 7
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* struct nilfs_inode - structure of an inode on disk
|
|
* struct nilfs_inode - structure of an inode on disk
|
|
* @i_blocks: blocks count
|
|
* @i_blocks: blocks count
|
|
@@ -56,7 +48,7 @@
|
|
* @i_bmap: block mapping
|
|
* @i_bmap: block mapping
|
|
* @i_xattr: extended attributes
|
|
* @i_xattr: extended attributes
|
|
* @i_generation: file generation (for NFS)
|
|
* @i_generation: file generation (for NFS)
|
|
- * @i_pad: padding
|
|
|
|
|
|
+ * @i_pad: padding
|
|
*/
|
|
*/
|
|
struct nilfs_inode {
|
|
struct nilfs_inode {
|
|
__le64 i_blocks;
|
|
__le64 i_blocks;
|
|
@@ -338,29 +330,7 @@ enum {
|
|
#define NILFS_DIR_ROUND (NILFS_DIR_PAD - 1)
|
|
#define NILFS_DIR_ROUND (NILFS_DIR_PAD - 1)
|
|
#define NILFS_DIR_REC_LEN(name_len) (((name_len) + 12 + NILFS_DIR_ROUND) & \
|
|
#define NILFS_DIR_REC_LEN(name_len) (((name_len) + 12 + NILFS_DIR_ROUND) & \
|
|
~NILFS_DIR_ROUND)
|
|
~NILFS_DIR_ROUND)
|
|
-#define NILFS_MAX_REC_LEN ((1<<16)-1)
|
|
|
|
-
|
|
|
|
-static inline unsigned int nilfs_rec_len_from_disk(__le16 dlen)
|
|
|
|
-{
|
|
|
|
- unsigned int len = le16_to_cpu(dlen);
|
|
|
|
-
|
|
|
|
-#if !defined(__KERNEL__) || (PAGE_SIZE >= 65536)
|
|
|
|
- if (len == NILFS_MAX_REC_LEN)
|
|
|
|
- return 1 << 16;
|
|
|
|
-#endif
|
|
|
|
- return len;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static inline __le16 nilfs_rec_len_to_disk(unsigned int len)
|
|
|
|
-{
|
|
|
|
-#if !defined(__KERNEL__) || (PAGE_SIZE >= 65536)
|
|
|
|
- if (len == (1 << 16))
|
|
|
|
- return cpu_to_le16(NILFS_MAX_REC_LEN);
|
|
|
|
- else if (len > (1 << 16))
|
|
|
|
- BUG();
|
|
|
|
-#endif
|
|
|
|
- return cpu_to_le16(len);
|
|
|
|
-}
|
|
|
|
|
|
+#define NILFS_MAX_REC_LEN ((1 << 16) - 1)
|
|
|
|
|
|
/**
|
|
/**
|
|
* struct nilfs_finfo - file information
|
|
* struct nilfs_finfo - file information
|
|
@@ -374,11 +344,10 @@ struct nilfs_finfo {
|
|
__le64 fi_cno;
|
|
__le64 fi_cno;
|
|
__le32 fi_nblocks;
|
|
__le32 fi_nblocks;
|
|
__le32 fi_ndatablk;
|
|
__le32 fi_ndatablk;
|
|
- /* array of virtual block numbers */
|
|
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
- * struct nilfs_binfo_v - information for the block to which a virtual block number is assigned
|
|
|
|
|
|
+ * struct nilfs_binfo_v - information on a data block (except DAT)
|
|
* @bi_vblocknr: virtual block number
|
|
* @bi_vblocknr: virtual block number
|
|
* @bi_blkoff: block offset
|
|
* @bi_blkoff: block offset
|
|
*/
|
|
*/
|
|
@@ -388,7 +357,7 @@ struct nilfs_binfo_v {
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
- * struct nilfs_binfo_dat - information for the block which belongs to the DAT file
|
|
|
|
|
|
+ * struct nilfs_binfo_dat - information on a DAT node block
|
|
* @bi_blkoff: block offset
|
|
* @bi_blkoff: block offset
|
|
* @bi_level: level
|
|
* @bi_level: level
|
|
* @bi_pad: padding
|
|
* @bi_pad: padding
|
|
@@ -454,7 +423,7 @@ struct nilfs_segment_summary {
|
|
#define NILFS_SS_GC 0x0010 /* segment written for cleaner operation */
|
|
#define NILFS_SS_GC 0x0010 /* segment written for cleaner operation */
|
|
|
|
|
|
/**
|
|
/**
|
|
- * struct nilfs_btree_node - B-tree node
|
|
|
|
|
|
+ * struct nilfs_btree_node - header of B-tree node block
|
|
* @bn_flags: flags
|
|
* @bn_flags: flags
|
|
* @bn_level: level
|
|
* @bn_level: level
|
|
* @bn_nchildren: number of children
|
|
* @bn_nchildren: number of children
|
|
@@ -475,6 +444,16 @@ struct nilfs_btree_node {
|
|
#define NILFS_BTREE_LEVEL_NODE_MIN (NILFS_BTREE_LEVEL_DATA + 1)
|
|
#define NILFS_BTREE_LEVEL_NODE_MIN (NILFS_BTREE_LEVEL_DATA + 1)
|
|
#define NILFS_BTREE_LEVEL_MAX 14 /* Max level (exclusive) */
|
|
#define NILFS_BTREE_LEVEL_MAX 14 /* Max level (exclusive) */
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * struct nilfs_direct_node - header of built-in bmap array
|
|
|
|
+ * @dn_flags: flags
|
|
|
|
+ * @dn_pad: padding
|
|
|
|
+ */
|
|
|
|
+struct nilfs_direct_node {
|
|
|
|
+ __u8 dn_flags;
|
|
|
|
+ __u8 pad[7];
|
|
|
|
+};
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* struct nilfs_palloc_group_desc - block group descriptor
|
|
* struct nilfs_palloc_group_desc - block group descriptor
|
|
* @pg_nfrees: number of free entries in block group
|
|
* @pg_nfrees: number of free entries in block group
|
|
@@ -573,40 +552,6 @@ NILFS_CHECKPOINT_FNS(SNAPSHOT, snapshot)
|
|
NILFS_CHECKPOINT_FNS(INVALID, invalid)
|
|
NILFS_CHECKPOINT_FNS(INVALID, invalid)
|
|
NILFS_CHECKPOINT_FNS(MINOR, minor)
|
|
NILFS_CHECKPOINT_FNS(MINOR, minor)
|
|
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_cpinfo - checkpoint information
|
|
|
|
- * @ci_flags: flags
|
|
|
|
- * @ci_pad: padding
|
|
|
|
- * @ci_cno: checkpoint number
|
|
|
|
- * @ci_create: creation timestamp
|
|
|
|
- * @ci_nblk_inc: number of blocks incremented by this checkpoint
|
|
|
|
- * @ci_inodes_count: inodes count
|
|
|
|
- * @ci_blocks_count: blocks count
|
|
|
|
- * @ci_next: next checkpoint number in snapshot list
|
|
|
|
- */
|
|
|
|
-struct nilfs_cpinfo {
|
|
|
|
- __u32 ci_flags;
|
|
|
|
- __u32 ci_pad;
|
|
|
|
- __u64 ci_cno;
|
|
|
|
- __u64 ci_create;
|
|
|
|
- __u64 ci_nblk_inc;
|
|
|
|
- __u64 ci_inodes_count;
|
|
|
|
- __u64 ci_blocks_count;
|
|
|
|
- __u64 ci_next;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#define NILFS_CPINFO_FNS(flag, name) \
|
|
|
|
-static inline int \
|
|
|
|
-nilfs_cpinfo_##name(const struct nilfs_cpinfo *cpinfo) \
|
|
|
|
-{ \
|
|
|
|
- return !!(cpinfo->ci_flags & (1UL << NILFS_CHECKPOINT_##flag)); \
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NILFS_CPINFO_FNS(SNAPSHOT, snapshot)
|
|
|
|
-NILFS_CPINFO_FNS(INVALID, invalid)
|
|
|
|
-NILFS_CPINFO_FNS(MINOR, minor)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* struct nilfs_cpfile_header - checkpoint file header
|
|
* struct nilfs_cpfile_header - checkpoint file header
|
|
* @ch_ncheckpoints: number of checkpoints
|
|
* @ch_ncheckpoints: number of checkpoints
|
|
@@ -619,7 +564,7 @@ struct nilfs_cpfile_header {
|
|
struct nilfs_snapshot_list ch_snapshot_list;
|
|
struct nilfs_snapshot_list ch_snapshot_list;
|
|
};
|
|
};
|
|
|
|
|
|
-#define NILFS_CPFILE_FIRST_CHECKPOINT_OFFSET \
|
|
|
|
|
|
+#define NILFS_CPFILE_FIRST_CHECKPOINT_OFFSET \
|
|
((sizeof(struct nilfs_cpfile_header) + \
|
|
((sizeof(struct nilfs_cpfile_header) + \
|
|
sizeof(struct nilfs_checkpoint) - 1) / \
|
|
sizeof(struct nilfs_checkpoint) - 1) / \
|
|
sizeof(struct nilfs_checkpoint))
|
|
sizeof(struct nilfs_checkpoint))
|
|
@@ -643,8 +588,6 @@ enum {
|
|
NILFS_SEGMENT_USAGE_ACTIVE,
|
|
NILFS_SEGMENT_USAGE_ACTIVE,
|
|
NILFS_SEGMENT_USAGE_DIRTY,
|
|
NILFS_SEGMENT_USAGE_DIRTY,
|
|
NILFS_SEGMENT_USAGE_ERROR,
|
|
NILFS_SEGMENT_USAGE_ERROR,
|
|
-
|
|
|
|
- /* ... */
|
|
|
|
};
|
|
};
|
|
|
|
|
|
#define NILFS_SEGMENT_USAGE_FNS(flag, name) \
|
|
#define NILFS_SEGMENT_USAGE_FNS(flag, name) \
|
|
@@ -699,236 +642,9 @@ struct nilfs_sufile_header {
|
|
/* ... */
|
|
/* ... */
|
|
};
|
|
};
|
|
|
|
|
|
-#define NILFS_SUFILE_FIRST_SEGMENT_USAGE_OFFSET \
|
|
|
|
|
|
+#define NILFS_SUFILE_FIRST_SEGMENT_USAGE_OFFSET \
|
|
((sizeof(struct nilfs_sufile_header) + \
|
|
((sizeof(struct nilfs_sufile_header) + \
|
|
sizeof(struct nilfs_segment_usage) - 1) / \
|
|
sizeof(struct nilfs_segment_usage) - 1) / \
|
|
sizeof(struct nilfs_segment_usage))
|
|
sizeof(struct nilfs_segment_usage))
|
|
|
|
|
|
-/**
|
|
|
|
- * nilfs_suinfo - segment usage information
|
|
|
|
- * @sui_lastmod: timestamp of last modification
|
|
|
|
- * @sui_nblocks: number of written blocks in segment
|
|
|
|
- * @sui_flags: segment usage flags
|
|
|
|
- */
|
|
|
|
-struct nilfs_suinfo {
|
|
|
|
- __u64 sui_lastmod;
|
|
|
|
- __u32 sui_nblocks;
|
|
|
|
- __u32 sui_flags;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#define NILFS_SUINFO_FNS(flag, name) \
|
|
|
|
-static inline int \
|
|
|
|
-nilfs_suinfo_##name(const struct nilfs_suinfo *si) \
|
|
|
|
-{ \
|
|
|
|
- return si->sui_flags & (1UL << NILFS_SEGMENT_USAGE_##flag); \
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NILFS_SUINFO_FNS(ACTIVE, active)
|
|
|
|
-NILFS_SUINFO_FNS(DIRTY, dirty)
|
|
|
|
-NILFS_SUINFO_FNS(ERROR, error)
|
|
|
|
-
|
|
|
|
-static inline int nilfs_suinfo_clean(const struct nilfs_suinfo *si)
|
|
|
|
-{
|
|
|
|
- return !si->sui_flags;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/* ioctl */
|
|
|
|
-/**
|
|
|
|
- * nilfs_suinfo_update - segment usage information update
|
|
|
|
- * @sup_segnum: segment number
|
|
|
|
- * @sup_flags: flags for which fields are active in sup_sui
|
|
|
|
- * @sup_reserved: reserved necessary for alignment
|
|
|
|
- * @sup_sui: segment usage information
|
|
|
|
- */
|
|
|
|
-struct nilfs_suinfo_update {
|
|
|
|
- __u64 sup_segnum;
|
|
|
|
- __u32 sup_flags;
|
|
|
|
- __u32 sup_reserved;
|
|
|
|
- struct nilfs_suinfo sup_sui;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-enum {
|
|
|
|
- NILFS_SUINFO_UPDATE_LASTMOD,
|
|
|
|
- NILFS_SUINFO_UPDATE_NBLOCKS,
|
|
|
|
- NILFS_SUINFO_UPDATE_FLAGS,
|
|
|
|
- __NR_NILFS_SUINFO_UPDATE_FIELDS,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#define NILFS_SUINFO_UPDATE_FNS(flag, name) \
|
|
|
|
-static inline void \
|
|
|
|
-nilfs_suinfo_update_set_##name(struct nilfs_suinfo_update *sup) \
|
|
|
|
-{ \
|
|
|
|
- sup->sup_flags |= 1UL << NILFS_SUINFO_UPDATE_##flag; \
|
|
|
|
-} \
|
|
|
|
-static inline void \
|
|
|
|
-nilfs_suinfo_update_clear_##name(struct nilfs_suinfo_update *sup) \
|
|
|
|
-{ \
|
|
|
|
- sup->sup_flags &= ~(1UL << NILFS_SUINFO_UPDATE_##flag); \
|
|
|
|
-} \
|
|
|
|
-static inline int \
|
|
|
|
-nilfs_suinfo_update_##name(const struct nilfs_suinfo_update *sup) \
|
|
|
|
-{ \
|
|
|
|
- return !!(sup->sup_flags & (1UL << NILFS_SUINFO_UPDATE_##flag));\
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-NILFS_SUINFO_UPDATE_FNS(LASTMOD, lastmod)
|
|
|
|
-NILFS_SUINFO_UPDATE_FNS(NBLOCKS, nblocks)
|
|
|
|
-NILFS_SUINFO_UPDATE_FNS(FLAGS, flags)
|
|
|
|
-
|
|
|
|
-enum {
|
|
|
|
- NILFS_CHECKPOINT,
|
|
|
|
- NILFS_SNAPSHOT,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_cpmode - change checkpoint mode structure
|
|
|
|
- * @cm_cno: checkpoint number
|
|
|
|
- * @cm_mode: mode of checkpoint
|
|
|
|
- * @cm_pad: padding
|
|
|
|
- */
|
|
|
|
-struct nilfs_cpmode {
|
|
|
|
- __u64 cm_cno;
|
|
|
|
- __u32 cm_mode;
|
|
|
|
- __u32 cm_pad;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_argv - argument vector
|
|
|
|
- * @v_base: pointer on data array from userspace
|
|
|
|
- * @v_nmembs: number of members in data array
|
|
|
|
- * @v_size: size of data array in bytes
|
|
|
|
- * @v_flags: flags
|
|
|
|
- * @v_index: start number of target data items
|
|
|
|
- */
|
|
|
|
-struct nilfs_argv {
|
|
|
|
- __u64 v_base;
|
|
|
|
- __u32 v_nmembs; /* number of members */
|
|
|
|
- __u16 v_size; /* size of members */
|
|
|
|
- __u16 v_flags;
|
|
|
|
- __u64 v_index;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_period - period of checkpoint numbers
|
|
|
|
- * @p_start: start checkpoint number (inclusive)
|
|
|
|
- * @p_end: end checkpoint number (exclusive)
|
|
|
|
- */
|
|
|
|
-struct nilfs_period {
|
|
|
|
- __u64 p_start;
|
|
|
|
- __u64 p_end;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_cpstat - checkpoint statistics
|
|
|
|
- * @cs_cno: checkpoint number
|
|
|
|
- * @cs_ncps: number of checkpoints
|
|
|
|
- * @cs_nsss: number of snapshots
|
|
|
|
- */
|
|
|
|
-struct nilfs_cpstat {
|
|
|
|
- __u64 cs_cno;
|
|
|
|
- __u64 cs_ncps;
|
|
|
|
- __u64 cs_nsss;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_sustat - segment usage statistics
|
|
|
|
- * @ss_nsegs: number of segments
|
|
|
|
- * @ss_ncleansegs: number of clean segments
|
|
|
|
- * @ss_ndirtysegs: number of dirty segments
|
|
|
|
- * @ss_ctime: creation time of the last segment
|
|
|
|
- * @ss_nongc_ctime: creation time of the last segment not for GC
|
|
|
|
- * @ss_prot_seq: least sequence number of segments which must not be reclaimed
|
|
|
|
- */
|
|
|
|
-struct nilfs_sustat {
|
|
|
|
- __u64 ss_nsegs;
|
|
|
|
- __u64 ss_ncleansegs;
|
|
|
|
- __u64 ss_ndirtysegs;
|
|
|
|
- __u64 ss_ctime;
|
|
|
|
- __u64 ss_nongc_ctime;
|
|
|
|
- __u64 ss_prot_seq;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_vinfo - virtual block number information
|
|
|
|
- * @vi_vblocknr: virtual block number
|
|
|
|
- * @vi_start: start checkpoint number (inclusive)
|
|
|
|
- * @vi_end: end checkpoint number (exclusive)
|
|
|
|
- * @vi_blocknr: disk block number
|
|
|
|
- */
|
|
|
|
-struct nilfs_vinfo {
|
|
|
|
- __u64 vi_vblocknr;
|
|
|
|
- __u64 vi_start;
|
|
|
|
- __u64 vi_end;
|
|
|
|
- __u64 vi_blocknr;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_vdesc - descriptor of virtual block number
|
|
|
|
- * @vd_ino: inode number
|
|
|
|
- * @vd_cno: checkpoint number
|
|
|
|
- * @vd_vblocknr: virtual block number
|
|
|
|
- * @vd_period: period of checkpoint numbers
|
|
|
|
- * @vd_blocknr: disk block number
|
|
|
|
- * @vd_offset: logical block offset inside a file
|
|
|
|
- * @vd_flags: flags (data or node block)
|
|
|
|
- * @vd_pad: padding
|
|
|
|
- */
|
|
|
|
-struct nilfs_vdesc {
|
|
|
|
- __u64 vd_ino;
|
|
|
|
- __u64 vd_cno;
|
|
|
|
- __u64 vd_vblocknr;
|
|
|
|
- struct nilfs_period vd_period;
|
|
|
|
- __u64 vd_blocknr;
|
|
|
|
- __u64 vd_offset;
|
|
|
|
- __u32 vd_flags;
|
|
|
|
- __u32 vd_pad;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * struct nilfs_bdesc - descriptor of disk block number
|
|
|
|
- * @bd_ino: inode number
|
|
|
|
- * @bd_oblocknr: disk block address (for skipping dead blocks)
|
|
|
|
- * @bd_blocknr: disk block address
|
|
|
|
- * @bd_offset: logical block offset inside a file
|
|
|
|
- * @bd_level: level in the b-tree organization
|
|
|
|
- * @bd_pad: padding
|
|
|
|
- */
|
|
|
|
-struct nilfs_bdesc {
|
|
|
|
- __u64 bd_ino;
|
|
|
|
- __u64 bd_oblocknr;
|
|
|
|
- __u64 bd_blocknr;
|
|
|
|
- __u64 bd_offset;
|
|
|
|
- __u32 bd_level;
|
|
|
|
- __u32 bd_pad;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#define NILFS_IOCTL_IDENT 'n'
|
|
|
|
-
|
|
|
|
-#define NILFS_IOCTL_CHANGE_CPMODE \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x80, struct nilfs_cpmode)
|
|
|
|
-#define NILFS_IOCTL_DELETE_CHECKPOINT \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x81, __u64)
|
|
|
|
-#define NILFS_IOCTL_GET_CPINFO \
|
|
|
|
- _IOR(NILFS_IOCTL_IDENT, 0x82, struct nilfs_argv)
|
|
|
|
-#define NILFS_IOCTL_GET_CPSTAT \
|
|
|
|
- _IOR(NILFS_IOCTL_IDENT, 0x83, struct nilfs_cpstat)
|
|
|
|
-#define NILFS_IOCTL_GET_SUINFO \
|
|
|
|
- _IOR(NILFS_IOCTL_IDENT, 0x84, struct nilfs_argv)
|
|
|
|
-#define NILFS_IOCTL_GET_SUSTAT \
|
|
|
|
- _IOR(NILFS_IOCTL_IDENT, 0x85, struct nilfs_sustat)
|
|
|
|
-#define NILFS_IOCTL_GET_VINFO \
|
|
|
|
- _IOWR(NILFS_IOCTL_IDENT, 0x86, struct nilfs_argv)
|
|
|
|
-#define NILFS_IOCTL_GET_BDESCS \
|
|
|
|
- _IOWR(NILFS_IOCTL_IDENT, 0x87, struct nilfs_argv)
|
|
|
|
-#define NILFS_IOCTL_CLEAN_SEGMENTS \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x88, struct nilfs_argv[5])
|
|
|
|
-#define NILFS_IOCTL_SYNC \
|
|
|
|
- _IOR(NILFS_IOCTL_IDENT, 0x8A, __u64)
|
|
|
|
-#define NILFS_IOCTL_RESIZE \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x8B, __u64)
|
|
|
|
-#define NILFS_IOCTL_SET_ALLOC_RANGE \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x8C, __u64[2])
|
|
|
|
-#define NILFS_IOCTL_SET_SUINFO \
|
|
|
|
- _IOW(NILFS_IOCTL_IDENT, 0x8D, struct nilfs_argv)
|
|
|
|
-
|
|
|
|
-#endif /* _LINUX_NILFS_FS_H */
|
|
|
|
|
|
+#endif /* _LINUX_NILFS2_ONDISK_H */
|