The Samba-Bugzilla – Attachment 2221 Details for
Bug 2823
incorrect hardlink count
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to fix problem (patch against 2.6.19-rc6)
incorrect-hard-link-count-when-source-oplock-cached.patch (text/plain), 1.61 KB, created by
Steve French
on 2006-11-16 14:48:01 UTC
(
hide
)
Description:
patch to fix problem (patch against 2.6.19-rc6)
Filename:
MIME Type:
Creator:
Steve French
Created:
2006-11-16 14:48:01 UTC
Size:
1.61 KB
patch
obsolete
>diff --git a/fs/cifs/link.c b/fs/cifs/link.c >index 0bee8b7..8e25996 100644 >--- a/fs/cifs/link.c >+++ b/fs/cifs/link.c >@@ -69,17 +69,30 @@ cifs_hardlink(struct dentry *old_file, s > rc = -EOPNOTSUPP; > } > >-/* if (!rc) */ >- { >- /* renew_parental_timestamps(old_file); >- inode->i_nlink++; >- mark_inode_dirty(inode); >- d_instantiate(direntry, inode); */ >- /* BB add call to either mark inode dirty or refresh its data and timestamp to current time */ >+ d_drop(direntry); /* force new lookup from server of target */ >+ >+ /* if source file is cached (oplocked) revalidate will not go to server >+ until the file is closed or oplock broken so update nlinks locally */ >+ if(old_file->d_inode) { >+ cifsInode = CIFS_I(old_file->d_inode); >+ if(rc == 0) { >+ old_file->d_inode->i_nlink++; >+ old_file->d_inode->i_ctime = CURRENT_TIME; >+ /* parent dir timestamps will update from srv >+ within a second, would it really be worth it >+ to set the parent dir cifs inode time to zero >+ to force revalidate (faster) for it too? */ >+ } >+ /* if not oplocked will force revalidate to get info >+ on source file from srv */ >+ cifsInode->time = 0; >+ >+ /* Will update parent dir timestamps from srv within a second. >+ Would it really be worth it to set the parent dir (cifs >+ inode) time field to zero to force revalidate on parent >+ directory faster ie >+ CIFS_I(inode)->time = 0; */ > } >- d_drop(direntry); /* force new lookup from server */ >- cifsInode = CIFS_I(old_file->d_inode); >- cifsInode->time = 0; /* will force revalidate to go get info when needed */ > > cifs_hl_exit: > kfree(fromName);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 2823
: 2221 |
2226