summaryrefslogtreecommitdiffstats
path: root/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fs.c')
-rw-r--r--fs/fs.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 12851b7ae3..d76d829140 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1017,6 +1017,22 @@ void inc_nlink(struct inode *inode)
inode->__i_nlink++;
}
+void clear_nlink(struct inode *inode)
+{
+ if (inode->i_nlink) {
+ inode->__i_nlink = 0;
+ }
+}
+
+void set_nlink(struct inode *inode, unsigned int nlink)
+{
+ if (!nlink) {
+ clear_nlink(inode);
+ } else {
+ inode->__i_nlink = nlink;
+ }
+}
+
static struct inode *alloc_inode(struct super_block *sb)
{
static const struct inode_operations empty_iops;