Hi Takatoshi-san,
On Fri, Jun 04, 2010 at 02:19:42PM +0900, Takatoshi MATSUO wrote:
> Hello
>
> I suggest to add a parameter which decides executing fsck
> as user's policy in Filesystem RA.
>
> Because, current RA dose not check ext3 because executing fsck depends on
> filesystem.
> But ext3 sometimes is broken and remounted read-only although it has journal,
> so
Under which circumstances does this happen?
> I want to decide myself executing fsck before mount to operate more safely.
>
> This new parameter has three mode "auto","force" and "no".
> Default is "auto" which do the same thing as before.
> "force" and "no" mean what they say.
Patch applied. Many thanks!
Cheers,
Dejan
> Regards,
> Takatoshi MATSUO
>
> diff -r 7b25263a3fdc heartbeat/Filesystem
> --- a/heartbeat/Filesystem Sun May 16 13:49:37 2010 +0200
> +++ b/heartbeat/Filesystem Wed May 26 11:40:05 2010 +0900
> @@ -16,6 +16,7 @@
> # OCF_RESKEY_fstype
> # OCF_RESKEY_options
> # OCF_RESKEY_statusfile_prefix
> +# OCF_RESKEY_run_fsck
> #
> #OCF_RESKEY_device : name of block device for the filesystem. e.g.
> /dev/sda1, /dev/md0
> # Or a -U or -L option for mount, or an NFS mount
> specification
> @@ -23,6 +24,7 @@
> #OCF_RESKEY_fstype : optional name of the filesystem type. e.g. ext2
> #OCF_RESKEY_options : options to be given to the mount command via -o
> #OCF_RESKEY_statusfile_prefix : the prefix used for a status file for
> monitoring
> +#OCF_RESKEY_run_fsck : fsck execution mode: auto(default)/force/no
> #
> #
> # This assumes you want to manage a filesystem on a shared (SCSI) bus,
> @@ -151,6 +153,18 @@
> <content type="string" default="$DFLT_STATUSDIR" />
> </parameter>
>
> +<parameter name="run_fsck">
> +<longdesc lang="en">
> +Specify how to decide whether to run fsck or not.
> +
> +"auto" : decide to run fsck depending on the fstype(default)
> +"force" : always run fsck regardless of the fstype
> +"no" : do not run fsck ever.
> +</longdesc>
> +<shortdesc lang="en">run_fsck</shortdesc>
> +<content type="string" default="auto" />
> +</parameter>
> +
> </parameters>
>
> <actions>
> @@ -379,6 +393,25 @@
> fi
> }
>
> +is_fsck_needed() {
> + case $OCF_RESKEY_run_fsck in
> + force) true;;
> + no) false;;
> + ""|auto)
> + case $FSTYPE in
> +
> ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs|cifs|smbfs|ocfs2|gfs2|none|lustre)
> + false;;
> + *)
> + true;;
> + esac;;
> + *)
> + ocf_log warn "Invalid parameter value for fsck:
> '$OCF_RESKEY_run_fsck'; 'auto' is used."
> + OCF_RESKEY_run_fsck="auto"
> + is_fsck_needed;;
> + esac
> +}
> +
> +
> #
> # START: Start up the filesystem
> #
> @@ -430,12 +463,7 @@
> exit $OCF_ERR_INSTALLED
> fi
>
> - if
> - case $FSTYPE in
> -
> ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs|cifs|smbfs|ocfs2|gfs2|none|lustre)
> false;;
> - *)
> true;;
> - esac
> - then
> + if is_fsck_needed; then
> ocf_log info "Starting filesystem check on $DEVICE"
> if [ -z "$FSTYPE" ]; then
> $FSCK -p $DEVICE
> _______________________________________________________
> Linux-HA-Dev: [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/