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/

Reply via email to