Loading include/linux/fs.h +6 −0 Original line number Diff line number Diff line Loading @@ -1914,6 +1914,12 @@ static inline int break_lease(struct inode *inode, unsigned int mode) static inline int break_deleg(struct inode *inode, unsigned int mode) { /* * Since this check is lockless, we must ensure that any refcounts * taken are done before checking inode->i_flock. Otherwise, we could * end up racing with tasks trying to set a new lease on this file. */ smp_mb(); if (inode->i_flock) return __break_lease(inode, mode, FL_DELEG); return 0; Loading Loading
include/linux/fs.h +6 −0 Original line number Diff line number Diff line Loading @@ -1914,6 +1914,12 @@ static inline int break_lease(struct inode *inode, unsigned int mode) static inline int break_deleg(struct inode *inode, unsigned int mode) { /* * Since this check is lockless, we must ensure that any refcounts * taken are done before checking inode->i_flock. Otherwise, we could * end up racing with tasks trying to set a new lease on this file. */ smp_mb(); if (inode->i_flock) return __break_lease(inode, mode, FL_DELEG); return 0; Loading