Messages in this thread Patch in this message | | | Date | Sun, 13 Oct 2002 22:02:14 -0700 | From | Andrew Morton <> | Subject | [patch] remove BKL from inode_setattr |
| |
Since April 05 of this year we've been holding the BKL across the vmtruncate call out of inode_setattr(). By accident it seems.
This does not affect unlink(). It affects ftruncate() and open(O_TRUNC).
Given that the drop_inode() path does not take the BKL, I would suggest that it is safe to assume that the various filesystem's truncate code is safe without this additional VFS-level lock_kernel(), and that it can be simply removed.
Sound sane?
--- 2.5.42/fs/attr.c~truncate-bkl Sun Oct 13 20:04:06 2002 +++ 2.5.42-akpm/fs/attr.c Sun Oct 13 22:01:15 2002 @@ -67,7 +67,6 @@ int inode_setattr(struct inode * inode, unsigned int ia_valid = attr->ia_valid; int error = 0; - lock_kernel(); if (ia_valid & ATTR_SIZE) { error = vmtruncate(inode, attr->ia_size); if (error) @@ -91,7 +90,6 @@ int inode_setattr(struct inode * inode, } mark_inode_dirty(inode); out: - unlock_kernel(); return error; } . - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |