[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ea11fea30810101148v1176734idf77a838b7401302@mail.gmail.com>
Date: Sat, 11 Oct 2008 00:18:09 +0530
From: "Manish Katiyar" <mkatiyar@...il.com>
To: "Theodore Tso" <tytso@....edu>
Cc: ext4 <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH] logsave : Avoid unnecessary backgrounding of logsave in case of failures
On Sat, Oct 11, 2008 at 12:01 AM, Theodore Tso <tytso@....edu> wrote:
> On Tue, Oct 07, 2008 at 11:14:11PM +0530, Manish Katiyar wrote:
>> Hi Ted,
>>
>> I am not sure why we wan't to background the logsave and keep retrying
>> opening the fd in case of failures.
>
> That's one of the main reason why logsave exists; the filesystem
> containing /var/log might not be mounted, or the root filesystem may
> be mounted read-only, and so the log file can't be written until the
> filesystem is remounted r/w or /var is mounted.
>
>> But there may be situations when we will never be able to succeed
>> and thus create unnecessary process. For example invoking it
>>
>> /home/mkatiyar/sbin> ./logsave /testfile ls
>
> The main use of logsave was in init.d scripts. So I didn't really
> worry about the permissoin denied case. Perhaps logsave should just
> fail hard and not even run the command if there is a permission denied
> error. That would certainly be simpler...
>
>> +static void should_background(int err, int *nobackground) {
>> + switch (err) {
>> + case EPERM:
>> + case EACCES:
>> + *nobackground = err;
>> + break;
>> + default :
>> + *nobackground = 0;
>> + }
>> + return ;
>> +}
>
> Why is this its own function?
I made it that way so that in future if we want to handle any more
error numbers to bail out , we just need to add a case statement.
Thanks -
Manish
>
> - Ted
>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists