[PATCH] F_SETLEASE only on regular files.
Jeff Layton
jlayton at samba.org
Mon Jun 24 05:30:38 MDT 2013
On Sun, 23 Jun 2013 10:31:38 +0200
Andreas Schneider <asn at samba.org> wrote:
> On Sunday, June 23, 2013 09:38:27 you wrote:
> > On Sat, Jun 22, 2013 at 10:48:56AM +0200, Andreas Schneider wrote:
> > > Hello,
> > >
> > > we should set a lease with
> > >
> > > ret = fcntl(fd, F_SETLEASE, leasetype);
> > >
> > > in source3/smbd/oplock_linux.c only on regular files. Attached is a patch
> > > to do this. I'm not a VFS expert so the questions is if we shouldn't add
> > > errno (EINVAL) handling to functions which call SMB_VFS_LINUX_SETLEASE or
> > > SMB_VFS_NEXT_LINUX_SETLEASE. Maybe at least to not log an error.
> >
> > Question -- what made you look at this? Is there some real
> > error that you want to fix?
>
> I got a report cause people saw the error in the log file that setting the
> lease failed for a pipe.
>
> So if it is not a regular file we should not report and error but just
> silently skip it. So it is more about avoiding more of these kind of bug
> reports.
>
This patch won't do that though, will it? You'll still return -EINVAL
here and it'll still log the messages. You're just skipping the
SETLEASE attempt. Now that I look too, linux_set_kernel_oplock() has
this:
if ( SMB_VFS_LINUX_SETLEASE(fsp, F_WRLCK) == -1) {
DEBUG(3,("linux_set_kernel_oplock: Refused oplock on file %s, "
"fd = %d, file_id = %s. (%s)\n",
fsp_str_dbg(fsp), fsp->fh->fd,
file_id_string_tos(&fsp->file_id),
strerror(errno)));
return False;
}
...so this is being logged at debug level 3. I think we should just
close that request as NOTABUG. It seems entirely appropriate to be
logging these messages at a DEBUG level.
--
Jeff Layton <jlayton at samba.org>
More information about the samba-technical
mailing list