diff options
author | arter97 <qkrwngud825@gmail.com> | 2014-01-07 14:29:31 +0900 |
---|---|---|
committer | rogersb11 <brettrogers11@gmail.com> | 2016-02-13 21:04:16 -0500 |
commit | d4322cd694ca73be92c2b6f8d96226ba4734bd6a (patch) | |
tree | 80f46e6ddded2943b30961b2f7457f890d264f70 /include/linux/fs.h | |
parent | 6307d43c25ee624ae51cd5b56c85f9fa88af3b6a (diff) | |
download | kernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.zip kernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.tar.gz kernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.tar.bz2 |
f2fs: support 3.0
Initial backporting done by nowcomputing,
(https://github.com/nowcomputing/f2fs-backports.git)
Additional patches required by upstream jaegeuk/f2fs.git/linux-3.4 done by arter97.
Change-Id: Ibbd3a608857338482f974fa4b1a8d3c02c267d9f
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 212ea7b..f74b004 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1726,6 +1726,19 @@ static inline void mark_inode_dirty_sync(struct inode *inode) } /** + * set_nlink - directly set an inode's link count + * @inode: inode + * @nlink: new nlink (should be non-zero) + * + * This is a low-level filesystem helper to replace any + * direct filesystem manipulation of i_nlink. + */ +static inline void set_nlink(struct inode *inode, unsigned int nlink) +{ + inode->i_nlink = nlink; +} + +/** * inc_nlink - directly increment an inode's link count * @inode: inode * @@ -1824,6 +1837,8 @@ struct file_system_type { struct lock_class_key i_alloc_sem_key; }; +#define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME) + extern struct dentry *mount_ns(struct file_system_type *fs_type, int flags, void *data, int (*fill_super)(struct super_block *, void *, int)); extern struct dentry *mount_bdev(struct file_system_type *fs_type, @@ -2203,6 +2218,11 @@ static inline bool execute_ok(struct inode *inode) return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); } +static inline struct inode *file_inode(struct file *f) +{ + return f->f_path.dentry->d_inode; +} + extern int get_write_access(struct inode *); extern int deny_write_access(struct file *); static inline void put_write_access(struct inode * inode) @@ -2212,7 +2232,7 @@ static inline void put_write_access(struct inode * inode) static inline void allow_write_access(struct file *file) { if (file) - atomic_inc(&file->f_path.dentry->d_inode->i_writecount); + atomic_inc(&file_inode(file)->i_writecount); } #ifdef CONFIG_IMA static inline void i_readcount_dec(struct inode *inode) |