Looks fine. I would rather change the title to somewhat more self-explanatory like "CIFS: Fix error mapping for SMB2_LOCK command". I think it is worth going to stable as well. -- Best regards, Pavel Shilovsky пт, 21 дек. 2018 г. в 00:59, Steve French <smfrench@xxxxxxxxx>: > > Patch would not apply so manually updated it and then merged to > cifs-2.6.git for-next > > Please doublecheck that ok (see attached) > > > > On Wed, Dec 19, 2018 at 11:37 AM Pavel Shilovskiy <pshilov@xxxxxxxxxxxxx> wrote: > > > > Looks good. Thanks! > > > > Reviewed-by: Pavel Shilovsky <pshilov@xxxxxxxxxxxxx> > > > > -----Original Message----- > > From: Georgy Bystrenin <gkot@xxxxxxxxxx> > > Sent: Wednesday, December 19, 2018 9:15 AM > > To: linux-cifs@xxxxxxxxxxxxxxx > > Cc: Pavel Shilovskiy <pshilov@xxxxxxxxxxxxx>; Michael Shigorin <mike@xxxxxxxxxxxx>; Evgeny Sinelnikov <sin@xxxxxxxxxxxx> > > Subject: [PATCH] cifs: Fixed OFD locks do not conflict with eachother > > > > While resolving a bug with locks on samba shares found a strange behavior. > > When a file locked by one node and we trying to lock it from another node it fail with errno 5 (EIO) but in that case errno must be set to (EACCES | EAGAIN). > > This isn't happening when we try to lock file second time on same node. > > In this case it returns EACCES as expected. > > Also this issue not reproduces when we use SMB1 protocol (vers=1.0 in mount options). > > > > Further investigation showed that the mapping from status_to_posix_error is different for SMB1 and SMB2+ implementations. > > For SMB1 mapping is [NT_STATUS_LOCK_NOT_GRANTED to ERRlock] > > (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux%2Fblob%2Fmaster%2Ffs%2Fcifs%2Fnetmisc.c%23L66&data=02%7C01%7Cpshilov%40microsoft.com%7C32719cbffb6e4fa3a18208d665d588a8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636808365142084033&sdata=ymTs1OSE2HBAjH%2BcYb0rmsWNxAwp%2Beg23vOE%2B6HaQkU%3D&reserved=0) > > but for SMB2+ mapping is [STATUS_LOCK_NOT_GRANTED to -EIO] > > (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux%2Fblob%2Fmaster%2Ffs%2Fcifs%2Fsmb2maperror.c%23L383&data=02%7C01%7Cpshilov%40microsoft.com%7C32719cbffb6e4fa3a18208d665d588a8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636808365142084033&sdata=hK5X5JyOJ0KGduL7Ty4cru51TOLrSaqNMY11Yeywy78%3D&reserved=0) > > > > Quick changes in SMB2+ mapping from EIO to EACCES has fixed issue. > > > > BUG: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.kernel.org%2Fshow_bug.cgi%3Fid%3D201971&data=02%7C01%7Cpshilov%40microsoft.com%7C32719cbffb6e4fa3a18208d665d588a8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636808365142084033&sdata=D4or6WC3MuSi31KpUfIpE%2BjDC6xSEBjJCMiMNDvC3cM%3D&reserved=0 > > > > Signed-off-by: Georgy A Bystrenin <gkot@xxxxxxxxxxxx> > > --- > > fs/cifs/smb2maperror.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/fs/cifs/smb2maperror.c b/fs/cifs/smb2maperror.c index 62c88dfed57b..d7e839cb773f 100644 > > --- a/fs/cifs/smb2maperror.c > > +++ b/fs/cifs/smb2maperror.c > > @@ -378,8 +378,8 @@ static const struct status_to_posix_error smb2_error_map_table[] = { > > {STATUS_NONEXISTENT_EA_ENTRY, -EIO, "STATUS_NONEXISTENT_EA_ENTRY"}, > > {STATUS_NO_EAS_ON_FILE, -ENODATA, "STATUS_NO_EAS_ON_FILE"}, > > {STATUS_EA_CORRUPT_ERROR, -EIO, "STATUS_EA_CORRUPT_ERROR"}, > > - {STATUS_FILE_LOCK_CONFLICT, -EIO, "STATUS_FILE_LOCK_CONFLICT"}, > > - {STATUS_LOCK_NOT_GRANTED, -EIO, "STATUS_LOCK_NOT_GRANTED"}, > > + {STATUS_FILE_LOCK_CONFLICT, -EACCES, "STATUS_FILE_LOCK_CONFLICT"}, > > + {STATUS_LOCK_NOT_GRANTED, -EACCES, "STATUS_LOCK_NOT_GRANTED"}, > > {STATUS_DELETE_PENDING, -ENOENT, "STATUS_DELETE_PENDING"}, > > {STATUS_CTL_FILE_NOT_SUPPORTED, -ENOSYS, > > "STATUS_CTL_FILE_NOT_SUPPORTED"}, > > -- > > 2.17.1 > > > > -- > Thanks, > > Steve