X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;f=fs%2Fcifs%2Fcifsfs.c;h=54745b6c3db9c50af75b393c8b80d96460439c80;hb=05fa3135fdc7b9b510b502a35b6b97d2b38c6f48;hp=75c4eaa7958821483c6829658ab6469a8ad8c152;hpb=096657b65e1ac197e20be5ce7cff6b6ca2532787;p=net-next-2.6.git diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 75c4eaa7958..54745b6c3db 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -625,8 +625,11 @@ static int cifs_setlease(struct file *file, long arg, struct file_lock **lease) knows that the file won't be changed on the server by anyone else */ return generic_setlease(file, arg, lease); - else + else { + if (arg != F_UNLCK) + locks_free_lock(*lease); return -EAGAIN; + } } struct file_system_type cifs_fs_type = {