[PATCH] better file error debugging

Oren Laadan orenl at cs.columbia.edu
Sat Jun 27 03:33:22 PDT 2009



Dave Hansen wrote:
> This should give a nice message with symbol names for when we have an
> open file that doesn't have an f_op->checkpoint.
> 
> Something along the lines of:
> 
> [1133:c/r:checkpoint_file] file operations have no checkpoint handler:tty_open+0x0/0x24
> 

Nice, thanks.

Added with another ckpt_debug() for the unlinked file case.

Oren.

> diff --git a/checkpoint/files.c b/checkpoint/files.c
> index 5be7d1b..566fc9a 100644
> --- a/checkpoint/files.c
> +++ b/checkpoint/files.c
> @@ -193,8 +193,11 @@ int checkpoint_file(struct ckpt_ctx *ctx, void *ptr)
>  {
>  	struct file *file = (struct file *) ptr;
> 
> -	if (!file->f_op || !file->f_op->checkpoint)
> +	if (!file->f_op || !file->f_op->checkpoint) {
> +		ckpt_debug("file operations have no checkpoint handler: %pS\n",
> +				file->f_op);
>  		return -EBADF;
> +	}
>  	if (d_unhashed(file->f_dentry) && !IS_ROOT(file->f_dentry))
>  		return -EBADF;
>  	return file->f_op->checkpoint(ctx, file);
> 
> 
> 
> -- Dave
> 
> 


More information about the Containers mailing list