Re: [PATCH 2/4] VFS: swap do_ioctl and vfs_ioctl names

2007-10-30 Thread Randy Dunlap
On Tue, 30 Oct 2007 09:56:53 + Christoph Hellwig wrote:

 On Sun, Oct 28, 2007 at 08:40:56PM -0400, Erez Zadok wrote:
  +/**
  + * vfs_ioctl - call filesystem specific ioctl methods
  + *
  + * @filp: [in] open file to invoke ioctl method on
  + * @cmd:  [in] ioctl command to execute
  + * @arg:  [in/out] command-specific argument for ioctl
 
 I've never seen these in/out annotations and doubt they're valid in
 kerneldoc.  Randy?

They are just treated as part of the parameter explanation text.
I don't see any problem with them.

  + * Invokes filesystem specific -unlock_ioctl, if one exists; otherwise
 
 unlocked_ioctl


---
~Randy
-
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: [PATCH 2/4] VFS: swap do_ioctl and vfs_ioctl names

2007-10-30 Thread Randy Dunlap
On Tue, 30 Oct 2007 17:14:36 + Christoph Hellwig wrote:

 On Tue, Oct 30, 2007 at 08:22:40AM -0700, Randy Dunlap wrote:
  They are just treated as part of the parameter explanation text.
  I don't see any problem with them.
 
 Well, it's completely inconsistant with any other kerneldoc..

True.  and it has an advantage.

---
~Randy
-
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: [PATCH 2/4] VFS: swap do_ioctl and vfs_ioctl names

2007-10-28 Thread Randy Dunlap
On Sun, 28 Oct 2007 20:40:56 -0400 Erez Zadok wrote:

 Rename old vfs_ioctl to do_ioctl, because the comment above it clearly
 indicates that it is an internal function not to be exported to modules;
 therefore it should have a more traditional do_XXX name.  The new do_ioctl
 is exported in fs.h but not to modules.
 
 Rename the old do_ioctl to vfs_ioctl because the names vfs_XXX should
 preferably be reserved to callable VFS functions which modules may call, as
 many other vfs_XXX functions already do.  Export the new vfs_ioctl to GPL
 modules so others can use it (including Unionfs and eCryptfs).  Add DocBook
 for new vfs_ioctl.
 
 Signed-off-by: Erez Zadok [EMAIL PROTECTED]
 ---
  fs/compat_ioctl.c  |2 +-
  fs/ioctl.c |   30 ++
  include/linux/fs.h |3 ++-
  3 files changed, 25 insertions(+), 10 deletions(-)
 

 diff --git a/fs/ioctl.c b/fs/ioctl.c
 index 652cacf..34e3f58 100644
 --- a/fs/ioctl.c
 +++ b/fs/ioctl.c
 @@ -16,8 +16,21 @@
  
  #include asm/ioctls.h
  
 -static long do_ioctl(struct file *filp, unsigned int cmd,
 - unsigned long arg)
 +/**
 + * vfs_ioctl - call filesystem specific ioctl methods
 + *

No blank line allowed in kernel-doc between function name and its
parameters.

 + * @filp: [in] open file to invoke ioctl method on
 + * @cmd:  [in] ioctl command to execute
 + * @arg:  [in/out] command-specific argument for ioctl
 + *
 + * Invokes filesystem specific -unlock_ioctl, if one exists; otherwise
 + * invokes * filesystem specific -ioctl method.  If neither method exists,
 + * returns -ENOTTY.
 + *
 + * Returns 0 on success, -errno on error.
 + */
 +long vfs_ioctl(struct file *filp, unsigned int cmd,
 +unsigned long arg)
  {
   int error = -ENOTTY;
  

 diff --git a/include/linux/fs.h b/include/linux/fs.h
 index b3ec4a4..c0c5d36 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
 @@ -1924,7 +1924,8 @@ extern int vfs_stat_fd(int dfd, char __user *, struct 
 kstat *);
  extern int vfs_lstat_fd(int dfd, char __user *, struct kstat *);
  extern int vfs_fstat(unsigned int, struct kstat *);
  
 -extern int vfs_ioctl(struct file *, unsigned int, unsigned int, unsigned 
 long);
 +extern long vfs_ioctl(struct file *filp, unsigned int cmd, unsigned long 
 arg);
 +extern int do_ioctl(struct file *, unsigned int, unsigned int, unsigned 
 long);

Use/keep parameter names, please.  That is preferred.

  extern void get_filesystem(struct file_system_type *fs);
  extern void put_filesystem(struct file_system_type *fs);
 -- 
 1.5.2.2
 
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
 


---
~Randy
-
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] fs menu: small reorg.

2007-10-18 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

- move minixfs and ROMfs to the Miscellaneous filesystems menu
- move DNOTIFY config symbol so that it is adjacent to INOTIFY
  instead of being split by the QUOTA config options
- add some 'endif' annotations
- remove some whitespace (extra blank lines)

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/Kconfig |   93 ++---
 1 file changed, 46 insertions(+), 47 deletions(-)

--- linux-2.6.23-git13.orig/fs/Kconfig
+++ linux-2.6.23-git13/fs/Kconfig
@@ -458,40 +458,18 @@ config OCFS2_DEBUG_MASKLOG
  This option will enlarge your kernel, but it allows debugging of
  ocfs2 filesystem issues.
 
-config MINIX_FS
-   tristate Minix fs support
-   help
- Minix is a simple operating system used in many classes about OS's.
- The minix file system (method to organize files on a hard disk
- partition or a floppy disk) was the original file system for Linux,
- but has been superseded by the second extended file system ext2fs.
- You don't want to use the minix file system on your hard disk
- because of certain built-in restrictions, but it is sometimes found
- on older Linux floppy disks.  This option will enlarge your kernel
- by about 28 KB. If unsure, say N.
-
- To compile this file system support as a module, choose M here: the
- module will be called minix.  Note that the file system of your root
- partition (the one containing the directory /) cannot be compiled as
- a module.
-
-config ROMFS_FS
-   tristate ROM file system support
-   ---help---
- This is a very small read-only file system mainly intended for
- initial ram disks of installation disks, but it could be used for
- other read-only media as well.  Read
- file:Documentation/filesystems/romfs.txt for details.
-
- To compile this file system support as a module, choose M here: the
- module will be called romfs.  Note that the file system of your
- root partition (the one containing the directory /) cannot be a
- module.
+endif # BLOCK
 
- If you don't know whether you need it, then you don't need it:
- answer N.
+config DNOTIFY
+   bool Dnotify support
+   default y
+   help
+ Dnotify is a directory-based per-fd file change notification system
+ that uses signals to communicate events to user-space.  There exist
+ superior alternatives, but some applications may still rely on
+ dnotify.
 
-endif
+ If unsure, say Y.
 
 config INOTIFY
bool Inotify file change notification support
@@ -572,17 +550,6 @@ config QUOTACTL
depends on XFS_QUOTA || QUOTA
default y
 
-config DNOTIFY
-   bool Dnotify support
-   default y
-   help
- Dnotify is a directory-based per-fd file change notification system
- that uses signals to communicate events to user-space.  There exist
- superior alternatives, but some applications may still rely on
- dnotify.
-
- If unsure, say Y.
-
 config AUTOFS_FS
tristate Kernel automounter support
help
@@ -708,7 +675,7 @@ config UDF_NLS
depends on (UDF_FS=m  NLS) || (UDF_FS=y  NLS=y)
 
 endmenu
-endif
+endif # BLOCK
 
 if BLOCK
 menu DOS/FAT/NT Filesystems
@@ -891,7 +858,7 @@ config NTFS_RW
  It is perfectly safe to say N here.
 
 endmenu
-endif
+endif # BLOCK
 
 menu Pseudo filesystems
 
@@ -1412,6 +1379,24 @@ config VXFS_FS
  To compile this as a module, choose M here: the module will be
  called freevxfs.  If unsure, say N.
 
+config MINIX_FS
+   tristate Minix file system support
+   depends on BLOCK
+   help
+ Minix is a simple operating system used in many classes about OS's.
+ The minix file system (method to organize files on a hard disk
+ partition or a floppy disk) was the original file system for Linux,
+ but has been superseded by the second extended file system ext2fs.
+ You don't want to use the minix file system on your hard disk
+ because of certain built-in restrictions, but it is sometimes found
+ on older Linux floppy disks.  This option will enlarge your kernel
+ by about 28 KB. If unsure, say N.
+
+ To compile this file system support as a module, choose M here: the
+ module will be called minix.  Note that the file system of your root
+ partition (the one containing the directory /) cannot be compiled as
+ a module.
+
 
 config HPFS_FS
tristate OS/2 HPFS file system support
@@ -1429,7 +1414,6 @@ config HPFS_FS
  module will be called hpfs.  If unsure, say N.
 
 
-
 config QNX4FS_FS
tristate QNX4 file system support (read only)
depends on BLOCK
@@ -1456,6 +1440,22 @@ config QNX4FS_RW
  It's currently

[PATCH 4/4] docbook: fix filesystems content

2007-10-15 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Fix filesystems docbook warnings.

Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for 
parameter 'name'
Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for 
parameter 'mode'
Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for 
parameter 'parent'
Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for 
parameter 'value'
Warning(linux-2.6.23-git8//include/linux/jbd.h:404): No description found for 
parameter 'h_lockdep_map'

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/debugfs/file.c   |   41 +++--
 include/linux/jbd.h |1 +
 2 files changed, 36 insertions(+), 6 deletions(-)

--- linux-2.6.23-git8.orig/fs/debugfs/file.c
+++ linux-2.6.23-git8/fs/debugfs/file.c
@@ -227,15 +227,24 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_x16, debugf
 
 DEFINE_SIMPLE_ATTRIBUTE(fops_x32, debugfs_u32_get, debugfs_u32_set, 
0x%08llx\n);
 
-/**
- * debugfs_create_x8 - create a debugfs file that is used to read and write an 
unsigned 8-bit value
- * debugfs_create_x16 - create a debugfs file that is used to read and write 
an unsigned 16-bit value
- * debugfs_create_x32 - create a debugfs file that is used to read and write 
an unsigned 32-bit value
+/*
+ * debugfs_create_x{8,16,32} - create a debugfs file that is used to read and 
write an unsigned {8,16,32}-bit value
  *
- * These functions are exactly the same as the above functions, (but use a hex
- * output for the decimal challenged) for details look at the above unsigned
+ * These functions are exactly the same as the above functions (but use a hex
+ * output for the decimal challenged). For details look at the above unsigned
  * decimal functions.
  */
+
+/**
+ * debugfs_create_x8 - create a debugfs file that is used to read and write an 
unsigned 8-bit value
+ * @name: a pointer to a string containing the name of the file to create.
+ * @mode: the permission that the file should have
+ * @parent: a pointer to the parent dentry for this file.  This should be a
+ *  directory dentry if set.  If this parameter is %NULL, then the
+ *  file will be created in the root of the debugfs filesystem.
+ * @value: a pointer to the variable that the file should read to and write
+ * from.
+ */
 struct dentry *debugfs_create_x8(const char *name, mode_t mode,
 struct dentry *parent, u8 *value)
 {
@@ -243,6 +252,16 @@ struct dentry *debugfs_create_x8(const c
 }
 EXPORT_SYMBOL_GPL(debugfs_create_x8);
 
+/**
+ * debugfs_create_x16 - create a debugfs file that is used to read and write 
an unsigned 16-bit value
+ * @name: a pointer to a string containing the name of the file to create.
+ * @mode: the permission that the file should have
+ * @parent: a pointer to the parent dentry for this file.  This should be a
+ *  directory dentry if set.  If this parameter is %NULL, then the
+ *  file will be created in the root of the debugfs filesystem.
+ * @value: a pointer to the variable that the file should read to and write
+ * from.
+ */
 struct dentry *debugfs_create_x16(const char *name, mode_t mode,
 struct dentry *parent, u16 *value)
 {
@@ -250,6 +269,16 @@ struct dentry *debugfs_create_x16(const 
 }
 EXPORT_SYMBOL_GPL(debugfs_create_x16);
 
+/**
+ * debugfs_create_x32 - create a debugfs file that is used to read and write 
an unsigned 32-bit value
+ * @name: a pointer to a string containing the name of the file to create.
+ * @mode: the permission that the file should have
+ * @parent: a pointer to the parent dentry for this file.  This should be a
+ *  directory dentry if set.  If this parameter is %NULL, then the
+ *  file will be created in the root of the debugfs filesystem.
+ * @value: a pointer to the variable that the file should read to and write
+ * from.
+ */
 struct dentry *debugfs_create_x32(const char *name, mode_t mode,
 struct dentry *parent, u32 *value)
 {
--- linux-2.6.23-git8.orig/include/linux/jbd.h
+++ linux-2.6.23-git8/include/linux/jbd.h
@@ -372,6 +372,7 @@ struct jbd_revoke_table_s;
  * @h_sync: flag for sync-on-close
  * @h_jdata: flag to force data journaling
  * @h_aborted: flag indicating fatal error on handle
+ * @h_lockdep_map: lockdep info for debugging lock problems
  **/
 
 /* Docbook can't yet cope with the bit fields, but will leave the documentation
-
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: [PATCH]fix VM_CAN_NONLINEAR check in sys_remap_file_pages

2007-10-08 Thread Randy Dunlap
On Mon, 8 Oct 2007 10:04:56 -0700 Andrew Morton wrote:

 On Mon, 8 Oct 2007 19:45:08 +0800 Yan Zheng [EMAIL PROTECTED] wrote:
 
  Hi all
  
  The test for VM_CAN_NONLINEAR always fails
  
  Signed-off-by: Yan Zheng[EMAIL PROTECTED]
  
  diff -ur linux-2.6.23-rc9/mm/fremap.c linux/mm/fremap.c
  --- linux-2.6.23-rc9/mm/fremap.c2007-10-07 15:03:33.0 +0800
  +++ linux/mm/fremap.c   2007-10-08 19:33:44.0 +0800
  @@ -160,7 +160,7 @@
  if (vma-vm_private_data  !(vma-vm_flags  VM_NONLINEAR))
  goto out;
  
  -   if (!vma-vm_flags  VM_CAN_NONLINEAR)
  +   if (!(vma-vm_flags  VM_CAN_NONLINEAR))
  goto out;
  
  if (end = start || start  vma-vm_start || end  vma-vm_end)
 
 Lovely.  From this we can deduce that nobody has run remap_file_pages() since
 2.6.23-rc1 and that nobody (including the developer who made that change) ran 
 it
 while that change was in -mm.

I've run rmap-test with -M (use remap_file_pages) and
remap-test from ext3-tools, but not remap_file_pages for some reason.

I'll now add remap_file_pages soon.
Maybe those other 2 tests aren't strong enough (?).
Or maybe they don't return a non-0 exit status even when they fail...
(I'll check.)


 I'm surprise that LTP doesn't have any remap_file_pages() tests.

quick grep didn't find any for me.

 Have you runtime tested this change?
 
 Thanks.


---
~Randy
-
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: [PATCH 01/32] Add an ERR_CAST() macro to complement ERR_PTR and co. [try #2]

2007-10-05 Thread Randy Dunlap
On Thu, 04 Oct 2007 16:56:07 +0100 David Howells wrote:

 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 Howells [EMAIL PROTECTED]
 ---
 
  include/linux/err.h |   12 
  1 files changed, 12 insertions(+), 0 deletions(-)
 
 diff --git a/include/linux/err.h b/include/linux/err.h
 index 1ab1d44..e810ca4 100644
 --- a/include/linux/err.h
 +++ b/include/linux/err.h
 @@ -34,6 +34,18 @@ static inline long IS_ERR(const void *ptr)
   return IS_ERR_VALUE((unsigned long)ptr);
  }
  
 +/**
 + * ERR_CAST - Explicitly cast an error-valued pointer to another pointer type
 + * ptr: The pointer to cast.

  @ptr:

 + *
 + * Explicitly cast an error-valued pointer to another pointer type in such a
 + * way as to make it clear that's what's going on.
 + */
 +static inline void *ERR_CAST(const void *ptr)
 +{
 + return (void *) ptr;
 +}
 +
  #endif
  
  #endif /* _LINUX_ERR_H */


---
~Randy
-
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: [PATCH 19/19] exportfs: update documentation

2007-09-14 Thread Randy Dunlap
On Fri, 14 Sep 2007 13:49:28 +0200 [EMAIL PROTECTED] wrote:

typos only below:


 Update deocumentation to the current state of affairs.  Remove duplicated
 method descruptions in exportfs.h and point to Documentation/filesystems/
 Exporting instead.  Add a little file header comment in expfs.c describing
 what's going on and mentioning Neils and my copyright [1].
 
 [1] Neil, in case you want a different/additional attribution just change
 the patch in your queue to reflect the preferred version.
 
 
 Signed-off-by: Christoph Hellwig [EMAIL PROTECTED]
 
 Index: linux-2.6/Documentation/filesystems/Exporting
 ===
 --- linux-2.6.orig/Documentation/filesystems/Exporting2007-03-16 
 15:10:54.0 +0100
 +++ linux-2.6/Documentation/filesystems/Exporting 2007-03-16 
 17:11:50.0 +0100
 + encode_fh  (optinonal)

   (optional)

 +Takes a dentry and creates a filehandle fragment which can later be used
 +to find/create a dentry for the same object.  The default implementation
 +creates a filehandle fragment that encodes a 32bit inode and generation
 +number for the inode encoded, and if nessecary the same information for

necessary

 +the parent.
 +
 +  fh_to_dentry (mandatory)
 +Given a filehandle fragment, this should find the implied object and
 +create a dentry for it (possibly with d_alloc_anon).
 +
 +  fh_to_parent (optional but strongly recommended)
 +Given a filehandle fragment, this should find the parent of the
 +implied object and create a dentry for it (possibly with d_alloc_anon).
 +May simplify fail if the filehandle fragment is too small.\

   simply  (?)

 +
 +  get_parent (optional but strongly recommended)
 +When given a dentry for a directory, this should return  a dentry for
 +the parent.  Quite possibly the parent dentry will have been allocated
 +by d_alloc_anon.  The default get_parent function just returns an error
 +so any filehandle lookup that requires finding a parent will fail.
 +-lookup(..) is *not* used as a default as it can leave .. entries
 +in the dcache which are too messy to work with.

 Index: linux-2.6/fs/exportfs/expfs.c
 ===
 --- linux-2.6.orig/fs/exportfs/expfs.c2007-03-16 17:06:10.0 
 +0100
 +++ linux-2.6/fs/exportfs/expfs.c 2007-03-16 23:45:14.0 +0100
 @@ -1,4 +1,13 @@
 -
 +/*
 + * Copyright (C) Neil Brown 2002
 + * Copyright (C) Christoph Hellwig 2007
 + *
 + * This file contains the code mapping from inodes to NFS file handles,
 + * and for mapping back from file handles to dentries.
 + *
 + * For details on why we doo all the strange and hairy things in here

do

 + * take a look at Documentation/filesystems/Exporting.
 + */
  #include linux/exportfs.h
  #include linux/fs.h
  #include linux/file.h


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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: -mm merge plans for 2.6.23

2007-07-11 Thread Randy Dunlap
On Wed, 11 Jul 2007 10:21:03 -0700 Andrew Morton wrote:

 On Wed, 11 Jul 2007 12:39:42 +0100 David Woodhouse [EMAIL PROTECTED] wrote:
 
  On Wed, 2007-07-11 at 13:35 +0200, Christoph Hellwig wrote:
   On Tue, Jul 10, 2007 at 01:31:52AM -0700, Andrew Morton wrote:
romfs-printk-format-warnings.patch
   
   NACK on this one. 
  
  The rest of it is nacked anyway, until we unify the point and
  get_unmapped_area methods of the MTD API.
  
 
 Methinks you meant
 nommu-make-it-possible-for-romfs-to-use-mtd-devices.patch, not
 romfs-printk-format-warnings.patch.
 
 I'll drop nommu-make-it-possible-for-romfs-to-use-mtd-devices.patch, thamks.

Thanks.  I was certainly getting confused.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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] unionfs section mismatch

2007-06-06 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Fix section marker in header file:

WARNING: fs/unionfs/unionfs.o(.init.text+0x56): Section mismatch: reference to 
.exit.text:stop_sioq (between 'init_module' and 'init_sioq')

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/unionfs/sioq.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.22-rc4-mm1.orig/fs/unionfs/sioq.h
+++ linux-2.6.22-rc4-mm1/fs/unionfs/sioq.h
@@ -76,7 +76,7 @@ struct sioq_args {
 
 /* Extern definitions for SIOQ functions */
 extern int __init init_sioq(void);
-extern __exit void stop_sioq(void);
+extern void stop_sioq(void);
 extern void run_sioq(work_func_t func, struct sioq_args *args);
 
 /* Extern definitions for our privilege escalation helpers */
-
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: [nameidata 2/2] Pass no useless nameidata to the create, lookup, and permission IOPs

2007-04-16 Thread Randy Dunlap
On Mon, 16 Apr 2007 18:29:20 +0200 Andreas Gruenbacher wrote:

 Here is a patch with request for comment.
 
 --- a/include/linux/namei.h
 +++ b/include/linux/namei.h
 @@ -14,21 +14,39 @@ struct open_intent {
  
  enum { MAX_NESTED_LINKS = 8 };
  
 +/**

Please don't use the kernel-doc begin-marker /** when the comment block
isn't in kernel-doc format.

 + * Fields shared between nameidata and nameidata2 -- nameidata2 could
 + * be embedded in nameidata, but then the vfs code would become
 + * cluttered with dereferences.
 + */
 +#define __NAMEIDATA2 \
 + struct dentry   *dentry;\
 + struct vfsmount *mnt;   \
 + unsigned intflags;  \
 + \
 + union { \
 + struct open_intent open;\
 + } intent;
 +

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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: [nameidata 2/2] Pass no useless nameidata to the create, lookup, and permission IOPs

2007-04-16 Thread Randy Dunlap

Andreas Gruenbacher wrote:

On Monday 16 April 2007 18:42, Randy Dunlap wrote:

Please don't use the kernel-doc begin-marker /** when the comment block
isn't in kernel-doc format.


Sigh, kernel-doc should improve things, not get in the way ...


Well, I see it as sort of a language that is embedded in C source code.

But what are you suggesting?

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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: Interface for the new fallocate() system call

2007-04-05 Thread Randy Dunlap
On Thu, 5 Apr 2007 16:56:19 +0530 Amit K. Arora wrote:

 On Fri, Mar 30, 2007 at 02:14:17AM -0500, Jakub Jelinek wrote:
  Wouldn't
  int fallocate(loff_t offset, loff_t len, int fd, int mode)
  work on both s390 and ppc/arm?  glibc will certainly wrap it and
  reorder the arguments as needed, so there is no need to keep fd first.
  
 This should work on all the platforms. The only concern I can think of
 here is the convention being followed till now, where all the entities on
 which the action has to be performed by the kernel (say fd, file/device
 name, pid etc.) is the first argument of the system call. If we can live
 with the small exception here, fine.
 
 Or else, we may have to implement the 
 
   int fd, int mode, loff_t offset, loff_t len
 
 as the layout of arguments here. I think only s390 will have a problem
 with this, and we can think of a workaround for it (may be similar to
 what ARM did to implement sync_file_range() system call)   :
 
 asmlinkage long sys_s390_fallocate(int fd, loff_t offset, loff_t len, int 
 mode)
 {
 return sys_fallocate(fd, offset, len, mode);
 }
 
 
 To me both the approaches look slightly unconventional. But, we need to
 compromise somewhere to make things work on all the platforms.
 
 Any thoughts on which one of the above should we finalize on ?
 
 Thanks!

If s390 can work around the calling order that easily, I certainly
prefer the more conventional ordering of:

   int fd, int mode, loff_t offset, loff_t len

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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] unionfs: sioq not __exit

2007-03-19 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

stop_sioq() is called from both __init and __exit functions, so it
shouldn't be marked __exit.

Reported on the kernelnewbies mailing list, but no patch offered there.

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/unionfs/sioq.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.21-rc3-mm2.orig/fs/unionfs/sioq.c
+++ linux-2.6.21-rc3-mm2/fs/unionfs/sioq.c
@@ -40,7 +40,7 @@ int __init init_sioq(void)
return err;
 }
 
-void __exit stop_sioq(void)
+void stop_sioq(void)
 {
if (superio_workqueue)
destroy_workqueue(superio_workqueue);
-
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] ROMFS: printk format warnings

2007-03-19 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Field width and precision must be of type int.
fs/romfs/super.c:513: warning: field width should have type 'int', but argument 
2 has type 'size_t'
fs/romfs/super.c:513: warning: field precision should have type 'int', but 
argument 3 has type 'size_t'

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/romfs/super.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.21-rc3-mm2.orig/fs/romfs/super.c
+++ linux-2.6.21-rc3-mm2/fs/romfs/super.c
@@ -510,7 +510,7 @@ static int romfs_fill_super(struct super
len = strnlen(rsb-name, ROMFS_MAXFN);
if (!silent)
printk(ROMFS: Mounting image '%*.*s' through %s\n,
-  len, len, rsb-name, storage);
+  (int)len, (int)len, rsb-name, storage);
 
kfree(rsb);
rsb = NULL;
-
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] reiserfs: proc support requires PROC_FS

2007-03-19 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

REISER_FS /proc option needs to depend on PROC_FS.

fs/reiserfs/procfs.c: In function 'show_super':
fs/reiserfs/procfs.c:134: error: 'reiserfs_proc_info_data_t' has no member 
named 'max_hash_collisions'
fs/reiserfs/procfs.c:134: error: 'reiserfs_proc_info_data_t' has no member 
named 'breads'
fs/reiserfs/procfs.c:135: error: 'reiserfs_proc_info_data_t' has no member 
named 'bread_miss'
fs/reiserfs/procfs.c:135: error: 'reiserfs_proc_info_data_t' has no member 
named 'search_by_key'
fs/reiserfs/procfs.c:136: error: 'reiserfs_proc_info_data_t' has no member 
named 'search_by_key_fs_changed'
fs/reiserfs/procfs.c:136: error: 'reiserfs_proc_info_data_t' has no member 
named 'search_by_key_restarted'
fs/reiserfs/procfs.c:137: error: 'reiserfs_proc_info_data_t' has no member 
named 'insert_item_restarted'
fs/reiserfs/procfs.c:137: error: 'reiserfs_proc_info_data_t' has no member 
named 'paste_into_item_restarted'
fs/reiserfs/procfs.c:138: error: 'reiserfs_proc_info_data_t' has no member 
named 'cut_from_item_restarted'
fs/reiserfs/procfs.c:139: error: 'reiserfs_proc_info_data_t' has no member 
named 'delete_solid_item_restarted'
fs/reiserfs/procfs.c:139: error: 'reiserfs_proc_info_data_t' has no member 
named 'delete_item_restarted'
fs/reiserfs/procfs.c:140: error: 'reiserfs_proc_info_data_t' has no member 
named 'leaked_oid'
fs/reiserfs/procfs.c:140: error: 'reiserfs_proc_info_data_t' has no member 
named 'leaves_removable'
fs/reiserfs/procfs.c: In function 'show_per_level':
fs/reiserfs/procfs.c:184: error: 'reiserfs_proc_info_data_t' has no member 
named 'balance_at'
fs/reiserfs/procfs.c:185: error: 'reiserfs_proc_info_data_t' has no member 
named 'sbk_read_at'
fs/reiserfs/procfs.c:186: error: 'reiserfs_proc_info_data_t' has no member 
named 'sbk_fs_changed'
fs/reiserfs/procfs.c:187: error: 'reiserfs_proc_info_data_t' has no member 
named 'sbk_restarted'
fs/reiserfs/procfs.c:188: error: 'reiserfs_proc_info_data_t' has no member 
named 'free_at'
fs/reiserfs/procfs.c:189: error: 'reiserfs_proc_info_data_t' has no member 
named 'items_at'
fs/reiserfs/procfs.c:190: error: 'reiserfs_proc_info_data_t' has no member 
named 'can_node_be_removed'
fs/reiserfs/procfs.c:191: error: 'reiserfs_proc_info_data_t' has no member 
named 'lnum'
fs/reiserfs/procfs.c:192: error: 'reiserfs_proc_info_data_t' has no member 
named 'rnum'
fs/reiserfs/procfs.c:193: error: 'reiserfs_proc_info_data_t' has no member 
named 'lbytes'
fs/reiserfs/procfs.c:194: error: 'reiserfs_proc_info_data_t' has no member 
named 'rbytes'
fs/reiserfs/procfs.c:195: error: 'reiserfs_proc_info_data_t' has no member 
named 'get_neighbors'
fs/reiserfs/procfs.c:196: error: 'reiserfs_proc_info_data_t' has no member 
named 'get_neighbors_restart'
fs/reiserfs/procfs.c:197: error: 'reiserfs_proc_info_data_t' has no member 
named 'need_l_neighbor'
fs/reiserfs/procfs.c:197: error: 'reiserfs_proc_info_data_t' has no member 
named 'need_r_neighbor'
fs/reiserfs/procfs.c: In function 'show_bitmap':
fs/reiserfs/procfs.c:224: error: 'reiserfs_proc_info_data_t' has no member 
named 'free_block'
fs/reiserfs/procfs.c:225: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:226: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:227: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:228: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:229: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:230: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c:230: error: 'reiserfs_proc_info_data_t' has no member 
named 'scan_bitmap'
fs/reiserfs/procfs.c: In function 'show_journal':
fs/reiserfs/procfs.c:384: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:385: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:386: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:387: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:388: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:389: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:390: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:391: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:392: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:393: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:394: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:395: error: 'reiserfs_proc_info_data_t' has no member 
named 'journal'
fs/reiserfs/procfs.c:395: error

[PATCH] dlm/gfs2: indent help text

2007-01-30 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Indent help text as expected.

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/dlm/Kconfig  |   16 
 fs/gfs2/Kconfig |   47 +++
 2 files changed, 31 insertions(+), 32 deletions(-)

--- linux-2620-rc6.orig/fs/dlm/Kconfig
+++ linux-2620-rc6/fs/dlm/Kconfig
@@ -7,17 +7,17 @@ config DLM
select CONFIGFS_FS
select IP_SCTP if DLM_SCTP
help
-   A general purpose distributed lock manager for kernel or userspace
-   applications.
+ A general purpose distributed lock manager for kernel or userspace
+ applications.
 
 choice
prompt Select DLM communications protocol
depends on DLM
default DLM_TCP
help
-   The DLM Can use TCP or SCTP for it's network communications.
-   SCTP supports multi-homed operations whereas TCP doesn't.
-   However, SCTP seems to have stability problems at the moment.
+ The DLM Can use TCP or SCTP for it's network communications.
+ SCTP supports multi-homed operations whereas TCP doesn't.
+ However, SCTP seems to have stability problems at the moment.
 
 config DLM_TCP
bool TCP/IP
@@ -31,8 +31,8 @@ config DLM_DEBUG
bool DLM debugging
depends on DLM
help
-   Under the debugfs mount point, the name of each lockspace will
-   appear as a file in the dlm directory.  The output is the
-   list of resource and locks the local node knows about.
+ Under the debugfs mount point, the name of each lockspace will
+ appear as a file in the dlm directory.  The output is the
+ list of resource and locks the local node knows about.
 
 endmenu
--- linux-2620-rc6.orig/fs/gfs2/Kconfig
+++ linux-2620-rc6/fs/gfs2/Kconfig
@@ -4,33 +4,33 @@ config GFS2_FS
select FS_POSIX_ACL
select CRC32
help
-   A cluster filesystem.
+ A cluster filesystem.
 
-   Allows a cluster of computers to simultaneously use a block device
-   that is shared between them (with FC, iSCSI, NBD, etc...).  GFS reads
-   and writes to the block device like a local filesystem, but also uses
-   a lock module to allow the computers coordinate their I/O so
-   filesystem consistency is maintained.  One of the nifty features of
-   GFS is perfect consistency -- changes made to the filesystem on one
-   machine show up immediately on all other machines in the cluster.
-
-   To use the GFS2 filesystem, you will need to enable one or more of
-   the below locking modules. Documentation and utilities for GFS2 can
-   be found here: http://sources.redhat.com/cluster
+ Allows a cluster of computers to simultaneously use a block device
+ that is shared between them (with FC, iSCSI, NBD, etc...).  GFS reads
+ and writes to the block device like a local filesystem, but also uses
+ a lock module to allow the computers coordinate their I/O so
+ filesystem consistency is maintained.  One of the nifty features of
+ GFS is perfect consistency -- changes made to the filesystem on one
+ machine show up immediately on all other machines in the cluster.
+
+ To use the GFS2 filesystem, you will need to enable one or more of
+ the below locking modules. Documentation and utilities for GFS2 can
+ be found here: http://sources.redhat.com/cluster
 
 config GFS2_FS_LOCKING_NOLOCK
tristate GFS2 \nolock\ locking module
depends on GFS2_FS
help
-   Single node locking module for GFS2.
+ Single node locking module for GFS2.
 
-   Use this module if you want to use GFS2 on a single node without
-   its clustering features. You can still take advantage of the
-   large file support, and upgrade to running a full cluster later on
-   if required.
+ Use this module if you want to use GFS2 on a single node without
+ its clustering features. You can still take advantage of the
+ large file support, and upgrade to running a full cluster later on
+ if required.
 
-   If you will only be using GFS2 in cluster mode, you do not need this
-   module.
+ If you will only be using GFS2 in cluster mode, you do not need this
+ module.
 
 config GFS2_FS_LOCKING_DLM
tristate GFS2 DLM locking module
@@ -39,9 +39,8 @@ config GFS2_FS_LOCKING_DLM
select CONFIGFS_FS
select DLM
help
-   Multiple node locking module for GFS2
-
-   Most users of GFS2 will require this module. It provides the locking
-   interface between GFS2 and the DLM, which is required to use GFS2
-   in a cluster environment.
+ Multiple node locking module for GFS2
 
+ Most users of GFS2 will require this module. It provides the locking
+ interface between GFS2 and the DLM, which is required to use GFS2

[PATCH] dlm gfs2: use sysfs

2007-01-25 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

With CONFIG_DLM=m, CONFIG_PROC_FS=n, and CONFIG_SYSFS=n, kernel build
fails with:

WARNING: kernel_subsys [fs/gfs2/locking/dlm/lock_dlm.ko] undefined!
WARNING: kernel_subsys [fs/dlm/dlm.ko] undefined!
WARNING: kernel_subsys [fs/configfs/configfs.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Since fs/dlm/lockspace.c and fs/gfs2/locking/dlm/sysfs.c use
kernel_subsys, they should either DEPEND on it or SELECT it.

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/dlm/Kconfig  |1 +
 fs/gfs2/Kconfig |1 +
 2 files changed, 2 insertions(+)

--- linux-2620-rc6.orig/fs/dlm/Kconfig
+++ linux-2620-rc6/fs/dlm/Kconfig
@@ -5,6 +5,7 @@ config DLM
tristate Distributed Lock Manager (DLM)
depends on IPV6 || IPV6=n
select CONFIGFS_FS
+   select SYSFS
select IP_SCTP if DLM_SCTP
help
A general purpose distributed lock manager for kernel or userspace
--- linux-2620-rc6.orig/fs/gfs2/Kconfig
+++ linux-2620-rc6/fs/gfs2/Kconfig
@@ -38,6 +38,7 @@ config GFS2_FS_LOCKING_DLM
select IP_SCTP if DLM_SCTP
select CONFIGFS_FS
select DLM
+   select SYSFS
help
Multiple node locking module for GFS2
 

-
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: ext3 data=journal hangs

2007-01-11 Thread Randy Dunlap
(resending for wider audience)

Date: Wed, 10 Jan 2007 16:03:51 -0800
To: linux-ext4@vger.kernel.org


On Tue, 9 Jan 2007 15:11:23 -0800 Randy Dunlap wrote:

 Hi,
 
 (2.6.20-rc4, x86_64 1-proc on SMP kernel, 1 GB RAM)
 
 I'm running fsx-linux (akpm ext3-tools version) on an ext3 fs
 with data=journal and fs blocksize=2048.  I've been trying to
 get some kind of kernel messages from it but I can't get any
 debug IO done successfully.
 
 It has hung on me 3 times in a row today.  I'm using this command:
 fsx-linux -l 100M -N 5 -S 0 fsxtestfile
 
 This is run in a new partition on a IDE drive (/dev/hda7,
 using legacy IDE drivers).
 
 Any suggestions for debug output?  I can see SysRq output on-screen
 (sometimes) but it doesn't make it to my serial console.
 
 Any patches to test?  :)

More notes:
Fails (hangs) with fs blocksize of 1024, 2048, or 4096.
On data=journal mode hangs.  writeback and ordered run fine.

After several runs (hangs), I was able to get some sysrq output
to the serial console.

kernel config:  http://oss.oracle.com/~rdunlap/configs/config-2620-rc4-hangs
message log:http://oss.oracle.com/~rdunlap/logs/fsx-capture.txt

Can anyone see what fsx-linux is waiting on there?

Thanks,
---
~Randy

-
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: [FSAIO][PATCH 7/8] Filesystem AIO read

2006-12-28 Thread Randy Dunlap
On Thu, 28 Dec 2006 17:22:07 +0100 (MET) Jan Engelhardt wrote:

 
 On Dec 28 2006 11:57, Christoph Hellwig wrote:
 
  +
  +  if ((error = __lock_page(page, current-io_wait))) {
  +  goto readpage_error;
  +  }
 
 This should  be
 
  error = __lock_page(page, current-io_wait);
  if (error)
  goto readpage_error;
 
 That's effectively the same. Essentially a style thing, and I see if((err =
 xyz)) not being uncommon in the kernel tree.

The combined if/assignment has been known to contain coding errors
that are legal C, just not what was intended.

Since the latter replacement shouldn't cause any code efficiency
problems and it's more readable, it's becoming preferred.

---
~Randy
-
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: [RFC][PATCH] ensure i_ino uniqueness in filesystems without permanent inode numbers (via idr)

2006-12-01 Thread Randy Dunlap

Jeff Layton wrote:

On Fri, Dec 01, 2006 at 08:52:27AM -0800, Randy Dunlap wrote:

Thanks for having a look, Randy...


s/idr_/iunique_/


Doh! Can you tell I cut and pasted this email from earlier ones? :-)


- don't attempt to remove inodes with values 100

Please explain that one.  (May be obvious to some, but not to me.)


Actually, we probably don't need to do that now. My thought here was to add
a low range of i_ino numbers that could be used by the filesystem code without
needing to call iunique (in particular for things like the root inode in the
filesystem). It's probably best to not do this though and let the filesystem
handle it on its own.


Better to post patches inline (for review) rather than as attachments.


Here's an updated (but untested) patch based on your suggestions. I also went
ahead and made the exported symbols GPL-only since that seems like it would be
appropriate here. Any further thoughts on it?


Just needs new/updated patch description.
and one typo fixed.


diff --git a/fs/inode.c b/fs/inode.c
index 26cdb11..e45cec9 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -706,6 +708,32 @@ retry:
 
 EXPORT_SYMBOL(iunique);
 
+int iunique_register(struct inode *inode, int max_reserved)

+{
+   int rv;
+
+   rv = idr_pre_get(inode-i_sb-s_inode_ids, GFP_KERNEL);
+   if (! rv)


No space after !, just:
if (!rv)


+   return -ENOMEM;
+
+   spin_lock(inode-i_sb-s_inode_ids_lock);
+   rv = idr_get_new_above(inode-i_sb-s_inode_ids, inode,
+   max_reserved+1, (int *) inode-i_ino);
+   inode-i_generation = inode-i_sb-s_generation++;
+   spin_unlock(inode-i_sb-s_inode_ids_lock);
+   return rv;
+}


Thanks.
--
~Randy
-
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 -mm v2] hpfs: fix printk format warnings

2006-11-19 Thread Randy Dunlap
On Sun, 19 Nov 2006 17:25:50 +0100 (CET) Mikulas Patocka wrote:

  From: Randy Dunlap [EMAIL PROTECTED]
 
  Fix hpfs printk warnings:
  (why do I only see these in -mm?)
 
 Probably because -mm has unsigned long inode number and Linus' kernel has 
 just unsigned int?
 
 Change it this way:
 hpfs_error(inode-i_sb, not a directory, fnode %08lx, 
 (unsigned long)inode-i_ino);
 --- so that it can work on both.

OK, remade/resend.
---
From: Randy Dunlap [EMAIL PROTECTED]

Fix hpfs printk warnings:

fs/hpfs/dir.c:87: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/dir.c:147: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long int'
fs/hpfs/dir.c:148: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long int'
fs/hpfs/dnode.c:537: warning: format '%08x' expects type 'unsigned int', but 
argument 5 has type 'long unsigned int'
fs/hpfs/dnode.c:854: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'loff_t'
fs/hpfs/ea.c:247: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/inode.c:254: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/map.c:129: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:135: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:140: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:147: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:154: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/hpfs/dir.c   |   10 +++---
 fs/hpfs/dnode.c |   13 +
 fs/hpfs/ea.c|5 +++--
 fs/hpfs/inode.c |5 -
 fs/hpfs/map.c   |   20 ++--
 5 files changed, 37 insertions(+), 16 deletions(-)

--- linux-2619-rc5mm2.orig/fs/hpfs/dir.c
+++ linux-2619-rc5mm2/fs/hpfs/dir.c
@@ -84,7 +84,8 @@ static int hpfs_readdir(struct file *fil
}
if (!fno-dirflag) {
e = 1;
-   hpfs_error(inode-i_sb, not a directory, fnode 
%08x,inode-i_ino);
+   hpfs_error(inode-i_sb, not a directory, fnode %08lx,
+   (unsigned long)inode-i_ino);
}
if (hpfs_inode-i_dno != fno-u.external[0].disk_secno) {
e = 1;
@@ -144,8 +145,11 @@ static int hpfs_readdir(struct file *fil
}
if (de-first || de-last) {
if (hpfs_sb(inode-i_sb)-sb_chk) {
-   if (de-first  !de-last  (de-namelen != 2 
|| de -name[0] != 1 || de-name[1] != 1)) hpfs_error(inode-i_sb, 
hpfs_readdir: bad ^A^A entry; pos = %08x, old_pos);
-   if (de-last  (de-namelen != 1 || de 
-name[0] != 255)) hpfs_error(inode-i_sb, hpfs_readdir: bad \\377 entry; pos 
= %08x, old_pos);
+   if (de-first  !de-last  (de-namelen != 2
+   || de -name[0] != 1 || de-name[1] != 1))
+   hpfs_error(inode-i_sb, hpfs_readdir: 
bad ^A^A entry; pos = %08lx, old_pos);
+   if (de-last  (de-namelen != 1 || de 
-name[0] != 255))
+   hpfs_error(inode-i_sb, hpfs_readdir: 
bad \\377 entry; pos = %08lx, old_pos);
}
hpfs_brelse4(qbh);
goto again;
--- linux-2619-rc5mm2.orig/fs/hpfs/dnode.c
+++ linux-2619-rc5mm2/fs/hpfs/dnode.c
@@ -533,10 +533,13 @@ static void delete_empty_dnode(struct in
struct buffer_head *bh;
struct dnode *d1;
struct quad_buffer_head qbh1;
-   if (hpfs_sb(i-i_sb)-sb_chk) if (up != i-i_ino) {
-   hpfs_error(i-i_sb, bad pointer to fnode, 
dnode %08x, pointing to %08x, should be %08x, dno, up, i-i_ino);
+   if (hpfs_sb(i-i_sb)-sb_chk)
+   if (up != i-i_ino) {
+   hpfs_error(i-i_sb,
+   bad pointer to fnode, dnode %08x, 
pointing to %08x, should be %08lx,
+   dno, up, (unsigned long)i-i_ino);
return;
-   }
+   }
if ((d1 = hpfs_map_dnode(i-i_sb, down, qbh1))) {
d1-up = up;
d1-root_dnode = 1;
@@ -851,7 +854,9 @@ struct hpfs_dirent *map_pos_dirent(struc
/* Going to the next dirent */
if ((d

[PATCH -mm] hpfs: fix printk format warnings

2006-11-17 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Fix hpfs printk warnings:
(why do I only see these in -mm?)

fs/hpfs/dir.c:87: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/dir.c:147: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long int'
fs/hpfs/dir.c:148: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long int'
fs/hpfs/dnode.c:537: warning: format '%08x' expects type 'unsigned int', but 
argument 5 has type 'long unsigned int'
fs/hpfs/dnode.c:854: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'loff_t'
fs/hpfs/ea.c:247: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/inode.c:254: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'long unsigned int'
fs/hpfs/map.c:129: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:135: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:140: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:147: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'
fs/hpfs/map.c:154: warning: format '%08x' expects type 'unsigned int', but 
argument 3 has type 'ino_t'

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/hpfs/dir.c   |   10 +++---
 fs/hpfs/dnode.c |   13 +
 fs/hpfs/ea.c|2 +-
 fs/hpfs/inode.c |5 -
 fs/hpfs/map.c   |   20 ++--
 5 files changed, 35 insertions(+), 15 deletions(-)

--- linux-2619-rc5mm2.orig/fs/hpfs/dir.c
+++ linux-2619-rc5mm2/fs/hpfs/dir.c
@@ -84,7 +84,8 @@ static int hpfs_readdir(struct file *fil
}
if (!fno-dirflag) {
e = 1;
-   hpfs_error(inode-i_sb, not a directory, fnode 
%08x,inode-i_ino);
+   hpfs_error(inode-i_sb, not a directory, fnode %08lx,
+   inode-i_ino);
}
if (hpfs_inode-i_dno != fno-u.external[0].disk_secno) {
e = 1;
@@ -144,8 +145,11 @@ static int hpfs_readdir(struct file *fil
}
if (de-first || de-last) {
if (hpfs_sb(inode-i_sb)-sb_chk) {
-   if (de-first  !de-last  (de-namelen != 2 
|| de -name[0] != 1 || de-name[1] != 1)) hpfs_error(inode-i_sb, 
hpfs_readdir: bad ^A^A entry; pos = %08x, old_pos);
-   if (de-last  (de-namelen != 1 || de 
-name[0] != 255)) hpfs_error(inode-i_sb, hpfs_readdir: bad \\377 entry; pos 
= %08x, old_pos);
+   if (de-first  !de-last  (de-namelen != 2
+   || de -name[0] != 1 || de-name[1] != 1))
+   hpfs_error(inode-i_sb, hpfs_readdir: 
bad ^A^A entry; pos = %08lx, old_pos);
+   if (de-last  (de-namelen != 1 || de 
-name[0] != 255))
+   hpfs_error(inode-i_sb, hpfs_readdir: 
bad \\377 entry; pos = %08lx, old_pos);
}
hpfs_brelse4(qbh);
goto again;
--- linux-2619-rc5mm2.orig/fs/hpfs/dnode.c
+++ linux-2619-rc5mm2/fs/hpfs/dnode.c
@@ -533,10 +533,13 @@ static void delete_empty_dnode(struct in
struct buffer_head *bh;
struct dnode *d1;
struct quad_buffer_head qbh1;
-   if (hpfs_sb(i-i_sb)-sb_chk) if (up != i-i_ino) {
-   hpfs_error(i-i_sb, bad pointer to fnode, 
dnode %08x, pointing to %08x, should be %08x, dno, up, i-i_ino);
+   if (hpfs_sb(i-i_sb)-sb_chk)
+   if (up != i-i_ino) {
+   hpfs_error(i-i_sb,
+   bad pointer to fnode, dnode %08x, 
pointing to %08x, should be %08lx,
+   dno, up, i-i_ino);
return;
-   }
+   }
if ((d1 = hpfs_map_dnode(i-i_sb, down, qbh1))) {
d1-up = up;
d1-root_dnode = 1;
@@ -851,7 +854,9 @@ struct hpfs_dirent *map_pos_dirent(struc
/* Going to the next dirent */
if ((d = de_next_de(de))  dnode_end_de(dnode)) {
if (!(++*posp  077)) {
-   hpfs_error(inode-i_sb, map_pos_dirent: pos crossed 
dnode boundary; pos = %08x, *posp);
+   hpfs_error(inode-i_sb,
+   map_pos_dirent: pos crossed dnode boundary; 
pos = %08llx,
+   (unsigned long long)*posp);
goto bail

[PATCH] DLM needs SYSFS

2006-11-17 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

DLM uses/needs SYSFS (kernel_subsys).
This also prevents DLM from being able to select CONFIGFS,
which also uses SYSFS and caused yet another build error.

Also fix Kconfig help text formatting to use kernel indentation
convention.

(It seems odd that the menu for DLM depends on
INET  IP_SCTP  EXPERIMENTAL, but DLM depends on
a different list of symbols.)

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/dlm/Kconfig |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

--- linux-2619-rc6.orig/fs/dlm/Kconfig
+++ linux-2619-rc6/fs/dlm/Kconfig
@@ -3,18 +3,18 @@ menu Distributed Lock Manager
 
 config DLM
tristate Distributed Lock Manager (DLM)
-   depends on IPV6 || IPV6=n
+   depends on (IPV6 || IPV6=n)  SYSFS
select CONFIGFS_FS
help
-   A general purpose distributed lock manager for kernel or userspace
-   applications.
+ A general purpose distributed lock manager for kernel or userspace
+ applications.
 
 config DLM_DEBUG
bool DLM debugging
depends on DLM
help
-   Under the debugfs mount point, the name of each lockspace will
-   appear as a file in the dlm directory.  The output is the
-   list of resource and locks the local node knows about.
+ Under the debugfs mount point, the name of each lockspace will
+ appear as a file in the dlm directory.  The output is the
+ list of resource and locks the local node knows about.
 
 endmenu


---
-
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] FUSE depends on BLOCK

2006-11-16 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Should FUSE depend on BLOCK?  Without that and with BLOCK=n, I get:

inode.c:(.text+0x3acc5): undefined reference to `sb_set_blocksize'
inode.c:(.text+0x3a393): undefined reference to `get_sb_bdev'
fs/built-in.o:(.data+0xd718): undefined reference to `kill_block_super

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 fs/Kconfig |1 +
 1 file changed, 1 insertion(+)

--- linux-2619-rc5mm2.orig/fs/Kconfig
+++ linux-2619-rc5mm2/fs/Kconfig
@@ -622,6 +622,7 @@ config AUTOFS4_FS
 
 config FUSE_FS
tristate Filesystem in Userspace support
+   depends on BLOCK
help
  With FUSE it is possible to implement a fully functional filesystem
  in a userspace program.


---
-
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