f2fs.h (43c780ba26244e4caf3f9986beb6c4ae5eb54f50) f2fs.h (ef8d563f184e1112651f2cbde383d43e599334e8)
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

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

423#define F2FS_IOC_GARBAGE_COLLECT_RANGE _IOW(F2FS_IOCTL_MAGIC, 11, \
424 struct f2fs_gc_range)
425#define F2FS_IOC_GET_FEATURES _IOR(F2FS_IOCTL_MAGIC, 12, __u32)
426#define F2FS_IOC_SET_PIN_FILE _IOW(F2FS_IOCTL_MAGIC, 13, __u32)
427#define F2FS_IOC_GET_PIN_FILE _IOR(F2FS_IOCTL_MAGIC, 14, __u32)
428#define F2FS_IOC_PRECACHE_EXTENTS _IO(F2FS_IOCTL_MAGIC, 15)
429#define F2FS_IOC_RESIZE_FS _IOW(F2FS_IOCTL_MAGIC, 16, __u64)
430#define F2FS_IOC_GET_COMPRESS_BLOCKS _IOR(F2FS_IOCTL_MAGIC, 17, __u64)
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

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

423#define F2FS_IOC_GARBAGE_COLLECT_RANGE _IOW(F2FS_IOCTL_MAGIC, 11, \
424 struct f2fs_gc_range)
425#define F2FS_IOC_GET_FEATURES _IOR(F2FS_IOCTL_MAGIC, 12, __u32)
426#define F2FS_IOC_SET_PIN_FILE _IOW(F2FS_IOCTL_MAGIC, 13, __u32)
427#define F2FS_IOC_GET_PIN_FILE _IOR(F2FS_IOCTL_MAGIC, 14, __u32)
428#define F2FS_IOC_PRECACHE_EXTENTS _IO(F2FS_IOCTL_MAGIC, 15)
429#define F2FS_IOC_RESIZE_FS _IOW(F2FS_IOCTL_MAGIC, 16, __u64)
430#define F2FS_IOC_GET_COMPRESS_BLOCKS _IOR(F2FS_IOCTL_MAGIC, 17, __u64)
431#define F2FS_IOC_RELEASE_COMPRESS_BLOCKS \
432 _IOR(F2FS_IOCTL_MAGIC, 18, __u64)
431
432#define F2FS_IOC_GET_VOLUME_NAME FS_IOC_GETFSLABEL
433#define F2FS_IOC_SET_VOLUME_NAME FS_IOC_SETFSLABEL
434
435#define F2FS_IOC_SET_ENCRYPTION_POLICY FS_IOC_SET_ENCRYPTION_POLICY
436#define F2FS_IOC_GET_ENCRYPTION_POLICY FS_IOC_GET_ENCRYPTION_POLICY
437#define F2FS_IOC_GET_ENCRYPTION_PWSALT FS_IOC_GET_ENCRYPTION_PWSALT
438

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

4043 return S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode);
4044}
4045
4046static inline void f2fs_i_compr_blocks_update(struct inode *inode,
4047 u64 blocks, bool add)
4048{
4049 int diff = F2FS_I(inode)->i_cluster_size - blocks;
4050
433
434#define F2FS_IOC_GET_VOLUME_NAME FS_IOC_GETFSLABEL
435#define F2FS_IOC_SET_VOLUME_NAME FS_IOC_SETFSLABEL
436
437#define F2FS_IOC_SET_ENCRYPTION_POLICY FS_IOC_SET_ENCRYPTION_POLICY
438#define F2FS_IOC_GET_ENCRYPTION_POLICY FS_IOC_GET_ENCRYPTION_POLICY
439#define F2FS_IOC_GET_ENCRYPTION_PWSALT FS_IOC_GET_ENCRYPTION_PWSALT
440

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

4045 return S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode);
4046}
4047
4048static inline void f2fs_i_compr_blocks_update(struct inode *inode,
4049 u64 blocks, bool add)
4050{
4051 int diff = F2FS_I(inode)->i_cluster_size - blocks;
4052
4053 /* don't update i_compr_blocks if saved blocks were released */
4054 if (!add && !F2FS_I(inode)->i_compr_blocks)
4055 return;
4056
4051 if (add) {
4052 F2FS_I(inode)->i_compr_blocks += diff;
4053 stat_add_compr_blocks(inode, diff);
4054 } else {
4055 F2FS_I(inode)->i_compr_blocks -= diff;
4056 stat_sub_compr_blocks(inode, diff);
4057 }
4058 f2fs_mark_inode_dirty_sync(inode, true);

--- 76 unchanged lines hidden ---
4057 if (add) {
4058 F2FS_I(inode)->i_compr_blocks += diff;
4059 stat_add_compr_blocks(inode, diff);
4060 } else {
4061 F2FS_I(inode)->i_compr_blocks -= diff;
4062 stat_sub_compr_blocks(inode, diff);
4063 }
4064 f2fs_mark_inode_dirty_sync(inode, true);

--- 76 unchanged lines hidden ---