Jan Kara <[EMAIL PROTECTED]> wrote:
> But if you 'goto out' in some branches, we loose the ext3_warning()
> which we probably don't want.
Ugh. Okay, I need to rework the changes to that function.
> > return ERR_PTR(-EACCES);
> Wouldn't here -EIO be more appropriate?
I w
Dave Kleikamp <[EMAIL PROTECTED]> wrote:
> Of course, the cast is unnecessary,
The cast is necessary as the argument is a const pointer and the return type
is not.
> and I'm sure you meant to return error:
Oops. Yes, I changed my mind and renamed the argument to be 'error', but
forgot to chang
Jan Kara <[EMAIL PROTECTED]> wrote:
> Same comments as for ext3 - I think you reversed ext4_test_bit() test
> and also the warning won't be issued in some cases which is wrong.
Same replies as for ext3 too. Blech.
You should find altered patches landing in your inbox if you'd care to inspect
Hi Christoph, Al,
Here's a set of patches that remove all calls to iget() and all read_inode()
functions. They should be removed for two reasons: firstly they don't lend
themselves to good error handling, and secondly their presence is a temptation
for code outside a filesystem to call iget() t
Introduce a function to register failure in an inode construction path. This
includes marking the inode under construction as bad, unlocking it and
releasing it.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/porting | 18 +-
fs/bad_i
Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:
perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl
'ERR_PTR[(]*PTR_ERR' fs crypto net security`
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
crypto/cbc.c
Add an ERR_CAST() macro to complement ERR_PTR and co. for the purposes of
casting an error entyped as one pointer type to an error of another pointer
type whilst making it explicit as to what is going on.
This provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.
Signed-off-by: David
Use iget_failed() in GFS2 to kill a failed inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/gfs2/inode.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 34f7bcd..498844f 100644
--- a/fs/gfs2/inode.c
+++ b/f
Use iget_failed() in AFS to kill a failed inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/afs/inode.c |5 +
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index d196840..ca9b02f 100644
--- a/fs/afs/inode.c
+++ b/
sb, ino);
if (IS_ERR(inode)) {
ret = PTR_ERR(inode);
goto error;
}
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/Exporting |5 -
Documentation/filesystems/Locking |3 ---
Documentation/filesystems/vfs
Stop the autofs filesystem from using iget() and read_inode(). Replace
autofs_read_inode() with autofs_iget(), and call that instead of iget().
autofs_iget() then uses iget_locked() directly and returns a proper error code
instead of an inode in the event of an error.
Signed-off-by: David
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: Will Dyson <[EMAIL PROTECTED]>
---
fs/befs/linuxvfs.c | 39 +--
1 files changed, 25 insertions(+), 14 deletions(-)
diff --g
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/bfs/bfs.h |2 ++
fs/bfs/dir.c |6 +++---
fs/bfs/inode.c | 32 ++--
3 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/fs/bfs/b
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/affs/affs.h |2 +-
fs/affs/amigaffs.c |6 --
fs/affs/inode.c| 20 +---
fs/affs/namei.c| 10 --
fs/affs/super.c
error incurred when getting the root inode
instead of ENOMEM.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/cifs/cifsfs.c |8
fs/cifs/cifsfs.h |1 +
fs/cifs/inode.c | 35 ++-
3 files changed, 31 insertions(+), 13 deletions(-)
incurred when getting the root inode
instead of EACCES.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/efs/inode.c | 25 +
fs/efs/namei.c | 23 ---
fs/efs/super.c | 18 --
include/linux/efs_fs.h
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ext2/ext2.h |2 +-
fs/ext2/inode.c | 30 ++
fs/ext2/namei.c | 12 ++--
fs/ext2/super.c | 32 ++--
4
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ext3/ialloc.c| 58 ---
fs/ext3/inode.c | 25 +++-
fs/ext3/namei.c
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ext4/ialloc.c| 58 ---
fs/ext4/inode.c | 25 +++-
fs/ext4/namei.c
Stop the FAT filesystem from using iget() and read_inode(). Replace
the call to iget() with a call to ilookup().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fat/inode.c |6 ++
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/fat/inode.c b/fs/fat/i
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/freevxfs/vxfs_extern.h |2 +-
fs/freevxfs/vxfs_inode.c | 45 +
fs/freevxfs/vxfs_lookup.c |6 +++---
fs/freevxfs/vxfs_s
Stop the FUSE filesystem from using read_inode(), which it doesn't use anyway.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fuse/inode.c |6 --
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 5448f62..2986654 1
() returns any error incurred when getting the root inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/hfsplus/btree.c |6 --
fs/hfsplus/dir.c|6 +++---
fs/hfsplus/hfsplus_fs.h |3 +++
fs/hfsplus/super.c
Stop the ISOFS filesystem from using read_inode(). Make isofs_read_inode()
return an error code, and make isofs_iget() pass it on.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/isofs/inode.c | 25 +
1 files changed, 17 insertions(+), 8 deletions(-)
any error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/jffs2/dir.c |6 +++--
fs/jffs2/fs.c | 56 ---
fs/jffs2/os-linux.h |2 +-
fs/jffs2/super.c|
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: Dave Kleikamp <[EMAIL PROTECTED]>
---
fs/jfs/inode.c | 20
fs/jfs/jfs_inode.h |2 +-
fs/jfs/namei.c | 34 ++
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/minix/inode.c | 43 +--
fs/minix/minix.h |1 +
fs/minix/namei.c |7 +++
3 files changed, 33 insertions(+), 18 del
Stop the PROCFS filesystem from using iget() and read_inode(). Merge
procfs_read_inode() into procfs_get_inode(), and have that call iget_locked()
instead of iget().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/proc/inode.c
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/qnx4/inode.c | 45 ++---
fs/qnx4/namei.c |8 +---
include/linux/qnx4_fs.h |1 +
3 files changed, 36 inse
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/romfs/inode.c | 45 +++--
1 files changed, 31 insertions(+), 14 deletions(-)
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
Stop the SYSV filesystem from using iget() and read_inode(). Replace
sysv_read_inode() with sysv_iget(), and call that instead of iget().
sysv_iget() then uses iget_locked() directly and returns a proper error code
instead of an inode in the event of an error.
Signed-off-by: David Howells
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ufs/inode.c | 34 --
fs/ufs/namei.c |6 +++---
fs/ufs/super.c | 14 +-
include/linux/ufs_fs.h |2 +-
4
.
openpromfs_fill_super() returns any error incurred when getting the root inode
instead of ENOMEM (not that it currently incurs any other error).
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/openpromfs/inode.c | 45 ++---
1 files changed, 30 inse
() to find an inode by
number in a filesystem from code outside that filesystem.
iget_locked() should be used instead. A new function is added (iget_failed)
that is to be called to mark an inode as bad, unlock it and release it should
the get routine fail.
Signed-off-by: David Howells <[EM
f the inode goes away.
(*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode().
(*) It would appear that all hppfs inodes are the same inode because iget()
was being called with inode number 0, which forms the lookup key.
Signed-off-by: David Howells <[EMAIL P
inode number 0 - which forms the lookup key.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/hostfs/hostfs_kern.c | 58 ---
1 files changed, 39 insertions(+), 19 deletions(-)
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
David Howells <[EMAIL PROTECTED]> wrote:
> A tarball of the patches can be retrieved from:
>
> http://people.redhat.com/~dhowells/iget-remove.tar.bz2
I've updated that to actually reflect this set of patches and not the old set.
David
-
To unsubscribe from this
David Howells <[EMAIL PROTECTED]> wrote:
> > Why do you move it out of line?
>
> Because otherwise every file that gets compiled that includes linux/fs.h will
> emit a warning that the implementation of that function is deprecated.
Or, rather, that read_inode() is de
Christoph Hellwig <[EMAIL PROTECTED]> wrote:
> Why do you move it out of line?
Because otherwise every file that gets compiled that includes linux/fs.h will
emit a warning that the implementation of that function is deprecated.
David
-
To unsubscribe from this list: send the line "unsubscribe li
Christoph Hellwig <[EMAIL PROTECTED]> wrote:
> I don't like this one very much, I'd rather take the variant Linus
> outline in his last post on that topic..
I'd rather not take that variant.
David
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message
Sam Ravnborg <[EMAIL PROTECTED]> wrote:
> One like one variant, another like another variant.
> Both fails to say why.
It's shorter, more compact, and of course requires the least amount of change
(especially as I can automate it with a command line perl script).
David
-
To unsubscribe from this
Add an ERR_CAST() macro to complement ERR_PTR and co. for the purposes of
casting an error entyped as one pointer type to an error of another pointer
type whilst making it explicit as to what is going on.
This provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.
Signed-off-by: David
Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:
perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl
'ERR_PTR[(]*PTR_ERR' fs crypto net security`
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
crypto/cbc.c
Introduce a function to register failure in an inode construction path. This
includes marking the inode under construction as bad, unlocking it and
releasing it.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/porting | 18 +-
fs/bad_i
Use iget_failed() in AFS to kill a failed inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/afs/inode.c |5 +
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index d196840..ca9b02f 100644
--- a/fs/afs/inode.c
+++ b/
Hi Christoph, Al,
Here's a set of patches that remove all calls to iget() and all read_inode()
functions. They should be removed for two reasons: firstly they don't lend
themselves to good error handling, and secondly their presence is a temptation
for code outside a filesystem to call iget() t
Use iget_failed() in GFS2 to kill a failed inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/gfs2/inode.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 34f7bcd..498844f 100644
--- a/fs/gfs2/inode.c
+++ b/f
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/affs/affs.h |2 +-
fs/affs/amigaffs.c |6 --
fs/affs/inode.c| 20 +---
fs/affs/namei.c| 10 --
fs/affs/super.c
Stop the autofs filesystem from using iget() and read_inode(). Replace
autofs_read_inode() with autofs_iget(), and call that instead of iget().
autofs_iget() then uses iget_locked() directly and returns a proper error code
instead of an inode in the event of an error.
Signed-off-by: David
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: Will Dyson <[EMAIL PROTECTED]>
---
fs/befs/linuxvfs.c | 39 +--
1 files changed, 25 insertions(+), 14 deletions(-)
diff --g
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/bfs/bfs.h |2 ++
fs/bfs/dir.c |6 +++---
fs/bfs/inode.c | 32 ++--
3 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/fs/bfs/b
error incurred when getting the root inode
instead of ENOMEM.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/cifs/cifsfs.c |8
fs/cifs/cifsfs.h |1 +
fs/cifs/inode.c | 35 ++-
3 files changed, 31 insertions(+), 13 deletions(-)
incurred when getting the root inode
instead of EACCES.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/efs/inode.c | 25 +
fs/efs/namei.c | 23 ---
fs/efs/super.c | 18 --
include/linux/efs_fs.h
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: "Theodore Ts'o" <[EMAIL PROTECTED]>
---
fs/ext2/ext2.h |2 +-
fs/ext2/inode.c | 30 ++
fs/ext2/namei.c | 12 ++---
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: "Theodore Ts'o" <[EMAIL PROTECTED]>
Acked-by: Jan Kara <[EMAIL PROTECTED]>
---
fs/ext3/ialloc.c| 58 ---
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: "Theodore Ts'o" <[EMAIL PROTECTED]>
Acked-by: Jan Kara <[EMAIL PROTECTED]>
---
fs/ext4/ialloc.c| 58 ---
Stop the FAT filesystem from using iget() and read_inode(). Replace
the call to iget() with a call to ilookup().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fat/inode.c |6 ++
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/fat/inode.c b/fs/fat/i
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/freevxfs/vxfs_extern.h |2 +-
fs/freevxfs/vxfs_inode.c | 45 +
fs/freevxfs/vxfs_lookup.c |6 +++---
fs/freevxfs/vxfs_s
Stop the FUSE filesystem from using read_inode(), which it doesn't use anyway.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fuse/inode.c |6 --
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 5448f62..2986654 1
() returns any error incurred when getting the root inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/hfsplus/btree.c |6 --
fs/hfsplus/dir.c|6 +++---
fs/hfsplus/hfsplus_fs.h |3 +++
fs/hfsplus/super.c
Stop the ISOFS filesystem from using read_inode(). Make isofs_read_inode()
return an error code, and make isofs_iget() pass it on.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/isofs/inode.c | 25 +
1 files changed, 17 insertions(+), 8 deletions(-)
any error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/jffs2/dir.c |6 +++--
fs/jffs2/fs.c | 56 ---
fs/jffs2/os-linux.h |2 +-
fs/jffs2/super.c|
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: Dave Kleikamp <[EMAIL PROTECTED]>
---
fs/jfs/inode.c | 20
fs/jfs/jfs_inode.h |2 +-
fs/jfs/namei.c | 34 ++
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/minix/inode.c | 43 +--
fs/minix/minix.h |1 +
fs/minix/namei.c |7 +++
3 files changed, 33 insertions(+), 18 del
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/qnx4/inode.c | 45 ++---
fs/qnx4/namei.c |8 +---
include/linux/qnx4_fs.h |1 +
3 files changed, 36 inse
Stop the PROCFS filesystem from using iget() and read_inode(). Merge
procfs_read_inode() into procfs_get_inode(), and have that call iget_locked()
instead of iget().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/proc/inode.c
Stop the SYSV filesystem from using iget() and read_inode(). Replace
sysv_read_inode() with sysv_iget(), and call that instead of iget().
sysv_iget() then uses iget_locked() directly and returns a proper error code
instead of an inode in the event of an error.
Signed-off-by: David Howells
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/romfs/inode.c | 45 +++--
1 files changed, 31 insertions(+), 14 deletions(-)
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ufs/inode.c | 34 --
fs/ufs/namei.c |6 +++---
fs/ufs/super.c | 14 +-
include/linux/ufs_fs.h |2 +-
4
.
openpromfs_fill_super() returns any error incurred when getting the root inode
instead of ENOMEM (not that it currently incurs any other error).
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/openpromfs/inode.c | 45 ++---
1 files changed, 30 inse
inode number 0 - which forms the lookup key.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/hostfs/hostfs_kern.c | 58 ---
1 files changed, 39 insertions(+), 19 deletions(-)
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
f the inode goes away.
(*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode().
(*) It would appear that all hppfs inodes are the same inode because iget()
was being called with inode number 0, which forms the lookup key.
Signed-off-by: David Howells <[EMAIL P
R(inode)) {
ret = PTR_ERR(inode);
goto error;
}
Note that is_bad_inode() does not need to be called. The error returned by
thingyfs_iget() should render it unnecessary.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/Exp
Roel Kluin <[EMAIL PROTECTED]> wrote:
> > + if (IS_ERR(inode))
> > + return ERR_PTR(-ENOMEM);
> > + if (!(inode->i_state & I_NEW))
> > + return inode;
>
> Don't you have to unlock_new_inode(inode) before returning?
In the first case, no because an OOM error was returned r
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/romfs/inode.c | 45 +++--
1 files changed, 31 insertions(+), 14 deletions(-)
diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/qnx4/inode.c | 45 ++---
fs/qnx4/namei.c |8 +---
include/linux/qnx4_fs.h |1 +
3 files changed, 36 inse
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/minix/inode.c | 43 +--
fs/minix/minix.h |1 +
fs/minix/namei.c |7 +++
3 files changed, 33 insertions(+), 18 del
error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/freevxfs/vxfs_extern.h |2 +-
fs/freevxfs/vxfs_inode.c | 45 +
fs/freevxfs/vxfs_lookup.c |6 +++---
fs/freevxfs/vxfs_s
Stop the FAT filesystem from using iget() and read_inode(). Replace
the call to iget() with a call to ilookup().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fat/inode.c |6 ++
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/fat/inode.c b/fs/fat/i
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: "Theodore Ts'o" <[EMAIL PROTECTED]>
Acked-by: Jan Kara <[EMAIL PROTECTED]>
---
fs/ext3/ialloc.c| 58 ---
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
Acked-by: Will Dyson <[EMAIL PROTECTED]>
---
fs/befs/linuxvfs.c | 39 +--
1 files changed, 25 insertions(+), 14 deletions(-)
diff --g
Use iget_failed() in AFS to kill a failed inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/afs/inode.c |5 +
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index d196840..ca9b02f 100644
--- a/fs/afs/inode.c
+++ b/
Introduce a function to register failure in an inode construction path. This
includes marking the inode under construction as bad, unlocking it and
releasing it.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/porting | 18 +-
fs/bad_i
Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:
perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl
'ERR_PTR[(]*PTR_ERR' fs crypto net security`
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
crypto/cbc.c
Add an ERR_CAST() macro to complement ERR_PTR and co. for the purposes of
casting an error entyped as one pointer type to an error of another pointer
type whilst making it explicit as to what is going on.
This provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.
Signed-off-by: David
Hi Linus,
Here's a set of patches that remove all calls to iget() and all read_inode()
functions. They should be removed for two reasons: firstly they don't lend
themselves to good error handling, and secondly their presence is a temptation
for code outside a filesystem to call iget() to access
R(inode)) {
ret = PTR_ERR(inode);
goto error;
}
Note that is_bad_inode() does not need to be called. The error returned by
thingyfs_iget() should render it unnecessary.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
Documentation/filesystems/Exp
f the inode goes away.
(*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode().
(*) It would appear that all hppfs inodes are the same inode because iget()
was being called with inode number 0, which forms the lookup key.
Signed-off-by: David Howells <[EMAIL P
.
openpromfs_fill_super() returns any error incurred when getting the root inode
instead of ENOMEM (not that it currently incurs any other error).
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/openpromfs/inode.c | 45 ++---
1 files changed, 30 inse
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/ufs/inode.c | 34 --
fs/ufs/namei.c |6 +++---
fs/ufs/super.c | 14 +-
include/linux/ufs_fs.h |2 +-
4
Stop the SYSV filesystem from using iget() and read_inode(). Replace
sysv_read_inode() with sysv_iget(), and call that instead of iget().
sysv_iget() then uses iget_locked() directly and returns a proper error code
instead of an inode in the event of an error.
Signed-off-by: David Howells
Stop the PROCFS filesystem from using iget() and read_inode(). Merge
procfs_read_inode() into procfs_get_inode(), and have that call iget_locked()
instead of iget().
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/proc/inode.c
any error incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/jffs2/dir.c |6 +++--
fs/jffs2/fs.c | 56 ---
fs/jffs2/os-linux.h |2 +-
fs/jffs2/super.c|
Stop the ISOFS filesystem from using read_inode(). Make isofs_read_inode()
return an error code, and make isofs_iget() pass it on.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/isofs/inode.c | 25 +
1 files changed, 17 insertions(+), 8 deletions(-)
() returns any error incurred when getting the root inode.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/hfsplus/btree.c |6 --
fs/hfsplus/dir.c|6 +++---
fs/hfsplus/hfsplus_fs.h |3 +++
fs/hfsplus/super.c
Stop the FUSE filesystem from using read_inode(), which it doesn't use anyway.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/fuse/inode.c |6 --
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 5448f62..2986654 1
incurred when getting the root inode
instead of EACCES.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/efs/inode.c | 25 +
fs/efs/namei.c | 23 ---
fs/efs/super.c | 18 --
include/linux/efs_fs.h
error incurred when getting the root inode
instead of ENOMEM.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/cifs/cifsfs.c |8
fs/cifs/cifsfs.h |1 +
fs/cifs/inode.c | 35 ++-
3 files changed, 31 insertions(+), 13 deletions(-)
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/bfs/bfs.h |2 ++
fs/bfs/dir.c |6 +++---
fs/bfs/inode.c | 32 ++--
3 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/fs/bfs/b
incurred when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells <[EMAIL PROTECTED]>
---
fs/affs/affs.h |2 +-
fs/affs/amigaffs.c |6 --
fs/affs/inode.c| 20 +---
fs/affs/namei.c| 10 --
fs/affs/super.c
201 - 300 of 507 matches
Mail list logo