Lines 823-828
Link Here
|
823 |
|
823 |
|
824 |
struct fuse_entry_out *feo = NULL; |
824 |
struct fuse_entry_out *feo = NULL; |
825 |
struct fuse_attr *fattr = NULL; |
825 |
struct fuse_attr *fattr = NULL; |
|
|
826 |
struct fuse_vnode_data *fvdat = NULL; |
826 |
|
827 |
|
827 |
if (op == FUSE_GETATTR) { |
828 |
if (op == FUSE_GETATTR) { |
828 |
fattr = &((struct fuse_attr_out *)fdi.answ)->attr; |
829 |
fattr = &((struct fuse_attr_out *)fdi.answ)->attr; |
Lines 971-976
Link Here
|
971 |
cache_attrs(*vpp, (struct fuse_entry_out *)fdi.answ); |
972 |
cache_attrs(*vpp, (struct fuse_entry_out *)fdi.answ); |
972 |
} |
973 |
} |
973 |
|
974 |
|
|
|
975 |
fvdat = VTOFUD(*vpp); |
976 |
|
977 |
if (vnode_isreg(*vpp) && (fvdat->flag & FN_SIZECHANGE) == 0) { |
978 |
/* |
979 |
* This is for those cases when the file size changed without us |
980 |
* knowing, and we want to catch up. |
981 |
*/ |
982 |
off_t new_filesize; |
983 |
if (op == FUSE_GETATTR) { |
984 |
new_filesize = ((struct fuse_attr_out *)fdi.answ)->attr.size; |
985 |
} else { |
986 |
new_filesize = ((struct fuse_entry_out *)fdi.answ)->attr.size; |
987 |
} |
988 |
|
989 |
if (fvdat->filesize != new_filesize) { |
990 |
fuse_vnode_setsize(*vpp, cred, new_filesize); |
991 |
} |
992 |
} |
974 |
/* Insert name into cache if appropriate. */ |
993 |
/* Insert name into cache if appropriate. */ |
975 |
|
994 |
|
976 |
/* |
995 |
/* |