aboutsummaryrefslogtreecommitdiffstats
path: root/fs/reiserfs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-10 19:10:49 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-10 19:10:49 -0500
commitcbfe0de303a55ed96d8831c2d5f56f8131cd6612 (patch)
treeb327762303c6a015421e4077e7c713b8a47a5e0e /fs/reiserfs
parent8322b6fddfd2cee41a7732284e5f04750511f4b2 (diff)
parentba00410b8131b23edfb0e09f8b6dd26c8eb621fb (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull VFS changes from Al Viro: "First pile out of several (there _definitely_ will be more). Stuff in this one: - unification of d_splice_alias()/d_materialize_unique() - iov_iter rewrite - killing a bunch of ->f_path.dentry users (and f_dentry macro). Getting that completed will make life much simpler for unionmount/overlayfs, since then we'll be able to limit the places sensitive to file _dentry_ to reasonably few. Which allows to have file_inode(file) pointing to inode in a covered layer, with dentry pointing to (negative) dentry in union one. Still not complete, but much closer now. - crapectomy in lustre (dead code removal, mostly) - "let's make seq_printf return nothing" preparations - assorted cleanups and fixes There _definitely_ will be more piles" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits) copy_from_iter_nocache() new helper: iov_iter_kvec() csum_and_copy_..._iter() iov_iter.c: handle ITER_KVEC directly iov_iter.c: convert copy_to_iter() to iterate_and_advance iov_iter.c: convert copy_from_iter() to iterate_and_advance iov_iter.c: get rid of bvec_copy_page_{to,from}_iter() iov_iter.c: convert iov_iter_zero() to iterate_and_advance iov_iter.c: convert iov_iter_get_pages_alloc() to iterate_all_kinds iov_iter.c: convert iov_iter_get_pages() to iterate_all_kinds iov_iter.c: convert iov_iter_npages() to iterate_all_kinds iov_iter.c: iterate_and_advance iov_iter.c: macros for iterating over iov_iter kill f_dentry macro dcache: fix kmemcheck warning in switch_names new helper: audit_file() nfsd_vfs_write(): use file_inode() ncpfs: use file_inode() kill f_dentry uses lockd: get rid of ->f_path.dentry->d_sb ...
Diffstat (limited to 'fs/reiserfs')
-rw-r--r--fs/reiserfs/xattr.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index 7c36898af402..04b06146bae2 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -188,10 +188,11 @@ struct reiserfs_dentry_buf {
188}; 188};
189 189
190static int 190static int
191fill_with_dentries(void *buf, const char *name, int namelen, loff_t offset, 191fill_with_dentries(struct dir_context *ctx, const char *name, int namelen,
192 u64 ino, unsigned int d_type) 192 loff_t offset, u64 ino, unsigned int d_type)
193{ 193{
194 struct reiserfs_dentry_buf *dbuf = buf; 194 struct reiserfs_dentry_buf *dbuf =
195 container_of(ctx, struct reiserfs_dentry_buf, ctx);
195 struct dentry *dentry; 196 struct dentry *dentry;
196 197
197 WARN_ON_ONCE(!mutex_is_locked(&dbuf->xadir->d_inode->i_mutex)); 198 WARN_ON_ONCE(!mutex_is_locked(&dbuf->xadir->d_inode->i_mutex));
@@ -209,9 +210,9 @@ fill_with_dentries(void *buf, const char *name, int namelen, loff_t offset,
209 } else if (!dentry->d_inode) { 210 } else if (!dentry->d_inode) {
210 /* A directory entry exists, but no file? */ 211 /* A directory entry exists, but no file? */
211 reiserfs_error(dentry->d_sb, "xattr-20003", 212 reiserfs_error(dentry->d_sb, "xattr-20003",
212 "Corrupted directory: xattr %s listed but " 213 "Corrupted directory: xattr %pd listed but "
213 "not found for file %s.\n", 214 "not found for file %pd.\n",
214 dentry->d_name.name, dbuf->xadir->d_name.name); 215 dentry, dbuf->xadir);
215 dput(dentry); 216 dput(dentry);
216 return -EIO; 217 return -EIO;
217 } 218 }
@@ -824,10 +825,12 @@ struct listxattr_buf {
824 struct dentry *dentry; 825 struct dentry *dentry;
825}; 826};
826 827
827static int listxattr_filler(void *buf, const char *name, int namelen, 828static int listxattr_filler(struct dir_context *ctx, const char *name,
828 loff_t offset, u64 ino, unsigned int d_type) 829 int namelen, loff_t offset, u64 ino,
830 unsigned int d_type)
829{ 831{
830 struct listxattr_buf *b = (struct listxattr_buf *)buf; 832 struct listxattr_buf *b =
833 container_of(ctx, struct listxattr_buf, ctx);
831 size_t size; 834 size_t size;
832 835
833 if (name[0] != '.' || 836 if (name[0] != '.' ||