public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] merge xfs_mntupdate into xfs_fs_remount
@ 2008-04-26 20:10 Christoph Hellwig
  2008-05-09  6:25 ` Christoph Hellwig
  2008-05-16  7:22 ` Christoph Hellwig
  0 siblings, 2 replies; 3+ messages in thread
From: Christoph Hellwig @ 2008-04-26 20:10 UTC (permalink / raw)
  To: xfs

xfs_mntupdate already is completely Linux specific due to the VFS flags
passed in, so it might aswell be merged into xfs_fs_remount.


Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-04-25 20:42:43.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-04-25 20:44:55.000000000 +0200
@@ -52,6 +52,7 @@
 #include "xfs_version.h"
 #include "xfs_log_priv.h"
 #include "xfs_trans_priv.h"
+#include "xfs_filestream.h"
 
 #include <linux/namei.h>
 #include <linux/init.h>
@@ -1220,8 +1221,26 @@ xfs_fs_remount(
 	int			error;
 
 	error = xfs_parseargs(mp, options, args, 1);
-	if (!error)
-		error = xfs_mntupdate(mp, flags, args);
+	if (error)
+		goto out_free_args;
+
+	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
+		if (mp->m_flags & XFS_MOUNT_RDONLY)
+			mp->m_flags &= ~XFS_MOUNT_RDONLY;
+		if (args->flags & XFSMNT_BARRIER) {
+			mp->m_flags |= XFS_MOUNT_BARRIER;
+			xfs_mountfs_check_barriers(mp);
+		} else {
+			mp->m_flags &= ~XFS_MOUNT_BARRIER;
+		}
+	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
+		xfs_filestream_flush(mp);
+		xfs_sync(mp, SYNC_DATA_QUIESCE);
+		xfs_attr_quiesce(mp);
+		mp->m_flags |= XFS_MOUNT_RDONLY;
+	}
+
+ out_free_args:
 	kmem_free(args, sizeof(*args));
 	return -error;
 }
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-04-25 20:42:43.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-04-25 20:43:36.000000000 +0200
@@ -693,30 +693,6 @@ xfs_attr_quiesce(
 	xfs_unmountfs_writesb(mp);
 }
 
-int
-xfs_mntupdate(
-	struct xfs_mount		*mp,
-	int				*flags,
-	struct xfs_mount_args		*args)
-{
-	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
-		if (mp->m_flags & XFS_MOUNT_RDONLY)
-			mp->m_flags &= ~XFS_MOUNT_RDONLY;
-		if (args->flags & XFSMNT_BARRIER) {
-			mp->m_flags |= XFS_MOUNT_BARRIER;
-			xfs_mountfs_check_barriers(mp);
-		} else {
-			mp->m_flags &= ~XFS_MOUNT_BARRIER;
-		}
-	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
-		xfs_filestream_flush(mp);
-		xfs_sync(mp, SYNC_DATA_QUIESCE);
-		xfs_attr_quiesce(mp);
-		mp->m_flags |= XFS_MOUNT_RDONLY;
-	}
-	return 0;
-}
-
 /*
  * xfs_unmount_flush implements a set of flush operation on special
  * inodes, which are needed as a separate set of operations so that
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.h	2008-04-25 20:42:43.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.h	2008-04-25 20:42:48.000000000 +0200
@@ -11,8 +11,6 @@ struct xfs_mount_args;
 int xfs_mount(struct xfs_mount *mp, struct xfs_mount_args *args,
 		struct cred *credp);
 int xfs_unmount(struct xfs_mount *mp, int flags, struct cred *credp);
-int xfs_mntupdate(struct xfs_mount *mp, int *flags,
-		struct xfs_mount_args *args);
 int xfs_sync(struct xfs_mount *mp, int flags);
 void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname,
 		int lnnum);

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] merge xfs_mntupdate into xfs_fs_remount
  2008-04-26 20:10 [PATCH] merge xfs_mntupdate into xfs_fs_remount Christoph Hellwig
@ 2008-05-09  6:25 ` Christoph Hellwig
  2008-05-16  7:22 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2008-05-09  6:25 UTC (permalink / raw)
  To: xfs

On Sat, Apr 26, 2008 at 10:10:29PM +0200, Christoph Hellwig wrote:
> xfs_mntupdate already is completely Linux specific due to the VFS flags
> passed in, so it might aswell be merged into xfs_fs_remount.
> 
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Updated version ontop of the kmem_free signature change:


Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-05-09 08:16:46.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-05-09 08:17:30.000000000 +0200
@@ -52,6 +52,7 @@
 #include "xfs_version.h"
 #include "xfs_log_priv.h"
 #include "xfs_trans_priv.h"
+#include "xfs_filestream.h"
 
 #include <linux/namei.h>
 #include <linux/init.h>
@@ -1221,8 +1222,26 @@ xfs_fs_remount(
 	int			error;
 
 	error = xfs_parseargs(mp, options, args, 1);
-	if (!error)
-		error = xfs_mntupdate(mp, flags, args);
+	if (error)
+		goto out_free_args;
+
+	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
+		if (mp->m_flags & XFS_MOUNT_RDONLY)
+		mp->m_flags &= ~XFS_MOUNT_RDONLY;
+		if (args->flags & XFSMNT_BARRIER) {
+			mp->m_flags |= XFS_MOUNT_BARRIER;
+			xfs_mountfs_check_barriers(mp);
+		} else {
+			mp->m_flags &= ~XFS_MOUNT_BARRIER;
+		}
+	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
+		xfs_filestream_flush(mp);
+		xfs_sync(mp, SYNC_DATA_QUIESCE);
+		xfs_attr_quiesce(mp);
+		mp->m_flags |= XFS_MOUNT_RDONLY;
+	}
+
+ out_free_args:
 	kmem_free(args);
 	return -error;
 }
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-05-09 08:16:46.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-05-09 08:16:55.000000000 +0200
@@ -701,30 +701,6 @@ xfs_attr_quiesce(
 	xfs_unmountfs_writesb(mp);
 }
 
-int
-xfs_mntupdate(
-	struct xfs_mount		*mp,
-	int				*flags,
-	struct xfs_mount_args		*args)
-{
-	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
-		if (mp->m_flags & XFS_MOUNT_RDONLY)
-			mp->m_flags &= ~XFS_MOUNT_RDONLY;
-		if (args->flags & XFSMNT_BARRIER) {
-			mp->m_flags |= XFS_MOUNT_BARRIER;
-			xfs_mountfs_check_barriers(mp);
-		} else {
-			mp->m_flags &= ~XFS_MOUNT_BARRIER;
-		}
-	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
-		xfs_filestream_flush(mp);
-		xfs_sync(mp, SYNC_DATA_QUIESCE);
-		xfs_attr_quiesce(mp);
-		mp->m_flags |= XFS_MOUNT_RDONLY;
-	}
-	return 0;
-}
-
 /*
  * xfs_unmount_flush implements a set of flush operation on special
  * inodes, which are needed as a separate set of operations so that
Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.h
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.h	2008-05-09 08:16:46.000000000 +0200
+++ linux-2.6-xfs/fs/xfs/xfs_vfsops.h	2008-05-09 08:16:55.000000000 +0200
@@ -11,8 +11,6 @@ struct xfs_mount_args;
 int xfs_mount(struct xfs_mount *mp, struct xfs_mount_args *args,
 		struct cred *credp);
 int xfs_unmount(struct xfs_mount *mp, int flags, struct cred *credp);
-int xfs_mntupdate(struct xfs_mount *mp, int *flags,
-		struct xfs_mount_args *args);
 int xfs_sync(struct xfs_mount *mp, int flags);
 void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname,
 		int lnnum);

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] merge xfs_mntupdate into xfs_fs_remount
  2008-04-26 20:10 [PATCH] merge xfs_mntupdate into xfs_fs_remount Christoph Hellwig
  2008-05-09  6:25 ` Christoph Hellwig
@ 2008-05-16  7:22 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2008-05-16  7:22 UTC (permalink / raw)
  To: xfs

On Sat, Apr 26, 2008 at 10:10:29PM +0200, Christoph Hellwig wrote:
> xfs_mntupdate already is completely Linux specific due to the VFS flags
> passed in, so it might aswell be merged into xfs_fs_remount.

ping?

> 
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> 
> Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_super.c	2008-04-25 20:42:43.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_super.c	2008-04-25 20:44:55.000000000 +0200
> @@ -52,6 +52,7 @@
>  #include "xfs_version.h"
>  #include "xfs_log_priv.h"
>  #include "xfs_trans_priv.h"
> +#include "xfs_filestream.h"
>  
>  #include <linux/namei.h>
>  #include <linux/init.h>
> @@ -1220,8 +1221,26 @@ xfs_fs_remount(
>  	int			error;
>  
>  	error = xfs_parseargs(mp, options, args, 1);
> -	if (!error)
> -		error = xfs_mntupdate(mp, flags, args);
> +	if (error)
> +		goto out_free_args;
> +
> +	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
> +		if (mp->m_flags & XFS_MOUNT_RDONLY)
> +			mp->m_flags &= ~XFS_MOUNT_RDONLY;
> +		if (args->flags & XFSMNT_BARRIER) {
> +			mp->m_flags |= XFS_MOUNT_BARRIER;
> +			xfs_mountfs_check_barriers(mp);
> +		} else {
> +			mp->m_flags &= ~XFS_MOUNT_BARRIER;
> +		}
> +	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
> +		xfs_filestream_flush(mp);
> +		xfs_sync(mp, SYNC_DATA_QUIESCE);
> +		xfs_attr_quiesce(mp);
> +		mp->m_flags |= XFS_MOUNT_RDONLY;
> +	}
> +
> + out_free_args:
>  	kmem_free(args, sizeof(*args));
>  	return -error;
>  }
> Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.c	2008-04-25 20:42:43.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_vfsops.c	2008-04-25 20:43:36.000000000 +0200
> @@ -693,30 +693,6 @@ xfs_attr_quiesce(
>  	xfs_unmountfs_writesb(mp);
>  }
>  
> -int
> -xfs_mntupdate(
> -	struct xfs_mount		*mp,
> -	int				*flags,
> -	struct xfs_mount_args		*args)
> -{
> -	if (!(*flags & MS_RDONLY)) {			/* rw/ro -> rw */
> -		if (mp->m_flags & XFS_MOUNT_RDONLY)
> -			mp->m_flags &= ~XFS_MOUNT_RDONLY;
> -		if (args->flags & XFSMNT_BARRIER) {
> -			mp->m_flags |= XFS_MOUNT_BARRIER;
> -			xfs_mountfs_check_barriers(mp);
> -		} else {
> -			mp->m_flags &= ~XFS_MOUNT_BARRIER;
> -		}
> -	} else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) {	/* rw -> ro */
> -		xfs_filestream_flush(mp);
> -		xfs_sync(mp, SYNC_DATA_QUIESCE);
> -		xfs_attr_quiesce(mp);
> -		mp->m_flags |= XFS_MOUNT_RDONLY;
> -	}
> -	return 0;
> -}
> -
>  /*
>   * xfs_unmount_flush implements a set of flush operation on special
>   * inodes, which are needed as a separate set of operations so that
> Index: linux-2.6-xfs/fs/xfs/xfs_vfsops.h
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_vfsops.h	2008-04-25 20:42:43.000000000 +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_vfsops.h	2008-04-25 20:42:48.000000000 +0200
> @@ -11,8 +11,6 @@ struct xfs_mount_args;
>  int xfs_mount(struct xfs_mount *mp, struct xfs_mount_args *args,
>  		struct cred *credp);
>  int xfs_unmount(struct xfs_mount *mp, int flags, struct cred *credp);
> -int xfs_mntupdate(struct xfs_mount *mp, int *flags,
> -		struct xfs_mount_args *args);
>  int xfs_sync(struct xfs_mount *mp, int flags);
>  void xfs_do_force_shutdown(struct xfs_mount *mp, int flags, char *fname,
>  		int lnnum);
---end quoted text---

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-05-16  7:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-26 20:10 [PATCH] merge xfs_mntupdate into xfs_fs_remount Christoph Hellwig
2008-05-09  6:25 ` Christoph Hellwig
2008-05-16  7:22 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox