diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 19:10:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 19:10:49 -0500 |
commit | cbfe0de303a55ed96d8831c2d5f56f8131cd6612 (patch) | |
tree | b327762303c6a015421e4077e7c713b8a47a5e0e /drivers/s390 | |
parent | 8322b6fddfd2cee41a7732284e5f04750511f4b2 (diff) | |
parent | ba00410b8131b23edfb0e09f8b6dd26c8eb621fb (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 'drivers/s390')
-rw-r--r-- | drivers/s390/char/hmcdrv_dev.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/s390/char/hmcdrv_dev.c b/drivers/s390/char/hmcdrv_dev.c index 0c5176179c17..43cee7fcd01c 100644 --- a/drivers/s390/char/hmcdrv_dev.c +++ b/drivers/s390/char/hmcdrv_dev.c | |||
@@ -136,8 +136,7 @@ static int hmcdrv_dev_open(struct inode *inode, struct file *fp) | |||
136 | if (rc) | 136 | if (rc) |
137 | module_put(THIS_MODULE); | 137 | module_put(THIS_MODULE); |
138 | 138 | ||
139 | pr_debug("open file '/dev/%s' with return code %d\n", | 139 | pr_debug("open file '/dev/%pD' with return code %d\n", fp, rc); |
140 | fp->f_dentry->d_name.name, rc); | ||
141 | return rc; | 140 | return rc; |
142 | } | 141 | } |
143 | 142 | ||
@@ -146,7 +145,7 @@ static int hmcdrv_dev_open(struct inode *inode, struct file *fp) | |||
146 | */ | 145 | */ |
147 | static int hmcdrv_dev_release(struct inode *inode, struct file *fp) | 146 | static int hmcdrv_dev_release(struct inode *inode, struct file *fp) |
148 | { | 147 | { |
149 | pr_debug("closing file '/dev/%s'\n", fp->f_dentry->d_name.name); | 148 | pr_debug("closing file '/dev/%pD'\n", fp); |
150 | kfree(fp->private_data); | 149 | kfree(fp->private_data); |
151 | fp->private_data = NULL; | 150 | fp->private_data = NULL; |
152 | hmcdrv_ftp_shutdown(); | 151 | hmcdrv_ftp_shutdown(); |
@@ -231,8 +230,8 @@ static ssize_t hmcdrv_dev_read(struct file *fp, char __user *ubuf, | |||
231 | retlen = hmcdrv_dev_transfer((char *) fp->private_data, | 230 | retlen = hmcdrv_dev_transfer((char *) fp->private_data, |
232 | *pos, ubuf, len); | 231 | *pos, ubuf, len); |
233 | 232 | ||
234 | pr_debug("read from file '/dev/%s' at %lld returns %zd/%zu\n", | 233 | pr_debug("read from file '/dev/%pD' at %lld returns %zd/%zu\n", |
235 | fp->f_dentry->d_name.name, (long long) *pos, retlen, len); | 234 | fp, (long long) *pos, retlen, len); |
236 | 235 | ||
237 | if (retlen > 0) | 236 | if (retlen > 0) |
238 | *pos += retlen; | 237 | *pos += retlen; |
@@ -248,8 +247,8 @@ static ssize_t hmcdrv_dev_write(struct file *fp, const char __user *ubuf, | |||
248 | { | 247 | { |
249 | ssize_t retlen; | 248 | ssize_t retlen; |
250 | 249 | ||
251 | pr_debug("writing file '/dev/%s' at pos. %lld with length %zd\n", | 250 | pr_debug("writing file '/dev/%pD' at pos. %lld with length %zd\n", |
252 | fp->f_dentry->d_name.name, (long long) *pos, len); | 251 | fp, (long long) *pos, len); |
253 | 252 | ||
254 | if (!fp->private_data) { /* first expect a cmd write */ | 253 | if (!fp->private_data) { /* first expect a cmd write */ |
255 | fp->private_data = kmalloc(len + 1, GFP_KERNEL); | 254 | fp->private_data = kmalloc(len + 1, GFP_KERNEL); |
@@ -272,8 +271,7 @@ static ssize_t hmcdrv_dev_write(struct file *fp, const char __user *ubuf, | |||
272 | if (retlen > 0) | 271 | if (retlen > 0) |
273 | *pos += retlen; | 272 | *pos += retlen; |
274 | 273 | ||
275 | pr_debug("write to file '/dev/%s' returned %zd\n", | 274 | pr_debug("write to file '/dev/%pD' returned %zd\n", fp, retlen); |
276 | fp->f_dentry->d_name.name, retlen); | ||
277 | 275 | ||
278 | return retlen; | 276 | return retlen; |
279 | } | 277 | } |