Ticket #4661: nfs_subdir.patch

File nfs_subdir.patch, 2.1 KB (added by mjw, 14 years ago)

Fix subdirs under NFS

  • src/add-ons/kernel/file_systems/nfs/nfs_add_on.c

     
    839839    current->vnid = vnid;
    840840    _node->private_node = current;
    841841    _node->ops = &sNFSVnodeOps;
    842     *_type = 0;
     842    *_type = current->mode;
    843843    *_flags = 0;
    844844
    845845    if (!r)
     
    891891        }
    892892
    893893        newNode->vnid=st.st_ino;
     894        newNode->mode=st.st_mode;
    894895        *vnid=newNode->vnid;
    895896
    896897        insert_node (ns,newNode);
     
    10431044                    return result;
    10441045                }
    10451046
     1047                newNode->mode = st.st_mode;
    10461048                insert_node (ns,newNode);
    10471049
    10481050                if (bufsize<2*(sizeof(dev_t)+sizeof(ino_t))+sizeof(unsigned short)+strlen(filename)+1)
     
    17511753        fs_node *newNode=(fs_node *)malloc(sizeof(fs_node));
    17521754        newNode->fhandle=fhandle;
    17531755        newNode->vnid=st.st_ino;
     1756        newNode->mode=st.st_mode;
    17541757        insert_node (ns,newNode);
    17551758
    17561759        *vnid=st.st_ino;
     
    18401843        newNode=(fs_node *)malloc(sizeof(fs_node));
    18411844        newNode->fhandle=fhandle;
    18421845        newNode->vnid=st.st_ino;
     1846        newNode->mode=st.st_mode;
    18431847
    18441848        insert_node (ns,newNode);
    18451849
     
    18981902    newNode=(fs_node *)malloc(sizeof(fs_node));
    18991903    newNode->fhandle=fhandle;
    19001904    newNode->vnid=st.st_ino;
     1905    newNode->mode=st.st_mode;
    19011906
    19021907    insert_node (ns,newNode);
    19031908
     
    20652070    newNode=(fs_node *)malloc(sizeof(fs_node));
    20662071    newNode->fhandle=fhandle;
    20672072    newNode->vnid=st.st_ino;
     2073    newNode->mode=st.st_mode;
    20682074
    20692075    insert_node (ns,newNode);
    20702076
     
    21902196    newNode=(fs_node *)malloc(sizeof(fs_node));
    21912197    newNode->fhandle=fhandle;
    21922198    newNode->vnid=st.st_ino;
     2199    newNode->mode=st.st_mode;
    21932200
    21942201    insert_node (ns,newNode);
    21952202
  • src/add-ons/kernel/file_systems/nfs/nfs_add_on.h

     
    4141};
    4242
    4343struct fs_node {
     44    int mode;
    4445    ino_t vnid;
    4546    struct nfs_fhandle fhandle;
    4647    struct fs_node *next;