[PATCH 13/31] IGET: Stop EXT3 from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 --- fs/ext3/inode.c | 25

[PATCH 14/31] IGET: Stop EXT4 from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 --- fs/ext4/inode.c | 25

[PATCH 15/31] IGET: Stop FAT from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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/inode.c index

[PATCH 16/31] IGET: Stop FreeVXFS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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_super.c

[PATCH 17/31] IGET: Stop FUSE from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 100644

[PATCH 18/31] IGET: Stop HFSPLUS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
() 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 | 44 4

[PATCH 19/31] IGET: Stop ISOFS from using read_inode() [try #3]

2007-10-10 Thread David Howells
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(-) diff --git

[PATCH 20/31] IGET: Stop JFFS2 from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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|1 - 4

[PATCH 21/31] IGET: Stop JFS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 ++ fs/jfs

[PATCH 22/31] IGET: Stop the MINIX filesystem from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 deletions

[PATCH 24/31] IGET: Stop QNX4 from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 insertions

[PATCH 23/31] IGET: Stop PROCFS from using iget() and read_inode() [try #3]

2007-10-10 Thread 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 | 60

[PATCH 26/31] IGET: Stop the SYSV filesystem from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
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 [EMAIL

[PATCH 25/31] IGET: Stop ROMFS from using iget() and read_inode() [try #3]

2007-10-10 Thread 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 index

[PATCH 27/31] IGET: Stop UFS from using iget() and read_inode() [try #3]

2007-10-10 Thread 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 files

[PATCH 28/31] IGET: Stop OPENPROMFS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
. 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 insertions

[PATCH 29/31] IGET: Stop HOSTFS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
with 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 index

[PATCH 30/31] IGET: Stop HPPFS from using iget() and read_inode() [try #3]

2007-10-10 Thread David Howells
if 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 PROTECTED] --- fs

[PATCH 31/31] IGET: Remove iget() and the read_inode() super op as being obsolete [try #3]

2007-10-10 Thread David Howells
)) { 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/Exporting |5

Re: [PATCH 09/31] IGET: Stop BFS from using iget() and read_inode() [try #3]

2007-10-11 Thread David Howells
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 rather than an

[PATCH 25/31] IGET: Stop ROMFS from using iget() and read_inode() [try #4]

2007-10-12 Thread 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 index

[PATCH 24/31] IGET: Stop QNX4 from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 insertions

[PATCH 16/31] IGET: Stop FreeVXFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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_super.c

[PATCH 15/31] IGET: Stop FAT from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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/inode.c index

[PATCH 13/31] IGET: Stop EXT3 from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 --- fs/ext3/inode.c | 25

[PATCH 08/31] IGET: Stop BEFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 --git a/fs/befs/linuxvfs.c

[PATCH 04/31] IGET: Use iget_failed() in AFS [try #4]

2007-10-12 Thread David Howells
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/fs/afs/inode.c

[PATCH 03/31] IGET: Introduce a function to register iget failure [try #4]

2007-10-12 Thread David Howells
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_inode.c

[PATCH 02/31] Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) [try #4]

2007-10-12 Thread David Howells
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 |2 +- crypto/cryptd.c

[PATCH 01/31] Add an ERR_CAST() macro to complement ERR_PTR and co. [try #4]

2007-10-12 Thread David Howells
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

[PATCH 00/31] Remove iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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

[PATCH 31/31] IGET: Remove iget() and the read_inode() super op as being obsolete [try #4]

2007-10-12 Thread David Howells
)) { 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/Exporting |5

[PATCH 30/31] IGET: Stop HPPFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
if 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 PROTECTED] --- fs

[PATCH 28/31] IGET: Stop OPENPROMFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
. 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 insertions

[PATCH 27/31] IGET: Stop UFS from using iget() and read_inode() [try #4]

2007-10-12 Thread 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 files

[PATCH 26/31] IGET: Stop the SYSV filesystem from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 [EMAIL

[PATCH 23/31] IGET: Stop PROCFS from using iget() and read_inode() [try #4]

2007-10-12 Thread 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 | 60

[PATCH 20/31] IGET: Stop JFFS2 from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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|1 - 4

[PATCH 19/31] IGET: Stop ISOFS from using read_inode() [try #4]

2007-10-12 Thread David Howells
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(-) diff --git

[PATCH 18/31] IGET: Stop HFSPLUS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
() 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 | 47

[PATCH 17/31] IGET: Stop FUSE from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 100644

[PATCH 11/31] IGET: Stop EFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 |2

[PATCH 10/31] IGET: Stop CIFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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(-) diff --git

[PATCH 09/31] IGET: Stop BFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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/bfs.h b/fs

[PATCH 06/31] IGET: Stop AFFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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| 12

[PATCH 05/31] IGET: Use iget_failed() in GFS2 [try #4]

2007-10-12 Thread David Howells
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/fs/gfs2

[PATCH 07/31] IGET: Stop autofs from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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

[PATCH 12/31] IGET: Stop EXT2 from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 ++-- fs/ext2/super.c | 32

[PATCH 14/31] IGET: Stop EXT4 from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 --- fs/ext4/inode.c | 25

[PATCH 21/31] IGET: Stop JFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
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 ++ fs/jfs

[PATCH 29/31] IGET: Stop HOSTFS from using iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
with 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 index

Re: [PATCH 00/31] Remove iget() and read_inode() [try #4]

2007-10-12 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: Is there any particular reason not to push these through -mm? No. David - To unsubscribe from this list: send the line unsubscribe linux-fsdevel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Caching semi-digested credentials in struct cred

2007-10-24 Thread David Howells
Trond Myklebust [EMAIL PROTECTED] wrote: I thought you were passing a generic cred as an argument? It should be possible to convert that into an rpc_cred. Indeed I am, but I think I haven't gotten my questions across. Take the rpc_cred struct as an example. It contains some stuff that is

Re: Caching semi-digested credentials in struct cred

2007-10-24 Thread David Howells
Trond Myklebust [EMAIL PROTECTED] wrote: What is a 'struct key'? Is that a credential? It can represent one yes. NO! Keyrings are meant for communicating with userspace. They should not be used as a 'generic cache' in the kernel. Erm, I'm pretty sure that keys are primarily for caching

Re: Caching semi-digested credentials in struct cred

2007-10-24 Thread David Howells
Trond Myklebust [EMAIL PROTECTED] wrote: Use the credential struct as the unique lookup key for an rpc_cred. That's not good enough. A cred struct may map to several rpc_creds as I mentioned above. I suppose the nfs_client struct address could be added to the lookup key. Huh? The

[PATCH 00/31] Remove iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 inodes

[PATCH 01/31] Add an ERR_CAST() macro to complement ERR_PTR and co. [try #5]

2007-10-25 Thread David Howells
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

[PATCH 02/31] Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) [try #5]

2007-10-25 Thread David Howells
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 |2 +- crypto/cryptd.c

[PATCH 03/31] IGET: Introduce a function to register iget failure [try #5]

2007-10-25 Thread David Howells
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_inode.c

[PATCH 04/31] IGET: Use iget_failed() in AFS [try #5]

2007-10-25 Thread David Howells
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/fs/afs/inode.c

[PATCH 05/31] IGET: Use iget_failed() in GFS2 [try #5]

2007-10-25 Thread David Howells
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 5f6dc32..c5285e2 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2

[PATCH 07/31] IGET: Stop autofs from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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

[PATCH 08/31] IGET: Stop BEFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 --git a/fs/befs/linuxvfs.c

[PATCH 09/31] IGET: Stop BFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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/bfs.h b/fs

[PATCH 11/31] IGET: Stop EFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 | 25 + fs/efs/super.c | 18 -- include/linux/efs_fs.h |2

[PATCH 12/31] IGET: Stop EXT2 from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 | 29 + fs/ext2/namei.c | 12 ++-- fs/ext2/super.c | 32

[PATCH 13/31] IGET: Stop EXT3 from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 --- fs/ext3/inode.c | 25

[PATCH 19/31] IGET: Stop ISOFS from using read_inode() [try #5]

2007-10-25 Thread David Howells
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(-) diff --git

[PATCH 15/31] IGET: Stop FAT from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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/inode.c index

[PATCH 20/31] IGET: Stop JFFS2 from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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|1 - 4

[PATCH 16/31] IGET: Stop FreeVXFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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_super.c

[PATCH 21/31] IGET: Stop JFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 ++ fs/jfs

[PATCH 14/31] IGET: Stop EXT4 from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 --- fs/ext4/inode.c | 25

[PATCH 22/31] IGET: Stop the MINIX filesystem from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 deletions

[PATCH 17/31] IGET: Stop FUSE from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 9a68d69..e50be15 100644

[PATCH 18/31] IGET: Stop HFSPLUS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
() 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 | 47

[PATCH 25/31] IGET: Stop ROMFS from using iget() and read_inode() [try #5]

2007-10-25 Thread 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 index

[PATCH 26/31] IGET: Stop the SYSV filesystem from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
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 [EMAIL

[PATCH 27/31] IGET: Stop UFS from using iget() and read_inode() [try #5]

2007-10-25 Thread 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 +- fs/ufs/ufs.h |2 +- 4 files changed, 33 insertions(+), 23

[PATCH 28/31] IGET: Stop OPENPROMFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
. 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 insertions

[PATCH 23/31] IGET: Stop PROCFS from using iget() and read_inode() [try #5]

2007-10-25 Thread 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 | 60

[PATCH 29/31] IGET: Stop HOSTFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
with inode number 0 - which forms the lookup key. Signed-off-by: David Howells [EMAIL PROTECTED] --- fs/hostfs/hostfs_kern.c | 59 +++ 1 files changed, 39 insertions(+), 20 deletions(-) diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index

[PATCH 30/31] IGET: Stop HPPFS from using iget() and read_inode() [try #5]

2007-10-25 Thread David Howells
if 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 PROTECTED] --- fs

[PATCH 31/31] IGET: Remove iget() and the read_inode() super op as being obsolete [try #5]

2007-10-25 Thread David Howells
)) { 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/Locking |3

[PATCH] Add an ERR_CAST() function to complement ERR_PTR and co. [try #5.1]

2007-10-25 Thread David Howells
Add an ERR_CAST() function 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

[PATCH] Add an ERR_CAST() function to complement ERR_PTR and co. [try #5.2]

2007-10-26 Thread David Howells
Add an ERR_CAST() function 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

Re: [PATCH 16/31] IGET: Stop FreeVXFS from using iget() and read_inode() [try #5]

2007-11-06 Thread David Howells
Andrew Morton [EMAIL PROTECTED] wrote: Not completely trivial - the ino_t - unsigned long conversion needs to be propagated fairly widely in there. I'll just make it unsigned long. That's what iget() took as the inode number parameter type, so it can't behave any differently as a first guess.

Re: [PATCH 16/31] IGET: Stop FreeVXFS from using iget() and read_inode() [try #5]

2007-11-06 Thread David Howells
David Howells [EMAIL PROTECTED] wrote: Not completely trivial - the ino_t - unsigned long conversion needs to be propagated fairly widely in there. I'll just make it unsigned long. That's what iget() took as the inode number parameter type, so it can't behave any differently as a first

[PATCH] IGET: Use ino_t consistently for vxfs_iget() and its declaration

2007-11-06 Thread David Howells
Use ino_t consistently for vxfs_iget() and its declaration, rather than using ino_t for one and unsigned long for the other. Signed-off-by: David Howells [EMAIL PROTECTED] --- fs/freevxfs/vxfs_extern.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/freevxfs

Re: [rfc][patch 3/5] afs: new aops

2007-11-12 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: - ASSERTCMP(start + len, =, PAGE_SIZE); + ASSERTCMP(len, =, PAGE_CACHE_SIZE); Do you guarantee this will work if PAGE_CACHE_SIZE != PAGE_SIZE? If not, you can't make this particular change. Do we ever intend to have PAGE_CACHE_SIZE != PAGE_SIZE?

Re: [rfc][patch 3/5] afs: new aops

2007-11-12 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: PAGE_CACHE_SIZE should be used to address the pagecache. Perhaps, but the function being called from there takes pages not page cache slots. If I have to allow for PAGE_CACHE_SIZE PAGE_SIZE then I need to modify my code, if not then the assertion needs to

Re: [rfc][patch 3/5] afs: new aops

2007-11-13 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: It takes a pagecache page, yes. If you follow convention, you use PAGE_CACHE_SIZE for that guy. You don't have to allow PAGE_CACHE_SIZE != PAGE_SIZE, and if all the rest of your code is in units of PAGE_SIZE, then obviously my changing of just the one unit

Re: [rfc][patch 3/5] afs: new aops

2007-11-14 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: The problem is that the code called assumes that the struct page * argument points to a single page, not an array of pages as would presumably be the case if PAGE_CACHE_SIZE PAGE_SIZE. Incorrect. Christoph's patch for example does this by using

Should PAGE_CACHE_SIZE be discarded?

2007-11-14 Thread David Howells
Are we ever going to have PAGE_CACHE_SIZE != PAGE_SIZE? If not, why not discard PAGE_CACHE_SIZE as it's then redundant. PAGE_CACHE_SIZE is also an ill-defined concept. Just grep in Documentation/ and it only comes up in a couple of places, neither particularly informative. If there's a

Re: Should PAGE_CACHE_SIZE be discarded?

2007-11-14 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: Christoph Lameter has patches exactly to make PAGE_CACHE_SIZE larger than PAGE_SIZE, and they seem to work without much effort. I happen to hate the patches ;) but that doesn't change the fact that PAGE_CACHE_SIZE is relatively useful and it is not at all

Re: Should PAGE_CACHE_SIZE be discarded?

2007-11-15 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: It can be pretty well any power of 2 from PAGE_SIZE upwards, with compound pages. None of the filesystems should really care at all. It's not even a new concept, hugetlbfs uses HPAGE_SIZE... Ummm... The filesystem has to care. If the VFS/VM says 'fill

Re: [rfc][patch 3/5] afs: new aops

2007-11-15 Thread David Howells
Nick Piggin [EMAIL PROTECTED] wrote: So you're saying a struct page controls an area of PAGE_CACHE_SIZE, not an area of PAGE_SIZE? No, a pagecache page is PAGE_CACHE_SIZE. That doesn't answer my question. I didn't ask about 'pagecache pages' per se. Are you saying then that a page

Re: Should PAGE_CACHE_SIZE be discarded?

2007-11-15 Thread David Howells
Benny Halevy [EMAIL PROTECTED] wrote: I think that what Nick was trying to say is that PAGE_CACHE_SIZE should always be used properly as the size of the memory struct Page covers (while PAGE_SIZE is the hardware page size and the constraint is that PAGE_CACHE_SIZE == (PAGE_SIZE k) for some k

Re: [PATCH] procfs: constify function pointer tables

2008-01-22 Thread David Howells
FRV looks okay. Acked-By: David Howells [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-fsdevel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 00/27] Permit filesystem local caching

2008-01-22 Thread David Howells
These patches add local caching for network filesystems such as NFS. The patches can roughly be broken down into a number of sets: (*) 01-keys-inc-payload.diff (*) 02-keys-search-keyring.diff (*) 03-keys-callout-blob.diff Three patches to the keyring code made to help the CIFS

<    1   2   3   4   5   >