]> err.no Git - linux-2.6/blobdiff - fs/cifs/inode.c
Merge Linus' tree.
[linux-2.6] / fs / cifs / inode.c
index e8773461c7f76d53be96eb935f88d807b203f376..9558f51bca55a1bd1c12a0140075013ea02628b5 100644 (file)
@@ -770,6 +770,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
                                                 -1, -1, local_nls); */
                        if(direntry->d_inode) {
                                direntry->d_inode->i_mode = mode;
+                               direntry->d_inode->i_mode |= S_IFDIR;
                                if(cifs_sb->mnt_cifs_flags & 
                                     CIFS_MOUNT_SET_UID) {
                                        direntry->d_inode->i_uid = 
@@ -1147,8 +1148,7 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
        /* BB check if we need to refresh inode from server now ? BB */
 
        /* need to flush data before changing file size on server */
-       filemap_fdatawrite(direntry->d_inode->i_mapping);
-       filemap_fdatawait(direntry->d_inode->i_mapping);
+       filemap_write_and_wait(direntry->d_inode->i_mapping);
 
        if (attrs->ia_valid & ATTR_SIZE) {
                /* To avoid spurious oplock breaks from server, in the case of