void sysv_put_inode(struct inode *inode) { if (inode->i_nlink) return; inode->i_size = 0; sysv_truncate(inode); sysv_free_inode(inode); }
static void sysv_delete_inode(struct inode *inode) { lock_kernel(); inode->i_size = 0; sysv_truncate(inode); sysv_free_inode(inode); unlock_kernel(); }
static void sysv_delete_inode(struct inode *inode) { truncate_inode_pages(&inode->i_data, 0); inode->i_size = 0; sysv_truncate(inode); lock_kernel(); sysv_free_inode(inode); unlock_kernel(); }
static void sysv_evict_inode(struct inode *inode) { truncate_inode_pages(&inode->i_data, 0); if (!inode->i_nlink) { inode->i_size = 0; sysv_truncate(inode); } invalidate_inode_buffers(inode); clear_inode(inode); if (!inode->i_nlink) sysv_free_inode(inode); }
static int sysv_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; int error; error = inode_change_ok(inode, attr); if (error) return error; if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size != i_size_read(inode)) { error = inode_newsize_ok(inode, attr->ia_size); if (error) return error; truncate_setsize(inode, attr->ia_size); sysv_truncate(inode); } setattr_copy(inode, attr); mark_inode_dirty(inode); return 0; }
static void sysv_delete_inode(struct inode *inode) { inode->i_size = 0; sysv_truncate(inode); sysv_free_inode(inode); }