That "return 1;" should be "return 0;"
a return value of 1 indicates failure.
Also, maybe this should be applied also to the
asmlinkage long sys_fdatasync(unsigned int fd)
function as well? There isn't much to choose from between these two
functions...
On Wednesday 16 November 2005 12:18, Nikita Danilov wrote:
> Francesco Biscani writes:
> > On Wednesday 16 November 2005 01:45, David Masover wrote:
> > > I got sick of waiting for it and nuked the fsync call. All my kernels
> > > have a custom patch such that sys_fsync just returns true, no matter
> > > what.
> >
> > Mhh.. would it be something like this?
> >
> > --- buffer.c.old 2005-11-16 02:36:46.129829994 +0100
> > +++ buffer.c 2005-11-16 02:37:11.125079752 +0100
> > @@ -376,7 +376,7 @@
> >
> > asmlinkage long sys_fsync(unsigned int fd)
> > {
> > - return do_fsync(fd, 0);
> > + return 1;
> > }
> >
> > What are the implications of doing something like this? Is "sync" going
> > to
>
> One implication is following:
>
> 1 application like fetchmail downloads a mail message from the server
>
> 2 saves message in the mailbox
>
> 3 fsyncs the mailbox (which is a no-op in our case)
>
> 4 sends notification to the server, which deletes message
>
> 5 crash occurs (transaction made on the step 2 is not yet committed to
> the disk)
>
> 6 after reboot mailbox is restored to the state it had before step 2
>
> 7 message is lost.
>
> > stop working or isn't it using this function?
> >
> > Thanks,
> >
> > Francesco
>
> Nikita.