diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-13 05:28:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-13 05:28:42 -0400 |
commit | 77c688ac87183537ed0fb84ec2cb8fa8ec97c458 (patch) | |
tree | d18e117e05c0d71463823536165ddd9ad75b6bc5 /fs/cifs | |
parent | 5e40d331bd72447197f26525f21711c4a265b6a6 (diff) | |
parent | a457606a6f81cfddfc9da1ef2a8bf2c65a8eb35e (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs updates from Al Viro:
"The big thing in this pile is Eric's unmount-on-rmdir series; we
finally have everything we need for that. The final piece of prereqs
is delayed mntput() - now filesystem shutdown always happens on
shallow stack.
Other than that, we have several new primitives for iov_iter (Matt
Wilcox, culled from his XIP-related series) pushing the conversion to
->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c
cleanups and fixes (including the external name refcounting, which
gives consistent behaviour of d_move() wrt procfs symlinks for long
and short names alike) and assorted cleanups and fixes all over the
place.
This is just the first pile; there's a lot of stuff from various
people that ought to go in this window. Starting with
unionmount/overlayfs mess... ;-/"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits)
fs/file_table.c: Update alloc_file() comment
vfs: Deduplicate code shared by xattr system calls operating on paths
reiserfs: remove pointless forward declaration of struct nameidata
don't need that forward declaration of struct nameidata in dcache.h anymore
take dname_external() into fs/dcache.c
let path_init() failures treated the same way as subsequent link_path_walk()
fix misuses of f_count() in ppp and netlink
ncpfs: use list_for_each_entry() for d_subdirs walk
vfs: move getname() from callers to do_mount()
gfs2_atomic_open(): skip lookups on hashed dentry
[infiniband] remove pointless assignments
gadgetfs: saner API for gadgetfs_create_file()
f_fs: saner API for ffs_sb_create_file()
jfs: don't hash direct inode
[s390] remove pointless assignment of ->f_op in vmlogrdr ->open()
ecryptfs: ->f_op is never NULL
android: ->f_op is never NULL
nouveau: __iomem misannotations
missing annotation in fs/file.c
fs: namespace: suppress 'may be used uninitialized' warnings
...
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/dir.c | 14 | ||||
-rw-r--r-- | fs/cifs/file.c | 12 | ||||
-rw-r--r-- | fs/cifs/inode.c | 12 | ||||
-rw-r--r-- | fs/cifs/readdir.c | 6 |
4 files changed, 20 insertions, 24 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 6cbd9c688cfe..073640675a39 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
@@ -461,8 +461,8 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry, | |||
461 | 461 | ||
462 | xid = get_xid(); | 462 | xid = get_xid(); |
463 | 463 | ||
464 | cifs_dbg(FYI, "parent inode = 0x%p name is: %s and dentry = 0x%p\n", | 464 | cifs_dbg(FYI, "parent inode = 0x%p name is: %pd and dentry = 0x%p\n", |
465 | inode, direntry->d_name.name, direntry); | 465 | inode, direntry, direntry); |
466 | 466 | ||
467 | tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); | 467 | tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); |
468 | if (IS_ERR(tlink)) { | 468 | if (IS_ERR(tlink)) { |
@@ -540,8 +540,8 @@ int cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode, | |||
540 | struct cifs_fid fid; | 540 | struct cifs_fid fid; |
541 | __u32 oplock; | 541 | __u32 oplock; |
542 | 542 | ||
543 | cifs_dbg(FYI, "cifs_create parent inode = 0x%p name is: %s and dentry = 0x%p\n", | 543 | cifs_dbg(FYI, "cifs_create parent inode = 0x%p name is: %pd and dentry = 0x%p\n", |
544 | inode, direntry->d_name.name, direntry); | 544 | inode, direntry, direntry); |
545 | 545 | ||
546 | tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); | 546 | tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); |
547 | rc = PTR_ERR(tlink); | 547 | rc = PTR_ERR(tlink); |
@@ -713,8 +713,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, | |||
713 | 713 | ||
714 | xid = get_xid(); | 714 | xid = get_xid(); |
715 | 715 | ||
716 | cifs_dbg(FYI, "parent inode = 0x%p name is: %s and dentry = 0x%p\n", | 716 | cifs_dbg(FYI, "parent inode = 0x%p name is: %pd and dentry = 0x%p\n", |
717 | parent_dir_inode, direntry->d_name.name, direntry); | 717 | parent_dir_inode, direntry, direntry); |
718 | 718 | ||
719 | /* check whether path exists */ | 719 | /* check whether path exists */ |
720 | 720 | ||
@@ -833,7 +833,7 @@ cifs_d_revalidate(struct dentry *direntry, unsigned int flags) | |||
833 | { | 833 | { |
834 | int rc = 0; | 834 | int rc = 0; |
835 | 835 | ||
836 | cifs_dbg(FYI, "In cifs d_delete, name = %s\n", direntry->d_name.name); | 836 | cifs_dbg(FYI, "In cifs d_delete, name = %pd\n", direntry); |
837 | 837 | ||
838 | return rc; | 838 | return rc; |
839 | } */ | 839 | } */ |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 5f29354b072a..8f7b40fd8f3b 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -1650,8 +1650,8 @@ cifs_write(struct cifsFileInfo *open_file, __u32 pid, const char *write_data, | |||
1650 | 1650 | ||
1651 | cifs_sb = CIFS_SB(dentry->d_sb); | 1651 | cifs_sb = CIFS_SB(dentry->d_sb); |
1652 | 1652 | ||
1653 | cifs_dbg(FYI, "write %zd bytes to offset %lld of %s\n", | 1653 | cifs_dbg(FYI, "write %zd bytes to offset %lld of %pd\n", |
1654 | write_size, *offset, dentry->d_name.name); | 1654 | write_size, *offset, dentry); |
1655 | 1655 | ||
1656 | tcon = tlink_tcon(open_file->tlink); | 1656 | tcon = tlink_tcon(open_file->tlink); |
1657 | server = tcon->ses->server; | 1657 | server = tcon->ses->server; |
@@ -2273,8 +2273,8 @@ int cifs_strict_fsync(struct file *file, loff_t start, loff_t end, | |||
2273 | 2273 | ||
2274 | xid = get_xid(); | 2274 | xid = get_xid(); |
2275 | 2275 | ||
2276 | cifs_dbg(FYI, "Sync file - name: %s datasync: 0x%x\n", | 2276 | cifs_dbg(FYI, "Sync file - name: %pD datasync: 0x%x\n", |
2277 | file->f_path.dentry->d_name.name, datasync); | 2277 | file, datasync); |
2278 | 2278 | ||
2279 | if (!CIFS_CACHE_READ(CIFS_I(inode))) { | 2279 | if (!CIFS_CACHE_READ(CIFS_I(inode))) { |
2280 | rc = cifs_zap_mapping(inode); | 2280 | rc = cifs_zap_mapping(inode); |
@@ -2315,8 +2315,8 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync) | |||
2315 | 2315 | ||
2316 | xid = get_xid(); | 2316 | xid = get_xid(); |
2317 | 2317 | ||
2318 | cifs_dbg(FYI, "Sync file - name: %s datasync: 0x%x\n", | 2318 | cifs_dbg(FYI, "Sync file - name: %pD datasync: 0x%x\n", |
2319 | file->f_path.dentry->d_name.name, datasync); | 2319 | file, datasync); |
2320 | 2320 | ||
2321 | tcon = tlink_tcon(smbfile->tlink); | 2321 | tcon = tlink_tcon(smbfile->tlink); |
2322 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOSSYNC)) { | 2322 | if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOSSYNC)) { |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 7899a40465b3..8fd4ee8e07ff 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -1419,8 +1419,8 @@ cifs_posix_mkdir(struct inode *inode, struct dentry *dentry, umode_t mode, | |||
1419 | d_instantiate(dentry, newinode); | 1419 | d_instantiate(dentry, newinode); |
1420 | 1420 | ||
1421 | #ifdef CONFIG_CIFS_DEBUG2 | 1421 | #ifdef CONFIG_CIFS_DEBUG2 |
1422 | cifs_dbg(FYI, "instantiated dentry %p %s to inode %p\n", | 1422 | cifs_dbg(FYI, "instantiated dentry %p %pd to inode %p\n", |
1423 | dentry, dentry->d_name.name, newinode); | 1423 | dentry, dentry, newinode); |
1424 | 1424 | ||
1425 | if (newinode->i_nlink != 2) | 1425 | if (newinode->i_nlink != 2) |
1426 | cifs_dbg(FYI, "unexpected number of links %d\n", | 1426 | cifs_dbg(FYI, "unexpected number of links %d\n", |
@@ -2111,8 +2111,8 @@ cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs) | |||
2111 | struct cifs_unix_set_info_args *args = NULL; | 2111 | struct cifs_unix_set_info_args *args = NULL; |
2112 | struct cifsFileInfo *open_file; | 2112 | struct cifsFileInfo *open_file; |
2113 | 2113 | ||
2114 | cifs_dbg(FYI, "setattr_unix on file %s attrs->ia_valid=0x%x\n", | 2114 | cifs_dbg(FYI, "setattr_unix on file %pd attrs->ia_valid=0x%x\n", |
2115 | direntry->d_name.name, attrs->ia_valid); | 2115 | direntry, attrs->ia_valid); |
2116 | 2116 | ||
2117 | xid = get_xid(); | 2117 | xid = get_xid(); |
2118 | 2118 | ||
@@ -2254,8 +2254,8 @@ cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs) | |||
2254 | 2254 | ||
2255 | xid = get_xid(); | 2255 | xid = get_xid(); |
2256 | 2256 | ||
2257 | cifs_dbg(FYI, "setattr on file %s attrs->iavalid 0x%x\n", | 2257 | cifs_dbg(FYI, "setattr on file %pd attrs->iavalid 0x%x\n", |
2258 | direntry->d_name.name, attrs->ia_valid); | 2258 | direntry, attrs->ia_valid); |
2259 | 2259 | ||
2260 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) | 2260 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) |
2261 | attrs->ia_valid |= ATTR_FORCE; | 2261 | attrs->ia_valid |= ATTR_FORCE; |
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index b334a89d6a66..d2141f101382 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c | |||
@@ -87,8 +87,6 @@ cifs_prime_dcache(struct dentry *parent, struct qstr *name, | |||
87 | return; | 87 | return; |
88 | 88 | ||
89 | if (dentry) { | 89 | if (dentry) { |
90 | int err; | ||
91 | |||
92 | inode = dentry->d_inode; | 90 | inode = dentry->d_inode; |
93 | if (inode) { | 91 | if (inode) { |
94 | /* | 92 | /* |
@@ -105,10 +103,8 @@ cifs_prime_dcache(struct dentry *parent, struct qstr *name, | |||
105 | goto out; | 103 | goto out; |
106 | } | 104 | } |
107 | } | 105 | } |
108 | err = d_invalidate(dentry); | 106 | d_invalidate(dentry); |
109 | dput(dentry); | 107 | dput(dentry); |
110 | if (err) | ||
111 | return; | ||
112 | } | 108 | } |
113 | 109 | ||
114 | /* | 110 | /* |