Thanks.

I decided that it was possible to generalize this somewhat, so I sent
out an alternative patch of my own:
        http://openvswitch.org/pipermail/dev/2013-March/025737.html
Will you please review it?

Thanks,

Ben.

On Wed, Feb 27, 2013 at 01:39:35PM +0000, likunyun wrote:
> 
> 
> Signed-off-by: likunyun <[email protected]>
> 
> 
> > Date: Tue, 26 Feb 2013 08:22:43 -0800
> > From: [email protected]
> > To: [email protected]
> > CC: [email protected]
> > Subject: Re: [ovs-discuss] [question] Write ovs database failed with "no 
> > space left on device"
> >
> > Can you give me a Signed-off-by for that patch?
> >
> > On Tue, Feb 26, 2013 at 03:42:18PM +0000, likunyun wrote:
> >>
> >> The problem is : It's still failed after releasing the space on disk.
> >> I make a patch to fix it:
> >> --- ovsdb/log.c+++ ovsdb/log.c@@ -324,5 +324,5 @@
> >> json_string = NULL;
> >> - if (file->write_error) {+ if (file->write_error && (ENOSPC != 
> >> ovsdb_error_errno(file->write_error))) { return 
> >> ovsdb_error_clone(file->write_error);
> >> @@ -366,6 +366,7 @@ /* Remove any partially written data, ignoring errors 
> >> since there is * nothing further we can do. */ 
> >> ignore(ftruncate(fileno(file->stream), file->offset));+ 
> >> ignore(fseeko(file->stream, file->offset, SEEK_SET)); goto error; }
> >> @@ -377,4 +377,9 @@error:+ if (file->write_error) {+ 
> >> ovsdb_error_destroy(file->write_error);+ file->write_error = NULL;+ }+ 
> >> file->write_error = ovsdb_error_clone(error); free(json_string); return 
> >> error;
> >> --- lib/ovsdb-error.c+++ lib/ovsdb-error.c@@ -73,5 +73,11 @@
> >> return error;}++int ovsdb_error_errno(struct ovsdb_error * error)+{+ 
> >> return error->errno_;+}+struct ovsdb_error *ovsdb_syntax_error(const 
> >> struct json *json, const char *tag, const char *details, ...)
> >> --- lib/ovsdb-error.h+++ lib/ovsdb-error.h@@ -55,3 +55,6 @@#define 
> >> OVSDB_WRAP_BUG(MSG, ERROR) \ ovsdb_internal_error(ERROR, __FILE__, 
> >> __LINE__, "%s", MSG)++int ovsdb_error_errno(struct ovsdb_error * 
> >> error);+void ovsdb_error_destroy(struct ovsdb_error *);
> >>
> >>
> >>> Date: Mon, 25 Feb 2013 07:38:58 -0800
> >>> From: [email protected]
> >>> To: [email protected]
> >>> CC: [email protected]
> >>> Subject: Re: [ovs-discuss] [question] Write ovs database failed with "no 
> >>> space left on device"
> >>>
> >>> On Thu, Feb 21, 2013 at 03:47:43PM +0000, likunyun wrote:
> >>>> There is a problem when I was testing with ovs .
> >>>> Some actions (such as add a port) would be failed when my disk is full, 
> >>>> the error is "no space left on device" and write ovs database file 
> >>>> failed.
> >>>> Then I delete some files and make sure there is enough space on my disk. 
> >>>> But it's also failed with the same error when I do the action (add a 
> >>>> port) .
> >>>> It becomes normal until I restart ovsdb-server process.
> >>>
> >>> It's not surprising that an OVSDB operation would fail if the disk is
> >>> full, because as you note the database is maintained on-disk. Given
> >>> that, I don't understand what question you are asking. What do you want
> >>> to know?
> >>
>                                         
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to