f2fs.h (c61404153eb683da9c35aad133131554861ed561) f2fs.h (a7d9fe3c33887085a2e10c085d378126314dc222)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * fs/f2fs/f2fs.h
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#ifndef _LINUX_F2FS_H

--- 154 unchanged lines hidden (view full) ---

163#define F2FS_FEATURE_FLEXIBLE_INLINE_XATTR 0x0040
164#define F2FS_FEATURE_QUOTA_INO 0x0080
165#define F2FS_FEATURE_INODE_CRTIME 0x0100
166#define F2FS_FEATURE_LOST_FOUND 0x0200
167#define F2FS_FEATURE_VERITY 0x0400
168#define F2FS_FEATURE_SB_CHKSUM 0x0800
169#define F2FS_FEATURE_CASEFOLD 0x1000
170#define F2FS_FEATURE_COMPRESSION 0x2000
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * fs/f2fs/f2fs.h
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 */
8#ifndef _LINUX_F2FS_H

--- 154 unchanged lines hidden (view full) ---

163#define F2FS_FEATURE_FLEXIBLE_INLINE_XATTR 0x0040
164#define F2FS_FEATURE_QUOTA_INO 0x0080
165#define F2FS_FEATURE_INODE_CRTIME 0x0100
166#define F2FS_FEATURE_LOST_FOUND 0x0200
167#define F2FS_FEATURE_VERITY 0x0400
168#define F2FS_FEATURE_SB_CHKSUM 0x0800
169#define F2FS_FEATURE_CASEFOLD 0x1000
170#define F2FS_FEATURE_COMPRESSION 0x2000
171#define F2FS_FEATURE_RO 0x4000
171
172#define __F2FS_HAS_FEATURE(raw_super, mask) \
173 ((raw_super->feature & cpu_to_le32(mask)) != 0)
174#define F2FS_HAS_FEATURE(sbi, mask) __F2FS_HAS_FEATURE(sbi->raw_super, mask)
175#define F2FS_SET_FEATURE(sbi, mask) \
176 (sbi->raw_super->feature |= cpu_to_le32(mask))
177#define F2FS_CLEAR_FEATURE(sbi, mask) \
178 (sbi->raw_super->feature &= ~cpu_to_le32(mask))

--- 756 unchanged lines hidden (view full) ---

935 * Instead, as a mount option such as active_logs=x, you can use 2, 4, and 6
936 * logs individually according to the underlying devices. (default: 6)
937 * Just in case, on-disk layout covers maximum 16 logs that consist of 8 for
938 * data and 8 for node logs.
939 */
940#define NR_CURSEG_DATA_TYPE (3)
941#define NR_CURSEG_NODE_TYPE (3)
942#define NR_CURSEG_INMEM_TYPE (2)
172
173#define __F2FS_HAS_FEATURE(raw_super, mask) \
174 ((raw_super->feature & cpu_to_le32(mask)) != 0)
175#define F2FS_HAS_FEATURE(sbi, mask) __F2FS_HAS_FEATURE(sbi->raw_super, mask)
176#define F2FS_SET_FEATURE(sbi, mask) \
177 (sbi->raw_super->feature |= cpu_to_le32(mask))
178#define F2FS_CLEAR_FEATURE(sbi, mask) \
179 (sbi->raw_super->feature &= ~cpu_to_le32(mask))

--- 756 unchanged lines hidden (view full) ---

936 * Instead, as a mount option such as active_logs=x, you can use 2, 4, and 6
937 * logs individually according to the underlying devices. (default: 6)
938 * Just in case, on-disk layout covers maximum 16 logs that consist of 8 for
939 * data and 8 for node logs.
940 */
941#define NR_CURSEG_DATA_TYPE (3)
942#define NR_CURSEG_NODE_TYPE (3)
943#define NR_CURSEG_INMEM_TYPE (2)
944#define NR_CURSEG_RO_TYPE (2)
943#define NR_CURSEG_PERSIST_TYPE (NR_CURSEG_DATA_TYPE + NR_CURSEG_NODE_TYPE)
944#define NR_CURSEG_TYPE (NR_CURSEG_INMEM_TYPE + NR_CURSEG_PERSIST_TYPE)
945
946enum {
947 CURSEG_HOT_DATA = 0, /* directory entry blocks */
948 CURSEG_WARM_DATA, /* data blocks */
949 CURSEG_COLD_DATA, /* multimedia or GCed data blocks */
950 CURSEG_HOT_NODE, /* direct node blocks of directory files */

--- 3172 unchanged lines hidden (view full) ---

4123F2FS_FEATURE_FUNCS(flexible_inline_xattr, FLEXIBLE_INLINE_XATTR);
4124F2FS_FEATURE_FUNCS(quota_ino, QUOTA_INO);
4125F2FS_FEATURE_FUNCS(inode_crtime, INODE_CRTIME);
4126F2FS_FEATURE_FUNCS(lost_found, LOST_FOUND);
4127F2FS_FEATURE_FUNCS(verity, VERITY);
4128F2FS_FEATURE_FUNCS(sb_chksum, SB_CHKSUM);
4129F2FS_FEATURE_FUNCS(casefold, CASEFOLD);
4130F2FS_FEATURE_FUNCS(compression, COMPRESSION);
945#define NR_CURSEG_PERSIST_TYPE (NR_CURSEG_DATA_TYPE + NR_CURSEG_NODE_TYPE)
946#define NR_CURSEG_TYPE (NR_CURSEG_INMEM_TYPE + NR_CURSEG_PERSIST_TYPE)
947
948enum {
949 CURSEG_HOT_DATA = 0, /* directory entry blocks */
950 CURSEG_WARM_DATA, /* data blocks */
951 CURSEG_COLD_DATA, /* multimedia or GCed data blocks */
952 CURSEG_HOT_NODE, /* direct node blocks of directory files */

--- 3172 unchanged lines hidden (view full) ---

4125F2FS_FEATURE_FUNCS(flexible_inline_xattr, FLEXIBLE_INLINE_XATTR);
4126F2FS_FEATURE_FUNCS(quota_ino, QUOTA_INO);
4127F2FS_FEATURE_FUNCS(inode_crtime, INODE_CRTIME);
4128F2FS_FEATURE_FUNCS(lost_found, LOST_FOUND);
4129F2FS_FEATURE_FUNCS(verity, VERITY);
4130F2FS_FEATURE_FUNCS(sb_chksum, SB_CHKSUM);
4131F2FS_FEATURE_FUNCS(casefold, CASEFOLD);
4132F2FS_FEATURE_FUNCS(compression, COMPRESSION);
4133F2FS_FEATURE_FUNCS(readonly, RO);
4131
4132#ifdef CONFIG_BLK_DEV_ZONED
4133static inline bool f2fs_blkz_is_seq(struct f2fs_sb_info *sbi, int devi,
4134 block_t blkaddr)
4135{
4136 unsigned int zno = blkaddr >> sbi->log_blocks_per_blkz;
4137
4138 return test_bit(zno, FDEV(devi).blkz_seq);

--- 159 unchanged lines hidden ---
4134
4135#ifdef CONFIG_BLK_DEV_ZONED
4136static inline bool f2fs_blkz_is_seq(struct f2fs_sb_info *sbi, int devi,
4137 block_t blkaddr)
4138{
4139 unsigned int zno = blkaddr >> sbi->log_blocks_per_blkz;
4140
4141 return test_bit(zno, FDEV(devi).blkz_seq);

--- 159 unchanged lines hidden ---