aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 55cc0a319baa..69118b3cb917 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -223,6 +223,13 @@ typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset,
223#define ATTR_TIMES_SET (1 << 16) 223#define ATTR_TIMES_SET (1 << 16)
224 224
225/* 225/*
226 * Whiteout is represented by a char device. The following constants define the
227 * mode and device number to use.
228 */
229#define WHITEOUT_MODE 0
230#define WHITEOUT_DEV 0
231
232/*
226 * This is the Inode Attributes structure, used for notify_change(). It 233 * This is the Inode Attributes structure, used for notify_change(). It
227 * uses the above definitions as flags, to know which values have changed. 234 * uses the above definitions as flags, to know which values have changed.
228 * Also, in this manner, a Filesystem can look at only the values it cares 235 * Also, in this manner, a Filesystem can look at only the values it cares
@@ -1398,6 +1405,7 @@ extern int vfs_link(struct dentry *, struct inode *, struct dentry *, struct ino
1398extern int vfs_rmdir(struct inode *, struct dentry *); 1405extern int vfs_rmdir(struct inode *, struct dentry *);
1399extern int vfs_unlink(struct inode *, struct dentry *, struct inode **); 1406extern int vfs_unlink(struct inode *, struct dentry *, struct inode **);
1400extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *, struct inode **, unsigned int); 1407extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *, struct inode **, unsigned int);
1408extern int vfs_whiteout(struct inode *, struct dentry *);
1401 1409
1402/* 1410/*
1403 * VFS dentry helper functions. 1411 * VFS dentry helper functions.
@@ -1628,6 +1636,9 @@ struct super_operations {
1628#define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) 1636#define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT)
1629#define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) 1637#define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC)
1630 1638
1639#define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \
1640 (inode)->i_rdev == WHITEOUT_DEV)
1641
1631/* 1642/*
1632 * Inode state bits. Protected by inode->i_lock 1643 * Inode state bits. Protected by inode->i_lock
1633 * 1644 *