Re: Finding and breaking client locks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 21 Mar 2016 11:39:14 -0300
Christian Robottom Reis <kiko@xxxxxxx> wrote:

> Hello there,
> 
>     I run a diskless network where every user NFS mounts pretty much
> everything including /home and /var/mail. It's often the case that a
> misbehaved client will leave a locked file stuck on the server -- today
> it is a file in a user's mail/ directory.
> 
> Is there a way to query what files are being held locked by clients? I'm
> sure the kernel knows, as it is able to enforce the lock, but it isn't
> obvious how to extract that information -- lsof is documented to and
> indeed does not return any information pertaining NFS client locks, and
> I'm not clear whether /proc/locks (on the server side obviously) does or
> not.
> 

/proc/locks will generally show you all of the locks being held
(assuming the filesystem's ->lock routine records the locks). It's not
really possible to match those up with a particular client though.

> A related question is whether it is possible to break a client lock
> without rebooting the server (or restarting the NFS services).
> 
> Does anyone have any insight to share? Thanks,

I assume you're using NFSv3? What happens when the client "misbehaves"?
Are the clients dropping offline or do you have applications that are
just sitting on the lock and not releasing it?

If the clients are just going away without unlocking first, then you
could consider using NFSv4, which has a lease-based locking. If the
client goes away for a while (90s or so), then it'll lose its lock.

Alternately, there is the /proc/fs/nfsd/unlock_ip interface. Supposedly
you can echo an address into there and it'll forcibly drop all of the
locks that that that client holds. I've not used that so YMMV there.
 
-- 
Jeff Layton <jlayton@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux