diff options
-rw-r--r-- | fs/dcache.c | 11 | ||||
-rw-r--r-- | fs/hugetlbfs/inode.c | 8 | ||||
-rw-r--r-- | include/linux/dcache.h | 1 | ||||
-rw-r--r-- | mm/shmem.c | 8 |
4 files changed, 14 insertions, 14 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index f09b9085f7d8..da89cdfb21ab 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -2724,6 +2724,17 @@ char *dynamic_dname(struct dentry *dentry, char *buffer, int buflen, | |||
2724 | return memcpy(buffer, temp, sz); | 2724 | return memcpy(buffer, temp, sz); |
2725 | } | 2725 | } |
2726 | 2726 | ||
2727 | char *simple_dname(struct dentry *dentry, char *buffer, int buflen) | ||
2728 | { | ||
2729 | char *end = buffer + buflen; | ||
2730 | /* these dentries are never renamed, so d_lock is not needed */ | ||
2731 | if (prepend(&end, &buflen, " (deleted)", 11) || | ||
2732 | prepend_name(&end, &buflen, &dentry->d_name) || | ||
2733 | prepend(&end, &buflen, "/", 1)) | ||
2734 | end = ERR_PTR(-ENAMETOOLONG); | ||
2735 | return end; | ||
2736 | } | ||
2737 | |||
2727 | /* | 2738 | /* |
2728 | * Write full pathname from the root of the filesystem into the buffer. | 2739 | * Write full pathname from the root of the filesystem into the buffer. |
2729 | */ | 2740 | */ |
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index a3f868ae3fd4..4e5f332f15d9 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c | |||
@@ -916,14 +916,8 @@ static int get_hstate_idx(int page_size_log) | |||
916 | return h - hstates; | 916 | return h - hstates; |
917 | } | 917 | } |
918 | 918 | ||
919 | static char *hugetlb_dname(struct dentry *dentry, char *buffer, int buflen) | ||
920 | { | ||
921 | return dynamic_dname(dentry, buffer, buflen, "/%s (deleted)", | ||
922 | dentry->d_name.name); | ||
923 | } | ||
924 | |||
925 | static struct dentry_operations anon_ops = { | 919 | static struct dentry_operations anon_ops = { |
926 | .d_dname = hugetlb_dname | 920 | .d_dname = simple_dname |
927 | }; | 921 | }; |
928 | 922 | ||
929 | /* | 923 | /* |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 1a6bb81f0fe5..9be5ac960fd8 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -332,6 +332,7 @@ extern int d_validate(struct dentry *, struct dentry *); | |||
332 | * helper function for dentry_operations.d_dname() members | 332 | * helper function for dentry_operations.d_dname() members |
333 | */ | 333 | */ |
334 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); | 334 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); |
335 | extern char *simple_dname(struct dentry *, char *, int); | ||
335 | 336 | ||
336 | extern char *__d_path(const struct path *, const struct path *, char *, int); | 337 | extern char *__d_path(const struct path *, const struct path *, char *, int); |
337 | extern char *d_absolute_path(const struct path *, char *, int); | 338 | extern char *d_absolute_path(const struct path *, char *, int); |
diff --git a/mm/shmem.c b/mm/shmem.c index 5e6a8422658b..509b393eceeb 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -2879,14 +2879,8 @@ EXPORT_SYMBOL_GPL(shmem_truncate_range); | |||
2879 | 2879 | ||
2880 | /* common code */ | 2880 | /* common code */ |
2881 | 2881 | ||
2882 | static char *shmem_dname(struct dentry *dentry, char *buffer, int buflen) | ||
2883 | { | ||
2884 | return dynamic_dname(dentry, buffer, buflen, "/%s (deleted)", | ||
2885 | dentry->d_name.name); | ||
2886 | } | ||
2887 | |||
2888 | static struct dentry_operations anon_ops = { | 2882 | static struct dentry_operations anon_ops = { |
2889 | .d_dname = shmem_dname | 2883 | .d_dname = simple_dname |
2890 | }; | 2884 | }; |
2891 | 2885 | ||
2892 | /** | 2886 | /** |