[RFC][PATCH 3/14] Add the whiteout file type

Bharata B Rao
2007-05-14T09:32:30Z

From: Jan Blunck <j.blunck@tu-harburg.de>
Subject: Add the whiteout file type

A white-out stops the VFS from further lookups of the white-outs name and
returns -ENOENT. This is the same behaviour as if the filename isn't
found. This can be used in combination with union mounts to virtually
delete (white-out) files by creating a file with this file type.

Signed-off-by: Jan Blunck <j.blunck@tu-harburg.de>
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
---
include/linux/stat.h | 2 ++
1 files changed, 2 insertions(+)

--- a/include/linux/stat.h
+++ b/include/linux/stat.h
@@ -10,6 +10,7 @@
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)

#define S_IFMT 00170000
+#define S_IFWHT 0160000 /* whiteout */
#define S_IFSOCK 0140000
#define S_IFLNK 0120000
#define S_IFREG 0100000
@@ -28,6 +29,7 @@
#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+#define S_ISWHT(m) (((m) & S_IFMT) == S_IFWHT)

#define S_IRWXU 00700
#define S_IRUSR 00400